KR102563752B1 - 뉴럴 네트워크를 위한 트레이닝 방법, 뉴럴 네트워크를 이용한 인식 방법 및 그 장치들 - Google Patents

뉴럴 네트워크를 위한 트레이닝 방법, 뉴럴 네트워크를 이용한 인식 방법 및 그 장치들 Download PDF

Info

Publication number
KR102563752B1
KR102563752B1 KR1020170127709A KR20170127709A KR102563752B1 KR 102563752 B1 KR102563752 B1 KR 102563752B1 KR 1020170127709 A KR1020170127709 A KR 1020170127709A KR 20170127709 A KR20170127709 A KR 20170127709A KR 102563752 B1 KR102563752 B1 KR 102563752B1
Authority
KR
South Korea
Prior art keywords
function
class
neural network
input data
loss
Prior art date
Application number
KR1020170127709A
Other languages
English (en)
Other versions
KR20190037901A (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 KR1020170127709A priority Critical patent/KR102563752B1/ko
Priority to US15/946,800 priority patent/US11586925B2/en
Publication of KR20190037901A publication Critical patent/KR20190037901A/ko
Priority to KR1020230007431A priority patent/KR102644947B1/ko
Application granted granted Critical
Publication of KR102563752B1 publication Critical patent/KR102563752B1/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/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
    • G06N3/084Backpropagation, e.g. using gradient descent
    • 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/047Probabilistic or stochastic networks
    • 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/24Classification techniques
    • G06F18/241Classification techniques relating to the classification model, e.g. parametric or non-parametric approaches
    • G06F18/2413Classification techniques relating to the classification model, e.g. parametric or non-parametric approaches based on distances to training or reference patterns
    • 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
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/04Architecture, e.g. interconnection topology
    • G06N3/044Recurrent networks, e.g. Hopfield networks
    • 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/048Activation functions
    • 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/82Arrangements for image or video recognition or understanding using pattern recognition or machine learning using neural networks

Landscapes

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

Abstract

뉴럴 네트워크를 위한 트레이닝 방법, 뉴럴 네트워크를 이용한 인식 방법 및 그 장치들이 개시된다. 일 실시예에 따른 트레이닝 방법은 제1 클래스의 사상 함수의 함수 값에 대응하여 변화하는 제1 확률 성분 및 제2 클래스의 사상 함수의 함수 값에 대조적으로 변화하는 제2 확률 성분을 포함하는 손실 함수를 획득하고, 획득된 손실 함수에 기초하여 입력 데이터에 대응하는 손실 기울기를 결정하고, 결정된 손실 기울기에 기초하여 뉴럴 네트워크의 파라미터를 업데이트하는 단계들을 포함한다.

Description

뉴럴 네트워크를 위한 트레이닝 방법, 뉴럴 네트워크를 이용한 인식 방법 및 그 장치들{TRAINING METHOD FOR NEURAL NETWORK, RECOGNITION METHOD USING NEURAL NETWORK, AND DEVICES THEREOF}
아래 실시예들은 뉴럴 네트워크를 위한 트레이닝 방법, 뉴럴 네트워크를 이용한 인식 방법 및 그 장치들에 관한 것이다.
최근 들어, 입력 패턴을 특정 그룹으로 분류하는 문제를 해결하는 방안으로서, 인간이 지니고 있는 효율적인 패턴 인식 방법을 실제 컴퓨터에 적용시키려는 연구가 활발히 진행되고 있다. 이러한 연구 중 하나로, 인간의 생물학적 신경 세포의 특성을 수학적 표현에 의해 모델링한 인공 뉴럴 네트워크(artificial neural network)에 대한 연구가 있다. 입력 패턴을 특정 그룹으로 분류하는 문제를 해결하기 위해, 인공 뉴럴 네트워크는 인간이 가지고 있는 학습이라는 능력을 모방한 알고리즘을 이용한다. 이 알고리즘을 통하여 인공 뉴럴 네트워크는 입력 패턴과 출력 패턴들 간의 사상(mapping)을 생성해낼 수 있는데, 이를 인공 뉴럴 네트워크가 학습 능력이 있다고 표현한다. 또한, 인공 뉴럴 네트워크는 학습된 결과에 기초하여 학습에 이용되지 않았던 입력 패턴에 대하여 비교적 올바른 출력을 생성할 수 있는 일반화 능력을 가지고 있다.
일 측에 따르면, 트레이닝 방법은 입력 데이터를 뉴럴 네트워크에 입력하는 단계; 상기 입력 데이터에 관한 상기 뉴럴 네트워크의 멀티 클래스 출력에 대응하는 사상 함수(mapping function)를 결정하는 단계; 제1 클래스의 사상 함수의 함수 값에 대응하여 변화하는 제1 확률 성분 및 제2 클래스의 사상 함수의 함수 값에 대조적으로 변화하는 제2 확률 성분을 포함하는 손실 함수(loss function)를 획득하는 단계; 상기 손실 함수에 기초하여 상기 입력 데이터에 대응하는 손실 기울기(gradient of loss)를 결정하는 단계; 및 상기 결정된 손실 기울기에 기초하여 상기 뉴럴 네트워크의 파라미터를 업데이트하는 단계를 포함한다.
바람직하게는 상기 제1 확률 성분은 상기 제1 클래스의 사상 함수의 상기 함수 값이 증가함에 따라 증가할 수 있고, 상기 제2 확률 성분은 상기 제2 클래스의 사상 함수의 상기 함수 값이 증가함에 따라 감소할 수 있다. 상기 제1 확률 성분은 상기 제1 클래스의 사상 함수에 관한 확률 함수에 기초할 수 있고, 상기 제2 확률 성분은 상기 제2 클래스의 사상 함수에 관한 역 확률(inverse probability) 함수에 기초할 수 있다. 상기 뉴럴 네트워크의 파라미터가 반복적으로 업데이트됨에 따라, 상기 제1 클래스의 사상 함수 및 상기 제1 클래스의 입력 데이터가 상기 제1 클래스로 인식되기 위한 조건부 확률(conditional probability) 간에 단조 증가 관계가 형성될 수 있다. 상기 업데이트하는 단계는 상기 뉴럴 네트워크의 파라미터를 상기 결정된 손실 기울기에 대응하는 방향으로 감소시키는 단계를 포함할 수 있다.
일 측에 따르면, 인식 방법은 제1 손실 함수로 트레이닝된 제1 뉴럴 네트워크 및 제2 손실 함수로 트레이닝된 제2 뉴럴 네트워크에 입력 데이터를 각각 입력하는 단계; 상기 제1 뉴럴 네트워크의 출력 및 상기 제2 뉴럴 네트워크의 출력을 각각 기준 레벨(reference level)로 정규화하는 단계; 및 상기 정규화된 상기 제1 뉴럴 네트워크의 출력 및 상기 정규화된 상기 제2 뉴럴 네트워크의 출력을 가중 평균하는 단계를 포함한다. 상기 기준 레벨은 제1 클래스의 입력 데이터가 상기 제1 클래스로 인식되기 위한 조건부 확률에 대응할 수 있다.
일 측에 따르면, 트레이닝 장치는 프로세서; 및 상기 프로세서에서 읽을 수 있는 명령어를 포함하는 메모리를 포함하고, 상기 명령어가 상기 프로세서에서 실행되면, 상기 프로세서는 입력 데이터를 뉴럴 네트워크에 입력하고, 상기 입력 데이터에 관한 상기 뉴럴 네트워크의 멀티 클래스 출력에 대응하는 사상 함수(mapping function)를 결정하고, 제1 클래스의 사상 함수의 함수 값에 대응하여 변화하는 제1 확률 성분 및 제2 클래스의 사상 함수의 함수 값에 대조적으로 변화하는 제2 확률 성분을 포함하는 손실 함수(loss function)를 획득하고, 상기 손실 함수에 기초하여 상기 입력 데이터에 대응하는 손실 기울기(gradient of loss)를 결정하고, 상기 결정된 손실 기울기에 기초하여 상기 뉴럴 네트워크의 파라미터를 업데이트한다.
도 1은 일 실시예에 따른 뉴럴 네트워크의 구조를 나타낸 도면.
도 2는 일 실시예에 따른 뉴럴 네트워크를 위한 트레이닝 과정을 나타낸 도면.
도 3은 일 실시예에 따른 뉴럴 네트워크를 위한 트레이닝 방법을 나타낸 동작 흐름도.
도 4는 일 실시예에 따른 뉴럴 네트워크를 이용한 인식 방법을 나타낸 동작 흐름도.
도 5는 일 실시예에 따른 멀티 뉴럴 네트워크의 구조를 나타낸 도면.
도 6은 일 실시예에 따른 멀티 뉴럴 네트워크를 위한 트레이닝 방법을 나타낸 동작 흐름도.
도 7은 일 실시예에 따른 멀티 뉴럴 네트워크를 이용한 인식 방법을 나타낸 동작 흐름도.
도 8은 일 실시예에 따른 트레이닝 장치를 나타낸 블록도.
도 9는 일 실시예에 따른 인식 장치를 나타낸 블록도.
아래 개시되어 있는 특정한 구조 또는 기능들은 단지 기술적 개념을 설명하기 위한 목적으로 예시된 것으로서, 아래 개시와는 다른 다양한 형태로도 실시될 수 있으며 본 명세서의 실시예들을 한정하지 않는다.
제1 또는 제2 등의 용어는 다양한 구성요소들을 설명하는데 사용될 수 있지만, 이런 용어들은 하나의 구성요소를 다른 구성요소로부터 구별하는 목적으로만 이해되어야 한다. 예를 들어, 제1 구성요소는 제2 구성요소로 명명될 수 있고, 유사하게 제2 구성요소는 제1 구성요소로도 명명될 수 있다.
단수의 표현은 문맥상 명백하게 다르게 뜻하지 않는 한, 복수의 표현을 포함한다. 본 명세서에서, "포함하다" 등의 용어는 설시된 특징, 숫자, 단계, 동작, 구성요소, 부분품 또는 이들을 조합한 것이 존재함으로 지정하려는 것이지, 하나 또는 그 이상의 다른 특징들이나 숫자, 단계, 동작, 구성요소, 부분품 또는 이들을 조합한 것들의 존재 또는 부가 가능성을 미리 배제하지 않는 것으로 이해되어야 한다.
다르게 정의되지 않는 한, 기술적이거나 과학적인 용어를 포함해서 여기서 사용되는 모든 용어들은 해당 기술 분야에서 통상의 지식을 가진 자에 의해 일반적으로 이해되는 것과 동일한 의미를 가진다. 일반적으로 사용되는 사전에 정의되어 있는 것과 같은 용어들은 관련 기술의 문맥상 가지는 의미와 일치하는 의미를 갖는 것으로 해석되어야 하며, 본 명세서에서 명백하게 정의하지 않는 한, 이상적이거나 과도하게 형식적인 의미로 해석되지 않는다.
이하, 실시예들을 첨부된 도면을 참조하여 상세하게 설명한다. 각 도면에 제시된 동일한 참조 부호는 동일한 부재를 나타낸다.
도 1은 일 실시예에 따른 뉴럴 네트워크의 구조를 나타낸 도면이다.
뉴럴 네트워크(neural network; 100)는 딥 뉴럴 네트워크(deep neural network; DNN)의 예시에 해당할 수 있다. DNN은 완전 연결 네트워크(fully connected network), 딥 컨볼루셔널 네트워크(deep convolutional network) 및 리커런트 뉴럴 네트워크(recurrent neural network) 등을 포함할 수 있다. 뉴럴 네트워크(100)는 딥 러닝에 기반하여 비선형적 관계에 있는 입력 데이터 및 출력 데이터를 서로 매핑함으로써 객체 분류, 객체 인식, 음성 인식 및 영상 인식 등을 수행할 수 있다. 딥 러닝은 빅 데이터 세트로부터 영상 또는 음성 인식과 같은 문제를 해결하기 위한 기계 학습 기법이다. 딥 러닝의 지도식(supervised) 또는 비지도식(unsupervised) 학습을 통해 입력 데이터 및 출력 데이터를 서로 매핑할 수 있다.
도 1을 참조하면, 뉴럴 네트워크(100)는 히든 레이어(110) 및 출력 레이어(120)를 포함한다. 히든 레이어(110) 및 출력 레이어(120)는 각각 복수의 인공 뉴런들(artificial neurons)을 포함한다.
도 1에는 설명의 편의를 위해 히든 레이어(110)가 3개의 레이어를 포함하는 것으로 도시되었나, 히든 레이어(110)는 다양한 수의 레이어들을 포함할 수 있다. 또한, 도 1에는 입력 데이터(x)가 히든 레이어(110)에 직접 입력되는 것으로 도시되었으나, 뉴럴 네트워크(100)는 입력 데이터(x)를 수신하기 위한 별도의 입력 레이어를 포함할 수 있다. 뉴럴 네트워크(100)에서 출력 레이어(120)를 제외한 레이어들의 인공 뉴런들은 출력 신호를 전송하기 위한 링크들을 통해 다음 레이어의 인공 뉴런들과 연결될 수 있다. 링크들의 수는 다음 레이어에 포함된 인공 뉴런들의 수에 대응할 수 있다. 이러한 링크는 시냅스(synapse)로 지칭될 수 있다.
히든 레이어(110)에 포함된 각각의 인공 뉴런에는 이전 레이어에 포함된 인공 뉴런들의 가중된 입력들(weighted inputs)에 관한 활성 함수(activation function)의 출력이 입력될 수 있다. 가중된 입력은 이전 레이어에 포함된 인공 뉴런들의 입력에 시냅스 가중치(synaptic weight)가 곱해진 것이다. 시냅스 가중치는 뉴럴 네트워크(100)의 파라미터로 지칭될 수 있다. 활성 함수는 시그모이드(sigmoid), 하이퍼볼릭 탄젠트(hyperbolic tangent; tanh) 및 렐루(rectified linear unit; ReLU)를 포함할 수 있고, 활성 함수에 의해 뉴럴 네트워크(100)에 비선형성이 형성될 수 있다. 출력 레이어(120)에 포함된 각각의 인공 뉴런에는 이전 레이어에 포함된 인공 뉴런들의 가중된 입력들이 입력될 수 있다.
뉴럴 네트워크(100)는 입력 데이터(x)가 주어지면 히든 레이어(110)를 거쳐 출력 레이어(120)에서 분류/인식하고자 하는 클래스의 수(c) 만큼의 함수 값 f_1(x), ..., f_c(x)을 계산하고, 이들 중 가장 큰 값을 갖는 클래스로 입력 데이터(x)를 분류/인식할 수 있다. 뉴럴 네트워크(100)는 입력 데이터(x)를 분류하거나, 혹은 인식할 수 있으나, 아래에서는 설명의 편의를 위해 뉴럴 네트워크(100)의 분류/인식 과정을 인식 과정으로 설명한다. 아래의 인식 과정에 관한 설명은 성격에 반하지 않는 한 분류 과정에도 적용될 수 있다.
뉴럴 네트워크(100)의 폭과 깊이가 충분히 크면 임의의 함수를 구현할 수 있을 만큼의 용량(capacity)을 가질 수 있다. 뉴럴 네트워크(100)가 적절한 트레이닝 과정을 통해 충분히 많은 트레이닝 데이터를 학습하면, 최적의 인식 성능을 달성할 수 있다. 실시예에 따르면, 최적의 인식 성능을 위해 뉴럴 네트워크(100)가 궁극적으로 구현하여야 하는 함수는 사상 함수 f--_i(x)로 정의될 수 있다. 여기서, i는 인식의 대상이 되는 클래스를 나타낸다. 인식 대상이 복수인 경우, 복수의 인식 대상들은 멀티 클래스로 지칭될 수 있다.
바람직하게는 사상 함수 f_i(x)가 최종적으로 구현되면 사상 함수 f_i(x)는 조건부 확률(conditional probability) Pr(i|x)와 단조증가 관계에 있어야 한다. 조건부 확률 Pr(i|x)은 입력 데이터(x)가 클래스(i)로 인식될 확률을 나타내고, 사상 함수 f_i(x)는 입력 데이터(x)에 관한 클래스(i)의 함수 값을 나타낸다. 사상 함수 f_i(x)가 최종적으로 구현되어 사상 함수 f_i(x) 및 조건부 확률 Pr(i|x) 간에 단조증가 관계가 형성되면 추후 인식과정에 있어 사상 함수 f_i(x)의 함수 값이 가장 큰 클래스를 선택하는 것은 조건부 확률 Pr(i|x)을 최대화하도록 인식하는 것과 동등하게 된다. 이러한 사상 함수 f_i(x) 및 조건부 확률 Pr(i|x) 간의 관계를 고려하여 뉴럴 네트워크(100)를 트레이닝하기 위한 새로운 방법이 도출될 수 있다.
도 2는 일 실시예에 따른 뉴럴 네트워크를 위한 트레이닝 과정을 나타낸 도면이다. 도 2를 참조하면, 도 1과 동일한 뉴럴 네트워크(100)가 도시되어 있다. 뉴럴 네트워크(100)는 히든 레이어(110) 및 출력 레이어(120)를 포함한다.
뉴럴 네트워크(100)는 손실 함수(loss function)에 기초하여 트레이닝될 수 있다. 손실 함수는 입력 데이터(x)의 클래스 및 사상 함수 f_i(x)에 의해 인식된 클래스 간의 차이를 오류로 표현할 수 있는데, 뉴럴 네트워크(100)는 이러한 손실 함수를 최소화함으로써 트레이닝될 수 있다. 트레이닝 과정에서 입력 데이터(x)는 트레이닝 데이터(x)로 지칭될 수 있으며, 뉴럴 네트워크(100)를 트레이닝시킨다는 것은 뉴럴 네트워크(100)의 파라미터를 트레이닝 시키는 것, 뉴럴 네트워크(100)를 갱신하는 것, 혹은 뉴럴 네트워크(100)의 파라미터를 갱신하는 것을 포함할 수 있다.
클래스의 수가 2개를 초과하는 멀티 클래스 환경에서 아래의 수학식 1에 따른 손실 함수를 최소화하여 뉴럴 네트워크(100)를 트레이닝할 수 있다.
수학식 1에서, L_1은 손실 함수를 나타내고, i 및 j 각각은 클래스를 나타내고, c는 클래스의 수를 나타내고, x는 입력 데이터를 나타내고, X_i는 i 클래스의 입력 데이터를 나타내고, f_i(x)는 i 클래스의 사상 함수를 나타낸다.
뉴럴 네트워크(100)의 트레이닝을 위해, 아래 수학식 2로 표현되는 함수 값에 대한 손실 함수의 손실 기울기(gradient of loss)를 역 전파(back propagation)하면서, 아래 수학식 3으로 표현되는 뉴럴 네트워크(100)의 파라미터(Θ)에 관한 손실 함수의 기울기를 차례로 계산한 후, 기울기 강하(gradient descent) 기반의 반복적 알고리즘에 따라 손실 함수를 최소할 수 있다. 이 과정에서 파라미터(Θ)는 아래 수학식 4에 따라 점차 감소될 수 있다.
수학식 2 내지 수학식 4에서, L은 손실 함수를 나타내고, i는 클래스를 나타내고, f_i(x)는 i 클래스의 사상 함수를 나타내고, Θ는 뉴럴 네트워크(100)의 파라미터를 나타내고, μ는 학습 레이트(learning rate)을 나타낸다.
손실 함수는 최종적으로 사상 함수 f_i(x) 및 조건부 확률 Pr(i|x) 간에 단조증가 관계를 형성시킬 수 있어야 한다. 다시 말해, 사상 함수 f_i(x)를 조건부 확률 Pr(i|x)과 단조증가 관계로 만드는 손실 함수를 통해 사상 함수 f_i(x)가 최종적으로 구현될 수 있으며, 해당 손실 함수를 통해 뉴럴 네트워크(100)가 최적화될 수 있다. 예를 들어, 이러한 조건을 만족시키는 손실 함수로 아래 수학식 5의 손실 함수 및 아래 수학식 6의 손실 함수가 정의될 수 있다.
수학식 5 및 수학식 6에서, L_2a 및 L_2b 각각은 손실 함수를 나타내고, i 및 j 각각은 클래스를 나타내고, c는 클래스의 수를 나타내고, x는 입력 데이터를 나타내고, X_i는 i 클래스의 입력 데이터를 나타내고, σ는 시그모이드 함수(sigmoid function)를 나타내고, f_i(x)는 i 클래스의 사상 함수를 나타낸다.
앞선 수학식 1에 따른 손실 함수(L_1)는 지수 기반으로 함수 값을 정규화하여 손실 값을 산출한다. 반면에, 수학식 5에 따른 손실 함수(L_2a) 및 수학식 6에 따른 손실 함수(L_2b)는 f_i(x)에 대응하여 변화하는 제1 확률 성분 및 f_j(x)에 대조적으로 변화하는 제2 확률 성분 에 기초하여 손실 값을 산출한다. 여기서, f_i(x)는 제1 클래스의 사상 함수 또는 제1 클래스의 사상 함수의 함수 값으로 지칭될 수 있고, f_j(x)는 제2 클래스의 사상 함수 또는 제2 클래스의 사상 함수의 함수 값으로 지칭될 수 있다.
제1 확률 성분은 f_i(x)가 증가함에 따라 증가하고, 제2 확률 성분은 f_j(x)가 증가함에 따라 감소하는 특성을 가질 수 있다. 또한, 제1 확률 성분 및 제2 확률 성분은 시그모이드 함수 σ를 포함한다. 따라서, 제1 확률 성분은 f_i(x)에 관한 확률 함수에 기초하고, 제2 확률 성분은 f_j(x)에 관한 역 확률(inverse probability) 함수에 기초하는 것으로 볼 수 있다. 역 확률(inverse probability) 함수는 확률과 단조 감소 관계에 있는 임의의 함수를 의미할 수 있다. 여기서, f_i(x)에 관한 확률 함수는 일 수 있고, f_j(x)에 관한 역 확률 함수는 일 수 있다. f_i(x)에 관한 확률 함수 및 f_j(x)에 관한 역 확률 함수는 손실 함수(L_2a) 및 손실 함수(L_2b)에서 로그 함수의 형태를 갖는다.
손실 함수(L_2a)에 관한 손실 기울기(gradient of loss)는 아래 수학식 7에 따라 계산될 수 있고, 손실 함수(L_2b)에 관한 손실 기울기는 아래 수학식 8에 따라 계산될 수 있다. 계산된 손실 기울기는 도 2의 역 전파 입력에 해당한다.
수학식 7 및 수학식 8에서, L_2a 및 L_2b 각각은 손실 함수를 나타내고, i는 클래스를 나타내고, x는 입력 데이터를 나타내고, σ는 시그모이드 함수(sigmoid function)를 나타내고, f_i(x)는 i 클래스의 사상 함수를 나타내고, class(x)는 입력 데이터(x)의 클래스를 나타낸다. 도 7 및 도 8을 통해 계산된 손실 기울기에 기초하여 파라미터(Θ)가 반복적으로 업데이트됨에 따라, f_i(x) 및 Pr(i|x) 간에 단조 증가 관계가 형성될 수 있다. 손실 함수(L_2a) 및 손실 함수(L_2b)는 손실 함수(L_1)에 비해 낮은 오인식률을 보일 수 있다.
도 3은 일 실시예에 따른 뉴럴 네트워크를 위한 트레이닝 방법을 나타낸 동작 흐름도이다. 도 3을 참조하면, 트레이닝 장치는 단계(310)에서 뉴럴 네트워크를 트레이닝하고, 단계(320)에서 트레이닝 완료된 뉴럴 네트워크를 저장한다.
단계(310)에서 트레이닝 장치는 입력 데이터를 뉴럴 네트워크에 입력하고, 입력 데이터에 관한 뉴럴 네트워크의 멀티 클래스 출력에 대응하는 사상 함수(mapping function)를 결정하고, 제1 클래스의 사상 함수의 함수 값에 대응하여 변화하는 제1 확률 성분 및 제2 클래스의 사상 함수의 함수 값에 대조적으로 변화하는 제2 확률 성분을 포함하는 손실 함수(loss function)를 획득하고, 손실 함수에 기초하여 입력 데이터에 대응하는 손실 기울기(gradient of loss)를 결정하고, 상기 결정된 손실 기울기에 기초하여 뉴럴 네트워크의 파라미터를 업데이트한다.
여기서, 손실 함수는 도 2를 통해 설명된 손실 함수(L_2a) 및 손실 함수(L_2b) 중 어느 하나일 수 있다. 트레이닝 장치는 뉴럴 네트워크의 파라미터를 업데이트하는 과정에서 상기 뉴럴 네트워크의 파라미터를 상기 결정된 손실 기울기에 대응하는 방향으로 감소시킬 수 있다. 또한, 입력 데이터를 뉴럴 네트워크에 입력하여 사상 함수의 함수 값을 획득하는 것은, 입력 데이터에 기초하여 사상 함수를 계산함으로써 사상 함수의 함수 값을 획득하는 것으로 이해될 수 있다.
도 4는 일 실시예에 따른 뉴럴 네트워크를 이용한 인식 방법을 나타낸 동작 흐름도이다. 도 4를 참조하면, 인식 장치는 단계(410)에서 뉴럴 네트워크를 로드하고, 단계(420)에서 뉴럴 네트워크에 입력 데이터를 입력하고, 단계(430)에서 입력 데이터를 출력 데이터에서 함수 값이 가장 큰 클래스로 인식할 수 있다. 단계(420)에서 인식 장치는 입력 데이터에 기초하여 네트워크 함수를 계산할 수 있고, 출력 데이터로서 네트워크 함수의 함수 값을 획득할 수 있다.
도 5는 일 실시예에 따른 멀티 뉴럴 네트워크의 구조를 나타낸 도면이다. 도 5를 참조하면, 멀티 뉴럴 네트워크는 제1 뉴럴 네트워크(510), 제2 뉴럴 네트워크(520) 및 레이트 퓨전(late fusion) 블록(530)을 포함한다.
제1 뉴럴 네트워크(510)는 제1 손실 함수로 트레이닝된 것일 수 있고, 제2 뉴럴 네트워크(520)는 제2 손실 함수로 트레이닝된 것일 수 있다. 제1 손실 함수 및 제2 손실 함수는 전술된 손실 함수들(L_1, L_2a, L_2b) 중 어느 하나일 수 있으며, 제1 손실 함수 및 제2 손실 함수는 상이할 수 있다. 제1 뉴럴 네트워크(510) 및 제2 뉴럴 네트워크(520) 각각에 입력 데이터(x)가 입력될 수 있고, 제1 뉴럴 네트워크(510)의 출력 및 제2 뉴럴 네트워크(520)의 출력이 획득될 수 있다. 여기서, 입력 데이터를 뉴럴 네트워크들에 입력하여 뉴럴 네트워크의 출력이 획득되는 것은, 입력 데이터에 기초하여 네트워크 함수를 계산함으로써 뉴럴 네트워크의 출력이 획득되는 것으로 이해될 수 있다.
레이트 퓨전 블록(530)은 제1 뉴럴 네트워크(510)의 출력 및 제2 뉴럴 네트워크(520)의 출력을 각각 기준 레벨(reference level)로 정규화하여 정규화된 제1 뉴럴 네트워크의 출력(531) 및 정규화된 제2 뉴럴 네트워크의 출력(533)을 획득하고, 정규화된 제1 뉴럴 네트워크의 출력(531) 및 정규화된 제2 뉴럴 네트워크의 출력(533)을 가중 평균하여 가중 평균된 데이터(535)를 획득할 수 있다. 가중 평균된 데이터(535)는 멀티 뉴럴 네트워크의 출력 데이터(o)로서 출력될 수 있다. 입력 데이터(x)는 출력 데이터(o)에서 함수 값이 가장 큰 클래스로 인식될 수 있다. 여기서, 기준 레벨은 클래스(i)의 입력 데이터(x)가 클래스(i)로 인식될 조건부 확률 Pr(i|x)에 대응할 수 있다.
전술된 손실 함수(L_1)로 트레이닝된 뉴럴 네트워크의 출력은 아래 수학식 9에 따라 기준 레벨로 정규화될 수 있고, 전술된 손실 함수(L_2a)로 트레이닝된 뉴럴 네트워크의 출력은 아래 수학식 10에 따라 기준 레벨로 정규화될 수 있고, 전술된 손실 함수(L_2b)로 트레이닝된 뉴럴 네트워크의 출력은 아래 수학식 11에 따라 기준 레벨로 정규화될 수 있다.
수학식 9 내지 수학식 11에서, f_i(x)는 클래스 i의 출력을 나타내고, x는 입력 데이터를 나타내고, c는 클래스의 수를 나타내고, σ는 시그모이드 함수(sigmoid function)를 나타낸다.
멀티 뉴럴 네트워크는 다양한 손실 함수를 통해 트레이닝된 뉴럴 네트워크들(510, 520)을 통해 동작하므로, 하나의 손실 함수를 통해 트레이닝된 단일 뉴럴 네트워크에 비해 높은 인식 성능을 보여줄 수 있다.
도 6은 일 실시예에 따른 멀티 뉴럴 네트워크를 위한 트레이닝 방법을 나타낸 동작 흐름도이다. 도 6을 참조하면, 트레이닝 장치는 단계(610)에서 제1 뉴럴 네트워크를 트레이닝하고, 단계(620)에서 제2 뉴럴 네트워크를 트레이닝한다. 트레이닝 장치는 상이한 손실 함수에 기초하여 제1 뉴럴 네트워크 및 제2 뉴럴 네트워크를 트레이닝할 수 있다. 트레이닝 장치는 단계(630)에서 트레이닝 완료된 제1 뉴럴 네트워크를 저장하고, 단계(640)에서 트레이닝 완료된 제2 뉴럴 네트워크를 저장한다.
도 7은 일 실시예에 따른 멀티 뉴럴 네트워크를 이용한 인식 방법을 나타낸 동작 흐름도이다. 도 7을 참조하면, 인식 장치는 단계(710)에서 제1 뉴럴 네트워크를 로드하고, 단계(720)에서 제2 뉴럴 네트워크를 로드하고, 단계(730)에서 제1 뉴럴 네트워크에 입력 데이터를 입력하고, 단계(740)에서 제2 뉴럴 네트워크에 입력 데이터를 입력한다. 여기서, 제1 뉴럴 네트워크 및 제2 뉴럴 네트워크는 상이한 손실 함수에 기초하여 트레이닝된 것일 수 있다. 단계들(730, 740)에서 인식 장치는 입력 데이터에 기초하여 네트워크 함수를 계산할 수 있고, 제1 뉴럴 네트워크 및 제2 뉴럴 네트워크의 출력들로서 네트워크 함수의 함수 값을 획득할 수 있다. 단계(750)에서, 인식 장치는 제1 뉴럴 네트워크의 출력 및 제2 뉴럴 네트워크의 출력을 각각 기준 레벨(reference level)로 정규화하고, 상기 정규화된 상기 제1 뉴럴 네트워크의 출력 및 상기 정규화된 상기 제2 뉴럴 네트워크의 출력을 가중 평균할 수 있다. 가중 평균된 데이터는 출력 데이터로서 출력될 수 있다. 여기서, 기준 레벨은 제1 클래스의 입력 데이터가 제1 클래스로 인식되기 위한 조건부 확률에 대응할 수 있다. 단계(760)에서, 인식 장치는 입력 데이터를 출력 데이터에서 함수 값이 가장 큰 클래스로 인식할 수 있다.
도 8은 일 실시예에 따른 트레이닝 장치를 나타낸 블록도이다. 도 8을 참조하면, 트레이닝 장치(800)는 메모리(810) 및 프로세서(820)를 포함한다. 메모리(810)는 뉴럴 네트워크(815), 및 프로세서(820)에서 읽을 수 있는 명령어를 포함하고, 상기 명령어가 프로세서(820)에서 실행되면, 프로세서(820)는 뉴럴 네트워크(815)를 위한 트레이닝 동작을 수행할 수 있다. 예를 들어, 상기 명령어가 프로세서(820)에서 실행되면, 프로세서(820)는 트레이닝 데이터를 뉴럴 네트워크(815)에 입력하고, 트레이닝 데이터에 관한 상기 뉴럴 네트워크의 멀티 클래스 출력에 대응하는 사상 함수(mapping function)를 결정하고, 제1 클래스의 사상 함수의 함수 값에 대응하여 변화하는 제1 확률 성분 및 제2 클래스의 사상 함수의 함수 값에 대조적으로 변화하는 제2 확률 성분을 포함하는 손실 함수(loss function)를 획득하고, 손실 함수에 기초하여 트레이닝 데이터에 대응하는 손실 기울기(gradient of loss)를 결정하고, 상기 결정된 손실 기울기에 기초하여 뉴럴 네트워크(815)의 파라미터를 업데이트할 수 있다. 여기서, 트레이닝 데이터는 입력 데이터로 지칭될 수도 있다. 메모리(810)는 트레이닝이 완료된 상태로 뉴럴 네트워크(815)를 저장할 수 있고, 트레이닝 데이터와 같은 트레이닝 동작에 필요한 데이터를 저장할 수 있다.
도 9는 일 실시예에 따른 인식 장치를 나타낸 블록도이다. 도 9를 참조하면, 인식 장치(900)는 메모리(910) 및 프로세서(920)를 포함한다. 메모리(910)는 뉴럴 네트워크(915), 및 프로세서(920)에서 읽을 수 있는 명령어를 포함하고, 상기 명령어가 프로세서(920)에서 실행되면, 프로세서(920)는 뉴럴 네트워크(915)를 이용한 인식 동작을 수행할 수 있다. 예를 들어, 상기 명령어가 프로세서(920)에서 실행되면, 프로세서(920)는 제1 손실 함수로 트레이닝된 제1 뉴럴 네트워크 및 제2 손실 함수로 트레이닝된 제2 뉴럴 네트워크에 입력 데이터를 각각 입력하고, 제1 뉴럴 네트워크의 출력 및 제2 뉴럴 네트워크의 출력을 각각 기준 레벨(reference level)로 정규화하고, 상기 정규화된 제1 뉴럴 네트워크의 출력 및 상기 정규화된 제2 뉴럴 네트워크의 출력을 가중 평균할 수 있다. 메모리(910)는 트레이닝이 완료된 상태로 뉴럴 네트워크(915)를 저장할 수 있고, 인식 동작에 필요한 데이터를 저장할 수 있다.
이상에서 설명된 실시예들은 하드웨어 구성요소, 소프트웨어 구성요소, 및/또는 하드웨어 구성요소 및 소프트웨어 구성요소의 조합으로 구현될 수 있다. 예를 들어, 실시예들에서 설명된 장치, 방법 및 구성요소는, 예를 들어, 프로세서, 콘트롤러, 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), 플래시 메모리 등과 같은 프로그램 명령을 저장하고 수행하도록 특별히 구성된 하드웨어 장치가 포함된다. 프로그램 명령의 예에는 컴파일러에 의해 만들어지는 것과 같은 기계어 코드뿐만 아니라 인터프리터 등을 사용해서 컴퓨터에 의해서 실행될 수 있는 고급 언어 코드를 포함한다. 상기된 하드웨어 장치는 실시예의 동작을 수행하기 위해 하나 이상의 소프트웨어 모듈로서 작동하도록 구성될 수 있으며, 그 역도 마찬가지이다.
이상과 같이 실시예들이 비록 한정된 도면에 의해 설명되었으나, 해당 기술분야에서 통상의 지식을 가진 자라면 상기를 기초로 다양한 기술적 수정 및 변형을 적용할 수 있다. 예를 들어, 설명된 기술들이 설명된 방법과 다른 순서로 수행되거나, 및/또는 설명된 시스템, 구조, 장치, 회로 등의 구성요소들이 설명된 방법과 다른 형태로 결합 또는 조합되거나, 다른 구성요소 또는 균등물에 의하여 대치되거나 치환되더라도 적절한 결과가 달성될 수 있다.

