KR102223687B1 - 기계 학습 데이터 선택 방법 및 장치 - Google Patents

기계 학습 데이터 선택 방법 및 장치 Download PDF

Info

Publication number
KR102223687B1
KR102223687B1 KR1020180173118A KR20180173118A KR102223687B1 KR 102223687 B1 KR102223687 B1 KR 102223687B1 KR 1020180173118 A KR1020180173118 A KR 1020180173118A KR 20180173118 A KR20180173118 A KR 20180173118A KR 102223687 B1 KR102223687 B1 KR 102223687B1
Authority
KR
South Korea
Prior art keywords
training data
tag
data
assigned
learning
Prior art date
Application number
KR1020180173118A
Other languages
English (en)
Other versions
KR20200082490A (ko
Inventor
주경돈
김철연
Original Assignee
사단법인 한국인지과학산업협회
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 사단법인 한국인지과학산업협회 filed Critical 사단법인 한국인지과학산업협회
Priority to KR1020180173118A priority Critical patent/KR102223687B1/ko
Priority to PCT/KR2018/016961 priority patent/WO2020138575A1/ko
Publication of KR20200082490A publication Critical patent/KR20200082490A/ko
Application granted granted Critical
Publication of KR102223687B1 publication Critical patent/KR102223687B1/ko

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N20/00Machine learning

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Software Systems (AREA)
  • Data Mining & Analysis (AREA)
  • Evolutionary Computation (AREA)
  • Medical Informatics (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Physics & Mathematics (AREA)
  • Computing Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Mathematical Physics (AREA)
  • Artificial Intelligence (AREA)
  • Machine Translation (AREA)

Abstract

본 개시는 효율적으로 기계 학습을 수행하기 위하여, 비용제한 하에 모델에 독립적인 트레이닝 데이터 선택에 관한 장치 및 그 방법에 대한 발명을 개시한다. 기계 학습(machine learning) 데이터 선택 방법은 태그가 할당되지 않은(unlabeled) 학습 데이터 세트(DU)를 수신하는 단계, 레이블링 비용 제약 조건 및 선별 비용 제약 조건을 수신하는 단계, 및 상기 레이블링 비용 제약 조건(
Figure 112018132060779-pat00153
) 및 상기 선별 비용 제약 조건(
Figure 112018132060779-pat00154
)에 기초하여, 상기 태그가 할당되지 않은 학습 데이터 세트(DU)로부터 최종 학습 데이터를 선택하는 단계를 포함하고, 레이블링 비용 제약 조건(
Figure 112018132060779-pat00155
)은 태그가 할당되는 학습 데이터 수의 최대 허용값을 나타내고, 상기 선별 비용 제약 조건(
Figure 112018132060779-pat00156
)은 사전 학습 모델(π)에 의해 학습되는 학습 데이터 수의 최대 허용값을 나타낸다.

Description

기계 학습 데이터 선택 방법 및 장치{METHOD FOR SELECTING MACHINE LEARNING TRAINING DATA AND APPARATUS THEREFOR}
본 개시는 효율적으로 기계 학습을 수행하기 위하여, 비용제한 하에 모델에 독립적인 트레이닝 데이터를 선택(Model-Independent Training Data Selection under Cost Constraints; MIDAS)하기 위한 방법 및 그 장치를 개시한다.
일반적으로 학습 데이터가 더 많을수록 기계 학습 모델은 더 정확한 학습 정확도를 보인다. 지도학습에서 사용하기 위한 학습 데이터에 레이블을 부여하기 위해서는 인적 자원을 사용하여야 하는데, 이는 경제적인 비용을 발생시키게 된다. 따라서 비용의 제한으로 인해 충분한 수의 학습 데이터를 구축하는 것을 달성할 수 없다면 제한된 수의 학습 데이터만을 가지고 딥러닝 모델의 정확도를 최대화할 수 있는 학습 데이터에 대한 선별이 필요하게 된다. 그러나 이러한 학습 데이터 선별을 위한 기존의 연구들은 학습 데이터에 레이블을 부여하기 위한 인적 자원에 대한 비용만을 고려하여 데이터 선별하여, 데이터 레이블을 부여하는 인적 자원 비용이 아닌 다른 비용에 대해서는 고려하지 못한다는 문제점을 가지고 있다.
본 개시에서는 학습 데이터에 태그를 할당하기 위해 사용되는 인적 자원에 대한 제약 조건뿐만 아니라, 학습 데이터를 선별하는 비용의 제약 조건을 추가한 강화된 제약 조건 하에서 학습 데이터 선별 문제를 새롭게 제시한다. 또한 본 개시는 제약 조건 하에서 학습 데이터 선별 문제를 해결하기 위한 새로운 알고리즘을 개시한다. 본 개시에서 제안한 알고리즘은 딥러닝 모델의 종류와 데이터 종류에 무관하게 적용할 수 있는 장점을 가지고 있다.
본 개시의 일 실시예에 따른 비용제한 하에 모델에 독립적인 기계 학습 데이터를 선택하는 방법은 태그가 할당되지 않은(unlabeled) 학습 데이터 세트(DU)를 수신하는 단계, 레이블링 비용 제약 조건(labeling cost constraint;
Figure 112018132060779-pat00001
) 및 선별 비용 제약 조건(selection cost constraint;
Figure 112018132060779-pat00002
)을 수신하는 단계, 및 레이블링 비용 제약 조건(
Figure 112018132060779-pat00003
) 및 선별 비용 제약 조건(
Figure 112018132060779-pat00004
)에 기초하여, 태그가 할당되지 않은 학습 데이터 세트(DU)로부터 최종 학습 데이터를 선택하는 단계를 포함하고, 레이블링 비용 제약 조건(
Figure 112018132060779-pat00005
)은 태그가 할당되는 학습 데이터 수의 최대 허용값을 나타내고, 선별 비용 제약 조건(
Figure 112018132060779-pat00006
)은 사전 학습 모델(π)에 의해 학습되는 학습 데이터 수의 최대 허용값을 나타내는 것을 특징으로 한다.
본 개시의 일 실시예에 따른 비용제한 하에 모델에 독립적인 기계 학습 데이터를 선택하는 방법은 태그가 할당되지 않은 학습 데이터 세트(DU)로부터 미리 결정된 수의 학습 데이터를 임의로 선택하는 단계, 및 선택된 학습 데이터에 태그를 할당하여 태그가 할당된 학습 데이터 세트(DL)를 생성하는 단계를 더 포함하는 것을 특징으로 한다.
본 개시의 일 실시예에 따른 비용제한 하에 모델에 독립적인 기계 학습 데이터를 선택하는 방법은, 레이블링 비용 제약 조건(
Figure 112018132060779-pat00007
)과 선별 비용 제약 조건(
Figure 112018132060779-pat00008
) 사이의 비율(r =
Figure 112018132060779-pat00009
/
Figure 112018132060779-pat00010
)을 결정하는 단계, 비율(r)에 1을 더한 값에 태그가 할당된 학습 데이터의 수(|DL|)를 곱한 값이 레이블링 비용 제약 조건(
Figure 112018132060779-pat00011
)보다 작거나 같은 경우, 태그가 할당된 학습 데이터 세트(DL)에 기초하여 사전 학습 모델(π)을 생성하는 단계, 비율(r), 태그가 할당된 학습 데이터의 수(|DL|) 및 사전 학습 모델(π)에 기초하여, 태그가 할당되지 않은 학습 데이터 세트(DU)로부터 태그를 할당할 학습 데이터를 선택하는 단계, 및 선택된 학습 데이터에 태그를 할당하여 태그가 할당된 학습 데이터 세트(DL)를 업데이트하는 단계를 포함하는, 것을 특징으로 한다.
본 개시의 일 실시예에 따른 비용제한 하에 모델에 독립적인 기계 학습 데이터를 선택하는 방법은 비율(r)에 1을 더한 값에 태그가 할당된 학습 데이터의 수(|DL|)를 곱한 값이 레이블링 비용 제약 조건(
Figure 112018132060779-pat00012
)보다 큰 경우, 태그가 할당된 학습 데이터 세트(DL)를 최종 학습 데이터로 결정하는 단계를 더 포함하는 것을 특징으로 한다.
본 개시의 일 실시예에 따른 비용제한 하에 모델에 독립적인 기계 학습 데이터를 선택하는 방법은 비율(r)에 태그가 할당된 학습 데이터의 수(|DL|)를 곱한 수만큼의 학습 데이터를 태그가 할당되지 않은 학습 데이터 세트(DU)로부터 선택하는 단계를 포함하는 것을 특징으로 한다.
본 개시의 일 실시예에 따른 비용제한 하에 모델에 독립적인 기계 학습 데이터를 선택하는 방법은 사전 학습 모델(π)에 기초하여, 태그가 할당되지 않은 학습 데이터 세트(DU) 내의 각 학습 데이터에 대한 불확실성(uncertainty)값을 계산하는 단계, 및 가장 높은 불확실성 값을 가지는 학습 데이터를 비율(r)에 태그가 할당된 학습 데이터의 수(|DL|)를 곱한 수만큼 선택하는 단계를 포함하는 것을 특징으로 한다.
본 개시의 일 실시예에 따른 비용제한 하에 모델에 독립적인 기계 학습 데이터를 선택하는 방법은 사전 학습 모델(π) 및 태그가 할당된 학습 데이터 세트(DL)에 기초하여, 복수의 불확실성 범위 각각에 대한 학습 데이터의 수를 나타내는 제1 히스토그램을 획득하는 단계, 태그가 할당된 학습 데이터의 수(|DL|) 및 확률 밀도 함수(probability density function)에 기초하여, 복수의 불확실성 범위 각각에 대한 학습 데이터의 수를 나타내는 제2 히스토그램을 획득하는 단계, 복수의 불확실성 범위 각각에 대한 제2 히스토그램의 값과 제1 히스토그램의 값의 차이에 기초하여, 복수의 불확실성 범위 각각에 대한 선택확률(p(x))을 결정하는 단계, 선택확률(p(x))에 기초하여 복수의 불확실성 범위 중 하나를 선택하는 단계, 및 태그가 할당되지 않은 학습 데이터 세트(DU) 중에서 선택된 불확실성 범위에 포함된 학습 데이터를 선택하는 단계를 포함하는 것을 특징으로 한다.
본 개시의 일 실시예에 따른 비용제한 하에 모델에 독립적인 기계 학습 데이터를 선택하는 방법의 확률 밀도 함수는 균일 분포(Uniform distribution) 또는 정규 분포(normal distribution)를 포함하는 것을 특징으로 한다.
본 개시의 일 실시예에 따른 비용제한 하에 모델에 독립적인 기계 학습 데이터를 선택하는 방법에서 제1 히스토그램을 획득하기 위한 복수의 불확실성 범위 중 i번째 불확실성 범위에 포함되는 학습 데이터의 수(hi)는,
Figure 112018132060779-pat00013
이고, U(π, dj)는 사전 학습 모델(π) 및 태그가 할당된 학습 데이터 세트(DL)에 포함된 데이터(dj)에 기초하여 결정된 불확실성값을 나타내고, b는 복수의 불확실성 범위의 개수를 나타내는 것을 특징으로 한다.
본 개시의 일 실시예에 따른 비용제한 하에 모델에 독립적인 기계 학습 데이터를 선택하는 방법에서 복수의 불확실성 범위 중 x번째 불확실성 범위의 선택확률(p(x))은,
Figure 112018132060779-pat00014
이고,
Figure 112018132060779-pat00015
는 x번째 불확실성 범위에 대한 제2 히스토그램의 값을 나타내고, c는 상수이고,
Figure 112018132060779-pat00016
는 x번째 불확실성 범위에 대한 제1 히스토그램의 값을 나타내고, b는 복수의 불확실성 범위의 개수를 나타내는 것을 특징으로 한다.
본 개시의 일 실시예에 따른 비용제한 하에 모델에 독립적인 기계 학습 데이터를 선택하는 장치는 프로세서 및 적어도 하나의 프로그램이 저장되는 메모리를 포함하고, 프로세서는 메모리에 저장된 명령어에 기초하여, 태그가 할당되지 않은(unlabeled) 학습 데이터 세트(DU)를 수신하는 단계, 레이블링 비용 제약 조건(labeling cost constraint;
Figure 112018132060779-pat00017
) 및 선별 비용 제약 조건(selection cost constraint;
Figure 112018132060779-pat00018
)을 수신하는 단계, 및 레이블링 비용 제약 조건(
Figure 112018132060779-pat00019
) 및 선별 비용 제약 조건(
Figure 112018132060779-pat00020
)에 기초하여, 태그가 할당되지 않은 학습 데이터 세트(DU)로부터 최종 학습 데이터를 선택하는 단계를 수행하고, 레이블링 비용 제약 조건(
Figure 112018132060779-pat00021
)은 태그가 할당되는 학습 데이터 수의 최대 허용값을 나타내고, 선별 비용 제약 조건(
Figure 112018132060779-pat00022
)은 사전 학습 모델(π)에 의해 학습되는 학습 데이터 수의 최대 허용값을 나타내는 것을 특징으로 한다.
또한, 상술한 바와 같은 비용제한 하에 모델에 독립적인 트레이닝 데이터 선택(Model-Independent Training Data Selection under Cost Constraints; MIDAS)을 위한 방법을 구현하기 위한 프로그램은 컴퓨터로 판독 가능한 기록 매체에 기록될 수 있다.
도 1은 본 개시의 일 실시예에 따른 액티브 러닝 기법을 나타내는 도면이다.
도 2는 본 개시의 일 실시예에 따른 기계 학습(machine learning) 데이터 선택 방법을 나타낸 흐름도이다.
도 3은 본 개시의 일 실시예에 따른 액티브 러닝(active learning)의 수도 코드(pseudo code)이다.
도 4는 레이블링 비용 제약 조건(
Figure 112018132060779-pat00023
) 및 선별 비용 제약 조건(
Figure 112018132060779-pat00024
) 하에 태그를 할당할 데이터를 선택하는 과정을 나타내는 수도 코드이다.
도 5는 본 개시의 일 실시예에 따른 방법에 의하여 태그가 할당된 트레이닝 데이터 세트(DL)가 변화되는 것을 나타낸 표이다.
도 6은 본 개시의 일 실시예에 따른 태그 할당 데이터를 획득하는 방법을 나타내는 수도 코드이다.
도 7은 본 개시의 일 실시예에 따른 Top-K 알고리즘을 나타내는 수도 코드이다.
도 8은 본 개시의 일 실시예에 따라 태그가 할당되지 않은 학습 데이터의 불확실성의 분포를 나타낸 히스토그램이다.
도 9는 본 개시의 일 실시예에 따라 확률 밀도 함수(PDF)에 기반하여 학습 데이터를 선택하는 과정을 나타내는 수도 코드이다.
도 10은 본 개시의 일 실시예에 따라 균일 분포 또는 정규 분포에 따라 학습 데이터의 선택을 설명하기 위한 도면이다.
도 11은 Fashion MNIST, Cifar-10, IMDB 데이터 세트의 일 예시를 나타낸 표이다.
도 12는 다양한 학습 데이터 선택 방법에 따른 성능을 나타내는 도면이다.
도 13은 학습 데이터의 개수에 따라 기계 학습에 걸리는 시간 및 정확도를 나타내는 그래프를 나타낸다.
도 14는 Core-set, Adversarial 및 MIDAS-Uniform에 기초한 기계 학습 모델의 정확성을 비교한 표이다.
개시된 실시예의 이점 및 특징, 그리고 그것들을 달성하는 방법은 첨부되는 도면과 함께 후술되어 있는 실시예들을 참조하면 명확해질 것이다. 그러나 본 개시는 이하에서 개시되는 실시예들에 한정되는 것이 아니라 서로 다른 다양한 형태로 구현될 수 있으며, 단지 본 실시예들은 본 개시가 완전하도록 하고, 본 개시가 속하는 기술분야에서 통상의 지식을 가진 자에게 발명의 범주를 완전하게 알려주기 위해 제공되는 것일 뿐이다.
본 명세서에서 사용되는 용어에 대해 간략히 설명하고, 개시된 실시예에 대해 구체적으로 설명하기로 한다.
본 명세서에서 사용되는 용어는 본 개시에서의 기능을 고려하면서 가능한 현재 널리 사용되는 일반적인 용어들을 선택하였으나, 이는 관련 분야에 종사하는 기술자의 의도 또는 판례, 새로운 기술의 출현 등에 따라 달라질 수 있다. 또한, 특정한 경우는 출원인이 임의로 선정한 용어도 있으며, 이 경우 해당되는 발명의 설명 부분에서 상세히 그 의미를 기재할 것이다. 따라서 본 개시에서 사용되는 용어는 단순한 용어의 명칭이 아닌, 그 용어가 가지는 의미와 본 개시의 전반에 걸친 내용을 토대로 정의되어야 한다.
본 명세서에서의 단수의 표현은 문맥상 명백하게 단수인 것으로 특정하지 않는 한, 복수의 표현을 포함한다. 또한 복수의 표현은 문맥상 명백하게 복수인 것으로 특정하지 않는 한, 단수의 표현을 포함한다.
명세서 전체에서 어떤 부분이 어떤 구성요소를 "포함"한다고 할 때, 이는 특별히 반대되는 기재가 없는 한 다른 구성요소를 제외하는 것이 아니라 다른 구성요소를 더 포함할 수 있음을 의미한다.
또한, 명세서에서 사용되는 "부"라는 용어는 소프트웨어 또는 하드웨어 구성요소를 의미하며, "부"는 어떤 역할들을 수행한다. 그렇지만 "부"는 소프트웨어 또는 하드웨어에 한정되는 의미는 아니다. "부"는 어드레싱할 수 있는 저장 매체에 있도록 구성될 수도 있고 하나 또는 그 이상의 프로세서들을 재생시키도록 구성될 수도 있다. 따라서, 일 예로서 "부"는 소프트웨어 구성요소들, 객체지향 소프트웨어 구성요소들, 클래스 구성요소들 및 태스크 구성요소들과 같은 구성요소들과, 프로세스들, 함수들, 속성들, 프로시저들, 서브루틴들, 프로그램 코드의 세그먼트들, 드라이버들, 펌웨어, 마이크로 코드, 회로, 데이터, 데이터베이스, 데이터 구조들, 테이블들, 어레이들 및 변수들을 포함한다. 구성요소들과 "부"들 안에서 제공되는 기능은 더 작은 수의 구성요소들 및 "부"들로 결합되거나 추가적인 구성요소들과 "부"들로 더 분리될 수 있다.
본 개시의 일 실시예에 따르면 "부"는 프로세서 및 메모리로 구현될 수 있다. 용어 "프로세서"는 범용 프로세서, 중앙 처리 장치 (CPU), 마이크로프로세서, 디지털 신호 프로세서 (DSP), 제어기, 마이크로제어기, 상태 머신 등을 포함하도록 넓게 해석되어야 한다. 몇몇 환경에서는, "프로세서"는 주문형 반도체 (ASIC), 프로그램가능 로직 디바이스 (PLD), 필드 프로그램가능 게이트 어레이 (FPGA) 등을 지칭할 수도 있다. 용어 "프로세서" 는, 예를 들어, DSP 와 마이크로프로세서의 조합, 복수의 마이크로프로세서들의 조합, DSP 코어와 결합한 하나 이상의 마이크로프로세서들의 조합, 또는 임의의 다른 그러한 구성들의 조합과 같은 처리 디바이스들의 조합을 지칭할 수도 있다.
용어 "메모리"는 전자 정보를 저장 가능한 임의의 전자 컴포넌트를 포함하도록 넓게 해석되어야 한다. 용어 메모리는 임의 액세스 메모리 (RAM), 판독-전용 메모리 (ROM), 비-휘발성 임의 액세스 메모리 (NVRAM), 프로그램가능 판독-전용 메모리 (PROM), 소거-프로그램가능 판독 전용 메모리 (EPROM), 전기적으로 소거가능 PROM (EEPROM), 플래쉬 메모리, 자기 또는 광학 데이터 저장장치, 레지스터들 등과 같은 프로세서-판독가능 매체의 다양한 유형들을 지칭할 수도 있다. 프로세서가 메모리로부터 정보를 판독하고/하거나 메모리에 정보를 기록할 수 있다면 메모리는 프로세서와 전자 통신 상태에 있다고 불린다. 프로세서에 집적된 메모리는 프로세서와 전자 통신 상태에 있다.
아래에서는 첨부한 도면을 참고하여 실시예에 대하여 본 개시가 속하는 기술 분야에서 통상의 지식을 가진 자가 용이하게 실시할 수 있도록 상세히 설명한다. 그리고 도면에서 본 개시를 명확하게 설명하기 위해서 설명과 관계없는 부분은 생략한다.
본 개시의 일 실시예에 따른 프로세서는 데이터 학습부 또는 데이터 인식부 중 적어도 하나를 포함할 수 있다.
데이터 학습부는 제1 데이터와 제2 데이터의 관계를 학습하여 데이터 학습모델을 획득할 수 있다. 데이터 인식부는 학습된 데이터 학습모델을 이용하여, 소정의 입력 데이터로부터 출력을 생성할 수 있다. 또한, 획득된 데이터를 입력 값으로 하여 데이터 학습모델에 의해 출력된 결과 값은, 데이터 학습모델을 갱신하는데 이용될 수 있다.
데이터 학습부 및 데이터 인식부 중 적어도 하나는, 적어도 하나의 하드웨어 칩 형태로 제작되어 전자 장치에 탑재될 수 있다. 예를 들어, 데이터 학습부 및 데이터 인식부 중 적어도 하나는 인공 지능(AI; artificial intelligence)을 위한 전용 하드웨어 칩 형태로 제작될 수도 있고, 또는 기존의 범용 프로세서(예: CPU 또는 application processor) 또는 그래픽 전용 프로세서(예: GPU)의 일부로 제작되어 전술한 각종 전자 장치에 탑재될 수도 있다.
또한 데이터 학습부 및 데이터 인식부는 별개의 전자 장치들에 각각 탑재될 수도 있다. 예를 들어, 데이터 학습부 및 데이터 인식부 중 하나는 전자 장치에 포함되고, 나머지 하나는 서버에 포함될 수 있다. 또한, 데이터 학습부 및 데이터 인식부는 유선 또는 무선으로 통하여, 데이터 학습부가 구축한 모델 정보를 데이터 인식부로 제공할 수도 있고, 데이터 인식부로 입력된 데이터가 추가 학습 데이터로써 데이터 학습부로 제공될 수도 있다.
한편, 데이터 학습부 및 데이터 인식부 중 적어도 하나는 소프트웨어 모듈로 구현될 수 있다. 데이터 학습부 및 데이터 인식부 중 적어도 하나가 소프트웨어 모듈(또는, 인스트럭션(instruction) 포함하는 프로그램 모듈)로 구현되는 경우, 소프트웨어 모듈은 메모리 또는 컴퓨터로 읽을 수 있는 판독 가능한 비일시적 판독 가능 기록매체(non-transitory computer readable media)에 저장될 수 있다. 또한, 이 경우, 적어도 하나의 소프트웨어 모듈은 OS(Operating System)에 의해 제공되거나, 소정의 애플리케이션에 의해 제공될 수 있다. 또는, 적어도 하나의 소프트웨어 모듈 중 일부는 OS(Operating System)에 의해 제공되고, 나머지 일부는 소정의 애플리케이션에 의해 제공될 수 있다.
본 개시의 일 실시예에 따른 데이터 학습부는 데이터 획득부, 전처리부, 학습 데이터 선택부, 모델 학습부 및 모델 평가부를 포함할 수 있다.
데이터 획득부는 제1 데이터 및 제2 데이터의 관계를 학습하기 위해 필요한 데이터를 획득할 수 있다. 획득된 데이터는 가공되지 않은 데이터(raw data)일 수 있다.
전처리부는 외부 장치 또는 사용자의 입력으로부터 출력을 생성하기 위해 획득된 데이터가 기계 학습에 이용될 수 있도록, 획득된 데이터를 전처리할 수 있다. 전처리부는 후술할 모델 학습부가 획득된 데이터를 이용할 수 있도록, 획득된 데이터를 미리 설정된 포맷으로 가공할 수 있다. 예를 들어 전처리부는 가공되지 않은 데이터 중 일부 데이터에 대하여 태그를 할당하여 레이블(label)할 수 있다. 즉, 가공되지 않은 데이터는 태그가 할당된 데이터(또는 레이블링된 데이터; labeled data) 및 태그가 할당되지 않은 데이터(또는 레이블링되지 않은; unlabeled data)를 포함할 수 있다.
학습 데이터 선택부는 전처리된 데이터 중에서 학습에 필요한 데이터를 선택할 수 있다. 선택된 데이터는 모델 학습부에 제공될 수 있다. 학습 데이터 선택부는 태그가 할당된 데이터 중 적어도 일부 데이터를 선택할 수 있다. 또한, 학습 데이터 선택부는 태그가 할당되지 않은 데이터 중 적어도 일부 데이터에 태그를 할당하여 선택할 수 있다.
모델 학습부는 학습 데이터에 기초하여 제1 데이터와 제2 데이터의 관계를 결정하기 위한 기준을 학습할 수 있다. 또한, 모델 학습부는 제1 데이터와 제2 데이터의 관계에 대한 데이터 학습모델을 학습 데이터로써 이용하여 학습할 수 있다. 이 경우, 데이터 학습모델은 미리 구축된 모델일 수 있다. 예를 들어, 데이터 학습모델은 기본 학습 데이터(예를 들어, 샘플 이미지 등)에 기초하여 미리 구축된 모델일 수 있다.
데이터 학습모델은, 학습모델의 적용 분야, 학습의 목적 또는 장치의 컴퓨터 성능 등을 고려하여 구축될 수 있다. 데이터 학습모델은, 예를 들어, 신경망(Neural Network)을 기반으로 하는 모델일 수 있다. 예컨대, Deep Neural Network (DNN), Recurrent Neural Network (RNN), Long Short-Term Memory models (LSTM), BRDNN (Bidirectional Recurrent Deep Neural Network), Convolutional Neural Networks (CNN)과 같은 모델이 데이터 학습모델로써 사용될 수 있으나, 이에 한정되지 않는다.
다양한 실시예에 따르면, 모델 학습부는 미리 구축된 데이터 학습모델이 복수 개가 존재하는 경우, 입력된 학습 데이터와 기본 학습 데이터의 관련성이 큰 데이터 학습모델을 학습할 데이터 학습모델로 결정할 수 있다. 이 경우, 기본 학습 데이터는 데이터의 타입 별로 기 분류되어 있을 수 있으며, 데이터 학습모델은 데이터의 타입 별로 미리 구축되어 있을 수 있다. 예를 들어, 기본 학습 데이터는 학습 데이터가 생성된 지역, 학습 데이터가 생성된 시간, 학습 데이터의 크기, 학습 데이터의 장르, 학습 데이터의 생성자, 학습 데이터 내의 오브젝트의 종류 등과 같은 다양한 기준으로 기 분류되어 있을 수 있다.
또한, 모델 학습부는, 예를 들어, 오류 역전파법(error back-propagation) 또는 경사 하강법(gradient descent)을 포함하는 학습 알고리즘 등을 이용하여 데이터 학습모델을 학습시킬 수 있다.
또한, 모델 학습부는, 예를 들어, 학습 데이터를 입력 값으로 하는 지도 학습(supervised learning)을 통하여, 데이터 학습모델을 학습할 수 있다. 또한, 모델 학습부는, 예를 들어, 별다른 지도없이 상황 판단을 위해 필요한 데이터의 종류를 스스로 학습함으로써, 상황 판단을 위한 기준을 발견하는 비지도 학습(unsupervised learning)을 통하여, 데이터 학습모델을 학습할 수 있다. 또한, 모델 학습부는, 예를 들어, 학습에 따른 상황 판단의 결과가 올바른 지에 대한 피드백을 이용하는 강화 학습(reinforcement learning)을 통하여, 데이터 학습모델을 학습할 수 있다.
또한, 데이터 학습모델이 학습되면, 모델 학습부는 학습된 데이터 학습모델을 저장할 수 있다. 이 경우, 모델 학습부는 학습된 데이터 학습모델을 데이터 인식부를 포함하는 전자 장치의 메모리에 저장할 수 있다. 또는, 모델 학습부는 학습된 데이터 학습모델을 전자 장치와 유선 또는 무선 네트워크로 연결되는 서버의 메모리에 저장할 수도 있다.
이 경우, 학습된 데이터 학습모델이 저장되는 메모리는, 예를 들면, 전자 장치의 적어도 하나의 다른 구성요소에 관계된 명령 또는 데이터를 함께 저장할 수도 있다. 또한, 메모리는 소프트웨어 및/또는 프로그램을 저장할 수도 있다. 프로그램은, 예를 들면, 커널, 미들웨어, 어플리케이션 프로그래밍 인터페이스(API) 및/또는 어플리케이션 프로그램(또는 "어플리케이션") 등을 포함할 수 있다.
모델 평가부는 데이터 학습모델에 평가 데이터를 입력하고, 평가 데이터로부터 출력되는 인식 결과가 소정 기준을 만족하지 못하는 경우, 모델 학습부로 하여금 다시 학습하도록 할 수 있다. 이 경우, 평가 데이터는 데이터 학습모델을 평가하기 위한 기 설정된 데이터일 수 있다.
예를 들어, 모델 평가부는 평가 데이터에 대한 학습된 데이터 학습모델의 인식 결과 중에서, 인식 결과가 정확하지 않은 평가 데이터의 개수 또는 비율이 미리 설정된 임계치를 초과하는 경우 소정 기준을 만족하지 못한 것으로 평가할 수 있다. 예컨대, 소정 기준이 비율 2%로 정의되는 경우, 학습된 데이터 학습모델이 총 1000개의 평가 데이터 중의 20개를 초과하는 평가 데이터에 대하여 잘못된 인식 결과를 출력하는 경우, 모델 평가부는 학습된 데이터 학습모델이 적합하지 않은 것으로 평가할 수 있다.
한편, 학습된 데이터 학습모델이 복수 개가 존재하는 경우, 모델 평가부는 각각의 학습된 동영상 학습모델에 대하여 소정 기준을 만족하는지를 평가하고, 소정 기준을 만족하는 모델을 최종 데이터 학습모델로써 결정할 수 있다. 이 경우, 소정 기준을 만족하는 모델이 복수 개인 경우, 모델 평가부는 평가 점수가 높은 순으로 미리 설정된 어느 하나 또는 소정 개수의 모델을 최종 데이터 학습모델로써 결정할 수 있다.
한편, 데이터 학습부 내의 데이터 획득부, 전처리부, 학습 데이터 선택부, 모델 학습부 및 모델 평가부 중 적어도 하나는, 적어도 하나의 하드웨어 칩 형태로 제작되어 전자 장치에 탑재될 수 있다. 예를 들어, 데이터 획득부, 전처리부, 학습 데이터 선택부, 모델 학습부 및 모델 평가부 중 적어도 하나는 인공 지능(AI; artificial intelligence)을 위한 전용 하드웨어 칩 형태로 제작될 수도 있고, 또는 기존의 범용 프로세서(예: CPU 또는 application processor) 또는 그래픽 전용 프로세서(예: GPU)의 일부로 제작되어 전술한 각종 전자 장치에 탑재될 수도 있다.
또한, 데이터 획득부, 전처리부, 학습 데이터 선택부, 모델 학습부 및 모델 평가부는 하나의 전자 장치에 탑재될 수도 있으며, 또는 별개의 전자 장치들에 각각 탑재될 수도 있다. 예를 들어, 데이터 획득부, 전처리부, 학습 데이터 선택부, 모델 학습부 및 모델 평가부 중 일부는 전자 장치에 포함되고, 나머지 일부는 서버에 포함될 수 있다.
또한, 데이터 획득부, 전처리부, 학습 데이터 선택부, 모델 학습부 및 모델 평가부 중 적어도 하나는 소프트웨어 모듈로 구현될 수 있다. 데이터 획득부, 전처리부, 학습 데이터 선택부, 모델 학습부 및 모델 평가부 중 적어도 하나가 소프트웨어 모듈(또는, 인스트럭션(instruction) 포함하는 프로그램 모듈)로 구현되는 경우, 소프트웨어 모듈은 컴퓨터로 읽을 수 있는 판독 가능한 비일시적 판독 가능 기록매체(non-transitory computer readable media)에 저장될 수 있다. 또한, 이 경우, 적어도 하나의 소프트웨어 모듈은 OS(Operating System)에 의해 제공되거나, 소정의 애플리케이션에 의해 제공될 수 있다. 또는, 적어도 하나의 소프트웨어 모듈 중 일부는 OS(Operating System)에 의해 제공되고, 나머지 일부는 소정의 애플리케이션에 의해 제공될 수 있다.
본 개시의 일 실시예에 따른 데이터 인식부는 데이터 획득부, 전처리부, 인식 데이터 선택부, 인식 결과 제공부 및 모델 갱신부를 포함할 수 있다.
데이터 획득부는 제1 데이터를 획득할 수 있으며, 전처리부는 사용자의 대화문에 대한 응답을 생성하기 위해 획득된 데이터가 이용될 수 있도록, 획득된 데이터를 전처리할 수 있다. 전처리부는 후술할 인식 결과 제공부가 제1 데이터로부터 제2 데이터를 획득할 수 있도록, 획득된 제1 데이터를 기 설정된 포맷으로 가공할 수 있다.
인식 데이터 선택부는 전처리된 제1 데이터 중에서 제2 데이터 생성에 필요한 데이터를 선택할 수 있다. 선택된 제1데이터는 인식 결과 제공부에게 제공될 수 있다. 인식 데이터 선택부는 제2 데이터를 생성하기 위한 기 설정된 기준에 따라, 전처리된 데이터 중에서 일부 또는 전부를 선택할 수 있다. 또한, 인식 데이터 선택부는 모델 학습부에 의한 학습에 의해 기 설정된 기준에 따라 데이터를 선택할 수도 있다.
인식 결과 제공부는 선택된 데이터를 데이터 학습모델에 적용하여 사용자의 대화문에 대한 응답을 생성할 수 있다. 인식 결과 제공부는 데이터의 인식 목적에 따른 인식 결과를 제공할 수 있다. 인식 결과 제공부는 인식 데이터 선택부에 의해 선택된 데이터를 입력 값으로 이용함으로써, 선택된 데이터를 데이터 학습모델에 적용할 수 있다. 또한, 인식 결과는 데이터 학습모델에 의해 결정될 수 있다.
모델 갱신부는 인식 결과 제공부에 의해 제공되는 인식 결과에 대한 평가에 기초하여, 데이터 학습모델이 갱신되도록할 수 있다. 예를 들어, 모델 갱신부는 인식 결과 제공부에 의해 제공되는 인식 결과를 모델 학습부에게 제공함으로써, 모델 학습부가 데이터 학습모델을 갱신하도록 할 수 있다.
한편, 데이터 인식부 내의 데이터 획득부, 전처리부, 인식 데이터 선택부, 인식 결과 제공부 및 모델 갱신부 중 적어도 하나는, 적어도 하나의 하드웨어 칩 형태로 제작되어 전자 장치에 탑재될 수 있다. 예를 들어, 데이터 획득부, 전처리부, 인식 데이터 선택부, 인식 결과 제공부 및 모델 갱신부 중 적어도 하나는 인공 지능(AI; artificial intelligence)을 위한 전용 하드웨어 칩 형태로 제작될 수도 있고, 또는 기존의 범용 프로세서(예: CPU 또는 application processor) 또는 그래픽 전용 프로세서(예: GPU)의 일부로 제작되어 전술한 각종 전자 장치에 탑재될 수도 있다.
또한, 데이터 획득부, 전처리부, 인식 데이터 선택부, 인식 결과 제공부 및 모델 갱신부는 하나의 전자 장치에 탑재될 수도 있으며, 또는 별개의 전자 장치들에 각각 탑재될 수도 있다. 예를 들어, 데이터 획득부, 전처리부, 인식 데이터 선택부, 인식 결과 제공부 및 모델 갱신부 중 일부는 전자 장치에 포함되고, 나머지 일부는 서버에 포함될 수 있다.
또한, 데이터 획득부, 전처리부, 인식 데이터 선택부, 인식 결과 제공부 및 모델 갱신부 중 적어도 하나는 소프트웨어 모듈로 구현될 수 있다. 데이터 획득부, 전처리부, 인식 데이터 선택부, 인식 결과 제공부 및 모델 갱신부 중 적어도 하나가 소프트웨어 모듈(또는, 인스트럭션(instruction) 포함하는 프로그램 모듈)로 구현되는 경우, 소프트웨어 모듈은 컴퓨터로 읽을 수 있는 판독 가능한 비일시적 판독 가능 기록매체(non-transitory computer readable media)에 저장될 수 있다. 또한, 이 경우, 적어도 하나의 소프트웨어 모듈은 OS(Operating System)에 의해 제공되거나, 소정의 애플리케이션에 의해 제공될 수 있다. 또는, 적어도 하나의 소프트웨어 모듈 중 일부는 OS(Operating System)에 의해 제공되고, 나머지 일부는 소정의 애플리케이션에 의해 제공될 수 있다.
섹션 1. 서론
빅데이터와 이를 실용적인 시간내에 처리할 수 있는 하드웨어의 발전은 딥러닝의 활성화를 견인하였다. 딥러닝 모델의 정확도를 학습 데이터의 관점에서 바라보면, 일반적으로 학습 데이터가 더 많을수록 딥러닝 모델은 더 정확한 학습 정확도를 보인다. 딥러닝을 포함한 기계 학습은 인간이 정답을 부여한 데이터, 태그가 할당된 데이터에 기반한 지도학습과 정답이 부여되지 않은 데이터에 기반하여 주어진 목표에 따른 비지도 학습으로 나뉘어 지는데 일반적으로 지도학습이 비지도학습보다 높은 정확도를 보인다. 지도학습에서 사용되는 학습 데이터에 태그를 부여하기 위해서는 인적 자원을 사용하여야 하는데, 이는 경제적인 비용을 발생시키게 된다. 즉, 학습 데이터의 크기가 커질수록 딥러닝 모델의 학습 정확도가 높아지는 긍정적인 측면과 함께 학습 데이터 구축에 소요되는 비용과 딥러닝 모델의 학습에 소요되는 비용(시간 비용 등)은 학습 데이터의 크기에 비례하여 증가하게 된다.
만약 비용의 제한으로 인해 충분한 수의 학습 데이터를 구축하는 것을 달성할 수 없다면, 제한된 수의 학습 데이터만을 가지고 딥러닝 모델의 학습을 진행하여야 할 것이다. 이때에 구체적으로는 학습 데이터의 개수뿐만 아니라, 구성의 질에 따라서 딥러닝 모델의 정확도는 영향을 받게 된다. 즉, 같은 개수의 학습 데이터라도 구성이 좋은 데이터로 이루어진 세트가 더 높은 딥러닝 학습의 정확도를 보인다. 따라서 제한된 비용은 제한된 수의 학습 데이터라는 제약 조건을 야기하며, 이러한 제약 조건 하에서 딥러닝 모델의 정확도를 최대화할 수 있는 학습 데이터에 대한 선별이 필요하게 된다.
학습 데이터 선별 시나리오는 데이터 수집 비용, 정답 태그 할당 비용, 학습 비용의 상황에 따라 크게 다음의 세 가지로 분류할 수 있다. 먼저, i) 시나리오 1: 태그가 할당 되어 있는 대량의 데이터가 있지만 이 중 일부를 선별하여 학습하는 경우가 있을 수 있다. 다음으로 ii) 시나리오 2: 태그가 할당 되지 않은 대량의 데이터 풀(pool)에서 태그를 할당할 데이터 대상을 선별하여 학습하는 경우가 있을 수 있다. 마지막으로 iii) 시나리오 3: 데이터가 수집 되어 있지 않은 상황에서 필요한 데이터를 선별하여 수집하고 정답 태그를 할당 한 후 학습을 진행하는 경우가 있을 수 있다.
위의 지도 학습의 세 가지 시나리오는 모두 제한된 비용의 제약 조건에서 최선의 정확도를 도출한다는 공통적인 목표를 가진다. 차별점으로는 제한된 비용이라는 제약 조건이 구체적으로 다르게 구성된다. 시나리오 1은 제한된 학습 비용의 제약 조건하에서 정확도를 최대한 높이는 것을 목표로 한다. 학습 비용(또는 선별 비용)이란 기계 학습 모델의 학습을 위하여 투입되는 시간적 경제적 비용을 의미한다.
시나리오 2는 제한된 태그 할당 비용과 학습 비용의 제약 조건 하에서 정확도를 최대한 높이는 것을 목표로 한다. 태그 할당 비용(또는 레이블링 비용)이란 인간 전문가가 태그가 할당되지 않은(unlabeled) 데이터에 정답 태그를 할당하는 시간적, 경제적 비용을 의미한다. 시나리오 3은 제한된 데이터 수집 비용과, 레이블링 비용, 학습 비용의 제약 조건 하에서 정확도를 최대한 높이는 것을 목표로 한다. 데이터 수집 비용은 가공되지 않은 데이터(raw data)를 수집하여 정제하는 시간적 경제적 비용을 의미한다. 시나리오 3은 추가적으로 해당 분야에 적정한 데이터의 수집을 위한 데이터의 유효성 확인(validation)과 유효성 검증(verification) 등의 프로세스를 포함한 데이터 수집 비용의 감소와도 관련이 있다.
도 1은 본 개시의 일 실시예에 따른 액티브 러닝 기법을 나타내는 도면이다. 본 개시는 시나리오 2에 초점을 맞추고 있다. 도 1에 따르면, 프로세서는 태그가 할당되지 않은 데이터 풀(110)에서 학습 데이터를 선택하여 휴먼 어노테이터(120; human annotator)에게 출력할 수 있다. 프로세서는 휴먼 어노테이터(120)로부터 태그 데이터를 수신하여, 선택된 학습 데이터에 태그를 할당함으로써, 태그가 할당된 데이터 세트(130)를 획득할 수 있다.
프로세서는 태그가 할당된 데이터 세트(130)를 이용하여 기계 학습을 수행하여 기계 학습 모델(140; 또는 사전 학습 모델)을 획득할 수 있다. 프로세서는 기계 학습 모델(140)을 분석하여 분석된 데이터 풀을 획득할 수 있다. 프로세서는 분석된 데이터 풀에 기초하여 태그가 할당되지 않은 데이터 풀(110)로부터 기계 학습에 도움이 되는 데이터를 선택할 수 있다.
일 실시예에 따르면, 프로세서는 레이블링 비용 제약 조건 및 선별 비용 제약 조건을 모두 고려하여 태그가 할당되지 않은 데이터 풀(110)로부터 학습 데이터를 선택할 수 있다. 여기서, 레이블링 비용 제약 조건은 태그가 할당되는 학습 데이터 수의 최대 허용값을 나타내고, 선별 비용 제약 조건은 머신 러닝 모델에 의해 학습되는 학습 데이터 수의 최대 허용값을 나타낼 수 있다. 프로세서는 선택된 학습 데이터에 태그를 할당하도록 휴먼 어노테이터(120)에게 요청할 수 있다. 프로세서는 최종 학습 데이터 세트를 도출할 때까지, 위와 같은 과정을 반복할 수 있다.
일반적으로 프로세서는 사전 학습 모델(또는 선행 모델)을 통해 태그가 할당되지 않은 데이터의 성향 정보를 유추할 수 있다. 사전 학습 모델은 태그가 할당되지 않은 데이터의 경향 정보(propensity information)를 획득하기 위한 분류기(classifier)다. 프로세서는 성향 정보를 기반으로 데이터 선별 전략을 수립하여 태그를 할당할 데이터 객체들을 선택할 수 있다. 프로세서는 사전 학습 모델의 생성을 위해 사용되었던 기존의 학습 데이터에 새롭게 선택된 학습 데이터 객체들을 합하여 사전 학습 모델을 갱신할 수 있다.
프로세서는 그 다음 반복 절차(iteration)에서 갱신된 사전 학습 모델을 사용하여 태그를 할당할 데이터 객체들을 추가로 선택하는 과정을 전체 목표한 수의 레이블링 데이터 객체들이 선택될 때까지 반복할 수 있다. 이때에 반복 절차(iteration)가 많아질수록, 모델의 학습 비용은 증가하게 된다. 이는 매번의 반복 절차(iteration)마다 새롭게 레이블링되는 데이터 객체를 추가한 사전 학습 모델의 학습이 필요하기 때문이다.
이렇게 추가되는 사전 학습 비용으로 대표되는 선별 비용은 최종적으로 선택되는 모든 학습 데이터의 크기 τ에 대해서 O(τ2)의 비용을 초래함에도 불구하고 기존의 연구들은 이러한 선별 비용에 대한 제약을 두지 않고 있다. 그러나 이러한 과도한 선별 비용은 본래의 목표 중의 하나인 학습 시간을 줄이는 목적을 달성할 수 없게 만들게 되며 더 나아가 선택하고자 하는 데이터의 크기, τ가 클 경우, 이렇게 추가되는 선별 비용의 부담이 매우 커져서 레이블링 비용의 감소를 무의미하게 만들 수 있다.
반복과정(Iterative process)에 따른 선별 비용 증가의 예는 다음과 같다. 전체 태그가 할당되지 않은 데이터의 개수가 10만개가 있고, 이 중 1000개의 데이터에 대해 무작위(random)로 태그를 할당(labeling)하고, 이를 학습한 사전 학습 모델을 통해 추가로 9000개의 데이터에 대해 태그를 할당(labeling)하여 총 1만개의 데이터로 학습을 하고자 한다. 싱글 모드(single mode)는 액티브 러닝의 반복 절차(iteration)마다 하나의 데이터를 뽑는 모드이다. 프로세서는 싱글 모드인 경우, 9000개의 데이터를 선택하기 위해서 8999번의 추가적인 반복 절차(iteration)를 돌아야 하기 때문에 학습을 해야 하는 총 데이터의 수는
Figure 112018132060779-pat00025
개가 되기 때문에 이를 위해 매우 큰 선별 비용이 소요된다.
배치 모드(batch mode)는 액티브 러닝의 반복 절차(iteration)마다 소정의 배치-크기(batch-size)의 데이터를 뽑는 모드이다. 배치-크기(batch-size)가 100인 배치 모드의 경우, 프로세서는 89번의 추가적인 반복 절차(iteration)를 돌아야 하기 때문에 학습을 해야 하는 총 데이터의 수는
Figure 112018132060779-pat00026
개일 수 있으며, 이는 여전히 큰 선별 비용일 수 있다. 본래의 1만개의 학습 데이터 목표치의 50배에 이르는 양이기 때문이다.
따라서, 본 개시에서는 이러한 선별 비용의 증가 문제를 해결하기 위하여 태그를 할당하는 레이블링 비용 제약 조건뿐만 아니라 선별 비용 제약 조건을 추가한 강화된 제약 조건 하에서의 학습 정확도를 최대한 향상시킬 수 있는 학습 데이터 선별 문제를 새롭게 제안한다. 구체적으로, 태그를 할당할 대상 데이터의 수를 주어진 목표 개수로 제한하고 사전 학습되는 데이터의 누적 개수 또한 동일한 목표 개수 이내로 제한하는 제약 조건 하에서 딥러닝 모델의 학습 정확도를 최대한 향상시킬 수 있는 학습 데이터를 선별하는 방법/시스템을 개시한다. 본 개시에 따르면, 프로세서는 기존의 학습 데이터 선별 기법들과 비교하여 더 정확한 기계 학습 모델을 획득할 수 있다.
본 개시의 내용을 요약하자면 다음과 같다. 섹션 2에서는 본 개시에서 해결하고자 하는 문제 정의를 포함한 준비 절차(preliminaries)를 안내한다. 섹션 3에서는 본 개시가 제안하는 방법/시스템에 대해 자세히 서술한 후, 섹션 4에서는 다양한 실험 결과를 철저히 분석하고 섹션 5에서는 결론을 다룬다.
섹션 2. 준비 절차(Preliminaries)
섹션 2.1 문제 정의
본 개시의 일 실시예에 따른 프로세서는 제한된 학습 데이터 구축 비용의 제약 조건(constraint) 안에서 최선의 학습 정확도를 기대할 수 있다. 이때에 학습 데이터 구축 비용은 레이블링 비용과 선별 비용을 모두 포함한다.
도 2는 본 개시의 일 실시예에 따른 기계 학습(machine learning) 데이터 선택 방법을 나타낸 흐름도이다. 프로세서는 태그가 할당되지 않은(unlabeled) 학습 데이터 세트(DU)를 수신하는 단계(210)를 수행할 수 있다. 그 후, 프로세서는 레이블링 비용 제약 조건(labeling cost constraint;
Figure 112018132060779-pat00027
) 및 선별 비용 제약 조건(selection cost constraint;
Figure 112018132060779-pat00028
)을 수신하는 단계(220)를 수행할 수 있다.
마지막으로, 프로세서는 레이블링 비용 제약 조건(
Figure 112018132060779-pat00029
) 및 선별 비용 제약 조건(
Figure 112018132060779-pat00030
)에 기초하여, 태그가 할당되지 않은 학습 데이터 세트(DU)로부터 최종 학습 데이터를 선택하는 단계(230)를 수행할 수 있다. 레이블링 비용 제약 조건(
Figure 112018132060779-pat00031
)은 태그가 할당되는 학습 데이터 수의 최대 허용값을 나타내고, 상기 선별 비용 제약 조건(
Figure 112018132060779-pat00032
)은 사전 학습 모델(π)에 의해 학습되는 학습 데이터 수의 최대 허용값을 나타낼 수 있다. 최종 학습 데이터는 최종 딥러닝 모델을 생성하기 위해 사용될 수 있다.
또한 프로세서는 태그가 할당되지 않은 학습 데이터 세트(DU)로부터 미리 결정된 수의 학습 데이터를 임의로 선택하는 단계를 수행할 수 있다. 또한, 프로세서는 선택된 학습 데이터에 태그를 할당하여 태그가 할당된 학습 데이터 세트(DL)를 생성하는 단계를 수행할 수 있다.
레이블링 비용은 인력을 동원하여 학습 데이터에 정답 태그를 할당하는 비용을 나타내며, 이 비용은 전체 학습 데이터 선별 과정에서 태그를 할당하게 되는 학습 데이터 객체의 수,
Figure 112018132060779-pat00033
에 비례한다고 가정한다. 즉, 레이블링 비용은
Figure 112018132060779-pat00034
일 수 있다. 여기서
Figure 112018132060779-pat00035
Figure 112018132060779-pat00036
와 태그 할당 비용 사이의 비례 상수일 수 있다.
선별 비용은 데이터 선별 과정에서 수행되는 사전 학습으로 소요되는 누적 소요 시간 비용을 나타낼 수 있으며, 이 비용은 레이블링될 후보 데이터를 선별하는 과정에서 사전 학습하게 되는 데이터 객체의 누적 수,
Figure 112018132060779-pat00037
에 비례한다고 가정한다. 즉, 선택 비용은
Figure 112018132060779-pat00038
일 수 있다. 여기서
Figure 112018132060779-pat00039
Figure 112018132060779-pat00040
와 선택 비용 사이의 비례 상수일 수 있다. 또한 학습 정확도의 향상을 위해 무분별하게 확대될 수 있는
Figure 112018132060779-pat00041
를 제한하기 위하여 일 실시예에서는
Figure 112018132060779-pat00042
Figure 112018132060779-pat00043
이하이어야 하며, 태그가 할당된(labeled) 모든 데이터 객체를 최종 학습 데이터 세트(training data set)로 사용한다. 최종 학습 데이터 세트(training data set)의 크기를 τ라고 할 때 τ=
Figure 112018132060779-pat00044
>=
Figure 112018132060779-pat00045
가 될 수 있다. 또한, 태그가 할당되지 않은 데이터(unlabeled data) 세트를 DU, 학습시키고자 하는 기계 학습 모델을 M, 태그가 할당된 학습 데이터 세트를 DL로 나타낼 수 있으며, DL ⊂DU이다.
섹션2.2 불확실성 척도(Uncertainty Measures)
학습 데이터 선별을 위한 기준 정보로 각 데이터 객체에 대한 확률벡터를 식 1과 같이 분류확률 모델에 기반하여 정의할 수 있다.
[식 1]
Figure 112018132060779-pat00046
여기서, π는 분류 확률 모델(또는 사전 학습 모델)이고, d는 데이터 객체이며,
Figure 112018132060779-pat00047
는 분류 확률 모델 π에 따른 d의 확률 벡터(probability vector)를 나타낸다. 이때 확률 벡터(probability vector)의 차원 m은 분류 확률모델 π의 출력의 모든 경우의 수의 개수를 의미하며,
Figure 112018132060779-pat00048
는 확률 모델 π에 따른 데이터 객체 d의 i번째 출력의 확률 값을 나타낸다. 따라서 확률 벡터의 모든 차원의 값들의 합은 1이 된다.(
Figure 112018132060779-pat00049
)
이러한 확률 벡터에 기반하여 능동 학습 기법에서 유래한 불분명성의 대소 비교 방법은 맥스 컨피던스 불확실성 (max confidence uncertainty), 마진 불확실성(margin uncertainty), 엔트로피기반 불확실성(entropy-based uncertainty)의 세 가지 방법을 사용할 수 있다.
먼저 맥스 컨피던스 불확실성(Max confidence uncertainty) 방법에서는 식 2에서 보이는 바와 같이, 확률 벡터에서 가장 큰 확률이 데이터 객체의 불확실성을 측정하기 위해 고려된다. 테스트 데이터 객체의 태그 할당은 확률 벡터에서 가장 큰 확률에 의해 결정되므로, 데이터 객체의 가장 큰 확률보다 적은 확률은 데이터 객체의 더 큰 불확실성을 나타낸다는 것이다.
[식 2]
Figure 112018132060779-pat00050
다음으로 마진 불확실성(Margin Uncertainty)은 분류 확률 모델 π에 대하여 데이터 객체의 확률 벡터 값들 중 가장 큰 상위 두 값들의 차이가 더 적은 데이터 객체가 불분명성이 더 크다고 추정하는 것이다. 마진 불확실성은 만약 차이가 작다면, 선행 모델의 결정은 불확실하다고 가정한다. 식 3에서
Figure 112018132060779-pat00051
는 데이터 객체의 확률 벡터의 값들 중 가장 큰 값,
Figure 112018132060779-pat00052
는 2번째로 큰 값을 나타낸다.
[식 3]
Figure 112018132060779-pat00053
다음으로 엔트로피기반 불확실성(Entropy-based Uncertainty)은 불확실성이 선행 모델의 의견이 얼마나 갈리는가에 의하여 나타날 수 있다고 가정한다. 다양성의 정도는 식 4에 주어진 엔트로피에 의해 측정될 수 있다.
[식 4]
Figure 112018132060779-pat00054
섹션2.3. 액티브 러닝 기반 데이터 선택 알고리즘(Active-learning-based Data Selection Algorithms)
액티브 러닝(active learning) 기법 중 불확실성 샘플링(uncertainty sampling) 기법에 대하여 설명하면 이래와 같다. 불확실성 샘플링(Uncertainty sampling) 기법은 선행 모델(prior model)의 확신도가 가장 낮은, 즉 불확실성(uncertainty)이 가장 큰 데이터 객체를 우선적으로 선택하는 기법을 말한다.
도 3은 본 개시의 일 실시예에 따른 액티브 러닝(active learning)의 수도 코드(pseudo code)를 나타낸다. 프로세서는 DU, DL, τ, 및 k와 같은 입력을 매개변수로 수신할 수 있다. DU는 태그가 할당되지 않은 데이터(unlabeled data) 세트를 나타낼 수 있다. DL는 태그가 할당된 데이터(labeled data) 세트를 나타낼 수 있다. τ는 비용 제약 조건(cost constraint)을 나타낼 수 있다.
k는 1회의 반복 절차(iteration)에서 선택할 데이터 객체의 수를 나타낼 수 있다. 여기서, k가 1이면 단일 선택(single selection)이고, 2 이상이면 배치 선택(batch selection)으로 구분된다. 프로세서는 매번의 반복 절차(iteration) 마다 DL을 사용하여 선행 모델(π)을 학습시키고 이에 기반하여 k개의 새로운 데이터 객체를 새로 선택하여 레이블링 한다. 이 과정을 반복하여 τ 개의 데이터 객체가 레이블링이 완료되면 최종 DL을 리턴한다.
액티브 러닝(Active learning) 알고리즘들은 GetLabeledData의 절차에서 어떤 정책에 따라 k개의 새로운 데이터 객체를 선택하는가에 따라 다양한 알고리즘(algorithm)으로 분화된다. 예를 들어, 높은 정확도를 보이는 기법으로 코어 세트(core-set) 기법과 마진기반(margin-based) 기법이 있다. 코어 세트(Core-set) 기법은 CNN 모델의 일반화 오류(generalization error), 학습 오류(training error), 코어 세트 손실(core-set loss)의 합을 최소화시키기 위한 기법이다. 코어 세트 기법에 의하면 프로세서는 이들 중에서 가장 주요한 요소인 코어 세트 손실(core-set loss)을 최소화하기 위한 k-center problem을 푼다. K-center problem은 각 태그가 할당되지 않은(unlabeled) 데이터 객체에게 가장 가까운 태그가 할당된(labeled) 데이터 객체를 해당 태그가 할당되지 않은(unlabeled) 객체의 중심(center)으로 정의하고 모든 태그가 할당되지 않은(unlabeled) 데이터 객체들로부터 각각의 중심(center)까지의 거리 중 가장 큰 값을 최소화할 수 있는 데이터 집합을 선택하는 문제이다.
마진기반(Margin-based) 기법은 CNN 분류기(classifier)의 오판을 야기시키는 어드버서리얼 공격(adversarial attack)인 딥풀(DeepFool) 기법을 응용한다. 즉, 데이터 객체에 노이즈를 합성시켜 데이터 객체의 분류(classification) 결과를 바꾸는 방법에 기반하여 이를 위해 필요한 노이즈의 크기가 적은 데이터 객체들을 선택한다. 이는 액티브 러닝(active learning)을 SVM에 적용할 때 SVM의 하이어플레인(hyperplane)에서 가까이 있는 데이터 객체를 선택하는 방식을 모사한 것이다. 즉 분류(classification) 결과가 바뀌는 시점을 하이퍼플레인(hyperplane)으로 간주하여 노이즈의 크기를 데이터 객체와 하이퍼플레인(hyperplane)까지의 거리로 해석하는 것이다.
배치모드(batch-mode)에서 배치 크기(batch size)는 작은 수의 크기로 제한될 수 있다. 예를 들어 배치 크기(batch size)는 10의 작은 값을 사용할 수 있다. 이는 선행 모델(prior model)에 기반하여 더 많은 수의 태그가 할당되지 않은(unlabeled) 데이터 객체를 추가할 경우 선행 모델(prior model)의 신뢰도(confidence)가 점점 더 낮아지는 경향이 있기 때문이다.
섹션 3. 알고리즘(Algorithms)
이하에서는 일 실시예에 따른 선별 비용 τ을 고려한 버켓 더블링 반복 절차(Bucket-Doubling iterations)에 대해 설명한다. 또한, 분류확률 모델(또는 사전 학습 모델, π)에 따른 불확실성(uncertainty)에 기반한 데이터 선별 알고리즘들에 대해 설명한다.
섹션3.1 Bucket-Doubling Iterations
기존 기술은 선별 비용에 대한 고려를 하지 않기 때문에 지나치게 많은 반복 학습을 통해 선별 비용을 비실용적으로(unpractically) 증가시키는 문제가 있다. 따라서 본 개시의 일 실시예에 따르면 프로세서는 레이블링 비용 제약 조건(
Figure 112018132060779-pat00055
) 및 선별 비용 제약 조건(
Figure 112018132060779-pat00056
) 하에 태그를 할당할 데이터를 선택할 수 있다.
도 4는 레이블링 비용 제약 조건(
Figure 112018132060779-pat00057
) 및 선별 비용 제약 조건(
Figure 112018132060779-pat00058
) 하에 태그를 할당할 데이터를 선택하는 과정을 나타내는 수도 코드이다. 레이블링 비용 제약 조건(
Figure 112018132060779-pat00059
) 및 선별 비용 제약 조건(
Figure 112018132060779-pat00060
)에 기초하여, 태그가 할당되지 않은 학습 데이터 세트(DU)로부터 최종 학습 데이터를 선택하기 위하여, 프로세서는 레이블링 비용 제약 조건(
Figure 112018132060779-pat00061
)과 상기 선별 비용 제약 조건(
Figure 112018132060779-pat00062
) 사이의 비율(r =
Figure 112018132060779-pat00063
/
Figure 112018132060779-pat00064
)을 결정하는 단계를 수행할 수 있다(Line 2).
또한 프로세서는 비율(r)에 1을 더한 값에 이미 태그가 할당된 학습 데이터의 수(|DL|)를 곱한 값이 상기 레이블링 비용 제약 조건(
Figure 112018132060779-pat00065
)보다 작거나 같은 경우(Line 4), 태그가 할당된 학습 데이터 세트(DL)에 기초하여 사전 학습 모델(π)을 생성하는 단계를 수행할 수 있다(Line 5). 또한 프로세서는 비율(r), 태그가 할당된 학습 데이터의 수(|DL|) 및 사전 학습 모델(π)에 기초하여, 태그가 할당되지 않은 학습 데이터 세트(DU)로부터 태그를 할당할 학습 데이터를 선택하는 단계(GetLabeledData함수)를 수행할 수 있다(Line 6). 여기서, 프로세서는 비율(r)에 상기 태그가 할당된 학습 데이터의 수(|DL|)를 곱한 수만큼의 학습 데이터를 상기 태그가 할당되지 않은 학습 데이터 세트(DU)로부터 선택할 수 있다 (GetLabeledData; Line 6).
또한 프로세서는 선택된 학습 데이터에 태그를 할당하여 태그가 할당된 학습 데이터 세트(DL)를 업데이트하는 단계를 수행할 수 있다(Line 6). 또한, 프로세서는 비율(r)에 1을 더한 값에 태그가 할당된 학습 데이터의 수(|DL|)를 곱한 값이 레이블링 비용 제약 조건(
Figure 112018132060779-pat00066
)보다 큰 경우, 태그가 할당된 학습 데이터 세트(DL)를 상기 최종 학습 데이터로 결정하는 단계를 수행할 수 있다(Line 4, Line 8).
입력 매개 변수 DU는 태그가 할당되지 않은 데이터 집합이다.
Figure 112018132060779-pat00067
는 레이블링 비용 제약 조건이다.
Figure 112018132060779-pat00068
는 선별 비용 제약 조건이다. k는 첫 번째 학습 데이터를 구성하기 위해 선택되는 데이터 개체의 수를 나타낸다. 도 4에서 r은
Figure 112018132060779-pat00069
Figure 112018132060779-pat00070
의 비율이다(Line 2). DL은 태그가 할당된 데이터 세트(Line 3)이다. 태그가 할당된 데이터 세트(DL)는 최종 반환 값이 될 수 있다(Line 8).
도 3과 비교할 때, 도 4의 GeometricIteration 함수는 초기 DL을 입력 매개 변수로 요구하지 않을 수 있다. 이전 모델에 대한 첫 번째 훈련 데이터를 구성하는 데 소요되는 비용은 태그를 할당하는 비용의 맥락에서 고려되어야 하기 때문에 첫 번째 학습 데이터를 작성하는 단계는 GeometricIteration 함수 내에 배치될 수 있다(Line 3). 이전 모델이 아직 제공되지 않은 경우(즉, 이전 모델이 널(null)인 경우), GetLabeledData 함수는 태그가 할당되지 않은 학습 데이터 세트(DU)로부터 미리 결정된 수(k개)의 학습 데이터를 임의로 선택할 수 있다(Line 3). GetLabeledData함수는 사전 학습 모델(π)을 기반으로 주어진 수의 데이터 객체를 선택하고 태그를 할당할 수 있다(Line 6).
학습 데이터 선택을 완료하기 위해 반복은 태그를 할당하는 비용이 임계값인
Figure 112018132060779-pat00071
까지 소모될 때까지 반복될 수 있다(Line 4). 모든 반복 절차에서, 사전 학습 모델(π)은 MakeModel 함수에서 학습/갱신될 수 있다(Line 5). MakeModel 함수에 의하여 프로세서는 태그가 할당된 트레이닝 데이터 세트(DL)를 주어진 심층 학습 알고리즘에 따라 기계 학습하여 기계 학습 모델을 획득할 수 있다. r*|DL|만큼의 새로운 데이터 선택 및 선택된 데이터에 대한 태그 할당에 의해, 프로세서는 태그가 할당된 트레이닝 데이터 세트(DL)를 (1 + r)*|DL|까지 확대할 수 있다. 0 <k≤
Figure 112018132060779-pat00072
라고 가정할 때, GeometricIteration 함수는 최대
Figure 112018132060779-pat00073
의 태그 할당 비용과 최대
Figure 112018132060779-pat00074
의 선택 비용을 소모할 수 있다.
도 5는 본 개시의 일 실시예에 따른 방법에 의하여 태그가 할당된 트레이닝 데이터 세트(DL)가 변화되는 것을 나타낸 표이다. 태그가 할당되지 않은 학습 데이터 세트(DU)는 {d1, d2 ... d100}로 주어진다고 가정한다. 여기서 k는 1 이고,
Figure 112018132060779-pat00075
Figure 112018132060779-pat00076
는 8일 수 있다. 따라서, 이 경우, r은 1이다. 또한,
Figure 112018132060779-pat00077
는 소모된 태그 할당 비용(또는 레이블링 비용)을 나타내고,
Figure 112018132060779-pat00078
는 소모된 선택 비용을 나타낼 수 있다.
도 4의 line 3의 GetLabeledData 함수에 의해서 d3이 선택되는 경우, DL={d3}이 된다(
Figure 112018132060779-pat00079
=1,
Figure 112018132060779-pat00080
=0). while 루프의 첫번째 반복 절차에서 도 4의 Line 5에 의해 사전 학습 모델(π)이 학습/생성될 수 있다(
Figure 112018132060779-pat00081
=1,
Figure 112018132060779-pat00082
=1). 도 4의 Line 6에 의해 새롭게 d10이 선택되면 DL={d3, d10}이 된다(
Figure 112018132060779-pat00083
=2,
Figure 112018132060779-pat00084
=1). 이어서 while 루프의 두번째 반복 절차에서 Line 5에 의해 사전 학습 모델(π)이 학습/갱신될 수 있다(
Figure 112018132060779-pat00085
=2,
Figure 112018132060779-pat00086
=3).
또한, 도 4의 Line 6에 의해 추가로 d35, d41이 선택되면, DL={d3, d10, d35, d41}이 된다(
Figure 112018132060779-pat00087
=4,
Figure 112018132060779-pat00088
=3). while 루프의 마지막 반복 절차에서 도 4의 Line 5에 의해 사전 학습 모델(π)이 학습/갱신될 수 있다(
Figure 112018132060779-pat00089
=4,
Figure 112018132060779-pat00090
=7). 도 4 의 Line 5에 의해 d55, d88, d90, d93이 선택되면, 최종적으로 DL={d3, d10, d35, d41, d55, d88, d90, d93}이 될 수 있다(
Figure 112018132060779-pat00091
=8,
Figure 112018132060779-pat00092
=7).
또한 도 4의 Line 8에 의하여 DL이 최종 학습 데이터로 반환될 수 있다. 이때, 최종적인
Figure 112018132060779-pat00093
Figure 112018132060779-pat00094
와 동일한 값이며,
Figure 112018132060779-pat00095
Figure 112018132060779-pat00096
보다 적음을 확인할 수 있다. 이와 같이 선택된 최적의 최종 학습 데이터를 이용하여 최종 딥러닝 모델을 생성할 수 있다.
섹션 3.2 Selection Algorithms
도 6은 본 개시의 일 실시예에 따른 태그 할당 데이터를 획득하는 방법을 나타내는 수도 코드이다. 도 6에 따르면 GetLabeledData 함수는 태그를 할당할 후보 데이터 객체를 선택하는 과정(SelectCandidates 함수; line 3)과 선택된 데이터 객체에 태그를 할당하는 과정(LabelingCandidates함수; line 7)으로 나뉠 수 있다. 학습 모델이 널(null)인 경우 도 6의 SelectRandomly 함수에 의하여 프로세서는 태그가 할당되지 않은 학습 데이터 세트(DU)로부터 미리 결정된 수(k)의 학습 데이터를 임의로 선택하는 단계(line 5)를 수행할 수 있다.
또한, 프로세서는 선택된 학습 데이터에 태그를 할당하여 태그가 할당된 학습 데이터 세트(DL)를 생성하는 단계를 수행할 수 있다. 이하에서는 SelectCandidates 함수와 LabelingCandidates 함수에 대하여 보다 자세히 설명한다.
섹션 3.2.1 Top-K-based Selection Algorithm
Top-K 기반 선택 알고리즘은 불확실성-기반 샘플링의 하나의 예시이다. Top-K 기반 선택 알고리즘은 가장 높은 불확실성을 가지는 k개의 데이터 객체를 선택하는 알고리즘이다. 불확실성-기반 샘플링의 가정은, 가장 높은 불확실성을 가지는 데이터 객체들이 가장 좋은 학습 데이터라는 것이다.
도 7은 본 개시의 일 실시예에 따른 Top-K 알고리즘을 나타내는 수도 코드이다. Top-K 기반 선택 알고리즘에 따르면, 프로세서는 사전 학습 모델(π)에 기초하여, 태그가 할당되지 않은 학습 데이터 세트(DU) 내의 각 학습 데이터에 대한 불확실성(uncertainty)값을 계산하는 단계를 수행할 수 있다. 프로세서는 태그가 할당되지 않은 데이터 세트(DU)의 모든 데이터 객체를 사전 학습 모델(π)에 따른 불확실성(uncertainty)에 기초하여 불확실성(uncertainty)이 가장 큰 k개의 데이터 인스턴스를 선택할 수 있다(Line 2). 예를 들어 프로세서는 가장 높은 불확실성 값을 가지는 학습 데이터를 상기 비율(r)에 상기 태그가 할당된 학습 데이터의 수(|DL|)를 곱한 수만큼 선택하는 단계를 수행할 수 있다.
이미 설명한 바와 같이 프로세서가 불확실성을 측정하기 위하여 맥스 컨피던스 불확실성, 마진 불확실성 또는 엔트로피기반 불확실성 알고리즘을 사용될 수 있다. 또한 프로세서는 선택된 데이터 인스턴스를 반환할 수 있다(Line 3). 선형적인(Linear) 시간복잡도를 가지는 선택(Selection) 알고리즘을 사용하는 경우, 시간 복잡도는 평균적으로 O(|Du|)일 수 있다. 충분한 레이블링 비용 예산이 주어진다면, Top-K 기반 선택 알고리즘에 기초한 학습 데이터는 정확한 기계 학습 모델을 획득하는데 큰 도움일 될 수 있다.
섹션 3.2.2 PDF(Probability Density Function) 기반 선택 알고리즘
SelectCandidates 함수의 이상적인 목표는 다양한 레이블링 비용 예산이 많고 적음에 상관없이 정확한 기계 학습 모델을 획득하는 것이다.
도 8은 본 개시의 일 실시예에 따라 태그가 할당되지 않은 학습 데이터의 불확실성의 분포를 나타낸 히스토그램이다. 도 8의 가로축은 태그가 할당되지 않은 학습 데이터의 불확실성을 나타낸다. 또한 도 8의 세로축은 태그가 할당되지 않은 학습 데이터의 빈도수를 나타낸 것이다. 도 8의 히스토그램은 이하에서 자세히 설명된다.
확률 밀도 함수 기반 선택(Probability Density Function-based Selection; PDF-based Selection) 알고리즘의 목표는 태그 할당된 학습 데이터 세트(DL)의 데이터 객체 분포를 주어진 확률 밀도 함수(PDF)에 근사하도록 만드는 것이다. 이를 위하여 데이터 객체의 불확실성(uncertainty)을 확률 밀도 함수의 확률변수로 사용하고, 태그가 할당된(labeled) 학습 데이터 세트(DL)의 불확실성(uncertainty) 분포를 히스토그램(histogram)으로 나타낸다. 히스토그램(HL)의 빈(bin)의 개수를 b라고 할 때 히스토그램(HL)은 0부터 1 사이 구간을 b개의 균등한 빈(bin)으로 나누고, i 번째 빈(bin)의 빈도값
Figure 112018132060779-pat00097
는 식 5와 같이 계산될 수 있다.
[식 5]
Figure 112018132060779-pat00098
PDF 함수 f(x)가 주어졌을 때 히스토그램(HL)의 이상적인 목표 빈도값
Figure 112018132060779-pat00099
는 식 6과 같이 계산될 수 있다.
[식 6]
Figure 112018132060779-pat00100
PDF 기반 선택의 과정을 자세히 설명하면 이하와 같다. 첫번째로 프로세서는 히스토그램(HL)의 빈(bin)들 중에서 새로운 데이터 객체(학습 데이터)를 추가할 빈(bin)을 먼저 선택할 수 있다. 프로세서는 빈(bin)을 선택하기 위하여, 모든 i에 대해서
Figure 112018132060779-pat00101
값이
Figure 112018132060779-pat00102
값에 근사될 수 있도록
Figure 112018132060779-pat00103
Figure 112018132060779-pat00104
값의 차이에 비례한 확률로 하나의 빈(bin)을 선택할 수 있다. 이 때 x번째 빈(bin)이 선택될 확률 p(x)는 식 7과 같다. 아래의 식에서 c는 특정 빈(bin)의 선택 확률이 0이 되는 것을 막기 위한 상수값이다.
[식 7]
Figure 112018132060779-pat00105
두번째로는 태그가 설정되지 않은 학습 데이터 세트(DU)에서 선택된 빈(bin)의 불확실성 레인지(uncertainty range)에 속하는 불확실성(uncertainty)을 가진 데이터 객체들 중의 하나를 임의로 선택한다. 만약 i번째 빈(bin)이 선택되었다면 집합
Figure 112018132060779-pat00106
중에서 하나의 데이터 객체를 임의로 선택한다. 세번째로는 히스토그램(HL) 빈도값
Figure 112018132060779-pat00107
와 목표 빈도값
Figure 112018132060779-pat00108
를 업데이트한다. 이러한 과정을 원하는 수의 객체들을 모두 선택할 때까지 반복한다.
도 9는 본 개시의 일 실시예에 따라 확률 밀도 함수(PDF)에 기반하여 학습 데이터를 선택하는 과정을 나타내는 수도 코드이다. 상술한 바와 같이 프로세서는 태그를 할당할 학습 데이터를 선택하기 위하여, 사전 학습 모델(π) 및 태그가 할당된 학습 데이터 세트(DL)에 기초하여, 복수의 불확실성 범위 각각에 대한 학습 데이터의 수를 나타내는 제1 히스토그램을 획득하는 단계를 수행할 수 있다. 또한 프로세서는 태그가 할당된 학습 데이터의 수(|DL|) 및 확률 밀도 함수(PDF)에 기초하여, 상기 복수의 불확실성 범위 각각에 대한 학습 데이터의 수를 나타내는 제2 히스토그램을 획득하는 단계를 수행할 수 있다. 확률 밀도 함수는 균일 분포(Uniform distribution), 정규 분포(normal distribution) 등을 포함할 수 있다.
또한 프로세서는 복수의 불확실성 범위 각각에 대한 제2 히스토그램의 값과 제1 히스토그램의 값의 차이에 기초하여, 상기 복수의 불확실성 범위 각각에 대한 선택확률(p(x))을 결정하는 단계를 수행할 수 있다. 또한 프로세서는 선택확률(p(x))에 기초하여 상기 복수의 불확실성 범위 중 하나를 선택하는 단계를 수행할 수 있다. 또한, 프로세서는 태그가 할당되지 않은 학습 데이터 세트(DU) 중에서 선택된 불확실성 범위에 포함된 학습 데이터를 선택하는 단계를 수행할 수 있다.
제1 히스토그램을 획득하기 위하여, 프로세서는 복수의 불확실성 범위 중 i번째 불확실성 범위에 포함되는 학습 데이터의 수(hi)를 식 5에 기초하여 획득할 수 있다. 식 5의 U(π, dj)는 사전 학습 모델(π) 및 상기 태그가 할당된 학습 데이터 세트(DL)에 포함된 데이터(dj)에 기초하여 결정된 불확실성 값을 나타내고, 식 5의 b는 상기 복수의 불확실성 범위의 개수를 나타낼 수 있다.
상술한 바와 같이 프로세서는 복수의 불확실성 범위 중 x번째 불확실성 범위의 선택확률(p(x))을 식 7에 기초하여 획득할 수 있다. 식 7의
Figure 112018132060779-pat00109
는 x번째 불확실성 범위에 대한 제2 히스토그램의 값을 나타낸다. 식 7의 c는 상수이고,
Figure 112018132060779-pat00110
는 x번째 불확실성 범위에 대한 상기 제1 히스토그램의 값을 나타낼 수 있다. 식 7의 b는 복수의 불확실성 범위의 개수를 나타낼 수 있다.
도 9의 SelectCandidates 함수에서는 PDF 기반 선택에서 기존의 DL에 기반한 히스토그램이 필요하기 때문에 매개변수로 태그가 할당된 학습 데이터 세트(DL)가 추가되었다. 프로세서는 태그가 할당된 학습 데이터 세트(DL)의 데이터 인스턴스들의 히스토그램(HL)을 만든다(Line 3). 프로세서는 MakeHistogram 함수에 포함된 식 5에 기반하여
Figure 112018132060779-pat00111
값들을 계산할 수 있다.
또한 프로세서는 MakeHistogram 함수에 포함된 식 6에 기반하여 주어진 확률 밀도 함수(PDF)에 대한
Figure 112018132060779-pat00112
값들을 계산한다. 히스토그램(HL)이 구축되면 프로세서는 SelectBin 함수에 포함된 식7의 p(x)의 확률에 따라 b개의 빈(bin)들 중에서 하나의 빈 i를 선택할 수 있다(Line 5). 프로세서는 해당 빈(bin)의 불확실성(uncertainty) 구간, [(i-1)/b, i/b]에 속하는 불확실성(uncertainty) 값을 갖는 태그가 할당되지 않은 학습 데이터 세트(DU)의 데이터 객체들 중 하나를 임의로 선택할 수 있다(SelectInstance 함수). 프로세서는 선택된 데이터 개체들 중 하나를 d로 반환할 수 있다(Line 6).
널(Null)이 아닌 d가 반환된다면, 프로세서는 이를 후보 데이터 객체 집합 (CU)에 추가하고 히스토그램(HL)을 업데이트 한다(UpdateHistogram 함수; Line 9). 프로세서는 k개의 CU가 모두 선택되면 이를 반환하고 SelectCandidates 함수를 종료할 수 있다(Lines 12 & 13). 프로세서는 PDF 기반 선택에서 다양한 종류의 확률 밀도 함수를 사용할 수 있다. 예를 들어 프로세서는 균일 분포(uniform distribution) 또는 정규 분포(normal distribution) 등의 확률 밀도 함수를 사용할 수 있다.
도 10 은 본 개시의 일 실시예에 따라 균일 분포 또는 정규 분포에 따라 학습 데이터의 선택을 설명하기 위한 도면이다. 그래프(1010)는 균일 분포(Uniform distribution)를 나타낸다. 그래프(1020)는 정규 분포(normal distribution)를 나타낸다.
그래프(1010) 및 그래프(1020)에서, 각 빈(Bin)의 파란색으로 표기된 막대(1011 또는 1021)는 태그가 할당된 학습 데이터 세트(DL)에 포함된 데이터 객체들의 선행 모델(prior model)에 따른 불확실성(uncertainty)의 빈도 수(
Figure 112018132060779-pat00113
)를 나타낸 것이다. 또한 그래프(1010) 및 그래프(1020)에서, 선분(1012, 1022)은 식 6에 따라 결정되는 미리 정해진 확률 밀도 함수에 기초하여 결정된 빈도 수(
Figure 112018132060779-pat00114
)를 나타낸다. 빗금으로 표기된 막대(1013, 1014, 1023, 1024)는 식 7에 따라 목표 PDF를 달성하기 위해 해당 빈(bin)이 선택될 상대적인 확률의 크기(p(x))를 나타낸다.
섹션 4. 실험 결과(Experimental Results)
본 개시의 일 실시예에 따라 학습 데이터를 선택하는 경우, 프로세서는 데이터와 딥러닝 모델에 상관없이 우수한 성능의 기계 학습 모델을 획득 할 수 있다. 아래에서는 본 개시의 일 실시예에 따라 학습 데이터를 선택하는 경우의 학습 성능의 우수성에 대하여 설명한다.
섹션 4.1 실험 환경
본 개시의 일 실시예에 따른 학습 데이터 선택 방법의 우수성을 입증하기 위하여 사용한 데이터는 다음과 같다.
- Fashion MNIST: Fashion MNIST 는 10개의 클래스로 구성되어 있는 이미지 데이터 세트이다. 클래스는 [T-shirt/top, trouser, pullover, dress, coat, sandal, shirt, sneaker, bag, angle boot]로 이루어져 있으며, 60,000개의 트레이닝 세트와 10,000개의 테스트 데이터 세트로 구성되어 있다. 단일 데이터 크기(Single data size)는 28*28의 그레이 스케일 이미지이다.
- Cifar-10: 10개의 클래스로 구성된 6만개의 컬러 이미지 데이터 세트이다. Cifar-10의 클래스는 [plane, auto, bird, cat, deer, dog, frog, horse, ship, truck]로 이루어져 있다. Cifar-10 데이터베이스의 각각의 데이터 객체는 32*32 크기의 3 채널 컬러 이미지이다. 트레이닝 데이터 세트는 5만개, 테스트 데이터 세트는 10,000개로 구성되어 있다.
- IMDB: 긍정적(positive) 또는 부정적(negative)으로 태그가 할당된(labeled)된 영화 리뷰(movie review) 텍스트 데이터이다. 25,000개의 학습 데이터와 25,000개의 테스트 데이터 세트로 구성되어 있다.
본 개시의 일 실시예에 따른 학습 데이터 선택 방법의 우수성을 입증하기 위하여 사용한 세가지 데이터 집합은 그레이 스케일 이미지(gray-scale image), 컬러 이미지(color image), 텍스트 데이터(text data)와 같이 서로 다른 데이터 특성을 가지고 있다.
도 11 은 Fashion MNIST, Cifar-10, IMDB 데이터 세트의 일 예시를 나타낸 표이다. 프로세서는 Fashion MNIST 데이터 집합을 위하여 DNN 모델에 대한 CNN을 사용할 수 있다. 상세한 구조는 표(1110)와 같다. 이때 하이퍼-파라미터(Hyper-parameter)는 batch size = 64, epoch = 30 이며, weight initialization은 He's initialization, optimizer는 adam(learning rate = 0.001)을 사용하였다.
프로세서는 CIFAR-10 데이터 집합을 위하여 DNN 모델에 대하여 VGG-16(K. Simonyan and A. Zisserman, "Very deep convolutional networks for large-scale image recognition," arXiv preprint arXiv:1409.1556, 2014 참조)을 사용할 수 있다. 프로세서는 하이퍼-파라미터(Hyper-parameter)로서 Kernel regulizer = l2, batch size = 64, epoch = 50, weight decay = 0.0005, optimizer는 adam(learning rate = 0.001)을 사용할 수 있다. 세부적인 네트워크 구조는 표(1120)와 같을 수 있다.
프로세서는 IMDB 데이터 집합을 위한 DNN 모델에 대한 LSTM을 사용할 수 있다. 프로세서는 표(1130)에 도시된 바와 같이 모델의 하이퍼-파라미터(hyper-parameter)로서 epoch = 15, batch size = 32, drop out = 0.2 이며 max feature = 20,000, optimizer는 adam(learning rate = 0.001)을 사용할 수 있다.
프로세서는 아래와 같은 다양한 알고리즘에 기초하여 학습 데이터를 선택할 수 있다.
- Random Sampling: 기본이 되는 방법으로써, 주어진 개수의 데이터 객체를 임의로 선택하는 기법이다.
- CoreSet: core-set 방식의 알고리즘에, 본 개시에서 제안된 새로운 강화된 제약 조건에 따라 배치 사이즈(batch-size)는 도 4의 GeometricIteration 함수에 따라 결정되었다.
- Adversarial: 마진(margin) 기반 방식의 알고리즘에, 본 개시에서 제안된 새로운 강화된 제약 조건에 따라 배치 사이즈(batch-size)는 도 4의 GeometricIteration 함수에 따라 결정되었다.
- MIDAS(Model-Independent Training Data Selection under Cost Constraints)-TopK: 본 개시에서 제안된 도 4의 GeometricIteration 함수와 Top-K 기반 선택으로 구성된 방법이다. 엔트로피가 불확실성 측정(uncertainty measure)을 위하여 사용되었다. 히스토그램의 빈(bin)들의 개수는 20 이다.
- MIDAS-Uniform: 본 개시에서 제안된 도 4의 GeometricIteration 함수와 확률 밀도 함수(PDF) 기반 선택으로 구성된 방법이다. 불확실성 측정(uncertainty measure)을 위하여 엔트로피(Entropy)를 사용하였다. 확률 분포 함수는 균일 분포(Uniform distribution) 함수를 사용하였다. 히스토그램의 빈(bin)들의 개수는 20 이다.
- MIDAS-Normal: 본 개시에서 제안된 도 4의 GeometricIteration함수와 확률 밀도 함수(PDF) 기반 선택으로 구성된 방법이다. 불확실성 측정(uncertainty measure)을 위하여 엔트로피(Entropy)를 사용하였다. 확률 분포 함수는 정규 분포(Normal distribution) 함수를 사용하였다. 히스토그램의 빈(bin)들의 개수는 20 이다.
섹션4.2 성능 평가
본 개시에 따른 학습 데이터 선택 방법은 데이터와 딥러닝 모델에 독립적으로 적용이 가능하다. 또한 본 개시에 따른 레이블링 비용 제약 조건(
Figure 112018132060779-pat00115
) 및 선별 비용 제약 조건(
Figure 112018132060779-pat00116
) 하에서 기계 학습된 기계 학습 모델은 가장 높은 정확도를 가질 수 있다.
섹션 4.2.1 다양한 알고리즘의 정확성 비교
도 12는 다양한 학습 데이터 선택 방법에 따른 성능을 나타내는 도면이다.
Fashion_MNIST 데이터 세트와 CNN 모델에 관한, 그래프(1210)는 GeometricIteration 함수의 레이블링 비용 제약 조건(
Figure 112018132060779-pat00117
) 및 선별 비용 제약 조건(
Figure 112018132060779-pat00118
)이 1,000부터 10,000까지 설정되는 경우를 비교한 결과를 보여준다. k는 τ/2로 주어질 수 있다. 전체 Fashion_MNIST 데이터 세트가 6만개의 학습 데이터로 구성되어 있으므로 전체 학습 데이터 대비 비율은 1.7% 내지 16.7% 사이의 비율에 해당한다.
이때에 기본 알고리즘인 랜덤 샘플링(random sampling)을 기준으로 본 개시에서 제안된 알고리즘인 MIDAS-Uniform, MIDAS-Normal, MIDAS-TopK가 꾸준히 상대적으로 높은 정확도를 가짐을 확인할 수 있다. 비교대상인 adversarial의 경우는 적은 데이터집합인 [1000, 5000] 구간에서는 랜덤 샘플링보다 높은 정확도를 보였으나 그 이후 구간인 [6000, 10000] 구간에서는 랜덤 샘플링과 비슷한 성능을 보임을 알 수 있다. 비교대상인 Coreset의 경우는 전구간에서 랜덤 샘플링보다 낮은 정확도를 보였다. 이는 기존의 기술들이 선별 비용에 대한 고려를 하지 않기 때문에 매우 작은 배치 크기(batch-size)를 적용할 경우 많은 선별 비용을 사용하여 높은 정확도를 낼 수 있으나, 선별 비용을 고려하여 배치 크기(batch-size)가 커지는 경우 정확도가 떨어지게 됨을 보여준다. 전체적으로는 MIDAS-Uniform과 MIDAS-Normal이 모든 구간에서 가장 높은 정확도를 가진다.
섹션 4.2.2 다양한 k값을 사용한 정확성 비교
도 12의 그래프(1220, 1230, 1240)는 GeometricIteration 함수의 k 가 τ/4, τ/8 또는τ/16인 경우, 기계 학습 모델의 정확도를 비교한 결과를 각각 보여준다. 이때에 baseline 알고리즘인 랜덤 샘플링을 기준으로 본 개시에서 제안된 알고리즘인 MIDAS-Uniform, MIDAS-Normal이 꾸준히 상대적으로 높은 정확도를 가짐을 확인할 수 있다. MIDAS-TopK의 경우는 적은 데이터집합인 [1000, 3000] 구간에서는 랜덤 샘플링보다 낮은 정확도를 보였으나 그 이후 구간에서는 급격히 정확도가 랜덤 샘플링 대비 높아지는 것을 공통적으로 볼 수 있었다.
Adversarial의 경우, k 가 τ/2 인 경우보다 k 가 τ/4, τ/8 또는 τ/16인 경우일 때 정확도가 향상됨을 알 수 있다. 또한, 전구간에서 랜덤 샘플링보다 높은 정확도를 보였다. Coreset의 경우는 전구간에서 랜덤 샘플링보다 낮은 정확도를 보였으며 특히 k 값이 작아질 수록 전구간에서의 정확도가 더 낮아지는 현상을 보였다.
전체적으로는 이전 실험과 동일하게 MIDAS-Uniform과 MIDAS-Normal이 모든 구간에서 가장 높은 정확도를 가진다. k 가 τ/2, τ/4, τ/8 또는 τ/16인 경우, 가장 높은 정확도를 보이는, MIDAS-Uniform의 τ=10,000의 정확도는 각각 90.85%, 91.04%, 91.16%, 91.09%의 값을 가진다. 이는 k 가 작아지면서 학습 모델의 정확도가 향상되는 경향을 가지나, 무한히 향상되지는 않고 일정 정도 이후 수렴함을 보여준다.
이는 k가 작아질수록 초반의 반복 절차(iteration)에서의 선행 모델이 더 적은 수의 학습 데이터로 만들어지므로 낮은 정확도에서 시작하게 되는 것에 기인하는 것으로 보인다. 가장 높은 정확도인 91.16%와 60,000개의 데이터를 모두 사용하여 동일한 CNN 모델을 학습시켰을 때의 정확도인 91.8%을 비교하면 MIDAS-Uniform의 경우 17%의 학습 데이터만을 가지고 거의 유사한 정확도를 가질 수 있음을 보여준다.
섹션 4.2.3 비대칭(asymmetric) 제약 조건을 사용한 정확성 비교
GeometricIteration 함수의 레이블링 비용 제약 조건(
Figure 112018132060779-pat00119
) 및 선별 비용 제약 조건(
Figure 112018132060779-pat00120
)은 서로 다른 값을 가질 수 있다. 그래프(1250)는 r=3, k=
Figure 112018132060779-pat00121
/4 인 경우의 결과를 보여준다. 또한 그래프(1260)는 r=1/3, k=(3
Figure 112018132060779-pat00122
)/4 인 경우의 결과를 보여준다. Fashion-MNIST 데이터 세트와 CNN 모델이 각각 사용되었다.
r = 3의 비대칭 제약 조건의 실험 결과에서 MIDAS-Uniform 및 MIDAS-Normal이 가장 정확하고 대칭 제약 조건 결과와 큰 차이가 없었다. Core-set은 가장 적은 정확도를 나타냈다. 그러나 MIDAS-TopK의 경우, 소수의 훈련 데이터 만이 훈련된 [1,000, 3,000] 범위에서 정확성의 감소 추세가 관찰되었다. r = 3 비대칭 제약 조건의 경우, 초기 선행 모델에 대한 훈련 데이터의 수는 문제의 제약 조건을 준수하기 위해 훨씬 더 작아졌고, 그 결과 선행 모델의 정확도가 크게 영향을 받았다.
r = 1 / 3 비대칭 제약 조건의 실험에서 초기 이전 모델에 대해 문제의 제약 조건을 준수하기 위해 무작위로 샘플링된 훈련 데이터의 수가 상대적으로 증가한다. 따라서 모든 알고리즘의 정확도는 무작위 표본 추출의 정확도에 근접했다. 그러나 MIDAS-Uniform과 MIDAS-Normal은 여전히 상대적으로 정확함을 확인할 수 있다.
섹션 4.2.4 다양한 알고리즘의 실행 시간 비교
도 13 은 학습 데이터의 개수에 따라 기계 학습에 걸리는 시간 및 정확도를 나타내는 그래프를 나타낸다. 그래프(1310)는 GeometricIteration의 레이블링 비용 제약 조건(
Figure 112018132060779-pat00123
) 및 선별 비용 제약 조건(
Figure 112018132060779-pat00124
)이 1,000에서 10,000까지의 학습 데이터 목표 개수(τ)로 설정되는 경우, 다양한 알고리즘에서 SelectCandidates 함수의 실행 시간을 나타낸 그래프이다. 여기서 k의 값은 τ / 2로 주어질 수 있다. 데이터 세트와 네트워크 모델은 각각 Fashion-MNIST 데이터 세트와 CNN 모델이다. 실험에서 비교된 모든 방법은 GeometricIteration을 공유하기 때문에 이들 간의 차이점은 SelectCandidates 절차(procedures)일 수 있다. 따라서, SelectCandidates 절차(procedures)의 실행 시간이 다양한 알고리즘에 대하여 비교될 수 있다.
그래프(1310)에 따르면, τ의 전체 범위에서 MIDAS-Uniform은 Adversarial보다 일관되게 빠름을 확인할 수 있다. MIDAS-Uniform과 Adversarial의 실행 시간은 τ 값을 증가시켜도 큰 영향을 받지 않지만 Core-set은 τ 값에 선형일 수 있다. 이는 Core-set이 클러스터 수에 대해 선형 시간 복잡도를 갖는 클러스터링 알고리즘을 채택했기 때문이다. 결과적으로, MIDAS-Uniform은 학습 데이터를 선택하는 실행 시간과 관련하여 비용 제약 조건하에서 최고의 성능을 보였다.
섹션 4.2.5 다양한 네트워크와 데이터 모델을 사용한 정확성 비교
그래프(1320) 및 그래프(1330)는 CIFAR-10 데이터 세트와 VGG-16 모델의 조합과 IMDB 데이터 세트와 LSTM 모델의 조합을 각각 사용하여 제안된 알고리즘의 정확도를 비교한 결과를 나타낸다. 각 조합에 대해, GeometricIteration에서 k가 τ / 2 일 때 τ =
Figure 112018132060779-pat00125
=
Figure 112018132060779-pat00126
값을 1,000에서 10,000으로 측정하여 정확도를 측정했다.
CIFAR-10 데이터 세트 및 VGG-16 모델의 경우 기본 알고리즘인 무작위 샘플링과 비교하여 제안된 알고리즘인 MIDAS-Uniform이 전체적으로 가장 높은 정확도를 보였다. 특히 무작위 표본 추출이 10,000 개의 학습 자료를 선택한 경우 정확도는 65.88% 였지만 MIDAS-Uniform이 10,000 개의 학습 데이터를 선택한 경우 정확도는 72.00%로 높았다. MIDAS-Normal과 MIDAS-Top는 무작위 샘플링보다 정확했지만 때로는 정확도가 떨어졌다.
IMDB 데이터 세트와 LSTM 모델의 경우 무작위 샘플링을 MIDAS-Uniform, MIDAS-Normal 및 MIDAS-TopK와 비교했다. 여기서 무작위 샘플링과 비교하여 제안된 알고리즘인 MIDAS-Uniform은 전체적으로 가장 높은 정확도를 지속적으로 나타냈다. 특히 랜덤 샘플링에서 10,000 개의 학습 데이터를 선택했을 때 정확도는 78.17 % 였지만 MIDAS-Uniform은 6,000 개의 학습 데이터를 선택한 경우에도 78.41 %의 높은 정확도를 나타냈다. 즉, 훈련 데이터의 60%만으로 더 높은 정확도를 얻을 수 있음을 알 수 있다. MIDAS-Normal 및 MIDAS-TopK는 무작위 표본 추출보다 전체적으로 정확했다.
섹션 4.2.6 상이한 제약 조건 정의하의 정확성 평가
본 개시의 일 실시예에 따른 MIDAS-Uniform은 강화된 비용 제약 하에서 학습 데이터 선택 문제에 대한 실행 시간과 정확도를 포함하여 최상의 성능을 일관되게 보여줄 수 있다.
도 14는 Core-set, Adversarial 및 MIDAS-Uniform에 기초한 기계 학습 모델의 정확성을 비교한 표이다. 배치 크기(batch-size)가 100이고 τ가 10,000 인 태그 할당 비용만을 고려할 때, Core-set의 정확도는 이 본 개시의 제약 조건을 적용했을 때의 정확도보다 상당히 향상된다. 즉, Core-set은 정확성을 높이기 위해 엄청난 선택 비용이 필요하다. Adversarial의 경우 정확도가 약간 향상되었다. 그러나 MIDAS-Uniform의 정확성은 여전히 본 개시의 제약 조건 하에서 가장 좋음을 볼 수 있다.
섹션 5. 결과
본 개시의 일 실시예에 따르면, 제한된 비용의 제약 하에서 심층 학습 모델의 정확성은 극대화될 수 있다. 본 개시의 일 실시예에 따르면 레이블링 비용 제약 조건(labeling cost constraint;
Figure 112018132060779-pat00127
) 및 선별 비용 제약 조건(selection cost constraint;
Figure 112018132060779-pat00128
) 도입하였다. 본 개시에서 제안된 방법 및 장치의 장점은 심층 학습 모델 유형과 데이터 유형에 관계없이 방법 및 장치가 적용될 수 있다는 것이다. 또한, 다양한 네트워크 모델과 데이터의 사용을 포함하는 실험을 통해, 제안된 방법 및 장치가 훈련 데이터를 선택하는 기존의 최첨단 방법에 비해 더 높은 정확도를 달성할 수 있는 학습 데이터를 선택했음을 확인할 수 있다. 본 개시에서 제안된 방법 및 장치에 따르면, 기계 학습을 위한 충분한 양의 학습 자료를 얻기 위한, 시간 및 경제적 비용을 줄여줄 수 있다.
이제까지 다양한 실시예들을 중심으로 살펴보았다. 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자는 본 발명이 본 발명의 본질적인 특성에서 벗어나지 않는 범위에서 변형된 형태로 구현될 수 있음을 이해할 수 있을 것이다. 그러므로 개시된 실시예들은 한정적인 관점이 아니라 설명적인 관점에서 고려되어야 한다. 본 발명의 범위는 전술한 설명이 아니라 특허청구범위에 나타나 있으며, 그와 동등한 범위 내에 있는 모든 차이점은 본 발명에 포함된 것으로 해석되어야 할 것이다.
한편, 상술한 본 발명의 실시예들은 컴퓨터에서 실행될 수 있는 프로그램으로 작성가능하고, 컴퓨터로 읽을 수 있는 기록매체를 이용하여 상기 프로그램을 동작시키는 범용 디지털 컴퓨터에서 구현될 수 있다. 상기 컴퓨터로 읽을 수 있는 기록매체는 마그네틱 저장매체(예를 들면, 롬, 플로피 디스크, 하드디스크 등), 광학적 판독 매체(예를 들면, 시디롬, 디브이디 등)와 같은 저장매체를 포함한다
110: 태그가 할당되지 않은 데이터 풀
120: 휴먼 어노테이터
130: 태그가 할당된 데이터 세트
140: 기계 학습 모델

