KR20210099988A - 뉴럴 네트워크의 메타 학습 방법 및 장치와 뉴럴 네트워크의 클래스 벡터 학습 방법 및 장치 - Google Patents

뉴럴 네트워크의 메타 학습 방법 및 장치와 뉴럴 네트워크의 클래스 벡터 학습 방법 및 장치 Download PDF

Info

Publication number
KR20210099988A
KR20210099988A KR1020200077127A KR20200077127A KR20210099988A KR 20210099988 A KR20210099988 A KR 20210099988A KR 1020200077127 A KR1020200077127 A KR 1020200077127A KR 20200077127 A KR20200077127 A KR 20200077127A KR 20210099988 A KR20210099988 A KR 20210099988A
Authority
KR
South Korea
Prior art keywords
class
vector
learning
feature
classifier
Prior art date
Application number
KR1020200077127A
Other languages
English (en)
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 US17/119,381 priority Critical patent/US20210241098A1/en
Publication of KR20210099988A publication Critical patent/KR20210099988A/ko

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/08Learning methods
    • G06N3/082Learning methods modifying the architecture, e.g. adding, deleting or silencing nodes or connections
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F17/00Digital computing or data processing equipment or methods, specially adapted for specific functions
    • G06F17/10Complex mathematical operations
    • G06F17/18Complex mathematical operations for evaluating statistical data, e.g. average values, frequency distributions, probability functions, regression analysis
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR 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/213Feature extraction, e.g. by transforming the feature space; Summarisation; Mappings, e.g. subspace methods
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR 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; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F18/00Pattern recognition
    • G06F18/20Analysing
    • G06F18/24Classification techniques
    • G06F18/243Classification techniques relating to the number of classes
    • G06F18/2431Multiple classes
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR 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; CALCULATING OR 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; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/08Learning methods
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V10/00Arrangements for image or video recognition or understanding
    • G06V10/40Extraction of image or video features
    • G06V10/44Local feature extraction by analysis of parts of the pattern, e.g. by detecting edges, contours, loops, corners, strokes or intersections; Connectivity analysis, e.g. of connected components
    • G06V10/443Local feature extraction by analysis of parts of the pattern, e.g. by detecting edges, contours, loops, corners, strokes or intersections; Connectivity analysis, e.g. of connected components by matching or filtering
    • G06V10/449Biologically inspired filters, e.g. difference of Gaussians [DoG] or Gabor filters
    • G06V10/451Biologically inspired filters, e.g. difference of Gaussians [DoG] or Gabor filters with interaction between the filter responses, e.g. cortical complex cells
    • G06V10/454Integrating the filters into a hierarchical structure, e.g. convolutional neural networks [CNN]
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR 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; CALCULATING OR 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/774Generating sets of training patterns; Bootstrap methods, e.g. bagging or boosting
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V40/00Recognition of biometric, human-related or animal-related patterns in image or video data
    • G06V40/10Human or animal bodies, e.g. vehicle occupants or pedestrians; Body parts, e.g. hands
    • G06V40/16Human faces, e.g. facial parts, sketches or expressions
    • G06V40/168Feature extraction; Face representation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V40/00Recognition of biometric, human-related or animal-related patterns in image or video data
    • G06V40/10Human or animal bodies, e.g. vehicle occupants or pedestrians; Body parts, e.g. hands
    • G06V40/16Human faces, e.g. facial parts, sketches or expressions
    • G06V40/174Facial expression recognition
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/08Learning methods
    • G06N3/084Backpropagation, e.g. using gradient descent

Landscapes

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

Abstract

뉴럴 네트워크의 메타 학습 방법 및 장치와 뉴럴 네트워크의의 클래스 벡터 학습 방법 및 장치가 제시된다. 일 실시예에 따르면, 클래스 벡터 학습 장치는, 적어도 하나의 프로세서, 특징 추출기, 특징 샘플 생성기 및 분류기를 포함하는 뉴럴 네트워크를 저장하는 메모리를 포함한다. 프로세서는, 특징 추출기에 의해, 제1 클래스 및 제2 클래스를 포함하는 복수의 클래스 각각의 복수의 학습 클래스 데이터에 대응하는 복수의 학습 특징 벡터를 추출한다. 프로세서는, 특징 샘플 생성기에 의해, 제1 클래스 및 상기 제2 클래스 각각의 복수의 학습 특징 벡터에 대한 평균 벡터 및 베리에이션(variation) 벡터를 기초로 제2 클래스에 추가할 추가 특징 벡터를 획득한다. 프로세서는, 분류기에 의해, 추가 특징 벡터와 제2 클래스의 복수의 학습 특징 벡터를 기초로 제2 클래스의 클래스 벡터를 획득한다. 프로세서는, 학습 입력 데이터의 특징 벡터와 제2 클래스의 클래스 벡터 간의 거리가 작아지도록 제2 클래스의 클래스 벡터를 학습시킨다.

Description

