KR102569016B1 - 자동 학습 기반의 데이터 라벨링 방법, 장치 및 컴퓨터 판독가능 저장 매체 - Google Patents
자동 학습 기반의 데이터 라벨링 방법, 장치 및 컴퓨터 판독가능 저장 매체 Download PDFInfo
- Publication number
- KR102569016B1 KR102569016B1 KR1020230056383A KR20230056383A KR102569016B1 KR 102569016 B1 KR102569016 B1 KR 102569016B1 KR 1020230056383 A KR1020230056383 A KR 1020230056383A KR 20230056383 A KR20230056383 A KR 20230056383A KR 102569016 B1 KR102569016 B1 KR 102569016B1
- Authority
- KR
- South Korea
- Prior art keywords
- data
- artificial intelligence
- round
- intelligence model
- processor
- Prior art date
Links
- 238000002372 labelling Methods 0.000 title claims abstract description 238
- 238000012549 training Methods 0.000 title abstract description 18
- 238000013473 artificial intelligence Methods 0.000 claims abstract description 338
- 238000007781 pre-processing Methods 0.000 claims description 128
- 238000012795 verification Methods 0.000 claims description 80
- 238000013528 artificial neural network Methods 0.000 claims description 22
- 238000000034 method Methods 0.000 claims description 17
- 230000001174 ascending effect Effects 0.000 claims description 8
- 238000011161 development Methods 0.000 abstract description 4
- 230000007423 decrease Effects 0.000 abstract 1
- 238000010586 diagram Methods 0.000 description 12
- 238000012545 processing Methods 0.000 description 4
- 238000013461 design Methods 0.000 description 3
- 238000001514 detection method Methods 0.000 description 3
- 230000018109 developmental process Effects 0.000 description 3
- 238000013135 deep learning Methods 0.000 description 2
- 230000000694 effects Effects 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 239000007787 solid Substances 0.000 description 2
- 230000003068 static effect Effects 0.000 description 2
- 241000238631 Hexapoda Species 0.000 description 1
- 238000013527 convolutional neural network Methods 0.000 description 1
- 201000010099 disease Diseases 0.000 description 1
- 208000037265 diseases, disorders, signs and symptoms Diseases 0.000 description 1
- 238000003062 neural network model Methods 0.000 description 1
- 230000001151 other effect Effects 0.000 description 1
- 230000011218 segmentation Effects 0.000 description 1
- 230000009466 transformation Effects 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F18/00—Pattern recognition
- G06F18/20—Analysing
- G06F18/21—Design or setup of recognition systems or techniques; Extraction of features in feature space; Blind source separation
- G06F18/214—Generating training patterns; Bootstrap methods, e.g. bagging or boosting
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F18/00—Pattern recognition
- G06F18/20—Analysing
- G06F18/24—Classification techniques
- G06F18/241—Classification techniques relating to the classification model, e.g. parametric or non-parametric approaches
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/08—Learning methods
- G06N3/09—Supervised learning
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/10—Interfaces, programming languages or software development kits, e.g. for simulating neural networks
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Data Mining & Analysis (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Life Sciences & Earth Sciences (AREA)
- Artificial Intelligence (AREA)
- Evolutionary Computation (AREA)
- General Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Computing Systems (AREA)
- Bioinformatics & Computational Biology (AREA)
- Evolutionary Biology (AREA)
- Health & Medical Sciences (AREA)
- Biomedical Technology (AREA)
- Biophysics (AREA)
- Computational Linguistics (AREA)
- General Health & Medical Sciences (AREA)
- Molecular Biology (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Mathematical Physics (AREA)
- Bioinformatics & Cheminformatics (AREA)
- Machine Translation (AREA)
Abstract
본 발명은 프로세서가 작업자 단말로부터 일정량의 라벨 데이터를 수신하는 대로 상기 라벨 데이터 중 일부를 학습용 데이터로 분리하고, 상기 학습용 데이터의 자동 학습을 통해 원천 데이터 내의 객체에 대해 데이터 라벨링을 자동으로 수행하는 인공지능 모델을 생성하도록 구성되어 있다. 이러한 본 발명에 의하면, 인공지능 모델 생성에 인공지능 개발자가 개입될 필요가 없고, 원천 데이터 내의 객체에 대한 데이터 라벨링 시 작업자의 참여 비중이 줄어들기 때문에, 인공지능 모델의 개발 비용과 데이터 라벨링에 소요되는 작업 비용을 대폭 절감할 수 있게 된다.
Description
본 발명은 라벨 데이터를 자동 학습하여 작업자가 데이터 라벨링을 수행하는 효율성을 향상시키도록 하는 자동 학습 기반의 데이터 라벨링 방법, 장치 및 컴퓨터 판독가능 저장 매체에 관한 것이다.
인공지능의 성능은 데이터의 학습량과 품질에 좌우되며, 인간 수준의 성능을 끌어내기 위해서는 클래스당 최소 100만개의 데이터가 필요하다. 인공지능 시장의 확대에 따라 각종 인공지능 모델의 개발을 위하여 대량의 데이터 라벨링이 필수적이지만, 요구되는 데이터의 학습량과 품질에 비하여 데이터 라벨링에 소요되는 비용이 문제가 되고 있다. 즉, 데이터 라벨링은 인력 기반의 작업이 필수적이기 때문에, 소량의 데이터를 라벨링하든, 대량의 데이터를 라벨링하든, 데이터 라벨링에 소요되는 비용 절감 기법을 적용하기 어렵고, 대량의 데이터를 다룰수록 데이터의 품질 관리에 어려움이 있기 때문에 규모의 경제는커녕 데이터 라벨링에 소요되는 비용이 증가하는 문제가 발생한다.
또한, 영미권, 인도 또는 제3세계 영어권 국가에 있는 작업자로 하여금 데이터 라벨링을 하도록 함으로써 인건비를 절감할 수 있지만, 한국어 데이터나, 한국에 특화된 이미지 데이터 등에 대한 데이터 라벨링을 위해서는 한국인을 고용할 수밖에 없다. 하지만 이 경우에는 인건비 문제로 인해 대량의 데이터 라벨링을 수행하는 데 어려움이 있다.
따라서, 보다 효율적으로 데이터 라벨링을 수행하기 위해서는, 데이터 라벨링 시 작업자의 개입을 최소화할 수 있어야 한다. 이를 위해, 프로그램 기반으로 데이터 라벨링이 수행되도록 하고, 작업자는 프로그램이 수행한 데이터 라벨링의 결과를 확인 및 보정하는 작업만 수행하도록 해야만, 전체 프로젝트의 시간과 인건비를 절감할 수 있다.
한편, 일부 기업에서는 전처리 엔진을 개발하여, 대량의 데이터 처리에 전처리 엔진을 활용하고 있다. 하지만 전처리 엔진의 성능이 떨어지는 경우에는 그 전처리 엔진에서 전처리된 데이터의 품질이 낮을 수밖에 없다. 전처리된 데이터의 품질이 낮으면 작업자는 전처리된 데이터를 수정해가면서 데이터 라벨링을 수행해야만 하는데, 이 경우에는 작업자가 전처리 엔진 없이 데이터 라벨링을 수행하는 것보다 오히려 더 많은 시간이 소모될 수 있다.
일반적인 인공지능 기업은 한두 개의 인공지능 모델을 개발하고, 그 인공지능 모델의 성능을 높이는 데 집중을 한다. 그러나 데이터 라벨링을 수행하는 기업의 경우에는, 다양한 도메인(드론, 자율주행, 보행보조, 농업, 의료, 생활, 컨텐츠 등)에 대한 데이터를 다루어야 하며, 같은 목적이라 하더라도 각 도메인마다 학습시키고자 하는 객체가 다를 수 있다. 객체 인식을 목적으로 하는 기업을 예로 들면, 자율주행 시스템을 연구하는 기업에서는 차량, 보행자, 장애물, 도로 등을 객체로 인식하고자 할 것이며, 패션 아이템과 관련한 기업에서는 사람이 있는 사진 속에서 상의, 하의, 악세서리 등을 객체로 인식하고자 할 것이다.
최소 수십 개 이상의 프로젝트를 동시에 수행하는 데이터 라벨링업의 특성상, 각각의 프로젝트마다 이에 적합한 인공지능 모델을 설계하고 개발하는 것은 대단히 어려운 일이다. 게다가, 인공지능 모델의 설계 및 개발에 투입되는 시간과 인건비를 고려하면, 인공지능 모델을 데이터 라벨링에 활용하지 않는 경우에 비해 오히려 더 많은 비용이 발생하는 결과를 초래할 수도 있다.
종래에는 작업자가 어느 한 프로젝트에 속하는 방대한 양의 데이터에 대해 데이터 라벨링을 수행하여 방대한 양의 라벨 데이터를 생성하면, 인공지능 개발자가 그 방대한 양의 라벨 데이터를 활용하여, 데이터 라벨링을 자동으로 수행하는 인공지능 모델을 개발하고 있었다. 하지만, 이와 같은 방식으로 인공지능 모델이 개발될 경우에는, 다수의 프로젝트가 동시에 진행될 때 각 프로젝트마다 인공지능 개발자가 투입되어 각각의 프로젝트마다 인공지능 모델을 설계 및 개발해야 하기 때문에, 다수의 프로젝트에 적합한 인공지능 모델을 생성하는 데 너무 많은 시간과 비용이 발생한다는 문제점이 있다.
한편, 하기의 특허문헌은 레이블링되지 않은 다수의 학습 데이터를 이용하여 딥 러닝의 다층 신경망 모델을 트레이닝하는 방법 및 이 방법을 수행하는 딥 러닝 시스템을 개시하고 있다.
본 발명은 인공지능 개발자의 개입 없이 작업자가 라벨링한 데이터를 기반으로 인공지능을 자동 학습시키고, 상기 자동 학습을 통해 생성되는 인공지능 모델을 기반으로 데이터 라벨링을 자동으로 수행하는 전처리 엔진을 생성하여, 작업자의 데이터 라벨링 효율성을 지속적으로 향상시키는 방안을 제공하는 것에 그 목적이 있다.
또한, 본 발명은 전처리 엔진이 작업자 단말로 도입되는 시점 및 전처리 엔진이 개선되는 페이스가 비교적 빠른 속도로 이루어질 수 있는 방안을 제공하는 것에 그 목적이 있다.
또한, 본 발명은 다수의 신규 프로젝트에 대한 데이터 라벨링 시, 상기 데이터 라벨링에 소요되는 시간과 비용을 절감할 수 있는 방안을 제공하는 것에 그 목적이 있다.
다만, 본 발명이 해결하고자 하는 기술적 과제는 상술한 과제만으로 한정되는 것은 아니며, 언급되지 않은 또 다른 기술적 과제들은 아래에 기재된 발명의 설명으로부터 통상의 기술자에게 명확하게 이해될 수 있을 것이다.
본 발명의 제1 실시예는, 메모리에 저장된 하나 이상의 인스트럭션을 실행하는 프로세서에 의해 수행되는 자동 학습 기반의 데이터 라벨링 방법으로서, (a) 다수 개의 원천 데이터를 작업자 단말로 송신하는 단계; (b) 상기 작업자 단말로부터, 상기 다수 개의 원천 데이터 중 1회차 원천 데이터 내의 객체에 대해 데이터 라벨링이 수행된 1회차 라벨 데이터를 수신하는 단계; (c) 상기 1회차 라벨 데이터 중 일부를 1회차 학습용 데이터로 분리하고, 상기 1회차 학습용 데이터를 통해 인공신경망을 학습시켜, 상기 원천 데이터 내의 객체에 대해 데이터 라벨링을 자동으로 수행하는 1회차 인공지능 모델을 생성하는 단계; (d) 상기 작업자 단말로부터, 상기 다수 개의 원천 데이터 중 n회차 원천 데이터 내의 객체에 대해 데이터 라벨링이 수행된 n회차 라벨 데이터를 수신하는 단계; (e) 상기 n회차 라벨 데이터 중 일부를 n회차 학습용 데이터로 분리하고, 상기 n회차 학습용 데이터를 통해 n-1회차 인공지능 모델을 학습시켜, 상기 원천 데이터 내의 객체에 대해 데이터 라벨링을 자동으로 수행하는 n회차 인공지능 모델을 생성하는 단계; 및 (f) 기 설정된 종료 조건을 만족하였는지 여부를 판단하고, 상기 기 설정된 종료 조건을 만족할 때까지 상기 (d)단계 내지 상기 (e)단계를 반복 수행하는 단계를 포함할 수 있다(상기 n은 상기 (d)단계 내지 상기 (e)단계가 수행되는 횟수에 기초하여 2부터 오름차순으로 적용되는 자연수임).
상기 프로세서는, 기 설정된 유사도 판단 기준에 따라 상기 작업자 단말로 송신할 원천 데이터 간 유사도를 판단하고, 상기 원천 데이터 간 유사도에 따라 상기 다수 개의 원천 데이터를 회차를 구분하여 상기 작업자 단말로 송신하되, 상기 작업자 단말로 송신하는 1회차 원천 데이터에는 상호 간에 유사도가 낮은 원천 데이터가 포함되도록 하고, 상기 작업자 단말로 송신하는 n회차 원천 데이터에는 상기 1회차 원천 데이터에 포함된 원천 데이터 간 유사도보다 더 높은 유사도를 갖는 원천 데이터가 포함되도록 할 수 있다.
상기 프로세서가 상기 작업자 단말로 송신하는 n회차 원천 데이터에 포함된 원천 데이터의 개수는, 상기 프로세서가 상기 작업자 단말로 송신하는 1회차 원천 데이터에 포함된 원천 데이터의 개수보다 더 적을 수 있다.
상기 (c)단계에서, 상기 프로세서는, 상기 1회차 라벨 데이터 중 나머지를 1회차 검증용 데이터로 분리하고, 상기 1회차 검증용 데이터를 활용하여 상기 1회차 인공지능 모델의 성능을 산출하고, 상기 1회차 인공지능 모델의 성능이 기 설정된 최소 요구 성능을 충족시키는지 여부를 판단할 수 있다. 상기 프로세서는, 상기 1회차 인공지능 모델의 성능이 상기 기 설정된 최소 요구 성능을 충족시킬 경우에는, 상기 1회차 인공지능 모델을 전처리 엔진으로 지정하고, 상기 전처리 엔진을 상기 작업자 단말로 송신함으로써, 작업자가 상기 작업자 단말로 데이터 라벨링을 수행할 때 상기 전처리 엔진이 수행하는 자동 데이터 라벨링을 활용하도록 할 수 있다. 이에 반해, 상기 프로세서는, 상기 1회차 인공지능 모델의 성능이 상기 기 설정된 최소 요구 성능을 충족시키지 않을 경우에는, 상기 1회차 인공지능 모델을 전처리 엔진으로 지정하지 않을 수 있다.
상기 (e)단계에서, 상기 프로세서는, 상기 n회차 라벨 데이터 중 나머지를 n회차 검증용 데이터로 분리하고, 상기 1회차 검증용 데이터 내지 상기 n회차 검증용 데이터를 모두 활용하여, 상기 1회차 인공지능 모델 내지 상기 n회차 인공지능 모델의 성능을 각각 산출하고, 상기 1회차 인공지능 모델 내지 상기 n회차 인공지능 모델 중에서 가장 높은 성능을 갖는 인공지능 모델을 선정할 수 있다. 상기 프로세서는, 상기 선정된 인공지능 모델의 성능이 상기 기 설정된 최소 요구 성능을 충족시키는지 여부를 판단하고, 상기 선정된 인공지능 모델의 성능이 상기 기 설정된 최소 요구 성능을 충족시킬 경우에는, 상기 선정된 인공지능 모델을 전처리 엔진으로 지정하고, 상기 전처리 엔진을 상기 작업자 단말로 송신함으로써, 작업자가 상기 작업자 단말로 데이터 라벨링을 수행할 때 상기 전처리 엔진이 수행하는 자동 데이터 라벨링을 활용하도록 할 수 있다. 이에 반해, 상기 프로세서는, 상기 선정된 인공지능 모델의 성능이 상기 기 설정된 최소 요구 성능을 충족시키는지 여부를 판단하고, 상기 선정된 인공지능 모델의 성능이 상기 기 설정된 최소 요구 성능을 충족시키지 않을 경우에는, 상기 선정된 인공지능 모델을 전처리 엔진으로 지정하지 않을 수 있다.
본 발명의 제1 실시예에 따른 자동 학습 기반 데이터 라벨링 장치는, 하나 이상의 인스트럭션을 저장하는 메모리; 및 상기 메모리에 저장된 하나 이상의 인스트럭션을 실행함으로써 본 발명의 제1 실시예에 따른 자동 학습 기반 데이터 라벨링 방법을 수행하는 프로세서를 포함할 수 있다.
또한, 본 발명은 본 발명의 제1 실시예에 따른 자동 학습 기반 데이터 라벨링 방법을 수행하게 하는 컴퓨터 실행가능 인스트럭션을 저장하는 컴퓨터 판독가능 저장 매체를 제공할 수 있다.
한편, 본 발명의 제2 실시예는, 메모리에 저장된 하나 이상의 인스트럭션을 실행하는 프로세서에 의해 수행되는 자동 학습 기반의 데이터 라벨링 방법으로서, (a') 다수 개의 원천 데이터를 작업자 단말로 송신하는 단계; (b') 상기 작업자 단말로부터, 상기 다수 개의 원천 데이터 중 1회차 원천 데이터 내의 객체에 대해 데이터 라벨링이 수행된 1회차 라벨 데이터를 수신하는 단계; 및 (c') 상기 1회차 라벨 데이터 중 일부를 1회차 학습용 데이터로 분리하고, 상기 원천 데이터 내의 객체에 대해 데이터 라벨링을 자동으로 수행하도록 미리 학습된 사전 인공지능 모델을 상기 1회차 학습용 데이터를 통해 학습시켜, 상기 원천 데이터 내의 객체에 대해 데이터 라벨링을 자동으로 수행하는 1회차 인공지능 모델을 생성하는 단계를 포함할 수 있다.
상기 (c')단계에서, 상기 프로세서는, 상기 1회차 라벨 데이터 중 나머지를 1회차 검증용 데이터로 분리하고, 상기 1회차 검증용 데이터를 활용하여, 상기 사전 인공지능 모델 및 상기 1회차 인공지능 모델의 성능을 각각 산출하고, 상기 사전 인공지능 모델 및 상기 1회차 인공지능 모델 중에서 더 높은 성능을 갖는 인공지능 모델을 선정할 수 있다. 상기 프로세서는, 상기 선정된 인공지능 모델의 성능이 기 설정된 최소 요구 성능을 충족시키는지 여부를 판단하고, 상기 선정된 인공지능 모델의 성능이 상기 기 설정된 최소 요구 성능을 충족시킬 경우에는, 상기 선정된 인공지능 모델을 전처리 엔진으로 지정하고, 상기 전처리 엔진을 상기 작업자 단말로 송신함으로써, 작업자가 상기 작업자 단말로 데이터 라벨링을 수행할 때 상기 전처리 엔진이 수행하는 자동 데이터 라벨링을 활용하도록 할 수 있다. 이에 반해, 상기 프로세서는, 상기 선정된 인공지능 모델의 성능이 기 설정된 최소 요구 성능을 충족시키는지 여부를 판단하고, 상기 선정된 인공지능 모델의 성능이 상기 기 설정된 최소 요구 성능을 충족시키지 않을 경우에는, 상기 선정된 인공지능 모델을 전처리 엔진으로 지정하지 않을 수 있다.
상기 (c') 단계 이후에, 상기 프로세서는, (d') 상기 작업자 단말로부터, 상기 다수 개의 원천 데이터 중 m회차 원천 데이터 내의 객체에 대해 데이터 라벨링이 수행된 m회차 라벨 데이터를 수신하는 단계; (e') 상기 m회차 라벨 데이터 중 일부를 m회차 학습용 데이터로 분리하고, 상기 m회차 학습용 데이터를 통해 m-1회차 인공지능 모델을 학습시켜, 상기 원천 데이터 내의 객체에 대해 데이터 라벨링을 자동으로 수행하는 m회차 인공지능 모델을 생성하는 단계; 및 (f') 기 설정된 종료 조건을 만족하였는지 여부를 판단하고, 상기 기 설정된 종료 조건을 만족할 때까지, 상기 (d')단계 내지 상기 (e')단계를 반복 수행하는 단계를 더 포함할 수 있다(상기 m은 상기 (d')단계 내지 상기 (e')단계가 수행되는 횟수에 기초하여 2부터 오름차순으로 적용되는 자연수임).
상기 (e')단계에서, 상기 프로세서는, 상기 m회차 라벨 데이터 중 나머지를 m회차 검증용 데이터로 분리하고, 상기 1회차 검증용 데이터 내지 상기 m회차 검증용 데이터를 모두 활용하여, 상기 사전 인공지능 모델과, 상기 1회차 인공지능 모델 내지 상기 m회차 인공지능 모델의 성능을 각각 산출하고, 상기 사전 인공지능 모델과, 상기 1회차 인공지능 모델 내지 상기 m회차 인공지능 모델 중에서 가장 높은 성능을 갖는 인공지능 모델을 선정할 수 있다. 상기 프로세서는, 상기 선정된 인공지능 모델의 성능이 기 설정된 최소 요구 성능을 충족시키는지 여부를 판단하고, 상기 선정된 인공지능 모델의 성능이 상기 기 설정된 최소 요구 성능을 충족시킬 경우에는, 상기 선정된 인공지능 모델을 전처리 엔진으로 지정하고, 상기 전처리 엔진을 상기 작업자 단말로 송신함으로써, 작업자가 상기 작업자 단말로 데이터 라벨링을 수행할 때 상기 전처리 엔진이 수행하는 자동 데이터 라벨링을 활용하도록 할 수 있다. 이에 반해, 상기 프로세서는, 상기 선정된 인공지능 모델의 성능이 상기 기 설정된 최소 요구 성능을 충족시키는지 여부를 판단하고, 상기 선정된 인공지능 모델의 성능이 상기 기 설정된 최소 요구 성능을 충족시키지 않을 경우에는, 상기 선정된 인공지능 모델을 전처리 엔진으로 지정하지 않을 수 있다.
본 발명의 제2 실시예에 따른 자동 학습 기반 데이터 라벨링 장치는, 하나 이상의 인스트럭션을 저장하는 메모리; 및 상기 메모리에 저장된 하나 이상의 인스트럭션을 실행함으로써 본 발명의 제2 실시예에 따른 자동 학습 기반 데이터 라벨링 방법을 수행하는 프로세서를 포함할 수 있다.
또한, 본 발명은 상기 본 발명의 제2 실시예에 따른 자동 학습 기반 데이터 라벨링 방법을 수행하게 하는 컴퓨터 실행가능 인스트럭션을 저장하는 컴퓨터 판독가능 저장 매체를 제공할 수 있다.
본 발명은 프로세서가 작업자 단말로부터 일정량의 라벨 데이터를 수신하는 대로 상기 라벨 데이터 중 일부를 학습용 데이터로 분리하고, 상기 학습용 데이터의 자동 학습을 통해 원천 데이터 내의 객체에 대해 데이터 라벨링을 자동으로 수행하는 인공지능 모델을 생성하도록 구성되어 있다. 이러한 본 발명에 의하면, 상기 인공지능 모델 생성 시 인공지능 개발자가 개입될 필요가 없고, 원천 데이터 내의 객체에 대한 데이터 라벨링 시 작업자의 참여 비중이 줄어들기 때문에, 인공지능 모델의 개발 비용과 데이터 라벨링에 소요되는 작업 비용을 대폭 절감할 수 있게 된다.
또한, 본 발명에 의하면, 프로세서가 작업자 단말로부터 수신하는 라벨 데이터의 수가 늘어날수록, 더 높은 정확도를 갖는 전처리 엔진이 생성될 수 있다. 즉, 프로세서가 작업자 단말로부터 수신하는 라벨 데이터의 수가 늘어날수록, 전처리 엔진이 데이터 라벨링을 자동으로 수행하는 비중이 늘어나고, 객체 검출의 정확도가 향상될 수 있으며, 이로 인해 작업자가 데이터 라벨링을 수행하는 효율성이 지속적으로 향상될 수 있게 된다.
또한, 본 발명에 의하면, 프로세서가 어느 한 프로젝트에 속하는 라벨 데이터를 기반으로 자동 학습을 수행함에 따라, 해당 프로젝트에 최적화된 성능을 갖는 전처리 엔진이 생성될 수 있게 된다.
또한, 본 발명에 의하면, 인공지능 개발자의 개입 없이 라벨 데이터의 자동 학습을 통해 인공지능 모델 및 전처리 엔진이 생성되기 때문에, 인공지능 개발자가 개입하여 인공지능 모델 및 전처리 엔진을 생성하는 경우에 비해, 전처리 엔진이 작업자 단말로 도입되는 시점이 더 빨라지게 되고, 전처리 엔진이 더 우수한 성능을 갖도록 개선되는 페이스 또한 더 빨라지게 된다.
게다가, 본 발명에 의하면, 다수의 신규 프로젝트가 존재할 경우 그 중 어느 한 프로젝트에 대한 전처리 엔진이 생성된 이후에 다른 프로젝트에 대한 전처리 엔진이 생성되는 것이 아니라, 다수의 신규 프로젝트마다 각 프로젝트에 적합한 전처리 엔진이 동시에 생성될 수 있다. 이러한 본 발명에 의하면, 다수의 신규 프로젝트에 대한 데이터 라벨링 시, 상기 동시에 생성되는 전처리 엔진을 통해 데이터 라벨링이 수행될 수 있기 때문에, 데이터 라벨링에 소요되는 시간과 비용을 비약적으로 절감할 수 있게 된다.
다만, 본 발명의 효과들은 이상에서 언급된 효과로 제한되지 않으며, 언급되지 않은 또 다른 효과들은 아래의 기재로부터 통상의 기술자에게 명확하게 이해될 수 있을 것이다.
도 1은 본 발명에 따른 자동 학습 기반의 데이터 라벨링 장치를 작업자 단말과 함께 나타낸 도면이다.
도 2는 본 발명의 제1 실시예에 따른 자동 학습 기반의 데이터 라벨링 방법에 관한 흐름도이다.
도 3은 작업자 단말로 송신되는 원천 데이터를 예시적으로 나타낸 도면이다.
도 4는 1회차 원천 데이터에 포함된, 상대적으로 유사도가 낮은 원천 데이터를 예시적으로 나타낸 도면이다.
도 5는 n회차 원천 데이터에 포함된, 상대적으로 유사도가 높은 원천 데이터를 예시적으로 나타낸 도면이다.
도 6은 본 발명의 제1 실시예에 따른 자동 학습 기반의 데이터 라벨링 방법에 따라, 인공신경망 및 인공지능 모델이 학습용 데이터를 통해 학습되는 모습, 인공지능 모델이 검증용 데이터를 통해 검증되는 모습, 및 전처리 엔진이 작업자 단말로 송신되는 모습을 시간 순서대로 나타낸 도면이다.
도 7은 본 발명의 제2 실시예에 따른 자동 학습 기반의 데이터 라벨링 방법에 관한 흐름도이다.
도 8은 본 발명의 제2 실시예에 따른 자동 학습 기반의 데이터 라벨링 방법에 따라, 인공지능 모델이 학습용 데이터를 통해 학습되는 모습, 인공지능 모델이 검증용 데이터를 통해 검증되는 모습, 및 전처리 엔진이 작업자 단말로 송신되는 모습을 시간 순서대로 나타낸 도면이다.
도 2는 본 발명의 제1 실시예에 따른 자동 학습 기반의 데이터 라벨링 방법에 관한 흐름도이다.
도 3은 작업자 단말로 송신되는 원천 데이터를 예시적으로 나타낸 도면이다.
도 4는 1회차 원천 데이터에 포함된, 상대적으로 유사도가 낮은 원천 데이터를 예시적으로 나타낸 도면이다.
도 5는 n회차 원천 데이터에 포함된, 상대적으로 유사도가 높은 원천 데이터를 예시적으로 나타낸 도면이다.
도 6은 본 발명의 제1 실시예에 따른 자동 학습 기반의 데이터 라벨링 방법에 따라, 인공신경망 및 인공지능 모델이 학습용 데이터를 통해 학습되는 모습, 인공지능 모델이 검증용 데이터를 통해 검증되는 모습, 및 전처리 엔진이 작업자 단말로 송신되는 모습을 시간 순서대로 나타낸 도면이다.
도 7은 본 발명의 제2 실시예에 따른 자동 학습 기반의 데이터 라벨링 방법에 관한 흐름도이다.
도 8은 본 발명의 제2 실시예에 따른 자동 학습 기반의 데이터 라벨링 방법에 따라, 인공지능 모델이 학습용 데이터를 통해 학습되는 모습, 인공지능 모델이 검증용 데이터를 통해 검증되는 모습, 및 전처리 엔진이 작업자 단말로 송신되는 모습을 시간 순서대로 나타낸 도면이다.
이하, 첨부한 도면들을 참조하여 본 발명에 따른 자동 학습 기반의 데이터 라벨링 방법, 장치 및 컴퓨터 판독가능 저장 매체에 대해 상세히 설명한다. 첨부한 도면들은 통상의 기술자에게 본 발명의 기술적 사상이 충분히 전달될 수 있도록 하기 위하여 어디까지나 예시적으로 제공되는 것이며, 본 발명은 이하 제시되는 도면들로 한정되지 않고 다른 형태로 얼마든지 구체화될 수 있다.
본 명세서에서 어떤 부분이 어떤 구성요소를 "포함"한다고 할 때, 이는 특별히 반대되는 기재가 없는 한 다른 구성요소를 제외하는 것이 아니라 다른 구성요소를 더 포함할 수 있음을 의미한다.
또한, 본 명세서에서 "원천 데이터"는 작업자에 의해 데이터 라벨링이 수행되어야 할 대상인 미가공 상태의 데이터를 의미하며, "라벨 데이터"는 상기 원천 데이터 내 객체에 대하여 데이터 라벨링이 수행된 데이터를 의미한다.
또한, 본 발명에서 "인공신경망"은 인공지능 모델의 기본 아키텍쳐를 의미하며, 인공신경망의 예시로는 Faster R-CNN(Region Based Convolutional Neural Networks), Mask R-CNN, SSD(SingleShot Detector), YOLO(You Only Look Once) 등을 들 수 있다. 본 발명에서 "인공지능 모델"은 상기 인공신경망이 라벨 데이터에 의해 학습됨에 따라 생성되는 모델이자, 상기 원천 데이터 내의 객체에 대해 데이터 라벨링을 일정 정도 자동으로 수행하는 모델을 의미한다.
도 1은 본 발명에 따른 자동 학습 기반의 데이터 라벨링 장치(100)를 작업자 단말(10)과 함께 나타낸 도면이다. 도 1에 나타낸 바와 같이, 본 발명에 따른 자동 학습 기반의 데이터 라벨링 장치(100)는 메모리(110) 및 프로세서(120)를 포함할 수 있다.
메모리(110)에는 본 발명에 따른 자동 학습 기반의 데이터 라벨링 방법에 관한 하나 이상의 인스트럭션이 저장되어 있다. 또한, 메모리(100)에는 상기 방법의 실행을 위해 인공신경망, 사전(prior) 인공지능 모델, 원천 데이터 등이 저장되어 있으며, 초기 학습 데이터량, 학습 주기, 검증 데이터셋 비율, 최소 요구 성능, 종료 조건, 하이퍼 파라미터(학습률 및 에포크 등을 포함함) 등이 기 설정되어 있다. 이를 위해 메모리(110)는 휘발성 또는 비휘발성 저장 매체를 포함할 수 있다. 예를 들어, 메모리(110)는 ROM(Read Only Memory), RAM(Random Access Memory), EPROM(Erasable Programmable Read Only Memory), EEPROM(Electrically Erasable Programmable Read-Only Memory), 플래시 메모리, SRAM(Static RAM), HDD(Hard Disk Drive) 또는 SSD(Solid State Drive) 등으로 구현되거나, 이를 포함해서 구현될 수 있다.
프로세서(120)는 메모리(110)에 저장된 하나 이상의 인스트럭션을 실행함으로써, 본 발명에 따른 자동 학습 기반의 데이터 라벨링 방법을 수행한다. 프로세서(120)가 실행하는 인스트럭션은 컴퓨터 실행가능 인스트럭션(computer executable instructions)이다. 프로세서(120)는 상기 인스트럭션의 실행을 위해 MPU(Micro Processing Unit), CPU(Central Processing Unit), GPU(Graphics Processing Unit) 또는 TPU(Tensor Processing Unit) 등으로 구현되거나, 이를 포함해서 구현될 수 있다.
본 발명에서 작업자 단말(10: 10-1, 10-2, 10-3, 10-4)은 작업자가 보유하고 있는 컴퓨터나 스마트 단말 등이 이에 해당될 수 있다. 작업자는 자신이 보유하고 있는 작업자 단말(10: 10-1, 10-2, 10-3, 10-4)을 통해, 자동 학습 기반의 데이터 라벨링 장치(100)에 통신 접속하여 상기 장치(100)로부터 원천 데이터를 수신하고, 상기 원천 데이터 내의 객체에 대하여 데이터 라벨링을 수행하며, 데이터 라벨링이 수행된 라벨 데이터를 상기 장치(100)로 송신할 수 있다. 여기서, 데이터 라벨링이란, 원천 데이터에 인공지능이 학습할 수 있는 형태로 정답 데이터를 입력하는 과정을 의미한다.
도 2는 본 발명의 제1 실시예에 따른 자동 학습 기반의 데이터 라벨링 방법에 관한 흐름도이다.
본 발명의 제1 실시예에 따른 자동 학습 기반의 데이터 라벨링 방법에 의하면, 맨 먼저 프로세서(120)가 다수 개의 원천 데이터를 하나 이상의 작업자 단말(10)로 송신하는 단계가 이루어질 수 있다(S100).
도 3은 작업자 단말(10)로 송신되는 원천 데이터를 예시적으로 나타낸 도면이다. 프로세서(120)는 메모리(110)에 저장되어 있는 수많은 원천 데이터 중에서, 작업자 단말(10)에 의해 데이터 라벨링이 수행되어야 할 원천 데이터를 선별하고, 상기 선별된 원천 데이터를 작업자 단말(10)로 송신할 수 있다. 도 3에서는 비록 원천 데이터가 이미지 데이터인 것으로 나타냈으나, 원천 데이터는 동영상 데이터, 텍스트 데이터, 오디오 데이터와 같이 이미지 데이터 이외의 것일 수도 있다.
메모리(110)에 기 설정된 초기 학습 데이터량은 인공신경망을 통해 최초로 학습될 라벨 데이터의 양(즉, 1회차 라벨 데이터의 양)을 의미한다. 그리고 메모리(110)에 기 설정된 학습 주기는 인공지능 모델을 통해 학습이 이루어질 라벨 데이터의 양(즉, n회차 라벨 데이터의 양)을 의미한다. 이하에서는, 초기 학습 데이터량이 1,000개이고, 학습 주기는 100개인 것으로 가정하고 설명하기로 한다.
상기 n은 후술하는 S400 단계 내지 S500 단계가 수행되는 횟수에 기초하여 2부터 오름차순으로 적용되는 자연수이다. 즉, S400 단계 내지 S500 단계의 수행 횟수가 1회인 경우 n은 2이고, S400 단계 내지 S500 단계의 수행 횟수가 2회인 경우 n은 3이며, S400 단계 내지 S500 단계의 수행 횟수가 3회인 경우 n은 4이다.
프로세서(120)는 메모리(110)에 저장되어 있는 원천 데이터 중에서, 작업자 단말(10)에 의해 데이터 라벨링이 수행되어야 할 1,000개의 원천 데이터(즉, 초기 학습 데이터)를 1회차 원천 데이터로 구분하여 작업자 단말(10)로 송신할 수 있다. 작업자 단말(10-1, 10-2, 10-3, 10-4)의 수가 4개인 경우, 프로세서(120)는 작업자 단말(10-1, 10-2, 10-3, 10-4) 각각으로 250개씩의 원천 데이터를 1회차 원천 데이터로서 송신할 수 있다.
또한, 프로세서(120)는 메모리(110)에 저장되어 있는 원천 데이터 중에서, 상기 1회차 원천 데이터 이외의 원천 데이터를 n회차 원천 데이터로 구분하고, 각 회차별로 서로 다른 100개의 원천 데이터를 작업자 단말(10)로 송신할 수 있다. 즉, 프로세서(120)는 메모리(110)에 저장되어 있는 원천 데이터 중에서, 상기 1회차 원천 데이터와 겹치지 않도록 100개의 원천 데이터를 선별하고, 상기 선별된 100개의 원천 데이터를 2회차 원천 데이터로 구분하여 작업자 단말(10)로 송신할 수 있다. 또한, 프로세서(120)는 메모리(110)에 저장되어 있는 원천 데이터 중에서, 상기 1회차 및 2회차 원천 데이터와 겹치지 않도록 100개의 원천 데이터를 선별하고, 상기 선별된 100개의 원천 데이터를 3회차 원천 데이터로 구분하여 작업자 단말(10)로 송신할 수 있다.
이와 같은 방식으로 프로세서(120)는 작업자 단말(10)로 n회차 원천 데이터를 송신할 수 있다. 이때 프로세서(120)는 작업자 단말(10-1, 10-2, 10-3, 10-4) 각각으로 25개씩의 원천 데이터를 n회차 원천 데이터로서 송신할 수 있다.
프로세서(120)는 작업자 단말(10)로 원천 데이터를 송신하기에 앞서, 프로세서(120)에 기 설정된 유사도 판단 기준에 따라 작업자 단말(10)로 송신할 원천 데이터 간 유사도를 판단할 수 있다. 여기서, 원천 데이터 간 유사도는 원천 데이터가 획득된 시간, 원천 데이터가 획득된 장소, 원천 데이터 내 객체의 수, 원천 데이터 내 객체의 종류, 및 원천 데이터 내 객체의 밀집 정도 중 적어도 하나에 기초하여 판단될 수 있다.
보다 구체적으로, 프로세서(120)는 작업자 단말(10)에 의해 데이터 라벨링이 수행되어야 할 원천 데이터를 선별한 뒤, 선별한 원천 데이터 중에서 획득 시간이 동일한 원천 데이터를 유사도가 높은 것으로 판단하거나, 획득 장소가 동일한 원천 데이터를 유사도가 높은 것으로 판단할 수 있다.
또는, 프로세서(120)는 선별한 원천 데이터 중에서 원천 데이터 내에 포함된 객체의 수가 동일한 원천 데이터를 유사도가 높은 것으로 판단할 수 있다.
또는, 프로세서(120)는 선별한 원천 데이터 중에서 원천 데이터 내에 포함된 객체의 종류(예를 들어, 자동차, 곤충, 사람 등)가 동일한 원천 데이터를 유사도가 높은 것으로 판단할 수 있다. 예를 들어, 원천 데이터가 의료 데이터라면, 프로세서(120)는 의료 데이터 내에 포함된 질병의 종류가 동일한 원천 데이터를 유사도가 높은 것으로 판단할 수 있다.
또는, 프로세서(120)는 선별한 원천 데이터 중에서 원천 데이터 내에 포함된 객체의 밀집 정도에 따라 원천 데이터의 유사도를 판단할 수 있다. 예를 들어, 원천 데이터가 3D 라이다 센서 데이터라면, 프로세서(120)는 3D 라이다 센서 데이터 내에 포함된 포인트 클라우드(point cloud)의 밀집 정도가 클수록 3D 라이다 센서 데이터의 유사도가 더 높은 것으로 판단할 수 있다.
도 4는 작업자 단말(10)로 송신되는 1회차 원천 데이터에 포함된, 상대적으로 유사도가 낮은 원천 데이터를 예시적으로 나타낸 도면이다. 도 4는 획득 장소가 상이한 원천 데이터를 나타낸 것이다.
상술한 바와 같이, 프로세서(120)는 원천 데이터 1,000개를 1회차 원천 데이터로 하여, 각 작업자 단말(10-1, 10-2, 10-3, 10-4)로 250개씩의 1회차 원천 데이터를 송신할 수 있다. 이때 프로세서(120)가 각 작업자 단말(10-1, 10-2, 10-3, 10-4)로 송신하는 1회차 원천 데이터에는, 도 4에 나타낸 바와 같이 상호 간에 유사도가 비교적 낮은 원천 데이터가 포함되도록 할 수 있다.
프로세서(120)가 1회차 원천 데이터에 상호 간 유사도가 낮은 원천 데이터를 포함시키는 이유는 인공신경망이 최대한 다양한 환경을 학습할 수 있도록 하기 위함이며, 이와 같이 함으로써 후술하는 인공지능 모델이 수행하는 자동 데이터 라벨링의 정확도가 향상될 수 있게 된다.
도 4와 대비해서, 도 5는 작업자 단말(10)로 송신되는 n회차 원천 데이터에 포함된, 상대적으로 유사도가 높은 원천 데이터를 예시적으로 나타낸 도면이다. 도 5는 획득 장소가 동일한 원천 데이터를 나타낸 것이다.
상술한 바와 같이, 프로세서(120)는 원천 데이터 100개를 n회차 원천 데이터로 하여, 각 작업자 단말(10-1, 10-2, 10-3, 10-4)로 25개씩의 n회차 원천 데이터를 송신할 수 있다. 이때 프로세서(120)가 각 작업자 단말(10-1, 10-2, 10-3, 10-4)로 송신하는 n회차 원천 데이터에는, 도 5에 나타낸 바와 같이 상호 간에 유사도가 비교적 높은 원천 데이터가 포함되도록 할 수 있다.
즉, 프로세서(120)는 원천 데이터 간 유사도에 따라 다수 개의 원천 데이터를 회차를 구분하여 작업자 단말(10)로 송신할 수 있으며, 이때 작업자 단말(10)로 송신하는 1회차 원천 데이터에는 상호 간에 유사도가 낮은 원천 데이터가 포함되도록 하고, 작업자 단말(10)로 송신하는 n회차 원천 데이터에는 상기 1회차 원천 데이터에 포함된 원천 데이터 간 유사도보다 더 높은 유사도를 갖는 원천 데이터가 포함되도록 할 수 있다.
보다 구체적으로, 프로세서(120)가 작업자 단말(10-1)로 송신하는 n회차 원천 데이터에는, 상기 1회차 원천 데이터에 포함된 원천 데이터 간 유사도보다 더 높은 유사도를 갖는 원천 데이터가 포함될 수 있다. 예를 들어, 프로세서(120)가 작업자 단말(10-1)로 송신하는 1회차 원천 데이터에는 도 4와 같이 획득 장소가 상이한 원천 데이터만이 포함될 수 있고, 프로세서(120)가 작업자 단말(10-1)로 송신하는 n회차 원천 데이터에는 도 5와 같이 획득 장소가 동일한 원천 데이터만이 포함될 수 있다.
그리고 프로세서(120)가 작업자 단말(10-2)로 송신하는 n회차 원천 데이터에도, 상기 1회차 원천 데이터에 포함된 원천 데이터 간 유사도보다 더 높은 유사도를 갖는 원천 데이터가 포함될 수 있다. 예를 들어, 프로세서(120)가 작업자 단말(10-2)로 송신하는 1회차 원천 데이터에는 획득 시간이 상이한 원천 데이터만이 포함될 수 있고, 프로세서(120)가 작업자 단말(10-2)로 송신하는 n회차 원천 데이터에는 획득 시간이 동일한 원천 데이터만이 포함될 수 있다.
이와 같이 프로세서(120)가 작업자 단말(10)로 송신하는 n회차 원천 데이터에 상호 간 유사도가 비교적 높은 원천 데이터를 포함시키는 이유는, 작업자로 하여금 n회차부터는 유사도가 높은 원천 데이터를 가지고 데이터 라벨링을 수행하도록 함으로써, 작업자의 데이터 라벨링 효율성을 향상시키고, 그로 인해 데이터 라벨링에 관한 프로젝트를 신속하게 마치도록 하기 위함이다.
한편, 프로세서(120)가 작업자 단말(10)로 송신하는 1회차 원천 데이터는, 인공신경망이 최대한 다양한 환경을 학습하는 데 활용되는 데이터이다. 따라서, 프로세서(120)가 작업자 단말(10)로 송신하는 1회차 원천 데이터에 포함되는 원천 데이터의 개수(예를 들어, 1,000개)는 비교적 많은 것이 바람직하다.
이에 반해, 프로세서(120)가 작업자 단말(10)로 송신하는 n회차 원천 데이터는, n-1회차 원천 데이터에 의해 학습이 이루어진 인공지능 모델에 적용되어 상기 인공지능 모델을 업데이트하는 데 활용되는 데이터이다. 따라서, 프로세서(120)가 작업자 단말(10)로 송신하는 n회차 원천 데이터에 포함된 원천 데이터의 개수(예를 들어, 250개)는, 프로세서(120)가 작업자 단말(10)로 송신하는 1회차 원천 데이터에 포함된 원천 데이터의 개수(예를 들어, 1,000개)보다 더 적을 수 있다.
프로세서(120)가 작업자 단말(10)로 송신하는 n회차 원천 데이터에 포함된 원천 데이터의 개수가 상기 1회차 원천 데이터에 포함된 원천 데이터의 개수보다 더 적을 경우에는, 그 반대 경우에 비해, 인공지능 모델 및 전처리 모델의 생성 페이스가 빨라지게 된다. 그리고 이와 같이 빠른 페이스로 생성되는 전처리 모델이 작업자 단말(10)로 송신되면, 작업자 단말(10)이 데이터 라벨링을 수행할 때, 전처리 모델이 자동 데이터 라벨링을 비교적 빠르고 정확하게 수행해줄 수 있다. 이에 따라, 프로세서(120)가 작업자 단말(10)로 송신하는 n회차 원천 데이터에 포함된 원천 데이터의 개수(예를 들어, 250개)는, 프로세서(120)가 작업자 단말(10)로 송신하는 1회차 원천 데이터에 포함된 원천 데이터의 개수(예를 들어, 1,000개)보다 더 적은 것이 바람직하다.
작업자는 작업자 단말(10)을 통해 1회차 원천 데이터부터 순차적으로 데이터 라벨링을 수행할 수 있다. 즉, 작업자는 작업자 단말(10)을 통해 1회차 원천 데이터 내의 객체에 대해 데이터 라벨링을 수행하고, 상기 데이터 라벨링이 수행된 라벨 데이터를 자동 학습 기반의 데이터 라벨링 장치(100)로 송신한다. 이후 작업자는 작업자 단말(10)을 통해 n회차 원천 데이터 내의 객체에 대해 데이터 라벨링을 수행하고, 상기 데이터 라벨링이 수행된 라벨 데이터를 자동 학습 기반의 데이터 라벨링 장치(100)로 송신한다.
다만, 위에서는 비록 프로세서(120)가 하나 이상의 작업자 단말(10)로 다수 개의 원천 데이터를 회차를 구분하여 송신하는 예에 대해 설명하였으나, 프로세서(120)는 하나 이상의 작업자 단말(10)로 다수 개의 원천 데이터를 회차를 구분하지 않고 송신할 수도 있다. 이 경우 프로세서(120)가 작업자 단말(10)로부터 초기 학습 데이터에 해당하는 수 만큼의 라벨 데이터(예를 들어, 프로세서(120)가 최초로 수신하는 1,000개의 라벨 데이터)를 수신하면, 그 라벨 데이터를 1회차 라벨 데이터로 하여 인공신경망의 학습에 활용할 수 있다. 이후 프로세서(120)가 작업자 단말(10)로부터 학습 주기에 해당하는 수 만큼의 라벨 데이터(예를 들어, 100개씩의 라벨 데이터)를 수신하면, 그 라벨 데이터를 n(= 2, 3, 4, …)회차 라벨 데이터로 하여 인공지능 모델의 학습에 활용할 수 있다.
도 6은 본 발명의 제1 실시예에 따른 자동 학습 기반의 데이터 라벨링 방법에 따라, 인공신경망 및 인공지능 모델이 학습용 데이터를 통해 학습되는 모습, 인공지능 모델이 검증용 데이터를 통해 검증되는 모습, 및 전처리 엔진이 작업자 단말로 송신되는 모습을 시간 순서대로 나타낸 도면이다. 이하에서는 도 6을 더 참고하여 본 발명의 제1 실시예에 따른 자동 학습 기반의 데이터 라벨링 방법에 대해 설명하기로 한다.
S100 단계 이후, 프로세서(120)는 작업자 단말(10)로부터, 다수 개의 원천 데이터 중 1회차 원천 데이터 내의 객체에 대해 데이터 라벨링이 수행된 1회차 라벨 데이터를 수신한다(S200). 위의 예시에 의하면, 프로세서(120)는 작업자 단말(10)로부터 총 1,000개의 1회차 라벨 데이터를 수신할 수 있다(도 6의 '1회차 라벨 데이터 1,000개' 참고).
메모리(110)에 저장된 검증 데이터셋 비율은 프로세서(120)가 수신하는 회차별 라벨 데이터에서 인공지능 모델의 성능을 검증하는 데 활용되는 검증 데이터의 비율을 의미한다. 이하에서는 검증 데이터셋 비율이 20%이고, 나머지 80%는 학습 데이터셋 비율인 것으로 가정하고 설명하기로 한다.
S200 단계 이후, 프로세서(120)는 1회차 라벨 데이터 중 일부를 1회차 학습용 데이터로 분리하고, 상기 1회차 학습용 데이터를 통해 인공신경망을 학습시켜, 원천 데이터 내의 객체에 대해 데이터 라벨링을 자동으로 수행하는 1회차 인공지능 모델을 생성한다(S300).
구체적으로, 프로세서(120)는 총 1,000개의 1회차 라벨 데이터 중 800개를 1회차 학습용 데이터로 분리하고, 1회차 라벨 데이터 중 나머지 200개를 1회차 검증용 데이터로 분리할 수 있다. 이때 프로세서(120)는 1회차 라벨 데이터 중에서 학습용 데이터 및 검증용 데이터를 랜덤하게 선별 및 분리할 수 있다.
이후 프로세서(120)는 메모리(110)에 저장되어 있는 인공신경망을 로딩하고, 1회차 학습용 데이터 800개를 통해 상기 인공신경망을 학습시켜, 원천 데이터 내의 객체에 대해 데이터 라벨링을 자동으로 수행하는 1회차 인공지능 모델을 생성할 수 있다(도 6의 '인공신경망' 및 '1회차 인공지능 모델' 참고). 여기서, 1회차 학습용 데이터를 통해 학습되는 인공신경망은 Faster R-CNN, Mask R-CNN, SSD(SingleShot Detector) 또는 YOLO 등일 수 있으며, 프로세서(120)는 생성된 1회차 인공지능 모델을 메모리(110)에 저장할 수 있다.
1회차 인공지능 모델을 생성한 프로세서(120)는 1회차 검증용 데이터 200개를 활용하여 1회차 인공지능 모델의 성능을 산출할 수 있다. 구체적으로, 프로세서(120)는 1회차 검증용 데이터의 원천 데이터(즉, 1회차 검증용 데이터에 대해 데이터 라벨링이 수행되지 않은 원천 데이터) 200개를 1회차 인공지능 모델에 입력하고, 상기 1회차 인공지능 모델이 출력하는 데이터 200개를 1회차 검증용 데이터 200개와 비교하여, 1회차 인공지능 모델의 성능을 산출할 수 있다. 여기서, 인공지능 모델의 성능은 IoU(Intersection over Union), AP(Average Precision)와 같이 객체 검출의 정확도를 나타내는 지표로 산출될 수 있다. 다만, 인공지능 모델의 성능은 객체 검출의 속도 등 다양한 속성을 나타내는 지표로 산출될 수도 있다.
프로세서(120)는 1회차 인공지능 모델의 성능 검증을 위해 메모리(110)에 기 설정된 최소 요구 성능을 로딩할 수 있다. 여기서, 최소 요구 성능은 인공지능 모델의 성능 검증을 위해 사용되는 조건을 의미하며, 'IoU 90 이상', 'AP 95 이상 및 IoU 90 이상', 'AP 95 이상 또는 IoU 90 이상'과 같이 IoU, AP 등의 지표에 기초하여 기 설정될 수 있다.
프로세서(120)는 1회차 인공지능 모델의 성능이 상기 기 설정된 최소 요구 성능을 충족시키는지 여부를 판단할 수 있다. 예를 들어, 메모리(110)에 기 설정된 최소 요구 성능이 'IoU 90 이상'인 경우, 프로세서(120)는 1회차 인공지능 모델의 성능이 'IoU 90 이상'에 해당하는지 여부를 판단할 수 있다. 이와 같이 프로세서(120)가 1회차 인공지능 모델의 성능을 기 설정된 최소 요구 성능을 기준으로 검증할 경우에는, 1회차 인공지능 모델에 기반하여 생성되는 전처리 엔진이 자동 데이터 라벨링을 비교적 높은 효율로 수행하는지 여부가 판단될 수 있기 때문에, 작업자의 데이터 라벨링 효율성 향상에 기여할 수 있게 된다.
프로세서(120)가 판단한 결과, 1회차 인공지능 모델의 성능이 상기 기 설정된 최소 요구 성능을 충족시킬 경우, 프로세서(120)는 1회차 인공지능 모델을 전처리 엔진으로 지정할 수 있다(도 6의 '전처리 엔진 #1' 참고).
상기 1회차 인공지능 모델이 전처리 엔진으로 지정된 시점에서, 작업자는 작업자 단말(10)을 통해 원천 데이터(예를 들어, 2회차 원천 데이터) 내의 객체에 대해 데이터 라벨링을 수행하고 있을 수 있다. 이에 따라, 프로세서(120)는 상기 전처리 엔진 #1을 작업자 단말(10)로 송신함으로써, 작업자가 작업자 단말(10)로 데이터 라벨링을 수행할 때 상기 전처리 엔진 #1이 수행하는 자동 데이터 라벨링을 활용하도록 할 수 있다.
즉, 작업자 단말(10)로 송신되는 전처리 엔진 #1은 2회차 원천 데이터 100개 내의 객체에 대해 적어도 일부분의 데이터 라벨링을 자동으로 해줄 수 있으며, 이로 인해 2회차 원천 데이터 내의 객체에 대해 작업자가 데이터 라벨링을 수행하는 시간과 노력이 감소될 수 있게 된다.
이와 달리, 프로세서(120)가 판단한 결과, 1회차 인공지능 모델의 성능이 상기 기 설정된 최소 요구 성능을 충족시키지 않을 경우, 프로세서(120)는 1회차 인공지능 모델을 전처리 엔진으로 지정하지 않을 수 있다.
이는 1회차 인공지능 모델의 성능이 상기 기 설정된 최소 요구 성능을 충족시키지 않으면, 1회차 인공지능 모델을 전처리 엔진으로 활용하더라도, 그 전처리 엔진에서 전처리되는 데이터 라벨링의 정확도가 낮을 수밖에 없기 때문이다. 전처리 엔진에서 전처리되는 데이터 라벨링의 정확도가 낮으면, 작업자는 전처리된 라벨 데이터를 수정해가면서 데이터 라벨링을 수행해야만 하는데, 이는 작업자가 전처리 엔진 없이 데이터 라벨링을 수행하는 것보다 오히려 더 많은 시간 소모를 초래할 수 있다. 따라서, 1회차 인공지능 모델의 성능이 상기 기 설정된 최소 요구 성능을 충족시키지 않을 경우, 프로세서(120)는 1회차 인공지능 모델을 전처리 엔진으로 지정하지 않는 것이 바람직하다.
한편, 프로세서(120)는 작업자 단말(10)로부터, 다수 개의 원천 데이터 중 n회차 원천 데이터 내의 객체에 대해 데이터 라벨링이 수행된 n회차 라벨 데이터를 수신할 수 있다(S400). 도 2에 의하면 프로세서(120)가 1회차 인공지능 모델을 생성한 이후에 작업자 단말(10)로부터 n(= 2)회차 라벨 데이터를 수신하는 것으로 도시되어 있으나, 프로세서(120)는 1회차 인공지능 모델을 생성하기 전이나 도중에, 작업자 단말(10)로부터 n(= 2)회차 라벨 데이터를 수신할 수 있음은 물론이다.
상술한 바와 같이 n은 S400 단계 내지 S500 단계의 반복 수행 횟수에 기초하여 2부터 오름차순으로 적용되는 자연수이며, S400 단계 내지 S500 단계가 수행되는 횟수가 1회인 경우 n은 2이다. 따라서, 프로세서(120)는 작업자 단말(10)로부터, 2회차 원천 데이터 100개 내의 객체에 대해 데이터 라벨링이 수행된 2회차 라벨 데이터를 수신할 수 있다(도 6의 '2회차 라벨 데이터 100개' 참고).
S400 단계 이후, 프로세서(120)는 상기 n회차 라벨 데이터 중 일부를 n회차 학습용 데이터로 분리하고, 상기 n회차 학습용 데이터를 통해 n-1회차 인공지능 모델을 추가 학습시켜, 원천 데이터 내의 객체에 대해 데이터 라벨링을 자동으로 수행하는 n회차 인공지능 모델을 생성할 수 있다(S500).
n이 2일 경우, 프로세서(120)는 총 100개의 2회차 라벨 데이터 중 80개를 2회차 학습용 데이터로 분리할 수 있다. 이후 프로세서(120)는 메모리(110)에 저장되어 있는 1회차 인공지능 모델을 로딩하고, 2회차 학습용 데이터 80개를 통해 상기 1회차 인공지능 모델을 추가 학습시켜, 원천 데이터 내의 객체에 대해 데이터 라벨링을 자동으로 수행하는 2회차 인공지능 모델을 생성할 수 있다(도 6의 '1회차 인공지능 모델' 및 '2회차 인공지능 모델' 참고). 즉, 프로세서(120)는 80개의 2회차 학습용 데이터를 활용하여 1회차 인공지능 모델을 업데이트할 수 있으며, 생성된 2회차 인공지능 모델을 메모리(110)에 저장할 수 있다.
또한, 프로세서(120)는 n회차 라벨 데이터 중 나머지를 n회차 검증용 데이터로 분리할 수 있다.
n이 2일 경우, 프로세서(120)는 총 100개의 2회차 라벨 데이터 중 나머지 20개를 2회차 검증용 데이터로 분리할 수 있다. 프로세서(120)는 2회차 라벨 데이터 중에서 학습용 데이터 및 검증용 데이터를 랜덤하게 선별 및 분리할 수 있다.
프로세서(120)가 n회차 인공지능 모델을 생성한 경우에는, 1회차 검증용 데이터 내지 n회차 검증용 데이터를 모두 활용하여, 1회차 인공지능 모델 내지 n회차 인공지능 모델의 성능을 각각 산출할 수 있다. 이는 1회차 검증용 데이터 내지 n회차 검증용 데이터가 1회차 인공지능 모델 내지 n회차 인공지능 모델 중 어느 인공지능 모델에서 최상의 성능을 나타내는지 알 수 없기 때문이다. 또한, 인공지능 모델에 대한 검증 시에는, 1회차 검증용 데이터 내지 n회차 검증용 데이터를 모두 활용하는 것이, 인공지능 모델의 성능을 정확도 높게 검증하는 데 있어서 바람직하다.
n이 2일 경우, 프로세서(120)는 총 220개의 검증용 데이터(즉, 1회차 검증용 데이터 200개와 2회차 검증용 데이터 20개)를 활용하여, 1회차 인공지능 모델과 2회차 인공지능 모델의 성능을 각각 산출할 수 있다. 여기에서도 인공지능 모델의 성능은 IoU, AP 등의 지표로 산출될 수 있다.
프로세서(120)는 1회차 인공지능 모델 내지 n회차 인공지능 모델의 성능을 각각 산출한 이후에, 1회차 인공지능 모델 내지 n회차 인공지능 모델 중에서 가장 높은 성능을 갖는 인공지능 모델을 선정할 수 있다. 여기서 선정된 인공지능 모델은 선정되지 않은 인공지능 모델에 비해 자동 데이터 라벨링을 더 빠르고 정확하게 수행할 수 있음을 의미하며, 이로 인해 작업자가 데이터 라벨링을 수행하는 효율성을 향상시킬 수 있게 된다. n이 2일 경우, 프로세서(120)는 1회차 인공지능 모델 및 2회차 인공지능 모델 중에서 더 높은 성능을 갖는 인공지능 모델을 선정할 수 있다.
프로세서(120)는 상기 선정된 인공지능 모델의 성능 검증을 위해 메모리(110)에 기 설정된 최소 요구 성능을 재차 로딩할 수 있다. 이후 프로세서(120)는 상기 선정된 인공지능 모델의 성능이 상기 기 설정된 최소 요구 성능을 충족시키는지 여부를 판단할 수 있다. 예를 들어, 메모리(110)에 기 설정된 최소 요구 성능이 'IoU 90 이상'인 경우, 프로세서(120)는 상기 선정된 인공지능 모델의 성능이 'IoU 90 이상'에 해당하는지 여부를 판단할 수 있다.
프로세서(120)가 판단한 결과, 상기 선정된 인공지능 모델의 성능이 상기 기 설정된 최소 요구 성능을 충족시킬 경우, 프로세서(120)는 상기 선정된 인공지능 모델을 전처리 엔진으로 지정할 수 있다(도 6의 '전처리 엔진 #2' 참고).
상기 선정된 인공지능 모델이 전처리 엔진으로 지정된 시점에서, 작업자는 작업자 단말(10)을 통해 원천 데이터(예를 들어, 3회차 원천 데이터) 내의 객체에 대해 데이터 라벨링을 수행하고 있을 수 있다. 이에 따라, 프로세서(120)는 상기 전처리 엔진 #2를 작업자 단말(10)로 송신함으로써, 작업자가 작업자 단말(10)로 데이터 라벨링을 수행할 때 상기 전처리 엔진 #2가 수행하는 자동 데이터 라벨링을 활용하도록 할 수 있다.
즉, 작업자 단말(10)로 송신되는 전처리 엔진 #2는 3회차 원천 데이터 100개 내의 객체에 대해 적어도 일부분의 데이터 라벨링을 자동으로 해줄 수 있으며, 이로 인해 3회차 원천 데이터 내의 객체에 대해 작업자가 데이터 라벨링을 수행하는 시간과 노력이 대폭 감소될 수 있게 된다. 여기서, 상기 전처리 엔진 #2가 3회차 원천 데이터 내의 객체에 대해 수행하는 자동 데이터 라벨링은, 상기 전처리 엔진 #1이 2회차 원천 데이터 내의 객체에 대해 수행하는 자동 데이터 라벨링에 비해 더 빠르고 정확할 수 있다.
이와 달리, 프로세서(120)가 판단한 결과, 상기 선정된 인공지능 모델의 성능이 상기 기 설정된 최소 요구 성능을 충족시키지 않을 경우, 프로세서(120)는 상기 선정된 인공지능 모델을 전처리 엔진으로 지정하지 않을 수 있다.
이는 상기 선정된 인공지능 모델의 성능이 상기 기 설정된 최소 요구 성능을 충족시키지 않으면, 상기 선정된 인공지능 모델을 전처리 엔진으로 활용하더라도, 그 전처리 엔진에서 전처리되는 데이터 라벨링의 정확도가 낮을 수밖에 없기 때문이다. 전처리 엔진에서 전처리되는 데이터 라벨링의 정확도가 낮으면, 작업자는 전처리된 라벨 데이터를 수정해가면서 데이터 라벨링을 수행해야만 하는데, 이는 작업자가 전처리 엔진 없이 데이터 라벨링을 수행하는 것보다 오히려 더 많은 시간 소모를 초래할 수 있다. 따라서, 상기 선정된 인공지능 모델의 성능이 상기 기 설정된 최소 요구 성능을 충족시키지 않을 경우, 프로세서(120)는 상기 선정된 인공지능 모델을 전처리 엔진으로 지정하지 않는 것이 바람직하다.
S500 단계 이후, 프로세서(120)는 자동 학습 기반의 데이터 라벨링 방법이 메모리(110)에 기 설정된 종료 조건을 만족하는지 여부를 판단하고, 상기 기 설정된 종료 조건을 만족할 때까지, 상기 S400 단계 내지 상기 S500 단계를 반복 수행할 수 있다(S600).
예를 들어, 상기 기 설정된 종료 조건은, 프로세서(120)가 작업자 단말(10)로 송신한 원천 데이터의 마지막 회차에 대한 라벨 데이터를 수신하고, 상기 마지막 회차에 대한 라벨 데이터의 학습용 데이터를 통해 인공지능 모델을 학습시켰는지 여부가 이에 해당될 수 있다. 또는, 상기 기 설정된 종료 조건은 S500 단계에서 생성한 n회차 인공지능 모델의 성능이 메모리(110)에 기 설정된 특정 요구 성능 이상을 나타내었는지 여부가 이에 해당될 수 있다. 다만, 상기 기 설정된 종료 조건은 이것만으로 한정되는 것은 아니며, 그 외 다양한 종료 조건이 메모리(110)에 기 설정되어 있을 수 있다.
프로세서(120)가 판단한 결과, 자동 학습 기반의 데이터 라벨링 방법이 상기 기 설정된 종료 조건을 만족한 경우, 프로세서(120)는 절차를 종료시킬 수 있다.
이에 반해, 프로세서(120)가 판단한 결과, 자동 학습 기반의 데이터 라벨링 방법이 상기 기 설정된 종료 조건을 만족하지 않은 경우, 프로세서(120)는 상기 S400 단계 내지 상기 S500 단계를 반복 수행할 수 있다.
프로세서(120)가 상기 S400 단계 내지 상기 S500 단계를 재차 수행할 경우, 프로세서(120)는 작업자 단말(10)로부터, 다수 개의 원천 데이터 중 3회차 원천 데이터 내의 객체에 대해 데이터 라벨링이 수행된 3회차 라벨 데이터를 수신할 수 있다(도 6의 '3회차 라벨 데이터 100개' 참고). 도 2에 의하면, 프로세서(120)가 n(= 2)회차 인공지능 모델을 생성한 이후에 작업자 단말(10)로부터 n(= 3)회차 라벨 데이터를 수신하는 것으로 도시되어 있으나, 프로세서(120)는 2회차 인공지능 모델을 생성하기 전이나 도중에 작업자 단말(10)로부터 3회차 라벨 데이터를 수신할 수 있음은 물론이다.
이후 프로세서(120)는 총 100개의 3회차 라벨 데이터 중 80개를 3회차 학습용 데이터로 분리하고, 메모리(110)에 저장되어 있는 2회차 인공지능 모델을 로딩할 수 있다. 그리고 프로세서(120)는 3회차 학습용 데이터 80개를 통해 2회차 인공지능 모델을 추가 학습시켜, 원천 데이터 내의 객체에 대해 데이터 라벨링을 자동으로 수행하는 3회차 인공지능 모델을 생성할 수 있다(도 6의 '2회차 인공지능 모델' 및 '3회차 인공지능 모델' 참고). 즉, 프로세서(120)는 80개의 3회차 학습용 데이터를 활용하여 2회차 인공지능 모델을 업데이트할 수 있으며, 생성된 3회차 인공지능 모델을 메모리(110)에 저장할 수 있다.
또한, 프로세서(120)는 총 100개의 3회차 라벨 데이터 중 나머지 20개를 3회차 검증용 데이터로 분리할 수 있다. 프로세서(120)는 3회차 라벨 데이터 중에서 학습용 데이터 및 검증용 데이터를 랜덤하게 선별 및 분리할 수 있다.
프로세서(120)가 3회차 인공지능 모델을 생성한 경우에는, 1회차 검증용 데이터 내지 3회차 검증용 데이터를 모두 활용하여, 1회차 인공지능 모델 내지 3회차 인공지능 모델의 성능을 각각 산출할 수 있다. 즉, 프로세서(120)는 총 240개의 검증용 데이터(즉, 1회차 검증용 데이터 200개, 2회차 검증용 데이터 20개 및 3회차 검증용 데이터 20개)를 활용하여, 1회차 인공지능 모델, 2회차 인공지능 모델 및 3회차 인공지능 모델의 성능을 각각 산출할 수 있다. 여기에서도 인공지능 모델의 성능은 IoU, AP 등의 지표로 산출될 수 있다.
프로세서(120)는 1회차 인공지능 모델 내지 3회차 인공지능 모델의 성능을 각각 산출한 이후에, 1회차 인공지능 모델 내지 3회차 인공지능 모델 중에서 가장 높은 성능을 갖는 인공지능 모델을 선정할 수 있다.
프로세서(120)가 선정한 인공지능 모델이 예를 들어 3회차 인공지능 모델인 경우, 프로세서(120)는 상기 선정된 3회차 인공지능 모델의 성능 검증을 위해 메모리(110)에 기 설정된 최소 요구 성능을 재차 로딩하여, 상기 선정된 3회차 인공지능 모델의 성능이 상기 기 설정된 최소 요구 성능을 충족시키는지 여부를 판단할 수 있다. 예를 들어, 메모리(110)에 기 설정된 최소 요구 성능이 'IoU 90 이상'인 경우, 프로세서(120)는 상기 선정된 3회차 인공지능 모델의 성능이 'IoU 90 이상'에 해당하는지 여부를 판단할 수 있다.
프로세서(120)가 판단한 결과, 상기 선정된 3회차 인공지능 모델의 성능이 상기 기 설정된 최소 요구 성능을 충족시킬 경우, 프로세서(120)는 상기 선정된 3회차 인공지능 모델을 전처리 엔진으로 지정할 수 있다(도 6의 '전처리 엔진 #3' 참고).
상기 선정된 3회차 인공지능 모델이 전처리 엔진으로 지정된 시점에서, 작업자는 작업자 단말(10)을 통해 원천 데이터(예를 들어, 4회차 원천 데이터) 내의 객체에 대해 데이터 라벨링을 수행하고 있을 수 있다. 이에 따라, 프로세서(120)는 상기 전처리 엔진 #3을 작업자 단말(10)로 송신함으로써, 작업자가 작업자 단말(10)로 데이터 라벨링을 수행할 때 상기 전처리 엔진 #3이 수행하는 자동 데이터 라벨링을 활용하도록 할 수 있다.
즉, 작업자 단말(10)로 송신되는 전처리 엔진 #3은 4회차 원천 데이터 100개 내의 객체에 대해 적어도 일부분의 데이터 라벨링을 자동으로 해줄 수 있으며, 이로 인해 4회차 원천 데이터 내의 객체에 대해 작업자가 데이터 라벨링을 수행하는 시간과 노력이 대폭 감소될 수 있게 된다. 여기서, 상기 전처리 엔진 #3이 4회차 원천 데이터 내의 객체에 대해 수행하는 자동 데이터 라벨링은, 상기 전처리 엔진 #2가 3회차 원천 데이터 내의 객체에 대해 수행하는 자동 데이터 라벨링에 비해 더 빠르고 정확할 수 있다.
이와 달리, 프로세서(120)가 판단한 결과, 상기 선정된 3회차 인공지능 모델의 성능이 상기 기 설정된 최소 요구 성능을 충족시키지 않을 경우, 프로세서(120)는 상기 선정된 3회차 인공지능 모델을 전처리 엔진으로 지정하지 않을 수 있다. 상술한 바와 같이, 상기 선정된 3회차 인공지능 모델의 성능이 상기 기 설정된 최소 요구 성능을 충족시키지 않으면, 상기 선정된 3회차 인공지능 모델을 전처리 엔진으로 활용하더라도, 그 전처리 엔진에서 전처리되는 데이터 라벨링의 정확도가 낮을 수밖에 없기 때문이다.
이후 프로세서(120)는 자동 학습 기반의 데이터 라벨링 방법이 메모리(110)에 기 설정된 종료 조건을 만족하는지 여부를 재차 판단하게 된다.
프로세서(120)가 판단한 결과, 자동 학습 기반의 데이터 라벨링 방법이 상기 기 설정된 종료 조건을 만족한 경우, 프로세서(120)는 절차를 종료시킬 수 있다. 이에 반해, 자동 학습 기반의 데이터 라벨링 방법이 상기 기 설정된 종료 조건을 만족하지 않은 경우, 프로세서(120)는 상기 S400 단계 내지 상기 S500 단계를 재차 수행할 수 있다.
한편, 도 7은 본 발명의 제2 실시예에 따른 자동 학습 기반의 데이터 라벨링 방법에 관한 흐름도이다. 본 발명의 제2 실시예는 본 발명의 제1 실시예와 비교해서, 1회차 학습용 데이터를 통해 인공신경망 대신 사전 인공지능 모델을 학습시킨다는 점에서 차이가 있다. 여기서, 사전 인공지능 모델은 인공신경망이 라벨 데이터에 의해 학습됨에 따라 생성되는 모델이자, 원천 데이터 내의 객체에 대해 데이터 라벨링을 자동으로 수행하도록 라벨 데이터에 의해 미리 학습된 인공지능 모델을 의미한다. 예를 들어, 사전 인공지능 모델은 Faster R-CNN, Mask R-CNN, SSD(SingleShot Detector) 또는 YOLO 등과 같은 인공신경망이 라벨 데이터에 의해 미리 학습된 인공지능 모델을 의미할 수 있다.
본 발명의 제2 실시예는 이와 같은 사전 인공지능 모델이 이미 구축되어 있는 경우에 이루어지는 자동 학습 기반의 데이터 라벨링 방법에 관한 것으로서, 앞선 설명과 정면으로 배치되는 것이 아닌 한, 제1 실시예에 관해 상술한 사항은 제2 실시예에서도 동일하게 적용될 수 있다.
본 발명의 제2 실시예에 따른 자동 학습 기반의 데이터 라벨링 방법에 의하면, 맨 먼저 프로세서(120)가 다수 개의 원천 데이터를 하나 이상의 작업자 단말(10)로 송신하는 단계가 이루어질 수 있다(S100').
도 3에 관해 상술한 바와 같이, 프로세서(120)는 메모리(110)에 저장되어 있는 수많은 원천 데이터 중에서, 작업자 단말(10)에 의해 데이터 라벨링이 수행되어야 할 원천 데이터를 선별하고, 상기 선별된 원천 데이터를 작업자 단말(10)로 송신할 수 있다. 이때 프로세서(120)는 하나 이상의 작업자 단말(10)로 다수 개의 원천 데이터를 회차를 구분하여 송신할 수 있다.
프로세서(120)가 하나 이상의 작업자 단말(10)로 다수 개의 원천 데이터를 회차를 구분하여 송신할 경우, 프로세서(120)는 메모리(110)에 저장되어 있는 원천 데이터 중에서, 작업자 단말(10)에 의해 데이터 라벨링이 수행되어야 할 100개의 원천 데이터를 1회차 원천 데이터로 구분하여 작업자 단말(10)로 송신할 수 있다. 작업자 단말(10-1, 10-2, 10-3, 10-4)의 수가 4개인 경우, 프로세서(120)는 작업자 단말(10-1, 10-2, 10-3, 10-4) 각각으로 25개씩의 원천 데이터를 1회차 원천 데이터로 하여 송신할 수 있다. 본 발명의 제1 실시예에서는 인공신경망을 학습시키기 위해서 비교적 많은 수의 라벨 데이터가 요구되었으나, 본 발명의 제2 실시예에서는 사전 인공지능 모델이 이미 구축되어 있기 때문에, 인공신경망을 학습시키기 위해 요구되는 라벨 데이터의 양보다 적은 라벨 데이터만을 가지고도 사전 인공지능 모델의 학습 및 업데이트가 가능하다.
또한, 프로세서(120)는 메모리(110)에 저장되어 있는 원천 데이터 중에서, 상기 1회차 원천 데이터 이외의 원천 데이터를 m회차 원천 데이터로 구분하고, 각 회차별로 서로 다른 100개의 원천 데이터를 작업자 단말(10)로 송신할 수 있다. 즉, 프로세서(120)는 메모리(110)에 저장되어 있는 원천 데이터 중에서, 상기 1회차 원천 데이터와 겹치지 않도록 100개의 원천 데이터를 선별하고, 상기 선별된 100개의 원천 데이터를 2회차 원천 데이터로 구분하여 작업자 단말(10)로 송신할 수 있다. 또한, 프로세서(120)는 메모리(110)에 저장되어 있는 원천 데이터 중에서, 상기 1회차 및 2회차 원천 데이터와 겹치지 않도록 100개의 원천 데이터를 선별하고, 상기 선별된 100개의 원천 데이터를 3회차 원천 데이터로 구분하여 작업자 단말(10)로 송신할 수 있다.
이와 같은 방식으로 프로세서(120)는 작업자 단말(10)로 m회차 원천 데이터를 송신할 수 있다. 상기 m은 후술하는 S400' 단계 내지 S500' 단계가 수행되는 횟수에 기초하여 2부터 오름차순으로 적용되는 자연수이다. 즉, S400' 단계 내지 S500' 단계의 수행 횟수가 1회인 경우 m은 2이고, S400' 단계 내지 S500' 단계의 수행 횟수가 2회인 경우 m은 3이며, S400' 단계 내지 S500' 단계의 수행 횟수가 3회인 경우 m은 4이다. 프로세서(120)는 작업자 단말(10-1, 10-2, 10-3, 10-4) 각각으로 25개씩의 원천 데이터를 m회차 원천 데이터로서 송신할 수 있다.
프로세서(120)는 작업자 단말(10)로 원천 데이터를 송신하기에 앞서, 프로세서(120)에 기 설정된 유사도 판단 기준에 따라 작업자 단말(10)로 송신할 원천 데이터 간 유사도를 판단할 수 있다. 여기서, 원천 데이터 간 유사도는 원천 데이터가 획득된 시간, 원천 데이터가 획득된 장소, 원천 데이터 내 객체의 수, 원천 데이터 내 객체의 종류, 및 원천 데이터 내 객체의 밀집 정도 중 적어도 하나에 기초하여 판단될 수 있다. 프로세서(120)가 원천 데이터 간 유사도를 판단하는 구체적인 예시는 본 발명의 제1 실시예에서 설명한 바와 동일하다.
프로세서(120)는 원천 데이터 간 유사도에 따라 다수 개의 원천 데이터를 회차를 구분하여 하나 이상의 작업자 단말(10)로 송신할 수 있다.
이때 프로세서(120)는 작업자 단말(10-1, 10-2, 10-3, 10-4) 각각으로 송신하는 1회차 원천 데이터(또는, m회차 원천 데이터)에 비교적 높은 유사도를 갖는 원천 데이터가 포함되도록 할 수 있다. 예를 들어, 프로세서(120)가 작업자 단말(10-1)로 송신하는 1회차 원천 데이터(또는, m회차 원천 데이터)에 포함된 25개의 원천 데이터 간 유사도는 비교적 높을 수 있고, 프로세서(120)가 작업자 단말(10-2)로 송신하는 1회차 원천 데이터(또는, m회차 원천 데이터)에 포함된 25개의 원천 데이터 간 유사도 또한 비교적 높을 수 있다. 다만, 프로세서(120)가 어느 하나의 작업자 단말(10-1)로 송신하는 1회차 원천 데이터(또는, m회차 원천 데이터)에 포함된 원천 데이터와, 다른 작업자 단말(10-2)로 송신하는 1회차 원천 데이터(또는, m회차 원천 데이터)에 포함된 원천 데이터 간의 유사도는 높을 수도 있고 낮을 수도 있다.
프로세서(120)가 작업자 단말(10-1, 10-2, 10-3, 10-4) 각각으로 송신하는 1회차 원천 데이터(또는, m회차 원천 데이터)에 상호 간 높은 유사도를 갖는 원천 데이터를 포함시키는 이유는, 각 작업자별로 유사도가 높은 원천 데이터를 가지고 데이터 라벨링을 수행하도록 함으로써, 작업자의 데이터 라벨링 효율성을 향상시키고, 그로 인해 데이터 라벨링에 관한 프로젝트를 신속하게 마치도록 하기 위함이다.
비록 위에서는 프로세서(120)가 하나 이상의 작업자 단말(10)로 다수 개의 원천 데이터를 회차를 구분하여 송신하는 예에 대해 설명하였으나, 프로세서(120)는 하나 이상의 작업자 단말(10)로 다수 개의 원천 데이터를 회차를 구분하지 않고 송신할 수도 있다. 이 경우 프로세서(120)가 하나 이상의 작업자 단말(10)로부터 학습 주기에 해당하는 수 만큼의 라벨 데이터(예를 들어, 100개씩의 라벨 데이터)를 수신하면, 그 라벨 데이터를 1회차 라벨 데이터 및 m(= 2, 3, 4, …)회차 라벨 데이터로 하여 인공지능 모델의 학습에 활용할 수 있다.
도 8은 본 발명의 제2 실시예에 따른 자동 학습 기반의 데이터 라벨링 방법에 따라, 인공지능 모델이 학습용 데이터를 통해 학습되는 모습, 인공지능 모델이 검증용 데이터를 통해 검증되는 모습, 및 전처리 엔진이 작업자 단말로 송신되는 모습을 시간 순서대로 나타낸 도면이다. 이하에서는 도 8을 더 참고하여 본 발명의 제2 실시예에 따른 자동 학습 기반의 데이터 라벨링 방법에 대해 설명하기로 한다.
S100' 단계 이후, 프로세서(120)는 작업자 단말(10)로부터, 다수 개의 원천 데이터 중 1회차 원천 데이터 내의 객체에 대해 데이터 라벨링이 수행된 1회차 라벨 데이터를 수신한다(S200'). 위의 예시에 의하면, 프로세서(120)는 작업자 단말(10)로부터 총 100개의 1회차 라벨 데이터를 수신할 수 있다(도 8의 '1회차 라벨 데이터 100개' 참고).
S200' 단계 이후, 프로세서(120)는 1회차 라벨 데이터 중 일부를 1회차 학습용 데이터로 분리하고, 원천 데이터 내의 객체에 대해 데이터 라벨링을 자동으로 수행하도록 미리 학습된 사전 인공지능 모델을 상기 1회차 학습용 데이터를 통해 추가 학습시켜, 원천 데이터 내의 객체에 대해 데이터 라벨링을 자동으로 수행하는 1회차 인공지능 모델을 생성한다(S300').
구체적으로, 프로세서(120)는 총 100개의 1회차 라벨 데이터 중 80개를 1회차 학습용 데이터로 분리하고, 1회차 라벨 데이터 중 나머지 20개를 1회차 검증용 데이터로 분리할 수 있다. 이때 프로세서(120)는 1회차 라벨 데이터 중에서 학습용 데이터 및 검증용 데이터를 랜덤하게 선별 및 분리할 수 있다.
이후 프로세서(120)는 메모리(110)에 저장되어 있는 사전 인공지능 모델을 로딩하고, 1회차 학습용 데이터 80개를 통해 상기 사전 인공지능 모델을 추가 학습시켜, 원천 데이터 내의 객체에 대해 데이터 라벨링을 자동으로 수행하는 1회차 인공지능 모델을 생성할 수 있다(도 8의 '사전 인공지능 모델' 및 '1회차 인공지능 모델' 참고). 즉, 프로세서(120)는 80개의 1회차 학습용 데이터를 활용하여 사전 인공지능 모델을 업데이트할 수 있으며, 생성된 1회차 인공지능 모델을 메모리(110)에 저장할 수 있다.
1회차 인공지능 모델을 생성한 프로세서(120)는 1회차 검증용 데이터 20개를 활용하여, 사전 인공지능 모델 및 1회차 인공지능 모델의 성능을 각각 산출할 수 있다. 구체적으로, 프로세서(120)는 1회차 검증용 데이터의 원천 데이터(즉, 1회차 검증용 데이터에 대해 데이터 라벨링이 수행되지 않은 원천 데이터) 20개를 사전 인공지능 모델 및 1회차 인공지능 모델에 각각 입력하고, 사전 인공지능 모델 및 1회차 인공지능 모델이 각각 출력하는 데이터 20개를 1회차 검증용 데이터 20개와 비교하여, 사전 인공지능 모델 및 1회차 인공지능 모델의 성능을 각각 산출할 수 있다. 여기에서도 인공지능 모델의 성능은 IoU, AP 등의 지표로 산출될 수 있다.
프로세서(120)는 사전 인공지능 모델 및 1회차 인공지능 모델 중에서 더 높은 성능을 갖는 인공지능 모델을 선정할 수 있다. 여기서 선정된 인공지능 모델은 선정되지 않은 인공지능 모델에 비해 자동 데이터 라벨링을 더 빠르고 정확하게 수행할 수 있음을 의미하며, 이로 인해 작업자가 데이터 라벨링을 수행하는 효율성을 향상시킬 수 있게 된다.
프로세서(120)는 상기 선정된 인공지능 모델의 성능 검증을 위해 메모리(110)에 기 설정된 최소 요구 성능을 로딩할 수 있다. 이후 프로세서(120)는 상기 선정된 인공지능 모델의 성능이 상기 기 설정된 최소 요구 성능을 충족시키는지 여부를 판단할 수 있다. 예를 들어, 메모리(110)에 저장되어 있는 최소 요구 성능이 'IoU 90 이상'인 경우, 프로세서(120)는 상기 선정된 인공지능 모델의 성능이 'IoU 90 이상'에 해당하는지 여부를 판단할 수 있다.
프로세서(120)가 판단한 결과, 상기 선정된 인공지능 모델의 성능이 상기 기 설정된 최소 요구 성능을 충족시킬 경우, 프로세서(120)는 상기 선정된 인공지능 모델을 전처리 엔진으로 지정할 수 있다(도 8의 '전처리 엔진 #1' 참고).
상기 선정된 인공지능 모델이 전처리 엔진으로 지정된 시점에서, 작업자는 작업자 단말(10)을 통해 원천 데이터(예를 들어, 2회차 원천 데이터) 내의 객체에 대해 데이터 라벨링을 수행하고 있을 수 있다. 이에 따라, 프로세서(120)는 상기 전처리 엔진 #1을 작업자 단말(10)로 송신함으로써, 작업자가 작업자 단말(10)로 데이터 라벨링을 수행할 때 상기 전처리 엔진 #1이 수행하는 자동 데이터 라벨링을 활용하도록 할 수 있다.
즉, 작업자 단말(10)로 송신되는 전처리 엔진 #1은 2회차 원천 데이터 100개 내의 객체에 대해 적어도 일부분의 데이터 라벨링을 자동으로 해줄 수 있으며, 이로 인해 2회차 원천 데이터 내의 객체에 대해 작업자가 데이터 라벨링을 수행하는 시간과 노력이 감소될 수 있게 된다. 만일 1회차 인공지능 모델이 전처리 엔진 #1로서 선정된 경우, 1회차 인공지능 모델이 2회차 원천 데이터 내의 객체에 대해 수행하는 자동 데이터 라벨링은, 사전 인공지능 모델이 2회차 원천 데이터 내의 객체에 대해 수행하는 자동 데이터 라벨링에 비해 더 빠르고 정확할 수 있다.
이와 달리, 프로세서(120)가 판단한 결과, 상기 선정된 인공지능 모델의 성능이 상기 기 설정된 최소 요구 성능을 충족시키지 않을 경우, 프로세서(120)는 상기 선정된 인공지능 모델을 전처리 엔진으로 지정하지 않을 수 있다. 이는 상기 선정된 인공지능 모델의 성능이 상기 기 설정된 최소 요구 성능을 충족시키지 않으면, 상기 선정된 인공지능 모델을 전처리 엔진으로 활용하더라도, 그 전처리 엔진에서 전처리되는 데이터 라벨링의 정확도가 낮을 수밖에 없기 때문이다.
한편, 프로세서(120)는 S300' 단계에서 생성한 1회차 인공지능 모델의 업데이트를 위해, 작업자 단말(10)로부터, 다수 개의 원천 데이터 중 m회차 원천 데이터 내의 객체에 대해 데이터 라벨링이 수행된 m회차 라벨 데이터를 수신할 수 있다(S400'). 도 7에 의하면, 프로세서(120)가 1회차 인공지능 모델을 생성한 이후에 작업자 단말(10)로부터 m(= 2)회차 라벨 데이터를 수신하는 것으로 도시되어 있으나, 프로세서(120)는 1회차 인공지능 모델을 생성하기 전이나 도중에, 작업자 단말(10)로부터 m회차 라벨 데이터를 수신할 수 있음은 물론이다.
상술한 바와 같이 m은 S400' 단계 내지 S500' 단계의 반복 수행 횟수에 기초하여 2부터 오름차순으로 적용되는 자연수이며, S400' 단계 내지 S500' 단계가 수행되는 횟수가 1회인 경우 m은 2이다. 따라서, 프로세서(120)는 작업자 단말(10)로부터, 2회차 원천 데이터 100개 내의 객체에 대해 데이터 라벨링이 수행된 2회차 라벨 데이터를 수신할 수 있다(도 8의 '2회차 라벨 데이터 100개' 참고).
S400' 단계 이후, 프로세서(120)는 상기 m회차 라벨 데이터 중 일부를 m회차 학습용 데이터로 분리하고, 상기 m회차 학습용 데이터를 통해 m-1회차 인공지능 모델을 추가 학습시켜, 원천 데이터 내의 객체에 대해 데이터 라벨링을 자동으로 수행하는 m회차 인공지능 모델을 생성할 수 있다(S500').
m이 2일 경우, 프로세서(120)는 총 100개의 2회차 라벨 데이터 중 80개를 2회차 학습용 데이터로 분리할 수 있다. 이후 프로세서(120)는 메모리(110)에 저장되어 있는 1회차 인공지능 모델을 로딩하고, 2회차 학습용 데이터 80개를 통해 상기 1회차 인공지능 모델을 추가 학습시켜, 원천 데이터 내의 객체에 대해 데이터 라벨링을 자동으로 수행하는 2회차 인공지능 모델을 생성할 수 있다(도 8의 '1회차 인공지능 모델' 및 '2회차 인공지능 모델' 참고). 즉, 프로세서(120)는 80개의 2회차 학습용 데이터를 활용하여 1회차 인공지능 모델을 업데이트할 수 있으며, 생성된 2회차 인공지능 모델을 메모리(110)에 저장할 수 있다.
또한, 프로세서(120)는 m회차 라벨 데이터 중 나머지를 m회차 검증용 데이터로 분리할 수 있다.
m이 2일 경우, 프로세서(120)는 총 100개의 2회차 라벨 데이터 중 나머지 20개를 2회차 검증용 데이터로 분리할 수 있다. 프로세서(120)는 2회차 라벨 데이터 중에서 학습용 데이터 및 검증용 데이터를 랜덤하게 선별 및 분리할 수 있다.
프로세서(120)가 m회차 인공지능 모델을 생성한 경우에는, 1회차 검증용 데이터 내지 m회차 검증용 데이터를 모두 활용하여, 사전 인공지능 모델과, 1회차 인공지능 모델 내지 m회차 인공지능 모델의 성능을 각각 산출할 수 있다. 이는 1회차 검증용 데이터 내지 m회차 검증용 데이터가 사전 인공지능 모델과, 1회차 인공지능 모델 내지 m회차 인공지능 모델 중 어느 인공지능 모델에서 최상의 성능을 나타내는지 알 수 없기 때문이다. 또한, 인공지능 모델에 대한 검증 시에는, 1회차 검증용 데이터 내지 m회차 검증용 데이터를 모두 활용하는 것이, 인공지능 모델의 성능을 정확도 높게 검증하는 데 있어서 바람직하다.
m이 2일 경우, 프로세서(120)는 총 40개의 검증용 데이터(즉, 1회차 검증용 데이터 20개와 2회차 검증용 데이터 20개)를 활용하여, 사전 인공지능 모델, 1회차 인공지능 모델 및 2회차 인공지능 모델의 성능을 각각 산출할 수 있다. 여기에서도 인공지능 모델의 성능은 IoU, AP 등의 지표로 산출될 수 있다.
프로세서(120)는 사전 인공지능 모델과, 1회차 인공지능 모델 내지 m회차 인공지능 모델의 성능을 각각 산출한 이후에, 사전 인공지능 모델과, 1회차 인공지능 모델 내지 m회차 인공지능 모델 중에서 가장 높은 성능을 갖는 인공지능 모델을 선정할 수 있다. 여기서 선정된 인공지능 모델은 선정되지 않은 인공지능 모델에 비해 자동 데이터 라벨링을 더 빠르고 정확하게 수행할 수 있으며, 이로 인해 작업자가 데이터 라벨링을 수행하는 효율성을 향상시킬 수 있게 된다. m이 2일 경우, 프로세서(120)는 사전 인공지능 모델, 1회차 인공지능 모델 및 2회차 인공지능 모델 중에서 가장 높은 성능을 갖는 인공지능 모델을 선정할 수 있다.
프로세서(120)는 상기 선정된 인공지능 모델의 성능 검증을 위해 메모리(110)에 기 설정된 최소 요구 성능을 재차 로딩할 수 있다. 이후 프로세서(120)는 상기 선정된 인공지능 모델의 성능이 상기 기 설정된 최소 요구 성능을 충족시키는지 여부를 판단할 수 있다. 예를 들어, 메모리(110)에 저장되어 있는 최소 요구 성능이 'IoU 90 이상'인 경우, 프로세서(120)는 상기 선정된 인공지능 모델의 성능이 'IoU 90 이상'에 해당하는지 여부를 판단할 수 있다.
프로세서(120)가 판단한 결과, 상기 선정된 인공지능 모델의 성능이 상기 기 설정된 최소 요구 성능을 충족시킬 경우, 프로세서(120)는 상기 선정된 인공지능 모델을 전처리 엔진으로 지정할 수 있다(도 8의 '전처리 엔진 #2' 참고).
상기 선정된 인공지능 모델이 전처리 엔진으로 지정된 시점에서, 작업자는 작업자 단말(10)을 통해 원천 데이터(예를 들어, 3회차 원천 데이터) 내의 객체에 대해 데이터 라벨링을 수행하고 있을 수 있다. 이에 따라, 프로세서(120)는 상기 전처리 엔진 #2를 작업자 단말(10)로 송신함으로써, 작업자가 작업자 단말(10)로 데이터 라벨링을 수행할 때 상기 전처리 엔진 #2가 수행하는 자동 데이터 라벨링을 활용하도록 할 수 있다.
즉, 작업자 단말(10)로 송신되는 전처리 엔진 #2는 3회차 원천 데이터 100개 내의 객체에 대해 적어도 일부분의 데이터 라벨링을 자동으로 해줄 수 있으며, 이로 인해 3회차 원천 데이터 내의 객체에 대해 작업자가 데이터 라벨링을 수행하는 시간과 노력이 대폭 감소될 수 있게 된다. 여기서, 상기 전처리 엔진 #2가 3회차 원천 데이터 내의 객체에 대해 수행하는 자동 데이터 라벨링은, 상기 전처리 엔진 #1이 2회차 원천 데이터 내의 객체에 대해 수행하는 자동 데이터 라벨링에 비해 더 빠르고 정확할 수 있다.
이와 달리, 프로세서(120)가 판단한 결과, 상기 선정된 인공지능 모델의 성능이 상기 기 설정된 최소 요구 성능을 충족시키지 않을 경우, 프로세서(120)는 상기 선정된 인공지능 모델을 전처리 엔진으로 지정하지 않을 수 있다. 이는 상기 선정된 인공지능 모델의 성능이 상기 기 설정된 최소 요구 성능을 충족시키지 않으면, 상기 선정된 인공지능 모델을 전처리 엔진으로 활용하더라도, 그 전처리 엔진에서 전처리되는 데이터 라벨링의 정확도가 낮을 수밖에 없기 때문이다.
S500' 단계 이후, 프로세서(120)는 자동 학습 기반의 데이터 라벨링 방법이 메모리(110)에 기 설정된 종료 조건을 만족하는지 여부를 판단하고, 상기 기 설정된 종료 조건을 만족할 때까지, 상기 S400' 단계 내지 상기 S500' 단계를 반복 수행할 수 있다(S600').
상술한 바와 같이, 상기 기 설정된 종료 조건은, 프로세서(120)가 작업자 단말(10)로 송신한 원천 데이터의 마지막 회차에 대한 라벨 데이터를 수신하고, 상기 마지막 회차에 대한 라벨 데이터의 학습용 데이터를 통해 인공지능 모델을 학습시켰는지 여부가 이에 해당될 수 있다. 또는, 상기 기 설정된 종료 조건은 S500 단계에서 생성한 n회차 인공지능 모델의 성능이 메모리(110)에 기 설정된 특정 요구 성능 이상을 나타내었는지 여부가 이에 해당될 수 있다. 다만, 상기 기 설정된 종료 조건은 이것만으로 한정되는 것은 아니며, 그 외 다양한 종료 조건이 메모리(110)에 기 설정되어 있을 수 있다.
프로세서(120)가 판단한 결과, 자동 학습 기반의 데이터 라벨링 방법이 상기 기 설정된 종료 조건을 만족한 경우, 프로세서(120)는 절차를 종료시킬 수 있다.
이에 반해, 프로세서(120)가 판단한 결과, 자동 학습 기반의 데이터 라벨링 방법이 상기 기 설정된 종료 조건을 만족하지 않은 경우, 프로세서(120)는 상기 S400' 단계 내지 상기 S500' 단계를 반복 수행할 수 있다.
프로세서(120)가 상기 S400' 단계 내지 상기 S500' 단계를 재차 수행할 경우, 프로세서(120)는 작업자 단말(10)로부터, 다수 개의 원천 데이터 중 3회차 원천 데이터 내의 객체에 대해 데이터 라벨링이 수행된 3회차 라벨 데이터를 수신할 수 있다(도 8의 '3회차 라벨 데이터 100개' 참고). 도 7에 의하면, 프로세서(120)가 m(= 2)회차 인공지능 모델을 생성한 이후에 작업자 단말(10)로부터 n(= 3)회차 라벨 데이터를 수신하는 것으로 도시되어 있으나, 프로세서(120)는 2회차 인공지능 모델을 생성하기 전이나 도중에 작업자 단말(10)로부터 3회차 라벨 데이터를 수신할 수 있음은 물론이다.
이후 프로세서(120)는 총 100개의 3회차 라벨 데이터 중 80개를 3회차 학습용 데이터로 분리하고, 메모리(110)에 저장되어 있는 2회차 인공지능 모델을 로딩할 수 있다. 그리고 프로세서(120)는 3회차 학습용 데이터 80개를 통해 2회차 인공지능 모델을 추가 학습시켜, 원천 데이터 내의 객체에 대해 데이터 라벨링을 자동으로 수행하는 3회차 인공지능 모델을 생성할 수 있다(도 8의 '2회차 인공지능 모델' 및 '3회차 인공지능 모델' 참고). 즉, 프로세서(120)는 80개의 3회차 학습용 데이터를 활용하여 2회차 인공지능 모델을 업데이트할 수 있으며, 생성된 3회차 인공지능 모델을 메모리(110)에 저장할 수 있다.
또한, 프로세서(120)는 총 100개의 3회차 라벨 데이터 중 나머지 20개를 3회차 검증용 데이터로 분리할 수 있다. 프로세서(120)는 3회차 라벨 데이터 중에서 학습용 데이터 및 검증용 데이터를 랜덤하게 선별 및 분리할 수 있다.
프로세서(120)가 3회차 인공지능 모델을 생성한 경우에는, 1회차 검증용 데이터 내지 3회차 검증용 데이터를 모두 활용하여, 사전 인공지능 모델과, 1회차 인공지능 모델 내지 3회차 인공지능 모델의 성능을 각각 산출할 수 있다. 즉, 프로세서(120)는 총 60개의 검증용 데이터(즉, 1회차 검증용 데이터 20개, 2회차 검증용 데이터 20개 및 3회차 검증용 데이터 20개)를 활용하여, 사전 인공지능 모델, 1회차 인공지능 모델, 2회차 인공지능 모델 및 3회차 인공지능 모델의 성능을 각각 산출할 수 있다. 여기에서도 인공지능 모델의 성능은 IoU, AP 등의 지표로 산출될 수 있다.
프로세서(120)는 사전 인공지능 모델과, 1회차 인공지능 모델 내지 3회차 인공지능 모델의 성능을 각각 산출한 이후에, 사전 인공지능 모델과, 1회차 인공지능 모델 내지 3회차 인공지능 모델 중에서 가장 높은 성능을 갖는 인공지능 모델을 선정할 수 있다.
프로세서(120)가 선정한 인공지능 모델이 예를 들어 3회차 인공지능 모델인 경우, 프로세서(120)는 상기 선정된 3회차 인공지능 모델의 성능 검증을 위해 메모리(110)에 기 설정된 최소 요구 성능을 재차 로딩하여, 상기 선정된 3회차 인공지능 모델의 성능이 상기 기 설정된 최소 요구 성능을 충족시키는지 여부를 판단할 수 있다. 예를 들어, 메모리(110)에 기 설정된 최소 요구 성능이 'IoU 90 이상'인 경우, 프로세서(120)는 상기 선정된 3회차 인공지능 모델의 성능이 'IoU 90 이상'에 해당하는지 여부를 판단할 수 있다.
프로세서(120)가 판단한 결과, 상기 선정된 3회차 인공지능 모델의 성능이 상기 기 설정된 최소 요구 성능을 충족시킬 경우, 프로세서(120)는 상기 선정된 3회차 인공지능 모델을 전처리 엔진으로 지정할 수 있다(도 8의 '전처리 엔진 #3' 참고).
상기 선정된 3회차 인공지능 모델이 전처리 엔진으로 지정된 시점에서, 작업자는 작업자 단말(10)을 통해 원천 데이터(예를 들어, 4회차 원천 데이터) 내의 객체에 대해 데이터 라벨링을 수행하고 있을 수 있다. 이에 따라, 프로세서(120)는 상기 전처리 엔진 #3을 작업자 단말(10)로 송신함으로써, 작업자가 작업자 단말(10)로 데이터 라벨링을 수행할 때 상기 전처리 엔진 #3이 수행하는 자동 데이터 라벨링을 활용하도록 할 수 있다.
즉, 작업자 단말(10)로 송신되는 전처리 엔진 #3은 4회차 원천 데이터 100개 내의 객체에 대해 적어도 일부분의 데이터 라벨링을 자동으로 해줄 수 있으며, 이로 인해 4회차 원천 데이터 내의 객체에 대해 작업자가 데이터 라벨링을 수행하는 시간과 노력이 대폭 감소될 수 있게 된다. 여기서, 상기 전처리 엔진 #3이 4회차 원천 데이터 내의 객체에 대해 수행하는 자동 데이터 라벨링은, 상기 전처리 엔진 #2가 3회차 원천 데이터 내의 객체에 대해 수행하는 자동 데이터 라벨링에 비해 더 빠르고 정확할 수 있다.
이와 달리, 프로세서(120)가 판단한 결과, 상기 선정된 3회차 인공지능 모델의 성능이 상기 기 설정된 최소 요구 성능을 충족시키지 않을 경우, 프로세서(120)는 상기 선정된 3회차 인공지능 모델을 전처리 엔진으로 지정하지 않을 수 있다. 상술한 바와 같이, 상기 선정된 3회차 인공지능 모델의 성능이 상기 기 설정된 최소 요구 성능을 충족시키지 않으면, 상기 선정된 3회차 인공지능 모델을 전처리 엔진으로 활용하더라도, 그 전처리 엔진에서 전처리되는 데이터 라벨링의 정확도가 낮을 수밖에 없기 때문이다.
이후 프로세서(120)는 자동 학습 기반의 데이터 라벨링 방법이 메모리(110)에 기 설정된 종료 조건을 만족하는지 여부를 재차 판단하게 된다.
프로세서(120)가 판단한 결과, 자동 학습 기반의 데이터 라벨링 방법이 상기 기 설정된 종료 조건을 만족한 경우, 프로세서(120)는 절차를 종료시킬 수 있다. 이에 반해, 자동 학습 기반의 데이터 라벨링 방법이 상기 기 설정된 종료 조건을 만족하지 않은 경우, 프로세서(120)는 상기 S400' 단계 내지 상기 S500' 단계를 재차 수행할 수 있다.
한편, 상술한 본 발명에 따른 자동 학습 기반의 데이터 라벨링 방법은 프로세서 등 다양한 컴퓨터 수단을 통해 수행될 수 있는 컴퓨터 실행가능 인스트럭션(computer executable instructions)으로 구현되어 컴퓨터 판독가능 저장 매체에 저장될 수 있다. 상기 저장 매체에 저장되는 컴퓨터 실행가능 인스트럭션은 본 발명을 위하여 특별히 설계되고 구성된 것들일 수 있다.
컴퓨터 판독가능 저장 매체의 예에는 ROM(Read Only Memory), RAM(Random Access Memory), EPROM(Erasable Programmable Read Only Memory), EEPROM(Electrically Erasable Programmable Read-Only Memory), 플래시 메모리, SRAM(Static RAM), HDD(Hard Disk Drive), SSD(Solid State Drive), 또는 본 발명이 속하는 기술 분야에서 잘 알려진 형태 등과 같이 컴퓨터 실행가능 인스트럭션을 저장하도록 구성된 휘발성 또는 비휘발성 하드웨어 장치가 이에 해당될 수 있다.
컴퓨터 실행가능 인스트럭션의 예에는 컴파일러 또는 인터프리터에 의해 생성되거나 실행되는 코드를 포함할 수 있다. 예컨대, 저장 매체에 저장된 인스트럭션이 프로세서에 의해 실행됨으로써, 상술한 자동 학습 기반의 데이터 라벨링 방법이 수행될 수 있다. 저장 매체는 비일시적(non-transitory) 저장 매체의 형태로 제공될 수 있다. 여기서, '비일시적'은 저장 매체가 신호(signal)를 포함하지 않으며 실재(tangible)한다는 것을 의미할 뿐, 데이터가 저장매체에 반영구적 또는 임시적으로 저장됨을 구분하지 않는다.
이상과 같이 본 발명은 비록 한정된 실시예와 도면에 의해 설명되었으나, 본 발명은 상기의 실시예에 한정되는 것은 아니며, 이는 본 발명이 속하는 분야에서 통상의 지식을 가진 자라면 이러한 기재로부터 다양한 수정 및 변형이 가능하다. 따라서, 본 발명의 기술적 사상은 청구범위에 의해서만 파악되어야 하고, 이의 균등 또는 등가적 변형 모두는 본 발명의 기술적 사상의 범주 안에 속한다고 할 것이다.
10: 작업자 단말
100: 자동 학습 기반의 데이터 라벨링 장치
110: 메모리
120: 프로세서
100: 자동 학습 기반의 데이터 라벨링 장치
110: 메모리
120: 프로세서
Claims (21)
- 메모리에 저장된 하나 이상의 인스트럭션을 실행하는 프로세서에 의해 수행되는 자동 학습 기반의 데이터 라벨링 방법으로서,
(a) 다수 개의 원천 데이터를 작업자 단말로 송신하는 단계;
(b) 상기 작업자 단말로부터, 상기 다수 개의 원천 데이터 중 1회차 원천 데이터 내의 객체에 대해 데이터 라벨링이 수행된 1회차 라벨 데이터를 수신하는 단계;
(c) 상기 1회차 라벨 데이터 중 일부를 1회차 학습용 데이터로 분리하고, 상기 1회차 학습용 데이터를 통해 인공신경망을 학습시켜, 상기 원천 데이터 내의 객체에 대해 데이터 라벨링을 자동으로 수행하는 1회차 인공지능 모델을 생성하는 단계;
(d) 상기 작업자 단말로부터, 상기 다수 개의 원천 데이터 중 n회차 원천 데이터 내의 객체에 대해 데이터 라벨링이 수행된 n회차 라벨 데이터를 수신하는 단계;
(e) 상기 n회차 라벨 데이터 중 일부를 n회차 학습용 데이터로 분리하고, 상기 n회차 학습용 데이터를 통해 n-1회차 인공지능 모델을 학습시켜, 상기 원천 데이터 내의 객체에 대해 데이터 라벨링을 자동으로 수행하는 n회차 인공지능 모델을 생성하는 단계; 및
(f) 기 설정된 종료 조건을 만족하였는지 여부를 판단하고, 상기 기 설정된 종료 조건을 만족할 때까지 상기 (d)단계 내지 상기 (e)단계를 반복 수행하는 단계를 포함하며,
상기 (c)단계에서, 상기 프로세서는,
상기 1회차 라벨 데이터 중 나머지를 1회차 검증용 데이터로 분리하고, 상기 1회차 검증용 데이터를 활용하여 상기 1회차 인공지능 모델의 성능을 산출하고, 상기 1회차 인공지능 모델의 성능이 기 설정된 최소 요구 성능을 충족시키는지 여부를 판단하며,
상기 1회차 인공지능 모델의 성능이 상기 기 설정된 최소 요구 성능을 충족시킬 경우에는, 상기 1회차 인공지능 모델을 전처리 엔진으로 지정하고, 상기 전처리 엔진을 상기 원천 데이터 내의 객체에 대해 데이터 라벨링을 수행하고 있는 작업자의 작업자 단말로 송신함으로써, 작업자가 상기 작업자 단말로 데이터 라벨링을 수행할 때 상기 전처리 엔진이 수행하는 자동 데이터 라벨링을 활용하도록 하는 것을 특징으로 하는, 자동 학습 기반의 데이터 라벨링 방법.
(상기 n은 상기 (d)단계 내지 상기 (e)단계가 수행되는 횟수에 기초하여 2부터 오름차순으로 적용되는 자연수임)
- 제1항에 있어서,
상기 프로세서는,
기 설정된 유사도 판단 기준에 따라 상기 작업자 단말로 송신할 원천 데이터 간 유사도를 판단하고,
상기 원천 데이터 간 유사도에 따라 상기 다수 개의 원천 데이터를 회차를 구분하여 상기 작업자 단말로 송신하되,
상기 작업자 단말로 송신하는 1회차 원천 데이터에는 상호 간에 유사도가 낮은 원천 데이터가 포함되도록 하고,
상기 작업자 단말로 송신하는 n회차 원천 데이터에는 상기 1회차 원천 데이터에 포함된 원천 데이터 간 유사도보다 더 높은 유사도를 갖는 원천 데이터가 포함되도록 하는 것을 특징으로 하는, 자동 학습 기반의 데이터 라벨링 방법.
- 제2항에 있어서,
상기 프로세서가 상기 작업자 단말로 송신하는 n회차 원천 데이터에 포함된 원천 데이터의 개수는, 상기 프로세서가 상기 작업자 단말로 송신하는 1회차 원천 데이터에 포함된 원천 데이터의 개수보다 더 적은 것을 특징으로 하는, 자동 학습 기반의 데이터 라벨링 방법.
- 삭제
- 삭제
- 제1항에 있어서,
상기 프로세서는,
상기 1회차 인공지능 모델의 성능이 상기 기 설정된 최소 요구 성능을 충족시키지 않을 경우에는, 상기 1회차 인공지능 모델을 상기 전처리 엔진으로 지정하지 않는 것을 특징으로 하는, 자동 학습 기반의 데이터 라벨링 방법.
- 제1항에 있어서,
상기 (e)단계에서,
상기 프로세서는,
상기 n회차 라벨 데이터 중 나머지를 n회차 검증용 데이터로 분리하고,
상기 1회차 검증용 데이터 내지 상기 n회차 검증용 데이터를 모두 활용하여, 상기 1회차 인공지능 모델 내지 상기 n회차 인공지능 모델의 성능을 각각 산출하고,
상기 1회차 인공지능 모델 내지 상기 n회차 인공지능 모델 중에서 가장 높은 성능을 갖는 인공지능 모델을 선정하는 것을 특징으로 하는, 자동 학습 기반의 데이터 라벨링 방법.
- 제7항에 있어서,
상기 프로세서는,
상기 선정된 인공지능 모델의 성능이 상기 기 설정된 최소 요구 성능을 충족시키는지 여부를 판단하고,
상기 선정된 인공지능 모델의 성능이 상기 기 설정된 최소 요구 성능을 충족시킬 경우에는, 상기 선정된 인공지능 모델을 전처리 엔진으로 지정하고, 상기 전처리 엔진을 상기 작업자 단말로 송신함으로써, 작업자가 상기 작업자 단말로 데이터 라벨링을 수행할 때 상기 전처리 엔진이 수행하는 자동 데이터 라벨링을 활용하도록 하는 것을 특징으로 하는, 자동 학습 기반의 데이터 라벨링 방법.
- 제7항에 있어서,
상기 프로세서는,
상기 선정된 인공지능 모델의 성능이 상기 기 설정된 최소 요구 성능을 충족시키는지 여부를 판단하고,
상기 선정된 인공지능 모델의 성능이 상기 기 설정된 최소 요구 성능을 충족시키지 않을 경우에는, 상기 선정된 인공지능 모델을 전처리 엔진으로 지정하지 않는 것을 특징으로 하는, 자동 학습 기반의 데이터 라벨링 방법.
- 하나 이상의 인스트럭션을 저장하는 메모리; 및
상기 메모리에 저장된 하나 이상의 인스트럭션을 실행함으로써 제1항 내지 제3항 및 제6항 내지 제9항 중 어느 한 항의 방법을 수행하는 프로세서를 포함하는, 자동 학습 기반 데이터 라벨링 장치.
- 제1항 내지 제3항 및 제6항 내지 제9항 중 어느 한 항의 방법을 수행하게 하는 컴퓨터 실행가능 인스트럭션을 저장하는 컴퓨터 판독가능 저장 매체.
- 메모리에 저장된 하나 이상의 인스트럭션을 실행하는 프로세서에 의해 수행되는 자동 학습 기반의 데이터 라벨링 방법으로서,
(a') 다수 개의 원천 데이터를 작업자 단말로 송신하는 단계;
(b') 상기 작업자 단말로부터, 상기 다수 개의 원천 데이터 중 1회차 원천 데이터 내의 객체에 대해 데이터 라벨링이 수행된 1회차 라벨 데이터를 수신하는 단계; 및
(c') 상기 1회차 라벨 데이터 중 일부를 1회차 학습용 데이터로 분리하고, 상기 원천 데이터 내의 객체에 대해 데이터 라벨링을 자동으로 수행하도록 미리 학습된 사전 인공지능 모델을 상기 1회차 학습용 데이터를 통해 학습시켜, 상기 원천 데이터 내의 객체에 대해 데이터 라벨링을 자동으로 수행하는 1회차 인공지능 모델을 생성하는 단계를 포함하며,
상기 (c')단계에서, 상기 프로세서는,
상기 1회차 라벨 데이터 중 나머지를 1회차 검증용 데이터로 분리하고, 상기 1회차 검증용 데이터를 활용하여 상기 사전 인공지능 모델 및 상기 1회차 인공지능 모델의 성능을 각각 산출하고, 상기 사전 인공지능 모델 및 상기 1회차 인공지능 모델 중에서 더 높은 성능을 갖는 인공지능 모델을 선정하며,
상기 선정된 인공지능 모델의 성능이 기 설정된 최소 요구 성능을 충족시키는지 여부를 판단하고, 상기 선정된 인공지능 모델의 성능이 상기 기 설정된 최소 요구 성능을 충족시킬 경우에는, 상기 선정된 인공지능 모델을 전처리 엔진으로 지정하고, 상기 전처리 엔진을 상기 원천 데이터 내의 객체에 대해 데이터 라벨링을 수행하고 있는 작업자의 작업자 단말로 송신함으로써, 작업자가 상기 작업자 단말로 데이터 라벨링을 수행할 때 상기 전처리 엔진이 수행하는 자동 데이터 라벨링을 활용하도록 하는 것을 특징으로 하는, 자동 학습 기반의 데이터 라벨링 방법.
- 삭제
- 삭제
- 제12항에 있어서,
상기 (c')단계에서,
상기 프로세서는,
상기 선정된 인공지능 모델의 성능이 상기 기 설정된 최소 요구 성능을 충족시키지 않을 경우에는, 상기 선정된 인공지능 모델을 상기 전처리 엔진으로 지정하지 않는 것을 특징으로 하는, 자동 학습 기반의 데이터 라벨링 방법.
- 제12항에 있어서,
상기 (c') 단계 이후에,
상기 프로세서는,
(d') 상기 작업자 단말로부터, 상기 다수 개의 원천 데이터 중 m회차 원천 데이터 내의 객체에 대해 데이터 라벨링이 수행된 m회차 라벨 데이터를 수신하는 단계;
(e') 상기 m회차 라벨 데이터 중 일부를 m회차 학습용 데이터로 분리하고, 상기 m회차 학습용 데이터를 통해 m-1회차 인공지능 모델을 학습시켜, 상기 원천 데이터 내의 객체에 대해 데이터 라벨링을 자동으로 수행하는 m회차 인공지능 모델을 생성하는 단계; 및
(f') 기 설정된 종료 조건을 만족하였는지 여부를 판단하고, 상기 기 설정된 종료 조건을 만족할 때까지, 상기 (d')단계 내지 상기 (e')단계를 반복 수행하는 단계를 더 포함하는, 자동 학습 기반의 데이터 라벨링 방법.
(상기 m은 상기 (d')단계 내지 상기 (e')단계가 수행되는 횟수에 기초하여 2부터 오름차순으로 적용되는 자연수임)
- 제16항에 있어서,
상기 (e')단계에서,
상기 프로세서는,
상기 m회차 라벨 데이터 중 나머지를 m회차 검증용 데이터로 분리하고,
상기 1회차 검증용 데이터 내지 상기 m회차 검증용 데이터를 모두 활용하여, 상기 사전 인공지능 모델과, 상기 1회차 인공지능 모델 내지 상기 m회차 인공지능 모델의 성능을 각각 산출하고,
상기 사전 인공지능 모델과, 상기 1회차 인공지능 모델 내지 상기 m회차 인공지능 모델 중에서 가장 높은 성능을 갖는 인공지능 모델을 선정하는 것을 특징으로 하는, 자동 학습 기반의 데이터 라벨링 방법.
- 제17항에 있어서,
상기 (e')단계에서,
상기 프로세서는,
상기 선정된 인공지능 모델의 성능이 기 설정된 최소 요구 성능을 충족시키는지 여부를 판단하고,
상기 선정된 인공지능 모델의 성능이 상기 기 설정된 최소 요구 성능을 충족시킬 경우에는, 상기 선정된 인공지능 모델을 전처리 엔진으로 지정하고, 상기 전처리 엔진을 상기 작업자 단말로 송신함으로써, 작업자가 상기 작업자 단말로 데이터 라벨링을 수행할 때 상기 전처리 엔진이 수행하는 자동 데이터 라벨링을 활용하도록 하는 것을 특징으로 하는, 자동 학습 기반의 데이터 라벨링 방법.
- 제17항에 있어서,
상기 (e')단계에서,
상기 프로세서는,
상기 선정된 인공지능 모델의 성능이 상기 기 설정된 최소 요구 성능을 충족시키는지 여부를 판단하고,
상기 선정된 인공지능 모델의 성능이 상기 기 설정된 최소 요구 성능을 충족시키지 않을 경우에는, 상기 선정된 인공지능 모델을 전처리 엔진으로 지정하지 않는 것을 특징으로 하는, 자동 학습 기반의 데이터 라벨링 방법.
- 하나 이상의 인스트럭션을 저장하는 메모리; 및
상기 메모리에 저장된 하나 이상의 인스트럭션을 실행함으로써 제12항 및 제15항 내지 제19항 중 어느 한 항의 방법을 수행하는 프로세서를 포함하는, 자동 학습 기반 데이터 라벨링 장치.
- 제12항 및 제15항 내지 제19항 중 어느 한 항의 방법을 수행하게 하는 컴퓨터 실행가능 인스트럭션을 저장하는 컴퓨터 판독가능 저장 매체.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020230056383A KR102569016B1 (ko) | 2023-04-28 | 2023-04-28 | 자동 학습 기반의 데이터 라벨링 방법, 장치 및 컴퓨터 판독가능 저장 매체 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020230056383A KR102569016B1 (ko) | 2023-04-28 | 2023-04-28 | 자동 학습 기반의 데이터 라벨링 방법, 장치 및 컴퓨터 판독가능 저장 매체 |
Publications (1)
Publication Number | Publication Date |
---|---|
KR102569016B1 true KR102569016B1 (ko) | 2023-08-22 |
Family
ID=87799435
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1020230056383A KR102569016B1 (ko) | 2023-04-28 | 2023-04-28 | 자동 학습 기반의 데이터 라벨링 방법, 장치 및 컴퓨터 판독가능 저장 매체 |
Country Status (1)
Country | Link |
---|---|
KR (1) | KR102569016B1 (ko) |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR20170083419A (ko) | 2016-01-08 | 2017-07-18 | 마우키스튜디오 주식회사 | 레이블링되지 않은 다수의 학습 데이터를 이용하여 딥 러닝의 모델을 트레이닝하는 방법 및 이를 수행하는 딥 러닝 시스템 |
KR20200075704A (ko) * | 2018-12-13 | 2020-06-26 | 수아랩 (쑤저우) 씨오., 엘티디 | 어노말리 디텍션 |
KR20200145078A (ko) * | 2019-06-20 | 2020-12-30 | (주)헬스허브 | 인공지능 플랫폼 시스템 및 이를 제공하기 위한 방법 |
KR20210136706A (ko) * | 2020-05-08 | 2021-11-17 | 삼성전자주식회사 | 전자 장치 및 이의 제어 방법 |
KR20220095037A (ko) * | 2020-12-29 | 2022-07-06 | 한국과학기술정보연구원 | 순환형 인공지능 서비스 플랫폼의 동작 방법 및 순환형 인공지능 서비스 플랫폼 장치 |
-
2023
- 2023-04-28 KR KR1020230056383A patent/KR102569016B1/ko active IP Right Grant
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR20170083419A (ko) | 2016-01-08 | 2017-07-18 | 마우키스튜디오 주식회사 | 레이블링되지 않은 다수의 학습 데이터를 이용하여 딥 러닝의 모델을 트레이닝하는 방법 및 이를 수행하는 딥 러닝 시스템 |
KR20200075704A (ko) * | 2018-12-13 | 2020-06-26 | 수아랩 (쑤저우) 씨오., 엘티디 | 어노말리 디텍션 |
KR20200145078A (ko) * | 2019-06-20 | 2020-12-30 | (주)헬스허브 | 인공지능 플랫폼 시스템 및 이를 제공하기 위한 방법 |
KR20210136706A (ko) * | 2020-05-08 | 2021-11-17 | 삼성전자주식회사 | 전자 장치 및 이의 제어 방법 |
KR20220095037A (ko) * | 2020-12-29 | 2022-07-06 | 한국과학기술정보연구원 | 순환형 인공지능 서비스 플랫폼의 동작 방법 및 순환형 인공지능 서비스 플랫폼 장치 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11610115B2 (en) | Learning to generate synthetic datasets for training neural networks | |
US20210271968A1 (en) | Generative neural network systems for generating instruction sequences to control an agent performing a task | |
US20190197109A1 (en) | System and methods for performing nlp related tasks using contextualized word representations | |
US20230070008A1 (en) | Generating three-dimensional object models from two-dimensional images | |
US20240257554A1 (en) | Image generation method and related device | |
CN110476173B (zh) | 利用强化学习的分层设备放置 | |
US11176417B2 (en) | Method and system for producing digital image features | |
KR102236582B1 (ko) | 영상 처리 장치 및 그 동작방법 | |
KR20200094608A (ko) | 이미지를 처리하기 위한 방법 및 그에 따른 장치 | |
US11449715B2 (en) | Sequential learning maintaining a learned concept | |
US20220114836A1 (en) | Method for processing image, and apparatus therefor | |
CN116956116A (zh) | 文本的处理方法和装置、存储介质及电子设备 | |
US20220358658A1 (en) | Semi Supervised Training from Coarse Labels of Image Segmentation | |
US10311338B1 (en) | Learning method, learning device for detecting lanes on the basis of CNN and testing method, testing device using the same | |
Ge et al. | Deep reinforcement learning navigation via decision transformer in autonomous driving | |
KR102569016B1 (ko) | 자동 학습 기반의 데이터 라벨링 방법, 장치 및 컴퓨터 판독가능 저장 매체 | |
Liu et al. | R Deep Learning Projects: Master the techniques to design and develop neural network models in R | |
KR102597184B1 (ko) | 가지치기 기반 심층 신경망 경량화에 특화된 지식 증류 방법 및 시스템 | |
US11158059B1 (en) | Image reconstruction based on edge loss | |
KR102329290B1 (ko) | 구조화된 학습 데이터의 전처리 방법 및 이를 이용한 인공 신경망 학습 방법 | |
CN115049899B (zh) | 模型训练方法、指代表达式生成方法及相关设备 | |
WO2020164732A1 (en) | A method for computer-implemented simulation of sensor data of a vehicle | |
US20240185038A1 (en) | Method for embedding data and system therefor | |
US20240330688A1 (en) | Method for processing image, and apparatus therefor | |
Kiesecker | Exploring the Capability of a Self-Supervised Conditional Image Generator for Image-to-Image Translation Without Labeled Data: A Case Study in Mobile User Interface Design |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
E701 | Decision to grant or registration of patent right | ||
GRNT | Written decision to grant |