Claims (11)

  1. 컴퓨터로 구현되는 기계 학습 데이터 선택 장치에 의해 각 단계가 수행되는 기계 학습(machine learning) 데이터 선택 방법으로서,
    태그가 할당되지 않은(unlabeled) 학습 데이터 세트(DU)를 수신하는 단계;
    레이블링 비용 제약 조건(labeling cost constraint;
    Figure 112020057370200-pat00129
    ) 및 선별 비용 제약 조건(selection cost constraint;
    Figure 112020057370200-pat00130
    )을 수신하는 단계; 및
    상기 레이블링 비용 제약 조건(
    Figure 112020057370200-pat00131
    ) 및 상기 선별 비용 제약 조건(
    Figure 112020057370200-pat00132
    )에 기초하여, 상기 태그가 할당되지 않은 학습 데이터 세트(DU)로부터 최종 학습 데이터를 선택하는 단계
    를 포함하고,
    상기 레이블링 비용 제약 조건(
    Figure 112020057370200-pat00133
    )은 태그가 할당되는 학습 데이터 수의 최대 허용값을 나타내고, 상기 선별 비용 제약 조건(
    Figure 112020057370200-pat00134
    )은 사전 학습 모델(π)에 의해 학습되는 학습 데이터 수의 최대 허용값을 나타내는, 기계 학습 데이터 선택 방법.
  2. 제1항에 있어서,
    상기 태그가 할당되지 않은 학습 데이터 세트(DU)로부터 미리 결정된 수의 학습 데이터를 임의로 선택하는 단계; 및
    상기 선택된 학습 데이터에 태그를 할당하여 태그가 할당된 학습 데이터 세트(DL)를 생성하는 단계
    를 더 포함하는, 기계 학습 데이터 선택 방법.
  3. 제1항에 있어서,
    상기 레이블링 비용 제약 조건(
    Figure 112018132060779-pat00135
    ) 및 상기 선별 비용 제약 조건(
    Figure 112018132060779-pat00136
    )에 기초하여, 상기 태그가 할당되지 않은 학습 데이터 세트(DU)로부터 최종 학습 데이터를 선택하는 단계는,
    상기 레이블링 비용 제약 조건(
    Figure 112018132060779-pat00137
    )과 상기 선별 비용 제약 조건(
    Figure 112018132060779-pat00138
    ) 사이의 비율(r =
    Figure 112018132060779-pat00139
    /
    Figure 112018132060779-pat00140
    )을 결정하는 단계;
    상기 비율(r)에 1을 더한 값에 태그가 할당된 학습 데이터의 수(|DL|)를 곱한 값이 상기 레이블링 비용 제약 조건(
    Figure 112018132060779-pat00141
    )보다 작거나 같은 경우,
    태그가 할당된 학습 데이터 세트(DL)에 기초하여 사전 학습 모델(π)을 생성하는 단계;
    상기 비율(r), 상기 태그가 할당된 학습 데이터의 수(|DL|) 및 상기 사전 학습 모델(π)에 기초하여, 태그가 할당되지 않은 학습 데이터 세트(DU)로부터 태그를 할당할 학습 데이터를 선택하는 단계; 및
    상기 선택된 학습 데이터에 태그를 할당하여 태그가 할당된 학습 데이터 세트(DL)를 업데이트하는 단계
    를 포함하는, 기계 학습 데이터 선택 방법.
  4. 제3항에 있어서,
    상기 비율(r), 상기 태그가 할당된 학습 데이터의 수(|DL|) 및 상기 사전 학습 모델(π)에 기초하여, 태그가 할당되지 않은 학습 데이터 세트(DU)로부터 태그를 할당할 학습 데이터를 선택하는 단계는,
    상기 비율(r)에 1을 더한 값에 태그가 할당된 학습 데이터의 수(|DL|)를 곱한 값이 상기 레이블링 비용 제약 조건(
    Figure 112018132060779-pat00142
    )보다 큰 경우, 상기 태그가 할당된 학습 데이터 세트(DL)를 상기 최종 학습 데이터로 결정하는 단계
    를 더 포함하는, 기계 학습 데이터 선택 방법.
  5. 제3항에 있어서,
    상기 비율(r), 상기 태그가 할당된 학습 데이터의 수(|DL|) 및 상기 사전 학습 모델(π)에 기초하여, 태그가 할당되지 않은 학습 데이터 세트(DU)로부터 태그를 할당할 학습 데이터를 선택하는 단계는,
    상기 비율(r)에 상기 태그가 할당된 학습 데이터의 수(|DL|)를 곱한 수만큼의 학습 데이터를 상기 태그가 할당되지 않은 학습 데이터 세트(DU)로부터 선택하는 단계
    를 포함하는, 기계 학습 데이터 선택 방법.
  6. 제3항에 있어서,
    상기 비율(r), 상기 태그가 할당된 학습 데이터의 수(|DL|) 및 상기 사전 학습 모델(π)에 기초하여, 태그가 할당되지 않은 학습 데이터 세트(DU)로부터 태그를 할당할 학습 데이터를 선택하는 단계는,
    상기 사전 학습 모델(π)에 기초하여, 상기 태그가 할당되지 않은 학습 데이터 세트(DU) 내의 각 학습 데이터에 대한 불확실성(uncertainty)값을 계산하는 단계; 및
    가장 높은 불확실성 값을 가지는 학습 데이터를 상기 비율(r)에 상기 태그가 할당된 학습 데이터의 수(|DL|)를 곱한 수만큼 선택하는 단계
    를 포함하는, 기계 학습 데이터 선택 방법.
  7. 제3항에 있어서,
    상기 비율(r), 상기 태그가 할당된 학습 데이터의 수(|DL|) 및 상기 사전 학습 모델(π)에 기초하여 태그가 할당되지 않은 학습 데이터 세트(DU)로부터 태그를 할당할 학습 데이터를 선택하는 단계는,
    상기 사전 학습 모델(π) 및 상기 태그가 할당된 학습 데이터 세트(DL)에 기초하여, 복수의 불확실성 범위 각각에 대한 학습 데이터의 수를 나타내는 제1 히스토그램을 획득하는 단계;
    상기 태그가 할당된 학습 데이터의 수(|DL|) 및 확률 밀도 함수(probability density function)에 기초하여, 상기 복수의 불확실성 범위 각각에 대한 학습 데이터의 수를 나타내는 제2 히스토그램을 획득하는 단계;
    상기 복수의 불확실성 범위 각각에 대한 제2 히스토그램의 값과 제1 히스토그램의 값의 차이에 기초하여, 상기 복수의 불확실성 범위 각각에 대한 선택확률(p(x))을 결정하는 단계;
    상기 선택확률(p(x))에 기초하여 상기 복수의 불확실성 범위 중 하나를 선택하는 단계; 및
    상기 태그가 할당되지 않은 학습 데이터 세트(DU) 중에서 상기 선택된 불확실성 범위에 포함된 학습 데이터를 선택하는 단계
    를 포함하는 기계 학습 데이터 선택 방법.
  8. 제7항에 있어서,
    상기 확률 밀도 함수는 균일 분포(Uniform distribution) 또는 정규 분포(normal distribution)를 포함하는, 기계 학습 데이터 선택 방법.
  9. 제7항에 있어서,
    상기 제1 히스토그램을 획득하는 단계에서,
    상기 복수의 불확실성 범위 중 i번째 불확실성 범위에 포함되는 학습 데이터의 수(hi)는,
    Figure 112018132060779-pat00143

    이고,
    상기 U(π, dj)는 상기 사전 학습 모델(π) 및 상기 태그가 할당된 학습 데이터 세트(DL)에 포함된 데이터(dj)에 기초하여 결정된 불확실성값을 나타내고, 상기 b는 상기 복수의 불확실성 범위의 개수를 나타내는, 기계 학습 데이터 선택 방법.
  10. 제7항에 있어서,
    상기 복수의 불확실성 범위 중 x번째 불확실성 범위의 선택확률(p(x))은,
    Figure 112018132060779-pat00144

    이고,
    상기
    Figure 112018132060779-pat00145
    는 x번째 불확실성 범위에 대한 상기 제2 히스토그램의 값을 나타내고, 상기 c는 상수이고, 상기
    Figure 112018132060779-pat00146
    는 x번째 불확실성 범위에 대한 상기 제1 히스토그램의 값을 나타내고, 상기 b는 상기 복수의 불확실성 범위의 개수를 나타내는, 기계 학습 데이터 선택 방법.
  11. 기계 학습 데이터 선택 장치에 있어서,
    상기 장치는 프로세서 및 적어도 하나의 프로그램이 저장되는 메모리를 포함하고,
    상기 프로세서는 상기 메모리에 저장된 명령어에 기초하여,
    태그가 할당되지 않은(unlabeled) 학습 데이터 세트(DU)를 수신하는 단계;
    레이블링 비용 제약 조건(labeling cost constraint;
    Figure 112020057370200-pat00147
    ) 및 선별 비용 제약 조건(selection cost constraint;
    Figure 112020057370200-pat00148
    )을 수신하는 단계; 및
    상기 레이블링 비용 제약 조건(
    Figure 112020057370200-pat00149
    ) 및 상기 선별 비용 제약 조건(
    Figure 112020057370200-pat00150
    )에 기초하여, 상기 태그가 할당되지 않은 학습 데이터 세트(DU)로부터 최종 학습 데이터를 선택하는 단계,
    를 수행하고,
    상기 레이블링 비용 제약 조건(
    Figure 112020057370200-pat00151
    )은 태그가 할당되는 학습 데이터 수의 최대 허용값을 나타내고, 상기 선별 비용 제약 조건(
    Figure 112020057370200-pat00152
    )은 사전 학습 모델(π)에 의해 학습되는 학습 데이터 수의 최대 허용값을 나타내는 기계 학습 데이터 선택 장치.