Claims (20)

  1. 프로세서에 의해 수행되는 트레이닝 방법에 있어서,
    입력 데이터를 뉴럴 네트워크에 입력하는 단계;
    상기 입력 데이터에 관한 상기 뉴럴 네트워크의 멀티 클래스 출력에 대응하는 사상 함수(mapping function)를 결정하는 단계;
    제1 클래스의 사상 함수의 함수 값에 대응하여 변화하는 제1 확률 성분 및 제2 클래스의 사상 함수의 함수 값에 대조적으로 변화하는 제2 확률 성분을 포함하는 손실 함수(loss function)를 획득하는 단계;
    상기 손실 함수에 기초하여 상기 입력 데이터에 대응하는 손실 기울기(gradient of loss)를 결정하는 단계; 및
    상기 결정된 손실 기울기에 기초하여 상기 뉴럴 네트워크의 파라미터를 업데이트하는 단계
    를 포함하고,
    상기 제1 클래스의 사상 함수는 상기 입력 데이터의 입력에 따라 상기 제1 클래스의 사상 함수의 상기 함수 값을 결정하고, 상기 제2 클래스의 사상 함수는 상기 입력 데이터의 입력에 따라 상기 제2 클래스의 사상 함수의 상기 함수 값을 결정하는,
    트레이닝 방법.
  2. 제1항에 있어서,
    상기 제1 확률 성분은 상기 제1 클래스의 사상 함수의 상기 함수 값이 증가함에 따라 증가하고, 상기 제2 확률 성분은 상기 제2 클래스의 사상 함수의 상기 함수 값이 증가함에 따라 감소하는, 트레이닝 방법.
  3. 제1항에 있어서,
    상기 제1 확률 성분은 상기 제1 클래스의 사상 함수에 관한 확률 함수에 기초하고, 상기 제2 확률 성분은 상기 제2 클래스의 사상 함수에 관한 역 확률(inverse probability) 함수에 기초하는, 트레이닝 방법.
  4. 제1항에 있어서,
    상기 뉴럴 네트워크의 파라미터가 반복적으로 업데이트됨에 따라, 상기 제1 클래스의 사상 함수 및 상기 제1 클래스의 입력 데이터가 상기 제1 클래스로 인식되기 위한 조건부 확률(conditional probability) 간에 단조 증가 관계가 형성되는, 트레이닝 방법.
  5. 제1항에 있어서,
    상기 손실 함수는 아래 수학식에 대응하는,

    - 상기 수학식에서, L_2a는 상기 손실 함수를 나타내고, i 및 j 각각은 클래스를 나타내고, c는 클래스의 수를 나타내고, x는 입력 데이터를 나타내고, X_i는 i 클래스의 입력 데이터를 나타내고, σ는 시그모이드 함수(sigmoid function)를 나타내고, f_i(x)는 i 클래스의 사상 함수를 나타냄 -
    트레이닝 방법.
  6. 제1항에 있어서,
    상기 손실 함수는 아래 수학식에 대응하는,

    - 상기 수학식에서, L_2b는 상기 손실 함수를 나타내고, i 및 j 각각은 클래스를 나타내고, c는 클래스의 수를 나타내고, x는 입력 데이터를 나타내고, X_i는 i 클래스의 입력 데이터를 나타내고, σ는 시그모이드 함수(sigmoid function)를 나타내고, f_i(x)는 i 클래스의 사상 함수를 나타냄 -
    트레이닝 방법.
  7. 제1항에 있어서,
    상기 업데이트하는 단계는
    상기 뉴럴 네트워크의 파라미터를 상기 결정된 손실 기울기에 대응하는 방향으로 감소시키는 단계를 포함하는, 트레이닝 방법.
  8. 삭제
  9. 삭제
  10. 삭제
  11. 삭제
  12. 삭제
  13. 삭제
  14. 삭제
  15. 제1항 내지 제7항 중 어느 한 항의 방법을 수행하기 위한 명령어들을 포함하는 하나 이상의 프로그램을 저장한 컴퓨터 판독 가능 저장매체.
  16. 프로세서; 및
    상기 프로세서에서 읽을 수 있는 명령어를 포함하는 메모리
    를 포함하고,
    상기 명령어가 상기 프로세서에서 실행되면, 상기 프로세서는 입력 데이터를 뉴럴 네트워크에 입력하고, 상기 입력 데이터에 관한 상기 뉴럴 네트워크의 멀티 클래스 출력에 대응하는 사상 함수(mapping function)를 결정하고, 제1 클래스의 사상 함수의 함수 값에 대응하여 변화하는 제1 확률 성분 및 제2 클래스의 사상 함수의 함수 값에 대조적으로 변화하는 제2 확률 성분을 포함하는 손실 함수(loss function)를 획득하고, 상기 손실 함수에 기초하여 상기 입력 데이터에 대응하는 손실 기울기(gradient of loss)를 결정하고, 상기 결정된 손실 기울기에 기초하여 상기 뉴럴 네트워크의 파라미터를 업데이트하고,
    상기 제1 클래스의 사상 함수는 상기 입력 데이터의 입력에 따라 상기 제1 클래스의 사상 함수의 상기 함수 값을 결정하고, 상기 제2 클래스의 사상 함수는 상기 입력 데이터의 입력에 따라 상기 제2 클래스의 사상 함수의 상기 함수 값을 결정하는,
    트레이닝 장치.
  17. 제16항에 있어서,
    상기 제1 확률 성분은 상기 제1 클래스의 사상 함수의 상기 함수 값이 증가함에 따라 증가하고, 상기 제2 확률 성분은 상기 제2 클래스의 사상 함수의 상기 함수 값이 증가함에 따라 감소하는, 트레이닝 장치.
  18. 제16항에 있어서,
    상기 제1 확률 성분은 상기 제1 클래스의 사상 함수에 관한 확률 함수에 기초하고, 상기 제2 확률 성분은 상기 제2 클래스의 사상 함수에 관한 역 확률(inverse probability) 함수에 기초하는, 트레이닝 장치.
  19. 제16항에 있어서,
    상기 손실 함수는 아래 수학식에 대응하는,

    - 상기 수학식에서, L_2a는 상기 손실 함수를 나타내고, i 및 j 각각은 클래스를 나타내고, c는 클래스의 수를 나타내고, x는 입력 데이터를 나타내고, X_i는 i 클래스의 입력 데이터를 나타내고, σ는 시그모이드 함수(sigmoid function)를 나타내고, f_i(x)는 i 클래스의 사상 함수를 나타냄 -
    트레이닝 장치.
  20. 제16항에 있어서,
    상기 손실 함수는 아래 수학식에 대응하는,

    - 상기 수학식에서, L_2b는 상기 손실 함수를 나타내고, i 및 j 각각은 클래스를 나타내고, c는 클래스의 수를 나타내고, x는 입력 데이터를 나타내고, X_i는 i 클래스의 입력 데이터를 나타내고, σ는 시그모이드 함수(sigmoid function)를 나타내고, f_i(x)는 i 클래스의 사상 함수를 나타냄 -
    트레이닝 장치.