뉴럴 네트워크의 메타 학습 방법 및 장치와 뉴럴 네트워크의 클래스 벡터 학습 방법 및 장치{METHOD AND APPARATUS FOR META-TRAINING NEURAL NETWORK AND METHOD AND APPARATUS FOR TRAINING CLASS VECTOR OF NEUARL NETWORK}
뉴럴 네트워크의 학습 및 뉴럴 네트워크를 이용한 인식 기술에 관한 것으로, 뉴럴 네트워크의 학습에서 특징을 전파하는 기술에 관한 것이다.
생물학적 신경망을 인공적으로 구현하기 위해 연산 방법들이 다양한 형태로 제시되고 있는데, 이러한 인공 신경망의 구성 방법론을 뉴럴 네트워크 모델이라고 한다. 대부분의 뉴럴 네트워크 모델에서는 인공 뉴런이 방향성이 있는 연결선(시냅스)으로 연결되어 네트워크를 형성하고, 연결선에 연결된 연결선 전단(pre-synaptic) 뉴런의 출력에서 연결선으로 인입되는 신호는 덴드라이트에서 합산되어 뉴런의 본체(소마)에서 처리된다. 각 뉴런은 고유의 상태(state)값과 속성(attribute)값을 가지며, 소마에서는 덴드라이트로부터의 입력을 바탕으로 연결선 후단(post-synaptic neuron) 뉴런의 상태값을 갱신하고 새로운 출력값을 계산하며, 그 출력값은 복수 개의 다른 뉴런의 입력 연결선을 통해 전달되어 인접한 뉴런에 영향을 미친다. 뉴런과 뉴런 사이의 연결선 역시 각각이 고유의 복수 개의 상태값과 속성값을 가질 수 있으며, 기본적으로 연결선이 전달하는 신호의 세기를 조절하는 역할을 한다. 대부분의 뉴럴 네트워크 모델에서 가장 일반적으로 사용하는 연결선의 상태값은 연결선의 연결 강도를 나타내는 가중치(weight)값이다. 상태값이라 함은 그 값이 초기에 지정된 후 계산을 진행하면서 변화하는 값을 의미하며, 속성값은 그 값이 한 번 지정되면 변하지 않는 값을 의미한다.
일 실시예에 따른 학습 방법은, 특징 추출기, 특징 샘플 생성기 및 분류기를 포함하는 뉴럴 네트워크의 학습 방법에 있어서, 상기 특징 추출기에 의해, 제1 클래스 및 제2 클래스를 포함하는 복수의 클래스 각각의 복수의 학습 클래스 데이터에 대응하는 복수의 학습 특징 벡터를 추출하는 단계; 상기 특징 샘플 생성기에 의해, 상기 제1 클래스 및 상기 제2 클래스 각각의 복수의 학습 특징 벡터에 대한 평균 벡터 및 베리에이션 벡터를 기초로 제2 클래스에 추가할 추가 특징 벡터를 획득하는 단계; 및 상기 분류기에 의해, 상기 추가 특징 벡터와 상기 제2 클래스의 복수의 학습 특징 벡터를 기초로 상기 제2 클래스의 클래스 벡터를 학습시키는 단계를 포함한다.
상기 학습시키는 단계는, 상기 제2 클래스에 해당하는 학습 입력 데이터의 특징 벡터와 상기 제2 클래스를 포함하는 복수의 클래스 각각의 클래스 벡터 간의 거리에 대한 상기 학습 입력 데이터의 특징 벡터와 상기 제2 클래스의 클래스 벡터 간의 거리가 작아지도록 상기 제2 클래스의 클래스 벡터를 학습시킬 수 있다.
상기 학습시키는 단계는, 손실 함수를 통해 상기 제2 클래스의 클래스 벡터를 학습시키고, 상기 손실 함수는, 상기 복수의 클래스 각각의 음의 거리의 지수값의 합에 대한 상기 정답 클래스의 음의 거리의 지수값의 비율을 포함할 수 있다.
상기 손실 함수는 소프트 맥스 함수(Softmax function)를 포함할 수 있다.
상기 베리에이션 벡터는 상기 복수의 학습 특징 벡터에 대한 분산 벡터 또는 표준편차 벡터를 포함할 수 있다.
상기 평균 벡터는 상기 복수의 학습 특징 벡터의 구성 요소별 평균값의 벡터이고, 상기 분산 벡터는 상기 복수의 학습 특징 벡터의 구성 요소별 분산의 벡터이고, 상기 표준 편차 벡터는 상기 복수의 학습 특징 벡터의 구성 요소별 표준 편차의 벡터일 수 있다.
상기 추가 특징 벡터를 획득하는 단계는, 상기 제1 클래스의 평균 벡터, 상기 제1 클래스의 베리에이션 벡터, 상기 제2 클래스의 평균 벡터 및 상기 제2 클래스의 베리에이션 벡터를 결합하는 단계; 상기 결합된 결과로부터 압축된 베리에이션 벡터를 출력하는 단계; 및 상기 압축된 베리에이션 벡터 및 상기 제2 클래스의 평균 벡터를 기초로 추가 특징 벡터를 획득하는 단계를 포함할 수 있다.
상기 압축된 베리에이션 벡터 및 상기 제2 클래스의 평균 벡터를 기초로 추가 특징 벡터를 획득하는 단계는, 상기 압축된 베리에이션 벡터 및 상기 제2 클래스의 평균 벡터를 기초로 가우시안(Gausian) 확률 분포를 이용하여 추가 특징 벡터를 획득할 수 있다.
상기 압축된 베리에이션 벡터 및 상기 제2 클래스의 평균 벡터를 기초로 추가 특징 벡터를 획득하는 단계는, 가우시안 확률 분포를 이용하여 복수의 특징 벡터를 생성하는 단계; 및 상기 생성된 복수의 특징 벡터를 샘플링하여 상기 추가 특징 벡터를 획득하는 단계를 포함할 수 있다.
일 실시예에 따르면, 특징 추출기, 특징 샘플 생성기 및 분류기를 포함하는 뉴럴 네트워크의 학습 방법에 있어서, 상기 특징 추출기에 의해, 제3 클래스 및 제4 클래스를 포함하는 복수의 클래스 각각의 복수의 학습 클래스 데이터에 대응하는 복수의 학습 특징 벡터를 추출하는 단계; 상기 특징 샘플 생성기에 의해, 상기 제3 클래스 및 상기 제4 클래스 각각의 복수의 학습 특징 벡터에 대한 평균 벡터 및 베리에이션(variation) 벡터를 기초로 제4 클래스에 추가할 추가 특징 벡터를 획득하는 단계; 상기 분류기에 의해, 상기 추가 특징 벡터와 상기 제4 클래스의 복수의 학습 특징 벡터를 기초로 상기 제4 클래스의 클래스 벡터를 획득하는 단계; 및 상기 제4 클래스에 해당하는 학습 입력 데이터의 특징 벡터와 상기 제4 클래스의 클래스 벡터 간의 거리가 작아지도록 상기 특징 추출기, 상기 특징 샘플 생성기 및 상기 분류기를 학습시키는 단계를 포함한다.
상기 학습시키는 단계는, 상기 제4 클래스에 해당하는 학습 입력 데이터의 특징 벡터와 상기 제4 클래스를 포함하는 복수의 클래스 각각의 클래스 벡터 간의 거리에 대한 상기 학습 입력 데이터의 특징 벡터와 상기 제4 클래스의 클래스 벡터 간의 거리가 작아지도록 상기 특징 추출기, 상기 특징 샘플 생성기 및 상기 분류기를 학습시킬 수 있다.
일 실시예에 따른 인식 방법은, 특징 추출기 및 분류기를 포함하는 뉴럴 네트워크에 입력 데이터를 입력하는 단계; 상기 특징 추출기에 의해 상기 입력 데이터의 특징 벡터를 추출하는 단계; 및 상기 분류기에 의해 상기 특징 벡터로부터 상기 입력 데이터가 속하는 클래스를 인식하는 단계를 포함하고, 상기 분류기는 제2 클래스의 클래스 벡터를 포함하고, 상기 분류기에 의해 상기 제2 클래스의 클래스 벡터는 상기 제2 클래스에 대한 추가 특징 벡터와 상기 제2 클래스의 복수의 학습 특징 벡터를 기초로 학습되고, 특징 샘플 생성기에 의해 상기 추가 특징 벡터는 제1 클래스 및 상기 제2 클래스 각각의 복수의 학습 특징 벡터에 대한 평균 벡터 및 베리에이션 벡터를 기초로 획득된다.일 실시예에 따른 컴퓨터 판독 가능한 기록 매체는 상기 방법을 컴퓨터에서 실행하기 위한 프로그램을 기록할 수 있다.
일 실시예에 따른 학습 장치는, 적어도 하나의 프로세서, 특징 추출기, 특징 샘플 생성기 및 분류기를 포함하는 뉴럴 네트워크를 저장하는 메모리를 포함하고, 상기 프로세서는, 상기 특징 추출기에 의해, 제1 클래스 및 제2 클래스를 포함하는 복수의 클래스 각각의 복수의 학습 클래스 데이터에 대응하는 복수의 학습 특징 벡터를 추출하고, 상기 특징 샘플 생성기에 의해, 상기 제1 클래스 및 상기 제2 클래스 각각의 복수의 학습 특징 벡터에 대한 평균 벡터 및 베리에이션(variation) 벡터를 기초로 제2 클래스에 추가할 추가 특징 벡터를 획득하고, 상기 분류기에 의해, 상기 추가 특징 벡터와 상기 제2 클래스의 복수의 학습 특징 벡터를 기초로 상기 제2 클래스의 클래스 벡터를 획득하고, 상기 학습 입력 데이터의 특징 벡터와 상기 제2 클래스의 클래스 벡터 간의 거리가 작아지도록 상기 제2 클래스의 클래스 벡터를 학습시킨다.
일 실시예에 따른 메타 학습 장치는, 적어도 하나의 프로세서, 특징 추출기, 특징 샘플 생성기 및 분류기를 포함하는 뉴럴 네트워크를 저장하는 메모리를 포함하고, 상기 프로세서는, 상기 특징 추출기에 의해, 제3 클래스 및 제4 클래스를 포함하는 복수의 클래스 각각의 복수의 학습 클래스 데이터에 대응하는 복수의 학습 특징 벡터를 추출하고, 상기 특징 샘플 생성기에 의해, 상기 제3 클래스 및 상기 제4 클래스 각각의 복수의 학습 특징 벡터에 대한 평균 벡터 및 베리에이션(variation) 벡터를 기초로 제4 클래스에 추가할 추가 특징 벡터를 획득하고, 상기 분류기에 의해, 상기 추가 특징 벡터와 상기 제4 클래스의 복수의 학습 특징 벡터를 기초로 상기 제4 클래스의 클래스 벡터를 획득하고, 상기 제4 클래스에 해당하는 학습 입력 데이터의 특징 벡터와 상기 제4 클래스의 클래스 벡터 간의 거리가 작아지도록 상기 특징 추출기, 상기 특징 샘플 생성기 및 상기 분류기를 학습시킨다.
일 실시예에 따른 인식 장치는, 적어도 하나의 프로세서; 및 특징 추출기 및 분류기를 포함하는 뉴럴 네트워크를 저장하는 메모리를 포함하고, 상기 프로세서는,
상기 특징 추출기에 의해 입력 데이터의 특징 벡터를 추출하고, 상기 분류기에 의해 상기 특징 벡터로부터 상기 입력 데이터가 속하는 클래스를 인식하고, 상기 분류기는 제2 클래스의 클래스 벡터를 포함하고, 상기 분류기에 의해 상기 제2 클래스의 클래스 벡터는 상기 제2 클래스에 대한 추가 특징 벡터와 상기 제2 클래스의 복수의 학습 특징 벡터를 기초로 학습되고, 특징 샘플 생성기에 의해 상기 추가 특징 벡터는 제1 클래스 및 상기 제2 클래스 각각의 복수의 학습 특징 벡터에 대한 평균 벡터 및 베리에이션 벡터를 기초로 획득되고, 상기 특징 추출기, 상기 특징 샘플 생성기 및 상기 분류기는 학습 입력 데이터의 특징 벡터와 제4 클래스의 클래스 벡터 간의 거리가 작아지도록 학습되고, 상기 제4 클래스의 클래스 벡터는 상기 제4 클래스의 복수의 학습 특징 벡터 및 상기 제4 클래스에 대한 추가 특징 벡터를 기초로 획득되고, 상기 추가 특징 벡터는 제3 클래스 및 상기 제4 클래스 각각의 복수의 학습 특징 벡터에 대한 평균 벡터 및 베리에이션(variation) 벡터를 기초로 획득될 수 있다.
도 1a는 일 실시예에 따른 인식 장치가 두 단계에 걸쳐 학습되는 과정을 설명하기 위한 도면이다.
도 1b는 도 1a에 의해 학습된 인식 장치에 의해 입력 데이터에 대해 인식이 수행되는 과정을 설명하기 위한 도면이다.
도 2는 일 실시예에 따른 학습 방법의 동작을 도시한 순서도이다.
도 3은 일 실시예에 따른 메타 학습 방법의 동작을 도시한 순서도이다.
도 4는 일 실시예에 따른 학습 장치에 저장된 뉴럴 네트워크의 구성을 도시한 도면이다.
도 5는 일 실시예에 따른 메타 학습 방법과 클래스 벡터 학습 방법을 설명하기 위한 도면이다.
도 6은 일 실시예에 따른 메타 학습 방법과 클래스 벡터 학습 방법에서 이루어지는 특징 전파를 설명하는 예시이다.
도 7은 일 실시예에 따른 인식 방법의 동작을 도시한 순서도이다.
도 8은 일 실시예에 따른 학습 장치의 구성을 도시한 도면이다.
도 9는 일 실시예에 따른 인식 장치의 구성을 도시한 도면이다.
이하에서, 첨부된 도면을 참조하여 실시예들을 상세하게 설명한다. 그러나, 실시예들에는 다양한 변경이 가해질 수 있어서 특허출원의 권리 범위가 이러한 실시예들에 의해 제한되거나 한정되는 것은 아니다. 실시예들에 대한 모든 변경, 균등물 내지 대체물이 권리 범위에 포함되는 것으로 이해되어야 한다.
실시예에서 사용한 용어는 단지 설명을 목적으로 사용된 것으로, 한정하려는 의도로 해석되어서는 안된다. 단수의 표현은 문맥상 명백하게 다르게 뜻하지 않는 한, 복수의 표현을 포함한다. 본 명세서에서, "포함하다" 또는 "가지다" 등의 용어는 명세서 상에 기재된 특징, 숫자, 단계, 동작, 구성요소, 부품 또는 이들을 조합한 것이 존재함을 지정하려는 것이지, 하나 또는 그 이상의 다른 특징들이나 숫자, 단계, 동작, 구성요소, 부품 또는 이들을 조합한 것들의 존재 또는 부가 가능성을 미리 배제하지 않는 것으로 이해되어야 한다.
다르게 정의되지 않는 한, 기술적이거나 과학적인 용어를 포함해서 여기서 사용되는 모든 용어들은 실시예가 속하는 기술 분야에서 통상의 지식을 가진 자에 의해 일반적으로 이해되는 것과 동일한 의미를 가지고 있다. 일반적으로 사용되는 사전에 정의되어 있는 것과 같은 용어들은 관련 기술의 문맥 상 가지는 의미와 일치하는 의미를 가지는 것으로 해석되어야 하며, 본 출원에서 명백하게 정의하지 않는 한, 이상적이거나 과도하게 형식적인 의미로 해석되지 않는다.
또한, 첨부 도면을 참조하여 설명함에 있어, 도면 부호에 관계없이 동일한 구성 요소는 동일한 참조부호를 부여하고 이에 대한 중복되는 설명은 생략하기로 한다. 실시예를 설명함에 있어서 관련된 공지 기술에 대한 구체적인 설명이 실시예의 요지를 불필요하게 흐릴 수 있다고 판단되는 경우 그 상세한 설명을 생략한다.
또한, 실시 예의 구성 요소를 설명하는 데 있어서, 제 1, 제 2, A, B, (a), (b) 등의 용어를 사용할 수 있다. 이러한 용어는 그 구성 요소를 다른 구성 요소와 구별하기 위한 것일 뿐, 그 용어에 의해 해당 구성 요소의 본질이나 차례 또는 순서 등이 한정되지 않는다. 어떤 구성 요소가 다른 구성요소에 "연결", "결합" 또는 "접속"된다고 기재된 경우, 그 구성 요소는 그 다른 구성요소에 직접적으로 연결되거나 접속될 수 있지만, 각 구성 요소 사이에 또 다른 구성 요소가 "연결", "결합" 또는 "접속"될 수도 있다고 이해되어야 할 것이다.
어느 하나의 실시 예에 포함된 구성요소와, 공통적인 기능을 포함하는 구성요소는, 다른 실시 예에서 동일한 명칭을 사용하여 설명하기로 한다. 반대되는 기재가 없는 이상, 어느 하나의 실시 예에 기재한 설명은 다른 실시 예에도 적용될 수 있으며, 중복되는 범위에서 구체적인 설명은 생략하기로 한다.
도 1a는 일 실시예에 따른 인식 장치가 두 단계에 걸쳐 학습되는 과정을 설명하기 위한 도면이다.
일 실시예에 따르면, 학습 장치(100)는 두 단계에 걸쳐 뉴럴 네트워크를 학습시킬 수 있다. 뉴럴 네트워크는 특징 추출기(101), 특징 샘플 생성기(103) 및 분류기(105)를 포함할 수 있다. 뉴럴 네트워크는 먼저 메타 학습 과정(120)을 통하여 특징 추출기(101), 특징 샘플 생성기(103) 및 분류기(105)를 학습한 후, 클래스 벡터 학습 과정(110)을 통하여 분류기(105)에 포함된 각 클래스의 클래스 벡터를 학습시킬 수 있다.
일 실시예에 따르면, 학습 장치(100)는 클래스 벡터 학습 과정(110)과 메타 학습 과정(120)을 수행할 수 있다. 특징 샘플 생성기(103)는 특징 추출기(101) 및 분류기(105)와 함께 학습 장치(100)의 뉴럴 네트워크를 구성할 수 있다. 클래스 벡터 학습 과정(110)에서, 학습 장치(100)는 학습 데이터를 이용하여 분류기(105)에 포함되는 하나 이상의 클래스의 클래스 벡터를 학습시킬 수 있다. 클래스 벡터 학습 과정(110)에서 사용되는 특징 추출기(101), 특징 샘플 생성기(103) 및 분류기(105)는 클래스 벡터 학습 과정(110) 전에 메타 학습 과정(120)에서 미리 학습될 수 있다. 여기서, 클래스는 동일한 특성을 가지는 분류 항목을 의미한다. 클래스 벡터는 해당 클래스를 나타내는 벡터로서, 입력 데이터의 특징 벡터와 클래스 벡터 간의 거리가 작을수록 해당 클래스에 속할 확률이 높아진다. 학습 데이터는 클래스 별로 분류되며, 이하에서 클래스 별로 분류된 학습 데이터들은 각 클래스에 대한 학습 클래스 데이터로 지칭될 수 있다.
학습의 정확도를 높이기 위해서는 다양한 베리이에션(variation)을 가지는 학습 클래스 데이터가 요구된다. 데이터 수집 비용 등의 한계로 클래스 별로 수집된 학습 클래스 데이터의 집합은 한정된 베리에이션을 나타낼 수 있다. 베리에이션의 종류가 한정될 경우 다른 종류의 베리에이션이 반영된 입력 데이터에 대한 인식의 정확도는 낮아질 수 있다. 베리에이션은 데이터 간의 차이를 의미할 수 있으며, 편차로 지칭될 수 있다. 예를 들어, 베리에이션은 모양 변화, 노이즈, 조도, 자세 또는 폐색 등을 포함할 수 있으나 이에 한정되지 않는다.
하나의 클래스는 제한된 베리에이션을 가질 수 있지만, 복수의 클래스들은 각각 다른 베리에이션을 포함할 수 있다. 특정 클래스의 실제로 수집된 학습 클래스 데이터의 집합의 베리에이션을 이용하여 다른 클래스에 학습 클래스 데이터를 추가하는 것은 이론적으로 학습 클래스 데이터를 생성하는 것에 비해 학습의 정확도를 더 높일 수 있다. 예를 들어, 컬러 지터링(Color jittering), 이미지 크라핑(Image cropping) 또는 랜덤 노이즈(Random noise)와 같은 이론적인 데이터 증강 방식에 비해, 실제로 수집된 다른 클래스의 학습 클래스 데이터의 집합의 베리에이션은 현실을 더 잘 반영할 수 있다.
또한, GAN(Generative Adversarial Network)과 같은 생성 모델(Generative model) 등의 경우 학습 과정이 분류기와 동시에 이루어지지 않으므로 인식 성능과 무관한 영상이 생성될 수 있다. 이에 반해, 학습 장치(100)는 생성 모델과 달리 새로운 영상을 생성하는 목적이 아니라, 데이터 증강을 통해 인식의 정확도를 높이는 것이 목적이다. 이에 따라, 학습 장치(100)는 특징을 전파하는 특징 샘플 생성기(103)와 클래스를 분류하여 인식하는 분류기(105)를 동시에 학습하며, 생성 모델보다 더 높은 정확도를 가질 수 있다.
이를 위하여, 먼저, 학습 장치(100)는 메타 학습 과정(120)을 수행할 수 있다. 학습 장치(100)는 클래스 벡터 학습 과정(110)에서 사용되는 특징 추출기(101), 특징 샘플 생성기(103) 및 분류기(105)를 클래스 벡터 학습 과정(110)의 수행 전에 미리 학습시킬 수 있다. 메타 학습 과정(120)에서 학습 장치(100)는 다양한 종류의 클래스의 학습 클래스 데이터(121)를 이용하여 뉴럴 네트워크를 미리 학습시킬 수 있다. 메타 학습 과정(120)을 통해, 특징 추출기(101)는 임의의 학습 클래스 데이터로부터 특징을 더 잘 추출하고, 특징 샘플 생성기(103)는 상이한 학습 클래스 데이터의 집합의 특성을 더 잘 전파하고, 분류기(105)는 더 정확한 클래스 벡터를 획득할 수 있다.
학습 장치(100)는 다양한 클래스의 학습 클래스 데이터(111)를 기초로 특징 추출기(101), 특징 샘플 생성기(103) 및 분류기(105)를 학습시킬 수 있다. 예를 들어, 학습 장치(100)는 복수의 에피소드에 대해 뉴럴 네트워크를 학습시킬 수 있다. 하나의 에피소드는 복수의 클래스 별로 복수의 학습 클래스 데이터(121)를 포함할 수 있다. 복수의 클래스 별로 수집된 복수의 학습 클래스 데이터는 서포트 세트(support set)라고 지칭될 수 있다.
서로 다른 에피소드의 각 클래스 별 학습 클래스 데이터는 서로 상이할 수 있다. 각각의 에피소드는 복수의 클래스에 대한 특정한 학습 클래스 데이터의 집합에 대응할 수 있다. 하나 이상의 에피소드에 대해 학습 입력 데이터를 인식하는 문제는 퓨-샷 러닝(Few-shot learning)이라고 지칭될 수 있다. 이 과정에서 학습 장치(100)는 엔드-투-엔드(End-to-end) 학습을 수행할 수 있다.
하나의 에피소드에서 학습 장치(100)는 각 클래스 별로 각각의 학습 클래스 데이터(121)로부터 특징 벡터를 추출할 수 있다. 특징 추출기(101)는 제3 클래스 및 제4 클래스를 포함하는 복수의 클래스 각각의 복수의 학습 클래스 데이터(121)에 대응하는 복수의 학습 특징 벡터를 추출할 수 있다. 학습 장치(100)는 각 클래스 별로 복수의 특징 벡터의 베리에이션(variation) 벡터를 계산할 수 있다. 베리에이션 벡터는 학습 클래스 데이터 간의 베리에이션의 정도를 나타낼 수 있다. 여기서, 제3 클래스 및 제4 클래스는 클래스 벡터 학습 과정(110)에서 설명될 클래스와 구분하기 위해 명명된 것이다. 제3 클래스로부터 제4 클래스로 특징 전파가 수행된다.
학습 장치(100)는 하나의 클래스의 베리에이션 벡터를 다른 클래스로 전파할 수 있다. 학습 장치(100)는 하나의 클래스의 베리에이션 벡터를 다른 클래스에 적용할 수 있다. 학습 장치(100)는 하나의 클래스의 베리에이션 벡터를 이용하여 상이한 클래스에 학습 클래스 데이터를 추가할 수 있다. 특징 샘플 생성기(103)는 제3 클래스 및 제4 클래스 각각의 복수의 학습 특징 벡터에 대한 평균 벡터 및 베리에이션(variation) 벡터를 기초로 제4 클래스에 추가할 추가 특징 벡터를 획득할 수 있다.
학습 장치(100)는 제4 클래스에 추가된 학습 클래스 데이터와 제 4 클래스의 기존의 학습 클래스 데이터를 이용하여 제4 클래스의 클래스 벡터를 도출할 수 있다. 분류기(105)는 추가 특징 벡터와 제4 클래스의 복수의 학습 특징 벡터를 기초로 제4 클래스의 클래스 벡터를 획득할 수 있다. 이와 같은 과정이 모든 클래스에 대해 수행될 수 있다.
학습 장치(100)는 학습 입력 데이터를 뉴럴 네트워크에 입력하고, 뉴럴 네트워크의 출력을 기초로 인식의 정확도가 높아지는 방향으로 뉴럴 네트워크를 학습시킬 수 있다. 학습 장치(100)는 학습 입력 데이터의 특징 벡터와 제4 클래스의 클래스 벡터 간의 거리가 작아지도록 특징 추출기(101), 특징 샘플 생성기(103) 및 분류기(105)를 학습시킬 수 있다.
메타 학습 과정(120) 이후에, 학습 장치(100)는 클래스 벡터 학습 과정(110)을 수행할 수 있다. 학습 장치(100)는 특징 샘플 생성기(103)를 이용하여 데이터 증강(data augmentation)을 수행하고, 증강된 학습 클래스 데이터를 이용하여 각 클래스의 클래스 데이터를 학습시킬 수 있다. 학습 장치(100)는 상이한 클래스의 학습 클래스 데이터의 집합의 특성을 공유함으로써 데이터 증강을 수행할 수 있다. 학습 장치(100)는 임의의 클래스의 학습 클래스 데이터의 집합의 특성을 다른 클래스의 학습 클래스 데이터의 집합에 전파할 수 있다.
예를 들어, 특징 추출기(101)는 제1 클래스 및 제2 클래스를 포함하는 복수의 클래스 각각의 복수의 학습 클래스 데이터(111)에 대응하는 복수의 학습 특징 벡터를 추출할 수 있다. 특징 샘플 생성기(103)는 제1 클래스 및 제2 클래스 각각의 복수의 학습 특징 벡터에 대한 평균 벡터 및 베리에이션 벡터를 기초로 제2 클래스에 추가할 추가 특징 벡터를 획득할 수 있다. 분류기(105)는 추가 특징 벡터와 제2 클래스의 복수의 학습 특징 벡터를 기초로 제2 클래스의 클래스 벡터를 학습시킬 수 있다. 여기서, 제1 클래스 및 제2 클래스는 메타 학습 과정(120)에서 설명된 클래스와 구분하기 위해 명명된 것이다. 제1 클래스로부터 제2 클래스로 특징 전파가 수행된다.
각 클래스 별로 학습 클래스 데이터(111)의 편차의 종류 및 정도는 한정될 수 있다. 제1 클래스의 복수의 학습 클래스 데이터의 편차와 제2 클래스의 복수의 학습 클래스 데이터의 편차는 상이할 수 있다. 예를 들어, 제1 클래스의 복수의 학습 클래스 데이터들은 자세가 상이하고, 제2 클래스의 복수의 학습 클래스 데이터들은 조도가 상이할 수 있다.
학습 장치(100)는 제1 클래스의 학습 클래스 데이터의 집합의 자세의 편차의 특성을 제2 클래스의 학습 클래스 데이터에 전파할 수 있다. 학습 장치(100)는 제2 클래스에 자세가 상이한 학습 클래스 데이터를 추가할 수 있다. 반대로 학습 장치(100)는 제1 클래스에 조도가 상이한 학습 클래스 데이터를 추가할 수도 있다.
도 1a의 예시(140)를 참조하면, 특징 샘플 생성기(103)는 제1 클래스의 학습 클래스 데이터의 집합(141, 142, 143, 144)의 특징 벡터들로부터 베리에이션 벡터(147)를 도출할 수 있다. 베리에이션 벡터(147)는 상이한 자세를 반영할 수 있다. 특징 샘플 생성기(103)는 제2 클래스의 학습 클래스 데이터(145)의 특징 벡터(148)에 제1 클래스의 베리에이션 벡터(147)를 반영하여 자세가 상이한 새로운 학습 클래스 데이터(146)를 생성할 수 있다. 특징 샘플 생성기(103)는 학습 클래스 데이터(146)를 제2 클래스에 추가할 수 있다.
학습 장치(100)는 학습 입력 데이터의 인식 결과를 기초로 각 클래스의 클래스 벡터를 학습시킬 수 있다. 인식 결과는 손실값으로 표현될 수 있다. 학습 장치(100)는 손실값을 기초로 각 클래스의 클래스 벡터를 학습시킬 수 있다. 예를 들어, 학습 장치(100)는 손실값이 작아지는 방향으로 역전파 방식으로 각 클래스의 클래스 벡터를 학습시킬 수 있다.
전술된 클래스 벡터 학습 과정(110)과 메타 학습 과정(120)은 하나의 학습 장치(100)에 의해 수행될 수도 있고, 상이한 하드웨어에 의해 수행될 수도 있다. 이하에서는 설명의 편의를 위하여 클래스 벡터 학습 과정(110)과 메타 학습 과정(120)은 하나의 학습 장치(100)에 의해 수행되는 것으로 가정한다.
도 1b는 도 1a에 의해 학습된 인식 장치에 의해 입력 데이터에 대해 인식이 수행되는 과정을 설명하기 위한 도면이다.
일 실시예에 따르면, 인식 장치(130)는 뉴럴 네트워크를 이용하여 입력 데이터(131)를 인식할 수 있다. 인식 장치(130)는 입력 데이터(131)가 어떤 클래스에 해당하는지 분류할 수 있다. 인식 장치(130)는 입력 데이터(131)의 클래스를 인식할 수 있다. 인식 장치(130)는 다양한 학습 데이터를 이용하여 도 1a의 학습 과정을 통해 미리 학습된 뉴럴 네트워크를 통해 입력 데이터(131)가 어떤 클래스에 해당하는지 분류할 수 있다.
인식 장치(130)에 포함된 뉴럴 네트워크는 특징 추출기(101)와 분류기(105)를 포함할 수 있다. 특징 추출기(101)는 입력 데이터의 특징 벡터를 추출할 수 있다. 분류기(105)는 특징 벡터로부터 인식 결과(133)를 도출할 수 있다. 분류기(105)는 특징 벡터를 기초로 입력 데이터(131)의 클래스를 분류할 수 있다. 분류기(105)는 특징 벡터로부터 입력 데이터가 속하는 클래스를 인식할 수 있다. 여기서, 특징 추출기(101)와 분류기(105)는 특징 샘플 생성기(103)와 함께 미리 학습될 수 있다.
도 1a와 도 1b에서, 학습 장치(100)와 인식 장치(130)는 구별되는 것으로 표시되었지만 이는 예시적인 것이며 다른 형태의 구조를 배제하지 않는다. 예를 들어, 학습 장치(100)와 인식 장치(130)는 동일한 하드웨어에 의해 구현될 수도 있고, 상이한 하드웨어에 의해 구현될 수도 있다.
전술된 뉴럴 네트워크는 소프트웨어적으로 구현될 수도 있고 하드웨어적으로 구현될 수도 있다. 예를 들어, 뉴럴 네트워크는 메모리에 저장되어 일반적인 프로세서에 의해 작동되거나 뉴로모픽 프로세서에 의해 구현될 수 있고, 시스템 온 칩(SoC, system on chip)의 형태로 구현될 수도 있다.
도 2는 일 실시예에 따른 클래스 벡터 학습 방법의 동작을 도시한 순서도이다.
일 실시예에 따르면, 단계(201)에서, 학습 장치(100)는 특징 추출기를 이용하여 제1 클래스 및 제2 클래스를 포함하는 복수의 클래스 각각의 복수의 학습 클래스 데이터에 대응하는 복수의 학습 특징 벡터를 추출한다.
일 실시예에 따르면, 단계(203)에서, 학습 장치(100)는 특징 샘플 생성기를 이용하여 제1 클래스 및 제2 클래스 각각의 복수의 학습 특징 벡터에 대한 평균 벡터 및 베리에이션 벡터를 기초로 제2 클래스에 추가할 추가 특징 벡터를 획득한다. 베리에이션 벡터는 복수의 학습 특징 벡터에 대한 분산 벡터 또는 표준편차 벡터를 포함할 수 있다.
평균 벡터는 복수의 학습 특징 벡터의 구성 요소별 평균값의 벡터이고, 분산 벡터는 복수의 학습 특징 벡터의 구성 요소별 분산의 벡터이고, 표준 편차 벡터는 복수의 학습 특징 벡터의 구성 요소별 표준 편차의 벡터일 수 있다. 학습 특징 벡터가 1x512의 차원인 경우, 평균 벡터, 분산 벡터 및 표준 편차 벡터는 모두 1x512의 차원일 수 있다.
학습 장치(100)는 제1 클래스의 평균 벡터, 제1 클래스의 베리에이션 벡터, 제2 클래스의 평균 벡터 및 제2 클래스의 베리에이션 벡터를 결합할 수 있다. 학습 특징 벡터가 1x512의 차원인 경우, 결합된 결과는 1x2048의 차원일 수 있다.
학습 장치(100)는 결합된 결과로부터 압축된 베리에이션 벡터를 출력할 수 있다. 학습 장치(100)는 결합된 결과를 하나 이상의 풀 커넥티드 레이어(fully connected layer, fc)에 입력하여 압축된 베리에이션 벡터를 출력할 수 있다. 압축된 베리에이션 벡터는 학습 특징 벡터와 같은 차원일 수 있다. 예를 들어, 압축된 베리에이션 벡터는 1x512의 차원일 수 있다.
학습 장치(100)는 압축된 베리에이션 벡터 및 제2 클래스의 평균 벡터를 기초로 추가 특징 벡터를 획득할 수 있다. 학습 장치(100)는 압축된 베리에이션 벡터 및 제2 클래스의 평균 벡터를 기초로 가우시안(Gausian) 확률 분포를 이용하여 추가 특징 벡터를 획득할 수 있다. 학습 장치(100)는 가우시안 확률 분포를 이용하여 복수의 특징 벡터를 생성하고, 생성된 복수의 특징 벡터를 샘플링하여 추가 특징 벡터를 획득할 수 있다.
일 실시예에 따르면, 단계(205)에서, 학습 장치(100)는 분류기를 이용하여 추가 특징 벡터와 제2 클래스의 복수의 학습 특징 벡터를 기초로 제2 클래스의 클래스 벡터를 학습시킨다. 학습 장치(100)는 제2 클래스에 해당하는 학습 입력 데이터의 특징 벡터와 제2 클래스를 포함하는 복수의 클래스 각각의 클래스 벡터 간의 거리에 대한 학습 입력 데이터의 특징 벡터와 제2 클래스의 클래스 벡터 간의 거리가 작아지도록 제2 클래스의 클래스 벡터를 학습시킬 수 있다.
학습 장치(100)는 손실 함수를 이용하여 제2 클래스의 클래스 벡터를 학습시킬 수 있다. 여기서, 손실 함수는 복수의 클래스 각각의 음의 거리의 지수값의 합에 대한 제2 클래스의 음의 거리의 지수값의 비율을 포함할 수 있다. 여기서, 손실 함수는 학습 입력 데이터가 해당 클래스에 속할 확률을 나타낼 수 있다. 예를 들어, 손실 함수는 소프트 맥스 함수(Softmax function)를 포함할 수 있다. 학습 입력 데이터의 특징 벡터와 제2 클래스의 클래스 벡터 간의 거리가 작을수록 손실 함수는 커질 수 있다.
도 3은 일 실시예에 따른 메타 학습 방법의 동작을 도시한 순서도이다.
일 실시예에 따르면, 단계(301)에서, 학습 장치(100)는 특징 추출기를 이용하여 제3 클래스 및 제4 클래스를 포함하는 복수의 클래스 각각의 복수의 학습 클래스 데이터에 대응하는 복수의 학습 특징 벡터를 추출한다.
일 실시예에 따르면, 단계(303)에서, 학습 장치(100)는 특징 샘플 생성기를 이용하여 제3 클래스 및 제4 클래스 각각의 복수의 학습 특징 벡터에 대한 평균 벡터 및 베리에이션(variation) 벡터를 기초로 제4 클래스에 추가할 추가 특징 벡터를 획득한다. 베리에이션 벡터는 복수의 학습 특징 벡터에 대한 분산 벡터 또는 표준편차 벡터를 포함할 수 있다.
평균 벡터는 복수의 학습 특징 벡터의 구성 요소별 평균값의 벡터이고, 분산 벡터는 복수의 학습 특징 벡터의 구성 요소별 분산의 벡터이고, 표준 편차 벡터는 복수의 학습 특징 벡터의 구성 요소별 표준 편차의 벡터일 수 있다. 학습 특징 벡터가 1x512의 차원인 경우, 평균 벡터, 분산 벡터 및 표준 편차 벡터는 모두 1x512의 차원일 수 있다.
학습 장치(100)는 제3 클래스의 평균 벡터, 제3 클래스의 베리에이션 벡터, 제4 클래스의 평균 벡터 및 제4 클래스의 베리에이션 벡터를 결합할 수 있다. 학습 특징 벡터가 1x512의 차원인 경우, 결합된 결과는 1x2048의 차원일 수 있다.
학습 장치(100)는 결합된 결과로부터 압축된 베리에이션 벡터를 출력할 수 있다. 학습 장치(100)는 결합된 결과를 하나 이상의 풀 커넥티드 레이어에 입력하여 압축된 베리에이션 벡터를 출력할 수 있다. 압축된 베리에이션 벡터는 학습 특징 벡터와 같은 차원일 수 있다. 예를 들어, 압축된 베리에이션 벡터는 1x512의 차원일 수 있다.
학습 장치(100)는 압축된 베리에이션 벡터 및 제4 클래스의 평균 벡터를 기초로 추가 특징 벡터를 획득할 수 있다. 학습 장치(100)는 압축된 베리에이션 벡터 및 제2 클래스의 평균 벡터를 기초로 가우시안 확률 분포를 이용하여 추가 특징 벡터를 획득할 수 있다. 학습 장치(100)는 가우시안 확률 분포를 이용하여 복수의 특징 벡터를 생성하고, 생성된 복수의 특징 벡터를 샘플링하여 추가 특징 벡터를 획득할 수 있다.
일 실시예에 따르면, 단계(305)에서, 학습 장치(100)는 분류기를 이용하여 추가 특징 벡터와 제4 클래스의 복수의 학습 특징 벡터를 기초로 제4 클래스의 클래스 벡터를 획득한다.
일 실시예에 따르면, 단계(307)에서, 학습 장치(100)는 학습 입력 데이터의 특징 벡터와 제4 클래스의 클래스 벡터 간의 거리가 작아지도록 특징 추출기, 특징 샘플 생성기 및 분류기를 학습시킨다. 학습 장치(100)는 제4 클래스에 해당하는 학습 입력 데이터의 특징 벡터와 제4 클래스를 포함하는 복수의 클래스 각각의 클래스 벡터 간의 거리에 대한 학습 입력 데이터의 특징 벡터와 제4 클래스의 클래스 벡터 간의 거리가 작아지도록 특징 추출기, 특징 샘플 생성기 및 분류기를 학습시킬 수 있다.
학습 장치(100)는 손실 함수를 통해 특징 추출기, 특징 샘플 생성기 및 분류기를 학습시킬 수 있다. 여기서, 손실 함수는 복수의 클래스 각각의 음의 거리의 지수값의 합에 대한 제4 클래스의 음의 거리의 지수값의 비율을 포함할 수 있다. 예를 들어, 손실 함수는 소프트 맥스 함수(Softmax function)를 포함할 수 있다.
도 4는 일 실시예에 따른 학습 장치에 저장된 뉴럴 네트워크의 구성을 도시한 도면이다.
학습 장치(100)에 포함된 뉴럴 네트워크는 특징 추출기(101), 특징 샘플 생성기(103) 및 분류기(105)를 포함할 수 있다. 도 4를 참조하면,
Figure pat00001
는 특징 추출기(101)를 나타내고,
Figure pat00002
는 특징 샘플 생성기(103)를 나타낸다. fc는 풀 커넥티드 레이어를 나타낸다.
Figure pat00003
는 클래스 S의 평균을 나타내고,
Figure pat00004
는 클래스 T의 평균을 나타낸다.
Figure pat00005
는 클래스 S의 표준편차를 나타내고,
Figure pat00006
는 클래스 T의 표준편차를 나타낸다.
Figure pat00007
는 평균
Figure pat00008
과 표준편차
Figure pat00009
에 대한 가우시안 확률 분포에 따라 임의로 샘플링하는 것을 나타낸다.
메타 학습 과정에서, 학습 장치(100)는 서로 다른 클래스 S 및 클래스 T 각각에 대한 학습 클래스 데이터(401, 411)을 특징 추출기(101)에 입력할 수 있다. 특징 추출기(101)는 학습 클래스 데이터(401)에 대해 학습 특징 벡터(402)를 출력하고, 학습 클래스 데이터(411)에 대해 학습 특징 벡터(412)를 출력할 수 있다.
학습 장치(100)는 특징 샘플 생성기(103)를 이용하여 학습 특징 벡터(402)의 평균 벡터 및 베리에이션 벡터를 계산할 수 있다. 예를 들어, 학습 장치(100)는 특징 벡터(402)로부터 평균 벡터
Figure pat00010
및 표준편차 벡터
Figure pat00011
(403)를 계산할 수 있다. 학습 장치(100)는 학습 특징 벡터(412)로부터 평균 벡터
Figure pat00012
및 표준편차 벡터
Figure pat00013
(413)를 계산할 수 있다.
학습 장치(100)는 클래스 S의 평균 벡터
Figure pat00014
, 표준편차 벡터
Figure pat00015
(403)와 클래스 T의 평균 벡터
Figure pat00016
, 표준편차 벡터
Figure pat00017
(413)를 결합하여 결합된 벡터(404)를 획득할 수 있다. 여기서 결합은 단순한 연결(concatenate)을 포함할 수 있다. 학습 장치(100)는 결합된 벡터(404)를 하나 이상의 풀 커넥티드 레이어에 입력할 수 있다. 예를 들어, 결합된 벡터(404)는 풀 커넥티드 레이어를 거쳐 중간 벡터(405)가 될 수 있고, 중간 벡터(405)는 다음의 풀 커넥티드 레이어를 거쳐 압축된 벡터(406)가 될 수 있다. 압축된 벡터(406)는 결합된 벡터(404)에 비해 작은 차원을 가질 수 있다. 압축된 벡터(406)는 클래스 T에 적용될 새로운 표준편차 벡터
Figure pat00018
일 수 있다.
학습 장치(100)는
Figure pat00019
와 같이 클래스 T의 기존의 평균 벡터
Figure pat00020
와 표준편차 벡터
Figure pat00021
를 따르는 가우시안 확률 분포를 이용하여 새로운 학습 특징 벡터를 생성할 수 있다. 학습 장치(100)는 생성된 복수의 학습 특징 벡터 중에서 클래스 T에 추가할 추가 특징 벡터(414)를 샘플링할 수 있다.
학습 장치(100)는 분류기(105)에 학습 특징 벡터(412)와 추가 특징 벡터(414)를 입력할 수 있다. 학습 특징 벡터(412)와 추가 특징 벡터(414)는 풀 커넥티드 레이어를 거쳐 하나 이상의 클래스 벡터(415)로 출력될 수 있다.
학습 장치(100)는 쿼리 입력 데이터(421)을 뉴럴 네트워크에 입력하여 출력을 쿼리 정답 데이터(422)와 비교할 수 있다. 학습 장치(100)는 쿼리 입력 데이터(421)의 특징 벡터와 각 클래스의 클래스 벡터(415)간의 거리를 계산할 수 있다. 학습 장치(100)는 쿼리 입력 데이터(421)의 정답 클래스인 쿼리 정답 데이터(422)의 클래스 벡터를 선택할 수 있다. 학습 장치(100)는 정답 클래스의 클래스 벡터와 쿼리 입력 데이터(421) 간의 거리를 계산할 수 있다.
학습 장치(100)는 쿼리 입력 데이터(421)의 특징 벡터와 각 클래스의 클래스 벡터(415)간의 거리에 대한 정답 클래스의 클래스 벡터와 쿼리 입력 데이터(421) 간의 거리가 작아지도록 뉴럴 네트워크를 학습시킬 수 있다. 학습 장치(100)는 모든 클래스 각각에 대한 특징 벡터의 거리의 음의 지수값의 합(summation)에 대한 정답 클래스에 대한 특징 벡터의 거리의 음의 지수값을 손실 함수로서 사용할 수 있다. 손실 함수는 정답을 맞출 확률을 나타낼 수 있다. 학습 장치(100)는 손실 함수가 1에 가까워지도록 뉴럴 네트워크를 학습시킬 수 있다.
도 5는 일 실시예에 따른 메타 학습 방법과 클래스 벡터 학습 방법을 설명하기 위한 도면이다.
학습 장치(100)는 먼저 메타 학습 과정(120)을 수행할 수 있다. 메타 학습 과정(120)에서 학습 장치(100)는 다양한 종류의 클래스의 학습 클래스 데이터를 이용하여 뉴럴 네트워크를 미리 학습시킬 수 있다. 학습 장치(100)는 복수의 에피소드에 대해 뉴럴 네트워크를 학습시킬 수 있다. 학습 장치(100)는 클래스 벡터 학습 과정(110)에서 사용되는 뉴럴 네트워크의 특징 추출기, 특징 샘플 생성기 및 분류기를 클래스 벡터 학습 과정(110)의 수행 전에 미리 학습시킬 수 있다.
각 에피소드는 복수의 클래스 별로 복수의 학습 클래스 데이터를 포함할 수 있다. 예를 들어, 제1 에피소드는 학습 입력 데이터가 클래스 1, 클래스 2, 클래스 3, 클래스 4 및 클래스 5 중의 어느 클래스에 해당하는지를 맞추는 문제일 수 있다. 학습 장치(100)는 각 클래스에 속하는 복수의 학습 클래스 데이터를 이용하여 뉴럴 네트워크를 학습시킬 수 있다. 학습 장치(100)는 클래스 상호 간에 특징 전파를 수행하여 더욱 풍부한 학습 클래스 데이터를 확보할 수 있다. 학습 장치(100)는 각 클래스의 학습 클래스 데이터들의 베리에이션 벡터를 클래스 상호 간에 공유함으로써 학습에 사용될 추가 특징 벡터를 획득할 수 있다. 학습 장치(100)는 제1 에피소드의 학습 입력 데이터를 정답 클래스로 인식하도록 뉴럴 네트워크를 학습시킬 수 있다.
제2 에피소드는 학습 입력 데이터가 클래스 1, 클래스 2, 클래스 3, 클래스 4 및 클래스 5 중의 어느 클래스에 해당하는지를 맞추는 문제일 수 있다. 학습 장치(100)는 각 클래스에 속하는 복수의 학습 클래스 데이터를 이용하여 뉴럴 네트워크를 학습시킬 수 있다. 학습 장치(100)는 클래스 상호 간에 특징 전파를 수행하여 더욱 풍부한 학습 클래스 데이터를 확보할 수 있다. 여기서, 제2 에피소드의 복수의 학습 클래스 데이터는 제1 에피소드의 복수의 학습 클래스 데이터와 상이하다. 학습 장치(100)는 제2 에피소드의 학습 입력 데이터를 정답 클래스로 인식하도록 뉴럴 네트워크를 학습시킬 수 있다. 이렇게 학습된 뉴럴 네트워크는 임의의 에피소드에 대해 보다 인식도가 높은 클래스 벡터를 도출할 수 있다.
전술된 메타 학습 과정(120)이 완료된 후에, 학습 장치(100)는 클래스 벡터 학습 과정(110)을 수행할 수 있다. 클래스 벡터 학습 과정(110)은 메타 학습 과정(120)과 달리 특정한 에피소드에 대해 정확도가 높은 학습 클래스 데이터를 학습시키는 것을 목표로 한다. 학습 장치(100)는 메타 학습 과정(120)에서 학습된 특징 추출기, 특징 샘플 생성기 및 분류기를 포함하는 뉴럴 네트워크를 이용하여 분류기에 포함된 각 클래스의 클래스 벡터를 학습시킬 수 있다. 학습 장치(100)는 클래스 1, 클래스 2, 클래스 3, 클래스 4 및 클래스 5 각각의 학습 클래스 데이터를 이용하여 각 클래스의 클래스 벡터를 학습시킬 수 있다. 학습 장치(100)는 클래스 상호 간에 특징 전파를 수행하여 더욱 풍부한 학습 클래스 데이터를 확보함으로써 정확도가 높은 클래스 벡터를 학습시킬 수 있다.
도 6은 일 실시예에 따른 메타 학습 방법과 클래스 벡터 학습 방법에서 이루어지는 특징 전파를 설명하는 예시이다.
학습 장치(100)는 데이터 증강을 수행하고, 증강된 학습 클래스 데이터를 이용하여 각 클래스의 클래스 데이터를 학습시킬 수 있다. 학습 장치(100)는 상이한 클래스의 학습 클래스 데이터의 집합의 특성을 공유함으로써 데이터 증강을 수행할 수 있다. 도 6을 참조하면, 학습 장치(100)는 클래스 1, 클래스 2 및 클래스 3의 학습 클래스 데이터에 대해 데이터 증강을 수행할 수 있다. 학습 장치(100)는 클래스 간에 각 클래스의 특징을 전파하여 데이터 증강을 수행할 수 있다.
클래스 1는 학습 클래스 데이터(611, 612, 613)를 포함할 수 있다. 클래스 2는 학습 클래스 데이터(621, 622, 623)를 포함할 수 있다. 클래스 3은 학습 클래스 데이터(631, 632, 633)을 포함할 수 있다.
학습 장치(100)는 클래스 1의 학습 클래스 데이터의 집합의 특징을 클래스 2에 전파할 수 있다. 클래스 1의 학습 클래스 데이터(611, 612, 613)는 자세가 상이할 수 있다. 학습 장치(100)는 학습 클래스 데이터(611, 612, 613)의 자세가 상이한 특징을 클래스 2에 전파할 수 있다. 학습 장치(100)는 학습 클래스 데이터(621)과 자세가 상이한 학습 클래스 데이터(624, 625)를 클래스 2에 추가할 수 있다.
학습 장치(100)는 클래스 2의 학습 클래스 데이터의 집합의 특징을 클래스 3에 전파할 수 있다. 클래스 3의 학습 클래스 데이터(621, 622, 623)는 표정이 상이할 수 있다. 학습 장치(100)는 학습 클래스 데이터(621, 622, 623)의 표정이 상이한 특징 및 학습 클래스 데이터(624, 625)의 자세가 상이한 특징을 클래스 3에 전파할 수 있다. 학습 장치(100)는 학습 클래스 데이터(631)과 표정이 상이한 학습 클래스 데이터(634, 637) 및 자세가 상이한 학습 클래스 데이터(635, 636)를 클래스 3에 추가할 수 있다.
학습 장치(100)는 클래스 3의 학습 클래스 데이터의 집합의 특징을 클래스 1에 전파할 수 있다. 클래스 3의 학습 클래스 데이터(631, 632, 633)는 조도가 상이할 수 있다. 학습 장치(100)는 조도가 상이한 특징을 클래스 1에 전파할 수 있다. 학습 장치(100)는 학습 클래스 데이터(611)과 조도가 상이한 학습 클래스 데이터(614, 615)를 클래스 1에 추가할 수 있다.
도 7은 일 실시예에 따른 인식 방법의 동작을 도시한 순서도이다.
일 실시예에 따르면, 단계(701)에서, 인식 장치(130)는 특징 추출기 및 분류기를 포함하는 뉴럴 네트워크에 입력 데이터를 입력한다. 일 실시예에 따르면, 단계(703)에서, 인식 장치(130)는 특징 추출기에 의해 입력 데이터의 특징 벡터를 추출한다. 일 실시예에 따르면, 단계(705)에서, 인식 장치(130)는 분류기에 의해 특징 벡터로부터 입력 데이터가 속하는 클래스를 인식한다.
여기서, 분류기는 제2 클래스의 클래스 벡터를 포함할 수 있다. 제2 클래스의 클래스 벡터는 미리 분류기에 의해 제2 클래스에 대한 추가 특징 벡터와 제2 클래스의 복수의 학습 특징 벡터를 기초로 학습될 수 있다. 추가 특징 벡터는 미리 특징 샘플 생성기에 의해 제1 클래스 및 제2 클래스 각각의 복수의 학습 특징 벡터에 대한 평균 벡터 및 베리에이션 벡터를 기초로 획득될 수 있다.
도 8은 일 실시예에 따른 학습 장치의 구성을 도시한 도면이다.
일 실시예에 따르면, 학습 장치(100)는 적어도 하나의 프로세서(801), 특징 추출기, 특징 샘플 생성기 및 분류기를 포함하는 뉴럴 네트워크를 저장하는 메모리(803)를 포함한다.
프로세서(801)는 특징 추출기를 이용하여 제1 클래스 및 제2 클래스를 포함하는 복수의 클래스 각각의 복수의 학습 클래스 데이터에 대응하는 복수의 학습 특징 벡터를 추출할 수 있다. 프로세서(801)는 특징 샘플 생성기를 이용하여 제1 클래스 및 제2 클래스 각각의 복수의 학습 특징 벡터에 대한 평균 벡터 및 베리에이션(variation) 벡터를 기초로 제2 클래스에 추가할 추가 특징 벡터를 획득할 수 있다.
프로세서(801)는 분류기를 이용하여 추가 특징 벡터와 제2 클래스의 복수의 학습 특징 벡터를 기초로 제2 클래스의 클래스 벡터를 획득할 수 있다. 이후, 프로세서(801)는 학습 입력 데이터의 특징 벡터와 제2 클래스의 클래스 벡터 간의 거리가 작아지도록 제2 클래스의 클래스 벡터를 학습시킬 수 있다.
도 9는 일 실시예에 따른 인식 장치의 구성을 도시한 도면이다.
일 실시예에 따르면, 인식 장치(130)는 적어도 하나의 프로세서(901) 및 특징 추출기 및 분류기를 포함하는 뉴럴 네트워크를 저장하는 메모리(903)를 포함한다. 프로세서(901)는 특징 추출기에 의해 입력 데이터의 특징 벡터를 추출하고, 분류기에 의해 특징 벡터로부터 입력 데이터가 속하는 클래스를 인식할 수 있다.
여기서, 분류기는 제2 클래스의 클래스 벡터를 포함할 수 있다. 클래스 벡터 학습 과정에서, 제2 클래스의 클래스 벡터는 분류기에 의해 제2 클래스에 대한 추가 특징 벡터와 제2 클래스의 복수의 학습 특징 벡터를 기초로 학습될 수 있다. 특징 샘플 생성기에 의해 추가 특징 벡터는 제1 클래스 및 제2 클래스 각각의 복수의 학습 특징 벡터에 대한 평균 벡터 및 베리에이션 벡터를 기초로 획득될 수 있다.
또한, 특징 추출기, 특징 샘플 생성기 및 분류기는 학습 입력 데이터의 특징 벡터와 제4 클래스의 클래스 벡터 간의 거리가 작아지도록 클래스 벡터 학습 과정 전의 메타 학습 과정에서 미리 학습될 수 있다. 제4 클래스의 클래스 벡터는 제4 클래스의 복수의 학습 특징 벡터 및 제4 클래스에 대한 추가 특징 벡터를 기초로 획득되고, 추가 특징 벡터는 제3 클래스 및 제4 클래스 각각의 복수의 학습 특징 벡터에 대한 평균 벡터 및 베리에이션(variation) 벡터를 기초로 획득될 수 있다.
도 8과 도 9는 예시적인 것으로, 학습 장치와 인식 장치가 구분되어 있지만, 학습 과정과 인식 과정은 동일한 장치에 의해 수행되는 것을 배제하지 않는다. 또한, 메타 학습 방법과 클래스 벡터 학습 방법은 동일한 장치에 의해 수행될 수도 있고 상이한 장치에 의해 수행될 수도 있다. 예를 들어, 메타 학습 방법, 클래스 벡터 학습 방법 및 인식 방법은 동일한 장치에 의해 수행될 수 있다. 다른 예로, 메타 학습 방법 및 클래스 벡터 학습 방법은 학습 장치에 의해 수행되고, 인식 방법은 학습 장치와 상이한 인식 장치에 의해 수행될 수도 있다. 다른 예로, 메타 학습 방법, 클래스 벡터 학습 방법 및 인식 방법은 서로 상이한 장치에 의해 수행될 수도 있다.
실시예에 따른 방법은 다양한 컴퓨터 수단을 통하여 수행될 수 있는 프로그램 명령 형태로 구현되어 컴퓨터 판독 가능 매체에 기록될 수 있다. 상기 컴퓨터 판독 가능 매체는 프로그램 명령, 데이터 파일, 데이터 구조 등을 단독으로 또는 조합하여 포함할 수 있다. 상기 매체에 기록되는 프로그램 명령은 실시예를 위하여 특별히 설계되고 구성된 것들이거나 컴퓨터 소프트웨어 당업자에게 공지되어 사용 가능한 것일 수도 있다. 컴퓨터 판독 가능 기록 매체의 예에는 하드 디스크, 플로피 디스크 및 자기 테이프와 같은 자기 매체(magnetic media), CD-ROM, DVD와 같은 광기록 매체(optical media), 플롭티컬 디스크(floptical disk)와 같은 자기-광 매체(magneto-optical media), 및 롬(ROM), 램(RAM), 플래시 메모리 등과 같은 프로그램 명령을 저장하고 수행하도록 특별히 구성된 하드웨어 장치가 포함된다. 프로그램 명령의 예에는 컴파일러에 의해 만들어지는 것과 같은 기계어 코드뿐만 아니라 인터프리터 등을 사용해서 컴퓨터에 의해서 실행될 수 있는 고급 언어 코드를 포함한다. 상기된 하드웨어 장치는 실시예의 동작을 수행하기 위해 하나 이상의 소프트웨어 모듈로서 작동하도록 구성될 수 있으며, 그 역도 마찬가지이다.
소프트웨어는 컴퓨터 프로그램(computer program), 코드(code), 명령(instruction), 또는 이들 중 하나 이상의 조합을 포함할 수 있으며, 원하는 대로 동작하도록 처리 장치를 구성하거나 독립적으로 또는 결합적으로(collectively) 처리 장치를 명령할 수 있다. 소프트웨어 및/또는 데이터는, 처리 장치에 의하여 해석되거나 처리 장치에 명령 또는 데이터를 제공하기 위하여, 어떤 유형의 기계, 구성요소(component), 물리적 장치, 가상 장치(virtual equipment), 컴퓨터 저장 매체 또는 장치, 또는 전송되는 신호 파(signal wave)에 영구적으로, 또는 일시적으로 구체화(embody)될 수 있다. 소프트웨어는 네트워크로 연결된 컴퓨터 시스템 상에 분산되어서, 분산된 방법으로 저장되거나 실행될 수도 있다. 소프트웨어 및 데이터는 하나 이상의 컴퓨터 판독 가능 기록 매체에 저장될 수 있다.
이상과 같이 실시예들이 비록 한정된 도면에 의해 설명되었으나, 해당 기술분야에서 통상의 지식을 가진 자라면 상기를 기초로 다양한 기술적 수정 및 변형을 적용할 수 있다. 예를 들어, 설명된 기술들이 설명된 방법과 다른 순서로 수행되거나, 및/또는 설명된 시스템, 구조, 장치, 회로 등의 구성요소들이 설명된 방법과 다른 형태로 결합 또는 조합되거나, 다른 구성요소 또는 균등물에 의하여 대치되거나 치환되더라도 적절한 결과가 달성될 수 있다.
그러므로, 다른 구현들, 다른 실시예들 및 특허청구범위와 균등한 것들도 후술하는 청구범위의 범위에 속한다.
[1]