KR1020180173118A 2018-12-28 2018-12-28 기계 학습 데이터 선택 방법 및 장치 KR102223687B1 (ko)

Priority Applications (2)

Application Number Priority Date Filing Date Title
KR1020180173118A KR102223687B1 (ko) 2018-12-28 2018-12-28 기계 학습 데이터 선택 방법 및 장치
PCT/KR2018/016961 WO2020138575A1 (ko) 2018-12-28 2018-12-31 기계 학습 데이터 선택 방법 및 장치

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020180173118A KR102223687B1 (ko) 2018-12-28 2018-12-28 기계 학습 데이터 선택 방법 및 장치

Publications (2)

Publication Number Publication Date
KR20200082490A KR20200082490A (ko) 2020-07-08
KR102223687B1 true KR102223687B1 (ko) 2021-03-04

Family

ID=71129881

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020180173118A KR102223687B1 (ko) 2018-12-28 2018-12-28 기계 학습 데이터 선택 방법 및 장치

Country Status (2)

Country Link
KR (1) KR102223687B1 (ko)
WO (1) WO2020138575A1 (ko)

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR102532095B1 (ko) * 2020-10-30 2023-05-15 가천대학교 산학협력단 인공지능 기반 약물 반응성 예측 장치 및 방법
KR20220067732A (ko) * 2020-11-18 2022-05-25 한국전자기술연구원 재학습 가능한 모바일 딥러닝 하드웨어 장치
KR102479679B1 (ko) 2021-12-31 2022-12-21 주식회사 애자일소다 데이터 증강과 오토 레이블링을 이용한 데이터 구축 장치 및 방법

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20110196870A1 (en) 2006-07-12 2011-08-11 Kofax, Inc. Data classification using machine learning techniques
KR101828503B1 (ko) 2017-08-23 2018-03-29 주식회사 에이젠글로벌 앙상블 모델 생성 장치 및 방법

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
GB201517462D0 (en) * 2015-10-02 2015-11-18 Tractable Ltd Semi-automatic labelling of datasets

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20110196870A1 (en) 2006-07-12 2011-08-11 Kofax, Inc. Data classification using machine learning techniques
KR101828503B1 (ko) 2017-08-23 2018-03-29 주식회사 에이젠글로벌 앙상블 모델 생성 장치 및 방법

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
"Cost-sensitive classification with inadequate labeled data", Journal of Information Systems Vol. 37(pp. 510-511), 2012.

