KR20180070103A - 인식 방법 및 인식 장치 - Google Patents
인식 방법 및 인식 장치 Download PDFInfo
- Publication number
- KR20180070103A KR20180070103A KR1020160172391A KR20160172391A KR20180070103A KR 20180070103 A KR20180070103 A KR 20180070103A KR 1020160172391 A KR1020160172391 A KR 1020160172391A KR 20160172391 A KR20160172391 A KR 20160172391A KR 20180070103 A KR20180070103 A KR 20180070103A
- Authority
- KR
- South Korea
- Prior art keywords
- model
- feature vector
- layer
- partial
- determining
- Prior art date
Links
- 238000000034 method Methods 0.000 title claims abstract description 67
- 239000013598 vector Substances 0.000 claims abstract description 182
- 239000011159 matrix material Substances 0.000 claims description 50
- 238000004364 calculation method Methods 0.000 claims description 14
- 230000015654 memory Effects 0.000 claims description 12
- 238000004590 computer program Methods 0.000 claims description 2
- 238000013528 artificial neural network Methods 0.000 description 22
- 230000008569 process Effects 0.000 description 20
- 238000010586 diagram Methods 0.000 description 12
- 238000012545 processing Methods 0.000 description 10
- 230000000306 recurrent effect Effects 0.000 description 9
- 230000006870 function Effects 0.000 description 5
- 230000004913 activation Effects 0.000 description 4
- 125000004122 cyclic group Chemical group 0.000 description 4
- 230000002457 bidirectional effect Effects 0.000 description 3
- 230000014509 gene expression Effects 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 230000008859 change Effects 0.000 description 1
- 238000013135 deep learning Methods 0.000 description 1
- 238000007429 general method Methods 0.000 description 1
- 238000010801 machine learning Methods 0.000 description 1
- 238000013507 mapping Methods 0.000 description 1
- 230000003278 mimic effect Effects 0.000 description 1
- 210000002569 neuron Anatomy 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 229920001690 polydopamine Polymers 0.000 description 1
- 238000011160 research Methods 0.000 description 1
- 230000004044 response Effects 0.000 description 1
- 230000006403 short-term memory Effects 0.000 description 1
Images
Classifications
-
- G06N3/0454—
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F18/00—Pattern recognition
- G06F18/20—Analysing
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F18/00—Pattern recognition
- G06F18/20—Analysing
- G06F18/24—Classification techniques
- G06F18/241—Classification techniques relating to the classification model, e.g. parametric or non-parametric approaches
- G06F18/2413—Classification techniques relating to the classification model, e.g. parametric or non-parametric approaches based on distances to training or reference patterns
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F18/00—Pattern recognition
- G06F18/20—Analysing
- G06F18/25—Fusion techniques
- G06F18/253—Fusion techniques of extracted features
-
- G06K9/481—
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/04—Architecture, e.g. interconnection topology
- G06N3/044—Recurrent networks, e.g. Hopfield networks
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/04—Architecture, e.g. interconnection topology
- G06N3/045—Combinations of networks
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/04—Architecture, e.g. interconnection topology
- G06N3/0463—Neocognitrons
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/08—Learning methods
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06V—IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
- G06V10/00—Arrangements for image or video recognition or understanding
- G06V10/40—Extraction of image or video features
- G06V10/46—Descriptors for shape, contour or point-related descriptors, e.g. scale invariant feature transform [SIFT] or bags of words [BoW]; Salient regional features
- G06V10/469—Contour-based spatial representations, e.g. vector-coding
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06V—IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
- G06V10/00—Arrangements for image or video recognition or understanding
- G06V10/70—Arrangements for image or video recognition or understanding using pattern recognition or machine learning
- G06V10/82—Arrangements for image or video recognition or understanding using pattern recognition or machine learning using neural networks
-
- G—PHYSICS
- G10—MUSICAL INSTRUMENTS; ACOUSTICS
- G10L—SPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
- G10L25/00—Speech or voice analysis techniques not restricted to a single one of groups G10L15/00 - G10L21/00
- G10L25/27—Speech or voice analysis techniques not restricted to a single one of groups G10L15/00 - G10L21/00 characterised by the analysis technique
- G10L25/30—Speech or voice analysis techniques not restricted to a single one of groups G10L15/00 - G10L21/00 characterised by the analysis technique using neural networks
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- Evolutionary Computation (AREA)
- General Physics & Mathematics (AREA)
- Data Mining & Analysis (AREA)
- Artificial Intelligence (AREA)
- Computing Systems (AREA)
- Software Systems (AREA)
- General Engineering & Computer Science (AREA)
- Health & Medical Sciences (AREA)
- Life Sciences & Earth Sciences (AREA)
- General Health & Medical Sciences (AREA)
- Mathematical Physics (AREA)
- Computational Linguistics (AREA)
- Biomedical Technology (AREA)
- Biophysics (AREA)
- Molecular Biology (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Multimedia (AREA)
- Databases & Information Systems (AREA)
- Medical Informatics (AREA)
- Bioinformatics & Cheminformatics (AREA)
- Bioinformatics & Computational Biology (AREA)
- Evolutionary Biology (AREA)
- Image Analysis (AREA)
- Computational Mathematics (AREA)
- Mathematical Analysis (AREA)
- Mathematical Optimization (AREA)
- Pure & Applied Mathematics (AREA)
- Algebra (AREA)
- Signal Processing (AREA)
- Audiology, Speech & Language Pathology (AREA)
- Human Computer Interaction (AREA)
- Acoustics & Sound (AREA)
Abstract
인식 방법 및 인식 장치가 개시된다. 개시된 인식 방법은 제1 모델 및 제1 모델과 동일한 구조를 가지는 제2 모델을 포함하는 앙상블 모델에 기반하여, 입력 데이터로부터 앙상블 모델에 대응하는 특징 벡터를 결정하고, 특징 벡터에 기초하여 입력 데이터를 인식한다.
Description
아래 실시예들은 인식 방법 및 인식 장치에 관한 것이다.
복잡하거나 해가 알려지지 않은 문제를 해결하기 위해, 인간이 지닌 인식 방법을 디바이스에 적용시키려는 연구가 진행되고 있다. 이러한 연구 중 하나로, 인간의 생물학적 신경 세포를 모델링한 뉴럴 네트워크(neural network)가 있다. 뉴럴 네트워크는 인간이 가지고 있는 학습 능력을 모방한 알고리즘을 이용한다. 뉴럴 네트워크는 학습을 통해 입력 패턴과 출력 패턴들 사이의 사상(mapping)을 수행할 수 있다. 또한, 뉴럴 네트워크는 학습된 결과에 기초하여 학습에 이용되지 않았던 입력 패턴에 대하여 비교적 올바른 출력을 생성할 수 있는 일반화 능력을 가질 수 있다.
또한, 서로 다른 두 개 이상의 뉴럴 네트워크 인식 결과들을 조합함으로써, 최종적으로 하나의 출력을 만들어낼 수도 있다. 이러한 방법을 모델 앙상블이라 한다.
일실시예에 따른 인식 방법은 제1 모델 및 상기 제1 모델과 동일한 구조를 가지는 제2 모델을 포함하는 앙상블 모델에 기반하여, 입력 데이터로부터 상기 앙상블 모델에 대응하는 특징 벡터를 결정하는 단계; 및 상기 특징 벡터에 기초하여 상기 입력 데이터를 인식하는 단계를 포함한다.
일실시예에 따른 인식 방법에서 상기 특징 벡터를 결정하는 단계는, 상기 앙상블 모델 내의 제1 레이어 및 제2 레이어 간의 제1 연결 가중치들 및 상기 입력 데이터에 기초하여 상기 제1 레이어로부터 출력된 제1 특징 벡터를 이용하여, 상기 제2 레이어에서 출력되는 특징 벡터를 결정할 수 있다.
일실시예에 따른 인식 방법에서 상기 특징 벡터를 결정하는 단계는, 상기 제1 연결 가중치들 및 상기 제1 특징 벡터를 이용한 제1 연산 결과 중 일부에 기초하여 상기 특징 벡터를 결정할 수 있다.
일실시예에 따른 인식 방법에서 상기 제1 연산 결과 중 일부는, 상기 제1 연결 가중치들 중 상기 제1 모델에 대응하는 제1 부분 가중치들 및 상기 제1 특징 벡터 중 상기 제1 모델에 대응하는 제1 부분 벡터를 이용하여 연산된 결과; 및 상기 제1 연결 가중치들 중 상기 제2 모델에 대응하는 제2 부분 가중치들 및 상기 제1 특징 벡터 중 상기 제2 모델에 대응하는 제2 부분 벡터를 이용하여 연산된 결과를 포함할 수 있다.
일실시예에 따른 인식 방법에서 상기 특징 벡터를 결정하는 단계는, 이전 시점의 상기 제2 레이어 및 현재 시점의 상기 제2 레이어 간의 제2 연결 가중치들 및 상기 이전 시점에서 상기 제2 레이어로부터 출력된 제2 특징 벡터를 더 이용하여, 상기 제2 레이어에서 출력되는 특징 벡터를 결정할 수 있다.
일실시예에 따른 인식 방법에서 상기 특징 벡터를 결정하는 단계는, 상기 제2 연결 가중치들 및 상기 제2 특징 벡터를 이용한 제2 연산 결과 중 일부를 더 이용하여 상기 특징 벡터를 결정할 수 있다.
일실시예에 따른 인식 방법에서 상기 제2 연산 결과 중 일부는, 상기 제2 연결 가중치들 중 상기 제1 모델에 대응하는 제3 부분 가중치들 및 상기 제2 특징 벡터 중 상기 제1 모델에 대응하는 제3 부분 벡터를 이용하여 연산된 결과; 및 상기 제2 연결 가중치들 중 상기 제2 모델에 대응하는 제4 부분 가중치들 및 상기 제2 특징 벡터 중 상기 제2 모델에 대응하는 제4 부분 벡터를 이용하여 연산된 결과를 포함할 수 있다.
일실시예에 따른 인식 방법에서 상기 제2 연산 결과 중 일부는, 상기 제2 연산 결과로 결정된 행렬의 주대각선 엘리먼트(principal diagonal element)를 포함할 수 있다.
일실시예에 따른 인식 방법에서 상기 앙상블 모델은, 동일한 장치에 할당될 수 있다.
일실시예에 따른 인식 방법에서 상기 앙상블 모델은, 상기 제1 모델 및 상기 제2 모델을 병렬로 포함할 수 있다.
일실시예에 따른 인식 방법에서 상기 제1 모델 및 상기 제2 모델은, 각 모델에 포함된 레이어 개수, 노드 개수 및 레이어들 간의 연결 관계가 동일할 수 있다.
일실시예에 따른 인식 방법에서 상기 입력 데이터를 인식하는 단계는, 상기 특징 벡터 중 상기 제1 모델에 대응하는 n번째 엘리먼트 및 상기 특징 벡터 중 상기 제2 모델에 대응하는 n번째 엘리먼트를 이용하여, 상기 입력 데이터를 인식할 수 있다.
일실시예에 따른 인식 방법에서 상기 특징 벡터는, 상기 제1 모델에 대응하는 제1 부분 특징 벡터 및 상기 제2 모델에 대응하는 제2 부분 특징 벡터를 포함할 수 있다.
일실시예에 따른 인식 장치는 프로세서; 및 상기 프로세서에 의해 실행 가능한 적어도 하나의 명령어를 포함하는 메모리를 포함하고, 상기 적어도 하나의 명령어가 상기 프로세서에서 실행되면, 상기 프로세서는 제1 모델 및 상기 제1 모델과 동일한 구조를 가지는 제2 모델을 포함하는 앙상블 모델에 기반하여, 입력 데이터로부터 상기 앙상블 모델에 대응하는 특징 벡터를 결정하고, 상기 특징 벡터에 기초하여 상기 입력 데이터를 인식한다.
도 1은 일실시예에 따라 앙상블 모델이 할당된 인식 장치를 나타낸 도면이다.
도 2 내지 도 5는 일실시예에 따라 앙상블 모델에 대응하는 특징 벡터를 결정하는 과정을 설명하기 위한 도면이다.
도 6 및 도 7은 다른 일실시예에 따라 앙상블 모델에 대응하는 특징 벡터를 결정하는 과정을 설명하기 위한 도면이다.
도 8은 일실시예에 따라 출력 레이어에서 레이블 값을 결정하는 과정을 설명하기 위한 도면이다.
도 9는 일실시예에 따른 인식 방법을 나타낸 도면이다.
도 10은 일실시예에 따른 인식 장치를 나타낸 도면이다.
도 2 내지 도 5는 일실시예에 따라 앙상블 모델에 대응하는 특징 벡터를 결정하는 과정을 설명하기 위한 도면이다.
도 6 및 도 7은 다른 일실시예에 따라 앙상블 모델에 대응하는 특징 벡터를 결정하는 과정을 설명하기 위한 도면이다.
도 8은 일실시예에 따라 출력 레이어에서 레이블 값을 결정하는 과정을 설명하기 위한 도면이다.
도 9는 일실시예에 따른 인식 방법을 나타낸 도면이다.
도 10은 일실시예에 따른 인식 장치를 나타낸 도면이다.
실시예들에 대한 특정한 구조적 또는 기능적 설명들은 단지 예시를 위한 목적으로 개시된 것으로서, 다양한 형태로 변경되어 실시될 수 있다. 따라서, 실시예들은 특정한 개시형태로 한정되는 것이 아니며, 본 명세서의 범위는 기술적 사상에 포함되는 변경, 균등물, 또는 대체물을 포함한다.
제1 또는 제2 등의 용어를 다양한 구성요소들을 설명하는데 사용될 수 있지만, 이런 용어들은 하나의 구성요소를 다른 구성요소로부터 구별하는 목적으로만 해석되어야 한다. 예를 들어, 제1 구성요소는 제2 구성요소로 명명될 수 있고, 유사하게 제2 구성요소는 제1 구성요소로도 명명될 수 있다.
어떤 구성요소가 다른 구성요소에 "연결되어" 있다고 언급된 때에는, 그 다른 구성요소에 직접적으로 연결되어 있거나 또는 접속되어 있을 수도 있지만, 중간에 다른 구성요소가 존재할 수도 있다고 이해되어야 할 것이다.
단수의 표현은 문맥상 명백하게 다르게 뜻하지 않는 한, 복수의 표현을 포함한다. 본 명세서에서, "포함하다" 또는 "가지다" 등의 용어는 설명된 특징, 숫자, 단계, 동작, 구성요소, 부분품 또는 이들을 조합한 것이 존재함으로 지정하려는 것이지, 하나 또는 그 이상의 다른 특징들이나 숫자, 단계, 동작, 구성요소, 부분품 또는 이들을 조합한 것들의 존재 또는 부가 가능성을 미리 배제하지 않는 것으로 이해되어야 한다.
다르게 정의되지 않는 한, 기술적이거나 과학적인 용어를 포함해서 여기서 사용되는 모든 용어들은 해당 기술 분야에서 통상의 지식을 가진 자에 의해 일반적으로 이해되는 것과 동일한 의미를 가진다. 일반적으로 사용되는 사전에 정의되어 있는 것과 같은 용어들은 관련 기술의 문맥상 가지는 의미와 일치하는 의미를 갖는 것으로 해석되어야 하며, 본 명세서에서 명백하게 정의하지 않는 한, 이상적이거나 과도하게 형식적인 의미로 해석되지 않는다.
하기에서 설명될 실시예들은 모델을 이용하여 입력 데이터를 인식하는 데 사용될 수 있다. 또한, 실시예들은 입력 데이터의 인식을 위한 모델을 학습시키는 데도 사용될 수 있다. 실시예들은 퍼스널 컴퓨터, 랩톱 컴퓨터, 태블릿 컴퓨터, 스마트 폰, 웨어러블 장치, 스마트 가전 기기, 지능형 자동차, 키오스크 등 다양한 형태의 제품으로 구현될 수 있다. 예를 들어, 실시예들은 스마트 폰, 모바일 기기, 웨어러블 장치 등에서 모델을 이용하여 입력 데이터를 인식하는데 적용될 수 있다. 이하, 실시예들을 첨부된 도면을 참조하여 상세하게 설명한다. 각 도면에 제시된 동일한 참조 부호는 동일한 부재를 나타낸다.
도 1은 일실시예에 따라 앙상블 모델이 할당된 인식 장치를 나타낸 도면이다.
도 1을 참조하면, 일실시예에 따라 제1 모델(110) 및 제2 모델(120)이 앙상블 모델로 할당된 인식 장치(100)를 설명하기 위한 예시가 도시된다.
인식 장치(110)는 제1 모델(110) 및 제2 모델(120)을 이용하여 입력 데이터로부터 제1 모델(110) 및 제2 모델(120)에 대응하는 특징 벡터를 결정하고, 결정된 특징 벡터에 기초하여 입력 데이터를 인식할 수 있다. 예를 들어, 인식 장치(110)는 입력 데이터에 포함된 객체를 분류하거나(classify), 검출하거나(detect) 및/또는 분할하거나(segmentation), 입력 데이터에 포함된 사용자의 음성을 인식하거나 또는 입력 데이터에 포함된 텍스트를 번역할 수 있다. 여기서, 입력 데이터는 인식하고자 하는 데이터로서, 예를 들어, 영상, 동영상, 음성 신호, 텍스트 등을 포함할 수 있다.
제1 모델(110) 및 제2 모델(120)은 인식 장치(100)에 할당된 뉴럴 네트워크일 수 있다. 뉴럴 네트워크는 딥 러닝에 이용될 수 있다. 딥 러닝은 빅 데이터 세트로부터 영상 인식 또는 음성 인식을 위한 기계 학습 기법이다. 뉴럴 네트워크는 복수의 레이어들을 포함하는 멀티 레이어 뉴럴 네트워크를 포함할 수 있다. 예를 들어, 멀티 레이어 뉴럴 네트워크는 완전 연결 뉴럴 네트워크(fully connected neural network), 리커런트 뉴럴 네트워크(recurrent neural network), LSTM(Long Short Term Memory), GRU(Gated Recurrent Unit), Bidirectional RNN 등을 포함할 수 있다.
제1 모델(110) 및 제2 모델(120)은 동일한 구조를 가지는 뉴럴 네트워크이다. 다시 말해, 제1 모델(110) 및 제2 모델(120)은 동일한 레이어 개수, 노드 개수를 가지며, 개별 모델 내 레이어들 간의 연결 관계가 동일할 수 있다. 또한, 제1 모델(110) 및 제2 모델(120)은 동일한 인식 장치(100)에 병렬로 할당될 수 있다.
제1 모델(110) 및 제2 모델(120)은 서로 구별되는 독립적인 모델로서, 제1 모델(110) 및 제2 모델(120) 각각에 포함된 레이어들이 서로 연결되지 않고, 제1 모델(110) 내의 레이어에서 출력된 특징 벡터가 제2 모델(120)로 전달되지 않으며, 제2 모델(120) 내의 레이어에서 출력된 특징 벡터가 제1 모델(120)로 전달되지 않는다. 다시 말해, 입력 데이터는 제1 모델(110) 및 제2 모델(120) 각각으로 입력되며, 입력 데이터에 대한 인식 결과도 제1 모델(110) 및 제2 모델(120) 각각에서 결정될 수 있다. 다만, 인식 장치(100)는 제1 모델(110) 및 제2 모델(120) 각각에서 결정된 인식 결과들을 조합하여 최종적으로 하나의 인식 결과를 출력할 수 있다. 이러한 제1 모델(110) 및 제2 모델(120)은 앙상블 모델을 구성할 수 있다.
개별 모델의 예측 능력이 서로 다른 제1 모델(110) 및 제2 모델(120)을 기반하여 앙상블 모델을 구성함으로써, 개별 모델의 예측 결과를 상호 보완하는 인식 결과를 최종적으로 출력할 수 있다.
도 1에서는 예시적으로 두 개의 모델들이 앙상블 모델을 구성하는 것으로 도시되어 있으나, 이에 한정되지 않고 2개 이상의 모델들이 앙상블 모델을 구성할 수 있다.
이와 같이, 동일한 구조를 가지는 제1 모델(110) 및 제2 모델(120)로 구성된 앙상블 모델이 인식 장치(100)에 할당됨으로써, 인식 장치(100)의 활용도(utilization)를 극대화할 수 있다. 활용도는 초당 연산 횟수(floating point operations per second) 및 구동하는데 요구되는 메모리 용량 등에 기초하여 측정될 수 있다.
이하에서는 제1 모델(110) 및 제2 모델(120)을 포함하는 앙상블 모델에서 특징 벡터가 결정되는 과정을 설명한다.
도 2 내지 도 5는 일실시예에 따라 앙상블 모델에 대응하는 특징 벡터를 결정하는 과정을 설명하기 위한 도면이다.
도 2를 참조하면, 일실시예에 따라 입력 레이어에 연결된 제1 히든 레이어에서 앙상블 모델에 대응하는 특징 벡터 h1이 결정되는 과정을 설명하기 위한 예시가 도시된다.
입력 레이어는 앙상블 모델에 포함된 첫 번째 레이어로서, 입력 데이터를 입력 받을 수 있다. 입력 데이터는 입력 레이어에서 입력 벡터 x로 표현될 수 있다. 제1 히든 레이어에서 결정되는 특징 벡터 h1는 입력 레이어 및 제1 히든 레이어 간의 연결 가중치들 및 입력 벡터 x를 이용하여 결정될 수 있다.
여기서, 입력 레이어 및 제1 히든 레이어 간의 연결 가중치들은 가중치 행렬 W0으로 표현될 수 있으며, 제1 모델에 대응하는 제1 부분 가중치들 및 제2 모델에 대응하는 제2 부분 가중치들을 포함할 수 있다. 다시 말해, 가중치 행렬 W0는 제1 모델에 대응하는 부분 행렬 및 제2 모델에 대응하는 부분 행렬 을 포함할 수 있다. 가중치 행렬 W0에 관해서는 도 3을 참조하여 상세히 설명한다.
도 3을 참조하면, 일실시예에 따른 가중치 행렬 W0가 도시된다.
입력 레이어(310)가 l개 노드들을 포함하고, 제1 히든 레이어(320)가 m개 노드들을 포함하는 경우, 제1 모델과 제2 모델이 동일한 구조를 가지므로 부분 행렬 (330) 및 부분 행렬 은 각각 m x l 크기를 가지며, 가중치 행렬 W0는 2m x l 크기를 가질 수 있다.
부분 행렬 (330)에 포함된 j번째 열(340)은 제1 모델에서 입력 레이어(310) 내의 j번째 노드로부터 제1 히든 레이어(320) 내의 노드들로 연결되는 가중치들을 나타낼 수 있다. 부분 행렬 (330)에 포함된 k번째 행(350)은 제1 모델에서 입력 레이어(310) 내의 노드들로부터 제1 히든 레이어(320) 내의 k번째 노드로 연결되는 가중치들을 나타낼 수 있다. 따라서, 부분 행렬 (330)에 포함된 행렬 엘리먼트 wkj는 제1 모델에서 입력 레이어(310) 내의 j번째 노드로부터 제1 히든 레이어(320) 내의 k번째 노드로 연결되는 가중치를 나타낼 수 있다.
다시 도 2를 참조하여 제1 히든 레이어에서 특징 벡터 h1가 결정되는 과정을 설명한다.
입력 데이터가 제1 모델과 제2 모델에 동일하게 입력되므로, 특징 벡터 h1는 가중치 행렬 W0 및 입력 벡터 x의 곱에 활성 함수(activation function) f를 적용함으로써 계산될 수 있다. 특징 벡터 h1은 2m x 1 크기를 가지고, 제1 모델에 대응하는 부분 특징 벡터 및 제2 모델에 대응하는 부분 특징 벡터 를 포함할 수 있다. 특징 벡터 h1 중 1번째 행에서 m번째 행까지는 부분 특징 벡터 를 나타내고, 특징 벡터 h1 중 m+1번째 행부터 2m번째 행까지는 부분 특징 벡터 를 나타낼 수 있다.
여기서, 부분 특징 벡터 는 제1 모델 내의 입력 레이어에 입력 벡터 x가 입력됨에 따라 제1 히든 레이어에서 결정되는 특징 벡터를 나타낼 수 있다. 또한, 부분 특징 벡터 는 제2 모델 내의 입력 레이어에 입력 벡터 x가 입력됨에 따라 제1 히든 레이어에서 결정되는 특징 벡터를 나타낼 수 있다.
특징 벡터 h1은 제2 히든 레이어에서 특징 벡터 h2를 결정하는 데 이용될 수 있다. 이 때, 특징 벡터 h1은 m x 2 크기의 행렬로 변형되어, 특징 벡터 h2를 결정하는 데 이용될 수 있다. 특징 벡터 h2를 결정하는 데 이용되는 행렬은 특징 벡터 h1에 포함된 부분 특징 벡터 를 1번째 열로 포함하고, 부분 특징 벡터 를 2번째 열로 포함할 수 있다.
특징 벡터 h2를 결정하는 과정에 대해서는 도 4를 참조하여 상세히 설명한다.
도 4를 참조하면, 일실시예에 따라 제2 히든 레이어에서 앙상블 모델에 대응하는 특징 벡터 h2가 결정되는 과정을 설명하기 위한 예시가 도시된다.
가중치 행렬 W1은 앙상블 모델 내의 제1 히든 레이어 및 제2 히든 레이어 간의 연결 가중치들을 나타낼 수 있다. 가중치 행렬 W1은 제1 모델 내의 제1 히든 레이어 및 제2 히든 레이어 간의 연결 가중치들을 나타내는 부분 행렬 및 제2 모델 내의 제1 히든 레이어 및 제2 히든 레이어 간의 연결 가중치들을 나타내는 부분 행렬 을 포함할 수 있다.
제1 히든 레이어가 m개 노드들을 포함하고, 제2 히든 레이어가 n개 노드들을 포함하는 경우, 제1 모델과 제2 모델이 동일한 구조를 가지므로 부분 행렬 및 부분 행렬 은 각각 n x m 크기를 가지며, 가중치 행렬 W1은 2n x m 크기를 가질 수 있다.
제2 히든 레이어에서 특징 벡터 h2는 가중치 행렬 W1 및 특징 벡터 h1을 이용하여 결정될 수 있다. 이 때, 특징 벡터 h1은 도 2에서 설명한 것처럼 m x 2 크기의 행렬로 변환되어 가중치 행렬 W1에 곱해질 수 있다. 곱셈 결과에 활성 함수 f가 적용됨으로써, 연산 결과(400)가 결정될 수 있다.
연산 결과(400)는 2n x 2 크기의 행렬로서, 연산 결과(400)의 일부에 기초하여 특징 벡터 h2가 결정될 수 있다. 연산 결과(400)의 1번째 열 중 1번째 행에서 n번째 행까지는 제1 모델에 대응하는 부분 특징 벡터 를 나타내고, 2번째 열 중 n+1번째 행에서 2n번째 행까지는 제2 모델에 대응하는 부분 특징 벡터 를 나타낼 수 있다. 따라서, 연산 결과(400) 중 부분 특징 벡터 및 부분 특징 벡터 만을 추출하여 특징 벡터 h2를 결정할 수 있다. 이 때, 연산 결과(400)에서 다른 부분(410)은 배제된다.
여기서, 부분 특징 벡터 는 제1 모델 내의 제2 히든 레이어에서 결정되는 특징 벡터를 나타낼 수 있다. 또한, 부분 특징 벡터 는 제2 모델 내의 제2 히든 레이어에서 결정되는 특징 벡터를 나타낼 수 있다.
특징 벡터 h2는 제3 히든 레이어에서 특징 벡터 h3을 결정하는 데 이용될 수 있다. 이 때, 특징 벡터 h2는 n x 2 크기의 행렬로 변형되어, 특징 벡터 h3를 결정하는 데 이용될 수 있다. 특징 벡터 h3를 결정하는 데 이용되는 행렬은 특징 벡터 h2에 포함된 부분 특징 벡터 를 1번째 열로 포함하고, 부분 특징 벡터 를 2번째 열로 포함할 수 있다.
도 5를 참조하면, 일실시예에 따라 히든 레이어에서 앙상블 모델에 대응하는 특징 벡터 hi가 결정되는 과정을 설명하기 위한 예시가 도시된다.
도 5에서는 앞서 설명한 과정들이 일반화된 형태로 표현될 수 있다. 제i-1 히든 레이어가 m개의 노드들을 포함하고, 제i 히든 레이어가 n개의 노드들을 포함하는 경우에 제i 히든 레이어에서 특징 벡터 hi가 결정되는 과정을 설명한다.
가중치 행렬 Wi -1과 제i-1 히든 레이어에서 결정된 특징 벡터 hi-1의 변형을 곱셈한 결과에 활성 함수 f가 적용됨으로써 연산 결과(500)가 결정될 수 있다. 특징 벡터 hi는 연산 결과(500)의 일부에 기초하여 결정될 수 있다. 그리고, 특징 벡터 hi는 n x 2 크기의 행렬로 변형되어 제i+1 히든 레이어에서 특징 벡터 hi+1을 결정하는 데 이용될 수 있다.
도 6 및 도 7은 다른 일실시예에 따라 앙상블 모델에 대응하는 특징 벡터를 결정하는 과정을 설명하기 위한 도면이다.
도 6을 참조하면, 다른 일실시예에 따라 앙상블 모델에 포함된 제1 모델 및 제2 모델이 리커런트 뉴럴 네트워크인 경우에 앙상블 모델에 대응하는 특징 벡터 hi,t이 결정되는 과정을 설명하기 위한 예시가 도시된다.
리커런트 뉴럴 네트워크는 그 내부에 루프를 가지는 뉴럴 네트워크로서, 뉴럴 네트워크 내의 레이어의 출력이 해당 레이어로 다시 입력되는 구조를 가질 수 있다. 예를 들어, 리커런트 뉴럴 네트워크 내의 노드에서 출력된 이전 시점의 출력이 순환되어 해당 노드로 다시 입력될 수 있다. 따라서, 앙상블 모델을 구성하는 제1 모델 및 제2 모델이 리커런트 뉴럴 네트워크인 경우에는 이전 레이어에서 출력된 특징 벡터뿐만 아니라 이전 시점에서 출력된 특징 벡터를 더 고려하여 특징 벡터를 결정하여야 한다.
앞선 설명에서와 달리, 도 6에 도시된 활성 함수 f 내에는 2개의 항들이 포함되어 있다. 첫 번째 항은 이전 레이어(다시 말해, 제i-1 히든 레이어)로부터 출력된 특징 벡터를 고려하는 항으로, 도 5에서 설명한 내용이 그대로 적용될 수 있다. 첫 번째 항은 이전 레이어 및 현재 레이어(다시 말해, 제i 히든 레이어) 간의 연결 가중치들을 나타내는 가중치 행렬 Wi -1 및 이전 레이어에서 출력된 특징 벡터 hi-1,t의 변형을 곱셈한 결과 중 일부에 기초하여 결정될 수 있다.
두 번째 항은 이전 시점에서 현재 레이어로부터 출력된 특징 벡터를 고려하는 항으로서, 두 번째 항에 대해서는 도 7을 참조하여 상세히 설명한다.
도 7을 참조하면, 다른 일실시예에 따라 리커런트 뉴럴 네트워크의 경우에 이전 시점에서 현재 레이어로부터 출력된 특징 벡터 hi,t - 1를 고려하는 과정을 설명하기 위한 예시가 도시된다.
이전 시점의 현재 레이어 및 현재 시점의 현재 레이어 간의 연결 가중치들이 가중치 행렬 Whi로 표현될 수 있다. 가중치 행렬 Whi는 2n x 1 크기의 행렬로서, 제1 모델에 대응하는 부분 행렬 및 제2 모델에 대응하는 부분 행렬 을 포함할 수 있다. 가중치 행렬 Whi에서 1번째 행에서 n번째 행까지는 부분 행렬 을 나타내고, n+1번째 행에서 2n번째 행까지는 부분 행렬 을 나타낼 수 있다.
부분 행렬 에 포함된 행렬 엘리먼트 wkk는 제1 모델에서 제i 번째 레이어 내의 k번째 노드의 순환 가중치를 나타낼 수 있다. 마찬가지로, 부분 행렬 에 포함된 행렬 엘리먼트 wkk는 제2 모델에서 제i 번째 레이어 내의 k번째 노드의 순환 가중치를 나타낼 수 있다.
이전 시점에서 현재 레이어로부터 출력된 특징 벡터 hi,t - 1는 제1 모델에 대응하는 부분 특징 벡터 및 제2 모델에 대응하는 부분 특징 벡터 를 포함할 수 있다. 여기서, 부분 특징 벡터 은 제1 모델 내의 제i 히든 레이어로부터 이전 시점에 출력된 특징 벡터를 나타내고, 부분 특징 벡터 은 제2 모델 내의 제i 히든 레이어로부터 이전 시점에 출력된 특징 벡터를 나타낼 수 있다.
특징 벡터 hi,t - 1는 트랜스포즈(transpose)되어 가중치 행렬 Whi과 곱셈될 수 있다. 곱셈 결과로 2n x 2n 크기의 행렬이 결정되고, 그 중 주대각선 엘리먼트(principal diagonal element)(710)를 diag()에 기초하여 추출함으로써, 도 6의 두 번째 항이 결정될 수 있다. 다시 말해, 곱셈 결과 중 일부가 추출됨으로써, 두 번째 항이 결정될 수 있다.
계산된 두 번째 항은 2n x 1 크기를 가지고, 1번째 행에서 n번째 행까지는 제1 모델 내의 제i 히든 레이어로부터 이전 시점에 출력된 특징 벡터에 순환 가중치가 적용된 결과를 나타내고, n+1번째 행에서 2n번째 행까지는 제2 모델 내의 제i 히든 레이어로부터 이전 시점에 출력된 특징 벡터에 순환 가중치가 적용된 결과를 나타낼 수 있다.
다시 도 6을 참조하여, 제i 히든 레이어에서 특징 벡터 hi,t가 결정되는 과정을 설명한다.
도 6에 도시된 첫 번째 항과 두 번째 항을 덧셈한 결과에 활성 함수를 적용함으로써, 제i 히든 레이어에서 특징 벡터 hi,t가 결정될 수 있다.
특징 벡터 hi,t는 2n x 1 크기를 가지고, 1번째 행에서 n번째 행까지는 제1 모델 내의 제i 히든 레이어에서 결정된 부분 특징 벡터 를 나타내고, n+1번째 행에서 2n번째 행까지는 제2 모델 내의 제i 히든 레이어에서 결정된 부분 특징 벡터 를 나타낼 수 있다.
특징 벡터 hi,t는 n x 2 크기의 행렬로 변환되어, 다음 레이어(예컨대, 제i+1 히든 레이어)에서의 특징 벡터를 결정하는 데 이용될 수 있다.
도 8은 일실시예에 따라 출력 레이어에서 레이블 값을 결정하는 과정을 설명하기 위한 도면이다.
도 8을 참조하면, 일실시예에 따라 출력 레이어에서 레이블 값이 결정되는 과정을 설명하기 위한 예시가 도시된다.
일실시예에 따른 출력 레이어가 p개의 노드들을 포함하는 경우, 출력 레이어에서 결정되는 특징 벡터 ho(800)에 기초하여 총 p개의 레이블 값이 결정될 수 있다.
일실시예에 따른 특징 벡터 ho(800)는 앞서 설명한 동작을 통해 결정될 수 있으며, 2p x 1 크기를 가질 수 있다. 특징 벡터 ho(800)는 제1 모델에 대응하는 부분 특징 벡터 및 제2 모델에 대응하는 부분 특징 벡터 를 포함할 수 있다.
이 때, 앙상블 모델의 k번째 레이블 값은 부분 특징 벡터 에 포함된 k번째 엘리먼트 및 부분 특징 벡터 에 포함된 k번째 엘리먼트 에 기초하여 결정될 수 있다. 예를 들어, k번째 엘리먼트 및 k번째 엘리먼트 각각에 소프트맥스(softmax)가 적용되고, 적용된 결과들의 평균 값, 최대 값 및 최소 값 등에 기초하여 k번째 레이블 값이 결정될 수 있다. 다시 말해, k번째 레이블 값은 제1 모델 내의 출력 레이어에서 k번째 노드의 출력 값 및 제2 모델 내의 출력 레이어에서 k번째 노드의 출력 값에 기초하여 결정될 수 있다.
도 9는 일실시예에 따른 인식 방법을 나타낸 도면이다.
도 9를 참조하면, 일실시예에 따라 인식 장치에 포함된 프로세서에 의해 수행되는 인식 방법이 도시된다.
단계(910)에서, 인식 장치는 제1 모델 및 제1 모델과 동일한 구조를 가지는 제2 모델을 포함하는 앙상블 모델에 기반하여, 입력 데이터로부터 앙상블 모델에 대응하는 특징 벡터를 결정한다.
일실시예에 따른 인식 장치는 앙상블 모델 내의 제1 레이어 및 제2 레이어 간의 제1 연결 가중치들 및 입력 데이터에 기초하여 제1 레이어로부터 출력된 제1 특징 벡터를 이용하여, 제2 레이어에서 출력되는 특징 벡터를 결정할 수 있다. 여기서, 제1 레이어는 제2 레이어의 이전 레이어를 나타낼 수 있다. 인식 장치는 제1 연결 가중치들 및 제1 특징 벡터를 이용한 제1 연산 결과 중 일부에 기초하여 특징 벡터를 결정할 수 있다. 제1 연산 결과 중 일부는 (a) 제1 연결 가중치들 중 제1 모델에 대응하는 제1 부분 가중치들 및 제1 특징 벡터 중 제1 모델에 대응하는 제1 부분 벡터를 이용하여 연산된 결과 및 (b) 제1 연결 가중치들 중 제2 모델에 대응하는 제2 부분 가중치들 및 제1 특징 벡터 중 제2 모델에 대응하는 제2 부분 벡터를 이용하여 연산된 결과를 포함할 수 있다.
일실시예에 따른 인식 장치는 이전 시점의 제2 레이어 및 현재 시점의 제2 레이어 간의 제2 연결 가중치들 및 이전 시점에서 제2 레이어로부터 출력된 제2 특징 벡터를 더 이용하여, 제2 레이어에서 출력되는 특징 벡터를 결정할 수 있다. 인식 장치는 제2 연결 가중치들 및 제2 특징 벡터를 이용한 제2 연산 결과 중 일부를 더 이용하여 특징 벡터를 결정할 수 있다. 제2 연산 결과 중 일부는 (a) 제2 연결 가중치들 중 제1 모델에 대응하는 제3 부분 가중치들 및 제2 특징 벡터 중 제1 모델에 대응하는 제3 부분 벡터를 이용하여 연산된 결과 및 (b) 제2 연결 가중치들 중 제2 모델에 대응하는 제4 부분 가중치들 및 제2 특징 벡터 중 제2 모델에 대응하는 제4 부분 벡터를 이용하여 연산된 결과를 포함할 수 있다. 제2 연산 결과 중 일부는 제2 연산 결과로 결정된 행렬의 주대각선 엘리먼트를 포함할 수 있다.
단계(920)에서, 인식 장치는 특징 벡터에 기초하여 상기 입력 데이터를 인식한다. 인식 장치는 특징 벡터 중 제1 모델에 대응하는 n번째 엘리먼트 및 특징 벡터 중 제2 모델에 대응하는 n번째 엘리먼트를 이용하여, 입력 데이터를 인식할 수 있다.
여기서, 앙상블 모델은 동일한 장치에 할당될 수 있다. 앙상블 모델은 제1 모델 및 제2 모델을 병렬로 포함할 수 있다. 제1 모델 및 제2 모델은 각 모델에 포함된 레이어 개수, 노드 개수 및 레이어들 간의 연결 관계가 동일할 수 있다.
일실시예에 따라 앙상블 모델을 구성하는 제1 모델 및 제2 모델은 일반적인 방법으로 미리 학습된 모델로서, 내부 구조만 동일할 뿐 랜덤 초기화(random initialization)로 인하여 내부 파라미터(예컨대, 연결 가중치들)가 서로 다를 수 있다. 또는, 제1 모델 및 제2 모델은 앞서 설명한 방법을 통해 앙상블 모델로 구성된 상태로 학습이 수행될 수도 있다.
또한, 앙상블 모델을 구성하는 제1 모델 및 제2 모델이 리커런트 뉴럴 네트워크인 경우를 기준으로 설명하였으나, 앞선 설명들은 리커런트 뉴럴 네트워크의 변형인 LSTM, GRU, Bidirectional RNN에도 적용될 수 있다. 이 경우, 앞선 설명들은 LSTM, GRU, Bidirectional RNN 특성에 맞게 변형되어 적용될 수 있다.
도 9에 도시된 각 단계들에는 도 1 내지 도 8을 통하여 전술한 사항들이 그대로 적용되므로, 보다 상세한 설명은 생략한다.
도 10은 일실시예에 따른 인식 장치를 나타낸 도면이다.
도 10을 참조하면, 일실시예에 따른 인식 장치(1000)는 메모리(1010) 및 프로세서(1020)를 포함한다. 메모리(1010) 및 프로세서(1020)는 버스(bus)(1030)를 통하여 서로 통신할 수 있다.
메모리(1010)는 앞서 설명한 제1 모델 및 제2 모델을 포함하는 앙상블 모델의 파라미터들 및/또는 클러스터 정보 등을 저장할 수 있다. 또한, 메모리(1010)는 컴퓨터에서 읽을 수 있는 명령어를 포함할 수 있다. 프로세서(1020)는 메모리(1010)에 저장된 명령어가 프로세서(1020)에서 실행됨에 따라 앞서 언급된 동작들을 수행할 수 있다. 메모리(1010)는 휘발성 메모리 또는 비휘발성 메모리일 수 있다.
프로세서(1020)는 명령어들, 혹은 프로그램들을 실행하거나, 인식 장치(1000)를 제어하는 장치로서, 예를 들어, CPU(Central Processing Unit) 및 GPU(Graphic Processing Unit)을 포함할 수 있다. 인식 장치(1000)는 입출력 장치(도면 미 표시)를 통하여 외부 장치(예를 들어, 퍼스널 컴퓨터 또는 네트워크)에 연결되고, 데이터를 교환할 수 있다. 예를 들어, 인식 장치(1000)는 카메라를 통해 입력 영상을 수신하거나 마이크로폰을 통해 음성 신호를 수신할 수 있다. 인식 장치(1000)는 이동 전화, 스마트 폰, PDA, 태블릿 컴퓨터, 랩톱 컴퓨터 등 모바일 장치, 퍼스널 컴퓨터, 태블릿 컴퓨터, 넷북 등 컴퓨팅 장치, 또는 스마트 텔레비전, 게이트 제어를 위한 보안 장치 등 전자 제품 등의 적어도 일부로 구현될 수 있다. 그 밖에, 인식 장치에 관해서는 상술된 동작을 처리할 수 있다.
프로세서(1020)는 제1 모델 및 상기 제1 모델과 동일한 구조를 가지는 제2 모델을 포함하는 앙상블 모델에 기반하여, 입력 데이터로부터 상기 앙상블 모델에 대응하는 특징 벡터를 결정한다. 그리고, 프로세서(1020)는 특징 벡터에 기초하여 상기 입력 데이터를 인식한다.
도 10에 도시된 각 구성요소들에는 도 1 내지 도 9를 통하여 전술한 사항들이 그대로 적용되므로, 보다 상세한 설명은 생략한다.
실시예들은 동일한 구조를 가지는 제1 모델 및 제2 모델로 앙상블 모델을 구성함으로써, 한 번의 연산만으로도 제1 모델 및 제2 모델의 특징 벡터를 동시에 결정할 수 있고, 인식 장치의 활용도를 최대화할 수 있다.
실시예들은 제1 모델 및 제2 모델을 병렬로 구성함으로써, 모델 개수만큼의 장치가 요구되지 않고, 서로 다른 장치에서 출력된 결과들 간의 동기화가 불필요하며, 두 개 이상의 모델이 하나의 장치에 순차적으로 할당됨에 따라 발생되는 모델 별 문맥 전환이 불필요하다.
실시예들은 동일한 구조를 가지는 복수의 모델들을 병렬로 조합하여 앙상블 모델을 구현함으로써, 특징 벡터를 결정하는 데 앙상블 모델에 포함된 개별 모델의 개수의 제곱만큼의 추가적인 연산이 발생하여 인식 장치의 활용도를 극대화할 수 있다.
이상에서 설명된 실시예들은 하드웨어 구성요소, 소프트웨어 구성요소, 및/또는 하드웨어 구성요소 및 소프트웨어 구성요소의 조합으로 구현될 수 있다. 예를 들어, 실시예들에서 설명된 장치, 방법 및 구성요소는, 예를 들어, 프로세서, 콘트롤러, 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 모델 및 상기 제1 모델과 동일한 구조를 가지는 제2 모델을 포함하는 앙상블 모델에 기반하여, 입력 데이터로부터 상기 앙상블 모델에 대응하는 특징 벡터를 결정하는 단계; 및
상기 특징 벡터에 기초하여 상기 입력 데이터를 인식하는 단계
를 포함하는 인식 방법. - 제1항에 있어서,
상기 특징 벡터를 결정하는 단계는,
상기 앙상블 모델 내의 제1 레이어 및 제2 레이어 간의 제1 연결 가중치들 및 상기 입력 데이터에 기초하여 상기 제1 레이어로부터 출력된 제1 특징 벡터를 이용하여, 상기 제2 레이어에서 출력되는 특징 벡터를 결정하는, 인식 방법. - 제2항에 있어서,
상기 특징 벡터를 결정하는 단계는,
상기 제1 연결 가중치들 및 상기 제1 특징 벡터를 이용한 제1 연산 결과 중 일부에 기초하여 상기 특징 벡터를 결정하는, 인식 방법. - 제3항에 있어서,
상기 제1 연산 결과 중 일부는,
상기 제1 연결 가중치들 중 상기 제1 모델에 대응하는 제1 부분 가중치들 및 상기 제1 특징 벡터 중 상기 제1 모델에 대응하는 제1 부분 벡터를 이용하여 연산된 결과; 및
상기 제1 연결 가중치들 중 상기 제2 모델에 대응하는 제2 부분 가중치들 및 상기 제1 특징 벡터 중 상기 제2 모델에 대응하는 제2 부분 벡터를 이용하여 연산된 결과
를 포함하는, 인식 방법. - 제2항에 있어서,
상기 특징 벡터를 결정하는 단계는,
이전 시점의 상기 제2 레이어 및 현재 시점의 상기 제2 레이어 간의 제2 연결 가중치들 및 상기 이전 시점에서 상기 제2 레이어로부터 출력된 제2 특징 벡터를 더 이용하여, 상기 제2 레이어에서 출력되는 특징 벡터를 결정하는, 인식 방법. - 제5항에 있어서,
상기 특징 벡터를 결정하는 단계는,
상기 제2 연결 가중치들 및 상기 제2 특징 벡터를 이용한 제2 연산 결과 중 일부를 더 이용하여 상기 특징 벡터를 결정하는, 인식 방법. - 제6항에 있어서,
상기 제2 연산 결과 중 일부는,
상기 제2 연결 가중치들 중 상기 제1 모델에 대응하는 제3 부분 가중치들 및 상기 제2 특징 벡터 중 상기 제1 모델에 대응하는 제3 부분 벡터를 이용하여 연산된 결과; 및
상기 제2 연결 가중치들 중 상기 제2 모델에 대응하는 제4 부분 가중치들 및 상기 제2 특징 벡터 중 상기 제2 모델에 대응하는 제4 부분 벡터를 이용하여 연산된 결과
를 포함하는, 인식 방법. - 제6항에 있어서,
상기 제2 연산 결과 중 일부는,
상기 제2 연산 결과로 결정된 행렬의 주대각선 엘리먼트(principal diagonal element)를 포함하는, 인식 방법. - 제1항에 있어서,
상기 앙상블 모델은, 동일한 장치에 할당되는, 인식 방법. - 제1항에 있어서,
상기 앙상블 모델은, 상기 제1 모델 및 상기 제2 모델을 병렬로 포함하는, 인식 방법. - 제1항에 있어서,
상기 제1 모델 및 상기 제2 모델은, 각 모델에 포함된 레이어 개수, 노드 개수 및 레이어들 간의 연결 관계가 동일한, 인식 방법. - 제1항에 있어서,
상기 입력 데이터를 인식하는 단계는,
상기 특징 벡터 중 상기 제1 모델에 대응하는 n번째 엘리먼트 및 상기 특징 벡터 중 상기 제2 모델에 대응하는 n번째 엘리먼트를 이용하여, 상기 입력 데이터를 인식하는, 인식 방법. - 제1항에 있어서,
상기 특징 벡터는,
상기 제1 모델에 대응하는 제1 부분 특징 벡터 및 상기 제2 모델에 대응하는 제2 부분 특징 벡터를 포함하는, 인식 방법. - 하드웨어와 결합되어 제1항 내지 제13항 중 어느 하나의 항의 방법을 실행시키기 위하여 매체에 저장된 컴퓨터 프로그램.
- 프로세서; 및
상기 프로세서에 의해 실행 가능한 적어도 하나의 명령어를 포함하는 메모리
를 포함하고,
상기 적어도 하나의 명령어가 상기 프로세서에서 실행되면, 상기 프로세서는 제1 모델 및 상기 제1 모델과 동일한 구조를 가지는 제2 모델을 포함하는 앙상블 모델에 기반하여, 입력 데이터로부터 상기 앙상블 모델에 대응하는 특징 벡터를 결정하고, 상기 특징 벡터에 기초하여 상기 입력 데이터를 인식하는, 인식 장치. - 제15항에 있어서,
상기 특징 벡터를 결정하는 단계는,
상기 앙상블 모델 내의 제1 레이어 및 제2 레이어 간의 제1 연결 가중치들 및 상기 입력 데이터에 기초하여 상기 제1 레이어로부터 출력된 제1 특징 벡터를 이용하여, 상기 제2 레이어에서 출력되는 특징 벡터를 결정하는, 인식 장치. - 제16항에 있어서,
상기 특징 벡터를 결정하는 단계는,
상기 제1 연결 가중치들 및 상기 제1 특징 벡터를 이용한 제1 연산 결과 중 일부에 기초하여 상기 특징 벡터를 결정하는, 인식 장치. - 제16항에 있어서,
상기 특징 벡터를 결정하는 단계는,
이전 시점의 상기 제2 레이어 및 현재 시점의 상기 제2 레이어 간의 제2 연결 가중치들 및 상기 이전 시점에서 상기 제2 레이어로부터 출력된 제2 특징 벡터를 더 이용하여, 상기 제2 레이어에서 출력되는 특징 벡터를 결정하는, 인식 장치. - 제18항에 있어서,
상기 특징 벡터를 결정하는 단계는,
상기 제2 연결 가중치들 및 상기 제2 특징 벡터를 이용한 제2 연산 결과 중 일부를 더 이용하여 상기 특징 벡터를 결정하는, 인식 장치. - 제19항에 있어서,
상기 제2 연산 결과 중 일부는,
상기 제2 연산 결과로 결정된 행렬의 주대각선 엘리먼트(principal diagonal element)를 포함하는, 인식 장치.
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020160172391A KR20180070103A (ko) | 2016-12-16 | 2016-12-16 | 인식 방법 및 인식 장치 |
US15/585,377 US11017294B2 (en) | 2016-12-16 | 2017-05-03 | Recognition method and apparatus |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020160172391A KR20180070103A (ko) | 2016-12-16 | 2016-12-16 | 인식 방법 및 인식 장치 |
Publications (1)
Publication Number | Publication Date |
---|---|
KR20180070103A true KR20180070103A (ko) | 2018-06-26 |
Family
ID=62561797
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1020160172391A KR20180070103A (ko) | 2016-12-16 | 2016-12-16 | 인식 방법 및 인식 장치 |
Country Status (2)
Country | Link |
---|---|
US (1) | US11017294B2 (ko) |
KR (1) | KR20180070103A (ko) |
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR20200131142A (ko) * | 2019-05-13 | 2020-11-23 | 숭실대학교산학협력단 | 승부 예측 방법 및 장치 |
WO2021080151A1 (ko) * | 2019-10-24 | 2021-04-29 | 네이버 주식회사 | 사용자 선호에 따른 강화학습 기반 자율주행 최적화 방법 및 시스템 |
KR20210048969A (ko) * | 2019-10-24 | 2021-05-04 | 네이버 주식회사 | 사용자 선호에 따른 강화학습 기반 자율주행 최적화 방법 및 시스템 |
US11449720B2 (en) | 2019-05-10 | 2022-09-20 | Electronics And Telecommunications Research Institute | Image recognition device, operating method of image recognition device, and computing device including image recognition device |
KR20230055021A (ko) * | 2021-10-18 | 2023-04-25 | 한양대학교 산학협력단 | Nested 와 Overlapped Named Entity 인식을 위한 피라미드 Layered 어텐션 모델 |
Families Citing this family (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR20180070103A (ko) * | 2016-12-16 | 2018-06-26 | 삼성전자주식회사 | 인식 방법 및 인식 장치 |
US11915152B2 (en) * | 2017-03-24 | 2024-02-27 | D5Ai Llc | Learning coach for machine learning system |
US10958422B2 (en) * | 2017-06-01 | 2021-03-23 | Cotiviti, Inc. | Methods for disseminating reasoning supporting insights without disclosing uniquely identifiable data, and systems for the same |
US10167800B1 (en) * | 2017-08-18 | 2019-01-01 | Microsoft Technology Licensing, Llc | Hardware node having a matrix vector unit with block-floating point processing |
US11321612B2 (en) * | 2018-01-30 | 2022-05-03 | D5Ai Llc | Self-organizing partially ordered networks and soft-tying learned parameters, such as connection weights |
EP3598377A1 (en) * | 2018-07-20 | 2020-01-22 | KBC Groep NV | Improved claim handling |
WO2020019301A1 (en) | 2018-07-27 | 2020-01-30 | Yangtze Memory Technologies Co., Ltd. | Multiple-stack three-dimensional memory device and fabrication method thereof |
CN109344992B (zh) * | 2018-08-21 | 2021-10-19 | 广东工业大学 | 一种融合时空因素的智能家居用户操控行为习惯建模方法 |
US10832003B2 (en) * | 2018-08-26 | 2020-11-10 | CloudMinds Technology, Inc. | Method and system for intent classification |
KR20210156554A (ko) * | 2020-06-18 | 2021-12-27 | 삼성전자주식회사 | 텐서 처리 방법, 가속기 및 이를 포함한 전자 장치 |
US11763585B2 (en) | 2021-07-14 | 2023-09-19 | Bank Of America Corporation | Multi-layer neural network and convolutional neural network for context sensitive optical character recognition |
Family Cites Families (33)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
IES20020063A2 (en) * | 2001-01-31 | 2002-08-07 | Predictions Dynamics Ltd | Neutral network training |
KR100640264B1 (ko) | 2002-03-02 | 2007-02-28 | 김용대 | 앙상블 모형을 이용한 데이터 마이닝 모형 구축 장치 및그 방법 |
JP5405741B2 (ja) * | 2004-07-26 | 2014-02-05 | オートモーティブ システムズ ラボラトリー インコーポレーテッド | 道路使用弱者保護システム |
US7613665B2 (en) * | 2005-06-24 | 2009-11-03 | Halliburton Energy Services, Inc. | Ensembles of neural networks with different input sets |
KR100908121B1 (ko) * | 2006-12-15 | 2009-07-16 | 삼성전자주식회사 | 음성 특징 벡터 변환 방법 및 장치 |
KR101415534B1 (ko) * | 2007-02-23 | 2014-07-07 | 삼성전자주식회사 | 다단계 음성인식장치 및 방법 |
WO2011002473A1 (en) | 2009-07-01 | 2011-01-06 | Halliburton Energy Services | Estimating mineral content using geochemical data |
US9211078B2 (en) | 2010-09-03 | 2015-12-15 | Faculdades Católicas, a nonprofit association, maintainer of the Pontificia Universidade Católica of Rio de Janeiro | Process and device for brain computer interface |
CN104024572A (zh) * | 2011-11-02 | 2014-09-03 | 兰德马克绘图国际公司 | 用于预测钻柱卡钻事件的方法和系统 |
KR20130063565A (ko) | 2011-12-07 | 2013-06-17 | 조윤진 | 언라벨데이터를 이용한 앙상블 형태의 데이터마이닝 모형 구축장치 및 그 방법 |
US9111228B2 (en) * | 2012-10-29 | 2015-08-18 | Sas Institute Inc. | System and method for combining segmentation data |
US9053436B2 (en) * | 2013-03-13 | 2015-06-09 | Dstillery, Inc. | Methods and system for providing simultaneous multi-task ensemble learning |
WO2014144306A1 (en) * | 2013-03-15 | 2014-09-18 | Arizona Board Of Regents On Behalf Of Arizona State University | Ensemble sparse models for image analysis and restoration |
GB2516493A (en) | 2013-07-25 | 2015-01-28 | Ibm | Parallel tree based prediction |
US9639642B2 (en) * | 2013-10-09 | 2017-05-02 | Fujitsu Limited | Time series forecasting ensemble |
US10235518B2 (en) * | 2014-02-07 | 2019-03-19 | Cylance Inc. | Application execution control utilizing ensemble machine learning for discernment |
US10366342B2 (en) | 2014-03-10 | 2019-07-30 | Fair Isaac Corporation | Generation of a boosted ensemble of segmented scorecard models |
WO2016025396A1 (en) | 2014-08-11 | 2016-02-18 | Coldlight Solutions, Llc | An automated methodology for inductive bias selection and adaptive ensemble choice to optimize predictive power |
RU2666631C2 (ru) | 2014-09-12 | 2018-09-11 | МАЙКРОСОФТ ТЕКНОЛОДЖИ ЛАЙСЕНСИНГ, ЭлЭлСи | Обучение dnn-студента посредством распределения вывода |
US10504023B1 (en) * | 2015-06-05 | 2019-12-10 | Google Llc | Training recurrent neural networks to generate sequences |
KR102449614B1 (ko) * | 2015-11-06 | 2022-09-29 | 삼성전자주식회사 | 자동 번역의 품질 평가 장치 및 방법, 자동 번역 장치, 분산 표현 모델 구축 장치 |
KR102522924B1 (ko) * | 2016-03-18 | 2023-04-19 | 한국전자통신연구원 | 음성인식을 위한 초벌학습 장치 및 방법 |
KR102589637B1 (ko) * | 2016-08-16 | 2023-10-16 | 삼성전자주식회사 | 기계 번역 방법 및 장치 |
US10706351B2 (en) * | 2016-08-30 | 2020-07-07 | American Software Safety Reliability Company | Recurrent encoder and decoder |
US20180129937A1 (en) * | 2016-11-04 | 2018-05-10 | Salesforce.Com, Inc. | Quasi-recurrent neural network |
KR20180070103A (ko) * | 2016-12-16 | 2018-06-26 | 삼성전자주식회사 | 인식 방법 및 인식 장치 |
US11164082B2 (en) * | 2017-02-28 | 2021-11-02 | Anixa Diagnostics Corporation | Methods for using artificial neural network analysis on flow cytometry data for cancer diagnosis |
KR101916348B1 (ko) * | 2017-08-04 | 2018-11-08 | 주식회사 수아랩 | 인공 신경망의 훈련 방법 |
KR102483643B1 (ko) * | 2017-08-14 | 2023-01-02 | 삼성전자주식회사 | 모델을 학습하는 방법 및 장치 및 상기 뉴럴 네트워크를 이용한 인식 방법 및 장치 |
KR102458244B1 (ko) * | 2017-11-23 | 2022-10-24 | 삼성전자주식회사 | 기계 번역 방법 및 장치 |
US11500099B2 (en) * | 2018-03-14 | 2022-11-15 | Uatc, Llc | Three-dimensional object detection |
KR102659892B1 (ko) * | 2018-07-24 | 2024-04-24 | 삼성전자주식회사 | 객체 인식 장치, 이를 포함하는 전자 장치 및 객체 인식 방법 |
KR102637340B1 (ko) * | 2018-08-31 | 2024-02-16 | 삼성전자주식회사 | 문장 매핑 방법 및 장치 |
-
2016
- 2016-12-16 KR KR1020160172391A patent/KR20180070103A/ko unknown
-
2017
- 2017-05-03 US US15/585,377 patent/US11017294B2/en active Active
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US11449720B2 (en) | 2019-05-10 | 2022-09-20 | Electronics And Telecommunications Research Institute | Image recognition device, operating method of image recognition device, and computing device including image recognition device |
KR20200131142A (ko) * | 2019-05-13 | 2020-11-23 | 숭실대학교산학협력단 | 승부 예측 방법 및 장치 |
WO2021080151A1 (ko) * | 2019-10-24 | 2021-04-29 | 네이버 주식회사 | 사용자 선호에 따른 강화학습 기반 자율주행 최적화 방법 및 시스템 |
KR20210048969A (ko) * | 2019-10-24 | 2021-05-04 | 네이버 주식회사 | 사용자 선호에 따른 강화학습 기반 자율주행 최적화 방법 및 시스템 |
KR20230055021A (ko) * | 2021-10-18 | 2023-04-25 | 한양대학교 산학협력단 | Nested 와 Overlapped Named Entity 인식을 위한 피라미드 Layered 어텐션 모델 |
Also Published As
Publication number | Publication date |
---|---|
US11017294B2 (en) | 2021-05-25 |
US20180174044A1 (en) | 2018-06-21 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
KR20180070103A (ko) | 인식 방법 및 인식 장치 | |
TWI759361B (zh) | 用於稀疏神經網路加速的架構、方法、電腦可讀取媒體和裝備 | |
KR102483639B1 (ko) | 뉴럴 네트워크 구조 확장 방법, 디멘션 리덕션 방법, 및 그 방법을 이용한 장치 | |
KR102410820B1 (ko) | 뉴럴 네트워크를 이용한 인식 방법 및 장치 및 상기 뉴럴 네트워크를 트레이닝하는 방법 및 장치 | |
KR102492318B1 (ko) | 모델 학습 방법 및 장치, 및 데이터 인식 방법 | |
KR102399548B1 (ko) | 뉴럴 네트워크를 위한 방법 및 그 방법을 수행하는 장치 | |
US20180018558A1 (en) | Method for neural network and apparatus performing same method | |
KR20190018276A (ko) | 모델을 학습하는 방법 및 장치 및 상기 뉴럴 네트워크를 이용한 인식 방법 및 장치 | |
KR20200045128A (ko) | 모델 학습 방법 및 장치, 및 데이터 인식 방법 | |
US20180129930A1 (en) | Learning method based on deep learning model having non-consecutive stochastic neuron and knowledge transfer, and system thereof | |
US11763153B2 (en) | Method and apparatus with neural network operation | |
KR20190098671A (ko) | 뉴럴 네트워크의 고속 처리 방법 및 그 방법을 이용한 장치 | |
Dai et al. | Alleviating the problem of local minima in Backpropagation through competitive learning | |
CN113469355A (zh) | 分布式系统中的多模型训练管道 | |
US11853869B2 (en) | Neural network apparatus and method of processing variable-resolution operation by the same | |
US20230123828A1 (en) | Neural processing unit capable of reusing data and method thereof | |
CN114925320B (zh) | 一种数据处理方法及相关装置 | |
JP7361192B2 (ja) | ハードウェア・アクセラレータとインターフェースするための方法 | |
US20220044107A1 (en) | Optimized sensor fusion in deep learning accelerator with integrated random access memory | |
US20210264247A1 (en) | Activation function computation for neural networks | |
US11868870B2 (en) | Neuromorphic method and apparatus with multi-bit neuromorphic operation | |
KR20210083624A (ko) | 신경망의 데이터 입력 및 출력을 제어하는 제어 방법 및 장치 | |
CN110909860A (zh) | 神经网络参数初始化的方法和装置 | |
US11704562B1 (en) | Architecture for virtual instructions | |
KR20210112834A (ko) | 뉴럴 네트워크 내 레이어에 관한 컨볼루션 연산의 처리 방법 및 장치 |