KR1020170127709A 2017-09-29 2017-09-29 뉴럴 네트워크를 위한 트레이닝 방법, 뉴럴 네트워크를 이용한 인식 방법 및 그 장치들 KR102563752B1 (ko)

Priority Applications (3)

Application Number Priority Date Filing Date Title
KR1020170127709A KR102563752B1 (ko) 2017-09-29 2017-09-29 뉴럴 네트워크를 위한 트레이닝 방법, 뉴럴 네트워크를 이용한 인식 방법 및 그 장치들
US15/946,800 US11586925B2 (en) 2017-09-29 2018-04-06 Neural network recogntion and training method and apparatus
KR1020230007431A KR102644947B1 (ko) 2017-09-29 2023-01-18 뉴럴 네트워크를 위한 트레이닝 방법, 뉴럴 네트워크를 이용한 인식 방법 및 그 장치들

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020170127709A KR102563752B1 (ko) 2017-09-29 2017-09-29 뉴럴 네트워크를 위한 트레이닝 방법, 뉴럴 네트워크를 이용한 인식 방법 및 그 장치들

Related Child Applications (1)

Application Number Title Priority Date Filing Date
KR1020230007431A Division KR102644947B1 (ko) 2017-09-29 2023-01-18 뉴럴 네트워크를 위한 트레이닝 방법, 뉴럴 네트워크를 이용한 인식 방법 및 그 장치들