Claims (14)

  1. 특징 추출기, 특징 샘플 생성기 및 분류기를 포함하는 뉴럴 네트워크의 클래스 벡터 학습 방법에 있어서,
    상기 특징 추출기에 의해, 제1 클래스 및 제2 클래스를 포함하는 복수의 클래스 각각의 복수의 학습 클래스 데이터에 대응하는 복수의 학습 특징 벡터를 추출하는 단계;
    상기 특징 샘플 생성기에 의해, 상기 제1 클래스 및 상기 제2 클래스 각각의 복수의 학습 특징 벡터에 대한 평균 벡터 및 베리에이션 벡터를 기초로 제2 클래스에 추가할 추가 특징 벡터를 획득하는 단계; 및
    상기 추가 특징 벡터와 상기 제2 클래스의 복수의 학습 특징 벡터를 기초로 상기 분류기에 포함된 상기 제2 클래스의 클래스 벡터를 학습시키는 단계
    를 포함하는, 클래스 벡터 학습 방법.
  2. 제1항에 있어서,
    상기 학습시키는 단계는,
    상기 제2 클래스에 해당하는 학습 입력 데이터의 특징 벡터와 상기 제2 클래스를 포함하는 복수의 클래스 각각의 클래스 벡터 간의 거리에 대한 상기 학습 입력 데이터의 특징 벡터와 상기 제2 클래스의 클래스 벡터 간의 거리가 작아지도록 상기 제2 클래스의 클래스 벡터를 학습시키는,
    클래스 벡터 학습 방법.
  3. 제2항에 있어서,
    상기 학습시키는 단계는,
    손실 함수를 통해 상기 제2 클래스의 클래스 벡터를 학습시키고,
    상기 손실 함수는,
    상기 복수의 클래스 각각의 음의 거리의 지수값의 합에 대한 상기 정답 클래스의 음의 거리의 지수값의 비율을 포함하는,
    클래스 벡터 학습 방법.
  4. 제3항에 있어서,
    상기 손실 함수는 소프트 맥스 함수(Softmax function)를 포함하는,
    클래스 벡터 학습 방법.
  5. 제1항에 있어서,
    상기 베리에이션 벡터는 상기 복수의 학습 특징 벡터에 대한 분산 벡터 또는 표준편차 벡터를 포함하는,
    클래스 벡터 학습 방법.
  6. 제5항에 있어서,
    상기 평균 벡터는 상기 복수의 학습 특징 벡터의 구성 요소별 평균값의 벡터이고,
    상기 분산 벡터는 상기 복수의 학습 특징 벡터의 구성 요소별 분산의 벡터이고,
    상기 표준 편차 벡터는 상기 복수의 학습 특징 벡터의 구성 요소별 표준 편차의 벡터인,
    클래스 벡터 학습 방법.
  7. 제1항에 있어서,
    상기 추가 특징 벡터를 획득하는 단계는,
    상기 제1 클래스의 평균 벡터, 상기 제1 클래스의 베리에이션 벡터, 상기 제2 클래스의 평균 벡터 및 상기 제2 클래스의 베리에이션 벡터를 결합하는 단계;
    상기 결합된 결과로부터 압축된 베리에이션 벡터를 출력하는 단계; 및
    상기 압축된 베리에이션 벡터 및 상기 제2 클래스의 평균 벡터를 기초로 추가 특징 벡터를 획득하는 단계
    를 포함하는, 클래스 벡터 학습 방법.
  8. 제7항에 있어서,
    상기 압축된 베리에이션 벡터 및 상기 제2 클래스의 평균 벡터를 기초로 추가 특징 벡터를 획득하는 단계는,
    상기 압축된 베리에이션 벡터 및 상기 제2 클래스의 평균 벡터를 기초로 가우시안(Gausian) 확률 분포를 이용하여 추가 특징 벡터를 획득하는,
    클래스 벡터 학습 방법.
  9. 제8항에 있어서,
    상기 압축된 베리에이션 벡터 및 상기 제2 클래스의 평균 벡터를 기초로 추가 특징 벡터를 획득하는 단계는,
    가우시안(Gausian) 확률 분포를 이용하여 복수의 특징 벡터를 생성하는 단계; 및
    상기 생성된 복수의 특징 벡터를 샘플링하여 상기 추가 특징 벡터를 획득하는 단계
    를 포함하는, 클래스 벡터 학습 방법.
  10. 특징 추출기, 특징 샘플 생성기 및 분류기를 포함하는 뉴럴 네트워크의 메타 학습 방법에 있어서,
    상기 특징 추출기에 의해, 제3 클래스 및 제4 클래스를 포함하는 복수의 클래스 각각의 복수의 학습 클래스 데이터에 대응하는 복수의 학습 특징 벡터를 추출하는 단계;
    상기 특징 샘플 생성기에 의해, 상기 제3 클래스 및 상기 제4 클래스 각각의 복수의 학습 특징 벡터에 대한 평균 벡터 및 베리에이션(variation) 벡터를 기초로 제4 클래스에 추가할 추가 특징 벡터를 획득하는 단계;
    상기 분류기에 의해, 상기 추가 특징 벡터와 상기 제4 클래스의 복수의 학습 특징 벡터를 기초로 상기 제4 클래스의 클래스 벡터를 획득하는 단계; 및
    상기 제4 클래스에 해당하는 학습 입력 데이터의 특징 벡터와 상기 제4 클래스의 클래스 벡터 간의 거리가 작아지도록 상기 특징 추출기, 상기 특징 샘플 생성기 및 상기 분류기를 학습시키는 단계
    를 포함하는, 메타 학습 방법.
  11. 제10항에 있어서,
    상기 학습시키는 단계는,
    상기 제4 클래스에 해당하는 학습 입력 데이터의 특징 벡터와 상기 제4 클래스를 포함하는 복수의 클래스 각각의 클래스 벡터 간의 거리에 대한 상기 학습 입력 데이터의 특징 벡터와 상기 제4 클래스의 클래스 벡터 간의 거리가 작아지도록 상기 특징 추출기, 상기 특징 샘플 생성기 및 상기 분류기를 학습시키는,
    메타 학습 방법.
  12. 제1항 내지 제11항의 방법을 컴퓨터에서 실행하기 위한 프로그램을 기록하는 컴퓨터 판독 가능한 기록 매체.
  13. 적어도 하나의 프로세서,
    특징 추출기, 특징 샘플 생성기 및 분류기를 포함하는 뉴럴 네트워크를 저장하는 메모리를 포함하고,
    상기 프로세서는,
    상기 특징 추출기에 의해, 제1 클래스 및 제2 클래스를 포함하는 복수의 클래스 각각의 복수의 학습 클래스 데이터에 대응하는 복수의 학습 특징 벡터를 추출하고,
    상기 특징 샘플 생성기에 의해, 상기 제1 클래스 및 상기 제2 클래스 각각의 복수의 학습 특징 벡터에 대한 평균 벡터 및 베리에이션(variation) 벡터를 기초로 제2 클래스에 추가할 추가 특징 벡터를 획득하고,
    상기 분류기에 의해, 상기 추가 특징 벡터와 상기 제2 클래스의 복수의 학습 특징 벡터를 기초로 상기 제2 클래스의 클래스 벡터를 획득하고,
    상기 학습 입력 데이터의 특징 벡터와 상기 제2 클래스의 클래스 벡터 간의 거리가 작아지도록 상기 제2 클래스의 클래스 벡터를 학습시키는,
    클래스 벡터 학습 장치.
  14. 적어도 하나의 프로세서,
    특징 추출기, 특징 샘플 생성기 및 분류기를 포함하는 뉴럴 네트워크를 저장하는 메모리를 포함하고,
    상기 프로세서는,
    상기 특징 추출기에 의해, 제3 클래스 및 제4 클래스를 포함하는 복수의 클래스 각각의 복수의 학습 클래스 데이터에 대응하는 복수의 학습 특징 벡터를 추출하고,
    상기 특징 샘플 생성기에 의해, 상기 제3 클래스 및 상기 제4 클래스 각각의 복수의 학습 특징 벡터에 대한 평균 벡터 및 베리에이션(variation) 벡터를 기초로 제4 클래스에 추가할 추가 특징 벡터를 획득하고,
    상기 분류기에 의해, 상기 추가 특징 벡터와 상기 제4 클래스의 복수의 학습 특징 벡터를 기초로 상기 제4 클래스의 클래스 벡터를 획득하고,
    상기 제4 클래스에 해당하는 학습 입력 데이터의 특징 벡터와 상기 제4 클래스의 클래스 벡터 간의 거리가 작아지도록 상기 특징 추출기, 상기 특징 샘플 생성기 및 상기 분류기를 학습시키는,
    메타 학습 장치.

