KR20180070103A - 인식 방법 및 인식 장치 - Google Patents

인식 방법 및 인식 장치 Download PDF

Info

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
Application number
KR1020160172391A
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 KR1020160172391A priority Critical patent/KR20180070103A/ko
Priority to US15/585,377 priority patent/US11017294B2/en
Publication of KR20180070103A publication Critical patent/KR20180070103A/ko

Links

Images

Classifications

    • G06N3/0454
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F18/00Pattern recognition
    • G06F18/20Analysing
    • 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/25Fusion techniques
    • G06F18/253Fusion techniques of extracted features
    • G06K9/481
    • 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/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/04Architecture, e.g. interconnection topology
    • G06N3/0463Neocognitrons
    • 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/46Descriptors for shape, contour or point-related descriptors, e.g. scale invariant feature transform [SIFT] or bags of words [BoW]; Salient regional features
    • G06V10/469Contour-based spatial representations, e.g. vector-coding
    • 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
    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10LSPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
    • G10L25/00Speech or voice analysis techniques not restricted to a single one of groups G10L15/00 - G10L21/00
    • G10L25/27Speech or voice analysis techniques not restricted to a single one of groups G10L15/00 - G10L21/00 characterised by the analysis technique
    • G10L25/30Speech 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

인식 방법 및 인식 장치{METHOD AND APPARATUS FOR RECOGNITION}
아래 실시예들은 인식 방법 및 인식 장치에 관한 것이다.
복잡하거나 해가 알려지지 않은 문제를 해결하기 위해, 인간이 지닌 인식 방법을 디바이스에 적용시키려는 연구가 진행되고 있다. 이러한 연구 중 하나로, 인간의 생물학적 신경 세포를 모델링한 뉴럴 네트워크(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은 일실시예에 따른 인식 장치를 나타낸 도면이다.
실시예들에 대한 특정한 구조적 또는 기능적 설명들은 단지 예시를 위한 목적으로 개시된 것으로서, 다양한 형태로 변경되어 실시될 수 있다. 따라서, 실시예들은 특정한 개시형태로 한정되는 것이 아니며, 본 명세서의 범위는 기술적 사상에 포함되는 변경, 균등물, 또는 대체물을 포함한다.
제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 모델에 대응하는 부분 행렬
Figure pat00001
및 제2 모델에 대응하는 부분 행렬
Figure pat00002
을 포함할 수 있다. 가중치 행렬 W0에 관해서는 도 3을 참조하여 상세히 설명한다.
도 3을 참조하면, 일실시예에 따른 가중치 행렬 W0가 도시된다.
입력 레이어(310)가 l개 노드들을 포함하고, 제1 히든 레이어(320)가 m개 노드들을 포함하는 경우, 제1 모델과 제2 모델이 동일한 구조를 가지므로 부분 행렬
Figure pat00003
(330) 및 부분 행렬
Figure pat00004
은 각각 m x l 크기를 가지며, 가중치 행렬 W0는 2m x l 크기를 가질 수 있다.
부분 행렬
Figure pat00005
(330)에 포함된 j번째 열(340)은 제1 모델에서 입력 레이어(310) 내의 j번째 노드로부터 제1 히든 레이어(320) 내의 노드들로 연결되는 가중치들을 나타낼 수 있다. 부분 행렬
Figure pat00006
(330)에 포함된 k번째 행(350)은 제1 모델에서 입력 레이어(310) 내의 노드들로부터 제1 히든 레이어(320) 내의 k번째 노드로 연결되는 가중치들을 나타낼 수 있다. 따라서, 부분 행렬
Figure pat00007
(330)에 포함된 행렬 엘리먼트 wkj는 제1 모델에서 입력 레이어(310) 내의 j번째 노드로부터 제1 히든 레이어(320) 내의 k번째 노드로 연결되는 가중치를 나타낼 수 있다.
부분 행렬
Figure pat00008
은 제2 모델에 대응하는 부분 행렬로서, 제1 모델에 대응하는 부분 행렬
Figure pat00009
(330)의 설명이 마찬가지로 적용될 수 있으므로, 보다 상세한 설명은 생략한다.
다시 도 2를 참조하여 제1 히든 레이어에서 특징 벡터 h1가 결정되는 과정을 설명한다.
입력 데이터가 제1 모델과 제2 모델에 동일하게 입력되므로, 특징 벡터 h1는 가중치 행렬 W0 및 입력 벡터 x의 곱에 활성 함수(activation function) f를 적용함으로써 계산될 수 있다. 특징 벡터 h1은 2m x 1 크기를 가지고, 제1 모델에 대응하는 부분 특징 벡터
Figure pat00010
및 제2 모델에 대응하는 부분 특징 벡터
Figure pat00011
를 포함할 수 있다. 특징 벡터 h1 중 1번째 행에서 m번째 행까지는 부분 특징 벡터
Figure pat00012
를 나타내고, 특징 벡터 h1 중 m+1번째 행부터 2m번째 행까지는 부분 특징 벡터
Figure pat00013
를 나타낼 수 있다.
여기서, 부분 특징 벡터
Figure pat00014
는 제1 모델 내의 입력 레이어에 입력 벡터 x가 입력됨에 따라 제1 히든 레이어에서 결정되는 특징 벡터를 나타낼 수 있다. 또한, 부분 특징 벡터
Figure pat00015
는 제2 모델 내의 입력 레이어에 입력 벡터 x가 입력됨에 따라 제1 히든 레이어에서 결정되는 특징 벡터를 나타낼 수 있다.
특징 벡터 h1은 제2 히든 레이어에서 특징 벡터 h2를 결정하는 데 이용될 수 있다. 이 때, 특징 벡터 h1은 m x 2 크기의 행렬로 변형되어, 특징 벡터 h2를 결정하는 데 이용될 수 있다. 특징 벡터 h2를 결정하는 데 이용되는 행렬은 특징 벡터 h1에 포함된 부분 특징 벡터
Figure pat00016
를 1번째 열로 포함하고, 부분 특징 벡터
Figure pat00017
를 2번째 열로 포함할 수 있다.
특징 벡터 h2를 결정하는 과정에 대해서는 도 4를 참조하여 상세히 설명한다.
도 4를 참조하면, 일실시예에 따라 제2 히든 레이어에서 앙상블 모델에 대응하는 특징 벡터 h2가 결정되는 과정을 설명하기 위한 예시가 도시된다.
가중치 행렬 W1은 앙상블 모델 내의 제1 히든 레이어 및 제2 히든 레이어 간의 연결 가중치들을 나타낼 수 있다. 가중치 행렬 W1은 제1 모델 내의 제1 히든 레이어 및 제2 히든 레이어 간의 연결 가중치들을 나타내는 부분 행렬
Figure pat00018
및 제2 모델 내의 제1 히든 레이어 및 제2 히든 레이어 간의 연결 가중치들을 나타내는 부분 행렬
Figure pat00019
을 포함할 수 있다.
제1 히든 레이어가 m개 노드들을 포함하고, 제2 히든 레이어가 n개 노드들을 포함하는 경우, 제1 모델과 제2 모델이 동일한 구조를 가지므로 부분 행렬
Figure pat00020
및 부분 행렬
Figure pat00021
은 각각 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 모델에 대응하는 부분 특징 벡터
Figure pat00022
를 나타내고, 2번째 열 중 n+1번째 행에서 2n번째 행까지는 제2 모델에 대응하는 부분 특징 벡터
Figure pat00023
를 나타낼 수 있다. 따라서, 연산 결과(400) 중 부분 특징 벡터
Figure pat00024
및 부분 특징 벡터
Figure pat00025
만을 추출하여 특징 벡터 h2를 결정할 수 있다. 이 때, 연산 결과(400)에서 다른 부분(410)은 배제된다.
여기서, 부분 특징 벡터
Figure pat00026
는 제1 모델 내의 제2 히든 레이어에서 결정되는 특징 벡터를 나타낼 수 있다. 또한, 부분 특징 벡터
Figure pat00027
는 제2 모델 내의 제2 히든 레이어에서 결정되는 특징 벡터를 나타낼 수 있다.
특징 벡터 h2는 제3 히든 레이어에서 특징 벡터 h3을 결정하는 데 이용될 수 있다. 이 때, 특징 벡터 h2는 n x 2 크기의 행렬로 변형되어, 특징 벡터 h3를 결정하는 데 이용될 수 있다. 특징 벡터 h3를 결정하는 데 이용되는 행렬은 특징 벡터 h2에 포함된 부분 특징 벡터
Figure pat00028
를 1번째 열로 포함하고, 부분 특징 벡터
Figure pat00029
를 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 모델에 대응하는 부분 행렬
Figure pat00030
및 제2 모델에 대응하는 부분 행렬
Figure pat00031
을 포함할 수 있다. 가중치 행렬 Whi에서 1번째 행에서 n번째 행까지는 부분 행렬
Figure pat00032
을 나타내고, n+1번째 행에서 2n번째 행까지는 부분 행렬
Figure pat00033
을 나타낼 수 있다.
부분 행렬
Figure pat00034
에 포함된 행렬 엘리먼트 wkk는 제1 모델에서 제i 번째 레이어 내의 k번째 노드의 순환 가중치를 나타낼 수 있다. 마찬가지로, 부분 행렬
Figure pat00035
에 포함된 행렬 엘리먼트 wkk는 제2 모델에서 제i 번째 레이어 내의 k번째 노드의 순환 가중치를 나타낼 수 있다.
이전 시점에서 현재 레이어로부터 출력된 특징 벡터 hi,t - 1는 제1 모델에 대응하는 부분 특징 벡터
Figure pat00036
및 제2 모델에 대응하는 부분 특징 벡터
Figure pat00037
를 포함할 수 있다. 여기서, 부분 특징 벡터
Figure pat00038
은 제1 모델 내의 제i 히든 레이어로부터 이전 시점에 출력된 특징 벡터를 나타내고, 부분 특징 벡터
Figure pat00039
은 제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 히든 레이어에서 결정된 부분 특징 벡터
Figure pat00040
를 나타내고, n+1번째 행에서 2n번째 행까지는 제2 모델 내의 제i 히든 레이어에서 결정된 부분 특징 벡터
Figure pat00041
를 나타낼 수 있다.
특징 벡터 hi,t는 n x 2 크기의 행렬로 변환되어, 다음 레이어(예컨대, 제i+1 히든 레이어)에서의 특징 벡터를 결정하는 데 이용될 수 있다.
도 8은 일실시예에 따라 출력 레이어에서 레이블 값을 결정하는 과정을 설명하기 위한 도면이다.
도 8을 참조하면, 일실시예에 따라 출력 레이어에서 레이블 값이 결정되는 과정을 설명하기 위한 예시가 도시된다.
일실시예에 따른 출력 레이어가 p개의 노드들을 포함하는 경우, 출력 레이어에서 결정되는 특징 벡터 ho(800)에 기초하여 총 p개의 레이블 값이 결정될 수 있다.
일실시예에 따른 특징 벡터 ho(800)는 앞서 설명한 동작을 통해 결정될 수 있으며, 2p x 1 크기를 가질 수 있다. 특징 벡터 ho(800)는 제1 모델에 대응하는 부분 특징 벡터
Figure pat00042
및 제2 모델에 대응하는 부분 특징 벡터
Figure pat00043
를 포함할 수 있다.
이 때, 앙상블 모델의 k번째 레이블 값은 부분 특징 벡터
Figure pat00044
에 포함된 k번째 엘리먼트
Figure pat00045
및 부분 특징 벡터
Figure pat00046
에 포함된 k번째 엘리먼트
Figure pat00047
에 기초하여 결정될 수 있다. 예를 들어, k번째 엘리먼트
Figure pat00048
및 k번째 엘리먼트
Figure pat00049
각각에 소프트맥스(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 모델 및 상기 제1 모델과 동일한 구조를 가지는 제2 모델을 포함하는 앙상블 모델에 기반하여, 입력 데이터로부터 상기 앙상블 모델에 대응하는 특징 벡터를 결정하는 단계; 및
    상기 특징 벡터에 기초하여 상기 입력 데이터를 인식하는 단계
    를 포함하는 인식 방법.
  2. 제1항에 있어서,
    상기 특징 벡터를 결정하는 단계는,
    상기 앙상블 모델 내의 제1 레이어 및 제2 레이어 간의 제1 연결 가중치들 및 상기 입력 데이터에 기초하여 상기 제1 레이어로부터 출력된 제1 특징 벡터를 이용하여, 상기 제2 레이어에서 출력되는 특징 벡터를 결정하는, 인식 방법.
  3. 제2항에 있어서,
    상기 특징 벡터를 결정하는 단계는,
    상기 제1 연결 가중치들 및 상기 제1 특징 벡터를 이용한 제1 연산 결과 중 일부에 기초하여 상기 특징 벡터를 결정하는, 인식 방법.
  4. 제3항에 있어서,
    상기 제1 연산 결과 중 일부는,
    상기 제1 연결 가중치들 중 상기 제1 모델에 대응하는 제1 부분 가중치들 및 상기 제1 특징 벡터 중 상기 제1 모델에 대응하는 제1 부분 벡터를 이용하여 연산된 결과; 및
    상기 제1 연결 가중치들 중 상기 제2 모델에 대응하는 제2 부분 가중치들 및 상기 제1 특징 벡터 중 상기 제2 모델에 대응하는 제2 부분 벡터를 이용하여 연산된 결과
    를 포함하는, 인식 방법.
  5. 제2항에 있어서,
    상기 특징 벡터를 결정하는 단계는,
    이전 시점의 상기 제2 레이어 및 현재 시점의 상기 제2 레이어 간의 제2 연결 가중치들 및 상기 이전 시점에서 상기 제2 레이어로부터 출력된 제2 특징 벡터를 더 이용하여, 상기 제2 레이어에서 출력되는 특징 벡터를 결정하는, 인식 방법.
  6. 제5항에 있어서,
    상기 특징 벡터를 결정하는 단계는,
    상기 제2 연결 가중치들 및 상기 제2 특징 벡터를 이용한 제2 연산 결과 중 일부를 더 이용하여 상기 특징 벡터를 결정하는, 인식 방법.
  7. 제6항에 있어서,
    상기 제2 연산 결과 중 일부는,
    상기 제2 연결 가중치들 중 상기 제1 모델에 대응하는 제3 부분 가중치들 및 상기 제2 특징 벡터 중 상기 제1 모델에 대응하는 제3 부분 벡터를 이용하여 연산된 결과; 및
    상기 제2 연결 가중치들 중 상기 제2 모델에 대응하는 제4 부분 가중치들 및 상기 제2 특징 벡터 중 상기 제2 모델에 대응하는 제4 부분 벡터를 이용하여 연산된 결과
    를 포함하는, 인식 방법.
  8. 제6항에 있어서,
    상기 제2 연산 결과 중 일부는,
    상기 제2 연산 결과로 결정된 행렬의 주대각선 엘리먼트(principal diagonal element)를 포함하는, 인식 방법.
  9. 제1항에 있어서,
    상기 앙상블 모델은, 동일한 장치에 할당되는, 인식 방법.
  10. 제1항에 있어서,
    상기 앙상블 모델은, 상기 제1 모델 및 상기 제2 모델을 병렬로 포함하는, 인식 방법.
  11. 제1항에 있어서,
    상기 제1 모델 및 상기 제2 모델은, 각 모델에 포함된 레이어 개수, 노드 개수 및 레이어들 간의 연결 관계가 동일한, 인식 방법.
  12. 제1항에 있어서,
    상기 입력 데이터를 인식하는 단계는,
    상기 특징 벡터 중 상기 제1 모델에 대응하는 n번째 엘리먼트 및 상기 특징 벡터 중 상기 제2 모델에 대응하는 n번째 엘리먼트를 이용하여, 상기 입력 데이터를 인식하는, 인식 방법.
  13. 제1항에 있어서,
    상기 특징 벡터는,
    상기 제1 모델에 대응하는 제1 부분 특징 벡터 및 상기 제2 모델에 대응하는 제2 부분 특징 벡터를 포함하는, 인식 방법.
  14. 하드웨어와 결합되어 제1항 내지 제13항 중 어느 하나의 항의 방법을 실행시키기 위하여 매체에 저장된 컴퓨터 프로그램.
  15. 프로세서; 및
    상기 프로세서에 의해 실행 가능한 적어도 하나의 명령어를 포함하는 메모리
    를 포함하고,
    상기 적어도 하나의 명령어가 상기 프로세서에서 실행되면, 상기 프로세서는 제1 모델 및 상기 제1 모델과 동일한 구조를 가지는 제2 모델을 포함하는 앙상블 모델에 기반하여, 입력 데이터로부터 상기 앙상블 모델에 대응하는 특징 벡터를 결정하고, 상기 특징 벡터에 기초하여 상기 입력 데이터를 인식하는, 인식 장치.
  16. 제15항에 있어서,
    상기 특징 벡터를 결정하는 단계는,
    상기 앙상블 모델 내의 제1 레이어 및 제2 레이어 간의 제1 연결 가중치들 및 상기 입력 데이터에 기초하여 상기 제1 레이어로부터 출력된 제1 특징 벡터를 이용하여, 상기 제2 레이어에서 출력되는 특징 벡터를 결정하는, 인식 장치.
  17. 제16항에 있어서,
    상기 특징 벡터를 결정하는 단계는,
    상기 제1 연결 가중치들 및 상기 제1 특징 벡터를 이용한 제1 연산 결과 중 일부에 기초하여 상기 특징 벡터를 결정하는, 인식 장치.
  18. 제16항에 있어서,
    상기 특징 벡터를 결정하는 단계는,
    이전 시점의 상기 제2 레이어 및 현재 시점의 상기 제2 레이어 간의 제2 연결 가중치들 및 상기 이전 시점에서 상기 제2 레이어로부터 출력된 제2 특징 벡터를 더 이용하여, 상기 제2 레이어에서 출력되는 특징 벡터를 결정하는, 인식 장치.
  19. 제18항에 있어서,
    상기 특징 벡터를 결정하는 단계는,
    상기 제2 연결 가중치들 및 상기 제2 특징 벡터를 이용한 제2 연산 결과 중 일부를 더 이용하여 상기 특징 벡터를 결정하는, 인식 장치.
  20. 제19항에 있어서,
    상기 제2 연산 결과 중 일부는,
    상기 제2 연산 결과로 결정된 행렬의 주대각선 엘리먼트(principal diagonal element)를 포함하는, 인식 장치.
KR1020160172391A 2016-12-16 2016-12-16 인식 방법 및 인식 장치 KR20180070103A (ko)

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)

* Cited by examiner, † Cited by third party
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)

* Cited by examiner, † Cited by third party
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)

* Cited by examiner, † Cited by third party
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 삼성전자주식회사 문장 매핑 방법 및 장치

Cited By (5)

* Cited by examiner, † Cited by third party
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) 뉴럴 네트워크 내 레이어에 관한 컨볼루션 연산의 처리 방법 및 장치