Publications (2)

Publication Number Publication Date
KR20190037901A KR20190037901A (ko) 2019-04-08
KR102563752B1 true KR102563752B1 (ko) 2023-08-04

Family

ID=65896172

Family Applications (2)

Application Number Title Priority Date Filing Date
KR1020170127709A KR102563752B1 (ko) 2017-09-29 2017-09-29 뉴럴 네트워크를 위한 트레이닝 방법, 뉴럴 네트워크를 이용한 인식 방법 및 그 장치들
KR1020230007431A KR102644947B1 (ko) 2017-09-29 2023-01-18 뉴럴 네트워크를 위한 트레이닝 방법, 뉴럴 네트워크를 이용한 인식 방법 및 그 장치들

Family Applications After (1)

Application Number Title Priority Date Filing Date
KR1020230007431A KR102644947B1 (ko) 2017-09-29 2023-01-18 뉴럴 네트워크를 위한 트레이닝 방법, 뉴럴 네트워크를 이용한 인식 방법 및 그 장치들

Country Status (2)

Country Link
US (1) US11586925B2 (ko)
KR (2) KR102563752B1 (ko)

Families Citing this family (43)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9792532B2 (en) * 2013-06-28 2017-10-17 President And Fellows Of Harvard College Systems and methods for machine learning enhanced by human measurements
US10476754B2 (en) * 2015-04-16 2019-11-12 Nec Corporation Behavior-based community detection in enterprise information networks
US10430685B2 (en) * 2016-11-16 2019-10-01 Facebook, Inc. Deep multi-scale video prediction
KR102174777B1 (ko) * 2018-01-23 2020-11-06 주식회사 날비컴퍼니 이미지의 품질 향상을 위하여 이미지를 처리하는 방법 및 장치
CN110296763B (zh) * 2018-03-23 2021-04-30 江森自控科技公司 使用循环网络进行温度传感器校准
US11816564B1 (en) * 2018-05-21 2023-11-14 Pattern Computer, Inc. Deep neural networks with interpretability
US20200019840A1 (en) * 2018-07-13 2020-01-16 Arizona Board Of Regents On Behalf Of Arizona State University Systems and methods for sequential event prediction with noise-contrastive estimation for marked temporal point process
US11055854B2 (en) * 2018-08-23 2021-07-06 Seoul National University R&Db Foundation Method and system for real-time target tracking based on deep learning
US10803591B2 (en) * 2018-08-28 2020-10-13 International Business Machines Corporation 3D segmentation with exponential logarithmic loss for highly unbalanced object sizes
JP7225876B2 (ja) * 2019-02-08 2023-02-21 富士通株式会社 情報処理装置、演算処理装置および情報処理装置の制御方法
EP3696744A1 (en) * 2019-02-13 2020-08-19 Robert Bosch GmbH Safeguarding resources of physical entites in a shared environment
CN110321451B (zh) * 2019-04-25 2022-08-05 吉林大学 基于分布熵增益损失函数的图像检索算法
CN111860043A (zh) * 2019-04-26 2020-10-30 北京陌陌信息技术有限公司 人脸换像模型训练方法、装置、设备和介质
US11574181B2 (en) * 2019-05-08 2023-02-07 International Business Machines Corporation Fusion of neural networks
KR20200132245A (ko) 2019-05-16 2020-11-25 삼성전자주식회사 전자 장치 및 전자 장치의 제어 방법
EP3742345A1 (en) * 2019-05-20 2020-11-25 Robert Bosch GmbH A neural network with a layer solving a semidefinite program
US11526755B2 (en) * 2019-05-23 2022-12-13 Deepmind Technologies Limited Training more secure neural networks by using local linearity regularization
JP7307199B2 (ja) * 2019-05-30 2023-07-11 ノキア テクノロジーズ オサケユイチア 通信システムにおける学習
CN110188283B (zh) * 2019-06-05 2021-11-23 中国人民解放军国防科技大学 一种基于联合神经网络协同过滤的信息推荐方法及其系统
CN110427466B (zh) * 2019-06-12 2023-05-26 创新先进技术有限公司 用于问答匹配的神经网络模型的训练方法和装置
US20220322107A1 (en) * 2019-07-08 2022-10-06 Google Llc Optimizing a Cellular Network Using Machine Learning
CN110490239B (zh) * 2019-08-06 2024-02-27 腾讯医疗健康(深圳)有限公司 图像质控网络的训练方法、质量分类方法、装置及设备
US10916242B1 (en) * 2019-08-07 2021-02-09 Nanjing Silicon Intelligence Technology Co., Ltd. Intent recognition method based on deep learning network
CN112348045A (zh) * 2019-08-09 2021-02-09 北京地平线机器人技术研发有限公司 神经网络的训练方法、训练装置和电子设备
KR102356126B1 (ko) * 2019-09-02 2022-01-27 한국과학기술원 뉴럴 네트워크를 이용한 플래시 메모리의 읽기 기준 전압 추정 방법 및 그 장치
US11100643B2 (en) * 2019-09-11 2021-08-24 Nvidia Corporation Training strategy search using reinforcement learning
CN112561028A (zh) * 2019-09-25 2021-03-26 华为技术有限公司 训练神经网络模型的方法、数据处理的方法及装置
CN112784953A (zh) * 2019-11-07 2021-05-11 佳能株式会社 对象识别模型的训练方法及装置
US11475280B2 (en) * 2019-11-15 2022-10-18 Disney Enterprises, Inc. Data object classification using an optimized neural network
CN110909815B (zh) * 2019-11-29 2022-08-12 深圳市商汤科技有限公司 神经网络训练、图像处理方法、装置及电子设备
CN113096023B (zh) * 2020-01-08 2023-10-27 字节跳动有限公司 神经网络的训练方法、图像处理方法及装置、存储介质
CN111272290B (zh) * 2020-03-13 2022-07-19 西北工业大学 基于深度神经网络的测温红外热像仪标定方法及装置
CN111524521B (zh) * 2020-04-22 2023-08-08 北京小米松果电子有限公司 声纹提取模型训练方法和声纹识别方法、及其装置和介质
CN111667066A (zh) * 2020-04-23 2020-09-15 北京旷视科技有限公司 网络模型的训练、文字识别方法、装置和电子设备
CN111737429B (zh) * 2020-06-16 2023-11-03 平安科技(深圳)有限公司 训练方法、ai面试方法及相关设备
US20220053010A1 (en) * 2020-08-13 2022-02-17 Tweenznet Ltd. System and method for determining a communication anomaly in at least one network
US11961287B2 (en) * 2020-10-02 2024-04-16 Servicenow Canada Inc. Method and system for meaningful counterfactual explanations
CN112259078A (zh) * 2020-10-15 2021-01-22 上海依图网络科技有限公司 一种音频识别模型的训练和非正常音频识别的方法和装置
CN112288086B (zh) * 2020-10-30 2022-11-25 北京市商汤科技开发有限公司 一种神经网络的训练方法、装置以及计算机设备
CN112613341A (zh) * 2020-11-25 2021-04-06 北京迈格威科技有限公司 训练方法及装置、指纹识别方法及装置、电子设备
CN112801266B (zh) * 2020-12-24 2023-10-31 武汉旷视金智科技有限公司 神经网络构建方法、装置、设备及介质
JP7158515B2 (ja) * 2021-02-18 2022-10-21 本田技研工業株式会社 学習装置、学習方法及びプログラム
CN114005073B (zh) * 2021-12-24 2022-04-08 东莞理工学院 上肢镜像康复训练、识别方法和装置