KR1020200077127A 2020-02-05 2020-06-24 뉴럴 네트워크의 메타 학습 방법 및 장치와 뉴럴 네트워크의 클래스 벡터 학습 방법 및 장치 KR20210099988A (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
US17/119,381 US20210241098A1 (en) 2020-02-05 2020-12-11 Method and apparatus with neural network meta-training and class vector training

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US202062970297P 2020-02-05 2020-02-05
US62/970,297 2020-02-05

Publications (1)

Publication Number Publication Date
KR20210099988A true KR20210099988A (ko) 2021-08-13

Family

ID=77313748

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020200077127A KR20210099988A (ko) 2020-02-05 2020-06-24 뉴럴 네트워크의 메타 학습 방법 및 장치와 뉴럴 네트워크의 클래스 벡터 학습 방법 및 장치

Country Status (2)

Country Link
US (1) US20210241098A1 (ko)
KR (1) KR20210099988A (ko)

Family Cites Families (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE10018134A1 (de) * 2000-04-12 2001-10-18 Siemens Ag Verfahren und Vorrichtung zum Bestimmen prosodischer Markierungen
US6964023B2 (en) * 2001-02-05 2005-11-08 International Business Machines Corporation System and method for multi-modal focus detection, referential ambiguity resolution and mood classification using multi-modal input
US7496546B2 (en) * 2003-03-24 2009-02-24 Riken Interconnecting neural network system, interconnecting neural network structure construction method, self-organizing neural network structure construction method, and construction programs therefor
WO2008080414A1 (en) * 2006-12-28 2008-07-10 Telecom Italia S.P.A. Method and system for biometric authentication and encryption
US9646634B2 (en) * 2014-09-30 2017-05-09 Google Inc. Low-rank hidden input layer for speech recognition neural network
KR102315574B1 (ko) * 2014-12-03 2021-10-20 삼성전자주식회사 데이터 분류 방법 및 장치와 관심영역 세그멘테이션 방법 및 장치
KR102413693B1 (ko) * 2015-07-23 2022-06-27 삼성전자주식회사 음성 인식 장치 및 방법, 그를 위한 모델 생성 장치 및 방법
US10482313B2 (en) * 2015-09-30 2019-11-19 Siemens Healthcare Gmbh Method and system for classification of endoscopic images using deep decision networks
US10546237B2 (en) * 2017-03-30 2020-01-28 Atomwise Inc. Systems and methods for correcting error in a first classifier by evaluating classifier output in parallel
US10755174B2 (en) * 2017-04-11 2020-08-25 Sap Se Unsupervised neural attention model for aspect extraction
KR102071582B1 (ko) * 2017-05-16 2020-01-30 삼성전자주식회사 딥 뉴럴 네트워크(Deep Neural Network)를 이용하여 문장이 속하는 클래스(class)를 분류하는 방법 및 장치
US20220114836A1 (en) * 2019-01-30 2022-04-14 Samsung Electronics Co., Ltd. Method for processing image, and apparatus therefor
KR20210069467A (ko) * 2019-12-03 2021-06-11 삼성전자주식회사 뉴럴 네트워크의 학습 방법 및 장치와 뉴럴 네트워크를 이용한 인증 방법 및 장치

Also Published As

Publication number Publication date
US20210241098A1 (en) 2021-08-05

Similar Documents

Publication Publication Date Title
RU2666631C2 (ru) Обучение dnn-студента посредством распределения вывода
CN110503192B (zh) 资源有效的神经架构
US10325200B2 (en) Discriminative pretraining of deep neural networks
Ma et al. Facial expression recognition using constructive feedforward neural networks
Ney On the probabilistic interpretation of neural network classifiers and discriminative training criteria
US20230297846A1 (en) Neural network compression method, apparatus and device, and storage medium
CN110069985B (zh) 基于图像的目标点位置检测方法、装置、电子设备
KR20200129639A (ko) 모델 학습 방법 및 장치
JP2018514852A (ja) 逐次画像サンプリングおよび微調整された特徴の記憶
CN111429885A (zh) 一种将音频片段映射为人脸嘴型关键点的方法
CN112820301B (zh) 一种融合分布对齐和对抗学习的无监督跨域声纹识别方法
US20210224647A1 (en) Model training apparatus and method
US20220156528A1 (en) Distance-based boundary aware semantic segmentation
CN113393474A (zh) 一种基于特征融合的三维点云的分类和分割方法
KR20220098991A (ko) 음성 신호에 기반한 감정 인식 장치 및 방법
Dai Real-time and accurate object detection on edge device with TensorFlow Lite
CN111476771A (zh) 一种基于距离对抗生成网络的领域自适应方法及系统
EP4232957A1 (en) Personalized neural network pruning
CN112966644A (zh) 用于手势检测和手势识别的多模态多任务模型及其训练方法
KR20200110064A (ko) 변환 모델을 이용한 인증 방법 및 장치
WO2022083165A1 (en) Transformer-based automatic speech recognition system incorporating time-reduction layer
JP7425216B2 (ja) サブ-カーネルサーチングモジュールを利用してオン-デバイスニューラルネットワークモデルを最適化する方法及び装置
CN113870863A (zh) 声纹识别方法及装置、存储介质及电子设备
Qi et al. Research on deep learning expression recognition algorithm based on multi-model fusion
CN116235220A (zh) 基于多模态表示的事件定位