[go: up one dir, main page]

KR102570278B1 - 교사 모델로부터 학생 모델을 트레이닝하는데 사용되는 학습 데이터를 생성하는 장치 및 방법 - Google Patents

교사 모델로부터 학생 모델을 트레이닝하는데 사용되는 학습 데이터를 생성하는 장치 및 방법 Download PDF

Info

Publication number
KR102570278B1
KR102570278B1 KR1020170096902A KR20170096902A KR102570278B1 KR 102570278 B1 KR102570278 B1 KR 102570278B1 KR 1020170096902 A KR1020170096902 A KR 1020170096902A KR 20170096902 A KR20170096902 A KR 20170096902A KR 102570278 B1 KR102570278 B1 KR 102570278B1
Authority
KR
South Korea
Prior art keywords
probability
data
model
label
input data
Prior art date
Legal status (The legal status 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 status listed.)
Active
Application number
KR1020170096902A
Other languages
English (en)
Other versions
KR20190013011A (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 KR1020170096902A priority Critical patent/KR102570278B1/ko
Priority to US15/933,609 priority patent/US12039016B2/en
Publication of KR20190013011A publication Critical patent/KR20190013011A/ko
Application granted granted Critical
Publication of KR102570278B1 publication Critical patent/KR102570278B1/ko
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/08Learning methods
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/30Authentication, i.e. establishing the identity or authorisation of security principals
    • G06F21/31User authentication
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/08Learning methods
    • G06N3/096Transfer learning
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F18/00Pattern recognition
    • G06F18/20Analysing
    • G06F18/21Design or setup of recognition systems or techniques; Extraction of features in feature space; Blind source separation
    • G06F18/214Generating training patterns; Bootstrap methods, e.g. bagging or boosting
    • G06F18/2148Generating training patterns; Bootstrap methods, e.g. bagging or boosting characterised by the process organisation or structure, e.g. boosting cascade
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F18/00Pattern recognition
    • G06F18/20Analysing
    • G06F18/21Design or setup of recognition systems or techniques; Extraction of features in feature space; Blind source separation
    • G06F18/217Validation; Performance evaluation; Active pattern learning techniques
    • G06F18/2178Validation; Performance evaluation; Active pattern learning techniques based on feedback of a supervisor
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F18/00Pattern recognition
    • G06F18/20Analysing
    • G06F18/24Classification techniques
    • G06F18/241Classification techniques relating to the classification model, e.g. parametric or non-parametric approaches
    • G06F18/2415Classification techniques relating to the classification model, e.g. parametric or non-parametric approaches based on parametric or probabilistic models, e.g. based on likelihood ratio or false acceptance rate versus a false rejection rate
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/04Architecture, e.g. interconnection topology
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/04Architecture, e.g. interconnection topology
    • G06N3/045Combinations of networks
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/04Architecture, e.g. interconnection topology
    • G06N3/0464Convolutional networks [CNN, ConvNet]
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/04Architecture, e.g. interconnection topology
    • G06N3/047Probabilistic or stochastic networks
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/04Architecture, e.g. interconnection topology
    • G06N3/0495Quantised networks; Sparse networks; Compressed networks
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/08Learning methods
    • G06N3/09Supervised learning
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N7/00Computing arrangements based on specific mathematical models
    • G06N7/01Probabilistic graphical models, e.g. probabilistic networks
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V10/00Arrangements for image or video recognition or understanding
    • G06V10/70Arrangements for image or video recognition or understanding using pattern recognition or machine learning
    • G06V10/764Arrangements for image or video recognition or understanding using pattern recognition or machine learning using classification, e.g. of video objects
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V10/00Arrangements for image or video recognition or understanding
    • G06V10/70Arrangements for image or video recognition or understanding using pattern recognition or machine learning
    • G06V10/77Processing 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/778Active pattern-learning, e.g. online learning of image or video features
    • G06V10/7784Active pattern-learning, e.g. online learning of image or video features based on feedback from supervisors
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V20/00Scenes; Scene-specific elements

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Artificial Intelligence (AREA)
  • Evolutionary Computation (AREA)
  • Data Mining & Analysis (AREA)
  • Software Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Computing Systems (AREA)
  • General Health & Medical Sciences (AREA)
  • Health & Medical Sciences (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Mathematical Physics (AREA)
  • Computational Linguistics (AREA)
  • Biophysics (AREA)
  • Molecular Biology (AREA)
  • Biomedical Technology (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Databases & Information Systems (AREA)
  • Multimedia (AREA)
  • Computer Security & Cryptography (AREA)
  • Medical Informatics (AREA)
  • Bioinformatics & Cheminformatics (AREA)
  • Bioinformatics & Computational Biology (AREA)
  • Evolutionary Biology (AREA)
  • Probability & Statistics with Applications (AREA)
  • Computer Hardware Design (AREA)
  • Computational Mathematics (AREA)
  • Mathematical Analysis (AREA)
  • Mathematical Optimization (AREA)
  • Pure & Applied Mathematics (AREA)
  • Algebra (AREA)
  • Image Analysis (AREA)

Abstract

일실시예에 따른 학습 데이터 생성 장치는 사전에 학습된 교사 모델이 입력 데이터에 대응하여 출력한 출력 데이터중에서, 교사 모델에 대응하는 학생 모델을 학습 시키기에 적합하지 않은 데이터를 탐지할 수 있다. 학생 모델을 학습 시키기에 적합하지 않은 출력 데이터가 학생 모델의 학습에 활용되지 않도록, 학습 데이터 생성 장치는 학생 모델을 학습 시키기에 적합하지 않은 출력 데이터를 미리 설정된 무시 값(ignore value)으로 변경할 수 있다. 더 나아가서, 학생 모델을 학습 시키기에 적합한 출력 데이터에 대하여, 학습 데이터 생성 장치는 출력 데이터를 변경함으로써, 학생 모델이 교사 모델의 출력 데이터보다 개선된 결과를 출력할 수 있도록 만들 수 있다. 예를 들어, 교사 모델이 입력 데이터에 대하여 확률 형태의 레이블 값을 출력하는 경우, 학습 데이터 생성 장치는 레이블 값을 복수의 레이블 값 임계치와 비교하고, 레이블 값을 복수의 레이블 값 임계치로 구분되는 복수의 구간에 대응하는 식별자로 변경할 수 있다.

Description

교사 모델로부터 학생 모델을 트레이닝하는데 사용되는 학습 데이터를 생성하는 장치 및 방법{APPARATUS AND METHOD FOR GENERATING TRAINING DATA USED TO TRAINING STUDENT MODEL FROM TEACHER MODEL}
이하의 실시예는 뉴럴 네트워크를 학습시키는 학습 데이터를 생성하는 장치 및 방법에 관한 것이다.
뉴럴 네트워크는 인간의 생물학적 신경 세포의 특성을 수학적 표현에 의해 모델링 한 것으로, 입력 데이터 및 출력 데이터 간의 사상(mapping)을 생성할 수 있다. 기계 지도 학습(Machine supervised learning) 방법은 입력 데이터 및 입력 데이터에 대응하는 진리 데이터를 이용하여 뉴럴 네트워크를 학습시키는 방법이다. 즉, 뉴럴 네트워크가 진리 데이터를 이용하여 학습됨에 따라, 뉴럴 네트워크가 입력 데이터로부터 출력하는 출력 데이터는 입력 데이터에 대응하는 진리 데이터에 수렴할 수 있다.
뉴럴 네트워크를 학습시키기 위하여, 대량의 입력 데이터 및 학습 데이터가 생성될 수 있다. 사람이 입력 데이터로부터 직접 정보를 추출함으로써, 학습 데이터가 생성될 수 있다.
일실시예에 따르면, 입력 데이터를 교사 모델에 입력하여, 상기 입력 데이터에 대한 레이블 값을 획득하는 단계, 상기 레이블 값을 복수의 확률 임계치와 비교하여, 상기 레이블 값을 상기 복수의 확률 임계치로 구분되는 복수의 구간 중 어느 하나로 분류하는 단계 및 상기 레이블 값이 분류된 구간의 식별자 및 상기 입력 데이터를 병합하여, 상기 교사 모델에 대응하는 학생 모델을 트레이닝하기 위한 학습 데이터를 생성하는 단계를 포함하는 학습 데이터 생성 방법이 제공된다.
일실시예에 따르면, 상기 분류하는 단계는, 상기 레이블 값이 상기 복수의 확률 임계치 중 가장 큰 확률 임계치 이상인 경우, 상기 레이블 값을 상기 복수의 구간 중에서 상기 입력 데이터가 상기 레이블 값과 관련된 클래스에 대응함을 나타내는 긍정(positive) 구간으로 분류하는 학습 데이터 생성 방법이 제공된다.
일실시예에 따르면, 상기 분류하는 단계는, 상기 레이블 값이 상기 복수의 확률 임계치 중 가장 작은 확률 임계치 이하인 경우, 상기 레이블 값을 상기 복수의 구간 중에서 상기 입력 데이터가 상기 레이블 값과 관련된 클래스에 대응하지 않음을 나타내는 부정(negative) 구간으로 분류하는 학습 데이터 생성 방법이 제공된다.
일실시예에 따르면, 상기 분류하는 단계는, 상기 레이블 값이 상기 복수의 확률 임계치 중 가장 작은 확률 임계치 이상이고, 상기 레이블 값이 상기 복수의 확률 임계치 중 가장 큰 확률 임계치 이하인 경우, 상기 레이블 값을 상기 학생 모델의 트레이닝에 적용하지 않는 무시(ignore) 구간으로 분류하는 학습 데이터 생성 방법이 제공된다.
일실시예에 따르면, 상기 학생 모델은, 상기 교사 모델에 포함된 히든 레이어의 수 이하의 히든 레이어를 포함하거나 또는 상기 교사 모델에 포함된 필터의 수 이하의 필터를 포함하는 학습 데이터 생성 방법이 제공된다.
일실시예에 따르면, 인식하고자 하는 대상 데이터를 수신하는 단계 및 트레이닝된 학생 모델을 이용하여 상기 대상 데이터를 인식하는 단계를 포함하고, 상기 학생 모델은, 상기 학생 모델에 대응하는 교사 모델에 입력 데이터를 입력함으로써 획득된 레이블 값을 복수의 확률 임계치로 구분되는 복수의 구간 중 어느 하나로 분류한 결과에 기초하여 생성된 학습 데이터에 의해 트레이닝된 데이터 인식 방법이 제공된다.
일실시예에 따르면, 상기 복수의 구간은, 상기 입력 데이터가 상기 레이블 값과 관련된 클래스에 대응함을 나타내는 긍정(positive) 구간, 상기 복수의 구간 중에서 상기 입력 데이터가 상기 레이블 값과 관련된 클래스에 대응하지 않음을 나타내는 부정(negative) 구간 및 상기 레이블 값을 상기 학생 모델의 트레이닝에 적용하지 않는 무시(ignore) 구간을 포함하는 데이터 인식 방법이 제공된다.
일실시예에 따르면, 상기 교사 모델은, 상기 학생 모델에 포함된 히든 레이어의 수 이상의 히든 레이어를 포함하거나 또는 상기 학생 모델에 포함된 필터의 수 이상의 필터를 포함하는 데이터 인식 방법이 제공된다.
일실시예에 따르면, 입력 데이터를 저장하는 메모리 및 프로세서를 포함하고, 상기 프로세서는, 상기 입력 데이터를 하나 이상의 교사 모델에 입력하여, 상기 하나 이상의 교사 모델에 의해 결정되는 상기 입력 데이터가 복수의 클래스들 각각과 매칭될 확률을 포함하는 확률 레이블을 획득하고, 상기 확률 레이블에 포함된 확률들을 복수의 확률 임계치와 비교하여, 상기 확률 레이블에 포함된 확률들을 상기 복수의 확률 임계치와 비교한 결과 값으로 변경하고, 상기 입력 데이터 및 상기 변경된 확률 레이블을 병합하여, 상기 하나 이상의 교사 모델에 대응하는 학생 모델을 트레이닝하기 위한 학습 데이터를 생성하는 학습 데이터 생성 장치가 제공된다.
일실시예에 따르면, 상기 프로세서는, 상기 확률 레이블에 포함된 확률들 중에서 상기 복수의 확률 임계치 중 가장 큰 확률 임계치 이상인 확률을, 상기 입력 데이터가 상기 확률에 대응하는 클래스에 매칭됨을 나타내는 긍정(positive) 값으로 변경하는 학습 데이터 생성 장치가 제공된다.
일실시예에 따르면, 상기 프로세서는, 상기 확률 레이블에 포함된 확률들 중에서 상기 복수의 확률 임계치 중 가장 작은 확률 임계치 이하인 확률을, 상기 입력 데이터가 상기 확률에 대응하는 클래스에 매칭되지 않음을 나타내는 부정(negative) 값으로 변경하는 학습 데이터 생성 장치가 제공된다.
일실시예에 따르면, 상기 프로세서는, 상기 확률 레이블에 포함된 확률들 중에서 상기 복수의 확률 임계치 중 가장 작은 확률 임계치 이상이고 상기 복수의 확률 임계치 중 가장 큰 확률 임계치 이하인 확률을, 상기 학생 모델의 트레이닝에 상기 확률을 사용하지 않을 것을 나타내는 무시(ignore) 값으로 변경하는 학습 데이터 생성 장치가 제공된다.
일실시예에 따르면, 상기 프로세서는, 상기 입력 데이터를 복수의 교사 모델에 입력하는 경우, 상기 복수의 교사 모델을 포함하는 교사 모델 앙상블에 기초하여 상기 확률 레이블을 획득하는 학습 데이터 생성 장치가 제공된다.
도 1은 일실시예에 따른 학습 데이터 생성 장치가 사전에 트레이닝된 교사 모델을 이용하여 학생 모델을 트레이닝하는 동작을 개략적으로 설명하기 위한 도면이다.
도 2는 일실시예에 따른 학습 데이터 생성 장치가 레이블 값들을 정제하여 학습 데이터를 생성하는 동작을 설명하기 위한 흐름도이다.
도 3은 일실시예에 따른 학습 데이터 생성 장치가 생성한 학습 데이터를 이용하여 학생 모델을 트레이닝하는 동작을 설명하기 위한 흐름도이다.
도 4는 일실시예에 따른 학습 데이터 생성 장치에 의해 학습된 학생 모델을 이용하는 데이터 인식 장치가 수행하는 동작을 설명하기 위한 흐름도이다.
도 5는 다른 일실시예에 따른 학습 데이터 생성 장치가 사전에 트레이닝된 교사 모델 앙상블을 이용하여 학생 모델을 트레이닝하는 동작을 개략적으로 설명하기 위한 도면이다.
도 6은 일실시예에 따른 학습 데이터 생성 장치의 구조를 개념적으로 도시한 도면이다.
도 7은 일실시예에 따른 데이터 인식 장치의 구조를 개념적으로 도시한 도면이다.
실시예들에 대한 특정한 구조적 또는 기능적 설명들은 단지 예시를 위한 목적으로 개시된 것으로서, 다양한 형태로 변경되어 실시될 수 있다. 따라서, 실시예들은 특정한 개시형태로 한정되는 것이 아니며, 본 명세서의 범위는 기술적 사상에 포함되는 변경, 균등물, 또는 대체물을 포함한다.
제1 또는 제2 등의 용어를 다양한 구성요소들을 설명하는데 사용될 수 있지만, 이런 용어들은 하나의 구성요소를 다른 구성요소로부터 구별하는 목적으로만 해석되어야 한다. 예를 들어, 제1 구성요소는 제2 구성요소로 명명될 수 있고, 유사하게 제2 구성요소는 제1 구성요소로도 명명될 수 있다.
어떤 구성요소가 다른 구성요소에 "연결되어" 있다고 언급된 때에는, 그 다른 구성요소에 직접적으로 연결되어 있거나 또는 접속되어 있을 수도 있지만, 중간에 다른 구성요소가 존재할 수도 있다고 이해되어야 할 것이다.
단수의 표현은 문맥상 명백하게 다르게 뜻하지 않는 한, 복수의 표현을 포함한다. 본 명세서에서, "포함하다" 또는 "가지다" 등의 용어는 설명된 특징, 숫자, 단계, 동작, 구성요소, 부분품 또는 이들을 조합한 것이 존재함으로 지정하려는 것이지, 하나 또는 그 이상의 다른 특징들이나 숫자, 단계, 동작, 구성요소, 부분품 또는 이들을 조합한 것들의 존재 또는 부가 가능성을 미리 배제하지 않는 것으로 이해되어야 한다.
다르게 정의되지 않는 한, 기술적이거나 과학적인 용어를 포함해서 여기서 사용되는 모든 용어들은 해당 기술 분야에서 통상의 지식을 가진 자에 의해 일반적으로 이해되는 것과 동일한 의미를 가진다. 일반적으로 사용되는 사전에 정의되어 있는 것과 같은 용어들은 관련 기술의 문맥상 가지는 의미와 일치하는 의미를 갖는 것으로 해석되어야 하며, 본 명세서에서 명백하게 정의하지 않는 한, 이상적이거나 과도하게 형식적인 의미로 해석되지 않는다.
실시예들은 퍼스널 컴퓨터, 랩톱 컴퓨터, 태블릿 컴퓨터, 스마트 폰, 텔레비전, 스마트 가전 기기, 지능형 자동차, 키오스크, 웨어러블 장치 등 다양한 형태의 제품으로 구현될 수 있다. 예를 들어, 실시예들은 스마트 폰, 모바일 기기, 스마트 홈 시스템 등에서 사용자를 인증하는데 적용될 수 있다. 실시예들은 사용자 인증을 통한 결제 서비스에 적용될 수 있다. 또한, 실시예들은 사용자를 인증하여 자동으로 시동을 거는 지능형 자동차 시스템 등에도 적용될 수 있다. 이하, 실시예들을 첨부된 도면을 참조하여 상세하게 설명한다. 각 도면에 제시된 동일한 참조 부호는 동일한 부재를 나타낸다.
도 1은 일실시예에 따른 학습 데이터 생성 장치가 사전에 트레이닝된 교사 모델(120)을 이용하여 학생 모델(150)을 트레이닝하는 동작을 개략적으로 설명하기 위한 도면이다.
교사 모델(120) 및 학생 모델(150)은 특정한 입력 데이터에 대하여 특정한 출력 데이터를 생성하도록 학습되거나 또는 트레이닝된 모델로써, 예를 들어, 뉴럴 네트워크(neural network)를 포함할 수 있다. 뉴럴 네트워크는 연결선에 의해 연결된 복수의 인공 뉴런들을 이용하여 생물학적인 시스템의 계산 능력을 모방하는 인식 모델이다. 뉴럴 네트워크는 생물학적인 뉴런의 기능을 단순화시킨 인공 뉴런들을 이용하고, 인공 뉴런들은 연결 가중치(connection weight)를 가지는 연결선을 통해 상호 연결될 수 있다. 뉴럴 네트워크의 파라미터인 연결 가중치는 연결선이 가지는 값으로써, 연결 강도를 나타낼 수 있다. 뉴럴 네트워크는 인공 뉴런들을 통해 인간의 인지 작용 또는 학습 과정을 수행할 수 있다. 뉴럴 네트워크의 인공 뉴런은 노드(node)라 지칭될 수 있다.
뉴럴 네트워크는 복수의 레이어를 포함할 수 있다. 예를 들어, 뉴럴 네트워크는 입력 레이어, 하나 이상의 히든 레이어 및 출력 레이어를 포함할 수 있다. 입력 레이어는 뉴럴 네트워크의 트레이닝을 위한 입력 데이터를 수신하여 히든 레이어로 전달할 수 있고, 출력 레이어는 히든 레이어의 노드들로부터 수신된 신호에 기초하여 뉴럴 네트워크의 출력 데이터를 생성할 수 있다. 하나 이상의 히든 레이어가 입력 레이어 및 출력 레이어 사이에 위치할 수 있고, 입력 레이어를 통해 전달된 입력 데이터를 예측하기 쉬운 값으로 변환할 수 있다. 입력 레이어 및 하나 이상의 히든 레이어에 포함된 노드들은 연결 가중치를 가지는 연결선을 통해 서로 연결될 수 있고, 히든 레이어 및 출력 레이어에 포함된 노드들도 연결 가중치를 가지는 연결선을 통해 서로 연결될 수 있다. 입력 레이어, 하나 이상의 히든 레이어 및 출력 레이어는 복수의 노드들을 포함할 수 있다. 히든 레이어는 CNN(convolutional neural network)에서의 콘볼루션 필터(convolution filter) 또는 완전 연결 레이어(fully connected layer)이거나, 특별한 기능이나 특징을 기준으로 묶인 다양한 종류의 필터 또는 레이어를 나타낼 수 있다.
뉴럴 네트워크 중에서 복수의 히든 레이어를 포함하는 뉴럴 네트워크를 딥 뉴럴 네트워크(deep neural network)라 한다. 딥 뉴럴 네트워크를 학습 시키는 것을 딥 러닝(deep learning)이라 한다. 뉴럴 네트워크의 노드 중에서, 히든 레이어에 포함된 노드를 가리켜 히든 노드라 한다.
뉴럴 네트워크는 감독 학습(supervised learning)을 통해 학습될 수 있다. 감독 학습이란 입력 데이터를 뉴럴 네트워크에 입력하여 입력 데이터에 대응하는 출력 데이터를 획득하였을 때에, 출력 데이터가 입력 데이터로부터 획득하고자 하는 진리 데이터와 일치하도록 연결선들의 연결 가중치를 업데이트함으로써, 뉴럴 네트워크의 출력 데이터를 진리 데이터에 수렴하게 만드는 방법이다. 일실시예에 따른 학습 데이터 생성 장치는 학생 모델(150)을, 델타 규칙(delta rule) 및 오류 역전파 학습(back propagation learning) 등을 이용하여 트레이닝할 수 있다. 보다 구체적으로, 학습 데이터 생성 장치는 학생 모델(150)에 포함된 노드들 사이의 연결 가중치를 업데이트함으로써, 학생 모델(150)을 트레이닝할 수 있다. 이하 뉴럴 네트워크를 트레이닝하거나 또는 학습시킨다는 것은 뉴럴 네트워크의 파라미터를 학습시키는 것으로 이해될 수 있다. 또한, 학습된 뉴럴 네트워크는 학습된 파라미터가 적용된 뉴럴 네트워크로 이해될 수 있다.
일실시예에 따른 학습 데이터 생성 장치는 학생 모델(150)을 트레이닝하기 위하여, 학생 모델(150)의 입력 레이어로 입력할 입력 데이터 및 학생 모델(150)에 의해 입력 데이터에 대응하여 획득하고자 하는 진리 데이터가 매칭된 학습 데이터를 생성할 수 있다. 학습 데이터 생성 장치는 상기 진리 데이터를 교사 모델(120)로부터 획득할 수 있다.
도 1을 참고하면, 일실시예에 따른 학습 데이터 생성 장치가 적용되는 교사 모델(120) 및 학생 모델(150)은 이미지 형태의 입력 데이터(110)에 존재하는 피사체를 식별할 수 있다. 보다 구체적으로, 교사 모델(120) 및 학생 모델(150)은 입력 데이터(110)의 피사체를 미리 설정된 클래스(예를 들어, 소, 고양이, 개 및 자동차)로 분류할 수 있다. 학습 데이터 생성 장치는 입력 데이터(110)를 교사 모델(120)로 입력하여, 교사 모델(120)이 입력 데이터(110)로부터 생성한 레이블 값들(130)을 획득할 수 있다.
도 1을 참고하면, 레이블 값들(130)은 입력 데이터(110)의 피사체가 클래스들 각각에 매칭되는 지를 나타낸 확률일 수 있다. 학습 데이터 생성 장치는 교사 모델(120)의 출력 레이어의 노드의 값으로부터, 입력 데이터(110)의 피사체가 i번째 클래스에 매칭될 확률 si를 수학식 1에 기초하여 결정할 수 있다.
수학식 1을 참고하면, 학습 데이터 생성 장치는 소프트 맥스 출력(softmax output)의 형태를 가지는 레이블 값들(130)을 교사 모델(120)로부터 획득할 수 있다. 도 1의 교사 모델(120)을 이용하여 이미지 형태의 입력 데이터(110)에 존재하는 피사체를 식별하는 실시예에서, 입력 데이터(110)로부터 얻을 수 있는 바람직한 결과는 피사체가 '개'일 확률은 상대적으로 높게, 피사체가 '소', '고양이' 및 '자동차'일 확률은 모두 현저히 낮은 것이다. 교사 모델(120)이 출력한 레이블 값들(130)을 참고하면, 피사체가 '개'일 확률은 0.9로 매우 높은 확률이므로 바람직한 결과로 볼 수 있고, 피사체가 '소'일 확률 및 피사체가 '자동차'일 확률은 각각 10-6, 10-9로 매우 작은 확률이므로 바람직한 결과로 볼 수 있다. 하지만, 피사체가 '고양이'일 확률은 0.1로써, 피사체가 '소'일 확률 및 피사체가 '자동차'일 확률 보다 높으므로 학생 모델(150)을 트레이닝하기에 바람직한 결과로 볼 수 없다.
이 경우, 레이블 값들(130) 및 입력 데이터(110)를 매칭하여 생성된 학습 데이터를 이용하여 학생 모델(150)을 트레이닝하는 경우, 오직 '개'만이 입력 데이터(110)에 존재함에도 불구하고, 학생 모델(150)은 정확하지 않은 정보(예를 들어, 입력 데이터(110)의 피사체가 '고양이'일 확률이 0.1)를 포함하는 레이블 값들(130)에 의해 트레이닝될 수 있다. 이는 개의 이미지를 전달하면서 상기 이미지에 10%의 확률로 고양이가 있을 수 있다고 가르치는 상황과 유사하다.
학생 모델(150)을 보다 정확하게 학습시키기 위하여, 일실시예에 따른 학습 데이터 생성 장치는 교사 모델(120)에 의해 출력된 레이블 값들(130)을 변경할 수 있다. 보다 구체적으로, 학습 데이터 생성 장치는 레이블 값들(130) 중에서, 학생 모델(150)을 학습시키는데 유용하지 않은 값을 학생 모델(150)의 학습에 이용하지 않도록 미리 설정된 값으로 변경할 수 있다. 도 1의 예시에서, 레이블 값들(130) 중 학생 모델(150)을 트레이닝하기에 바람직하지 않은 값인 피사체가 '고양이'일 확률은, 학습 데이터 생성 장치에 의해 학생 모델(150)의 학습에 이용하지 말 것을 나타내는 미리 설정된 값(예를 들어, 정수 -1)으로 변경될 수 있다.
또한, 학습 데이터 생성 장치는 입력 데이터(110)의 특징을 고려하여, 레이블 값들(130)을 학생 모델(150)을 학습시키는데 보다 유용하게 활용될 수 있도록, 레이블 값들(130)을 정제(refining)할 수 있다. 입력 데이터(110)에 포함된 피사체가 '개'임이 확실하므로, 학생 모델(150)은 교사 모델에서 획득된 피사체가 '개'일 확률(0.9) 보다 높은 확률을 출력하는 것이 바람직하다. 따라서, 학습 데이터 생성 장치는 레이블 값들(130) 중에서 상대적으로 높은 확률을 가지는 레이블 값에 대응하는 확률을, 상대적으로 높은 확률을 가지는 레이블 값에 대응하는 클래스에 입력 데이터(110)가 매칭됨을 나타내는 미리 설정된 값으로 변경할 수 있다. 도 1의 예시에서, 레이블 값들(130) 중 피사체가 '개'일 확률은, 학습 데이터 생성 장치에 의해 입력 데이터(110)가 해당 클래스('개')에 매칭됨을 나타내는 미리 설정된 값(예를 들어, 정수 1)로 변경될 수 있다.
또한, 입력 데이터(110)에 포함된 피사체가 '소' 또는 '자동차'가 아님이 확실하므로, 학생 모델(150)은 교사 모델에서 획득된 피사체가 '소' 또는 '자동차'일 확률보다 낮은 확률을 출력하는 것이 바람직하다. 따라서, 학습 데이터 생성 장치는 레이블 값들(130) 중에서 상대적으로 낮은 확률을 가지는 레이블 값에 대응하는 확률을, 상대적으로 낮은 확률을 가지는 레이블 값에 대응하는 클래스에 입력 데이터(110)가 매칭되지 않음을 나타내는 미리 설정된 값으로 변경할 수 있다. 도 1의 예시에서, 레이블 값들(130) 중 피사체가 '소'일 확률 및 피사체가 '자동차'일 확률은, 학습 데이터 생성 장치에 의해 입력 데이터(110)가 해당 클래스('소' 및 '자동차')에 매칭되지 않음을 나타내는 미리 설정된 값(예를 들어, 정수 0)로 변경될 수 있다.
종합하면, 학습 데이터 생성 장치는 레이블 값들(130)을 정제하여, 레이블 값들(130)의 유리수 형태의 확률들을, 학생 모델(150)이 해당 확률에 기초하여 어떻게 트레이닝해야 할지를 나타낸 미리 설정한 값들의 집합(예를 들어, -1, 0, 1)의 유한개의 값들 중 어느 하나로 맵핑할 수 있다. 도 1을 참고하면, 학습 데이터 생성 장치가 레이블 값들(130)을 변경한 결과 레이블 값들(140)이 도시된다. 학습 데이터 생성 장치는 결과 레이블 값들(140)과 입력 데이터(110)를 결합하여, 학생 모델(150)을 트레이닝하기 위한 학습 데이터를 생성할 수 있다. 생성된 학습 데이터는 학생 모델(150)을 트레이닝하는데 활용될 수 있다.
도 2는 일실시예에 따른 학습 데이터 생성 장치가 레이블 값들을 정제하여 학습 데이터를 생성하는 동작을 설명하기 위한 흐름도이다.
도 2를 참고하면, 단계(210)에서, 일실시예에 따른 학습 데이터 생성 장치는 입력 데이터를 교사 모델에 입력할 수 있다. 학습 데이터 장치는 교사 모델의 입력 레이어를 고려하여 입력 데이터를 전처리할 수 있다. 학습 데이터 생성 장치는 입력 데이터에 대응하여 출력되는 교사 모델의 출력 레이어의 노드의 값을 식별할 수 있다.
도 2를 참고하면, 단계(220)에서, 일실시예에 따른 학습 데이터 생성 장치는 식별된 교사 모델의 출력 레이어의 노드의 값으로부터, 입력 데이터에 대한 레이블 값을 획득할 수 있다. 레이블 값은 교사 모델이 입력 데이터를 분석한 결과로써, 교사 모델을 통해 입력 데이터로부터 획득하고자 하는 정보를 포함할 수 있다.
보다 구체적으로, 교사 모델이 입력 데이터를 미리 설정된 복수의 클래스들 중 하나 이상의 클래스에 대응하는지를 판단하는 경우, 교사 모델은 입력 데이터가 클래스에 대응하는 지를 수학식 1 등의 확률 값으로 출력할 수 있다. 바꾸어 말하면, 학습 데이터 생성 장치는 교사 모델로부터 입력 데이터가 클래스들 각각에 대응할 확률 값을 포함하는 레이블 값들을 획득할 수 있다. 도 2를 참고하면, 학습 데이터 생성 장치가 교사 모델로부터 획득한 입력 데이터가 클래스 i에 대응할 확률을 si라 한다.
상술한 바와 같이, 학생 모델을 보다 정확하게 학습시키기 위하여, 학습 데이터 생성 장치는 교사 모델에 의해 출력된 레이블 값들을 변경할 수 있다. 학습 데이터 생성 장치는 레이블 값들 각각을 레이블 값들의 형태와 관련된 하나 이상의 임계치와 비교하고, 임계치와 비교한 결과에 기초하여 레이블 값들 각각을 변경할 수 있다. 예를 들어, 하나 이상의 임계치에 기초하여 레이블 값들이 복수의 구간 중 어느 하나로 분류될 수 있고, 학습 데이터 장치는 레이블 값들 각각을 레이블 값이 분류된 구간에 대응하는 값으로 변경할 수 있다.
도 2의 예시에서, 학습 데이터 생성 장치는 0 이상 1 이하의 확률 형태로 표시되는 레이블 값들을, 0 이상 1 이하의 값인 두 개의 확률 임계치 중 적어도 하나와 비교할 수 있다. 학습 데이터 생성 장치가 클래스 i에 대응하는 레이블 값 si와 비교하는 확률 임계치를 Pi 및 Ni라 한다. Pi는 Ni보다 큰 값이라 가정한다. Pi 및 Ni는 경험적으로(heuristically) 결정될 수 있다.
학습 데이터는 레이블 값 si를 Pi 및 Ni 중 적어도 하나와 비교할 수 있다. 도 2를 참고하면, 단계(230)에서, 일실시예에 따른 학습 데이터 생성 장치는 학습 데이터 생성 장치는 si를 Pi 및 Ni 중 큰 값인 Pi와 비교할 수 있다. 교사 모델이 클래스들 각각에 대응하여 레이블 값들을 출력하므로, 학습 데이터 생성 장치는 레이블 값들 전체를 대상으로, 레이블 값을 대응하는 확률 임계치와 비교하는 동작을 수행할 수 있다.
si가 Pi 및 Ni 중 큰 값인 Pi 보다 큰 경우, 단계(240)에서, 일실시예에 따른 학습 데이터 생성 장치는 레이블 값 si를 Pi 보다 큰 구간의 식별자(예를 들어, 정수 1)로 변경할 수 있다. 레이블 값 si가 Pi 및 Ni 중 큰 값인 Pi 보다 크다는 것은, 입력 데이터가 레이블 값 si에 대응하는 클래스에 매칭됨이 확실함을 의미할 수 있다. 따라서, 학습 데이터 생성 장치는 레이블 값 si를 학생 모델을 학습시키는데 유용한 레이블 값으로 판단할 수 있다. 더 나아가서, 학습 데이터 생성 장치는 레이블 값 si를 입력 데이터가 레이블 값 si에 대응하는 클래스에 매칭됨이 확실함을 의미하는 값(예를 들어, Pi 보다 큰 구간에 대응하는 식별자)로 변경할 수 있다.
si가 Pi 및 Ni 중 큰 값인 Pi 보다 작은 경우, 단계(250)에서, 일실시예에 따른 학습 데이터 생성 장치는 si를 Pi 및 Ni 중 작은 값인 Ni와 비교할 수 있다. 즉, 학습 데이터 생성 장치는 레이블 값을 복수의 확률 임계치와 순차적으로 비교하여, 레이블 값이 복수의 확률 임계치에 의해 구분되는 복수의 구간 중에서 어느 구간에 포함되는지를 식별할 수 있다.
si가 Pi 및 Ni 중 작은 값인 Ni 보다 큰 경우, 단계(260)에서, 일실시예에 따른 학습 데이터 생성 장치는 장치는 레이블 값 si를 Pi 보다 작고 Ni 보다 큰 구간의 식별자(예를 들어, 정수 -1)로 변경할 수 있다. 레이블 값 si가 Pi 보다 작고 Ni 보다 크다는 것은, 입력 데이터가 레이블 값 si에 대응하는 클래스에 매칭됨이 불확실함을 의미한다. 또한, 레이블 값 si가 Ni 보다 크기 때문에, 입력 데이터가 레이블 값 si에 대응하는 클래스에 매칭되지 않는 것 또한 확실하지 않음을 의미한다. 따라서, 학습 데이터 생성 장치는 레이블 값 si를 학생 모델을 학습시키는데 유용하지 않은 레이블 값으로 판단할 수 있다. 더 나아가서, 학습 데이터 생성 장치는 레이블 값 si를 학생 모델의 트레이닝에 사용하지 말 것을 의미하는 값(예를 들어, Pi 보다 작고 Ni 보다 큰 구간에 대응하는 식별자)로 변경할 수 있다.
si가 Pi 및 Ni 중 작은 값인 Ni 보다 작은 경우, 단계(270)에서, 일실시예에 따른 학습 데이터 생성 장치는 레이블 값 si를 Ni 보다 작은 구간의 식별자(예를 들어, 정수 0)로 변경할 수 있다. 레이블 값 si가 Ni 보다 작다는 것은, 입력 데이터가 레이블 값 si에 대응하는 클래스에 매칭되지 않음이 확실함을 의미한다. 따라서, 학습 데이터 생성 장치는 레이블 값 si를 학생 모델을 학습시키는데 유용한 레이블 값으로 판단할 수 있다. 더 나아가서, 학습 데이터 생성 장치는 레이블 값 si를 입력 데이터가 레이블 값 si에 대응하는 클래스에 매칭되지 않음을 의미하는 값(예를 들어, Ni 보다 작은 구간에 대응하는 식별자)로 변경할 수 있다.
종합하면, 학습 데이터 생성 장치는 레이블 값 si를 수학식 2에 기초하여 레이블 값을 분할한 복수의 구간의 식별자 중 어느 하나로 변경할 수 있다.
수학식 2를 참고하면, 학습 데이터 생성 장치는 레이블 값 si를 변경하여 클래스 i에 대한 변경된 레이블 값 hi를 출력할 수 있다.
도 2를 참고하면, 단계(280)에서, 일실시예에 따른 학습 데이터 생성 장치는 변경된 레이블 값 hi 및 입력 데이터를 포함하는 학습 데이터를 생성할 수 있다. 학습 데이터는 입력 데이터에 대한 진리 데이터로써, 0 또는 1 사이의 무한개의 유리수가 아닌 집합 {1, 0, -1}에 포함된 유한 개의 값 중 어느 하나로 표현된 레이블 값 hi를 포함할 수 있다. 즉, 학습 데이터는 교사 모델이 생성한 소프트 맥스 출력 형태의 소프트 레이블을 정제한 하드 레벨을 포함할 수 있다. 하드 레벨은 학습 데이터에 진리 데이터로써 포함될 수 있다.
도 2를 참고하면, 단계(290)에서, 일실시예에 따른 학습 데이터 생성 장치는 생성된 학습 데이터에 기초하여 학생 모델을 트레이닝할 수 있다. 학습 데이터 생성 장치는 레이블 값들 중에서 학생 모델의 트레이닝에 사용하지 말 것을 의미하는 레이블 값(도 2의 예시에서, 정수 -1)을 학생 모델의 트레이닝에 사용하지 않을 수 있다. 따라서, 학생 모델은 입력 데이터에 대응하는 것이 확실한 클래스 및 대응하지 않음이 확실한 클래스만으로 트레이닝될 수 있다.
또한, 사람이 입력 데이터로부터 직접 정보를 추출하여 학습 데이터를 생성할 때와 달리, 학습 데이터 생성 장치는 교사 모델을 이용하여 보다 많은 수의 학습 데이터를 보다 빠른 속도로 생성할 수 있다. 따라서, 학생 모델은 사람이 입력 데이터로부터 직접 정보를 추출하여 학습 데이터를 생성하는 경우보다 빠른 속도로 트레이닝될 수 있다. 학습 데이터 생성 장치가 레이블 값들 중에서 학생 모델의 트레이닝에 사용하기에 모호한 값을 제외하므로, 학생 모델을 트레이닝함에 있어서 불필요한 혼란이 줄어들 수 있다.
도 3은 일실시예에 따른 학습 데이터 생성 장치가 생성한 학습 데이터를 이용하여 학생 모델을 트레이닝하는 동작을 설명하기 위한 흐름도이다.
도 3을 참고하면, 단계(310)에서, 일실시예에 따른 학습 데이터 생성 장치는 학생 모델을 트레이닝하는데 사용할 학습 데이터를 식별할 수 있다. 학습 데이터는 도 2의 동작에 기초하여 획득될 수 있다. 학습 데이터는 학생 모델의 입력 레이어에 입력될 입력 데이터 및 입력 데이터에 대응한 학생 모델의 출력 데이터를 어떻게 결정할지를 나타낸 진리 데이터를 포함할 수 있다.
도 3을 참고하면, 단계(320)에서, 일실시예에 따른 학습 데이터 생성 장치는 식별된 학습 데이터에 기초하여 학생 모델을 트레이닝할 수 있다. 수학식 2에서 설명한 바와 같이, 진리 데이터는 입력 데이터가 특정 클래스에 매칭되는지를, 입력 데이터 및 특정 클래스가 매칭됨이 확실함을 나타내는 값 및 입력 데이터 및 특정 클래스가 매칭되지 않음이 확실함을 나타내는 값 뿐만 아니라, 입력 데이터 및 특정 클래스가 매칭되는 것이 모호하여, 이를 학습에 활용하지 말 것을 나타내는 값으로 나타낼 수 있다.
학습 데이터 생성 장치는 입력 데이터와 매칭되는 것이 모호한 클래스를 제외한 나머지 클래스, 즉, 입력 데이터와 매칭되는 것이 확실한 클래스 및 입력 데이터와 매칭되지 않음이 확실한 클래스만으로 학생 모델을 학습시킬 수 있다. 따라서, 학생 모델이 교사 모델로부터 획득된 확률 형태의 레이블 값을 그대로 학습할 때 보다 정확하게 학습될 수 있다. 더 나아가서, 학생 모델이 교사 모델의 확률을 그대로 학습하지 않으므로, 교사 모델보다 정확한 결과를 생성할 수 있다.
도 3을 참고하면, 단계(330)에서, 일실시예에 따른 학습 데이터 생성 장치는 학생 모델이 미리 설정된 조건을 만족하는지를 판단할 수 있다. 보다 구체적으로, 학습 데이터 생성 장치는 학생 모델의 학습을 종료해도 되는지를 판단할 수 있다. 예를 들어, 학습 데이터 생성 장치는 학생 모델의 정확도가 미리 설정된 임계값 이상인지 여부를 판단할 수 있다. 학생 모델의 정확도가 임계값 미만인 경우, 학습 데이터 생성 장치는 학생 모델의 트레이닝을 다시 수행할 수 있다. 이 경우, 학습 데이터 생성 장치는 교사 모델을 이용하여 학습 데이터를 추가로 생성할 수 있다. 사람이 입력 데이터로부터 직접 정보를 추출하여 학습 데이터를 생성하지 않고, 학습 데이터 생성 장치가 교사 모델로부터 학습 데이터를 추가로 생성하므로, 보다 적은 비용으로 대량의 학습 데이터를 획득할 수 있다. 학생 모델의 정확도가 임계값 이상인 경우, 학습 데이터 생성 장치는 학생 모델을 학습시키는 것을 종료할 수 있다.
다른 예로써, 학습 데이터 생성 장치는 학생 모델의 학습 횟수가 미리 설정된 반복 횟수를 만족하는지 여부를 판단할 수 있다. 학생 모델의 학습 횟수가 미리 설정된 반복 횟수 이하인 경우, 학습 데이터 생성 장치는 단계(310, 320)를 다시 수행할 수 있다. 마찬가지로, 학습 데이터 생성 장치는 교사 모델을 이용하여 학생 모델에 입력할 학습 데이터를 추가로 생성할 수 있다. 학생 모델의 학습 횟수가 미리 설정된 반복 횟수 이상인 경우, 학습 데이터 생성 장치는 학생 모델을 학습시키는 것을 종료할 수 있다.
학습이 완료된 학생 모델은 교사 모델로써 또 다른 학생 모델을 학습 시키는데 활용될 수 있다. 또한, 학습이 완료된 학생 모델은 교사 모델에 입력되었던 입력 데이터와 동일한 형태의 대상 데이터를 인식하는데 활용될 수 있다. 도 4는 일실시예에 따른 학습 데이터 생성 장치에 의해 학습된 학생 모델을 이용하는 데이터 인식 장치가 수행하는 동작을 설명하기 위한 흐름도이다.
도 4를 참고하면, 단계(410)에서, 일실시예에 따른 데이터 인식 장치는 인식하고자 하는 대상 데이터를 수신할 수 있다. 대상 데이터는 도 2 내지 도 3의 동작에 의해 학습된 학생 모델을 통해 인식하고자 하는 데이터로써, 예를 들어, 이미지 데이터, 비디오 데이터, 음성 데이터, 시계열 데이터(time-series data), 센서 데이터 또는 이들의 다양한 조합을 포함할 수 있다.
즉, 도 1에 예시한 교사 모델 및 학생 모델을 이미지 형태의 입력 데이터에 존재하는 피사체를 식별하는 데 활용하는 예시뿐만 아니라, 뉴럴 네트워크는 다양한 분야에서 다양한 목적으로 활용될 수 있다. 예를 들어, 교사 모델은 이미지 형태의 입력 데이터로부터 입력 데이터 내에 존재하는 사람의 얼굴을 인식할 수 있다. 이 경우, 학생 모델은 교사 모델이 입력 데이터에 대응하여 사람의 얼굴을 인식한 결과를 정제하여 생성된 학습 데이터에 기초하여 트레이닝될 수 있다. 또 다른 예로, 교사 모델은 음성 데이터를 텍스트 데이터로 변환할 수 있다. 이 경우, 학생 모델은 교사 모델이 음성 데이터에 대응하여 출력한 텍스트 데이터를 정제하여 생성된 학습 데이터를 학습할 수 있다. 이 외에도, 뉴럴 네트워크는 감정 인식, 상황 인식등에 활용될 수 있다.
도 4를 참고하면, 단계(420)에서, 일실시예에 따른 데이터 인식 장치는 학생 모델을 이용하여 대상 데이터를 인식할 수 있다. 학생 모델은 대상 데이터로부터 획득한 정보를 출력할 수 있는데, 출력되는 정보는 교사 모델이 입력 데이터로부터 획득한 정보와 유사할 수 있다. 예를 들어, 교사 모델이 이미지 형태의 입력 데이터에 존재하는 피사체의 종류를 미리 설정된 복수의 클래스 각각과 매칭될 확률을 이용하여 나타내는 경우, 학생 모델은 이미지 형태의 대상 데이터에 존재하는 피사체의 종류를 미리 설정된 복수의 클래스 각각과 매칭될 확률로 나타낼 수 있다.
도 5는 다른 일실시예에 따른 학습 데이터 생성 장치가 사전에 트레이닝된 교사 모델 앙상블(520)을 이용하여 학생 모델(550)을 트레이닝하는 동작을 개략적으로 설명하기 위한 도면이다. 교사 모델 앙상블(520)은 1 이상의 자연수인 N개의 교사 모델을 포함할 수 있고, N개의 교사 모델들은 서로 다른 초기 가중치(initial weight)를 가지거나, 서로 다른 신경망 구조를 가지거나, 서로 다른 하이퍼 파라미터(hyper parameter)가 적용될 수 있다.
도 5를 참고하면, 학습 데이터 생성 장치는 이미지 형태의 입력 데이터(510)를 교사 모델 앙상블(520)로 입력할 수 있고, 교사 모델 앙상블(520)로부터 입력 데이터(510)의 피사체의 위치 및 피사체의 종류가 미리 설정된 클래스에 매칭될 확률을 포함하는 레이블 값을 획득할 수 있다. 도 5를 참고하면, 학습 데이터 생성 장치가 획득한 레이블 값을 입력 데이터(530)에 시각적으로 표시된다. 교사 모델 앙상블(520)은 입력 데이터(530)에 존재하는 피사체를 추출하면서, 피사체가 보행자일 확률(0.92) 뿐만 아니라, 피사체가 사이클리스트일 확률(0.31) 및 피사체가 자동차일 확률(0.001)도 같이 출력할 수 있다.
피사체가 보행자일 확률(0.92) 및 피사체가 자동차일 확률(0.001)들 각각은 피사체가 보행자임이 확실하고 피사체가 자동차가 아님을 명확히 나타낸다. 따라서, 학습 데이터 생성 장치는 교사 모델 앙상블(520)로부터 획득된 레이블 값들 중에서 보행자에 대한 레이블 값 및 자동차에 대한 레이블 값을 학생 모델(550)을 트레이닝하는데 적합한 레이블 값으로 판단할 수 있다.
더 나아가서, 학습 데이터 생성 장치는 교사 모델 앙상블(520)로부터 획득된 레이블 값들 중에서 학생 모델(550)을 트레이닝하는데 적합하지 않은 레이블 값을 식별할 수 있다. 피사체가 사이클리스트일 확률(0.31)은 피사체가 자동차일 확률(0.0001) 보다 상대적으로 높아서 피사체가 사이클리스트인 것으로 해석될 수 있지만, 피사체가 보행자일 확률(0.92) 보다 상대적으로 낮아서 피사체가 사이클리스트가 아닌것으로도 해석할 수 있다. 즉, 피사체가 사이클리스트일 확률(0.31)은 피사체가 사이클리스트인지 아닌지를 명확하게 나타내지 않는다. 따라서, 학습 데이터 생성 장치는 교사 모델 앙상블(520)로부터 획득된 레이블 값들 중에서 사이클리스트에 대한 레이블 값을 학생 모델(550)을 트레이닝하는데 적합하지 않은 레이블 값으로 판단할 수 있다.
요약하면, 학습 데이터 생성 장치는 교사 모델 앙상블(520)로부터 획득된 레이블 값들 각각을 대응하는 하나 이상의 레이블 값 임계치와 비교하여, 레이블 값들 각각이 학생 모델(550)을 트레이닝하는데 적합한지 여부를 결정할 수 있다. 바람직하게는, 레이블 값 임계치는 적어도 두 개 이상일 수 있다. 레이블 값 임계치가 두 개인 경우, 학습 데이터 생성 장치는 가장 큰 레이블 값 임계치보다 큰 레이블 값을, 입력 데이터(510)가 레이블 값에 대응하는 클래스에 매칭됨을 명확히 나타내는 것으로 결정할 수 있다. 또한, 학습 데이터 생성 장치는 가장 작은 레이블 값 임계치보다 작은 레이블 값을, 입력 데이터(510)가 레이블 값에 대응하는 클래스에 매칭되지 않음을 명확히 나타내는 것으로 결정할 수 있다. 더 나아가서, 학습 데이터 생성 장치는 가장 큰 레이블 값 임계치보다 작고, 가장 작은 레이블 값 임계치보다 큰 레이블 값을, 입력 데이터(510)가 레이블 값에 대응하는 클래스에 매칭되는지 또는 매칭되지 않는지를 명확히 나타내지 않아 학생 모델(550)을 트레이닝하는데 적합하지 않은 것으로 결정할 수 있다.
학습 데이터 생성 장치는 교사 모델 앙상블(520)로부터 획득된 레이블 값들 각각을 대응하는 하나 이상의 레이블 값 임계치와 비교한 결과를 이용하여 레이블 값들을 변경할 수 있다. 보다 구체적으로, 학습 데이터 생성 장치는 레이블 값들을 레이블 값 임계치로 구분되는 복수의 구간 중 어느 하나로 분류하고, 레이블 값들을 분류된 구간의 식별자로 변경할 수 있다. 레이블 값이 0 또는 1 사이의 확률인 경우, 0 또는 1 사이의 무한 개의 유리수 중에서 결정되는 레이블 값은 n 개의 레이블 값 임계치로 구분되는 n+1개의 구간들 각각에 대응하는 n+1개의 식별자 중 어느 하나로 변경될 수 있다.
도 5의 예시에서, 학습 데이터 생성 장치가 레이블 값 임계치를 0.8 및 0.3으로 설정한 것으로 가정한다. 즉, 학습 데이터 생성 장치는 0.8 이상인 레이블 값을 레이블 값에 대응하는 클래스에 매칭됨을 명확히 나타내는 레이블 값으로 판단할 수 있고, 0.3 이하인 레이블 값을 레이블 값에 대응하는 클래스에 매칭되지 않음을 명확히 나타내는 레이블 값으로 판단할 수 있다. 도 5를 참고하면, 입력 데이터(510)의 피사체가 보행자일 확률(0.92)은 0.8 이상이므로, 학습 데이터 생성 장치는 피사체가 보행자일 확률(0.92)을 피사체가 보행자에 매칭됨을 나타내는 긍정 값(positive value)로 변경할 수 있다. 입력 데이터(510)의 피사체가 자동차일 확률(0.001)은 0.3 이하이므로, 학습 데이터 생성 장치는 피사체가 자동차일 확률(0.0001)을 피사체가 자동차에 대응함을 나타내는 부정 값(negative value)로 변경할 수 있다.
학습 데이터 생성 장치가 레이블 값을 레이블 값 임계치로 구분한 복수의 구간은 학생 모델(550)의 트레이닝에 적합하지 않은 구간을 포함할 수 있다. 도 5의 예시에서, 0.8 이하이고 0.3 이상인 레이블 값은 피사체가 레이블 값에 대응하는 클래스에 매칭되는지를 명확히 나타내지 않으면서 레이블 값에 대응하는 클래스에 매칭되지 않는지도 명확히 나타내지 않는다. 따라서, 학습 데이터 생성 장치는 학생 모델(550)의 트레이닝에 적합하지 않은 구간에 포함된 레이블 값을 학생 모델(550)의 트레이닝에 사용하지 말 것을 나타내는 상기 구간의 식별자로 변경할 수 있다. 도 5를 참고하면, 입력 데이터(510)의 피사체가 사이클리스트일 확률(0.31)은 0.8 이하이고 0.3 이상이므로, 피사체가 사이클리스트일 확률(0.31)을 학생 모델(550)의 트레이닝에 사용하지 말 것을 나타내는 무시 값(ignore value)로 변경할 수 있다.
종합하면, 교사 모델 앙상블(520)에서 출력된 레이블 값들은 긍정 값, 부정 값 및 무시 값 중 어느 하나로 변경될 수 있다. 학습 데이터 생성 장치에 의해 변경된 레이블 값들이 입력 데이터(540)에 시각적으로 표시된다. 학습 데이터 생성 장치는 변경된 레이블 값들을 입력 데이터(510)와 병합하여 학습 데이터를 생성할 수 있다. 생성된 학습 데이터는 학생 모델(550)의 트레이닝에 활용될 수 있다.
학생 모델(550)은 입력 데이터(510)의 피사체의 위치 및 피사체의 종류가 미리 설정된 클래스에 매칭될 확률을 포함하는 레이블 값을 출력할 수 있는데, 학습 데이터 생성 장치는 출력된 레이블 값들을 학습 데이터에 포함된 변경된 레이블 값들에 수렴하도록 학생 모델(550)을 학습시킬 수 있다. 즉, 학습 데이터 생성 장치는 학생 모델(550)이 입력 데이터(510)로부터 검출하는 피사체의 위치를 교사 모델 앙상블(520)이 검출한 피사체의 위치(예를 들어, 입력 데이터(540)에 표시된 바운딩 박스)에 수렴하도록 학생 모델(550)을 학습시킬 수 있다.
더 나아가서, 학습 데이터 생성 장치는 학생 모델(550)이 출력하는 확률로써, 입력 데이터(510)의 피사체를 미리 설정된 클래스에 매칭될 확률을, 긍정 값, 부정 값 및 무시 값으로 표현된 레이블 값과 비교하여 학생 모델(550)을 학습시킬 수 있다. 예를 들어, 학생 모델(550)이 입력 데이터(510)에 대응하여 피사체가 보행자일 확률을 상대적으로 낮은 값으로 결정하는 경우, 학습 데이터에 포함된 보행자에 대응하는 레이블 값이 긍정 값이므로, 학습 데이터 생성 장치는 학생 모델(550)이 피사체가 보행자일 확률을 보다 높은 값으로 결정하도록 학생 모델(550)을 학습시킬 수 있다. 또 다른 예로써, 학생 모델(550)이 입력 데이터(510)에 대응하여 피사체가 자동차일 확률을 상대적으로 높은 값으로 결정하는 경우, 학습 데이터에 포함된 자동차에 대응하는 레이블 값이 부정 값이므로, 학습 데이터 생성 장치는 학생 모델(550)이 피사체가 자동차일 확률을 보다 낮은 값으로 결정하도록 학생 모델(550)을 학습시킬 수 있다.
또 다른 예로써, 학습 데이터에 포함된 자동차에 대응하는 레이블 값이 무시 값이므로, 학습 데이터 생성 장치는 학생 모델(550)이 출력한 피사체가 사이클리스트일 확률을 학생 모델(550)의 트레이닝에 활용하지 않을 수 있다. 비록 무시 값인 레이블 값이 학생 모델(550)의 트레이닝에 활용되지 않지만, 학습 데이터 생성 장치가 사람이 입력 데이터로부터 직접 정보를 추출하여 학습 데이터를 생성할 때 보다 빠른 속도로 대량의 학습 데이터를 생성할 수 있으므로, 학생 모델(550)은 긍정 값 또는 부정 값인 대량의 레이블 값에 기초하여 보다 정확하게 트레이닝될 수 있다.
도 6은 일실시예에 따른 학습 데이터 생성 장치(610)의 구조를 개념적으로 도시한 도면이다.
도 6을 참고하면, 학습 데이터 생성 장치(610)는 프로세서(620) 및 메모리(630)를 포함할 수 있다. 학습 데이터 생성 장치(610)는 데이터 인식을 위한 뉴럴 네트워크를 학습시키거나 또는 뉴럴 네트워크를 학습시키기 위한 학습 데이터를 생성하는 장치로써, 하나 이상의 프로세서(620)로 구현될 수 있다.
프로세서(620)는 메모리(630)에 저장된 입력 데이터를 하나 이상의 교사 모델에 입력할 수 있고, 상기 하나 이상의 교사 모델에 의해 결정되는 상기 입력 데이터가 복수의 클래스들 각각과 매칭될 확률을 포함하는 확률 레이블을 획득할 수 있다. 프로세서(620)는 확률 레이블에 포함된 확률들을 복수의 확률 임계치와 비교하여, 확률 레이블에 포함된 확률들을 복수의 확률 임계치와 비교한 결과 값으로 변경할 수 있다.
결과 값은 확률이 복수의 확률 임계치 중에서 가장 큰 확률 임계치 이상임을 나타내는 값으로, 입력 데이터가 확률에 대응하는 클래스에 매칭됨을 나타내는 긍정(positive) 값을 포함할 수 있다. 결과 값은 확률이 복수의 확률 임계치 중에서 가장 작은 확률 임계치 미만임을 나타내는 값으로, 입력 데이터가 확률에 대응하는 클래스에 매칭되지 않음을 나타내는 부정(negative) 값을 포함할 수 있다. 더 나아가서, 결과 값은 복수의 확률 임계치 중 가장 작은 확률 임계치 이상이고 상기 복수의 확률 임계치 중 가장 큰 확률 임계치 미만임을 나타내는 값으로, 교사 모델에 대응하는 학생 모델의 트레이닝에 상기 확률을 사용하지 않을 것을 나타내는 무시(ignore) 값을 포함할 수 있다. 긍정 값, 부정 값 및 무시 값은 복수의 확률 임계치로 구분되는 확률 구간에 대응될 수 있다.
프로세서(620)는 입력 데이터 및 확률 레이블을 변경한 결과를 결합하여 학생 모델에 입력될 학습 데이터를 생성할 수 있다. 프로세서(620)는 생성한 학습 데이터를 메모리(630)에 저장할 수 있다. 학습 데이터 생성 장치(610)가 학생 모델을 학습 시키는 경우, 학생 모델이 메모리(630)에 저장될 수 있고, 프로세서(620)는 학습 데이터에 기초하여 학생 모델을 학습시킬 수 있다. 학생 모델은 교사 모델보다 적은 개수의 히든 레이어를 포함하거나 또는 교사 모델 보다 적은 개수의 필터 또는 노드를 포함할 수 있다. 즉, 학생 모델은 모델 경량화(model compression)에 의해 교사 모델보다 경량화된 뉴럴 네트워크를 포함할 수 있다. 경량화된 학생 모델은 칩 형태로 ADAS(Advanced Driver Assistance System) 및 자율 주행 차량의 인식기 형태로 탑재될 수 있다.
도 7은 일실시예에 따른 데이터 인식 장치(710)의 구조를 개념적으로 도시한 도면이다.
도 7을 참고하면, 데이터 인식 장치(710)는 인식하고자 하는 대상 데이터를 저장하는 메모리(730) 및 트레이닝된 뉴럴 네트워크(즉, 학생 모델)를 이용하여 대상 데이터를 인식하는 프로세서(720)를 포함할 수 있다. 학생 모델은 학생 모델에 대응하는 교사 모델에 입력 데이터를 입력함으로써 획득된 레이블 값을 복수의 확률 임계치로 구분되는 복수의 구간 중 어느 하나로 분류한 결과에 기초하여 생성된 학습 데이터에 의해 트레이닝될 수 있다. 학생 모델은 입력 데이터에 대한 학생 모델의 출력 데이터 및 교사 모델의 출력 데이터를 정제한 결과(예를 들어, 도 2의 동작에 기초하여 변경된 레이블 값들) 사이의 손실에 기초하여 학습될 수 있다.
요약하면, 일실시예에 따른 학습 데이터 생성 장치는 사전에 학습된 교사 모델이 입력 데이터에 대응하여 출력한 출력 데이터 중에서, 교사 모델에 대응하는 학생 모델을 학습 시키기에 적합하지 않은 데이터를 탐지할 수 있다. 학생 모델을 학습 시키기에 적합하지 않은 출력 데이터가 학생 모델의 학습에 활용되지 않도록, 학습 데이터 생성 장치는 학생 모델을 학습 시키기에 적합하지 않은 출력 데이터를 미리 설정된 무시 값(ignore value)으로 변경할 수 있다. 더 나아가서, 학생 모델을 학습 시키기에 적합한 출력 데이터에 대하여, 학습 데이터 생성 장치는 출력 데이터를 그대로 학생 모델의 학습에 활용하는 것을 넘어서, 학생 모델이 교사 모델의 출력 데이터보다 개선된 결과를 출력할 수 있도록 출력 데이터를 변경할 수 있다.
이상에서 설명된 실시예들은 하드웨어 구성요소, 소프트웨어 구성요소, 및/또는 하드웨어 구성요소 및 소프트웨어 구성요소의 조합으로 구현될 수 있다. 예를 들어, 실시예들에서 설명된 장치, 방법 및 구성요소는, 예를 들어, 프로세서, 콘트롤러, ALU(arithmetic logic unit), 디지털 신호 프로세서(digital signal processor), 마이크로컴퓨터, FPGA(field programmable gate array), PLU(programmable logic unit), 마이크로프로세서, 또는 명령(instruction)을 실행하고 응답할 수 있는 다른 어떠한 장치와 같이, 하나 이상의 범용 컴퓨터 또는 특수 목적 컴퓨터를 이용하여 구현될 수 있다. 처리 장치는 운영 체제(OS) 및 상기 운영 체제 상에서 수행되는 하나 이상의 소프트웨어 애플리케이션을 수행할 수 있다. 또한, 처리 장치는 소프트웨어의 실행에 응답하여, 데이터를 접근, 저장, 조작, 처리 및 생성할 수도 있다. 이해의 편의를 위하여, 처리 장치는 하나가 사용되는 것으로 설명된 경우도 있지만, 해당 기술분야에서 통상의 지식을 가진 자는, 처리 장치가 복수 개의 처리 요소(processing element) 및/또는 복수 유형의 처리 요소를 포함할 수 있음을 알 수 있다. 예를 들어, 처리 장치는 복수 개의 프로세서 또는 하나의 프로세서 및 하나의 콘트롤러를 포함할 수 있다. 또한, 병렬 프로세서(parallel processor)와 같은, 다른 처리 구성(processing configuration)도 가능하다.
소프트웨어는 컴퓨터 프로그램(computer program), 코드(code), 명령(instruction), 또는 이들 중 하나 이상의 조합을 포함할 수 있으며, 원하는 대로 동작하도록 처리 장치를 구성하거나 독립적으로 또는 결합적으로(collectively) 처리 장치를 명령할 수 있다. 소프트웨어 및/또는 데이터는, 처리 장치에 의하여 해석되거나 처리 장치에 명령 또는 데이터를 제공하기 위하여, 어떤 유형의 기계, 구성요소(component), 물리적 장치, 가상 장치(virtual equipment), 컴퓨터 저장 매체 또는 장치, 또는 전송되는 신호 파(signal wave)에 영구적으로, 또는 일시적으로 구체화(embody)될 수 있다. 소프트웨어는 네트워크로 연결된 컴퓨터 시스템 상에 분산되어서, 분산된 방법으로 저장되거나 실행될 수도 있다. 소프트웨어 및 데이터는 하나 이상의 컴퓨터 판독 가능 기록 매체에 저장될 수 있다.
실시예에 따른 방법은 다양한 컴퓨터 수단을 통하여 수행될 수 있는 프로그램 명령 형태로 구현되어 컴퓨터 판독 가능 매체에 기록될 수 있다. 상기 컴퓨터 판독 가능 매체는 프로그램 명령, 데이터 파일, 데이터 구조 등을 단독으로 또는 조합하여 포함할 수 있다. 상기 매체에 기록되는 프로그램 명령은 실시예를 위하여 특별히 설계되고 구성된 것들이거나 컴퓨터 소프트웨어 당업자에게 공지되어 사용 가능한 것일 수도 있다. 컴퓨터 판독 가능 기록 매체의 예에는 하드 디스크, 플로피 디스크 및 자기 테이프와 같은 자기 매체(magnetic media), CD-ROM, DVD와 같은 광기록 매체(optical media), 플롭티컬 디스크(floptical disk)와 같은 자기-광 매체(magneto-optical media), 및 롬(ROM), 램(RAM), 플래시 메모리 등과 같은 프로그램 명령을 저장하고 수행하도록 특별히 구성된 하드웨어 장치가 포함된다. 프로그램 명령의 예에는 컴파일러에 의해 만들어지는 것과 같은 기계어 코드뿐만 아니라 인터프리터 등을 사용해서 컴퓨터에 의해서 실행될 수 있는 고급 언어 코드를 포함한다. 상기된 하드웨어 장치는 실시예의 동작을 수행하기 위해 하나 이상의 소프트웨어 모듈로서 작동하도록 구성될 수 있으며, 그 역도 마찬가지이다.
이상과 같이 실시예들이 비록 한정된 도면에 의해 설명되었으나, 해당 기술분야에서 통상의 지식을 가진 자라면 상기를 기초로 다양한 기술적 수정 및 변형을 적용할 수 있다. 예를 들어, 설명된 기술들이 설명된 방법과 다른 순서로 수행되거나, 및/또는 설명된 시스템, 구조, 장치, 회로 등의 구성요소들이 설명된 방법과 다른 형태로 결합 또는 조합되거나, 다른 구성요소 또는 균등물에 의하여 대치되거나 치환되더라도 적절한 결과가 달성될 수 있다.
110: 입력 데이터
120: 교사 모델
130: 레이블 값들
140: 변경된 레이블 값들
150: 학생 모델

Claims (13)

  1. 학습 데이터 생성 장치가 입력 데이터를 교사 모델에 입력하여, 상기 교사 모델로부터 상기 입력 데이터에 대한 레이블 값을 획득하는 단계;
    상기 학습 데이터 생성 장치가 상기 레이블 값을 복수의 확률 임계치와 비교하여, 상기 레이블 값을 상기 복수의 확률 임계치로 구분되는 복수의 구간 중 어느 하나로 분류하는 단계; 및
    상기 학습 데이터 생성 장치가 상기 레이블 값이 분류된 구간의 식별자 및 상기 입력 데이터를 병합하여, 상기 교사 모델에 대응하는 학생 모델-상기 학생 모델은, 상기 교사 모델과 별개의 모델임.-을 트레이닝하기 위한 학습 데이터를 생성하는 단계
    를 포함하고
    상기 레이블 값은,
    상기 교사 모델로부터 예측된 상기 입력 데이터가 클래스들 각각에 대응하는 확률 값을 포함하고,
    상기 복수의 구간은,
    0보다 큰 제1 확률 임계치 이상이고, 1보다 작은 제2 확률 임계치-상기 제2 확률 임계치는, 상기 제1 확률 임계치보다 큼- 이하인 무시(ignore) 구간을 포함하고,
    상기 분류하는 단계는,
    상기 레이블 값이 상기 제1 확률 임계치 이상이고, 상기 제2 확률 임계치 이하인 경우, 상기 레이블 값을 상기 학생 모델의 트레이닝에 적용하지 않는 상기 무시 구간으로 분류하는,
    학습 데이터 생성 방법.
  2. 제1항에 있어서,
    상기 분류하는 단계는,
    상기 레이블 값이 상기 제2 확률 임계치 이상인 경우, 상기 레이블 값을 상기 복수의 구간 중에서 상기 입력 데이터가 상기 레이블 값과 관련된 클래스에 대응함을 나타내는 긍정(positive) 구간으로 분류하는 학습 데이터 생성 방법.
  3. 제1항에 있어서,
    상기 분류하는 단계는,
    상기 레이블 값이 상기 제1 확률 임계치 이하인 경우, 상기 레이블 값을 상기 복수의 구간 중에서 상기 입력 데이터가 상기 레이블 값과 관련된 클래스에 대응하지 않음을 나타내는 부정(negative) 구간으로 분류하는 학습 데이터 생성 방법.
  4. 삭제
  5. 제1항에 있어서,
    상기 학생 모델은,
    상기 교사 모델에 포함된 히든 레이어의 수 이하의 히든 레이어를 포함하거나 또는 상기 교사 모델에 포함된 필터의 수 이하의 필터를 포함하는 학습 데이터 생성 방법.
  6. 데이터 인식 장치가 인식하고자 하는 대상 데이터를 수신하는 단계; 및
    상기 데이터 인식 장치가 트레이닝된 학생 모델을 이용하여 상기 대상 데이터를 인식하는 단계
    를 포함하고,
    상기 학생 모델은,
    상기 학생 모델에 대응하는 교사 모델-상기 교사 모델은, 상기 학생 모델과 별개의 모델임.-에 입력 데이터를 입력함으로써 획득된 레이블 값을 복수의 확률 임계치로 구분되는 복수의 구간 중 어느 하나로 분류한 결과에 기초하여 생성된 학습 데이터에 의해 트레이닝되고,
    상기 학습 데이터는,
    학습 데이터 생성 장치가 상기 학생 모델에 대응하는 교사 모델에 의해 입력 데이터가 클래스들 각각에 대응하는 확률 값을 포함하는 레이블 값을 예측하고,
    상기 학습 데이터 생성 장치가 상기 레이블 값을 복수의 확률 임계치와 비교하여, 상기 레이블 값을 상기 복수의 확률 임계치로 구분되는 복수의 구간 중 어느 하나로 분류하고,
    상기 학습 데이터 생성 장치가 상기 레이블 값이 분류된 구간의 식별자 및 상기 입력 데이터를 병합하여 생성되고,
    상기 레이블 값이 0보다 큰 제1 확률 임계치 이상이고, 1보다 작은 제2 확률 임계치-상기 제2 확률 임계치는, 상기 제1 확률 임계치보다 큼- 이하인 무시(ignore) 구간으로 분류된 경우, 상기 레이블 값이 상기 학생 모델의 트레이닝에 적용되지 않는,
    데이터 인식 방법.
  7. 삭제
  8. 제6항에 있어서,
    상기 교사 모델은,
    상기 학생 모델에 포함된 히든 레이어의 수 이상의 히든 레이어를 포함하거나 또는 상기 학생 모델에 포함된 필터의 수 이상의 필터를 포함하는 데이터 인식 방법.
  9. 입력 데이터를 저장하는 메모리; 및
    프로세서
    를 포함하고,
    상기 프로세서는,
    상기 입력 데이터를 하나 이상의 교사 모델에 입력하여, 상기 하나 이상의 교사 모델에 의해 결정되는 상기 입력 데이터가 복수의 클래스들 각각에 대응하는 확률 값을 포함하는 확률 레이블을 획득하고,
    상기 확률 레이블에 포함된 확률들을 복수의 확률 임계치와 비교하여, 상기 확률 레이블에 포함된 확률들을 상기 복수의 확률 임계치와 비교한 결과 값으로 변경하고,
    상기 입력 데이터 및 상기 변경된 확률 레이블을 병합하여, 상기 하나 이상의 교사 모델에 대응하는 학생 모델-상기 학생 모델은, 상기 교사 모델과 별개의 모델임.-을 트레이닝하기 위한 학습 데이터를 생성하고,
    상기 프로세서는,
    상기 확률 레이블에 포함된 확률이 0보다 큰 제1 확률 임계치 이상이고, 1보다 작은 제2 확률 임계치-상기 제2 확률 임계치는, 상기 제1 확률 임계치보다 큼- 이하인 경우, 상기 학생 모델의 트레이닝에 상기 확률을 사용하지 않을 것을 나타내는 무시(ignore) 값으로 변경하는, 학습 데이터 생성 장치.
  10. 제9항에 있어서,
    상기 프로세서는,
    상기 확률 레이블에 포함된 확률들 중에서 상기 제2 확률 임계치 이상인 확률을, 상기 입력 데이터가 상기 확률에 대응하는 클래스에 매칭됨을 나타내는 긍정(positive) 값으로 변경하는 학습 데이터 생성 장치.
  11. 제9항에 있어서,
    상기 프로세서는,
    상기 확률 레이블에 포함된 확률들 중에서 제1 확률 임계치 이하인 확률을, 상기 입력 데이터가 상기 확률에 대응하는 클래스에 매칭되지 않음을 나타내는 부정(negative) 값으로 변경하는 학습 데이터 생성 장치.
  12. 삭제
  13. 제9항에 있어서,
    상기 프로세서는,
    상기 입력 데이터를 복수의 교사 모델에 입력하는 경우, 상기 복수의 교사 모델을 포함하는 교사 모델 앙상블에 기초하여 상기 확률 레이블을 획득하는 학습 데이터 생성 장치.
KR1020170096902A 2017-07-31 2017-07-31 교사 모델로부터 학생 모델을 트레이닝하는데 사용되는 학습 데이터를 생성하는 장치 및 방법 Active KR102570278B1 (ko)

Priority Applications (2)

Application Number Priority Date Filing Date Title
KR1020170096902A KR102570278B1 (ko) 2017-07-31 2017-07-31 교사 모델로부터 학생 모델을 트레이닝하는데 사용되는 학습 데이터를 생성하는 장치 및 방법
US15/933,609 US12039016B2 (en) 2017-07-31 2018-03-23 Method and apparatus for generating training data to train student model using teacher model

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020170096902A KR102570278B1 (ko) 2017-07-31 2017-07-31 교사 모델로부터 학생 모델을 트레이닝하는데 사용되는 학습 데이터를 생성하는 장치 및 방법

Publications (2)

Publication Number Publication Date
KR20190013011A KR20190013011A (ko) 2019-02-11
KR102570278B1 true KR102570278B1 (ko) 2023-08-24

Family

ID=65038060

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020170096902A Active KR102570278B1 (ko) 2017-07-31 2017-07-31 교사 모델로부터 학생 모델을 트레이닝하는데 사용되는 학습 데이터를 생성하는 장치 및 방법

Country Status (2)

Country Link
US (1) US12039016B2 (ko)
KR (1) KR102570278B1 (ko)

Families Citing this family (54)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CA3085717C (en) * 2017-12-14 2023-04-18 Google Llc Qubit calibration
CN108830288A (zh) * 2018-04-25 2018-11-16 北京市商汤科技开发有限公司 图像处理方法、神经网络的训练方法、装置、设备及介质
US10936628B2 (en) * 2018-05-30 2021-03-02 International Business Machines Corporation Automatic processing of ambiguously labeled data
US10699194B2 (en) * 2018-06-01 2020-06-30 DeepCube LTD. System and method for mimicking a neural network without access to the original training dataset or the target model
US11907854B2 (en) 2018-06-01 2024-02-20 Nano Dimension Technologies, Ltd. System and method for mimicking a neural network without access to the original training dataset or the target model
US11741355B2 (en) * 2018-07-27 2023-08-29 International Business Machines Corporation Training of student neural network with teacher neural networks
US11610108B2 (en) * 2018-07-27 2023-03-21 International Business Machines Corporation Training of student neural network with switched teacher neural networks
US10602207B2 (en) * 2018-08-03 2020-03-24 Facebook, Inc. Neural network based content distribution in an online system
US11487997B2 (en) * 2018-10-04 2022-11-01 Visa International Service Association Method, system, and computer program product for local approximation of a predictive model
US12330646B2 (en) 2018-10-18 2025-06-17 Autobrains Technologies Ltd Off road assistance
US10748038B1 (en) 2019-03-31 2020-08-18 Cortica Ltd. Efficient calculation of a robust signature of a media unit
KR20200052444A (ko) 2018-10-30 2020-05-15 삼성전자주식회사 신경망을 이용하여 예측 결과를 출력하는 방법, 신경망을 생성하는 방법 및 그 장치들
CN113056748A (zh) * 2018-11-28 2021-06-29 惠普发展公司,有限责任合伙企业 使用深度神经网络的输出的基于事件的处理
CN111598113A (zh) * 2019-02-20 2020-08-28 富士通株式会社 模型优化方法、数据识别方法和数据识别装置
US11694088B2 (en) * 2019-03-13 2023-07-04 Cortica Ltd. Method for object detection using knowledge distillation
GB2598052B (en) * 2019-03-22 2023-03-15 Ibm Unification of models having respective target classes with distillation
CN110046707B (zh) * 2019-04-15 2021-08-06 清华大学深圳研究生院 一种神经网络模型的评估优化方法和系统
CN111832787B (zh) * 2019-04-23 2022-12-09 北京新唐思创教育科技有限公司 教师风格预测模型的训练方法及计算机存储介质
KR20200128938A (ko) * 2019-05-07 2020-11-17 삼성전자주식회사 모델 학습 방법 및 장치
CN110390352A (zh) * 2019-06-26 2019-10-29 华中科技大学 一种基于相似性哈希的图像暗数据价值评估方法
JP7405145B2 (ja) * 2019-09-05 2023-12-26 日本電気株式会社 モデル生成装置、モデル生成方法、及び、プログラム
CN110826344B (zh) * 2019-10-24 2022-03-01 北京小米智能科技有限公司 神经网络模型压缩方法、语料翻译方法及其装置
US20210158156A1 (en) * 2019-11-21 2021-05-27 Google Llc Distilling from Ensembles to Improve Reproducibility of Neural Networks
CN111104482A (zh) * 2019-12-18 2020-05-05 北京百度网讯科技有限公司 数据处理方法和装置
US11727248B2 (en) 2020-04-07 2023-08-15 NEC Laboratories Europe GmbH Interpretable node embedding
EP4145386A4 (en) * 2020-04-30 2023-10-18 Sony Group Corporation INFORMATION PROCESSING APPARATUS AND PROGRAM
CN111627428B (zh) * 2020-05-15 2023-11-14 北京青牛技术股份有限公司 构建压缩的语音识别模型的方法
US12423583B2 (en) * 2020-06-01 2025-09-23 Nvidia Corporation Selecting annotations for training images using a neural network
KR102471434B1 (ko) * 2020-06-29 2022-12-05 주식회사 빅트리 딥 러닝 네트워크로부터 경량화 딥 러닝 네트워크로 지식을 전수하는 방법
US11961003B2 (en) 2020-07-08 2024-04-16 Nano Dimension Technologies, Ltd. Training a student neural network to mimic a mentor neural network with inputs that maximize student-to-mentor disagreement
CN112749728A (zh) * 2020-08-13 2021-05-04 腾讯科技(深圳)有限公司 学生模型训练方法、装置、计算机设备及存储介质
CN112101156B (zh) * 2020-09-02 2024-08-27 杭州海康威视数字技术股份有限公司 一种目标识别的方法、装置和电子设备
CN112232506B (zh) * 2020-09-10 2025-01-10 北京迈格威科技有限公司 网络模型训练方法、图像目标识别方法、装置和电子设备
US12049116B2 (en) 2020-09-30 2024-07-30 Autobrains Technologies Ltd Configuring an active suspension
CN114415163A (zh) 2020-10-13 2022-04-29 奥特贝睿技术有限公司 基于摄像头的距离测量
KR102512625B1 (ko) * 2020-10-26 2023-03-23 한국생산기술연구원 데이터 증강을 이용하여 결함 검사를 위한 학습 방법 및 이를 수행하는 장치
CN114491010B (zh) * 2020-11-12 2025-06-10 北京金山数字娱乐科技有限公司 信息抽取模型的训练方法及装置
KR102631406B1 (ko) * 2020-11-20 2024-01-30 서울대학교산학협력단 트랜스포머 뉴럴 네트워크 경량화를 위한 지식 증류 방법 및 이를 수행하기 위한 장치
CN112365384B (zh) * 2021-01-14 2021-08-27 北京新唐思创教育科技有限公司 目标事件结果指标权重、影响因素值确定方法及相关装置
US12257949B2 (en) 2021-01-25 2025-03-25 Autobrains Technologies Ltd Alerting on driving affecting signal
CN113361384B (zh) * 2021-06-03 2025-01-28 深圳前海微众银行股份有限公司 人脸识别模型压缩方法、设备、介质及计算机程序产品
US12139166B2 (en) 2021-06-07 2024-11-12 Autobrains Technologies Ltd Cabin preferences setting that is based on identification of one or more persons in the cabin
KR20230005779A (ko) 2021-07-01 2023-01-10 오토브레인즈 테크놀로지스 리미티드 차선 경계 감지
KR102710087B1 (ko) * 2021-07-27 2024-09-25 네이버 주식회사 언어 모델을 이용한 데이터 생성 방법, 컴퓨터 장치, 및 컴퓨터 프로그램
US12110075B2 (en) 2021-08-05 2024-10-08 AutoBrains Technologies Ltd. Providing a prediction of a radius of a motorcycle turn
KR102566928B1 (ko) * 2021-09-01 2023-08-14 주식회사 한글과컴퓨터 사용자 의도를 판별하는 딥러닝 모델의 강화 학습을 수행하기 위한 훈련 세트를 생성하는 전자 장치 및 그 동작 방법
CN113505797B (zh) * 2021-09-09 2021-12-14 深圳思谋信息科技有限公司 模型训练方法、装置、计算机设备和存储介质
CN114117198B (zh) * 2021-10-21 2025-04-25 北京快乐茄信息技术有限公司 模型训练方法、推荐方法、装置、电子设备和存储介质
US12293560B2 (en) 2021-10-26 2025-05-06 Autobrains Technologies Ltd Context based separation of on-/off-vehicle points of interest in videos
KR102816102B1 (ko) * 2022-07-19 2025-05-30 아주대학교산학협력단 지식 증류 기반 3차원 객체 탐지 모델의 경량화를 수행하는 전자장치 및 경량화 방법
WO2024071640A1 (ko) * 2022-09-29 2024-04-04 삼성전자 주식회사 인공 지능 모델을 훈련시키는 전자 장치 및 방법
KR102597288B1 (ko) * 2022-12-15 2023-11-02 주식회사 포도 라이다 포인트 클라우드 데이터 분류기 경량화를 위한 지식증류 장치 및 방법
CN116311102B (zh) * 2023-03-30 2023-12-15 哈尔滨市科佳通用机电股份有限公司 基于改进的知识蒸馏的铁路货车故障检测方法及系统
CN120317312A (zh) * 2024-01-12 2025-07-15 华为技术有限公司 一种数据处理方法及相关设备

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2017073373A1 (ja) * 2015-10-30 2017-05-04 株式会社モルフォ 学習システム、学習装置、学習方法、学習プログラム、教師データ作成装置、教師データ作成方法、教師データ作成プログラム、端末装置及び閾値変更装置

Family Cites Families (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP3247803B2 (ja) 1994-07-27 2002-01-21 シャープ株式会社 ファジィ・ニューラルネットワーク・システム
US7606714B2 (en) 2003-02-11 2009-10-20 Microsoft Corporation Natural language classification within an automated response system
US7287012B2 (en) 2004-01-09 2007-10-23 Microsoft Corporation Machine-learned approach to determining document relevance for search over large electronic collections of documents
US7826911B1 (en) * 2005-11-30 2010-11-02 Google Inc. Automatic selection of representative media clips
US8958631B2 (en) * 2011-12-02 2015-02-17 Intel Corporation System and method for automatically defining and identifying a gesture
US9489373B2 (en) 2013-07-12 2016-11-08 Microsoft Technology Licensing, Llc Interactive segment extraction in computer-human interactive learning
US10289962B2 (en) * 2014-06-06 2019-05-14 Google Llc Training distilled machine learning models
EP3192012A4 (en) * 2014-09-12 2018-01-17 Microsoft Technology Licensing, LLC Learning student dnn via output distribution
US10878320B2 (en) 2015-07-22 2020-12-29 Qualcomm Incorporated Transfer learning in neural networks
KR102492318B1 (ko) * 2015-09-18 2023-01-26 삼성전자주식회사 모델 학습 방법 및 장치, 및 데이터 인식 방법
US10679143B2 (en) * 2016-07-01 2020-06-09 International Business Machines Corporation Multi-layer information fusing for prediction

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2017073373A1 (ja) * 2015-10-30 2017-05-04 株式会社モルフォ 学習システム、学習装置、学習方法、学習プログラム、教師データ作成装置、教師データ作成方法、教師データ作成プログラム、端末装置及び閾値変更装置

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
Geoffrey Hinton et al., "Distilling the Knowledge in a Neural Network," arXiv:1503.02531v1 [stat.ML] 9 Mar 2015 (2015.05.09.)*

Also Published As

Publication number Publication date
US20190034764A1 (en) 2019-01-31
US12039016B2 (en) 2024-07-16
KR20190013011A (ko) 2019-02-11

Similar Documents

Publication Publication Date Title
KR102570278B1 (ko) 교사 모델로부터 학생 모델을 트레이닝하는데 사용되는 학습 데이터를 생성하는 장치 및 방법
US11681921B2 (en) Method of outputting prediction result using neural network, method of generating neural network, and apparatus therefor
CN111797893B (zh) 一种神经网络的训练方法、图像分类系统及相关设备
KR102595399B1 (ko) 미지의 클래스들의 검출 및 미지의 클래스들에 대한 분류기들의 초기화
CN107430705B (zh) 用于重新训练分类器的样本选择
US10275719B2 (en) Hyper-parameter selection for deep convolutional networks
US20240232648A1 (en) Multimodal unsupervised meta-learning method and apparatus
US11423323B2 (en) Generating a sparse feature vector for classification
US20190354842A1 (en) Continuous relaxation of quantization for discretized deep neural networks
US20170083623A1 (en) Semantic multisensory embeddings for video search by text
US20170061326A1 (en) Method for improving performance of a trained machine learning model
US11551076B2 (en) Event-driven temporal convolution for asynchronous pulse-modulated sampled signals
CN107430703A (zh) 对细调特征的顺序图像采样和存储
CN104573669A (zh) 图像物体检测方法
US20240303497A1 (en) Robust test-time adaptation without error accumulation
US11710344B2 (en) Compact encoded heat maps for keypoint detection networks
Iliadis et al. Artificial Neural Networks and Machine Learning–ICANN 2023: 32nd International Conference on Artificial Neural Networks, Heraklion, Crete, Greece, September 26–29, 2023, Proceedings, Part I
WO2024197443A1 (en) Dynamic class-incremental learning without forgetting
US20250103898A1 (en) Energy-efficient anomaly detection and inference on embedded systems
US11927601B2 (en) Persistent two-stage activity recognition
US20240412084A1 (en) Out-of-distribution detection for personalizing neural network models
US20250036681A1 (en) On-device artificial intelligence video search
WO2025107137A1 (en) Pipeline for accelerating first token generation of large language models
WO2024253740A1 (en) Pre-processing for deep neural network compilation using graph neural networks
BR112018002248B1 (pt) Detecção de classes desconhecidas e inicialização de classificadores para classes desconhecidas

Legal Events

Date Code Title Description
PA0109 Patent application

Patent event code: PA01091R01D

Comment text: Patent Application

Patent event date: 20170731

PG1501 Laying open of application
PA0201 Request for examination

Patent event code: PA02012R01D

Patent event date: 20200717

Comment text: Request for Examination of Application

Patent event code: PA02011R01I

Patent event date: 20170731

Comment text: Patent Application

E902 Notification of reason for refusal
PE0902 Notice of grounds for rejection

Comment text: Notification of reason for refusal

Patent event date: 20220830

Patent event code: PE09021S01D

AMND Amendment
E601 Decision to refuse application
PE0601 Decision on rejection of patent

Patent event date: 20230322

Comment text: Decision to Refuse Application

Patent event code: PE06012S01D

Patent event date: 20220830

Comment text: Notification of reason for refusal

Patent event code: PE06011S01I

X091 Application refused [patent]
AMND Amendment
PX0901 Re-examination

Patent event code: PX09011S01I

Patent event date: 20230322

Comment text: Decision to Refuse Application

Patent event code: PX09012R01I

Patent event date: 20221027

Comment text: Amendment to Specification, etc.

PX0701 Decision of registration after re-examination

Patent event date: 20230727

Comment text: Decision to Grant Registration

Patent event code: PX07013S01D

Patent event date: 20230621

Comment text: Amendment to Specification, etc.

Patent event code: PX07012R01I

Patent event date: 20230322

Comment text: Decision to Refuse Application

Patent event code: PX07011S01I

Patent event date: 20221027

Comment text: Amendment to Specification, etc.

Patent event code: PX07012R01I

X701 Decision to grant (after re-examination)
GRNT Written decision to grant
PR0701 Registration of establishment

Comment text: Registration of Establishment

Patent event date: 20230821

Patent event code: PR07011E01D

PR1002 Payment of registration fee

Payment date: 20230822

End annual number: 3

Start annual number: 1

PG1601 Publication of registration