Family Cites Families (22)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP3618007B2 (ja) 1995-01-27 2005-02-09 株式会社リコー ニューラルネットワークの学習装置及び学習方法
US6018728A (en) 1996-02-09 2000-01-25 Sarnoff Corporation Method and apparatus for training a neural network to learn hierarchical representations of objects and to detect and classify objects with uncertain training data
US9665823B2 (en) 2013-12-06 2017-05-30 International Business Machines Corporation Method and system for joint training of hybrid neural networks for acoustic modeling in automatic speech recognition
KR102445468B1 (ko) * 2014-09-26 2022-09-19 삼성전자주식회사 부스트 풀링 뉴럴 네트워크 기반의 데이터 분류 장치 및 그 데이터 분류 장치를 위한 뉴럴 네트워크 학습 방법
US9646634B2 (en) * 2014-09-30 2017-05-09 Google Inc. Low-rank hidden input layer for speech recognition neural network
CN104346440B (zh) 2014-10-10 2017-06-23 浙江大学 一种基于神经网络的跨媒体哈希索引方法
JP6745019B2 (ja) * 2015-10-29 2020-08-26 株式会社Preferred Networks 情報処理装置及び情報処理方法
KR102494139B1 (ko) 2015-11-06 2023-01-31 삼성전자주식회사 뉴럴 네트워크 학습 장치 및 방법과, 음성 인식 장치 및 방법
KR102592076B1 (ko) 2015-12-14 2023-10-19 삼성전자주식회사 딥러닝 기반 영상 처리 장치 및 방법, 학습 장치
CN107423306B (zh) * 2016-05-24 2021-01-29 华为技术有限公司 一种图像检索方法及装置
US10395356B2 (en) * 2016-05-25 2019-08-27 Kla-Tencor Corp. Generating simulated images from input images for semiconductor applications
CN106548210B (zh) * 2016-10-31 2021-02-05 腾讯科技(深圳)有限公司 基于机器学习模型训练的信贷用户分类方法及装置
CN106874914B (zh) * 2017-01-12 2019-05-14 华南理工大学 一种基于深度卷积神经网络的工业机械臂视觉控制方法
US20180336439A1 (en) * 2017-05-18 2018-11-22 Intel Corporation Novelty detection using discriminator of generative adversarial network
CN107944410B (zh) * 2017-12-01 2020-07-28 中国科学院重庆绿色智能技术研究院 一种基于卷积神经网络的跨领域面部特征解析方法
CN108205687B (zh) * 2018-02-01 2022-04-01 通号通信信息集团有限公司 目标检测系统中基于注意力机制定位损失计算方法及系统
CN110197100B (zh) * 2018-02-27 2022-07-26 北京猎户星空科技有限公司 物体定位方法和装置
CN108656992B (zh) * 2018-05-10 2020-05-22 中南大学 一种极端暴雨环境下无人驾驶车辆电源智慧预测方法及装置
CN108669993B (zh) * 2018-07-24 2020-10-27 杭州萧山华达邮政器材有限公司 一种智能邮箱柜
CN110097047B (zh) * 2019-03-19 2021-10-08 同济大学 一种基于深度学习采用单线激光雷达的车辆检测方法
CN110210618A (zh) * 2019-05-22 2019-09-06 东南大学 动态修剪深度神经网络权重和权重共享的压缩方法
CN110188781B (zh) * 2019-06-06 2022-07-22 焦点科技股份有限公司 一种基于深度学习的古诗文自动识别方法