Also Published As

Publication number Publication date
KR20200082490A (ko) 2020-07-08
WO2020138575A1 (ko) 2020-07-02

Similar Documents

Publication Publication Date Title
US10891524B2 (en) Method and an apparatus for evaluating generative machine learning model
KR102641116B1 (ko) 데이터 증강에 기초한 인식 모델 트레이닝 방법 및 장치, 이미지 인식 방법 및 장치
US11816183B2 (en) Methods and systems for mining minority-class data samples for training a neural network
US20200042825A1 (en) Neural network orchestration
US11151417B2 (en) Method of and system for generating training images for instance segmentation machine learning algorithm
EP3588390A1 (en) Techniques for determining artificial neural network topologies
KR102223687B1 (ko) 기계 학습 데이터 선택 방법 및 장치
CN101556650B (zh) 一种分布式自适应肺结节计算机检测方法及系统
CN110046706B (zh) 模型生成方法、装置及服务器
US11568201B2 (en) Predicting neuron types based on synaptic connectivity graphs
GB2618917A (en) Method for few-shot unsupervised image-to-image translation
WO2023109208A1 (zh) 小样本目标检测方法及装置
CN114600117A (zh) 通过样本一致性评估的主动学习
US11334791B2 (en) Learning to search deep network architectures
Kamada et al. An adaptive learning method of restricted Boltzmann machine by neuron generation and annihilation algorithm
WO2021138092A1 (en) Artificial neural network architectures based on synaptic connectivity graphs
CN113139664B (zh) 一种跨模态的迁移学习方法
WO2021138091A1 (en) Reservoir computing neural networks based on synaptic connectivity graphs
CN112052818A (zh) 无监督域适应的行人检测方法、系统及存储介质
US20200042864A1 (en) Neural network orchestration
CN111582371A (zh) 一种图像分类网络的训练方法、装置、设备及存储介质
WO2019180310A1 (en) A method, an apparatus and a computer program product for an interpretable neural network representation
JP6172317B2 (ja) 混合モデル選択の方法及び装置
CN111144567A (zh) 神经网络模型的训练方法及装置
Jia et al. Latent task adaptation with large-scale hierarchies

Legal Events

Date Code Title Description
E902 Notification of reason for refusal
E701 Decision to grant or registration of patent right
GRNT Written decision to grant