KR20210010133A - 음성 인식 방법, 음성 인식을 위한 학습 방법 및 그 장치들 - Google Patents
음성 인식 방법, 음성 인식을 위한 학습 방법 및 그 장치들 Download PDFInfo
- Publication number
- KR20210010133A KR20210010133A KR1020190087626A KR20190087626A KR20210010133A KR 20210010133 A KR20210010133 A KR 20210010133A KR 1020190087626 A KR1020190087626 A KR 1020190087626A KR 20190087626 A KR20190087626 A KR 20190087626A KR 20210010133 A KR20210010133 A KR 20210010133A
- Authority
- KR
- South Korea
- Prior art keywords
- output
- statistics
- previous
- current
- speech
- Prior art date
Links
- 238000000034 method Methods 0.000 title claims abstract description 76
- 238000013528 artificial neural network Methods 0.000 claims abstract description 43
- 230000004044 response Effects 0.000 claims abstract description 15
- 238000004891 communication Methods 0.000 claims description 11
- 238000012549 training Methods 0.000 claims description 10
- 238000004590 computer program Methods 0.000 claims 1
- 238000010606 normalization Methods 0.000 description 24
- 230000008569 process Effects 0.000 description 23
- 238000010586 diagram Methods 0.000 description 9
- 238000012545 processing Methods 0.000 description 9
- 230000005236 sound signal Effects 0.000 description 3
- 230000014509 gene expression Effects 0.000 description 2
- 238000009499 grossing Methods 0.000 description 2
- 230000008859 change Effects 0.000 description 1
- 239000006185 dispersion Substances 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 238000003062 neural network model Methods 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
Images
Classifications
-
- 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
- G10L15/00—Speech recognition
- G10L15/06—Creation of reference templates; Training of speech recognition systems, e.g. adaptation to the characteristics of the speaker's voice
- G10L15/063—Training
-
- 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/06—Physical realisation, i.e. hardware implementation of neural networks, neurons or parts of neurons
- G06N3/063—Physical realisation, i.e. hardware implementation of neural networks, neurons or parts of neurons using electronic means
-
- 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
- G10—MUSICAL INSTRUMENTS; ACOUSTICS
- G10L—SPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
- G10L15/00—Speech recognition
- G10L15/06—Creation of reference templates; Training of speech recognition systems, e.g. adaptation to the characteristics of the speaker's voice
- G10L15/065—Adaptation
-
- 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
- G10L15/00—Speech recognition
- G10L15/08—Speech classification or search
- G10L15/14—Speech classification or search using statistical models, e.g. Hidden Markov Models [HMMs]
-
- 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
- G10L15/00—Speech recognition
- G10L15/08—Speech classification or search
- G10L15/16—Speech classification or search using artificial 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
- G10L15/00—Speech recognition
- G10L15/22—Procedures used during a speech recognition process, e.g. man-machine dialogue
Landscapes
- Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- Health & Medical Sciences (AREA)
- Computational Linguistics (AREA)
- Audiology, Speech & Language Pathology (AREA)
- Human Computer Interaction (AREA)
- Acoustics & Sound (AREA)
- Multimedia (AREA)
- Artificial Intelligence (AREA)
- Theoretical Computer Science (AREA)
- Evolutionary Computation (AREA)
- Biomedical Technology (AREA)
- Life Sciences & Earth Sciences (AREA)
- Biophysics (AREA)
- General Engineering & Computer Science (AREA)
- General Health & Medical Sciences (AREA)
- Molecular Biology (AREA)
- Computing Systems (AREA)
- Data Mining & Analysis (AREA)
- General Physics & Mathematics (AREA)
- Mathematical Physics (AREA)
- Software Systems (AREA)
- Probability & Statistics with Applications (AREA)
- Neurology (AREA)
- Machine Translation (AREA)
- Image Analysis (AREA)
Abstract
일 실시예에 따른 음성 인식 방법 및 장치는 음성 시퀀스 내 현재 프레임을 신경망의 입력 레이어에 인가하고, 현재 프레임에 반응한 신경망의 히든 레이어의 현재 출력을 획득하고, 음성 시퀀스 내 적어도 하나의 이전 프레임에 반응한 히든 레이어의 적어도 하나의 이전 출력의 통계치를 산출하고, 통계치에 기초하여 현재 출력을 정규화하며, 정규화된 출력을 히든 레이어의 다음 레이어로 인가함으로써, 음성 시퀀스를 인식한다.
Description
아래의 실시예들은 음성 인식 방법, 음성 인식을 위한 학습 방법 및 그 장치들에 관한 것이다.
배치 정규화(Batch Normalization)는 전체 배치 데이터로부터 한 번에 동일한 통계 정보(예를 들어, 평균 및/또는 분산)를 구해서 정규화를 수행할 수 있다. 배치 정규화는 주로 이미지 데이터에 특화된 모습을 보이며, 예를 들어, 스트리밍 형식으로 입력되는 음성 신호 또는 소리 신호와 같이 시간의 흐름에 따라 큰 연관성을 보이는 시계열 데이터에는 부적합하다. 또한, 학습 시에는 배치 단위의 처리가 가능하지만, 실제 음성 인식 시에는 배치 단위의 처리가 불가능하므로 인식하고자 하는 음성과 부조화가 발생하기 쉽다. 이 밖에도, 음성 인식을 개인화하고자 하는 경우, 한 번에 많은 데이터를 필요로 하고 별도로 네트워크 전체 또는 일부를 학습시켜야 한다는 번거로움이 있다. 뿐만 아니라, 음성 인식의 개인화 과정에서의 업데이트 주기를 적절하게 결정하는 것 또한 용이하지 않다.
일 실시예에 따르면, 음성 인식 방법은 음성 시퀀스 내 현재 프레임을 신경망의 입력 레이어에 인가하는 단계; 상기 현재 프레임에 반응한 상기 신경망의 히든 레이어의 현재 출력을 획득하는 단계; 상기 음성 시퀀스 내 적어도 하나의 이전 프레임에 반응한 상기 히든 레이어의 적어도 하나의 이전 출력의 통계치를 산출하는 단계; 상기 통계치에 기초하여, 상기 현재 출력을 정규화하는 단계; 및 상기 정규화된 출력을 상기 히든 레이어의 다음 레이어로 인가함으로써, 상기 음성 시퀀스를 인식하는 단계를 포함한다.
상기 이전 출력의 통계치는 상기 이전 출력의 평균 및 분산 중 적어도 하나를 포함할 수 있다.
상기 현재 출력을 정규화하는 단계는 상기 이전 출력의 통계치를 초기 통계치로 설정하는 단계; 및 상기 현재 출력을 상기 초기 통계치에 반영하여 상기 현재 출력을 정규화하는 단계를 포함할 수 있다.
상기 현재 출력을 정규화하는 단계는 데이터베이스로부터 상기 음성 시퀀스에 대응하는 사용자의 초기 통계치를 호출하는 단계; 및 상기 현재 출력을 상기 호출한 초기 통계치에 반영하여 상기 현재 출력을 정규화하는 단계를 포함할 수 있다.
상기 현재 출력을 정규화하는 단계는 상기 현재 출력을 상기 이전 출력의 통계치에 반영하여 상기 이전 출력의 통계치를 갱신하는 단계; 및 상기 갱신한 이전 출력의 통계치를 이용하여 상기 현재 출력을 정규화하는 단계를 포함할 수 있다.
일 실시예에 따르면, 학습 방법은 학습 데이터에 포함된 복수의 음성 시퀀스들 각각에 대응하여, 해당 음성 시퀀스 내 현재 프레임을 신경망의 입력 레이어에 인가하는 단계; 상기 현재 프레임에 반응한 상기 신경망의 히든 레이어의 현재 출력을 획득하는 단계; 상기 해당 음성 시퀀스 내 적어도 하나의 이전 프레임에 반응한 상기 히든 레이어의 적어도 하나의 이전 출력의 통계치를 산출하는 단계; 상기 통계치에 기초하여, 상기 현재 출력을 정규화하는 단계; 상기 정규화된 출력을 상기 히든 레이어의 다음 레이어로 인가함으로써, 상기 음성 시퀀스의 인식 결과를 추정하는 단계; 및 상기 추정된 인식 결과에 기초하여, 상기 신경망을 학습하는 단계를 포함한다.
상기 이전 출력의 통계치를 산출하는 단계는 상기 학습 데이터의 이전 배치(batch)에 포함된 복수의 음성 시퀀스들의 통계치들에 기초하여, 상기 학습 데이터의 현재 배치를 위한 초기 통계치를 산출하는 단계를 포함할 수 있다.
상기 현재 출력을 정규화하는 단계는 상기 현재 출력을 상기 이전 출력의 통계치에 반영하여 상기 이전 출력의 통계치를 갱신하는 단계; 및 상기 갱신한 이전 출력의 통계치를 이용하여 상기 현재 출력을 정규화하는 단계를 포함할 수 있다.
상기 학습 데이터는 복수의 배치들을 포함하고, 상기 복수의 배치들 각각은 복수의 문장들을 포함할 수 있다.
상기 이전 출력의 통계치는 상기 이전 출력의 평균 및 분산 중 적어도 하나를 포함할 수 있다.
상기 학습 방법은 상기 복수의 음성 시퀀스들을 시퀀스 단위로 분해하는 단계를 더 포함할 수 있다.
일 실시예에 따르면, 음성 인식 장치는 음성 시퀀스 내 현재 프레임을 수신하는 통신 인터페이스; 및 상기 현재 프레임을 신경망의 입력 레이어에 인가하고, 상기 현재 프레임에 반응한 상기 신경망의 히든 레이어의 현재 출력을 획득하고, 상기 음성 시퀀스 내 적어도 하나의 이전 프레임에 반응한 상기 히든 레이어의 적어도 하나의 이전 출력의 통계치를 산출하고, 상기 통계치에 기초하여, 상기 현재 출력을 정규화하며, 상기 정규화된 출력을 상기 히든 레이어의 다음 레이어로 인가함으로써, 상기 음성 시퀀스를 인식하는 프로세서를 포함한다.
상기 이전 출력의 통계치는 상기 이전 출력의 평균 및 분산 중 적어도 하나를 포함할 수 있다.
상기 프로세서는 상기 이전 출력의 통계치를 초기 통계치로 설정하고, 상기 현재 출력을 상기 초기 통계치에 반영하여 상기 현재 출력을 정규화할 수 있다.
상기 프로세서는 데이터베이스로부터 상기 음성 시퀀스에 대응하는 사용자의 초기 통계치를 호출하고, 상기 현재 출력을 상기 호출한 초기 통계치에 반영하여 상기 현재 출력을 정규화할 수 있다.
상기 프로세서는 상기 현재 출력을 상기 이전 출력의 통계치에 반영하여 상기 이전 출력의 통계치를 갱신하고, 상기 갱신한 이전 출력의 통계치를 이용하여 상기 현재 출력을 정규화할 수 있다.
일 실시예에 따르면, 학습 장치는 학습 데이터에 포함된 복수의 음성 시퀀스들 각각을 수신하는 통신 인터페이스; 및 상기 복수의 음성 시퀀스들 각각에 대응하여, 해당 음성 시퀀스 내 현재 프레임을 신경망의 입력 레이어에 인가하고, 상기 현재 프레임에 반응한 상기 신경망의 히든 레이어의 현재 출력을 획득하고, 상기 해당 음성 시퀀스 내 적어도 하나의 이전 프레임에 반응한 상기 히든 레이어의 적어도 하나의 이전 출력의 통계치를 산출하고, 상기 통계치에 기초하여, 상기 현재 출력을 정규화하고, 상기 정규화된 출력을 상기 히든 레이어의 다음 레이어로 인가함으로써, 상기 음성 시퀀스의 인식 결과를 추정하고, 상기 추정된 인식 결과에 기초하여, 상기 신경망을 학습하는 프로세서를 포함한다.
상기 프로세서는 상기 학습 데이터의 이전 배치에 포함된 복수의 음성 시퀀스들의 통계치들에 기초하여, 상기 학습 데이터의 현재 배치를 위한 초기 통계치를 산출할 수 있다.
상기 프로세서는 상기 현재 출력을 상기 이전 출력의 통계치에 반영하여 상기 이전 출력의 통계치를 갱신하고, 상기 갱신한 이전 출력의 통계치를 이용하여 상기 현재 출력을 정규화할 수 있다.
도 1은 일 실시예에 따른 음성 인식 과정을 설명하기 위한 도면.
도 2는 일 실시예에 따른 음성 인식 방법을 나타낸 흐름도.
도 3은 일 실시예에 따른 음성 인식을 위한 학습 과정을 설명하기 위한 도면.
도 4는 일 실시예에 따른 음성 인식을 위한 학습 방법을 나타낸 흐름도.
도 5는 일 실시예에 따라 인식 과정 및 학습 과정 각각에서 현재 출력을 정규화하는 방법을 설명하기 위한 도면.
도 6은 일 실시예에 따른 장치의 블록도.
도 2는 일 실시예에 따른 음성 인식 방법을 나타낸 흐름도.
도 3은 일 실시예에 따른 음성 인식을 위한 학습 과정을 설명하기 위한 도면.
도 4는 일 실시예에 따른 음성 인식을 위한 학습 방법을 나타낸 흐름도.
도 5는 일 실시예에 따라 인식 과정 및 학습 과정 각각에서 현재 출력을 정규화하는 방법을 설명하기 위한 도면.
도 6은 일 실시예에 따른 장치의 블록도.
이하에서, 첨부된 도면을 참조하여 실시예들을 상세하게 설명한다. 그러나, 특허출원의 범위가 이러한 실시예들에 의해 제한되거나 한정되는 것은 아니다. 각 도면에 제시된 동일한 참조 부호는 동일한 부재를 나타낸다.
아래 설명하는 실시예들에는 다양한 변경이 가해질 수 있다. 아래 설명하는 실시예들은 실시 형태에 대해 한정하려는 것이 아니며, 이들에 대한 모든 변경, 균등물 내지 대체물을 포함하는 것으로 이해되어야 한다.
실시예에서 사용한 용어는 단지 특정한 실시예를 설명하기 위해 사용된 것으로, 실시예를 한정하려는 의도가 아니다. 단수의 표현은 문맥상 명백하게 다르게 뜻하지 않는 한, 복수의 표현을 포함한다. 본 명세서에서, "포함하다" 또는 "가지다" 등의 용어는 명세서 상에 기재된 특징, 숫자, 단계, 동작, 구성요소, 부품 또는 이들을 조합한 것이 존재함을 지정하려는 것이지, 하나 또는 그 이상의 다른 특징들이나 숫자, 단계, 동작, 구성요소, 부품 또는 이들을 조합한 것들의 존재 또는 부가 가능성을 미리 배제하지 않는 것으로 이해되어야 한다.
다르게 정의되지 않는 한, 기술적이거나 과학적인 용어를 포함해서 여기서 사용되는 모든 용어들은 실시예가 속하는 기술 분야에서 통상의 지식을 가진 자에 의해 일반적으로 이해되는 것과 동일한 의미를 가지고 있다. 일반적으로 사용되는 사전에 정의되어 있는 것과 같은 용어들은 관련 기술의 문맥 상 가지는 의미와 일치하는 의미를 가지는 것으로 해석되어야 하며, 본 출원에서 명백하게 정의하지 않는 한, 이상적이거나 과도하게 형식적인 의미로 해석되지 않는다.
이하, 실시예들을 첨부된 도면을 참조하여 상세하게 설명한다. 각 도면에 제시된 동일한 참조 부호는 동일한 부재를 나타낸다.
도 1은 일 실시예에 따른 음성 인식 과정을 설명하기 위한 도면이다. 도 1을 참조하면, 일 실시예에 따른 음성 인식 장치는 인식 데이터를 수신할 수 있다(110). '인식 데이터'는 음성 인식 장치가 실제 인식하고자 하는 음성 데이터로서, 예를 들어, 전화, 이동 전화, 스마트 스피커, 자율 주행 차량, 로봇, 스마트 차량, 오디오 녹음 장비 또는 이와 유사한 오디오 디바이스의 하나 이상의 마이크로폰(microphone)에 의해 획득된 사용자 발화(utterance) 데이터일 수 있다. 인식 데이터는 예를 들어, "나는 아침에 일찍 일어나서 출근한다."와 같은 하나의 문장으로 구성된 음성 시퀀스일 수도 있고, 복수의 문장으로 구성된 음성 시퀀스일 수도 있다. 예를 들어, 음성 시퀀스가 "나는 아침에 일찍 일어나서 출근한다."와 같은 하나의 문장으로 구성된 경우, 음성 시퀀스는 복수의 음성 프레임들(예를 들어, '나는', '아침에', '일찍', '일어나서', '출근한다')을 포함할 수 있다. 이하에서, 설명의 편의를 위하여 음성 프레임을 '프레임'으로 기재하기로 한다.
일 실시예에 따른 음성 인식 장치는 예를 들어, 스마트 폰, 스마트 스피커, 자율 주행 차량 등과 같은 사용자 장치일 수도 있고, 서버일 수도 있다.
음성 인식 장치는 인식 데이터에 대하여 프레임 레벨(frame level)로 통계치를 업데이트할 수 있다(120). 여기서, '프레임 레벨로 통계치를 업데이트한다'는 것은 시간의 흐름에 따라 사용자 발화에 의한 각 프레임이 음성 인식 장치로 순차적으로 인가될 때마다 통계치를 업데이트한다는 의미로 이해될 수 있다. 음성 인식 장치는 예를 들어, '나는', '아침에', '일찍', '일어나서', '출근한다'와 같은 프레임들 각각이 순차적으로 입력될 때마다 통계치를 업데이트할 수 있다. 음성 인식 장치는 매 프레임이 입력될 때마다 통계치를 이동 평균하여 업데이트할 수 있다. 이때, 통계치의 최초 값, 다시 말해 최초 통계치는 학습 과정에서 획득하여 데이터베이스 등에 사용자에 대응하여 미리 저장해 둔 값일 수 있다.
음성 인식 장치는 매 프레임이 입력될 때마다 업데이트된 통계치를 이용하여 프레임 레벨 정규화를 수행할 수 있다(130). 음성 인식 장치는 단계(120)에서의 통계치의 업데이트와 마찬가지로 정규화 또한 프레임 레벨로 수행할 수 있다. '프레임 레벨 정규화'는 매 프레임이 입력될 때마다 업데이트된 통계치가 인가될 때마다 정규화를 수행한다는 의미로 이해될 수 있다. 예를 들어, 하나의 음성 시퀀스가 5개의 프레임들로 구성된 경우, 단계(120)의 통계치의 업데이트 및 단계(130)의 프레임 레벨 정규화는 프레임 별로, 다시 말해 프레임 개수에 해당하는 5번이 수행될 수 있다.
음성 인식 장치는 단계(130)를 통해 정규화된 데이터를 출력할 수 있다(140).
음성 신호와 같은 시계열적 또는 순차적인 데이터는 같은 차수 값들 또는 같은 주파수 값들의 연관성이 크고 유의미한 통계적인 특성을 가질 수 있다. 예를 들어, 음성 신호 또는 음향 신호와 같은 시계열적 또는 순차적인 데이터는 고속 푸리에 변환(Fast Fourier Transform; FFT) 등을 거치면 시간-주파수의 2차원 데이터로 변환이 가능하다. 이때, 주파수 축 데이터에서 같은 차수는 같은 주파수 대역을 의미하고, 이 값들은 시간의 흐름에서 볼 때 큰 연관성을 가질 수 있다. 다시 말해, 이러한 연관성이 전술한 통계적인 특성으로 나타날 수 있다.
또한, 실제 음성 인식 시에는 스트리밍 방식으로 입력된 음성 신호들을 실시간으로 처리할 수 있다. 따라서, 음성 인식 장치는 평균과 같은 통계치를 이동 평균으로 처리할 수 있고, 이를 적용하여 매 프레임마다 업데이트된 통계치로 정규화를 수행할 수 있다.
일 실시예에서는 사용자 발화가 진행됨에 따라 음성 시퀀스 내에 포함된 복수의 프레임들에 대하여 순차적으로 통계치의 업데이트 및 정규화가 수행되므로 사용자의 발화가 진행될수록 점차 해당 사용자의 목소리에 대한 개인화 및/또는 주변 환경에 적응 가능한 음성 인식 서비스를 제공하는 한편, 음성 인식 정확도를 향상시킬 수 있습니다.
도 2는 일 실시예에 따른 음성 인식 방법을 나타낸 흐름도이다. 도 2를 참조하면, 일 실시예에 따른 음성 인식 장치는 음성 시퀀스 내 현재 프레임을 신경망의 입력 레이어에 인가한다(210). 음성 시퀀스는 예를 들어, 전화, 스마트 폰과 같은 이동 단말, 스마트 스피커, 스마트 차량, 로봇, 오디오 녹음 장비 또는 이와 유사한 오디오 디바이스의 하나 이상의 마이크로폰에 의해 수신될 수 있다. 음성 시퀀스는 노이즈(noise)가 포함된 음성 시퀀스일 수도 있고, 신호 처리 장치에 의해 노이즈가 제거된 음성 시퀀스일 수도 있다. 음성 시퀀스는 예를 들어, "나는 아침에 일찍 일어나서 출근한다."와 같은 하나의 문장에 해당할 수 있다. 음성 시퀀스는 사용자로부터 시간의 흐름에 따라 발화되는 복수의 프레임들(예를 들어, '나는', '아침에', '일찍', '일어나서', '출근한다')을 포함할 수 있다. 신경망은 예를 들어, 입력 레이어, 히든 레이어 및 출력 레이어를 포함하는 심층 신경망(Deep Neural Network; DNN)일 수 있다. 히든 레이어는 복수의 레이어들을 포함할 수 있다.
음성 인식 장치는 현재 프레임에 반응한 신경망의 히든 레이어의 현재 출력을 획득한다(220).
음성 인식 장치는 음성 시퀀스 내 적어도 하나의 이전 프레임에 반응한 히든 레이어의 적어도 하나의 이전 출력의 통계치를 산출한다(230). 히든 레이어의 이전 출력의 통계치는 평균 또는 분산와 같이 나타낼 수 있다. 여기서, 는 현재 t 프레임에서의 입력 데이터 값에 해당할 수 있다. 또한, m은 배치(Batch)의 크기로서, 1 보다 크거나 같은 자연수일 수 있다.
배치는 컴퓨터의 데이터 처리 형태의 하나로써 처리해야 할 데이터를 일정 기간 또는 일정량 정리하여 처리하는 것을 의미한다. 배치의 크기는 신경망 모델의 파라미터를 업데이트 하기 전의 샘플들의 개수로 이해될 수 있다. 예를 들어, 400개의 문장들이 있는데 배치가 10이라는 것은, 1 개의 배치 당 40개의 문장이 들어있는 것이고, 이 40개의 문장들이 들어있는 각각의 배치들이 총 10개라는 것을 의미한다. 이때, 배치의 크기는 40개 문장일 수 있다.
L1 놈(norm)으로 근사한 경우, 분산은 와 같이 근사화될 수 있다. 이전 출력의 통계치는 예를 들어, 이전 출력의 평균 , 분산 또는 근사화된 분산 중 적어도 하나를 포함할 수 있다.
음성 인식 장치는 현재 출력을 이전 출력의 통계치에 반영하여 아래의 수학식 1과 같이 이전 출력의 평균을 갱신하거나, 또는 아래의 수학식 2와 같이 이전 출력의 분산을 갱신할 수 있다.
이전 출력의 평균은 아래의 수학식 3과 같이 표현할 수도 있다.
아래의 단계(240)에서, 음성 인식 장치는 갱신된 이전 출력의 통계치를 이용하여 현재 출력을 정규화할 수 있다. 이때, 음성 인식 장치는 예를 들어, 이전 출력의 통계치를 초기 통계치로 설정하고, 현재 출력을 초기 통계치에 반영하여 현재 출력을 정규화할 수 있다. 초기 통계치는 이전 출력의 통계치 일 수도 있고, 또는 음성 시퀀스에 대응하는 사용자의 초기 통계치 일 수도 있다. 사용자의 초기 통계치 는 데이터베이스로부터 호출한 것일 수 있다. 사용자의 초기 통계치 는 사용자의 식별 정보(예를 들어, 사용자 아이디(ID)에 대응하여 데이터베이스에 미리 저장될 수 있다.
음성 인식 장치는 단계(230)에서 산출한 통계치에 기초하여, 현재 출력을 정규화한다(240). 음성 인식 장치는 예를 들어, 학습에서 얻은 통계치를 초기값으로 사용할 수 있다. 음성 인식 장치는 실제 음성 인식이 수행 될 때마다, 입력된 소리 신호 값으로 이동 평균하면서 통계치를 업데이트하고, 동시에 매 프레임마다 프레임 레벨 정규화를 수행할 수 있다. 음성 인식 장치는 현재 출력을 와 같이 정규화할 수 있다. 음성 인식 장치가 현재 출력을 정규화하는 방법은 아래의 도 5를 참조하여 구체적으로 설명한다.
음성 인식 장치는 정규화된 출력을 히든 레이어의 다음 레이어로 인가함으로써, 음성 시퀀스를 인식한다(250). 히든 레이어의 다음 레이어는 출력 레이어일 수도 있고, 해당 히든 레이어의 다음 히든 레이어일 수도 있다.
도 3은 일 실시예에 따른 음성 인식을 위한 학습 과정을 설명하기 위한 도면이다. 도 3을 참조하면, 일 실시예에 따른 학습 장치가 학습 데이터를 정규화하는 과정이 도시된다.
전술한 바와 같이, 음성 신호 또는 소리 신호는 시간의 흐름에 따라 큰 연관성을 보이는 시계열 데이터에 해당하므로 예를 들어, 이동 평균(moving average) 방식으로 평균 및 분산을 쉽게 추적(tracking)할 수 있다. 이동 평균 방식은 시계열적으로 얻어지는 각 값을 중심으로 전후 일정 개수의 값들의 평균값을 연결하여 경향선을 구하는 방식일 수 있다.
일 실시예에서는 이동 평균의 전술한 특징을 이용하여, 음성 인식을 위한 학습 과정에서의 배치 정규화 시에 프레임 레벨에서 통계치를 구해 바로 정규화할 수 있다. 이와 같이 학습 과정에서 프레임 레벨 정규화를 수행하면, 실제 음성 인식 과정에서도 동일한 방법을 적용할 수 있으므로 학습과 인식 간의 부조화를 줄일 수 있다. 아울러, 이동 평균의 전술한 특징을 이용하는 경우, 실제 인식 과정에서 사용자의 목소리 및 주변 환경 잡음 및 반향에도 적응할 수 있으므로 매 순간 적응적으로 사용자의 음성을 인식할 수 있다.
일 실시예에 따른 학습 장치는 배치 단위로 학습 데이터를 수신할 수 있다(310). 배치 단위는 예를 들어, 100 문장 또는 200 문장의 복수의 음성 시퀀스들을 포함할 수 있다. 학습 데이터는 예를 들어, 학습 데이터베이스에 미리 저장될 수 있다.
학습 장치는 학습 데이터를 시퀀스 단위로 분해할 수 있다(320). 이때, 학습 데이터는 복수의 음성 시퀀스들을 포함할 수 있다.
학습 장치는 시퀀스 단위로 분해된 시퀀스들(330) 각각마다 독립적으로 프레임 레벨로 통계치를 업데이트할 수 있다(340). 학습 장치는 프레임 단위로 각 시퀀스의 통계치를 업데이트할 수 있다. 이때, 학습 장치는 각 시퀀스의 평균은 예를 들어, 전술한 수학식 1과 같이 업데이트하고, 각 시퀀스의 분산은 예를 들어, 전술한 수학식 2와 같이 업데이트할 수 있다. 학습 장치는 이전 프레임에서의 평균 및 분산 값을 초기 통계치로 사용하고, 프레임이 하나씩 이동할 때마다 예를 들어, (1-λ) 만큼 통계치를 업데이트할 수 있다.
학습 장치는 시퀀스들 각각에서 프레임 레벨 통계치가 업데이트됨과 동시에 업데이트된 통계치를 이용하여 프레임 레벨 정규화를 수행할 수 있다(350). 학습 장치는 앞서 구한 통계치로 매 프레임의 입력값을 정규화할 수 있다. 매 프레임마다 통계치가 변하므로 정규화 결과도 조금씩 달라지게 된다.
하나의 배치 내의 시퀀스들 각각은 독립적으로 통계치를 이동 평균하여 추적할 수 있다. 그렇게 되면 시퀀스의 개수만큼 통계치가 만들어지고, 이를 하나의 통계로 평균내어 다음 배치의 각 시퀀스 데이터의 초기 통계치로 이용할 수 있다. 보다 구체적으로, 학습 장치는 각 시퀀스의 매 프레임마다 통계치의 업데이트를 수행하고, 마지막 프레임을 거쳐 최종적으로 업데이트된 각 시퀀스의 최종 통계치들을 평균하여 다음 배치의 정규화 작업에 사용할 수 있다. 이때, 최종 통계치들의 평균값을 다음 배치의 초기 통계치로 사용될 수 있다.
학습 장치는 복수의 시퀀스들 각각에 대한 프레임 레벨 정규화를 거쳐 최종적으로 정규화된 배치 데이터를 출력할 수 있다(360).
전술한 학습 과정은 복수의 레이어들을 포함하는 심층 신경망에 의해 수행될 수 있다. 예를 들어, 심층 신경망이 4개의 레이어들을 포함하는 경우, 4번의 정규화 과정이 수행될 수 있다.
일 실시예에서는 전술한 통계치인 평균값 및/또는 표준 편차 값을 현재 프레임의 출력값으로 스무딩(smoothing)하여 업데이트 함으로써 예를 들어, m 개의 출력값들이 없이도 통계치에 대한 정규화를 수행할 수 있으며, 표준 편차 값을 계산 또는 추정하지 않고도 평균값으로만 정규화를 근사할 수도 있다.
도 4는 일 실시예에 따른 음성 인식을 위한 학습 방법을 나타낸 흐름도이다. 도 4를 참조하면, 일 실시예에 따른 음성 인식을 위한 학습 장치는 학습 데이터에 포함된 복수의 음성 시퀀스들 각각에 대응하여 아래의 단계(410) 내지 단계(460)의 과정을 수행할 수 있다. 이하, "학습 데이터에 포함된 복수의 음성 시퀀스들 각각에 대응하여,"라는 별도의 기재가 없더라도 각 단계는 복수의 음성 시퀀스들 각각에 대응하여 수행되는 것으로 이해될 수 있다. 일 실시예에 따른 학습 장치는 예를 들어, 서버일 수 있다.
학습 장치는 학습 데이터에 포함된 복수의 음성 시퀀스들 중 해당 음성 시퀀스 내 현재 프레임을 신경망의 입력 레이어에 인가한다(410). 이때, 학습 데이터는 복수의 배치들을 포함하고, 복수의 배치들 각각은 복수의 문장들을 포함할 수 있다.
학습 장치는 현재 프레임에 반응한 신경망의 히든 레이어의 현재 출력을 획득한다(420).
학습 장치는 해당 음성 시퀀스 내 적어도 하나의 이전 프레임에 반응한 히든 레이어의 적어도 하나의 이전 출력의 통계치를 산출한다(430). 학습 장치는 학습 데이터의 이전 배치에 포함된 복수의 음성 시퀀스들의 통계치들에 기초하여, 학습 데이터의 현재 배치를 위한 초기 통계치를 산출할 수 있다.
학습 장치는 통계치에 기초하여, 현재 출력을 정규화한다(440).
학습 장치는 예를 들어, 현재 출력을 이전 출력의 통계치에 반영하여 이전 출력의 통계치를 갱신할 수 있다. 학습 장치는 갱신한 이전 출력의 통계치를 이용하여 현재 출력을 정규화할 수 있다. 이전 출력의 통계치는 예를 들어, 이전 출력의 평균 및 분산 중 적어도 하나를 포함할 수 있다. 학습 장치가 현재 출력을 정규화하는 방법은 아래의 도 5를 참조하여 구체적으로 설명한다.
학습 장치는 정규화된 출력을 히든 레이어의 다음 레이어로 인가함으로써, 음성 시퀀스의 인식 결과를 추정한다(450).
학습 장치는 추정된 인식 결과에 기초하여, 신경망을 학습한다(460).
도 5는 일 실시예에 따라 인식 과정 및 학습 과정 각각에서 현재 출력을 정규화하는 방법을 설명하기 위한 도면이다. 도 5를 참조하면, 학습 과정에서 현재 출력을 정규화하는 방법을 나타낸 도면(510) 및 인식 과정에서 현재 출력을 정규화하는 방법을 나타낸 도면(530)이 도시된다.
도면(510)에서 X축은 학습 장치에 포함된 신경망의 노드들의 개수를 나타내고, Y 축은 시간을 나타낼 수 있다. Y 축은 다시 말해 시간의 흐름에 따라 입력되는 음성 시퀀스들에 포함된 복수의 프레임들을 의미한다. 나타낸다. Z 축은 배치의 크기를 나타낼 수 있다.
학습 과정에서의 정규화는 학습 데이터에 포함된 복수의 음성 시퀀스들 각각에 대응하여 수행될 수 있다. 예를 들어, 배치의 크기가 100 개의 음성 시퀀스이고, 노드들의 개수가 10개이며, 시간은 20초라고 하자.
이 경우, 도 3 내지 도 4를 통해 전술한 정규화 과정은 10개의 노드 별로 서로 독립적으로 수행될 수 있다. 이때, 신경망의 각 노드에서는 515와 같이 배치의 크기만큼 100 개의 음성 시퀀스에 대하여 20초동안 정규화가 수행될 수 있다. 또한, 각 노드에서는 각 음성 시퀀스에 포함된 프레임마다에 대하여 시간의 흐름에 따라 순차적으로 정규화가 수행될 수 있다.
도면(530)에서 X축은 신경망의 노드들의 개수를 나타내고, Y 축은 시간의 흐름을 나타낸다. 실제 음성 인식 시에는 시간의 흐름에 따른 사용자의 발화에 의한 실시간의 음성 시퀀스가 입력될 수 있다. 이때, 음성 시퀀스에 포함된 복수의 프레임들은 시간의 흐름에 따라 하나씩 순차적으로 음성 인식 장치에 입력될 수 있다. 이에 따라 음성 인식 장치는 현재 프레임에 반응한 신경망의 히든 레이어의 현재 출력을 획득하고, 음성 시퀀스 내 적어도 하나의 이전 프레임에 반응한 상기 히든 레이어의 적어도 하나의 이전 출력의 통계치에 기초하여 현재 출력을 정규화할 수 있다.
도 6은 일 실시예에 따른 장치의 블록도이다. 도 6을 참조하면, 일 실시예에 따른 장치(600)는 프로세서(610), 및 통신 인터페이스(630)를 포함한다. 장치(600)는 메모리(650)를 더 포함할 수 있다. 프로세서(610), 통신 인터페이스(630), 및 메모리(650)는 통신 버스(605)를 통해 서로 통신할 수 있다. 장치(600)는 음성 인식 장치일 수도 있고, 학습 장치일 수도 있다.
예를 들어, 장치(600)가 음성 인식 장치라고 하자.
이 경우, 프로세서(610)는 통신 인터페이스(630)를 통해 수신한 현재 프레임을 신경망의 입력 레이어에 인가하고, 현재 프레임에 반응한 신경망의 히든 레이어의 현재 출력을 획득한다. 프로세서(610)는 음성 시퀀스 내 적어도 하나의 이전 프레임에 반응한 히든 레이어의 적어도 하나의 이전 출력의 통계치를 산출하고, 통계치에 기초하여 현재 출력을 정규화한다. 프로세서(610)는 정규화된 출력을 히든 레이어의 다음 레이어로 인가함으로써, 음성 시퀀스를 인식한다.
통신 인터페이스(630)는 음성 시퀀스 내 현재 프레임을 수신한다.
메모리(650)는 통신 인터페이스(630)를 통해 수신한 음성 시퀀스를 순차적으로 저장할 수 있다. 메모리(650)는 신경망의 히든 레이어의 현재 출력, 이전 출력의 통계치, 현재 출력을 정규화한 결과 및 프로세서(610)에 의해 최종적으로 인식된 음성 인식 결과 중 적어도 하나를 저장할 수 있다.
또는, 예를 들어, 장치(600)가 학습 장치라고 하자.
이 경우, 프로세서(610)는 복수의 음성 시퀀스들 각각에 대응하여, 해당 음성 시퀀스 내 현재 프레임을 신경망의 입력 레이어에 인가한다. 프로세서(610)는 현재 프레임에 반응한 신경망의 히든 레이어의 현재 출력을 획득한다. 프로세서(610)는 해당 음성 시퀀스 내 적어도 하나의 이전 프레임에 반응한 히든 레이어의 적어도 하나의 이전 출력의 통계치를 산출하고, 통계치에 기초하여, 현재 출력을 정규화한다. 프로세서(610)는 정규화된 출력을 히든 레이어의 다음 레이어로 인가함으로써, 음성 시퀀스의 인식 결과를 추정한다. 프로세서(610)는 추정된 인식 결과에 기초하여, 신경망을 학습한다.
통신 인터페이스(630)는 학습 데이터에 포함된 복수의 음성 시퀀스들 각각을 수신한다.
메모리(650)는 학습 데이터를 저장할 수 있다.
또한, 프로세서(610)는 도 1 내지 도 5를 통해 전술한 적어도 하나의 방법 또는 적어도 하나의 방법에 대응되는 알고리즘을 수행할 수 있다. 프로세서(610)는 목적하는 동작들(desired operations)을 실행시키기 위한 물리적인 구조를 갖는 회로를 가지는 하드웨어로 구현된 데이터 처리 장치일 수 있다. 예를 들어, 목적하는 동작들은 프로그램에 포함된 코드(code) 또는 인스트럭션들(instructions)을 포함할 수 있다. 예를 들어, 하드웨어로 구현된 데이터 처리 장치는 마이크로프로세서(microprocessor), 중앙 처리 장치(central processing unit), 프로세서 코어(processor core), 멀티-코어 프로세서(multi-core processor), 멀티프로세서(multiprocessor), ASIC(Application-Specific Integrated Circuit), FPGA(Field Programmable Gate Array)를 포함할 수 있다.
프로세서(610)는 프로그램을 실행하고, 장치(600)를 제어할 수 있다. 프로세서(610)에 의하여 실행되는 프로그램 코드는 메모리(650)에 저장될 수 있다.
메모리(650)는 상술한 프로세서(610)에서의 처리 과정에서 생성되는 다양한 정보들을 저장할 수 있다. 이 밖에도, 메모리(650)는 각종 데이터와 프로그램 등을 저장할 수 있다. 메모리(650)는 휘발성 메모리 또는 비휘발성 메모리를 포함할 수 있다. 메모리(650)는 하드 디스크 등과 같은 대용량 저장 매체를 구비하여 각종 데이터를 저장할 수 있다.
실시예에 따른 방법은 다양한 컴퓨터 수단을 통하여 수행될 수 있는 프로그램 명령 형태로 구현되어 컴퓨터 판독 가능 매체에 기록될 수 있다. 상기 컴퓨터 판독 가능 매체는 프로그램 명령, 데이터 파일, 데이터 구조 등을 단독으로 또는 조합하여 포함할 수 있다. 상기 매체에 기록되는 프로그램 명령은 실시예를 위하여 특별히 설계되고 구성된 것들이거나 컴퓨터 소프트웨어 당업자에게 공지되어 사용 가능한 것일 수도 있다. 컴퓨터 판독 가능 기록 매체의 예에는 하드 디스크, 플로피 디스크 및 자기 테이프와 같은 자기 매체(magnetic media), CD-ROM, DVD와 같은 광기록 매체(optical media), 플롭티컬 디스크(floptical disk)와 같은 자기-광 매체(magneto-optical media), 및 롬(ROM), 램(RAM), 플래시 메모리 등과 같은 프로그램 명령을 저장하고 수행하도록 특별히 구성된 하드웨어 장치가 포함된다. 프로그램 명령의 예에는 컴파일러에 의해 만들어지는 것과 같은 기계어 코드뿐만 아니라 인터프리터 등을 사용해서 컴퓨터에 의해서 실행될 수 있는 고급 언어 코드를 포함한다. 상기된 하드웨어 장치는 실시예의 동작을 수행하기 위해 하나 이상의 소프트웨어 모듈로서 작동하도록 구성될 수 있으며, 그 역도 마찬가지이다.
이상과 같이 실시예들이 비록 한정된 도면에 의해 설명되었으나, 해당 기술분야에서 통상의 지식을 가진 자라면 상기를 기초로 다양한 기술적 수정 및 변형을 적용할 수 있다. 예를 들어, 설명된 기술들이 설명된 방법과 다른 순서로 수행되거나, 및/또는 설명된 시스템, 구조, 장치, 회로 등의 구성요소들이 설명된 방법과 다른 형태로 결합 또는 조합되거나, 다른 구성요소 또는 균등물에 의하여 대치되거나 치환되더라도 적절한 결과가 달성될 수 있다. 그러므로, 다른 구현들, 다른 실시예들 및 특허청구범위와 균등한 것들도 후술하는 청구범위의 범위에 속한다.
Claims (20)
- 음성 시퀀스 내 현재 프레임을 신경망의 입력 레이어에 인가하는 단계;
상기 현재 프레임에 반응한 상기 신경망의 히든 레이어의 현재 출력을 획득하는 단계;
상기 음성 시퀀스 내 적어도 하나의 이전 프레임에 반응한 상기 히든 레이어의 적어도 하나의 이전 출력의 통계치를 산출하는 단계;
상기 통계치에 기초하여, 상기 현재 출력을 정규화하는 단계; 및
상기 정규화된 출력을 상기 히든 레이어의 다음 레이어로 인가함으로써, 상기 음성 시퀀스를 인식하는 단계
를 포함하는, 음성 인식 방법. - 제1항에 있어서,
상기 이전 출력의 통계치는
상기 이전 출력의 평균 및 분산 중 적어도 하나를 포함하는, 음성 인식 방법. - 제1항에 있어서,
상기 현재 출력을 정규화하는 단계는
상기 이전 출력의 통계치를 초기 통계치로 설정하는 단계; 및
상기 현재 출력을 상기 초기 통계치에 반영하여 상기 현재 출력을 정규화하는 단계
를 포함하는, 음성 인식 방법. - 제1항에 있어서,
상기 현재 출력을 정규화하는 단계는
데이터베이스로부터 상기 음성 시퀀스에 대응하는 사용자의 초기 통계치를 호출하는 단계; 및
상기 현재 출력을 상기 호출한 초기 통계치에 반영하여 상기 현재 출력을 정규화하는 단계
를 포함하는, 음성 인식 방법. - 제1항에 있어서,
상기 현재 출력을 정규화하는 단계는
상기 현재 출력을 상기 이전 출력의 통계치에 반영하여 상기 이전 출력의 통계치를 갱신하는 단계; 및
상기 갱신한 이전 출력의 통계치를 이용하여 상기 현재 출력을 정규화하는 단계
를 포함하는, 음성 인식 방법. - 학습 데이터에 포함된 복수의 음성 시퀀스들 각각에 대응하여,
해당 음성 시퀀스 내 현재 프레임을 신경망의 입력 레이어에 인가하는 단계;
상기 현재 프레임에 반응한 상기 신경망의 히든 레이어의 현재 출력을 획득하는 단계;
상기 해당 음성 시퀀스 내 적어도 하나의 이전 프레임에 반응한 상기 히든 레이어의 적어도 하나의 이전 출력의 통계치를 산출하는 단계;
상기 통계치에 기초하여, 상기 현재 출력을 정규화하는 단계;
상기 정규화된 출력을 상기 히든 레이어의 다음 레이어로 인가함으로써, 상기 음성 시퀀스의 인식 결과를 추정하는 단계; 및
상기 추정된 인식 결과에 기초하여, 상기 신경망을 학습하는 단계
를 포함하는, 학습 방법. - 제6항에 있어서,
상기 이전 출력의 통계치를 산출하는 단계는
상기 학습 데이터의 이전 배치(batch)에 포함된 복수의 음성 시퀀스들의 통계치들에 기초하여, 상기 학습 데이터의 현재 배치를 위한 초기 통계치를 산출하는 단계
를 포함하는, 학습 방법. - 제6항에 있어서,
상기 현재 출력을 정규화하는 단계는
상기 현재 출력을 상기 이전 출력의 통계치에 반영하여 상기 이전 출력의 통계치를 갱신하는 단계;
상기 갱신한 이전 출력의 통계치를 이용하여 상기 현재 출력을 정규화하는 단계
를 포함하는, 학습 방법. - 제6항에 있어서,
상기 학습 데이터는 복수의 배치들을 포함하고,
상기 복수의 배치들 각각은 복수의 문장들을 포함하는, 학습 방법. - 제6항에 있어서,
상기 이전 출력의 통계치는
상기 이전 출력의 평균 및 분산 중 적어도 하나를 포함하는, 학습 방법. - 제6항에 있어서,
상기 복수의 음성 시퀀스들을 시퀀스 단위로 분해하는 단계
를 더 포함하는, 학습 방법. - 하드웨어와 결합되어 제1항 내지 제11항 중 어느 하나의 항의 방법을 실행시키기 위하여 매체에 저장된 컴퓨터 프로그램.
- 음성 시퀀스 내 현재 프레임을 수신하는 통신 인터페이스; 및
상기 현재 프레임을 신경망의 입력 레이어에 인가하고, 상기 현재 프레임에 반응한 상기 신경망의 히든 레이어의 현재 출력을 획득하고, 상기 음성 시퀀스 내 적어도 하나의 이전 프레임에 반응한 상기 히든 레이어의 적어도 하나의 이전 출력의 통계치를 산출하고, 상기 통계치에 기초하여, 상기 현재 출력을 정규화하며, 상기 정규화된 출력을 상기 히든 레이어의 다음 레이어로 인가함으로써, 상기 음성 시퀀스를 인식하는 프로세서
를 포함하는, 음성 인식 장치. - 제13항에 있어서,
상기 이전 출력의 통계치는
상기 이전 출력의 평균 및 분산 중 적어도 하나를 포함하는, 음성 인식 장치. - 제13항에 있어서,
상기 프로세서는
상기 이전 출력의 통계치를 초기 통계치로 설정하고, 상기 현재 출력을 상기 초기 통계치에 반영하여 상기 현재 출력을 정규화하는, 음성 인식 장치. - 제13항에 있어서,
상기 프로세서는
데이터베이스로부터 상기 음성 시퀀스에 대응하는 사용자의 초기 통계치를 호출하고, 상기 현재 출력을 상기 호출한 초기 통계치에 반영하여 상기 현재 출력을 정규화하는, 음성 인식 장치. - 제13항에 있어서,
상기 프로세서는
상기 현재 출력을 상기 이전 출력의 통계치에 반영하여 상기 이전 출력의 통계치를 갱신하고, 상기 갱신한 이전 출력의 통계치를 이용하여 상기 현재 출력을 정규화하는, 음성 인식 장치. - 학습 데이터에 포함된 복수의 음성 시퀀스들 각각을 수신하는 통신 인터페이스; 및
상기 복수의 음성 시퀀스들 각각에 대응하여, 해당 음성 시퀀스 내 현재 프레임을 신경망의 입력 레이어에 인가하고, 상기 현재 프레임에 반응한 상기 신경망의 히든 레이어의 현재 출력을 획득하고, 상기 해당 음성 시퀀스 내 적어도 하나의 이전 프레임에 반응한 상기 히든 레이어의 적어도 하나의 이전 출력의 통계치를 산출하고, 상기 통계치에 기초하여, 상기 현재 출력을 정규화하고, 상기 정규화된 출력을 상기 히든 레이어의 다음 레이어로 인가함으로써, 상기 음성 시퀀스의 인식 결과를 추정하고, 상기 추정된 인식 결과에 기초하여, 상기 신경망을 학습하는 프로세서
를 포함하는, 학습 장치. - 제18항에 있어서,
상기 프로세서는
상기 학습 데이터의 이전 배치에 포함된 복수의 음성 시퀀스들의 통계치들에 기초하여, 상기 학습 데이터의 현재 배치를 위한 초기 통계치를 산출하는, 학습 장치. - 제18항에 있어서,
상기 프로세서는
상기 현재 출력을 상기 이전 출력의 통계치에 반영하여 상기 이전 출력의 통계치를 갱신하고, 상기 갱신한 이전 출력의 통계치를 이용하여 상기 현재 출력을 정규화하는, 학습 장치.
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020190087626A KR20210010133A (ko) | 2019-07-19 | 2019-07-19 | 음성 인식 방법, 음성 인식을 위한 학습 방법 및 그 장치들 |
US16/736,895 US11437023B2 (en) | 2019-07-19 | 2020-01-08 | Apparatus and method with speech recognition and learning |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020190087626A KR20210010133A (ko) | 2019-07-19 | 2019-07-19 | 음성 인식 방법, 음성 인식을 위한 학습 방법 및 그 장치들 |
Publications (1)
Publication Number | Publication Date |
---|---|
KR20210010133A true KR20210010133A (ko) | 2021-01-27 |
Family
ID=74238309
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1020190087626A KR20210010133A (ko) | 2019-07-19 | 2019-07-19 | 음성 인식 방법, 음성 인식을 위한 학습 방법 및 그 장치들 |
Country Status (2)
Country | Link |
---|---|
US (1) | US11437023B2 (ko) |
KR (1) | KR20210010133A (ko) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN117012184A (zh) * | 2022-10-31 | 2023-11-07 | 腾讯科技(深圳)有限公司 | 一种语音识别方法和相关装置 |
Family Cites Families (24)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CA2952055C (en) | 2008-02-01 | 2020-07-21 | Her Majesty The Queen In Right Of Canada As Represented By The Minister Of Health | Monoclonal antibodies for ebola and marburg viruses |
WO2013093638A2 (en) | 2011-12-21 | 2013-06-27 | Mashinery Pty Ltd. | Gesture-based device |
KR20140076145A (ko) | 2012-12-12 | 2014-06-20 | 한국전자통신연구원 | 잡음 환경에서의 음성 인식을 위한 특징 벡터 정규화 장치 및 방법 |
KR102102351B1 (ko) | 2013-04-25 | 2020-04-21 | 삼성디스플레이 주식회사 | 기능성 편광 필름 및 이를 채용하는 유기발광표시장치. |
US9953661B2 (en) | 2014-09-26 | 2018-04-24 | Cirrus Logic Inc. | Neural network voice activity detection employing running range normalization |
US10540957B2 (en) | 2014-12-15 | 2020-01-21 | Baidu Usa Llc | Systems and methods for speech transcription |
US10438395B2 (en) | 2015-03-25 | 2019-10-08 | Naver Corporation | Apparatus, method and computer program for displaying cartoon content |
US10395118B2 (en) | 2015-10-29 | 2019-08-27 | Baidu Usa Llc | Systems and methods for video paragraph captioning using hierarchical recurrent neural networks |
KR101749254B1 (ko) | 2015-12-21 | 2017-06-20 | 서울대학교산학협력단 | 딥 러닝 기반의 통합 음향 정보 인지 시스템 |
CN107785016A (zh) * | 2016-08-31 | 2018-03-09 | 株式会社东芝 | 训练神经网络辅助模型的方法和装置及语音识别方法和装置 |
US10170110B2 (en) * | 2016-11-17 | 2019-01-01 | Robert Bosch Gmbh | System and method for ranking of hybrid speech recognition results with neural networks |
KR102692670B1 (ko) * | 2017-01-04 | 2024-08-06 | 삼성전자주식회사 | 음성 인식 방법 및 음성 인식 장치 |
CN107633842B (zh) * | 2017-06-12 | 2018-08-31 | 平安科技(深圳)有限公司 | 语音识别方法、装置、计算机设备及存储介质 |
CN109688351B (zh) * | 2017-10-13 | 2020-12-15 | 华为技术有限公司 | 一种图像信号处理方法、装置及设备 |
CN107680597B (zh) * | 2017-10-23 | 2019-07-09 | 平安科技(深圳)有限公司 | 语音识别方法、装置、设备以及计算机可读存储介质 |
US10324467B1 (en) * | 2017-12-29 | 2019-06-18 | Apex Artificial Intelligence Industries, Inc. | Controller systems and methods of limiting the operation of neural networks to be within one or more conditions |
KR102637339B1 (ko) | 2018-08-31 | 2024-02-16 | 삼성전자주식회사 | 음성 인식 모델을 개인화하는 방법 및 장치 |
EP3640934B1 (en) * | 2018-10-19 | 2021-12-29 | Samsung Electronics Co., Ltd. | Speech recognition method and apparatus |
US11341369B2 (en) * | 2018-11-15 | 2022-05-24 | Nvidia Corporation | Distributed batch normalization using partial populations |
US10573312B1 (en) * | 2018-12-04 | 2020-02-25 | Sorenson Ip Holdings, Llc | Transcription generation from multiple speech recognition systems |
EP3671568A1 (en) * | 2018-12-17 | 2020-06-24 | IMEC vzw | Binary recurrent neural network inference technique |
US20200242445A1 (en) * | 2019-01-26 | 2020-07-30 | Mipsology SAS | Generic quantization of artificial neural networks |
US11410016B2 (en) * | 2019-04-26 | 2022-08-09 | Alibaba Group Holding Limited | Selective performance of deterministic computations for neural networks |
US11615785B2 (en) * | 2019-05-10 | 2023-03-28 | Robert Bosch Gmbh | Speech recognition using natural language understanding related knowledge via deep feedforward neural networks |
-
2019
- 2019-07-19 KR KR1020190087626A patent/KR20210010133A/ko unknown
-
2020
- 2020-01-08 US US16/736,895 patent/US11437023B2/en active Active
Also Published As
Publication number | Publication date |
---|---|
US11437023B2 (en) | 2022-09-06 |
US20210020167A1 (en) | 2021-01-21 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
EP3164871B1 (en) | User environment aware acoustic noise reduction | |
JP7008638B2 (ja) | 音声認識 | |
US10607600B2 (en) | System and method for mobile automatic speech recognition | |
CN110310623B (zh) | 样本生成方法、模型训练方法、装置、介质及电子设备 | |
CN107799126B (zh) | 基于有监督机器学习的语音端点检测方法及装置 | |
US10522167B1 (en) | Multichannel noise cancellation using deep neural network masking | |
CN112435684B (zh) | 语音分离方法、装置、计算机设备和存储介质 | |
WO2020043162A1 (en) | System and method for performing multi-model automatic speech recognition in challenging acoustic environments | |
JP7498560B2 (ja) | システム及び方法 | |
CN111105782A (zh) | 会话交互处理方法、装置、计算机设备和存储介质 | |
CN110570853A (zh) | 基于语音数据的意图识别方法和装置 | |
CN112397083A (zh) | 语音处理方法及相关装置 | |
US9378735B1 (en) | Estimating speaker-specific affine transforms for neural network based speech recognition systems | |
JP6967966B2 (ja) | オーディオ通信内の音声データを背景データから分離する方法及び機器 | |
CN109065026B (zh) | 一种录音控制方法及装置 | |
CN113921026A (zh) | 语音增强方法和装置 | |
KR20210010133A (ko) | 음성 인식 방법, 음성 인식을 위한 학습 방법 및 그 장치들 | |
WO2020015546A1 (zh) | 一种远场语音识别方法、语音识别模型训练方法和服务器 | |
CN116312570A (zh) | 一种基于声纹识别的语音降噪方法、装置、设备及介质 | |
Han et al. | Reverberation and noise robust feature compensation based on IMM | |
Sehr et al. | Model-based dereverberation in the Logmelspec domain for robust distant-talking speech recognition | |
KR102617914B1 (ko) | 음성 인식 방법 및 그 시스템 | |
CN115881094A (zh) | 智能电梯的语音指令识别方法、装置、设备及存储介质 | |
Sehr et al. | Model-based dereverberation of speech in the mel-spectral domain | |
CN116486829A (zh) | 语音提取方法、电子设备和存储介质 |