KR20190045038A - 음성 인식 방법 및 장치 - Google Patents

음성 인식 방법 및 장치 Download PDF

Info

Publication number
KR20190045038A
KR20190045038A KR1020180018301A KR20180018301A KR20190045038A KR 20190045038 A KR20190045038 A KR 20190045038A KR 1020180018301 A KR1020180018301 A KR 1020180018301A KR 20180018301 A KR20180018301 A KR 20180018301A KR 20190045038 A KR20190045038 A KR 20190045038A
Authority
KR
South Korea
Prior art keywords
pronunciation
frame
duration
speech recognition
layer
Prior art date
Application number
KR1020180018301A
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 US16/038,343 priority Critical patent/US11348572B2/en
Priority to CN201810872293.0A priority patent/CN109697977B/zh
Priority to EP18199047.4A priority patent/EP3474274B1/en
Priority to JP2018190857A priority patent/JP7158236B2/ja
Publication of KR20190045038A publication Critical patent/KR20190045038A/ko

Links

Images

Classifications

    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10LSPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
    • G10L15/00Speech recognition
    • G10L15/08Speech classification or search
    • G10L15/14Speech classification or search using statistical models, e.g. Hidden Markov Models [HMMs]
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/08Learning methods
    • G06N3/084Backpropagation, e.g. using gradient descent
    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10LSPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
    • G10L15/00Speech recognition
    • G10L15/04Segmentation; Word boundary detection
    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10LSPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
    • G10L15/00Speech recognition
    • G10L15/06Creation of reference templates; Training of speech recognition systems, e.g. adaptation to the characteristics of the speaker's voice
    • G10L15/063Training
    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10LSPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
    • G10L15/00Speech recognition
    • G10L15/08Speech classification or search
    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10LSPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
    • G10L15/00Speech recognition
    • G10L15/08Speech classification or search
    • G10L15/16Speech classification or search using artificial 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
    • G10L15/00Speech recognition
    • G10L15/08Speech classification or search
    • G10L15/18Speech classification or search using natural language modelling
    • G10L15/183Speech classification or search using natural language modelling using context dependencies, e.g. language models
    • G10L15/187Phonemic context, e.g. pronunciation rules, phonotactical constraints or phoneme n-grams
    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10LSPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
    • G10L15/00Speech recognition
    • G10L15/06Creation of reference templates; Training of speech recognition systems, e.g. adaptation to the characteristics of the speaker's voice
    • G10L15/063Training
    • G10L2015/0631Creating reference templates; Clustering
    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10LSPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
    • G10L15/00Speech recognition
    • G10L15/08Speech classification or search
    • G10L2015/085Methods for reducing search complexity, pruning

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Computational Linguistics (AREA)
  • Health & Medical Sciences (AREA)
  • Audiology, Speech & Language Pathology (AREA)
  • Human Computer Interaction (AREA)
  • Acoustics & Sound (AREA)
  • Multimedia (AREA)
  • Artificial Intelligence (AREA)
  • Evolutionary Computation (AREA)
  • Theoretical Computer Science (AREA)
  • Biomedical Technology (AREA)
  • General Engineering & Computer Science (AREA)
  • Biophysics (AREA)
  • Data Mining & Analysis (AREA)
  • General Health & Medical Sciences (AREA)
  • Molecular Biology (AREA)
  • Computing Systems (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • General Physics & Mathematics (AREA)
  • Mathematical Physics (AREA)
  • Software Systems (AREA)
  • Probability & Statistics with Applications (AREA)
  • Electrically Operated Instructional Devices (AREA)
  • Telephonic Communication Services (AREA)

Abstract

음성 인식 방법 및 장치가 개시된다. 일실시예에 따른 음성 인식 장치는 복수의 프레임들로 분할된 음성 시퀀스(acoustic sequence)를 획득하고, 상기 음성 시퀀스 내 동일 발음의 지속 시간을 예측하고, 상기 지속 시간에 대응하는 프레임에 대한 발음 예측을 스킵하여 상기 음성 시퀀스의 발음들을 판단할 수 있다.

Description

음성 인식 방법 및 장치{METHOD AND APPARATUS FOR SPEECH RECOGNITION}
아래 실시예들은, 음성을 인식하는 방법 및 장치에 관한 것이다.
음성 인식 시스템은 음향 모델, 언어 모델 및 디코더를 포함한다. 음향 모델은 음성 신호가 어떤 발음에 가까운지에 관해 정보를 제공한다. 언어 모델은 특정 문장이 얼마나 자주 사용하는지에 관한 정보를 제공한다. 디코더는 음향 모델과 언어 모델에서 제공하는 정보로부터 주어진 음성이 어떤 문장에 가장 가까운지 계산한다.
음향 모델은 뉴럴 네트워크로 표현될 수 있지만, 병렬 계산이 어려워 음성 신호의 프레임 수가 커짐에 따라 계산 시간이 커지는 단점이 있다. 음성 신호의 프레임을 스킵하여 계산 시간을 단축하는 방법을 이하에서 설명한다.
일실시예에 따른 음성 인식 방법은 복수의 프레임들로 분할된 음성 시퀀스(acoustic sequence)를 획득하는 단계; 및 상기 음성 시퀀스 내 동일 발음의 지속 시간을 예측하고, 상기 지속 시간에 대응하는 프레임에 대한 발음 예측을 스킵하여 상기 음성 시퀀스의 발음들을 판단하는 단계를 포함한다.
일실시예에 따르면, 상기 지속 시간은 발음 예측을 스킵할 프레임의 수에 의해 표현될 수 있다.
일실시예에 따르면, 상기 발음들을 판단하는 단계는 음향 모델을 이용하여, 상기 프레임들 중 제1 프레임의 제1 발음을 예측하는 단계; 상기 음향 모델을 이용하여, 상기 제1 발음의 제1 지속 시간을 예측하는 단계; 및 상기 제1 지속 시간에 대응하는 적어도 하나의 제2 프레임에 대한 발음 예측을 스킵하는 단계를 포함할 수 있다.
일실시예에 따르면, 상기 발음들을 판단하는 단계는 상기 제2 프레임의 발음이 상기 제1 발음인 것으로 판단하는 단계를 더 포함할 수 있다.
일실시예에 따르면, 상기 발음들을 판단하는 단계는 상기 제2 프레임의 다음 프레임의 제2 발음 및 상기 제2 발음의 지속 시간을 예측하는 단계를 더 포함할 수 있다.
일실시예에 따르면, 상기 음향 모델은 뉴럴 네트워크를 포함하고, 상기 뉴럴 네트워크의 출력 레이어는 레이블 레이어 및 스킵 레이어를 포함하고, 상기 레이블 레이어는 입력된 프레임의 발음을 예측하기 위한 레이어이고, 상기 스킵 레이어는 입력된 프레임의 발음의 지속 시간을 예측하기 위한 레이어일 수 있다.
일실시예에 따르면, 상기 레이블 레이어는 전체 발음들의 수의 노드들을 포함하고, 상기 스킵 레이어는 최대로 스킵할 수 있는 프레임들의 수의 노드들을 포함할 수 있다.
일실시예에 따른 음성 인식 방법은 복수의 프레임들로 분할된 음성 시퀀스를 획득하는 단계; 및 발음의 지속 시간을 기초로 상기 복수의 프레임들 중 적어도 하나의 프레임에 대한 발음 예측을 동적으로 스킵하여, 상기 음성 시퀀스에 대한 음성 인식을 수행하는 단계를 포함한다.
일실시예에 따른 음성 인식을 위한 학습 방법은 복수의 트레이닝 프레임들로 분할된 트레이닝 음성 시퀀스를 획득하는 단계; 및 음향 모델을 이용하여 상기 트레이닝 음성 시퀀스 내 동일 발음의 지속 시간을 예측하고, 상기 지속 시간과 상기 동일 발음의 최적 지속 시간에 기초하여 상기 음향 모델을 학습시키는 단계를 포함한다.
일실시예에 따르면, 상기 음향 모델을 학습시키는 단계는 상기 트레이닝 프레임들 중 적어도 하나의 제2 트레이닝 프레임에 대응하는 적어도 하나의 제2 지속 시간을 예측하는 단계; 상기 제2 지속 시간과 상기 제2 트레이닝 프레임에 대응하는 적어도 하나의 제2 최적 지속 시간에 기초하여, 상기 제2 트레이닝 프레임에 대응하는 적어도 하나의 보상(reward)을 생성하는 단계; 및 상기 보상에 기초하여, 음향 모델을 학습시키는 단계를 포함할 수 있다.
일실시예에 따르면, 상기 보상을 생성하는 단계는 상기 제2 지속 시간과 상기 제2 최적 지속 시간이 같은지 여부에 기초하여, 상기 제2 트레이닝 프레임에 대응하는 적어도 하나의 보상을 생성하는 단계를 포함할 수 있다.
일실시예에 따르면, 상기 보상을 생성하는 단계는 상기 제2 지속 시간과 상기 제2 최적 지속 시간 사이의 차이에 가중치를 적용하여, 상기 제2 트레이닝 프레임에 대응하는 적어도 하나의 보상을 생성하는 단계를 포함하고, 상기 제2 지속 시간이 상기 제2 최적 지속 시간보다 큰 경우에 대응하는 제1 가중치와 상기 제2 지속 시간이 상기 제2 최적 지속 시간보다 작은 경우에 대응하는 제2 가중치가 서로 다르게 설정될 수 있다.
일실시예에 따르면, 상기 보상에 기초하여 상기 음향 모델을 학습시키는 단계는 상기 음향 모델이 발음의 지속 시간을 예측하기 위한 파라미터에 대응하는 목적 함수를 획득하는 단계; 및 상기 보상을 상기 목적 함수에 적용하여, 상기 파라미터를 최적화하는 단계를 포함할 수 있다.
일실시예에 따른 학습 방법은 상기 음향 모델이 발음을 예측하기 위한 제2 파라미터에 대응하는 제2 목적 함수를 획득하는 단계; 및 상기 목적 함수 및 상기 제2 목적 함수를 이용하여, 상기 파라미터 및 상기 제2 파라미터를 최적화하는 단계를 더 포함할 수 있다.
일실시예에 따른 장치는, 하드웨어와 결합되어 상술한 방법들 중 어느 하나의 항의 방법을 실행시키기 위하여 매체에 저장된 컴퓨터 프로그램에 의해 제어될 수 있다.
도 1은 일실시예에 따른 음성 인식 방법을 설명하기 위한 순서도이다.
도 2는 일실시예에 따른 음성 인식 방법을 설명하기 위한 도면이다.
도 3은 일실시예에 따른 음성 인식 방법을 설명하기 위한 도면이다.
도 4는 일실시예에 따른 음성 인식 방법을 설명하기 위한 도면이다.
도 5는 일실시예에 따른 음성 인식을 위한 학습 방법을 설명하기 위한 순서도이다.
도 6은 일실시예에 따른 음성 인식을 위한 학습 방법을 설명하기 위한 도면이다.
도 7은 일실시예에 따른 음성 인식 시스템을 설명하기 위한 도면이다.
도 8은 일실시예에 따른 장치의 구성의 예시도이다.
실시예들에 대한 특정한 구조적 또는 기능적 설명들은 단지 예시를 위한 목적으로 개시된 것으로서, 다양한 형태로 변경되어 실시될 수 있다. 따라서, 실시예들은 특정한 개시형태로 한정되는 것이 아니며, 본 명세서의 범위는 기술적 사상에 포함되는 변경, 균등물, 또는 대체물을 포함한다.
제1 또는 제2 등의 용어를 다양한 구성요소들을 설명하는데 사용될 수 있지만, 이런 용어들은 하나의 구성요소를 다른 구성요소로부터 구별하는 목적으로만 해석되어야 한다. 예를 들어, 제1 구성요소는 제2 구성요소로 명명될 수 있고, 유사하게 제2 구성요소는 제1 구성요소로도 명명될 수 있다.
어떤 구성요소가 다른 구성요소에 "연결되어" 있다고 언급된 때에는, 그 다른 구성요소에 직접적으로 연결되어 있거나 또는 접속되어 있을 수도 있지만, 중간에 다른 구성요소가 존재할 수도 있다고 이해되어야 할 것이다.
단수의 표현은 문맥상 명백하게 다르게 뜻하지 않는 한, 복수의 표현을 포함한다. 본 명세서에서, "포함하다" 또는 "가지다" 등의 용어는 설명된 특징, 숫자, 단계, 동작, 구성요소, 부분품 또는 이들을 조합한 것이 존재함으로 지정하려는 것이지, 하나 또는 그 이상의 다른 특징들이나 숫자, 단계, 동작, 구성요소, 부분품 또는 이들을 조합한 것들의 존재 또는 부가 가능성을 미리 배제하지 않는 것으로 이해되어야 한다.
다르게 정의되지 않는 한, 기술적이거나 과학적인 용어를 포함해서 여기서 사용되는 모든 용어들은 해당 기술 분야에서 통상의 지식을 가진 자에 의해 일반적으로 이해되는 것과 동일한 의미를 가진다. 일반적으로 사용되는 사전에 정의되어 있는 것과 같은 용어들은 관련 기술의 문맥상 가지는 의미와 일치하는 의미를 갖는 것으로 해석되어야 하며, 본 명세서에서 명백하게 정의하지 않는 한, 이상적이거나 과도하게 형식적인 의미로 해석되지 않는다.
실시예들은 퍼스널 컴퓨터, 랩톱 컴퓨터, 태블릿 컴퓨터, 스마트 폰, 텔레비전, 스마트 가전 기기, 지능형 자동차, 키오스크, 웨어러블 장치 등 다양한 형태의 제품으로 구현될 수 있다. 예를 들어, 실시예들은 스마트 폰, 모바일 기기, 스마트 홈 시스템 등에서 사용자를 인식하는데 적용될 수 있다. 실시예들은 사용자 인식을 통한 결제 서비스에 적용될 수 있다. 또한, 실시예들은 사용자를 인식하여 자동으로 시동을 거는 지능형 자동차 시스템 등에도 적용될 수 있다. 이하, 실시예들을 첨부된 도면을 참조하여 상세하게 설명한다. 각 도면에 제시된 동일한 참조 부호는 동일한 부재를 나타낸다.
도 1은 일실시예에 따른 음성 인식 방법을 설명하기 위한 순서도이다.
도 1을 참조하면, 음성 인식 장치는 복수의 프레임들로 분할된 음성 시퀀스를 획득할 수 있다(101). 일실시예에 따르면, 음성 인식 장치는 음성 인식을 수행하기 위한 정보를 처리하는 장치로서, 예를 들어 소프트웨어 모듈, 하드웨어 모듈 또는 이들의 조합으로 구현될 수 있다. 음성 인식 장치는 음성의 인식과 관련된 동작, 연산 및 명령 등을 생성 또는 처리할 수 있다. 음성 인식 장치는 스마트 폰, 테블릿 컴퓨터, 랩톱 컴퓨터, 데스크톱 컴퓨터, 텔레비전, 웨어러블 장치, 보안 시스템, 스마트 홈 시스템 등 다양한 컴퓨팅 장치 및/또는 시스템에 탑재될 수 있다. 음성 인식 장치는 미리 구축된 데이터베이스로부터 음향 모델과 관련된 정보를 로딩할 수 있고, 데이터베이스는 음성 인식 장치에 포함된 메모리로 구현되거나 음성 인식 장치와 유선, 무선, 또는 네트워크 등으로 연결 가능한 서버 등의 외부 장치로 구현될 수 있다.
일실시예에 따르면, 음성 인식 장치는 음성 시퀀스를 획득할 수 있다. 음성 인식 장치는 획득된 음성 시퀀스를 복수의 프레임들로 분할할 수 있다. 음성 시퀀스는 음성 정보를 포함하는 음성 신호이고, 프레임 단위로 분할될 수 있다. 예를 들어, 1초의 음성 시퀀스는 100 개의 프레임들로 분할될 수 있고, 이 경우 1개의 프레임은 10msec에 해당하는 음성정보를 포함할 수 있다.
도 1을 참조하면, 음성 인식 장치는 음성 시퀀스 내 동일 발음의 지속 시간을 예측하고, 예측된 지속 시간에 대응하는 프레임에 대한 발음 예측을 스킵하여 음성 시퀀스의 발음들을 판단할 수 있다(102). 여기서, 동일 발음의 지속 시간은 발음 예측을 스킵할 프레임의 수에 의해 표현될 수 있다.
일실시예에 따르면, 음성 인식 장치는 음성 시퀀스 중 적어도 일부를 동적으로 스킵하여 음성 인식을 수행할 수 있다. 음성 인식 장치는 음성 시퀀스를 이루는 하나의 프레임의 발음 및 발음 지속 시간을 예측하고 예측된 발음 지속 시간에 해당하는 이후 프레임들을 스킵할 수 있다. 따라서, 미리 정해진 프레임 개수들이 스킵되는 고정 스킵 방법과 달리 발음에 따라 스킵되는 프레임 개수들이 동적으로 결정될 수 있다.
일실시예에 따르면, 음성 인식 장치는 음성 신호를 처리하기 위한 음향 모델을 이용할 수 있는데, 여기서 음향 모델은 뉴럴 네트워크로 구현될 수 있다. 음향 모델은 DNN(Deep Neural Network), RNN(Recurrent Neural Network) 및 RDNN(Recurrent Deep Neural Network) 등으로 구현될 수 있다. 음성 인식 장치는 음성 시퀀스에 대응하는 발음을 예측하는데 있어서 기 학습된 음향 모델을 이용하여 상대적으로 덜 중요한 시간 단계(time step)를 동적으로 스킵할 수 있다. 예를 들어, 음성 인식 장치는 RNN으로 구현된 음향 모델로 발음 예측을 스킵할 대상을 예측하면서, 음성 시퀀스에 대응하는 발음을 예측할 수 있다. 여기서, RNN은 발음 예측의 스킵 동작과 발음 예측을 수행하도록 학습될 수 있다. 일실시예에 따른 RNN은 발음을 예측을 위한 네트워크와 스킵을 위한 네트워크를 포함하고, 양 네트워크는 음성 시퀀스에 대응하는 음성 신호 내 정보를 공유할 수 있다.
일실시예에 따르면, 음성 인식 장치는 음성 시퀀스를 처리하는데 있어서 상황에 따라 동적으로 스킵할 처리 양을 조절하여 정보 손실과 처리 시간을 최소화할 수 있다. RNN을 이용하여 텍스트 및 음성과 같은 순차적 데이터(sequential data)를 처리하는데 있어서, 음성 인식 장치는 정보 처리를 위한 읽기 횟수를 줄여 음성 인식의 처리 속도를 높이고, 음성 시퀀스 내 처리할 정보의 양을 줄여 음성 인식을 위한 반응 속도를 높이고, 음성 인식을 위한 서버의 동시 접속 처리량을 높여 서버 비용을 줄일 수 있다.
이하, 도 2 내지 도 4를 참조하여 음성 인식 방법이 설명되고, 도 5 내지 도 6을 참조하여 음성 인식을 위한 학습 방법이 설명된다. 도 7 내지 도 8을 참조하여, 일실시예에 따른 시스템 및 장치가 설명된다.
도 2는 일실시예에 따른 음성 인식 방법을 설명하기 위한 도면이다.
도 2를 참조하면, 음성 인식 장치는 DNN, RNN 및/또는 RDNN에 기초하여 구현된 음향 모델을 이용하여 음성 인식을 수행할 수 있다. 일반적인 뉴럴 네트워크의 구조에서는 입력과 출력이 각각 독립적이지만, RNN은 이전의 출력들이 새로운 출력의 계산 결과에 영향을 주는 뉴럴 네트워크 구조를 갖는다.
일실시예에 따른 음성 인식 장치는 음성 시퀀스(201)를 복수의 프레임들로 분할하고, 분할된 프레임에 대응하는 발음과 발음의 지속 시간을 예측할 수 있다. 음성 인식 장치는 음향 모델을 이용하여 음성 인식을 수행하고, 음향 모델은 입력 레이어(미도시), 히든 레이어들(203) 및 출력 레이어를 포함하며, 출력 레이어는 레이블 레이어(204) 및 스킵 레이어(205)를 포함한다. 레이블 레이어(204)는 입력된 프레임(202)의 발음을 예측하기 위한 레이어이다. 스킵 레이어(205)는 입력된 프레임(202)의 발음의 지속 시간을 예측하기 위한 레이어다. 레이블 레이어(204) 및 스킵 레이어(205)는 소프트맥스 레이어(softmax layer)일 수 있다.
일실시예에 따르면, 레이블 레이어(204)는 전체 발음들의 수와 동일한 개수의 노드들을 포함할 수 있다. 레이블 레이어(204)의 각 노드는 입력된 프레임(202)이 특정 발음일 확률을 나타낼 수 있다. 스킵 레이어(205)는 최대로 스킵할 수 있는 프레임들의 수와 동일한 개수의 노드들을 포함할 수 있다. 예를 들어, 스킵 레이어(205)의 첫 번째 노드는 프레임을 스킵하지 않을 확률을 나타내고, 두 번째 노드는 1개의 프레임을 스킵할 확률을 나타내고, 세 번째 노드는 2개의 프레임을 스킵할 확률을 나타내고, n 번째 노드는 (n-1)개의 프레임을 스킵할 확률을 나타낼 수 있다.
도 3은 일실시예에 따른 음성 인식 방법을 설명하기 위한 도면이다.
음성 인식 장치는 음향 모델을 이용하여 주어진 프레임의 발음이 무엇인지를 예측하는 동시에, 다음 몇 프레임을 스킵할지 예측할 수 있다. 그런 다음, 음성 인식 장치는 스킵할 프레임에 대한 발음 확률을 현재 프레임의 발음 확률로 채울 수 있다. 주어진 프레임이 첫번째 프레임이고, 음성 인식 장치가 5개 프레임을 스킵하기로 결정했다고 하자. 이 경우, 음성 인식 장치는 다음 5개 프레임은 처리하지 않고 스킵할 수 있다. 그런 다음, 음성 인식 장치는 7번째 프레임의 발음이 무엇인지를 예측하는 동시에 다음 몇 프레임을 스킵할지 예측하고, 처리할 프레임이 없을 때까지 이를 반복할 수 있다.
도 3을 참조하면, 음성 인식 장치는 복수의 프레임들(301)에 대응하는 레이블들(302)을 생성할 수 있다. 레이블은 발음에 대응할 수 있다. 음성 인식 장치는 첫 번째 프레임(303)의 발음이 "a"인 것으로 예측하고, 스킵할 프레임의 수가 2개인 것으로 예측할 수 있다. 구체적으로, 음향 모델의 레이블 레이어의 노드들로부터 출력되는 확률 값들 중 발음 "a"에 대응하는 확률 값이 최대이고, 음향 모델의 스킵 레이어의 노드들로부터 출력되는 확률 값들 중 스킵할 프레임 수 "2"에 대응하는 확률 값이 최대일 수 있다. 음성 인식 장치는 두 번째 프레임(305) 및 세 번째 프레임(305)을 처리하지 않고, 두 번째 프레임(305) 및 세 번째 프레임(305)의 발음(306)이 "a"인 것으로 판단할 수 있다. 그런 다음, 음성 인식 장치는 네 번째 프레임(307)을 처리하여 네 번째 프레임(307)의 발음(308)이 "b"인 것으로 예측하고, 스킵할 프레임의 수가 1개인 것으로 예측할 수 있다. 음성 인식 장치는 다섯 번째 프레임(309)을 처리하지 않고, 다섯 번째 프레임(309)의 발음(310)이 "b"인 것으로 판단하고, 이러한 과정을 반복할 수 있다.
도 4는 일실시예에 따른 음성 인식 방법을 설명하기 위한 도면이다.
상술한 바와 같이, 일실시예에 따른 음향 모델은 RNN으로 구현될 수 있다. 음향 모델은 히든 스테이트들에 대응하는 히든 레이어와 2개의 출력을 생성하는 출력 레이어를 포함할 수 있다. 마지막 히든 스테이트는 소프트맥스 레이어인 레이블 레이어와 스킵 레이어로부터 생성되는 확률 값을 계산하는데 이용될 수 있다.
첫 번째 프레임
Figure pat00001
(401) 내지 T 번째 프레임
Figure pat00002
를 포함하는 T개의 프레임들
Figure pat00003
로 분할된 음성 시퀀스가 주어진 경우, 음성 인식 장치는 첫 번째 프레임
Figure pat00004
(401)을 처리하여 히든 스테이트들을 계산할 수 있다. 레이블 레이어와 스킵 레이어는 히든 스테이드들에 기초하여 발음에 대응하는 확률 값과 스킵할 프레임의 수에 대응하는 확률 값을 생성하고, 음성 인식 장치는
Figure pat00005
(401)의 발음(402)과 스킵할 프레임의 수를 예측할 수 있다. 음성 인식 장치는 스킵 레이어의 출력에 기초하여, 레이블 레이어의 출력을 복사하여,
Figure pat00006
(403)의 발음(404)을 판단할 수 있다. 음성 인식 장치는 세 번째 프레임
Figure pat00007
(405)의 발음(406)과 스킵할 프레임의 수를 예측하고, 처리 대상이 마지막 프레임
Figure pat00008
에 도달할 때까지 상술한 동작을 반복할 수 있다.
도 5는 일실시예에 따른 음성 인식을 위한 학습 방법을 설명하기 위한 순서도이다.
도 5를 참조하면, 음성 인식을 위한 학습 장치는 복수의 트레이닝 프레임들로 분할된 트레이닝 음성 시퀀스를 획득할 수 있다(501). 학습 장치는 음성 인식을 위한 학습을 수행하는 장치로서, 예를 들어 소프트웨어 모듈, 하드웨어 모듈 또는 이들의 조합으로 구현될 수 있다. 학습 장치는 학습과 관련된 동작, 연산 및 명령 등을 생성 또는 처리할 수 있다. 상술한 음성 인식 장치와 관련된 하드웨어 또는 소프트웨어의 구현례는 학습 장치에도 적용될 수 있다.
도 5를 참조하면, 학습 장치는 음향 모델을 이용하여 트레이닝 음성 시퀀스 내 동일 발음의 지속 시간을 예측하고, 예측된 지속 시간과 동일 발음의 최적 지속 시간에 기초하여 음향 모델을 학습시킬 수 있다(502). 학습 장치는 예측된 지속 시간과 최적 지속 시간에 기초하여 보상(reward)을 생성하고, 생성된 보상에 기초하여 음향 모델을 학습시킬 수 있다.
일실시예에 따르면, 학습 장치는 트레이닝 프레임에 대응하는 지속 시간을 예측할 수 있다. 학습 장치는 트레이닝 프레임으로부터 예측된 지속 시간과 트레이닝 프레임에 대응하는 최적 지속 시간에 기초하여, 트레이닝 프레임에 대응하는 보상을 생성할 수 있다. 학습 장치는 예측된 지속 시간과 최적 지속 시간이 같은지 여부 및 둘 사이의 차이에 가중치를 적용하여, 트레이닝 프레임에 대응하는 보상을 생성할 수 있다. 예측된 지속 시간이 최적 지속 시간보다 큰 경우에 대응하는 가중치와 예측된 지속 시간이 최적 지속 시간보다 작은 경우에 대응하는 가중치는 서로 다르게 설정될 수 있다. 보상은 보상 함수를 이용하여 생성될 수 있다.
일실시예에 따르면, 학습 장치는 음향 모델이 동일 발음의 지속 시간을 예측하기 위한 파라미터에 대응하는 목적 함수를 획득할 수 있다. 학습 장치는 생성된 보상을 목적 함수에 적용하여 지속 시간을 예측하기 위한 파라미터를 최적화할 수 있다. 추가적으로, 학습 장치는 음향 모델이 발음을 예측하기 위한 파라미터에 대응하는 목적 함수를 획득할 수 있다. 학습 장치는 지속 시간을 예측하기 위한 파라미터에 대응하는 목적 함수와 발음을 예측하기 위한 파라미터에 대응하는 목적 함수에 보상을 적용하여, 지속 시간을 예측하기 위한 파라미터와 발음을 예측하기 위한 파라미터를 최적화할 수 있다. 이하 도 6을 참조하여 일실시예에 따른 학습 방법이 설명된다.
도 6은 일실시예에 따른 음성 인식을 위한 학습 방법을 설명하기 위한 도면이다.
도 6을 참조하면, 학습 장치는 트레이닝 프레임의 첫 발음이 "a"인 것으로 예측하면서, "a"의 지속 시간이 "2"인 것으로 예측할 수 있다. 여기서, "2"는 발음 예측을 스킵할 프레임의 수(스킵 프레임 수)이다. 도 6에 도시된 최적 지속 시간 "4", "3", "2", "1", "0", "1", "0", "0", "1", "0", ...과 레이블 "a", "a", "a", "a", "a", "b", "b", "c", "a", "a", ...는 트레이닝 프레임들에 대응하는 정답 값(ground truth)이다. 도 6에 도시된 "2", "1", "4", ... 는 음향 모델에 의해 예측된 지속 시간이다.
일실시예에 따르면, 학습 장치는 트레이닝 프레임으로부터 음향 모델에 의해 예측된 지속 시간 "2"와 트레이닝 프레임에 대응하는 최적 지속 시간 "4"에 기초하여, 트레이닝 프레임에 대응하는 보상을 생성할 수 있다. 상술한 바와 같이, 학습 장치는 보상을 목적 함수에 적용하여 음향 모델의 파라미터를 최적화할 수 있다.
일실시예에 따른 음향 모델은 발음을 예측하는데 이용되는 파라미터
Figure pat00009
과 스킵 프레임 수를 예측하는데 이용되는 파라미터
Figure pat00010
에 의해 정의될 수 있다. 학습 장치는
Figure pat00011
Figure pat00012
를 최적화하여 음향 모델을 학습시킬 수 있다. 학습 장치는
Figure pat00013
에 대한 크로스 엔트로피(Cross Entropy) 목적 함수
Figure pat00014
을 정의할 수 있다.
Figure pat00015
는 미분 가능할 수 있고, 학습 장치는 역전파(Backpropagation) 알고리즘으로
Figure pat00016
을 최소화하기 위한
Figure pat00017
을 찾을 수 있다.
일실시예에 따르면, 학습 장치는
Figure pat00018
를 찾기 위해 강화학습(Reinforcement Learning) 기법을 이용할 수 있다.
Figure pat00019
에 대한 보상 함수(Reward Function)가 정의될 수 있고, 학습 장치는 보상 함수를 최대화하는
Figure pat00020
을 정책 그래디언트(Policy Gradient) 기법으로 찾을 수 있다. 이하, 최적화를 위한
Figure pat00021
를 찾는 방법이 설명된다.
음향 모델이 T개의 프레임들로 분할된 음성 시퀀스
Figure pat00022
를 처리하면서 스킵한 프레임 수의 순서열을
Figure pat00023
라 하자.
Figure pat00024
는 트레이닝 음성 시퀀스이고,
Figure pat00025
는 스킵 프레임 수들이다. 도 6에서,
Figure pat00026
는 "2", "1", "4", ...의 정보를 포함할 수 있다. 음향 모델이 스킵 프레임 수를
Figure pat00027
번째에 예측할 때 사용된 마지막 히든 레이어를
Figure pat00028
라고 하자. 도 6에서, "2"를 예측할 때 사용된 마지막 히든 레이어는
Figure pat00029
이고, "1"을 예측할 때 사용된 마지막 히든 레이어는
Figure pat00030
이고, "4"를 예측할 때 사용된 마지막 히든 레이어는
Figure pat00031
일 수 있다. 음향 모델은 다항 분포(Multinomial Distribution)인
Figure pat00032
로부터 표본을 추출해 스킵 프레임 수
Figure pat00033
를 예측할 수 있다.
Figure pat00034
Figure pat00035
번째에 예측된 스킵 프레임 수를 나타낸다.
Figure pat00036
Figure pat00037
에 대응하는 확률 값이다. 음향 모델의 스킵 레이어는
Figure pat00038
을 출력할 수 있다.
주어진 음성 시퀀스
Figure pat00039
에 대한 정답 발음을
Figure pat00040
라고 하고, 최대로 스킵할 수 있는 프레임 수를
Figure pat00041
이라고 하고, 스킵 프레임 수를
Figure pat00042
번째에 예측할 때 사용된 프레임의 번호를
Figure pat00043
라고 하자. 일실시예에 따르면, 학습 장치는 인식 정확도의 손실 없이 최대한 많은 프레임을 스킵하기 위해서, 어떤 발음이 지속될 경우 해당 발음의 첫 번째 프레임 이외에는 모두 스킵하도록 음향 모델을 학습시킬 수 있다. 음향 모델이 현재
Figure pat00044
번째 프레임을 처리하는 중이고, 스킵 프레임 수를
Figure pat00045
번째에 예측하려고 하는 경우,
Figure pat00046
번째 프레임에 대응하는 발음을
Figure pat00047
라고 하자. 발음
Figure pat00048
Figure pat00049
번째 프레임에서 시작해서 지속되는 길이를
Figure pat00050
라고 하자. 이 경우 최대로 스킵할 수 있는 프레임 수가
Figure pat00051
이므로, 스킵 프레임 수의
Figure pat00052
번째 예측에 대응하는 목표 스킵 프레임 수
Figure pat00053
는 수학식 1과 같이 표현될 수 있다.
Figure pat00054
일실시예에 따르면, 학습 장치는 음향 모델이 목표 스킵 프레임 수만큼 스킵 프레임 수를 예측한 경우 프레임 수 예측에 0의 보상을 줄 수 있다. 그렇지 않은 경우, 학습 장치는 예측된 스킵 프레임 수와 최적의 스킵 프레임 수 사이의 차이에 기초하여 프레임 수 예측에 보상을 줄 수 있다.
Figure pat00055
번째의 스킵 프레임 수의 예측에 대응하는 보상 함수
Figure pat00056
은 수학식 2와 같다.
Figure pat00057
상술한 바와 같이,
Figure pat00058
Figure pat00059
번째에 예측된 스킵 프레임 수이고,
Figure pat00060
Figure pat00061
번째에 예측에 대응하는 목표 스킵 프레임 수이다.
음향 모델이 예측을 틀리게 할수록 보다 많은 패널티를 음향 모델의 학습에 부여하기 위해, 정확한 프레임 수 예측에 대응하는 보상은 0으로 설정되고, 틀린 프레임 수 예측에 대응하는 보상은 음수(불이익)로 설정될 수 있다. 음향 모델이 틀린 프레임 수 예측을 얼마나 많이 하는지에 따라 음향 모델의 학습에 패널티가 부여되므로, 상술한 보상 함수에 기초하여 음향 모델이 학습된다면, 음향 모델은 틀린 프레임 수 예측을 덜하도록 학습될 수 있다.
Figure pat00062
를 최적화하는 데 사용할 목적 함수
Figure pat00063
는 수학식 3과 같이 정의될 수 있다.
Figure pat00064
즉, 목적 함수
Figure pat00065
는 첫 번째의 스킵 프레임 수의 예측부터 N 번째의 스킵 프레임 수의 예측에 대응하는 기대 보상을 나타낸다.
Figure pat00066
는 할인 요소(discount factor)이다. N은 스킵 프레임 수가 예측된 프레임의 수이다.
일실시예에 따르면, 학습 장치는 수학식 3에 따른 기대 보상을 최대화하도록 음향 모델을 학습시킬 수 있다.
스킵 프레임 수를 예측하기 위한 확률 값
Figure pat00067
는 수학식 4와 같이 정의될 수 있다.
Figure pat00068
수학식 3에 따른 목적 함수를 최적화하기 위해 학습 장치는 REINFORCE 알고리즘을 이용하여 목적 함수의 근사 미분 식을 수학식 5와 같이 구할 수 있다.
Figure pat00069
Figure pat00070
는 수학식 6과 같이 표현될 수 있다.
Figure pat00071
학습 장치는 스킵 프레임 수의 예측에 따른 보상을 이용하여
Figure pat00072
의 근사 미분 식을 계산할 수 있다. 목적 함수의 미분 식에서
Figure pat00073
가 나타나는데,
Figure pat00074
는 현재의 스킵 프레임 수의 예측뿐만 아니라 이후의 스킵 프레임 수들의 예측들까지 고려하는 보상 값이다. 현재의 스킵 프레임 수의 예측으로부터 이후의 스킵 프레임 수들의 예측들이 멀어질 수록 작게 고려되기 위해
Figure pat00075
에서
Figure pat00076
(discount factor)이 적용되어 있다. 그래디언트 디센트(gradient descent)를 이용하여 파라미터
Figure pat00077
이 학습될 때, 목적 함수의 미분 식(여기서,
Figure pat00078
가 등장)이 이용되므로, 현재의 스킵 프레임 수의 예측에 대한 학습 시에 이후의 스킵 프레임 수들의 예측들이 할인 요소(discount factor)에 따라 반영된다. 학습 장치는
Figure pat00079
의 근사 미분 식의 분포를 줄이기 위한 다양한 기법을 활용할 수 있다.
학습 장치는 음향 모델을 학습시키기 위해 수학식 7의 목적 함수를 사용할 수 있다.
Figure pat00080
일실시예에 따른 보상 함수는 음성 인식의 정확도를 유지하면서 음성 시퀀스의 프레임을 최대한 많이 스킵하도록 정의될 수 있다. 음성 인식 기법의 응용에 따라 음성 인식의 정확도가 인식 속도보다 중요할 때가 있고, 인식 속도가 정확도보다 중요할 때가 있다. 음성 인식의 정확도와 인식 속도 사이에는 서로 역의 상관 관계가 있다. 인식 속도를 높이기 위해서 음성 시퀀스의 프레임을 많이 스킵하게 되면 음성 신호의 변화를 모델링하기 어려워 음성 인식의 정확도가 떨어질 수 있다. 음성 인식의 정확도를 높이기 위해서 음성 시퀀스의 프레임을 적게 스킵하게 되면, 정확도는 높아지는 반면에 인식 속도는 느려질 수 있다.
일실시예에 따르면, 학습 장치는 음성 인식의 정확도와 인식 속도 중 어디에 초점을 맞출지를 조정하여 음향 모델을 학습시킬 수 있다. 상술한 보상 함수는 음향 모델이 최적의 스킵 프레임 수만큼 프레임을 스킵한 경우, 스킵 프레임 수의 예측에 0의 보상을 준다. 나머지의 경우, 보상 함수는 최적의 스킵 프레임 수와 예측된 스킵 프레임 수의 차이가 커질수록 스킵 프레임 수의 예측에 더 많은 불이익을 준다. 일실시예에 따른 학습 장치는 보상 함수를 변형하여 음향 모델이 프레임을 얼마나 많이 스킵하게 할지 조정할 수 있다. 일실시예에 따르면, 학습 장치는 속도 가중치
Figure pat00081
를 도입할 수 있다. 음향 모델이 최적의 스킵 프레임 수에 비해서 스킵 프레임 수를 작게 예측한 경우와 크게 예측한 경우의 가중치를 서로 다르게 부여한 보상 함수
Figure pat00082
는 수학식 8과 같이 정의될 수 있다.
Figure pat00083
Figure pat00084
Figure pat00085
Figure pat00086
인 경우는 음향 모델이 최적의 스킵 프레임 수보다 스킵 프레임 수를 더 크게 예측한 경우이므로, 학습 장치는 스킵 프레임 수의 예측에 상술한 바와 같이 불이익을 줄 수 있다.
Figure pat00087
인 경우는 음향 모델이 최적의 스킵 프레임 수보다 스킵 프레임 수를 더 작게 예측한 경우이므로, 학습 장치는 스킵 프레임 수를 더 크게 예측한 경우보다 얼마나 더 불이익을 줄 것인지를 나타내는 속도 가중치
Figure pat00088
를 불이익에 곱하여 스킵 프레임 수의 예측에 불이익을 줄 수 있다.
학습 장치는 정확도와 인식 속도 중 어느 것에 상대적인 비중을 높일지 판단하여 속도 가중치의 값을 결정할 수 있다. 만약
Figure pat00089
가 1.0이라면 양자 사이에 주어지는 보상의 정도는 유사할 수 있다. 만약
Figure pat00090
가 1.0보다 작다면, 음향 모델이 최적의 스킵 프레임 수보다 스킵 프레임 수를 더 작게 예측한 경우에 주어지는 불이익이 작아지므로, 음향 모델은 프레임을 덜 스킵하고, 정확도는 올라갈 수 있다. 만약
Figure pat00091
가 1.0보다 크다면, 음향 모델이 최적의 스킵 프레임 수보다 스킵 프레임 수를 더 작게 예측한 경우에 주어지는 불이익이 커지기 때문에, 음향 모델은 프레임을 더 스킵하고, 인식 속도는 빨라질 수 있다.
도 7은 일실시예에 따른 음성 인식 시스템을 설명하기 위한 도면이다.
도 7을 참조하면, 음성 인식 시스템은 음향 모델(703), 디코더(705) 및 언어 모델(706)을 포함한다. 음성 인식 시스템은 음향 모델(703)을 이용하여 음성 신호(701)에 대응하는 음성 시퀀스(702)로부터 발음(704)을 예측하고, 디코더(705) 및 언어 모델(706)을 이용하여 음성 인식을 수행할 수 있다.
도 8은 일실시예에 따른 장치의 구성의 예시도이다.
도 8을 참조하면, 장치(801)는 프로세서(802) 및 메모리(803)를 포함한다. 일실시예에 따른 장치(801)는 상술한 음성 인식 장치 또는 학습 장치일 수 있다. 프로세서(802)는 도 1 내지 도 7을 통하여 전술한 적어도 하나의 장치들을 포함하거나, 도 1 내지 도 7을 통하여 전술한 적어도 하나의 방법을 수행할 수 있다. 메모리(803)는 상술한 음성 인식 방법 또는 음성 인식 방법과 관련된 정보를 저장하거나 상술한 학습 방법 또는 학습 방법과 관련된 정보를 저장할 수 있고, 음성 인식 방법 또는 학습 방법이 구현된 프로그램을 저장할 수 있다. 메모리(803)는 휘발성 메모리 또는 비휘발성 메모리일 수 있다.
프로세서(802)는 프로그램을 실행하고, 장치(801)를 제어할 수 있다. 프로세서(802)에 의하여 실행되는 프로그램의 코드는 메모리(803)에 저장될 수 있다. 장치(801)는 입출력 장치(도면 미 표시)를 통하여 외부 장치(예를 들어, 퍼스널 컴퓨터 또는 네트워크)에 연결되고, 데이터를 교환할 수 있다.
이상에서 설명된 실시예들은 하드웨어 구성요소, 소프트웨어 구성요소, 및/또는 하드웨어 구성요소 및 소프트웨어 구성요소의 조합으로 구현될 수 있다. 예를 들어, 실시예들에서 설명된 장치, 방법 및 구성요소는, 예를 들어, 프로세서, 콘트롤러, 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. 복수의 프레임들로 분할된 음성 시퀀스(acoustic sequence)를 획득하는 단계; 및
    상기 음성 시퀀스 내 동일 발음의 지속 시간을 예측하고, 상기 지속 시간에 대응하는 프레임에 대한 발음 예측을 스킵하여 상기 음성 시퀀스의 발음들을 판단하는 단계
    를 포함하는
    음성 인식 방법.
  2. 제1항에 있어서,
    상기 지속 시간은 발음 예측을 스킵할 프레임의 수에 의해 표현되는,
    음성 인식 방법.
  3. 제1항에 있어서,
    상기 발음들을 판단하는 단계는
    음향 모델을 이용하여, 상기 프레임들 중 제1 프레임의 제1 발음을 예측하는 단계;
    상기 음향 모델을 이용하여, 상기 제1 발음의 제1 지속 시간을 예측하는 단계; 및
    상기 제1 지속 시간에 대응하는 적어도 하나의 제2 프레임에 대한 발음 예측을 스킵하는 단계
    를 포함하는,
    음성 인식 방법.
  4. 제3항에 있어서,
    상기 발음들을 판단하는 단계는
    상기 제2 프레임의 발음이 상기 제1 발음인 것으로 판단하는 단계
    를 더 포함하는,
    음성 인식 방법.
  5. 제3항에 있어서,
    상기 발음들을 판단하는 단계는
    상기 제2 프레임의 다음 프레임의 제2 발음 및 상기 제2 발음의 지속 시간을 예측하는 단계
    를 더 포함하는,
    음성 인식 방법.
  6. 제3항에 있어서,
    상기 음향 모델은 뉴럴 네트워크를 포함하고,
    상기 뉴럴 네트워크의 출력 레이어는 레이블 레이어 및 스킵 레이어를 포함하고,
    상기 레이블 레이어는 입력된 프레임의 발음을 예측하기 위한 레이어이고,
    상기 스킵 레이어는 입력된 프레임의 발음의 지속 시간을 예측하기 위한 레이어인,
    음성 인식 방법.
  7. 제6항에 있어서,
    상기 레이블 레이어는 전체 발음들의 수의 노드들을 포함하고,
    상기 스킵 레이어는 최대로 스킵할 수 있는 프레임들의 수의 노드들을 포함하는,
    음성 인식 방법.
  8. 복수의 프레임들로 분할된 음성 시퀀스를 획득하는 단계;
    음향 모델을 이용하여, 상기 프레임들 중 제1 프레임의 제1 발음을 예측하는 단계;
    상기 음향 모델을 이용하여, 상기 제1 발음의 제1 지속 시간을 예측하는 단계; 및
    상기 제1 지속 시간에 대응하는 적어도 하나의 프레임에 대한 발음 예측을 스킵하여, 상기 음성 시퀀스에 대한 음성 인식을 수행하는 단계
    를 포함하는
    음성 인식 방법.
  9. 제8항에 있어서,
    상기 제1 지속 시간은 발음 예측을 스킵할 프레임의 수에 의해 표현되는,
    음성 인식 방법.
  10. 제8항에 있어서,
    상기 음성 인식을 수행하는 단계는
    상기 적어도 하나의 프레임의 발음이 상기 제1 발음인 것으로 판단하는 단계
    를 포함하는,
    음성 인식 방법.
  11. 제8항에 있어서,
    상기 음성 인식을 수행하는 단계는
    상기 적어도 하나의 프레임의 다음 프레임의 제2 발음 및 상기 제2 발음의 지속 시간을 예측하는 단계
    를 포함하는,
    음성 인식 방법.
  12. 제8항에 있어서,
    상기 음향 모델은 뉴럴 네트워크를 포함하고,
    상기 뉴럴 네트워크의 출력 레이어는 레이블 레이어 및 스킵 레이어를 포함하고,
    상기 레이블 레이어는 입력된 프레임의 발음을 예측하기 위한 레이어이고,
    상기 스킵 레이어는 입력된 프레임의 발음의 지속 시간을 예측하기 위한 레이어인,
    음성 인식 방법.
  13. 하드웨어와 결합되어 제1항 내지 제12항 중 어느 하나의 항의 방법을 실행시키기 위하여 매체에 저장된 컴퓨터 프로그램.
  14. 복수의 프레임들로 분할된 음성 시퀀스(acoustic sequence)를 획득하고, 상기 음성 시퀀스 내 동일 발음의 지속 시간을 예측하고, 상기 지속 시간에 대응하는 프레임에 대한 발음 예측을 스킵하여 상기 음성 시퀀스의 발음들을 판단하는 프로세서
    를 포함하는
    음성 인식 장치.
  15. 제14항에 있어서,
    상기 지속 시간은 발음 예측을 스킵할 프레임의 수에 의해 표현되는,
    음성 인식 장치.
  16. 제14항에 있어서,
    상기 프로세서는
    음향 모델을 이용하여, 상기 프레임들 중 제1 프레임의 제1 발음을 예측하고, 상기 음향 모델을 이용하여, 상기 제1 발음의 제1 지속 시간을 예측하고, 상기 제1 지속 시간에 대응하는 적어도 하나의 제2 프레임에 대한 발음 예측을 스킵하는,
    음성 인식 장치.
  17. 제16항에 있어서,
    상기 프로세서는
    상기 제2 프레임의 발음이 상기 제1 발음인 것으로 판단하는,
    음성 인식 장치.
  18. 제16항에 있어서,
    상기 프로세서는
    상기 제2 프레임의 다음 프레임의 제2 발음 및 상기 제2 발음의 지속 시간을 예측하는,
    음성 인식 장치.
  19. 제16항에 있어서,
    상기 음향 모델은 뉴럴 네트워크를 포함하고,
    상기 뉴럴 네트워크의 출력 레이어는 레이블 레이어 및 스킵 레이어를 포함하고,
    상기 레이블 레이어는 입력된 프레임의 발음을 예측하기 위한 레이어이고,
    상기 스킵 레이어는 입력된 프레임의 발음의 지속 시간을 예측하기 위한 레이어인,
    음성 인식 장치.
  20. 제19항에 있어서,
    상기 레이블 레이어는 전체 발음들의 수의 노드들을 포함하고,
    상기 스킵 레이어는 최대로 스킵할 수 있는 프레임들의 수의 노드들을 포함하는,
    음성 인식 장치.

KR1020180018301A 2017-10-23 2018-02-14 음성 인식 방법 및 장치 KR20190045038A (ko)

Priority Applications (4)

Application Number Priority Date Filing Date Title
US16/038,343 US11348572B2 (en) 2017-10-23 2018-07-18 Speech recognition method and apparatus
CN201810872293.0A CN109697977B (zh) 2017-10-23 2018-08-02 语音识别方法和设备
EP18199047.4A EP3474274B1 (en) 2017-10-23 2018-10-08 Speech recognition method and apparatus
JP2018190857A JP7158236B2 (ja) 2017-10-23 2018-10-09 音声認識方法及び装置

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US201762575643P 2017-10-23 2017-10-23
US62/575,643 2017-10-23

Publications (1)

Publication Number Publication Date
KR20190045038A true KR20190045038A (ko) 2019-05-02

Family

ID=66581429

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020180018301A KR20190045038A (ko) 2017-10-23 2018-02-14 음성 인식 방법 및 장치

Country Status (3)

Country Link
US (1) US11348572B2 (ko)
JP (1) JP7158236B2 (ko)
KR (1) KR20190045038A (ko)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2020231181A1 (en) * 2019-05-16 2020-11-19 Samsung Electronics Co., Ltd. Method and device for providing voice recognition service
US11302331B2 (en) 2019-01-23 2022-04-12 Samsung Electronics Co., Ltd. Method and device for speech recognition
US11961522B2 (en) 2018-11-28 2024-04-16 Samsung Electronics Co., Ltd. Voice recognition device and method

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11710301B2 (en) 2019-02-06 2023-07-25 Samsung Electronics Co., Ltd. Apparatus for Q-learning for continuous actions with cross-entropy guided policies and method thereof
CN116453523B (zh) * 2023-06-19 2023-09-08 深圳博瑞天下科技有限公司 针对高并发的语音ai节点统筹处理方法及装置

Family Cites Families (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5638487A (en) 1994-12-30 1997-06-10 Purespeech, Inc. Automatic speech recognition
JP3576272B2 (ja) 1995-06-22 2004-10-13 シャープ株式会社 音声認識装置および方法
US7203643B2 (en) 2001-06-14 2007-04-10 Qualcomm Incorporated Method and apparatus for transmitting speech activity in distributed voice recognition systems
JP4074953B2 (ja) 2002-04-17 2008-04-16 三菱電機株式会社 冷却装置
AU2002363894A1 (en) * 2002-12-23 2004-07-14 Loquendo S.P.A. Method of optimising the execution of a neural network in a speech recognition system through conditionally skipping a variable number of frames
KR100574883B1 (ko) 2003-03-20 2006-04-27 주식회사 케이티 비음성 제거에 의한 음성 추출 방법
JP4379050B2 (ja) 2003-08-29 2009-12-09 カシオ計算機株式会社 音声認識装置、音声認識高速化方法、および、プログラム
KR100820141B1 (ko) 2005-12-08 2008-04-08 한국전자통신연구원 음성 구간 검출 장치 및 방법 그리고 음성 인식 시스템
JP4241771B2 (ja) 2006-07-04 2009-03-18 株式会社東芝 音声認識装置及びその方法
KR101253102B1 (ko) 2009-09-30 2013-04-10 한국전자통신연구원 음성인식을 위한 모델기반 왜곡 보상형 잡음 제거 장치 및 방법
US9520128B2 (en) * 2014-09-23 2016-12-13 Intel Corporation Frame skipping with extrapolation and outputs on demand neural network for automatic speech recognition
US9818409B2 (en) 2015-06-19 2017-11-14 Google Inc. Context-dependent modeling of phonemes
KR102423302B1 (ko) 2015-10-06 2022-07-19 삼성전자주식회사 음성 인식에서의 음향 점수 계산 장치 및 방법과, 음향 모델 학습 장치 및 방법
CN105741838B (zh) 2016-01-20 2019-10-15 百度在线网络技术(北京)有限公司 语音唤醒方法及装置

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11961522B2 (en) 2018-11-28 2024-04-16 Samsung Electronics Co., Ltd. Voice recognition device and method
US11302331B2 (en) 2019-01-23 2022-04-12 Samsung Electronics Co., Ltd. Method and device for speech recognition
WO2020231181A1 (en) * 2019-05-16 2020-11-19 Samsung Electronics Co., Ltd. Method and device for providing voice recognition service
US11605374B2 (en) 2019-05-16 2023-03-14 Samsung Electronics Co., Ltd. Method and device for providing voice recognition service

Also Published As

Publication number Publication date
JP7158236B2 (ja) 2022-10-21
US20190122654A1 (en) 2019-04-25
US11348572B2 (en) 2022-05-31
JP2019079038A (ja) 2019-05-23

Similar Documents

Publication Publication Date Title
KR20190045038A (ko) 음성 인식 방법 및 장치
CN109697977B (zh) 语音识别方法和设备
CN108496189B (zh) 用于正则化机器学习模型的方法、系统和存储介质
KR102410820B1 (ko) 뉴럴 네트워크를 이용한 인식 방법 및 장치 및 상기 뉴럴 네트워크를 트레이닝하는 방법 및 장치
JP7055630B2 (ja) 音声認識のための学習方法、学習装置、コンピュータプログラム及び記憶媒体
KR102158683B1 (ko) 외부 메모리로 신경망들 증강
KR20190069582A (ko) 보조 작업들을 통한 강화 학습
US20200311546A1 (en) Method and apparatus for partitioning deep neural networks
KR20180091842A (ko) 우선순위화된 경험 메모리를 사용한 신경 네트워크의 트레이닝
CN106462803B (zh) 增强具有外部存储器的神经网络
CN117787346A (zh) 前馈生成式神经网络
US11449731B2 (en) Update of attenuation coefficient for a model corresponding to time-series input data
US10909451B2 (en) Apparatus and method for learning a model corresponding to time-series input data
CN111598253A (zh) 使用教师退火来训练机器学习模型
US20180314978A1 (en) Learning apparatus and method for learning a model corresponding to a function changing in time series
KR20190136578A (ko) 음성 인식 방법 및 장치
US20210073645A1 (en) Learning apparatus and method, and program
JP7123938B2 (ja) データ・シーケンスに基づく予測モデルの双方向学習のための学習装置、方法及びコンピュータ・プログラム
KR20220032861A (ko) 하드웨어에서의 성능을 고려한 뉴럴 아키텍처 서치 방법 빛 장치
US20230108177A1 (en) Hardware-Aware Progressive Training Of Machine Learning Models
JP2024003643A (ja) ニューラルネットワークの学習方法、コンピュータプログラム、及び余寿命予測システム
JP6000153B2 (ja) フィラー遷移モデル学習装置と言語モデル学習装置とそれらの方法とプログラム
US11995555B1 (en) Training a neural network with quantized weights
WO2023059439A1 (en) Hardware-aware progressive training of machine learning models
KR20240035859A (ko) 기계 학습 모델의 분할 추론 연산 수행

Legal Events

Date Code Title Description
E902 Notification of reason for refusal