Non-Patent Citations (3)

* Cited by examiner, † Cited by third party
Title
Frazao and Alexandre. "Weighted convolutional neural network ensemble." Iberoamerican Congress on Pattern Recognition. 2014.*
Gandhi and Pandey. "Hybrid ensemble of classifiers using voting." 2015 international conference on green computing and Internet of Things (ICGCIoT). IEEE, 2015.
Goodfellow et al. "Generative adversarial networks." arXiv preprint arXiv:1406.2661. (2014).*

Also Published As

Publication number Publication date
KR102644947B1 (ko) 2024-03-08
KR20190037901A (ko) 2019-04-08
US11586925B2 (en) 2023-02-21
US20190102678A1 (en) 2019-04-04
KR20230018496A (ko) 2023-02-07

Similar Documents

Publication Publication Date Title
KR102563752B1 (ko) 뉴럴 네트워크를 위한 트레이닝 방법, 뉴럴 네트워크를 이용한 인식 방법 및 그 장치들
KR102492318B1 (ko) 모델 학습 방법 및 장치, 및 데이터 인식 방법
KR102483639B1 (ko) 뉴럴 네트워크 구조 확장 방법, 디멘션 리덕션 방법, 및 그 방법을 이용한 장치
US11562208B2 (en) Continuous relaxation of quantization for discretized deep neural networks
KR102641116B1 (ko) 데이터 증강에 기초한 인식 모델 트레이닝 방법 및 장치, 이미지 인식 방법 및 장치
KR102410820B1 (ko) 뉴럴 네트워크를 이용한 인식 방법 및 장치 및 상기 뉴럴 네트워크를 트레이닝하는 방법 및 장치
KR20200045128A (ko) 모델 학습 방법 및 장치, 및 데이터 인식 방법
KR102449837B1 (ko) 신경망 학습 방법 및 장치, 및 인식 방법 및 장치
KR102570278B1 (ko) 교사 모델로부터 학생 모델을 트레이닝하는데 사용되는 학습 데이터를 생성하는 장치 및 방법
KR102450374B1 (ko) 데이터 인식 및 트레이닝 장치 및 방법
Yeung et al. Sensitivity analysis for neural networks
KR102582194B1 (ko) 선택적 역전파
US20160328646A1 (en) Fixed point neural network based on floating point neural network quantization
KR20180045635A (ko) 뉴럴 네트워크 간소화 방법 및 장치
KR20200128938A (ko) 모델 학습 방법 및 장치
KR20200003444A (ko) 영상 모델 구축 장치 및 방법
KR102570070B1 (ko) 일반화된 사용자 모델을 이용한 사용자 인증 방법 및 장치
Purwono et al. Understanding of convolutional neural network (cnn): A review
KR20190130443A (ko) 뉴럴 네트워크의 양자화 방법 및 장치
CN113454648A (zh) 循环神经网络中的勒让德存储器单元
KR20220052844A (ko) 뉴럴 네트워크의 제공
KR20210103912A (ko) 뉴럴 네트워크를 학습시키는 학습 방법 및 장치, 뉴럴 네트워크를 이용한 데이터 처리 방법 및 장치
Sossa et al. Training a multilayered perceptron to compute the Euler number of a 2-D binary image
Boonto Lecture 6: Artificial Neural Networks
Zhang et al. Intelligent Information Processing with Matlab

Legal Events

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