KR20240081811A - 전주기 심층 능동학습 기반 데이터 라벨링 시스템 및 방법 - Google Patents
전주기 심층 능동학습 기반 데이터 라벨링 시스템 및 방법 Download PDFInfo
- Publication number
- KR20240081811A KR20240081811A KR1020220165435A KR20220165435A KR20240081811A KR 20240081811 A KR20240081811 A KR 20240081811A KR 1020220165435 A KR1020220165435 A KR 1020220165435A KR 20220165435 A KR20220165435 A KR 20220165435A KR 20240081811 A KR20240081811 A KR 20240081811A
- Authority
- KR
- South Korea
- Prior art keywords
- data
- artificial intelligence
- domain
- intelligence model
- predicted value
- Prior art date
Links
- 238000002372 labelling Methods 0.000 title claims abstract description 59
- 238000000034 method Methods 0.000 title claims abstract description 47
- 238000013473 artificial intelligence Methods 0.000 claims abstract description 186
- 238000009826 distribution Methods 0.000 claims abstract description 76
- 238000005259 measurement Methods 0.000 claims description 29
- 238000013480 data collection Methods 0.000 claims description 12
- 239000003638 chemical reducing agent Substances 0.000 claims description 7
- 238000013500 data storage Methods 0.000 description 9
- 230000006978 adaptation Effects 0.000 description 8
- 238000010586 diagram Methods 0.000 description 6
- 238000000611 regression analysis Methods 0.000 description 6
- 238000004891 communication Methods 0.000 description 5
- 238000012549 training Methods 0.000 description 4
- 230000006870 function Effects 0.000 description 3
- 238000005516 engineering process Methods 0.000 description 2
- 238000013135 deep learning Methods 0.000 description 1
- 230000014509 gene expression Effects 0.000 description 1
- 238000003384 imaging method Methods 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 238000013526 transfer learning Methods 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06V—IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
- G06V10/00—Arrangements for image or video recognition or understanding
- G06V10/70—Arrangements for image or video recognition or understanding using pattern recognition or machine learning
- G06V10/77—Processing image or video features in feature spaces; using data integration or data reduction, e.g. principal component analysis [PCA] or independent component analysis [ICA] or self-organising maps [SOM]; Blind source separation
- G06V10/774—Generating sets of training patterns; Bootstrap methods, e.g. bagging or boosting
-
- 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
-
- 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/091—Active learning
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06V—IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
- G06V10/00—Arrangements for image or video recognition or understanding
- G06V10/70—Arrangements for image or video recognition or understanding using pattern recognition or machine learning
- G06V10/764—Arrangements for image or video recognition or understanding using pattern recognition or machine learning using classification, e.g. of video objects
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06V—IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
- G06V10/00—Arrangements for image or video recognition or understanding
- G06V10/70—Arrangements for image or video recognition or understanding using pattern recognition or machine learning
- G06V10/77—Processing image or video features in feature spaces; using data integration or data reduction, e.g. principal component analysis [PCA] or independent component analysis [ICA] or self-organising maps [SOM]; Blind source separation
- G06V10/776—Validation; Performance evaluation
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06V—IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
- G06V10/00—Arrangements for image or video recognition or understanding
- G06V10/70—Arrangements for image or video recognition or understanding using pattern recognition or machine learning
- G06V10/77—Processing image or video features in feature spaces; using data integration or data reduction, e.g. principal component analysis [PCA] or independent component analysis [ICA] or self-organising maps [SOM]; Blind source separation
- G06V10/778—Active pattern-learning, e.g. online learning of image or video features
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06V—IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
- G06V20/00—Scenes; Scene-specific elements
- G06V20/70—Labelling scene content, e.g. deriving syntactic or semantic representations
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Evolutionary Computation (AREA)
- Artificial Intelligence (AREA)
- Software Systems (AREA)
- General Health & Medical Sciences (AREA)
- Multimedia (AREA)
- Computing Systems (AREA)
- Health & Medical Sciences (AREA)
- Databases & Information Systems (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Medical Informatics (AREA)
- Computational Linguistics (AREA)
- Biomedical Technology (AREA)
- Mathematical Physics (AREA)
- General Engineering & Computer Science (AREA)
- Molecular Biology (AREA)
- Data Mining & Analysis (AREA)
- Biophysics (AREA)
- Life Sciences & Earth Sciences (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
전주기 심층 능동학습 기반의 데이터 라벨링 시스템 및 방법이 제공된다. 본 발명의 실시예들에 따르면, 데이터 세트의 수집, 분류, 어노테이션, 인공지능 모델의 학습, 인공지능 모델 또는 상기 인공지능 모델의 학습에 사용된 데이터 세트의 배포까지의 전 과정을 자동화함으로써 인공지능 모델의 학습 및 이에 사용되는 데이터 세트의 구축까지 소요되는 전주기의 소요 비용을 최소화할 수 있다.
Description
본 발명은 데이터 라벨링을 위한 능동 학습(active learning) 기술과 관련된다.
인공지능은 인간의 지능을 모방하여 회귀, 분류, 군집화 등과 같은 예측 작업을 수행하는 기술로서, 기 학습된 학습 데이터를 기반으로 동작하게 된다. 지도 학습(supervised learning)은 이러한 인공지능의 대표적인 학습 방법 중 하나로서, 정답이 있는 데이터를 활용하여 데이터의 패턴을 일정한 수학적 형태로 표현한 모델(model)을 학습하는 방식이다. 지도 학습을 위해서는 입력과 출력의 쌍으로 구성된 학습 데이터, 즉 라벨과 속성이 등록된 학습 데이터가 필요하다. 이때, 라벨과 속성이 등록되지 않은 원본 데이터에 라벨과 속성을 등록하는 것을 라벨링(labeling)이라 하며, 이러한 라벨링 작업을 통해 원본 데이터를 모델 학습을 위한 학습 데이터로 만드는 과정을 어노테이션 (annotation)이라 한다.
현재, 대부분의 어노테이션 과정은 라벨링 작업자가 직접 수동으로 라벨링을 수행함으로써 이루어진다는 점에서 그 속도가 느리고, 어노테이션에 많은 인력이 소요된다. 또한, 검증자 역시 라벨링 결과를 검증하여야 하므로 이로 인한 추가적인 시간 및 비용이 소요된다. 이에, 데이터 세트 전체에 대한 라벨링을 수행하지 않고도 데이터 세트 전체를 라벨링한 것과 유사한 결과가 나올 수 있도록 언라벨 데이터 중 일부만을 라벨링을 수행하는 능동학습 모델에 대한 관심이 증가하고 있다.
본 발명의 실시예들은 데이터 세트의 수집, 분류, 어노테이션 (annotation), 인공지능 모델의 학습, 인공지능 모델 또는 상기 인공지능 모델의 학습에 사용된 데이터 세트의 배포까지의 전주기를 자동화하여 이에 소요되는 인력 및 비용을 최소화하기 위한 것이다.
예시적인 실시예에 따르면, 서로 다른 도메인(domain)에 속하는 다수의 데이터 세트를 수집하는 데이터 수집부; 수집된 상기 데이터 세트를 각 도메인에 따라 분류하고, 상기 각 도메인에 속한 상기 데이터 세트를 라벨 데이터(labeled data)와 언라벨 데이터(unlabeled data)로 분류하는 데이터 분류부; 상기 언라벨 데이터 중 불확실성이 기준치 이상인 데이터를 상기 각 도메인 별로 선별하고, 선별된 상기 데이터를 라벨링하는 데이터 선별부; 및 라벨링된 상기 데이터를 상기 라벨 데이터에 포함시키고, 상기 라벨 데이터로 상기 인공지능 모델을 학습하는 데이터 학습부를 포함하며, 상기 데이터 선별부는, 상기 인공지능 모델의 학습이 수행되는 동안 상기 각 도메인에 속한 라벨 데이터를 상기 인공지능 모델에 입력함으로써 도출되는 각 도메인별 상기 인공지능 모델에서의 제1 예측치 분포와, 상기 각 도메인에 속한 언라벨 데이터를 상기 인공지능 모델에 입력함으로써 도출되는 각 도메인별 상기 인공지능 모델에서의 제2 예측치 분포 간의 거리를 각각 측정하고, 상기 제1 예측치 분포와 상기 제2 예측치 분포 간의 거리가 최소화되는 방향으로 상기 언라벨 데이터 중 불확실성이 기준치 이상인 데이터를 선별하는, 전주기 심층 능동학습 시스템이 제공된다.
상기 데이터 선별부는, 아래 수학식 1 내지 3을 이용하여 상기 제1 예측치 분포와 상기 제2 예측치 분포 간의 거리를 측정할 수 있다.
[수학식 1]
(여기서, i는 도메인을 나타내며, L은 i 도메인에 속한 라벨 데이터를 나타냄. 또한, 은 i 도메인에 속한 라벨 데이터를 상기 인공지능 모델에 입력하여 도출되는 상기 제1 예측치 분포를 나타냄. 또한, 는 i 도메인에 속한 라벨 데이터를 상기 인공지능 모델에 입력하여 도출되는 상기 인공지능 모델에서의 제1 예측치를 나타냄)
[수학식 2]
(여기서, j는 도메인을 나타내며, U은 j 도메인에 속한 언라벨 데이터를 나타냄. 또한, 은 j 도메인에 속한 언라벨 데이터를 상기 인공지능 모델에 입력하여 도출되는 상기 제2 예측치 분포를 나타냄. 또한, 는 j 도메인에 속한 언라벨 데이터를 상기 인공지능 모델에 입력하여 도출되는 상기 인공지능 모델에서의 제2 예측치를 나타냄)
[수학식 3]
(여기서, 는 i 도메인에서의 상기 제1 예측치 분포와 j 도메인에서의 상기 제2 예측치 분포 간의 거리를 나타냄. 또한, 는 i 도메인에 속한 라벨 데이터를 상기 인공지능 모델에 입력하여 도출되는 제1 예측치를 나타내며, 는 j 도메인에 속한 언라벨 데이터를 상기 인공지능 모델에 입력하여 도출되는 제2 예측치를 나타냄. 또한, sup는 supremum(상한)을 의미함)
상기 데이터 선별부는, 군집화(clustering), 회귀분석(regression) 및 클래스 분류(classification) 기반의 셀렉터(selector)를 이용하여 상기 언라벨 데이터 중 불확실성이 상기 기준치 이상인 데이터를 선별하되, 불균형 경감기(unbalance alleviation)를 통해 선별된 각 도메인별 데이터 간의 개수 차이가 설정된 범위 내가 되도록 상기 데이터의 개수를 조정할 수 있다.
상기 전주기 심층 능동학습 시스템은, 상기 데이터 세트의 속성, 상기 인공지능 모델의 추론에 따른 예측치의 속성 및 상기 인공지능 모델의 종류 중 적어도 하나를 기반으로 상기 데이터 선별부에서의 데이터 선별 및 라벨링 작업의 진행여부를 추천하는 추천부를 더 포함하며, 상기 데이터 선별부는, 상기 추천부에서의 추천에 따른 사용자의 입력에 기반하여 상기 언라벨 데이터의 선별 및 라벨링 작업을 수행할 수 있다.
상기 전주기 심층 능동학습 시스템은, 상기 인공지능 모델의 성능을 측정하는 성능 측정부를 더 포함하며, 상기 데이터 학습부는, 상기 성능 측정부에서의 측정 결과 상기 인공지능 모델의 성능이 임계치 이상인 경우 상기 인공지능 모델의 학습을 종료하고 상기 인공지능 모델의 학습에 사용된 데이터 세트를 외부로 배포하고, 상기 성능 측정부에서의 측정 결과 상기 인공지능 모델의 성능이 상기 임계치 미만인 경우 상기 데이터 선별부로 성능 미달 메시지를 전달하며, 상기 데이터 선별부는, 상기 데이터 학습부로부터 상기 성능 미달 메시지를 수신하고, 상기 인공지능 모델의 성능이 상기 임계치 이상이 될 때까지 상기 데이터의 선별을 반복 수행할 수 있다.
다른 예시적인 실시예에 따르면, 데이터 수집부에서, 서로 다른 도메인(domain)에 속하는 다수의 데이터 세트를 수집하는 단계; 데이터 분류부에서, 수집된 상기 데이터 세트를 각 도메인에 따라 분류하는 단계; 상기 데이터 분류부에서, 상기 각 도메인에 속한 상기 데이터 세트를 라벨 데이터(labeled data)와 언라벨 데이터(unlabeled data)로 분류하는 단계; 데이터 선별부에서, 상기 언라벨 데이터 중 불확실성이 기준치 이상인 데이터를 상기 각 도메인 별로 선별하는 단계; 상기 데이터 선별부에서, 선별된 상기 데이터를 라벨링하는 단계; 데이터 학습부에서, 라벨링된 상기 데이터를 상기 라벨 데이터에 포함시키는 단계; 및 상기 데이터 학습부에서, 상기 라벨 데이터로 상기 인공지능 모델을 학습하는 단계를 포함하며, 상기 데이터를 상기 각 도메인 별로 선별하는 단계는, 상기 인공지능 모델의 학습이 수행되는 동안 상기 각 도메인에 속한 라벨 데이터를 상기 인공지능 모델에 입력함으로써 도출되는 각 도메인별 상기 인공지능 모델에서의 제1 예측치 분포와, 상기 각 도메인에 속한 언라벨 데이터를 상기 인공지능 모델에 입력함으로써 도출되는 각 도메인별 상기 인공지능 모델에서의 제2 예측치 분포 간의 거리를 각각 측정하고, 상기 제1 예측치 분포와 상기 제2 예측치 분포 간의 거리가 최소화되는 방향으로 상기 언라벨 데이터 중 불확실성이 기준치 이상인 데이터를 선별하는, 전주기 심층 능동 학습 방법이 제공된다.
상기 데이터를 상기 각 도메인 별로 선별하는 단계는, 아래 수학식 1 내지 3을 이용하여 상기 제1 예측치 분포와 상기 제2 예측치 분포 간의 거리를 측정할 수 있다.
[수학식 1]
(여기서, i는 도메인을 나타내며, L은 i 도메인에 속한 라벨 데이터를 나타냄. 또한, 은 i 도메인에 속한 라벨 데이터를 상기 인공지능 모델에 입력하여 도출되는 상기 제1 예측치 분포를 나타냄. 또한, 는 i 도메인에 속한 라벨 데이터를 상기 인공지능 모델에 입력하여 도출되는 상기 인공지능 모델에서의 제1 예측치를 나타냄)
[수학식 2]
(여기서, j는 도메인을 나타내며, U은 j 도메인에 속한 언라벨 데이터를 나타냄. 또한, 은 j 도메인에 속한 언라벨 데이터를 상기 인공지능 모델에 입력하여 도출되는 상기 제2 예측치 분포를 나타냄. 또한, 는 j 도메인에 속한 언라벨 데이터를 상기 인공지능 모델에 입력하여 도출되는 상기 인공지능 모델에서의 제2 예측치를 나타냄)
[수학식 3]
(여기서, 는 i 도메인에서의 상기 제1 예측치 분포와 j 도메인에서의 상기 제2 예측치 분포 간의 거리를 나타냄. 또한, 는 i 도메인에 속한 라벨 데이터를 상기 인공지능 모델에 입력하여 도출되는 제1 예측치를 나타내며, 는 j 도메인에 속한 언라벨 데이터를 상기 인공지능 모델에 입력하여 도출되는 제2 예측치를 나타냄. 또한, sup는 supremum(상한)을 의미함)
상기 데이터를 상기 각 도메인 별로 선별하는 단계는, 군집화 (clustering), 회귀분석(regression) 및 클래스 분류(classification) 기반의 셀렉터(selector)를 이용하여 상기 언라벨 데이터 중 불확실성이 상기 기준치 이상인 데이터를 선별하되, 불균형 경감기(unbalance alleviation)를 통해 선별된 각 도메인별 데이터 간의 개수 차이가 설정된 범위 내가 되도록 상기 데이터의 개수를 조정할 수 있다.
상기 전주기 심층 능동 학습 방법은, 상기 데이터를 상기 각 도메인 별로 선별하는 단계 이전에, 추천부에서, 상기 데이터 세트의 속성, 상기 인공지능 모델의 추론에 따른 예측치의 속성 및 상기 인공지능 모델의 종류 중 적어도 하나를 기반으로 상기 데이터 선별부에서의 데이터 선별 및 라벨링 작업의 진행여부를 추천하는 단계; 및 상기 데이터 선별부에서, 상기 추천부에서의 추천에 따른 사용자의 입력에 기반하여 상기 언라벨 데이터의 선별 및 라벨링 작업을 수행하는 단계를 더 포함할 수 있다.
상기 전주기 심층 능동 학습 방법은, 상기 인공지능 모델을 학습하는 단계 이후, 성능 측정부에서, 상기 인공지능 모델의 성능을 측정하는 단계; 상기 데이터 학습부에서, 상기 성능 측정부에서의 측정 결과 상기 인공지능 모델의 성능이 임계치 이상인 경우 상기 인공지능 모델의 학습을 종료하고 상기 인공지능 모델의 학습에 사용된 데이터 세트를 외부로 배포하는 단계; 및 상기 데이터 학습부에서, 상기 성능 측정부에서의 측정 결과 상기 인공지능 모델의 성능이 상기 임계치 미만인 경우 상기 데이터 선별부로 성능 미달 메시지를 전달하는 단계를 더 포함하며, 상기 데이터를 상기 각 도메인 별로 선별하는 단계는, 상기 데이터 학습부로부터 상기 성능 미달 메시지를 수신하고, 상기 인공지능 모델의 성능이 상기 임계치 이상이 될 때까지 상기 데이터의 선별을 반복 수행할 수 있다.
본 발명의 실시예들에 따르면, 데이터 세트의 수집, 분류, 어노테이션, 인공지능 모델의 학습, 인공지능 모델 또는 상기 인공지능 모델의 학습에 사용된 데이터 세트의 배포까지의 전 과정을 자동화함으로써 인공지능 모델의 학습 및 이에 사용되는 데이터 세트의 구축까지 소요되는 전주기의 소요 비용을 최소화할 수 있다. 특히, 본 발명의 실시예들에 따르면, 심층 능동학습의 데이터 선별 과정에서 도메인 적응 기법을 활용함으로써 인공지능 모델의 학습에 적합한 양질의 데이터를 선별할 수 있도록 함으로써 상기 인공지능 모델의 성능을 개선하고 이를 고도화할 수 있다.
또한, 본 발명의 실시예들에 따르면, 데이터 세트의 속성, 인공지능 모델의 추론에 따른 예측치의 속성, 인공지능 모델의 종류 등을 기반으로 심층 능동학습의 진행여부를 선별적으로 추천하도록 함으로써, 인공지능 모델의 성능개선 및 고도화를 유도할 수 있다.
도 1은 본 발명의 일 실시예에 따른 전주기 심층 능동학습 시스템의 상세 구성을 나타낸 도면
도 2는 본 발명의 일 실시예에 따른 서버의 상세 구성을 나타낸 도면
도 3은 본 발명의 일 실시예에 따른 데이터 분류부에서 데이터 세트를 분류하는 과정을 나타낸 예시
도 4는 본 발명의 일 실시예에 따른 전주기 심층 능동 학습 방법을 설명하기 위한 흐름도
도 5는 본 발명의 일 실시예에 따른 추천부에서 심층 능동학습을 추천하는 방법을 설명하기 위한 흐름도
도 6은 예시적인 실시예들에서 사용되기에 적합한 컴퓨팅 장치를 포함하는 컴퓨팅 환경을 예시하여 설명하기 위한 블록도
도 2는 본 발명의 일 실시예에 따른 서버의 상세 구성을 나타낸 도면
도 3은 본 발명의 일 실시예에 따른 데이터 분류부에서 데이터 세트를 분류하는 과정을 나타낸 예시
도 4는 본 발명의 일 실시예에 따른 전주기 심층 능동 학습 방법을 설명하기 위한 흐름도
도 5는 본 발명의 일 실시예에 따른 추천부에서 심층 능동학습을 추천하는 방법을 설명하기 위한 흐름도
도 6은 예시적인 실시예들에서 사용되기에 적합한 컴퓨팅 장치를 포함하는 컴퓨팅 환경을 예시하여 설명하기 위한 블록도
이하, 도면을 참조하여 본 발명의 구체적인 실시형태를 설명하기로 한다. 이하의 상세한 설명은 본 명세서에서 기술된 방법, 장치 및/또는 시스템에 대한 포괄적인 이해를 돕기 위해 제공된다. 그러나 이는 예시에 불과하며 본 발명은 이에 제한되지 않는다.
본 발명의 실시예들을 설명함에 있어서, 본 발명과 관련된 공지기술에 대한 구체적인 설명이 본 발명의 요지를 불필요하게 흐릴 수 있다고 판단되는 경우에는 그 상세한 설명을 생략하기로 한다. 그리고, 후술되는 용어들은 본 발명에서의 기능을 고려하여 정의된 용어들로서 이는 사용자, 운용자의 의도 또는 관례 등에 따라 달라질 수 있다. 그러므로 그 정의는 본 명세서 전반에 걸친 내용을 토대로 내려져야 할 것이다. 상세한 설명에서 사용되는 용어는 단지 본 발명의 실시예들을 기술하기 위한 것이며, 결코 제한적이어서는 안 된다. 명확하게 달리 사용되지 않는 한, 단수 형태의 표현은 복수 형태의 의미를 포함한다. 본 설명에서, "포함" 또는 "구비"와 같은 표현은 어떤 특성들, 숫자들, 단계들, 동작들, 요소들, 이들의 일부 또는 조합을 가리키기 위한 것이며, 기술된 것 이외에 하나 또는 그 이상의 다른 특성, 숫자, 단계, 동작, 요소, 이들의 일부 또는 조합의 존재 또는 가능성을 배제하도록 해석되어서는 안 된다.
도 1은 본 발명의 일 실시예에 따른 전주기 심층 능동학습 시스템(100)의 상세 구성을 나타낸 도면이다.
도 1에 도시된 바와 같이, 본 발명의 일 실시예에 따른 전주기 심층 능동학습 시스템(100)은 서버(110), 데이터 저장소(120) 및 사용자 단말(130)을 포함한다. 서버(110), 데이터 저장소(120) 및 사용자 단말(130)는 네트워크(140)를 통해 상호 연결될 수 있다. 여기서, 네트워크(140)는 예를 들어, 인터넷, 와이파이 네트워크(wifi network), 3G 네트워크, LTE 네트워크 등과 같은 모바일 네트워크(mobile network), 광역 네트워크(wire area networks) 등을 포함할 수 있다.
서버(110)는 데이터 저장소(120)로부터 다수의 데이터 세트를 수집하고, 수집된 데이터 세트를 이용하여 심층 능동학습을 수행한다. 심층 능동학습은 라벨링이 완료된 학습 데이터, 즉 라벨과 속성이 등록된 학습 데이터를 이용하여 인공지능 모델(즉, 능동학습 모델)을 학습한 후 라벨링이 되지 않은 언라벨 데이터 중 인공지능 모델의 성능에 도움이 되는 데이터를 선별하여 라벨링하고, 이를 기존의 학습 데이터와 병합하여 인공지능 모델을 학습하는 방식이다. 본 실시예들에 있어서, 서버(110)는 다중 도메인으로부터 다수의 데이터 세트를 수집하고, 상기 데이터 세트에 속한 라벨 데이터(labeled data)와 언라벨 데이터(unlabeled data) 간의 도메인 적응(domain adaptation) 기법을 이용하여 언라벨 데이터 중 일부를 선별할 수 있다. 서버(110)는 선별된 상기 데이터, 즉 언라벨 데이터를 라벨링한 후 상기 라벨 데이터에 포함시키고, 상기 라벨 데이터로 인공지능 모델을 학습할 수 있다. 이때, 서버(110)는 인공지능 모델의 학습이 수행되는 동안 도메인 적응 기법을 통해 상기 언라벨 데이터의 선별 및 라벨링 작업을 계속하게 되며, 이 과정에서 인공지능 모델의 성능을 측정할 수 있다. 서버(110)는 상기 인공지능 모델의 성능이 임계치에 도달할 때까지 상기 언라벨 데이터의 선별 및 라벨링 작업을 통한 심층 능동학습을 반복 수행하게 된다.
데이터 저장소(120)는 능동학습을 위한 다수의 데이터 세트, 즉 라벨 데이터와 언라벨 데이터가 저장되는 저장소이다. 이러한 다수의 데이터 세트는 서로 다른 도메인 영역에서 수집될 수 있으며, 데이터 저장소(120)는 이러한 다수의 데이터 세트의 저장을 위한 대용량 저장환경을 구비한다. 또한, 데이터 저장소(120)는 유연한 데이터 스케일링을 위해 복수 개의 저장환경을 구비하고, 상기 복수 개의 저장환경 또한 각각 별개로 분산제어 가능한 형태로 이루어질 수 있다.
사용자 단말(130)은 사용자가 소지하는 단말로서, 예를 들어 데스크탑, 노트북, 태블릿 컴퓨터, 스마트폰, PDA, 스마트 워치와 같은 웨어러블 디바이스 등이 될 수 있다. 본 실시예들에 있어서, 사용자는 예를 들어 라벨링 관리자, 라벨링 작업자, 라벨링 검증자, 데이터 세트의 사용자 등이 될 수 있다. 여기서, 라벨링 관리자는 라벨링 작업을 라벨링 작업자에게 할당하여 관리하는 관리자를 나타낸다. 또한, 라벨링 작업자는 라벨링 관리자로부터 라벨링 작업을 할당 받아 수행하는 라벨러(labeler)를 나타낸다. 또한, 라벨링 검증자는 라벨링 작업자가 수행한 라벨링 작업을 검증하는 사람을 나타낸다. 또한, 데이터 세트의 사용자는 개발자와 같이 데이터 세트를 사용하는 사람을 나타낸다.
사용자는 사용자 단말(130)을 통해 라벨링 작업에 필요한 데이터 세트를 수신하거나, 또는 라벨링 작업을 수행할 수 있다. 또한, 서버(110)는 인공지능 모델의 학습이 완료된 이후 상기 인공지능 모델의 학습에 사용된 데이터 세트를 사용자 단말(130)로 배포할 수 있다.
이하에서는, 도 2 내지 도 5를 참조하여 서버(110)에서 심층 능동학습을 수행하는 과정 및 이를 위한 서버(110)의 상세 구성에 대해 보다 자세히 살펴보기로 한다.
도 2는 본 발명의 일 실시예에 따른 서버(110)의 상세 구성을 나타낸 도면이다. 도 2에 도시된 바와 같이, 본 발명의 일 실시예에 따른 서버(110)는 데이터 수집부(210), 데이터 분류부(220), 데이터 선별부(230), 데이터 학습부(240), 성능 측정부(250) 및 추천부(260)를 포함한다.
데이터 수집부(210)는 서로 다른 도메인(domain)에 속하는 다수의 데이터 세트를 수집한다. 본 실시예들에 있어서, 도메인은 데이터의 타입(type) 또는 포멧(format)이 동일한 데이터들의 집합으로서, 동일한 도메인에 속하는 데이터 세트의 경우 하나의 클러스터(cluster)로 클러스터링될 수 있다. 데이터 수집부(210)는 데이터 저장소(120)로부터 서로 다른 도메인에 속하는 다수의 데이터 세트를 수집할 수 있다. 구체적으로, 데이터 수집부(210)는 데이터 저장소(120)로부터 제1 도메인에 속하는 제1 데이터 세트, 제2 도메인에 속하는 제2 데이터 세트, …, 제n 도메인에 속하는 제n 데이터 세트 등을 각각 수집할 수 있다. 데이터 수집부(210)는 서로 다른 도메인에 속하는 다수의 데이터 세트를 무작위로 수집할 수 있다.
여기서, 제1 도메인에 속하는 제1 데이터 세트, 제2 도메인에 속하는 제2 데이터 세트, …, 제n 도메인에 속하는 제n 데이터 세트는 각각 예를 들어, SNS를 통해 수집된 촬영 이미지, 스마트폰의 카메라를 통해 촬영되어 수집된 촬영 이미지, CCTV에서 촬영되어 수집된 촬영 이미지, 웹툰에서 수집된 컷 이미지 등이 될 수 있다. 각 데이터 세트는 동일한 클래스에 대응되는 객체(object)를 포함하고 있을 수 있으나, 해당 데이터 세트의 도메인에 따라 추출되는 특징(features)이 상이할 수 있다. 일 예시로서, 이미지 내 사람(person)을 나타내는 객체가 있다고 가정할 경우, 상기 객체는 스마트폰, CCTV, 웹툰, SNS(Social Network Service) 등 여러 도메인 상의 데이터 세트로부터 추출될 수 있다.
데이터 분류부(220)는 수집된 상기 데이터 세트를 각 도메인에 따라 분류하고, 상기 각 도메인에 속한 상기 데이터 세트를 라벨 데이터(labeled data)와 언라벨 데이터(unlabeled data)로 분류한다. 위 예시에서, 데이터 분류부(220)는 수집된 데이터 세트들이 스마트폰의 촬영 이미지인지, CCTV의 촬영 이미지인지, 웹툰의 컷 이미지인지 판단한 후 상기 데이터 세트들을 각 도메인에 따라 분류할 수 있다. 또한, 데이터 분류부(220)는 분류된 상기 데이터 세트를 라벨 데이터와 언라벨 데이터로 분류할 수 있다. 여기서, 라벨 데이터는 라벨과 속성이 등록된 데이터를 의미하며 언라벨 데이터는 라벨과 속성이 등록되지 않은 데이터를 의미한다.
데이터 선별부(230)는 상기 언라벨 데이터 중 불확실성이 기준치 이상인 데이터를 상기 각 도메인 별로 선별하고, 선별된 상기 데이터를 라벨링한다. 인공지능 모델의 성능을 향상시키기 위해서는 불확실성이 높은 데이터로 학습을 수행하여야 한다. 이에, 본 발명의 실시예들에서는 데이터 선별부(230)가 상기 언라벨 데이터 중 불확실성이 기준치 이상인 데이터를 상기 각 도메인 별로 선별할 수 있도록 하였다.
구체적으로, 데이터 선별부(230)는 상술한 데이터 세트의 각 도메인 별 분류, 즉 군집화(clustering), 회귀분석(regression)(예를 들어, 바운딩 박스 회귀분석) 및 클래스 분류(classification) 기반의 셀렉터(selector)를 이용하여 상기 언라벨 데이터 중 불확실성이 상기 기준치 이상인 데이터를 선별할 수 있다. 바운딩 박스 회귀분석은 인공지능 모델을 통해 추론된 예측치(proposal)가 정답(ground truth)에 얼마나 가까운지를 지표로서 나타내는 분석 기법을 의미한다. 또한, 클래스 분류는 다중 클래스의 데이터 세트를 학습하는 과정에서 데이터 세트의 특징(feature)을 상호 비교하여 라벨 데이터와 언라벨 데이터 간의 유사 정도를 지표로서 나타내는 분석 기법을 의미한다. 또한, 셀렉터는 상기 바운딩 박스 회귀분석과 클래스 분류 기법을 기반으로 상기 언라벨 데이터 중 불확실성이 기준치 이상인 데이터를 자동으로 선별해 주는 모듈이다. 데이터 선별부(230)는 바운딩 박스 회귀분석과 클래스 분류의 손실함수를 결합 학습하는 방식으로 상기 언라벨 데이터 중 불확실성이 상기 기준치 이상인 데이터를 선별할 수 있다.
이때, 데이터 선별부(230)는 불균형 경감기를 통해 선별된 각 도메인별 데이터 간의 개수 차이가 설정된 범위 내가 되도록 상기 데이터의 개수를 조정할 수 있다. 선별된 데이터들의 개수가 각 도메인 별로 크게 차이나는 경우 인공지능 모델에서의 예측 정확도가 떨어질 수 있다. 이에, 본 발명의 실시예들에서는 데이터 선별부(230)가 각 도메인별 데이터 간의 개수 차이가 설정된 범위 내가 되도록 상기 데이터의 개수를 조정함으로써 각 도메인별 데이터 간의 분산을 경감시킬 수 있도록 하였다. 일 예시로서, 제1 도메인에서 선별된 데이터의 개수가 나머지 도메인들에서 선별된 데이터의 개수보다 n개 이상 많은 경우, 데이터 선별부(230)는 제1 도메인에서 선별된 데이터의 개수를 경감시키는 방향으로 선별된 데이터의 개수를 조정할 수 있다. 또한, 데이터 선별부(230)는 불균형 경감기를 통해 선별된 각 데이터들의 클래스(class) 개수를 설정된 범위 내의 비율로 조정할 수 있다. 일 예시로서, 데이터 선별부(230)는 특정 클래스의 데이터가 타 클래스의 데이터보다 설정된 개수 이상 선별되었거나 설정된 개수 미만으로 선별된 경우 불균형 경감기를 통해 각 데이터들의 클래스 개수 간의 편차가 설정된 범위 이내가 되도록 조정할 수 있다.
또한, 데이터 선별부(230)는 각 도메인별로 상기 언라벨 데이터 중 상기 불확실성이 기준치 이상인 데이터를 선별하고, 선별된 상기 데이터를 라벨링할 수 있다. 후술할 바와 같이, 데이터 학습부(240)는 라벨링된 상기 데이터를 상기 라벨 데이터에 포함시키고, 상기 라벨 데이터로 상기 인공지능 모델을 학습할 수 있다. 이때, 데이터 선별부(230)는 라벨 데이터와 언라벨 데이터 간의 도메인 적응 기법을 이용하여 언라벨 데이터 중 일부를 선별할 수 있다. 도메인 적응 기법은 라벨이 풍부한 소스 도메인의 학습된 지식을 바탕으로 라벨이 불충분한 타깃 도메인에서 성공적인 추론을 할 수 있도록 딥러닝 네트워크(인공지능 모델)를 훈련하는 전이 학습의 일 방법론이다. 데이터 선별부(230)는 상기 인공지능 모델의 학습이 수행되는 동안 라벨 데이터를 기반으로 한 인공지능 모델에서의 제1 예측치 분포와 언라벨 데이터를 기반으로 한 인공지능 모델에서의 제2 예측치 분포 간의 거리를 각각 측정하고, 상기 제1 예측치 분포와 상기 제2 예측치 분포 간의 거리가 최소화되는 방향으로 상기 언라벨 데이터 중 불확실성이 기준치 이상인 데이터를 선별할 수 있다. 여기서, 제1 예측치 분포는 상기 인공지능 모델의 학습이 수행되는 동안 각 도메인에 속한 라벨 데이터를 상기 인공지능 모델에 입력함으로써 도출되는 각 도메인별 상기 인공지능 모델에서의 예측치 분포를 의미한다. 또한, 제2 예측치 분포는 상기 인공지능 모델의 학습이 수행되는 동안 상기 각 도메인에 속한 언라벨 데이터를 상기 인공지능 모델에 입력함으로써 도출되는 각 도메인별 상기 인공지능 모델에서의 예측치 분포를 의미한다.
일 예시로서, 데이터 선별부(230)는 상기 인공지능 모델의 학습이 수행되는 동안 제1 도메인에 속한 라벨 데이터를 인공지능 모델에 입력함으로써 도출되는 제1 예측치 분포와, 제2 도메인에 속한 언라벨 데이터를 인공지능 모델에 입력함으로써 도출되는 제2 예측치 분포 간의 거리를 각각 측정한 후 상기 제1 예측치 분포와 상기 제2 예측치 분포 간의 거리가 최소화되는 방향으로 언라벨 데이터를 선별할 수 있다. 데이터 선별부(230)는 제1 예측치 분포와 제2 예측치 분포 간의 거리를 각각 측정하고, 측정된 상기 거리들의 평균 또는 분산값이 최소화되는 방향으로 언라벨 데이터를 선별할 수 있다.
이러한 제1 예측치 분포 및 제2 예측치 분포는 아래 수학식 1 및 2와 같이 표현될 수 있다.
[수학식 1]
(여기서, i는 도메인을 나타내며, L은 i 도메인에 속한 라벨 데이터를 나타냄. 또한, 은 i 도메인에 속한 라벨 데이터를 상기 인공지능 모델에 입력하여 도출되는 상기 제1 예측치 분포를 나타냄. 또한, 는 i 도메인에 속한 라벨 데이터를 상기 인공지능 모델에 입력하여 도출되는 상기 인공지능 모델에서의 제1 예측치를 나타냄)
[수학식 2]
(여기서, j는 도메인을 나타내며, U은 j 도메인에 속한 언라벨 데이터를 나타냄. 또한, 은 j 도메인에 속한 언라벨 데이터를 상기 인공지능 모델에 입력하여 도출되는 상기 제2 예측치 분포를 나타냄. 또한, 는 j 도메인에 속한 언라벨 데이터를 상기 인공지능 모델에 입력하여 도출되는 상기 인공지능 모델에서의 제2 예측치를 나타냄)
또한, 제1 예측치 분포 및 제2 예측치 분포 간의 차이는 아래 수학식 3와 같이 표현될 수 있다.
[수학식 3]
(여기서, 는 i 도메인에서의 상기 제1 예측치 분포와 j 도메인에서의 상기 제2 예측치 분포 간의 거리를 나타냄. 또한, 는 i 도메인에 속한 라벨 데이터를 상기 인공지능 모델에 입력하여 도출되는 제1 예측치를 나타내며, 는 j 도메인에 속한 언라벨 데이터를 상기 인공지능 모델에 입력하여 도출되는 제2 예측치를 나타냄. 또한, sup는 supremum(상한)을 의미함)
이와 같이, 상술한 군집화, 회귀분석, 클래스 분류, 셀렉터, 불균형 경감기, 도메인 적응 기법 등을 활용하여 인공지능 모델의 성능이 개선되고 고도화되는 방향으로 언라벨 데이터가 각 도메인 별로 적절한 비율로 자동 선별될 수 있다.
데이터 학습부(240)는 데이터 선별부(230)에서 라벨링된 데이터를 상기 라벨 데이터에 포함시키고, 상기 라벨 데이터로 상기 인공지능 모델을 학습한다. 데이터 학습부(240)는 정답(ground truth)과 예측치 간의 차이인 손실이 최소화되는 방향으로 인공지능 모델의 학습을 수행할 수 있다. 데이터 학습부(240)는 데이터 선별부(230)에서 데이터 선별 및 라벨링 작업이 수행될 때마다 새롭게 생성된 라벨 데이터(즉, 데이터 선별부(230)에서 라벨링된 데이터가 기존 라벨 데이터에 추가된 데이터)로 상기 인공지능 모델을 학습시킬 수 있다. 상술한 바와 같이, 데이터 선별부(230)는 이러한 인공지능 모델의 학습이 수행되는 동안 라벨 데이터를 기반으로 획득된 제1 예측치 분포와 언라벨 데이터를 기반으로 획득된 제2 예측치 분포 간의 거리를 각각 측정하고, 상기 제1 예측치 분포와 상기 제2 예측치 분포 간의 거리가 최소화되는 방향으로 상기 언라벨 데이터 중 불확실성이 기준치 이상인 데이터를 선별할 수 있다.
성능 측정부(250)는 인공지능 모델의 성능을 측정한다. 성능 측정부(250)는 일반적으로 널리 알려진 다양한 방법을 이용하여 인공지능 모델의 성능을 측정하고, 측정 결과를 데이터 학습부(240)로 전달할 수 있다. 데이터 학습부(240)는 성능 측정부(250)에서의 측정 결과 상기 인공지능 모델의 성능이 임계치 이상인 경우 상기 인공지능 모델의 학습을 종료하고 상기 인공지능 모델의 학습에 사용된 데이터 세트를 외부(예를 들어, 사용자 단말(130))로 배포할 수 있다. 또한, 데이터 학습부(240)는 성능 측정부(250)에서의 측정 결과 상기 인공지능 모델의 성능이 임계치 미만인 경우 데이터 선별부(230)로 성능 미달 메시지를 전달할 수 있다. 데이터 선별부(230)는 데이터 학습부(240)로부터 상기 성능 미달 메시지를 수신하고, 상기 인공지능 모델의 성능이 임계치 이상이 될 때까지 상술한 데이터의 선별을 반복 수행할 수 있다.
추천부(260)는 데이터 선별부(230)에서의 데이터 선별 및 라벨링 작업 전 데이터 세트의 속성, 인공지능 모델의 추론에 따른 예측치의 속성, 인공지능 모델의 종류 등을 기반으로 데이터 선별부(230)에서의 데이터 선별 및 라벨링 작업의 진행여부를 추천한다. 추천부(260)는 사용자에게 데이터 선별부(230)에서의 데이터 선별 및 라벨링 작업의 진행여부를 추천하고, 사용자로부터 상기 데이터 선별 및 라벨링 작업의 진행명령을 입력 받아 데이터 선별부(230)로 전달할 수 있다. 데이터 선별부(230)는 상기 사용자의 데이터 선별 및 라벨링 작업의 진행명령에 따라 앞서 설명한 데이터 선별 및 라벨링 작업을 수행할 수 있다. 사용자는 심층 능동학습이 대신 데이터 세트 전체에 대한 수동 또는 자동 라벨링을 선택할 수도 있으며, 이 경우 데이터 선별부(230)에서의 데이터 선별 및 라벨링 작업이 진행되지 않는다. 추천부(260)는 데이터 세트의 속성, 인공지능 모델의 추론에 따른 예측치의 속성, 인공지능 모델의 종류 등을 기반으로 심층 능동학습이 필요한 데이터 세트에 대해 데이터 선별 및 라벨링 작업의 진행을 추천할 수 있다.
일 예시로서, 데이터 세트가 .jpg, .png, .gif, .bmp 등과 같은 이미지 파일인 경우, 인공지능 모델의 추론에 따른 예측치가 객체의 클래스(class)인 경우, 또는 인공지능 모델의 종류가 분류기(classifier)인 경우, 추천부(260)는 심층 능동학습이 필요하다고 판단하여 사용자에게 데이터 선별부(230)에서의 데이터 선별 및 라벨링 작업의 진행여부를 추천할 수 있다.
본 발명의 실시예들에 따르면, 데이터 세트의 수집, 분류, 어노테이션, 인공지능 모델의 학습, 인공지능 모델 또는 상기 인공지능 모델의 학습에 사용된 데이터 세트의 배포까지의 전 과정을 자동화함으로써 인공지능 모델의 학습 및 이에 사용되는 데이터 세트의 구축까지 소요되는 전주기의 소요 비용을 최소화할 수 있다. 특히, 본 발명의 실시예들에 따르면, 심층 능동학습의 데이터 선별 과정에서 도메인 적응 기법을 활용함으로써 인공지능 모델의 학습에 적합한 양질의 데이터를 선별할 수 있도록 함으로써 상기 인공지능 모델의 성능을 개선하고 이를 고도화할 수 있다.
또한, 본 발명의 실시예들에 따르면, 데이터 세트의 속성, 인공지능 모델의 추론에 따른 예측치의 속성, 인공지능 모델의 종류 등을 기반으로 심층 능동학습의 진행여부를 선별적으로 추천하도록 함으로써, 인공지능 모델의 성능개선 및 고도화를 유도할 수 있다.
도 3은 본 발명의 일 실시예에 따른 데이터 분류부(220)에서 데이터 세트를 분류하는 과정을 나타낸 예시이다.
상술한 바와 같이, 데이터 분류부(220)는 데이터 수집부(210)에서 수집된 데이터 세트를 각 도메인에 따라 분류하고, 상기 각 도메인에 속한 상기 데이터 세트를 라벨 데이터와 언라벨 데이터로 분류할 수 있다.
도 3을 참조하면, 데이터 분류부(220)는 데이터 세트를 Domain #1, Domain #2, …, Domain #n 에 따라 각각 분류하고, 각 도메인에 속한 데이터 세트를 라벨 데이터와 언라벨 데이터로 분류할 수 있다.
이후, 데이터 선별부(230)는 상기 언라벨 데이터 중 불확실성이 기준치 이상인 데이터를 상기 각 도메인 별로 선별하고, 선별된 상기 데이터를 라벨링할 수 있다. 데이터 학습부(240)는 라벨링된 상기 데이터를 상기 라벨 데이터에 포함시키고, 상기 라벨 데이터로 상기 인공지능 모델을 학습할 수 있다. 이때, 데이터 선별부(230)는 상기 인공지능 모델의 학습이 수행되는 동안 상기 각 도메인에 속한 라벨 데이터를 상기 인공지능 모델에 입력함으로써 도출되는 각 도메인별 상기 인공지능 모델에서의 제1 예측치 분포와, 상기 각 도메인에 속한 언라벨 데이터를 상기 인공지능 모델에 입력함으로써 도출되는 각 도메인별 상기 인공지능 모델에서의 제2 예측치 분포 간의 거리를 각각 측정하고, 상기 제1 예측치 분포와 상기 제2 예측치 분포 간의 거리가 최소화되는 방향으로 상기 언라벨 데이터 중 불확실성이 기준치 이상인 데이터를 선별할 수 있다.
도 4는 본 발명의 일 실시예에 따른 전주기 심층 능동 학습 방법을 설명하기 위한 흐름도이다. 도시된 흐름도에서는 상기 방법을 복수 개의 단계로 나누어 기재하였으나, 적어도 일부의 단계들은 순서를 바꾸어 수행되거나, 다른 단계와 결합되어 함께 수행되거나, 생략되거나, 세부 단계들로 나뉘어 수행되거나, 또는 도시되지 않은 하나 이상의 단계가 부가되어 수행될 수 있다.
S102 단계에서, 데이터 수집부(210)는 서로 다른 도메인에 속하는 다수의 데이터 세트를 수집한다.
S104 단계에서, 데이터 분류부(220)는 수집된 상기 데이터 세트를 각 도메인에 따라 분류하고, 상기 각 도메인에 속한 상기 데이터 세트를 라벨 데이터와 언라벨 데이터로 분류한다. 데이터 분류부(220)는 데이터 타입 또는 포멧을 기초로 데이터 세트를 클러스터링함으로써 상기 데이터 세트를 각 도메인에 따라 분류할 수 있다.
S106 단계에서, 데이터 선별부(230)는 상기 언라벨 데이터 중 불확실성이 기준치 이상인 데이터를 상기 각 도메인 별로 선별한다. 상술한 바와 같이, 데이터 선별부(230)는 군집화(clustering), 회귀분석(regression)(예를 들어, 바운딩 박스 회귀분석) 및 클래스 분류 기반의 셀렉터를 이용하여 상기 언라벨 데이터 중 불확실성이 상기 기준치 이상인 데이터를 선별하되, 불균형 경감기를 통해 선별된 각 도메인별 데이터 간의 개수 차이가 설정된 범위 내가 되도록 상기 데이터의 개수를 조정할 수 있다. 또한, 데이터 선별부(230)는 라벨 데이터와 언라벨 데이터 간의 도메인 적응 기법을 이용하여 각 도메인 별로 언라벨 데이터 중 일부를 선별할 수 있다. 즉, 데이터 선별부(230)는 상기 인공지능 모델의 학습이 수행되는 동안 라벨 데이터를 기반으로 한 인공지능 모델에서의 제1 예측치 분포와 언라벨 데이터를 기반으로 한 인공지능 모델에서의 제2 예측치 분포 간의 거리를 각각 측정하고, 상기 제1 예측치 분포와 상기 제2 예측치 분포 간의 거리가 최소화되는 방향으로 상기 언라벨 데이터 중 불확실성이 기준치 이상인 데이터를 선별할 수 있다.
S108 단계에서, 데이터 선별부(230)는 S106 단계에서 선별된 데이터를 라벨링할 수 있다. 여기서, 라벨링은 수동 어노테이션 또는 자동 어노테이션을 통한 라벨링일 수 있다. 데이터 선별부(230)는 라벨링 작업자에 의한 수동 라벨링 작업을 통해 라벨링을 수행하거나, 또는 기 학습된 학습 데이터를 기반으로 한 자동 라벨링 작업을 통해 라벨링을 수행할 수 있다. 상기 라벨링은 예를 들어, 바운딩 박스(bounding box), 폴리곤(polygon), 폴리라인(polyline), 포인트(point), 휴먼 키포인트(human keypoint), 큐브(cube), 태그(tag) 등의 유형으로 수행될 수 있다.
S110 단계에서, 데이터 학습부(240)는 라벨링된 데이터를 상기 라벨 데이터에 포함시키고, 상기 라벨 데이터로 상기 인공지능 모델을 학습한다.
S112 단계에서, 성능 측정부(250)는 상기 인공지능 모델의 성능을 측정한다. 만약, 성능 측정부(250)에서의 측정 결과 상기 인공지능 모델의 성능이 상기 임계치 미만인 경우, 데이터 학습부(240)는 데이터 선별부(230)로 성능 미달 메시지를 전달한다. 이 경우, 데이터 선별부(230)는 상기 인공지능 모델의 성능이 상기 임계치 이상이 될 때까지 상기 데이터의 선별을 반복 수행할 수 있다.
S114 단계에서, 성능 측정부(250)에서의 측정 결과 상기 인공지능 모델의 성능이 임계치 이상인 경우, 데이터 학습부(240)는 상기 인공지능 모델의 학습을 종료하고 상기 인공지능 모델의 학습에 사용된 데이터 세트를 외부로 배포한다.
도 5는 본 발명의 일 실시예에 따른 추천부에서 심층 능동학습을 추천하는 방법을 설명하기 위한 흐름도이다. 도시된 흐름도에서는 상기 방법을 복수 개의 단계로 나누어 기재하였으나, 적어도 일부의 단계들은 순서를 바꾸어 수행되거나, 다른 단계와 결합되어 함께 수행되거나, 생략되거나, 세부 단계들로 나뉘어 수행되거나, 또는 도시되지 않은 하나 이상의 단계가 부가되어 수행될 수 있다.
S202 단계에서, 추천부(260)는 데이터 세트의 속성, 상기 인공지능 모델의 추론에 따른 예측치의 속성 및 상기 인공지능 모델의 종류 중 적어도 하나를 기반으로 데이터 선별부(230)에서의 데이터 선별 및 라벨링 작업의 진행여부를 추천한다. 상기 S202 단계는 도 4의 S106 단계 이전에 수행될 수 있다.
S204 단계에서, 사용자가 데이터 선별 및 라벨링 작업의 진행명령을 입력하는 경우, S106 단계가 수행되어 데이터 선별부(230)에서의 데이터 선별 및 라벨링 작업이 수행된다.
S206 단계에서, 데이터 선별부(230)는 사용자에 의해 데이터 선별 및 라벨링 작업의 진행명령이 입력되지 않는 경우 라벨링 작업자에 의한 수동 라벨링 작업을 통해 라벨링을 수행하거나, 또는 기 학습된 학습 데이터를 기반으로 한 자동 라벨링 작업을 통해 라벨링을 수행할 수 있다.
도 6은 예시적인 실시예들에서 사용되기에 적합한 컴퓨팅 장치를 포함하는 컴퓨팅 환경을 예시하여 설명하기 위한 블록도이다. 도시된 실시예에서, 각 컴포넌트들은 이하에 기술된 것 이외에 상이한 기능 및 능력을 가질 수 있고, 이하에 기술되지 않은 것 이외에도 추가적인 컴포넌트를 포함할 수 있다.
도시된 컴퓨팅 환경(10)은 컴퓨팅 장치(12)를 포함한다. 일 실시예에서, 컴퓨팅 장치(12)는 전주기 심층 능동학습 시스템(100), 또는 전주기 심층 능동학습 시스템(100)에 포함되는 하나 이상의 컴포넌트일 수 있다.
컴퓨팅 장치(12)는 적어도 하나의 프로세서(14), 컴퓨터 판독 가능 저장 매체(16) 및 통신 버스(18)를 포함한다. 프로세서(14)는 컴퓨팅 장치(12)로 하여금 앞서 언급된 예시적인 실시예에 따라 동작하도록 할 수 있다. 예컨대, 프로세서(14)는 컴퓨터 판독 가능 저장 매체(16)에 저장된 하나 이상의 프로그램들을 실행할 수 있다. 상기 하나 이상의 프로그램들은 하나 이상의 컴퓨터 실행 가능 명령어를 포함할 수 있으며, 상기 컴퓨터 실행 가능 명령어는 프로세서(14)에 의해 실행되는 경우 컴퓨팅 장치(12)로 하여금 예시적인 실시예에 따른 동작들을 수행하도록 구성될 수 있다.
컴퓨터 판독 가능 저장 매체(16)는 컴퓨터 실행 가능 명령어 내지 프로그램 코드, 프로그램 데이터 및/또는 다른 적합한 형태의 정보를 저장하도록 구성된다. 컴퓨터 판독 가능 저장 매체(16)에 저장된 프로그램(20)은 프로세서(14)에 의해 실행 가능한 명령어의 집합을 포함한다. 일 실시예에서, 컴퓨터 판독 가능 저장 매체(16)는 메모리(랜덤 액세스 메모리와 같은 휘발성 메모리, 비휘발성 메모리, 또는 이들의 적절한 조합), 하나 이상의 자기 디스크 저장 디바이스들, 광학 디스크 저장 디바이스들, 플래시 메모리 디바이스들, 그 밖에 컴퓨팅 장치(12)에 의해 액세스되고 원하는 정보를 저장할 수 있는 다른 형태의 저장 매체, 또는 이들의 적합한 조합일 수 있다.
통신 버스(18)는 프로세서(14), 컴퓨터 판독 가능 저장 매체(16)를 포함하여 컴퓨팅 장치(12)의 다른 다양한 컴포넌트들을 상호 연결한다.
컴퓨팅 장치(12)는 또한 하나 이상의 입출력 장치(24)를 위한 인터페이스를 제공하는 하나 이상의 입출력 인터페이스(22) 및 하나 이상의 네트워크 통신 인터페이스(26)를 포함할 수 있다. 입출력 인터페이스(22) 및 네트워크 통신 인터페이스(26)는 통신 버스(18)에 연결된다. 입출력 장치(24)는 입출력 인터페이스(22)를 통해 컴퓨팅 장치(12)의 다른 컴포넌트들에 연결될 수 있다. 예시적인 입출력 장치(24)는 포인팅 장치(마우스 또는 트랙패드 등), 키보드, 터치 입력 장치(터치패드 또는 터치스크린 등), 음성 또는 소리 입력 장치, 다양한 종류의 센서 장치 및/또는 촬영 장치와 같은 입력 장치, 및/또는 디스플레이 장치, 프린터, 스피커 및/또는 네트워크 카드와 같은 출력 장치를 포함할 수 있다. 예시적인 입출력 장치(24)는 컴퓨팅 장치(12)를 구성하는 일 컴포넌트로서 컴퓨팅 장치(12)의 내부에 포함될 수도 있고, 컴퓨팅 장치(12)와는 구별되는 별개의 장치로 컴퓨팅 장치(12)와 연결될 수도 있다.
이상에서 대표적인 실시예를 통하여 본 발명에 대하여 상세하게 설명하였으나, 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자는 전술한 실시예에 대하여 본 발명의 범주에서 벗어나지 않는 한도 내에서 다양한 변형이 가능함을 이해할 것이다. 그러므로 본 발명의 권리범위는 설명된 실시예에 국한되어 정해져서는 안 되며, 후술하는 특허청구범위뿐만 아니라 이 특허청구범위와 균등한 것들에 의해 정해져야 한다.
100 : 전주기 심층 능동학습 시스템
110 : 서버
120 : 데이터 저장소
130 : 사용자 단말
140 : 네트워크
210 : 데이터 수집부
220 : 데이터 분류부
230 : 추천부
240 : 데이터 선별부
250 : 데이터 학습부
260 : 성능 측정부
110 : 서버
120 : 데이터 저장소
130 : 사용자 단말
140 : 네트워크
210 : 데이터 수집부
220 : 데이터 분류부
230 : 추천부
240 : 데이터 선별부
250 : 데이터 학습부
260 : 성능 측정부
Claims (10)
- 서로 다른 도메인(domain)에 속하는 다수의 데이터 세트를 수집하는 데이터 수집부;
수집된 상기 데이터 세트를 각 도메인에 따라 분류하고, 상기 각 도메인에 속한 상기 데이터 세트를 라벨 데이터(labeled data)와 언라벨 데이터(unlabeled data)로 분류하는 데이터 분류부;
상기 언라벨 데이터 중 불확실성이 기준치 이상인 데이터를 상기 각 도메인 별로 선별하고, 선별된 상기 데이터를 라벨링하는 데이터 선별부; 및
라벨링된 상기 데이터를 상기 라벨 데이터에 포함시키고, 상기 라벨 데이터로 상기 인공지능 모델을 학습하는 데이터 학습부를 포함하며,
상기 데이터 선별부는, 상기 인공지능 모델의 학습이 수행되는 동안 상기 각 도메인에 속한 라벨 데이터를 상기 인공지능 모델에 입력함으로써 도출되는 각 도메인별 상기 인공지능 모델에서의 제1 예측치 분포와, 상기 각 도메인에 속한 언라벨 데이터를 상기 인공지능 모델에 입력함으로써 도출되는 각 도메인별 상기 인공지능 모델에서의 제2 예측치 분포 간의 거리를 각각 측정하고, 상기 제1 예측치 분포와 상기 제2 예측치 분포 간의 거리가 최소화되는 방향으로 상기 언라벨 데이터 중 불확실성이 기준치 이상인 데이터를 선별하는, 전주기 심층 능동학습 시스템.
- 청구항 1에 있어서,
상기 데이터 선별부는, 아래 수학식 1 내지 3을 이용하여 상기 제1 예측치 분포와 상기 제2 예측치 분포 간의 거리를 측정하는, 전주기 심층 능동학습 시스템.
[수학식 1]
(여기서, i는 도메인을 나타내며, L은 i 도메인에 속한 라벨 데이터를 나타냄. 또한, 은 i 도메인에 속한 라벨 데이터를 상기 인공지능 모델에 입력하여 도출되는 상기 제1 예측치 분포를 나타냄. 또한, 는 i 도메인에 속한 라벨 데이터를 상기 인공지능 모델에 입력하여 도출되는 상기 인공지능 모델에서의 제1 예측치를 나타냄)
[수학식 2]
(여기서, j는 도메인을 나타내며, U은 j 도메인에 속한 언라벨 데이터를 나타냄. 또한, 은 j 도메인에 속한 언라벨 데이터를 상기 인공지능 모델에 입력하여 도출되는 상기 제2 예측치 분포를 나타냄. 또한, 는 j 도메인에 속한 언라벨 데이터를 상기 인공지능 모델에 입력하여 도출되는 상기 인공지능 모델에서의 제2 예측치를 나타냄)
[수학식 3]
(여기서, 는 i 도메인에서의 상기 제1 예측치 분포와 j 도메인에서의 상기 제2 예측치 분포 간의 거리를 나타냄. 또한, 는 i 도메인에 속한 라벨 데이터를 상기 인공지능 모델에 입력하여 도출되는 제1 예측치를 나타내며, 는 j 도메인에 속한 언라벨 데이터를 상기 인공지능 모델에 입력하여 도출되는 제2 예측치를 나타냄. 또한, sup는 supremum(상한)을 의미함)
- 청구항 1에 있어서,
상기 데이터 선별부는, 군집화(clustering), 회귀분석(regression) 및 클래스 분류(classification) 기반의 셀렉터(selector)를 이용하여 상기 언라벨 데이터 중 불확실성이 상기 기준치 이상인 데이터를 선별하되, 불균형 경감기(unbalance alleviation)를 통해 선별된 각 도메인별 데이터 간의 개수 차이가 설정된 범위 내가 되도록 상기 데이터의 개수를 조정하는, 전주기 심층 능동학습 시스템.
- 청구항 1에 있어서,
상기 데이터 세트의 속성, 상기 인공지능 모델의 추론에 따른 예측치의 속성 및 상기 인공지능 모델의 종류 중 적어도 하나를 기반으로 상기 데이터 선별부에서의 데이터 선별 및 라벨링 작업의 진행여부를 추천하는 추천부를 더 포함하며,
상기 데이터 선별부는, 상기 추천부에서의 추천에 따른 사용자의 입력에 기반하여 상기 언라벨 데이터의 선별 및 라벨링 작업을 수행하는, 전주기 심층 능동학습 시스템.
- 청구항 1에 있어서,
상기 인공지능 모델의 성능을 측정하는 성능 측정부를 더 포함하며,
상기 데이터 학습부는, 상기 성능 측정부에서의 측정 결과 상기 인공지능 모델의 성능이 임계치 이상인 경우 상기 인공지능 모델의 학습을 종료하고 상기 인공지능 모델의 학습에 사용된 데이터 세트를 외부로 배포하고, 상기 성능 측정부에서의 측정 결과 상기 인공지능 모델의 성능이 상기 임계치 미만인 경우 상기 데이터 선별부로 성능 미달 메시지를 전달하며,
상기 데이터 선별부는, 상기 데이터 학습부로부터 상기 성능 미달 메시지를 수신하고, 상기 인공지능 모델의 성능이 상기 임계치 이상이 될 때까지 상기 데이터의 선별을 반복 수행하는, 전주기 심층 능동학습 시스템.
- 데이터 수집부에서, 서로 다른 도메인(domain)에 속하는 다수의 데이터 세트를 수집하는 단계;
데이터 분류부에서, 수집된 상기 데이터 세트를 각 도메인에 따라 분류하는 단계;
상기 데이터 분류부에서, 상기 각 도메인에 속한 상기 데이터 세트를 라벨 데이터(labeled data)와 언라벨 데이터(unlabeled data)로 분류하는 단계;
데이터 선별부에서, 상기 언라벨 데이터 중 불확실성이 기준치 이상인 데이터를 상기 각 도메인 별로 선별하는 단계;
상기 데이터 선별부에서, 선별된 상기 데이터를 라벨링하는 단계;
데이터 학습부에서, 라벨링된 상기 데이터를 상기 라벨 데이터에 포함시키는 단계; 및
상기 데이터 학습부에서, 상기 라벨 데이터로 상기 인공지능 모델을 학습하는 단계를 포함하며,
상기 데이터를 상기 각 도메인 별로 선별하는 단계는, 상기 인공지능 모델의 학습이 수행되는 동안 상기 각 도메인에 속한 라벨 데이터를 상기 인공지능 모델에 입력함으로써 도출되는 각 도메인별 상기 인공지능 모델에서의 제1 예측치 분포와, 상기 각 도메인에 속한 언라벨 데이터를 상기 인공지능 모델에 입력함으로써 도출되는 각 도메인별 상기 인공지능 모델에서의 제2 예측치 분포 간의 거리를 각각 측정하고, 상기 제1 예측치 분포와 상기 제2 예측치 분포 간의 거리가 최소화되는 방향으로 상기 언라벨 데이터 중 불확실성이 기준치 이상인 데이터를 선별하는, 전주기 심층 능동 학습 방법.
- 청구항 6에 있어서,
상기 데이터를 상기 각 도메인 별로 선별하는 단계는, 아래 수학식 1 내지 3을 이용하여 상기 제1 예측치 분포와 상기 제2 예측치 분포 간의 거리를 측정하는, 전주기 심층 능동 학습 방법.
[수학식 1]
(여기서, i는 도메인을 나타내며, L은 i 도메인에 속한 라벨 데이터를 나타냄. 또한, 은 i 도메인에 속한 라벨 데이터를 상기 인공지능 모델에 입력하여 도출되는 상기 제1 예측치 분포를 나타냄. 또한, 는 i 도메인에 속한 라벨 데이터를 상기 인공지능 모델에 입력하여 도출되는 상기 인공지능 모델에서의 제1 예측치를 나타냄)
[수학식 2]
(여기서, j는 도메인을 나타내며, U은 j 도메인에 속한 언라벨 데이터를 나타냄. 또한, 은 j 도메인에 속한 언라벨 데이터를 상기 인공지능 모델에 입력하여 도출되는 상기 제2 예측치 분포를 나타냄. 또한, 는 j 도메인에 속한 언라벨 데이터를 상기 인공지능 모델에 입력하여 도출되는 상기 인공지능 모델에서의 제2 예측치를 나타냄)
[수학식 3]
(여기서, 는 i 도메인에서의 상기 제1 예측치 분포와 j 도메인에서의 상기 제2 예측치 분포 간의 거리를 나타냄. 또한, 는 i 도메인에 속한 라벨 데이터를 상기 인공지능 모델에 입력하여 도출되는 제1 예측치를 나타내며, 는 j 도메인에 속한 언라벨 데이터를 상기 인공지능 모델에 입력하여 도출되는 제2 예측치를 나타냄. 또한, sup는 supremum(상한)을 의미함)
- 청구항 6에 있어서,
상기 데이터를 상기 각 도메인 별로 선별하는 단계는, 군집화(clustering), 회귀분석(regression) 및 클래스 분류(classification) 기반의 셀렉터(selector)를 이용하여 상기 언라벨 데이터 중 불확실성이 상기 기준치 이상인 데이터를 선별하되, 불균형 경감기(unbalance alleviation)를 통해 선별된 각 도메인별 데이터 간의 개수 차이가 설정된 범위 내가 되도록 상기 데이터의 개수를 조정하는, 전주기 심층 능동 학습 방법.
- 청구항 6에 있어서,
상기 데이터를 상기 각 도메인 별로 선별하는 단계 이전에,
추천부에서, 상기 데이터 세트의 속성, 상기 인공지능 모델의 추론에 따른 예측치의 속성 및 상기 인공지능 모델의 종류 중 적어도 하나를 기반으로 상기 데이터 선별부에서의 데이터 선별 및 라벨링 작업의 진행여부를 추천하는 단계; 및
상기 데이터 선별부에서, 상기 추천부에서의 추천에 따른 사용자의 입력에 기반하여 상기 언라벨 데이터의 선별 및 라벨링 작업을 수행하는 단계를 더 포함하는, 전주기 심층 능동 학습 방법.
- 청구항 6에 있어서,
상기 인공지능 모델을 학습하는 단계 이후,
성능 측정부에서, 상기 인공지능 모델의 성능을 측정하는 단계;
상기 데이터 학습부에서, 상기 성능 측정부에서의 측정 결과 상기 인공지능 모델의 성능이 임계치 이상인 경우 상기 인공지능 모델의 학습을 종료하고 상기 인공지능 모델의 학습에 사용된 데이터 세트를 외부로 배포하는 단계; 및
상기 데이터 학습부에서, 상기 성능 측정부에서의 측정 결과 상기 인공지능 모델의 성능이 상기 임계치 미만인 경우 상기 데이터 선별부로 성능 미달 메시지를 전달하는 단계를 더 포함하며,
상기 데이터를 상기 각 도메인 별로 선별하는 단계는, 상기 데이터 학습부로부터 상기 성능 미달 메시지를 수신하고, 상기 인공지능 모델의 성능이 상기 임계치 이상이 될 때까지 상기 데이터의 선별을 반복 수행하는, 전주기 심층 능동 학습 방법.
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020220165435A KR20240081811A (ko) | 2022-12-01 | 2022-12-01 | 전주기 심층 능동학습 기반 데이터 라벨링 시스템 및 방법 |
PCT/KR2022/019569 WO2024117339A1 (ko) | 2022-12-01 | 2022-12-05 | 심층능동학습을 통합한 데이터라벨링 시스템 및 방법 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020220165435A KR20240081811A (ko) | 2022-12-01 | 2022-12-01 | 전주기 심층 능동학습 기반 데이터 라벨링 시스템 및 방법 |
Publications (1)
Publication Number | Publication Date |
---|---|
KR20240081811A true KR20240081811A (ko) | 2024-06-10 |
Family
ID=91324123
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1020220165435A KR20240081811A (ko) | 2022-12-01 | 2022-12-01 | 전주기 심층 능동학습 기반 데이터 라벨링 시스템 및 방법 |
Country Status (2)
Country | Link |
---|---|
KR (1) | KR20240081811A (ko) |
WO (1) | WO2024117339A1 (ko) |
Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR20220047851A (ko) | 2019-08-22 | 2022-04-19 | 구글 엘엘씨 | 샘플 일치 평가를 통한 능동 학습 |
Family Cites Families (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20180032901A1 (en) * | 2016-07-27 | 2018-02-01 | International Business Machines Corporation | Greedy Active Learning for Reducing User Interaction |
KR102223687B1 (ko) * | 2018-12-28 | 2021-03-04 | 사단법인 한국인지과학산업협회 | 기계 학습 데이터 선택 방법 및 장치 |
KR20210026623A (ko) * | 2019-08-30 | 2021-03-10 | 삼성전자주식회사 | 인공지능 모델을 학습시키는 시스템 및 방법 |
US11551084B2 (en) * | 2019-12-20 | 2023-01-10 | Robert Bosch Gmbh | System and method of robust active learning method using noisy labels and domain adaptation |
-
2022
- 2022-12-01 KR KR1020220165435A patent/KR20240081811A/ko unknown
- 2022-12-05 WO PCT/KR2022/019569 patent/WO2024117339A1/ko unknown
Patent Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR20220047851A (ko) | 2019-08-22 | 2022-04-19 | 구글 엘엘씨 | 샘플 일치 평가를 통한 능동 학습 |
Also Published As
Publication number | Publication date |
---|---|
WO2024117339A1 (ko) | 2024-06-06 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US10832096B2 (en) | Representative-based metric learning for classification and few-shot object detection | |
CN112232293B (zh) | 图像处理模型训练、图像处理方法及相关设备 | |
US11176423B2 (en) | Edge-based adaptive machine learning for object recognition | |
US20190378044A1 (en) | Processing dynamic data within an adaptive oracle-trained learning system using curated training data for incremental re-training of a predictive model | |
WO2018121690A1 (zh) | 对象属性检测、神经网络训练、区域检测方法和装置 | |
US11887215B2 (en) | Image processing apparatus and method for style transformation | |
US11392855B1 (en) | GUI for configuring machine-learning services | |
CN109947989B (zh) | 用于处理视频的方法和装置 | |
US11182697B1 (en) | GUI for interacting with analytics provided by machine-learning services | |
KR20190029083A (ko) | 신경망 학습 방법 및 이를 적용한 장치 | |
CN110009155B (zh) | 业务区域配送难度的估计方法、装置和电子设备 | |
CN111949795A (zh) | 工单自动分类方法及装置 | |
CN112052818A (zh) | 无监督域适应的行人检测方法、系统及存储介质 | |
US20220180250A1 (en) | Processing dynamic data within an adaptive oracle-trained learning system using dynamic data set distribution optimization | |
CN111414874A (zh) | 基于人脸的驾驶风险预测方法、装置、设备和存储介质 | |
CN114118410A (zh) | 图结构的节点特征提取方法、设备及存储介质 | |
CN117540822A (zh) | 跨移动边缘网络的联邦类增量学习方法、设备和存储介质 | |
CN110059743B (zh) | 确定预测的可靠性度量的方法、设备和存储介质 | |
CN116468970A (zh) | 模型训练方法、图像处理方法、装置、设备及介质 | |
KR20240081811A (ko) | 전주기 심층 능동학습 기반 데이터 라벨링 시스템 및 방법 | |
CN114898184A (zh) | 模型训练方法、数据处理方法、装置及电子设备 | |
CN113609018A (zh) | 测试方法、训练方法、装置、设备、介质和程序产品 | |
CN117574160B (zh) | 媒体信息的标签识别方法、装置和存储介质及电子设备 | |
KR20240147601A (ko) | Ai 모델의 고도화를 자동적으로 수행하기 위한 방법, 장치 및 프로그램 | |
CN113642671A (zh) | 基于任务分布变化的半监督元学习方法及装置 |