KR20170106445A - 배치된 단대단 음성 인식 - Google Patents

배치된 단대단 음성 인식 Download PDF

Info

Publication number
KR20170106445A
KR20170106445A KR1020177023173A KR20177023173A KR20170106445A KR 20170106445 A KR20170106445 A KR 20170106445A KR 1020177023173 A KR1020177023173 A KR 1020177023173A KR 20177023173 A KR20177023173 A KR 20177023173A KR 20170106445 A KR20170106445 A KR 20170106445A
Authority
KR
South Korea
Prior art keywords
training
model
layers
regression
speech
Prior art date
Application number
KR1020177023173A
Other languages
English (en)
Other versions
KR102008077B1 (ko
Inventor
브라이언 카탄자로
징둥 첸
마이크 흐샤노프스키
에리히 엘슨
제시 엥겔
크리스토퍼 포그너
수 한
아우니 하눈
라이언 프렌거
산지브 사다쉬
슈브하바라타 센굽타
다니 요가타마
충 왕
준 잔
진야오 추
다리오 아모디
Original Assignee
바이두 유에스에이 엘엘씨
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 바이두 유에스에이 엘엘씨 filed Critical 바이두 유에스에이 엘엘씨
Publication of KR20170106445A publication Critical patent/KR20170106445A/ko
Application granted granted Critical
Publication of KR102008077B1 publication Critical patent/KR102008077B1/ko

Links

Images

Classifications

    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10LSPEECH ANALYSIS OR SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING; SPEECH OR AUDIO CODING OR DECODING
    • G10L15/00Speech recognition
    • G10L15/08Speech classification or search
    • G10L15/16Speech classification or search using artificial neural 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/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/08Learning methods
    • G06N3/084Backpropagation, e.g. using gradient descent
    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10LSPEECH ANALYSIS OR SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING; SPEECH OR AUDIO CODING OR DECODING
    • G10L15/00Speech recognition
    • G10L15/02Feature extraction for speech recognition; Selection of recognition unit
    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10LSPEECH ANALYSIS OR SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING; 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 OR SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING; 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
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10LSPEECH ANALYSIS OR SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING; 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
    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10LSPEECH ANALYSIS OR SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING; 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/19Grammatical context, e.g. disambiguation of the recognition hypotheses based on word sequence rules
    • G10L15/197Probabilistic grammars, e.g. word n-grams
    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10LSPEECH ANALYSIS OR SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING; 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/03Speech or voice analysis techniques not restricted to a single one of groups G10L15/00 - G10L21/00 characterised by the type of extracted parameters
    • G10L25/18Speech or voice analysis techniques not restricted to a single one of groups G10L15/00 - G10L21/00 characterised by the type of extracted parameters the extracted parameters being spectral information of each sub-band
    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10LSPEECH ANALYSIS OR SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING; 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/03Speech or voice analysis techniques not restricted to a single one of groups G10L15/00 - G10L21/00 characterised by the type of extracted parameters
    • G10L25/21Speech or voice analysis techniques not restricted to a single one of groups G10L15/00 - G10L21/00 characterised by the type of extracted parameters the extracted parameters being power information
    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10LSPEECH ANALYSIS OR SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING; 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/0635Training updating or merging of old and new templates; Mean values; Weighting

Abstract

영어 또는 표준 중국어 등과 같은 확연히 다른 언어의 음성을 인식하기 위한 단대단 딥 러닝 시스템 및 방법의 실시예를 개시한다. 실시예에 있어서, 신경망으로 수동 엔지니어링된 부재의 전체적인 파이프라인을 대체함으로써, 단대단 학습은 잡음 환경, 억양 및 상이한 언어를 포함하는 여러가지 음성을 처리하는 것을 허용한다. 트레이닝된 실시예와 GPU를 이용하는 배치 디스패치 기술의 실시예를 데이터 센터에 이용함으로써, 상대적으로 낮은 코스트로 단대단 딥 러닝 시스템을 온라인 셋팅에 설치하여 큰 스케일로 사용자에게 서비스 제공 시 낮은 지연을 실현할 수 있다.

Description

배치된 단대단 음성 인식
본 출원은 2015년 11월 25일에 제출한 발명의 명칭이 "딥스피치2: 영어 및 표준 중국어의 단대단 음성 인식(Deep Speech 2: End-to-End Speech Recognition in English and Mandarin)"인 제62/260,206호(안건 번호: 28888-1990P) 미국 특허 임시출원의 우선권을 주장하는 바, 발명자로 Bryan Catanzaro, Jingdong Chen, Michael Chrzanowski, Erich Elsen, Jesse Engel, Christopher Fougner, Xu Han, Awni Hannun, Ryan Prenger, Sanjeev Satheesh, Shubhabrata Sengupta, Dani Yogatama, Chong Wang, Jun Zhan, Zhenyao Zhu 및 Dario Amodei가 나열되고, 상기 특허 문헌의 모든 내용은 참조로 본원에 원용된다.
본 출원은 또한 2016년 11월 21일에 제출한 발명의 명칭이 "배치된 단대단 음성 인식(DEPLOYED END-TO-END SPEECH RECOGNITION)"인 제15/358,083호(안건 번호: 28888-2078(BN151203USN1-1)) 공동 소유의 미국 특허 출원 및 발명의 명칭이 "단대단 음성 인식(END-TO-END SPEECH RECOGNITION)"인 제15/358,102호(안건 번호: 제28888-1990호(BN151203USN1))호 미국 특허 출원의 우선권을 주장하는 바, 발명자로 Bryan Catanzaro, Jingdong Chen, Michael Chrzanowski, Erich Elsen, Jesse Engel, Christopher Fougner, Xu Han, Awni Hannun, Ryan Prenger, Sanjeev Satheesh, Shubhabrata Sengupta, Dani Yogatama, Chong Wang, Jun Zhan, Zhenyao Zhu 및 Dario Amodei가 나열되고, 상기 각 특허 문헌의 모든 내용은 참조로 본원에 원용된다.
본 개시는 음성 인식에 관한 것으로, 특히는 단대단 음성 인식을 위한 시스템 및 방법에 관한 것이며, 확연히 다른 언어에 이용될 수 있다.
자동 음성 인식(ASR)은 전산언어학의 학제적 하위 영역에 관한 것으로, 언어학, 컴퓨터 과학 및 전기 공정 분야의 지식과 연구를 결합하여, 컴퓨터 및 컴퓨터화된 장치를 통해 구어를 텍스트로 인식하고 번역할 수 있는 방법 및 기술(예컨대, 지능 기술 및 로봇으로 분류된 그러한 방법 및 기술)을 개발한다.
신경망은 20세기 80년대 후반으로부터 ASR 중의 흥미있는 음향 모델링 방법으로 이용되었다. 이후로, 신경망은 음성 인식의 다양한 방면, 예컨대, 음소 분류, 고립 단어 인식 및 화자 적응과 같은 영역에 이용되고 있었다. 음성 인식의 많은 방면들은 이미 장단기 기억(LSTM) 및 회귀 신경망(RNN)에 관한 딥 러닝 방법을 통해 해결되었다.
음성 인식에서 직면한 문제 중 하나는, 음성 및 음향학의 다양한 변이성이다. 허용 가능한 정확도로 여러가지 언어의 응용의 지원에 적용하도록 음성 인식 장치를 구축하고 조정하는 것은, 특히 관련된 언어가 (예컨대 영어 및 표준 중국어) 확연히 다를 경우에 있어서 어려운 과제이다.
따라서, 개선된 단대단 음성 인식을 위한 시스템 및 방법에 대한 수요가 존재한다.
본 발명은 음성 오디오 전사를 위한 컴퓨터 구현 방법, 음성 전사를 위한 컴퓨터 구현 방법 및 비 일시적인 컴퓨터 판독 가능한 매체 또는 매질을 제공하는 것을 목적으로 한다.
본 발명의 일 양태에 있어서, 음성 오디오 전사를 위한 컴퓨터 구현 방법을 제공하고, 해당 방법은,
사용자로부터 입력 오디오를 수신하되, 상기 입력 오디오는 다수의 발언을 포함하는 단계;
상기 다수의 발언 중의 각 발언에 대해 일 세트의 스펙트로그램 프레임을 생성하는 단계;
상기 일 세트의 스펙트로그램 프레임을 회귀 신경망(RNN) 모델에 입력하되, 상기 RNN 모델은 하나 또는 다수의 콘볼루션 층 및 하나 또는 다수의 회귀층을 포함하고, 상기 RNN 모델은 트레이닝 데이터 세트로부터 샘플링된 다수의 미니 배치의 트레이닝 발언 시퀸스를 이용하여 사전 트레이닝되고, 다수의 미치 배치는 트레이닝 기간에 배치 정규화되어 상기 하나 또는 다수의 회귀층 중 적어도 하나 중의 사전 활성화를 정규화시키는 단계;
상기 RNN 모델로부터 하나 또는 다수의 예측된 문자의 확율 출력을 획득하는 단계; 및
각 발언의 가장 가능한 전사를 찾아내도록, 언어 모델에 제약된 상기 확율 출력을 이용하여 검색을 진행하되, 상기 언어 모델은, 상기 예측된 문자의 확율 출력으로부터 확정한 문자열을 하나의 단어 또는 다수의 단어로 해석하는 단계;를 포함한다.
본 발명의 다른 일 양태에 있어서, 하나 또는 다수의 명령어 시퀸스를 포함하는 비 일시적인 컴퓨터 판독 가능한 매체 또는 매질을 제공하고, 상기 명령어 시퀸스가 하나 또는 다수의 마이크로프로세서에 의해 실행될 경우,
입력 오디오를 수신하되, 상기 입력 오디오는 다수의 발언을 포함하는 단계;
상기 다수의 발언 중의 각 발언에 대해 일 세트의 스펙트로그램 프레임을 획득하는 단계;
상기 일 세트의 스펙트로그램 프레임을 신경망에 입력하되, 상기 신경망은 하나 또는 다수의 콘볼루션 층 및 하나 또는 다수의 회귀층을 포함하고, 상기 신경망 모델은, 트레이닝 데이터 세트로부터 샘플링된 다수의 미니 배치의 트레이닝 발언 시퀸스를 이용하여 사전 트레이닝되고, 다수의 미치 배치는 트레이닝 기간에 정규화되어 상기 하나 또는 다수의 콘볼루션 층 중 적어도 하나 중의 사전 활성화를 정규화시키는 단계;
사전 트레이닝된 신경망로부터 하나 또는 다수의 예측된 문자를의 확율 출력을 획득하는 단계; 및
각 발언의 가장 가능한 전사를 찾아내도록, 언어 모델에 제약된 상기 확율 출력을 이용하여 빔 탐색을 진행하되, 상기 언어 모델은, 상기 예측된 문자로부터 확정한 문자열을 하나의 단어 또는 다수의 단어로 해석하는 단계;를 수행한다.
본 발명의 다른 일 양태에 있어서, 음성 전사를 위한 컴퓨터 구현 방법을 제공하고, 해당 방법은,
발언에 대응되는 일 세트의 스펙트로그램 프레임을 수신하되, 상기 발언은 상기 일 세트의 스펙트로그램 프레임을 획득하는 과정에서, 기정된 수량의 시편의 스텝 크기를 스트라이드로 취하여 서브 샘플링되는 단계;
하나 또는 다수의 회귀층을 이용하여, 상기 일 세트의 스펙트로그램 프레임에 대응되는 특징 매트릭스를 획득하는 단계; 및
상기 하나 또는 다수의 회귀층 상에 위치한 행 콘볼루션 층을 이용하여, 획득한 특징 매트릭스를 기반으로 상기 현재 시간 스텝에 대응되는 하나 또는 다수의 예측된 문자를 획득하되, 상기 행 콘볼루션 층은 단방향 및 단순 순방향 층이고, 상기 예측된 문자는 영어 알파벳으로부터 강화된 중복되지 않은 바이그램을 포함하는 단계;를 포함하되,
상기 특징 매트릭스는 현재 시간 스텝 크기의 은닉 상태와 N 개의 시간 스텝에서의 미래 은닉 상태를 포함하고, N은 1보다 큰 것을 특징으로 한다.
본원에는 단대단 학습의 주요한 장점들을 예시한 음성 시스템의 실시예들이 개시된다. 이러한 시스템(통상적으로 딥스피치2, 딥스피치2 ASR, 딥스피치2 ASR 파이프라인 또는 DS2로 지칭됨)의 실시예는 여러개의 벤치마크에서 아마존 메커니컬 터크(Amazon Mechanical Turk) 인간 작업자의 정확도에 근사하거나 초과하고, 아주 적은 수정으로 다국 언어에서 작업하며, 생산 설정(production setting)에 배치 가능하다.
여기서, 첨부된 도면에 도시될 수 있는 본 발명의 실시예를 참조하기로 한다. 첨부된 도면들은 설명의 목적으로 제공될 뿐, 한정적인 것으로 이해해서는 아니된다. 비록, 본 발명은 이러한 실시예들의 문맥에서 전체적으로 설명되나, 본 발명의 범위를 이러한 특정 실시예에 한정하기 위한 것이 아님을 이해하여야 한다.
도면 1("도1")은 본 개시의 실시예에 따른 단대단 딥 러닝 모델의 아키텍처를 나타낸다.
도2는 본 개시의 실시예에 따른 딥 러닝 모델의 트레이닝 방법을 나타낸다.
도3은 본 개시의 실시예에 따른 시퀸스별 배치 정규화(sequence-wise batch normalization) 방법을 나타낸다.
도4는 그래프로 본 개시의 실시예에 따른 배치 정규화를 이용하여 트레이닝한 것과 배치 정규화를 이용하지 않고 트레이닝한 두개의 모델의 트레이닝 곡선을 나타낸다.
도5는 본 개시의 실시예에 따른 커리큘럼 학습 전략(curriculum learning strategy)을 이용하여 RNN 모델을 트레이닝하는 방법을 나타낸다.
도6은 본 개시의 실시예에 따른 출력 전사를 위한 이중 자소 분할(bi-graphemes segmentation)을 이용하여 RNN 모델을 트레이닝하는 방법을 나타낸다.
도7은 본 개시의 실시예에 따른 미래 콘텍스트 크기가 2인 행 콘볼루션 아키텍처를 나타낸다.
도8은 본 개시의 실시예에 따른 단방향 RNN 모델을 구비한 오디오 전사 방법을 나타낸다.
도9는 본 개시의 실시예에 따른 다중 언어에 적용되는 음성 전사 모델에 대해 트레이닝을 진행하는 방법을 나타낸다.
도10은 본 개시의 실시예에 따른 2개의 망에 대한 스케일링 비교를 나타낸다.
도11은 본 개시의 실시예에 따른 CTC(Connectionist Temporal Classification) 기법의 GPU 구현을 위한 순방향 전송 및 역전파를 나타낸다.
도12는 본 개시의 실시예에 따른 CTC 손실 함수의 GPU 구현을 위한 방법을 나타낸다.
도13은 본 개시의 실시예에 따른 음성 전사 트레이닝을 위한 데이터 수집 방법을 나타낸다.
도14는 본 개시의 실시예에 따른 지정한 크기의 배치로 요청을 처리하는 확율을 나타낸다.
도15는 본 개시의 실시예에 따른 서버 부하 함수의 중간값 및 98 백분위수 지연을 나타낸다.
도16은 본 개시의 실시예에 따른 커널의 비교를 나타낸다.
도17은 본 개시의 실시예에 따른 트레이닝 노드의 예시도를 나타내며, 여기서, PLX는 PCI 스위치를 가리키고, 점선 박스는 동일한 PCI 루트 콤플렉스에 의해 연결된 모든 장치를 포함한다.
도18은 본 개시의 실시예에 따른 컴퓨팅 시스템의 간략화된 블록도를 나타낸다.
아래의 설명에서, 설명의 목적을 위하여 본 발명의 이해에 도움을 제공하도록 구체적인 세부 사항을 설명하기로 한다. 그러나, 이러한 세부 사항들이 없이도 본 발명을 실천할 수 있음을 해당 기술분야에서의 당업자는 자명할 것이다. 또한, 아래에 설명되는 본 발명의 세부 사항은 예컨대 과정, 장치, 시스템, 설비 또는 방법 등의 여러가지 방식으로 유형의 컴퓨터 판독 가능한 매체에 구현될 수 있음을 해당 기술분야에서의 당업자는 자명할 것이다.
도면에 도시된 부재 또는 모듈들은 본 발명의 예시적인 실시예에 대한 설명이며, 본 발명을 모호하게 하는 것을 피면하기 위한 것이다. 전체적인 논술에 있어서, 부재는 서브 유닛을 포함할 수 있는 독립적인 기능 유닛으로 설명될 수 있으나, 각 부재 또는 그의 일 부분이 독립적인 부재로 분할되거나 단일 시스템 또는 부재에 집적되는 것을 포함하여 함께 집적될 수 있다는 것을 해당 기술분야에서의 당업자는 자명할 것이다. 본 명세서에서 논술되는 기능 또는 조작은 부재로 실현될 수 있음을 유의하여야 한다. 해당 부재는 소프트웨어, 하드웨어 또는 이들의 조합으로 실현될 수 있다.
또한, 도면 중의 부재 또는 시스템 사이의 연결은 직접적인 연결에 한정되지 않는다. 반면, 이러한 부재들 사이의 데이터는 중간 부재에 의해 수정되거나, 리포맷되거나 기타 방식으로 수정될 수 있다. 또한, 더욱 많거나 더욱 적은 연결을 이용할 수 있다. "결합", "연결" 또는 "통신적인 결합" 등 용어는 직접적인 연결, 하나 또는 다수의 중간 장치를 통한 간접적인 연결 및 무선 연결을 포함하는 것으로 이해하여야 함을 유의하여야 한다.
본 명세서에서 "일 실시예", "바람직한 실시예", "실시예" 또는 "실시예들"에 대한 원용은 해당 실시예를 결부하여 설명한 특정된 특징, 구조, 특성 또는 기능이 본 발명의 적어도 하나의 실시예에 포함되는 것을 의미하며, 하나 이상의 실시예에 포함되는 것을 의미할 수도 있다. 또한, 본 명세서 중의 각 위치의 상술한 문구가 나타날 경우, 반드시 동일한 하나 또는 다수의 실시예를 가리키는 것은 아니다. 또한, 명세서 중의 각 위치에서 이용되는 일부 용어는 설명을 위한 것일 뿐, 한정을 위한 것으로 해석하여서는 아니된다. 본 명세서에 이용되는 임의의 제목은 단지 구성의 목적으로 사용될 뿐, 명세서 또는 특허 청구 범위를 한정하기 위한 것은 아니다.
또한, (1) 일부의 단계들이 선택적으로 실행될 수도 있고, (2) 각 단계들이 본 명세서에 기재된 구체적인 순서에 한정되지 않을 수도 있고, (3) 일부의 단계들이 서로 다른 순서로 실행될 수도 있으며, (4) 일부의 단계들은 동시에 실행될 수도 있다.
본원에 제공되는 임의의 실험 및 결과는 설명의 방식으로 제공되며, 특정 조건하에서 구체적인 실시예를 이용하여 진행됨을 유의하여야 한다. 따라서, 이러한 실험 및 그에 따른 결과들은 모두 본 특허 문헌에 기재된 범위를 제한하기 위한 것이 아니다.
1. 도입부
현재 최첨단의 자동 음성 인식(ASR) 파이프라인에는 이미 몇십년간의 수공업 분야(hand-engineered domain)의 지식이 도입되었다. 하나의 간단하나 효과적인 대체 방안으로, 딥 러닝을 이용하여 단일 모델로 대부분의 모델을 대체하도록 이러한 ASR모델에 대해 단대단으로 트레이닝을 진행하는 것이다. 본 특허 문헌에는, 본원에는 단대단 학습의 주요한 장점들을 예시한 음성 시스템의 실시예들이 개시된다. 이러한 시스템(통상적으로 딥스피치2, 딥스피치2 ASR, 딥스피치2 ASR 파이프라인 또는 DS2로 지칭됨)의 실시예는 여러개의 벤치마크에서 아마존 메커니컬 터크(Amazon Mechanical Turk) 인간 작업자의 정확도에 근사하거나 초과하고, 아주 적은 수정으로 다국 언어에서 작동하며, 생산 설정(production setting)에 배치 가능하다. 이러한 실시예는 인간에 의해 처리되는 음성 인식 컨텍스트의 모든 범위를 해결하는 단일 ASR 시스템을 향한 중요한 한 걸음이 될 것이다. 이러한 실시예는 단대단 딥 러닝(end-to-end deep learning)에 구축되므로, 일련의 딥 러닝 기술을 이용할 수 있다. 이러한 딥 러닝 기술은 대형 트레이닝 세트의 포획, 고성능 컴퓨팅에 의한 보다 큰 모델에 대한 트레이닝, 및 신경망 아키텍처의 공간에 대한 방법론적 탐색을 포함한다. 이는 이러한 기술을 통해 종래의 단대단 시스템의 오류율을 43% 저감시키고, 표준 중국어 음성을 고정밀도로 식별할 수도 있음을 보여준다.
음성 인식에서의 하나의 어려운 문제는 음성과 음향의 변이성 범위가 넓다는 것이다. 그 결과, 현대 ASR 파이프라인은 수많은 부재들로 구성되고, 복잡한 특징 추출, 음향 모델, 언어 및 발음 모델, 화자 적응법 등을 포함한다. 이러한 독립적인 부재들을 구축하고 조정하여 하나의 새로운 음성 인식 모델(speech recognizer)을 개발하는 것은 아주 어려우며, 특히나 새로운 언어에 대해 더욱 어렵다. 사실상, 많은 부분들은 상이한 환경 또는 언어에서 양호한 결과를 얻지 못하였으며, 허용 가능한 정확도를 제공하기 위하여, 다중의 응용 주문형 시스템을 지원하여야 한다. 이러한 사태는 인간 음성 인식과 상이한 바: 사람들은 일반적인 기능을 이용하여 언어를 학습하고, 어린 시절에 임의의 언어를 학습할 수 있는 타고난 능력을 가진다. 듣고 읽는 것을 학습한 후, 대부분의 사람들은 전사(transcription) 과정에 대한 부가적인 트레이닝이 없이도 외부 환경, 화자 억양 및 잡음의 변화에 강인한 음성 전사를 진행할 수 있다. 음성 인식 사용자의 기대를 만족시키기 위하여, 단일 엔진은 반드시 유사한 능력이 습득되어야 하고; 작은 변경만으로 대부분의 응용을 처리할 수 있어야 하며, 급격한 변화가 없이도 새로운 언어를 처음부터 학습할 수 있어야 한다고 판단된다. 본원에 도시된 단대단 시스템의 실시예는 이러한 목표에 근접한 바, 2개의 상이한 언어(표준 중국어 및 영어)의 일부 테스트에서 인간 작업자에 근사하거나 초과하도록 한다.
딥스피치2 (DS2) 시스템의 실시예는 하나의 단대단 딥 러닝 시스템이므로, 모델 아키텍처, 대형의 라벨링된 트레이닝 데이터세트, 계산 스케일과 같은 3개의 중요한 부분에 초점을 맞춰 성능의 향상을 실현할 수 있다. 이러한 방안은 기타 응용 분야(예컨대, 컴퓨터 비전 및 자연 언어)에서도 큰 발전을 달성하였다. 본 특허 문서는 음성 인식을 위한 이러한 3개의 분야에 대한 공헌을 상세히 설명하며, 모델 아키텍처의 광범위한 조사, 데이터의 영향 및 인식 성능 방면에서의 모델 사이즈(model size)를 포함한다. 특히, 신경망으로 진행한 수많은 실험을 설명하는 바, 이러한 신경망은 오디오 중의 음성 전사를 예측하도록 CTC(Connectionist Temporal Classification, 연결성 시간 분류법) 손실 함수로 트레이닝을 진행한다. 재귀 연결(recurrent connections), 콘볼루션 필터(convolutionalfilters), 비선형 층(nonlinearities)과 같은 수많은 층을 포함하는 망을 고려하였을 뿐만 아니라, RNN에 적용되는 배치 정규화(통상적으로 BatchNorm로 지칭됨)의 구체적인 사례의 영향도 고려하였다. 이러한 망의 실시예들이 이전의 망들보다 더 좋은 예측 결과를 나타내는 것을 발견하였을 뿐만 아니라, 재현성 모델의 실시예도 정확도 면에서 현저히 저감되지 않으면서 또는 거의 저감되지 않으면서 생산 설정에 배치될 수 있음을 발견하였다.
보다 좋은 모델 아키텍처의 탐색 외에도, 시스템은 대량의 트레이닝 데이터로부터 크게 이득을 본다. 본 명세서에는 데이터 캡처링 파이프라인(data capturing pipeline)의 실시예가 설명되며, 이는 종래에 음성 인식 시스템을 트레이닝하는 데이터 세트보다 더욱 큰 데이터 세트를 생성할 수 있다. 본 실시예에 있어서, 영어 음성 인식 시스템은 11,940 시간의 음성에서 트레이닝을 진행하고, 표준 중국어는 9,400 시간의 음성에서 트레이닝을 진행한다. 실시예에 있어서, 데이터 합성을 이용하여 트레이닝 동안에 데이터를 더 강화시킨다.
대량의 데이터에서의 트레이닝은 통상적으로 보다 큰 모델을 이용할 것을 요구한다. 사실상, 본 명세서에 기재된 실시예는 종래에 이용한 시스템보다 더욱 많은 파라미터를 구비한다. 이러한 스케일로 단일 모델을 트레이닝하는 것은 수십개의 exaFLOP가 요구되며, 여기서, 1개의 exaFLOP = 1018개의 부동소수점 연산(Floating-point Operations)이고, 이는 단일 그래픽 처리 유닛(GPU)에서 실행될 경우 3주 내지 6주의 시간이 소요된다. 따라서, 모델 탐색은 시간 소모가 상당히 큰 과정이므로, 8개 또는 16개의 GPU를 이용하는 고도로 최적화된 트레이닝 시스템을 구축하여 하나의 모델을 트레이닝하였다. 종래의 파라미터 서버 및 비동기 업데이트를 이용한 큰 스케일의 트레이닝 접근방식과 반대로, 본 발명은 동기 확율 적 기울기 하강(stochastic gradient descent, SGD)을 이용하는데, 이는 새로운 아이디어를 테스트함에 있어서 더욱 용이하게 디버깅할 수 있고 동일한 수준의 데이터 병행처리에서 더욱 빠르게 수렴될 수 있기 때문이다. 전체적인 시스템이 더욱 효율적이도록, 본 명세서에는 본 실시예에서 이용되는 단일 GPU의 최적화 및 다중 GPU의 확장성의 개선에 대해 설명을 진행한다. 실시예에 있어서, 확장성을 개선하기 위해, 통상적으로 고성능 컴퓨팅(HPC)에서 발견된 최적화 기법을 사용한다. 이러한 최적화는 GPU 및 사용자 정의 메모리 할당 장치에서 CTC 손실 함수를 신속하게 구현하는 것을 포함한다. 또한 신중하게 통합된 계산 노드(carefully integrated compute nodes) 및 전체 저감의 사용자 정의 구현(a custom implementation of all-reduce)을 이용하여 GPU 사이의 통신을 가속시킨다. 16 개의 GPU에서 트레이닝을 진행할 경우, 시스템은 전체적으로 50 테라플롭스/초(teraFLOP/second)를 유지한다. 이는 각 GPU에서 3 테라플롭스/초에 해당하며, 대략 이론적인 최고 성능의 약 50%에 해당한다. 이러한 확장성과 효율은 트레이닝 시간을 3일 내지 5일로 저감시킴으로써, 모델과 데이터 세트 상에서 더욱 빠르게 반복(iterating)되는 것을 허용한다.
여러개의 공개적으로 이용 가능한 테스트 데이터 세트에 대해 해당 시스템의 실시예를 벤치마크하고, 결과를 종래의 단대단 시스템과 비교하였다. 특정 벤치마크(이러한 벤치마크는 그의 데이터 세트에 대한 조정을 통해 개선할 수 있음)에서 뿐만 아니라, 일련의 상이한 정경을 반영하는 다양한 벤치마크에서도 인간 수준의 성능을 실현하는 것에 목표를 두었다. 이를 위해, 비교를 진행할 수 있도록, 각 벤치마크에 대해 인간 작업자의 성능도 측정하였다. 그 결과, 딥스피치2 시스템의 실시예가 일부 통상적인 연구의 벤치마크에서 인간을 초과하며, 훨씬 더 어려운 케이스에서는 양자간의 차이를 현저히 저감시키는 것을 발견하였다. 공개된 벤치마크 이외에, 실제 제품 정경을 반영하는 내부 데이터 세트에서의 시스템의 표준 중국어의 실시예의 성능도 보여준다.
딥 러닝 시스템은 일정 스케일에서의 배치에서 어려울 수 있다. 대형 신경망이 각 사용자 발언에 대해 평가를 진행하는 것은 컴퓨팅 상 많은 코스트를 소요하고, 일부 네트워크 아키텍처들은 기타 아키텍처들보다 더 쉽게 배치된다. 모델 탐색을 통해, 정확도가 높고 배치 가능한 네트워크 아키텍처의 실시예를 획득하였고, 이는 본 명세서에서 설명된다. 실시예에 있어서, GPU 하드웨어에 적용되는 배치 처리 방안(통상적으로 배치 디스패치(Batch Dispatch)로 지칭될 수 있음)도 역시 개발 및 이용되었으며, 이는 생산 서버 상에서 효과적이고 실시간으로 표준 중국어 엔진의 실시예를 구현하도록 한다. 서버에 10개의 동시 오디오 스트림이 로딩된 경우, 구현 실시예는 67 밀리세컨드의 제98 백분위 수 컴퓨팅 지연을 실현한다.
본 특허 문서에서 해당 부분의 나머지 내용은 아래와 같다. 우선, 제2부분에서의 딥 러닝 단대단 음성 인식 및 확장성의 일부 기본적인 배경 정보를 시작으로 한다. 제3부분에서 모델의 실시예의 아키텍처 개선 및 알고리즘 개선의 실시예에 대해 설명을 진행하며, 제4부분에서는 어떻게 이들에 대해 효율적으로 컴퓨팅을 진행하는 지에 대한 예시를 해석한다. 본 명세서의 제5부분에서는 또한 데이트를 트레이닝하고 트레이닝 세트를 더 강화시키는 단계에 대해 토론을 진행한다. 제6부분에서는 DS2 시스템의 실시예가 영어 및 표준 중국어에서의 분석 결과를 제시한다. 제7부분에서는 실제 사용자에게 DS2의 실시예를 배치하는 단계에 대한 설명을 제공한다.
2. 배경
피드 포워드 신경망에 대한 음향 모델의 탐색은 이미 20여년 남짓이 지속되어 왔다. 회귀 신경망과 콘볼루션망도 동일한 시간대에 음성 인식에 이용되었다. 최근에, 딥 신경망(DNN)은 이미 ASR 파이프라인에서의 고정 장치로 되었고, 거의 모든 최첨단 음성 작업에 모두 임의의 형식의 딥 신경망이 포함된다. 콘볼루션망도 음향 모델에 유리하다는 것이 밝혀졌다. 회귀 신경망(전형적으로, LSTM)은 최첨단 인식 장치에 배치되기 시작한지 얼마 안되었으며, 콘볼루션 층과 함께 작동하여 특징 추출에 이용된다. 양방향 회귀 및 단방향 회귀를 구비하는 모델에 대해서도 탐색을 진행하였다.
단대단 음성 인식은 활발한 연구 영역이며, 딥 신경망(DNN)-은닉 마르코프 모델(HMM)(DNN-HMM) 및 그의 독립적인 모델의 출력에 대해 재평점을 진행하는데 이용될 경우, 상당히 우수한 결과를 나타낸다. 현재, 통상적으로 2가지 방법을 이용하여 길이 가변의 오디오 시퀸스를 길이 가변의 전사에 직접적으로 매핑시킨다. RNN 인코더-디코더 패러다임은 인코더 RNN을 이용하여 입력을 고정 길이의 벡터에 매핑시키고, 디코더 망을 이용하여 고정 길이의 벡터를 출력 예측 시퀸스로 확장시킨다. 디코더에 주의 메커니즘을 추가하는 것은 시스템의 성능, 특히는 긴 입력 또는 긴 출력을 구비하는 시스템의 성능을 대대적으로 향상시킨다. 음성에 있어서, 주의력을 가진 RNN 인코더-디코더는 음소 또는 음절을 예측함에 있어서 뛰어난 성능을 보여준다.
길이 가변의 오디오 입력을 길이 가변의 출력에 매핑시키는 다른 하나의 자주 쓰이는 기술은 RNN과 결합되어 시간 정보에 대해 모델링을 진행하는 CTC 손실 함수이다. CTC-RNN 모델은 자소 출력을 구비한 단대단 음성 인식에서 성능이 양호하다. CTC-RNN 모델은 음소 예측 방면에서도 어휘집을 구비하여야 하나, 이러한 경우에도 아주 양호한 성능을 나타낸다. 또한, 가우시안 혼합 모델(GMM)-은닉 마르코프 모델(HMM)(GMM-HMM) 시스템으로부터 프레임 방식으로 정렬된 DNN 크로스 엔트로피 망을 이용하여 CTC-RNN 망에 대해 사전 트레이닝을 진행하여야 할 필요가 있다. 반대로, 본 명세서에서 토론하는 CTC-RNN 망의 실시예는 처음부터 트레이닝된 것이며, 사전 트레이닝을 위한 프레임 별 정렬을 필요로 하지 않는다.
현재, 딥 러닝의 발굴 스케일은 해당 분야의 성공에 대해 지극히 중요하다. 단일 GPU 상에서의 트레이닝은 실질적인 성능 향상을 초래하고, 이는 이어서 2 개 이상의 GPU에 선형적으로 확장된다. 저레벨의 심층 학습 프리미티브에 대한 개별 GPU 효율을 향상시키기 위한 노력은 유리하다. 과거의 작업을 기반으로, 모델 병행성, 데이터 병행성 또는 양자의 조합을 이용하여, 음성 인식에서 딥 RNN을 트레이닝하기 위한 빠르고 확장성이 뛰어난 시스템의 실시예를 구축하였다.
데이터는 또한 단대단 음성 인식의 성공의 핵심이며, 기존의 접근방식에서 7000시간을 초과하는 라벨링된 음성을 이용하였다. 데이터의 증가는 컴퓨터 비전에서 딥 러닝의 성능의 개선에 아주 효과적이다. 이는 또한 음성 시스템을 개선할 수 있음도 증명되었다. 음성에서 데이터 증가에 이용되는 기법은 간단한 잡음의 추가로부터 복잡한 섭동(perturbations)까지 포함되며, 예컨대 화자의 성도 길이와 발화율의 변화를 시뮬레이팅한다.
실시예에 있어서, 기존의 음성 시스템도 새로운 데이터 수집을 부트스트랩하도록 이용될 수 있다. 하나의 접근 방식에 있어서, 하나의 음성 엔진을 이용하여 1,000시간의 낭독 음성을 정렬하고 필터링하도록 이용될 수도 있다. 다른 하나의 방법에 있어서, 헤비급 오프라인 음성 인식 장치를 이용하여 수만 시간의 음성의 전사를 생성한다. 이어서, 필터를 통과시키고 인식 장치를 다시 트레이닝시키는데 이용하여, 현저한 성능 향상을 실현하였다. 이러한 방법들로부터, 해당 시스템을 위한 라벨링된 데이터의 유효 수량을 증가시키도록 보다 큰 데이터 세트 및 데이터 증가에 대해 부트스트랩을 진행하는 것에 대한 영감을 얻었다.
3. 모델 아키텍처의 실시예
단일 회귀층을 구비하는 간단한 다층 모델은 수천시간의 라벨링된 음성을 발굴할 수 없다. 데이터 세트로부터 이렇게 큰 데이터를 학습하기 위하여, 모델의 용량을 깊이로 증가시킨다. 실시예에 있어서, 최대 11층을 구비하는 수많은 양방향 회귀층 및 콘볼루션 층을 포함하는 아키텍처를 탐색하였다. 각 데이터의 예시에 있어서, 이러한 모델의 컴퓨팅 량은 기존 방법에서의 모델의 컴퓨팅량의 거의 8배에 달하며, 이는 빠른 최적화 및 컴퓨팅에 대해 지극히 중요하다.
실시예에 있어서, 이러한 모델을 성공적으로 최적화하기 위하여, SortaGrad로 지칭되는 RNN의 배치 정규화 및 신형의 최적화 과정을 이용한다. 실시예에 있어서, 각 예시마다 컴퓨팅이 3배씩 저감되도록 RNN 입력 사이의 긴 스트라이드도 이용되었다. CTC와 함께 더욱 양호하게 작동하도록 일부 수정이 필요하지만, 이는 트레이닝과 평가에 모두 유리하다. 마지막으로, 많은 연구 결과들은 모두 양방향 회귀층의 실시예를 이용하는 것을 기반으로 하나, 단방향 회귀층만을 이용하는 우수한 모델이 존재함을 발견하였고, 이는 바로 이러한 모델들로 하여금 더욱 용이하게 배치되는 특징이다. 이러한 특징들을 통합함으로써 딥 RNN을 더욱 용이하게 최적화시키고, 일부 실시예들은 보다 작은 베이스라인 모델 상에서 영어 오류율 및 표준 중국어 오류율 두가지 방면에서 모두 40% 이상으로 성능을 향상시킨다.
3.1 서두
도1은 본 개시의 실시예에 따른 단대단 딥 러닝 시스템의 일 예시적인 아키텍처를 나타낸다. 설명된 실시예에 있어서, 아키텍처(100)는 트레이닝되어 스펙트로그램(105)을 섭취하고 텍스트 전사를 생성하는 회귀 신경망(RNN) 모델을 포함한다. 실시예에 있어서, 모델(100)은 하나 또는 다수의 콘볼루션 층(110)을 포함한 여러 층을 포함하고, 이어서 하나 또는 다수의 회귀층(게이트된 회귀 유닛(GRU)층일 수 있음)(115)을 포함하고, 이어서 하나 또는 다수의 완전 연결층(120)을 포함한다. 콘볼루션 층은 불변 콘볼루션 층일 수 있다. 예컨대, 콘볼루션 층은 시간 도메인 및 주파수 도메인 양자 (2D 불변성)에 또는 단지 시간 도메인(또는 주파수 도메인)(1D 불변성)에 위치할 수 있다.
실시예에 있어서, 도1에 도시된 DS2 시스템의 아키텍처를 이용하여 영어 음성 및 표준 중국어 음성 양자에 대해 트레이닝을 진행한다. 실시예에서, 해당 아키텍처의 변형이 사용될 수 있다. 예컨대, 실시예에서, 콘볼루션 층의 수량은 1에서 3으로 변화되고, 회귀층 또는 GRU층의 수량은 1에서 7로 변화된다.
실시예에 있어서, 하나 또는 다수의 CTC(Connectionist Temporal Classification)층(125)을 이용하여 RNN 모델에 대해 트레이닝을 진행할 수 있다. CTC층은 softmax층을 포함할 수 있다. 실시예에 있어서, 배치 정규화(BatchNorm)는 콘볼루션 층(110), 회귀층(115) 및/또는 완전 연결층(120) 중의 하나 또는 다수의 미니 배치 발언에 이용되어, 이러한 망에 대한 트레이닝을 가속시키며, 이는 이들이 흔히 최적화 문제에 직면하게 되기 때문이다. 미니 배치는 하나 또는 다수의 표준에 따라 함께 조합될 수 있는 발언 집합이며, 함께 그룹 또는 배치로 처리될 수 있다. 실시예에 있어서, 입력 오디오는 총파워가 하나 또는 다수의 미니 배치 사이에서 일치성을 유지하여 모델 또는 모델 집합에 대한 트레이닝을 가속시키도록 정규화될 수 있다. 배치 정규화에 대한 상세한 설명은 제3.2섹션에서 진행하기로 한다.
도2는 본 개시의 실시예에 따른 RNN 모델을 트레이닝하기 위한 방법을 나타낸다. 트레이닝 세트X = {(x(1), y(1)), (x(2), y(2)), …}로부터 샘플로서 단일 발언x(i) 및 쌍을 이루는 실제 라벨y(i)을 샘플링한다. 각 발언x(i)은 길이가 T(i)인 시간 서열이고, 여기서, 각 시편은 오디오 특징 벡터이고, x(i), t = 0, …, T(i) 1이다. 파워 정규화된 오디오 클립의 스펙트로그램은 시스템의 특징으로 사용되고, 따라서, x(i) t , p는 오디오 프레임 중 시간 t에서의 제p'주파수 빈의 파워를 나타낸다. RNN은 입력 서열x(i)을 최종 전사y(i)로 변환시키는 것을 목표로 한다. 기록의 편이를 위하여, 윗첨자를 제거하고, x는 선택된 발언을 표시하며, y는 대응되는 라벨을 표시한다.
실시예에 있어서, 스펙트로그램 프레임의 시간 서열x(t)을 포함하는 발언x은 회귀 신경망(RNN) 모델에 입력(205)되고, 여기서, 발언x 및 관련된 라벨y은 트레이닝 세트로부터 샘플링된다.
RNN 모델은 각 언어의 자소를 출력한다. 실시예에 있어서, 각 출력 시간 스텝t에서 RNN은 문자p(lt | x)에 대해 예측(210)을 진행하며, 여기서, lt는 알파벳 중의 자모 또는 빈칸 부호이다. 영어에서, l∈{a, b, c, …, z, 띄어쓰기, 아포스트로피, 빈칸}이고, 여기서, 아포스트로피 및 띄어쓰기 부호는 단어 경계를 표시하기 위하여 추가된 것이다. 표준 중국어 시스템에 있어서, 망은 중국어 간체자를 출력한다. 이에 대한 더욱 상세한 설명은 제3.9섹션에서 진해하기로 한다.
h0이 입력x을 표시한다고 약정할 경우, 층 l에서의 은닉 표현을 hl로 정한다. 실시예에 있어서, 해당 망의 밑바탕은 입력의 시간 차원 상에서의 하나 또는 다수의 콘볼루션이다. 실시예에 있어서, 사이즈c의 컨텍스트 윈도우에 대해, 콘볼루션 층의 시간 스텝t에서의 제i 활성화는 이하 수학식으로 주어진다.
Figure pct00001
여기서, o는 제i 필터와 이전 층 활성화의 컨텍스트 윈도우 사이의 요소별 승적을 표시하고, f는 일진법 비선형 함수를 표시한다. 실시예에 있어서, 클립된 정류 선형(ReLU) 함수σ(x) = min{max{x, 0}, 20}를 비선형으로 사용한다. 실시예에 있어서, 일부 층에서, 통상적으로 제1층은 콘볼루션을 s 프레임으로 스트라이딩하여 서브 샘플링된다. 여기서 목표는 상술한 회귀층의 시간 스텝의 수량을 저감시키는 것이다.
실시예에 있어서, 콘볼루션 층(110) 다음으로 지향성 회귀층 또는 게이트된 회귀 유닛(GRU)일 수 있는 하나 또는 다수의 양방향 회귀층(115)이다. 순방향 시간
Figure pct00002
및 역방향 시간
Figure pct00003
회귀층 활성화는 아래와 같이 산출된다.
Figure pct00004
상기 2 세트의 활성화는 합산되어 층
Figure pct00005
의 출력 활성화를 형성한다. 실시예에 있어서, 함수
Figure pct00006
는 표준 회귀 연산일 수 있다.
Figure pct00007
여기서,
Figure pct00008
Figure pct00009
는 입력 은닉 가중 매트릭스이고,
Figure pct00010
Figure pct00011
는 회귀 가중 매트릭스이고,
Figure pct00012
는 편차항이며,
Figure pct00013
Figure pct00014
은 사전 활성화를 표시한다. 실시예에 있어서, 입력 은닉 가중은 회귀의 양방향에 대해 모두 공유된다. 실시예에 있어서, 함수
Figure pct00015
Figure pct00016
도 더욱 복잡한 회귀 연산을 표시할 수 있으며, 예컨대, 장단기 기억(LSTM) 유닛 및 게이트된 회귀 유닛(GRU)일 수 있다.
실시예에 있어서, 양방향 회귀층 이후, 하나 또는 다수의 완전 연결층(120)이 아래와 같은 등식으로 적용된다.
Figure pct00017
실시예에 있어서, 출력층L은 아래와 같은 등식으로 문자의 확율 분포를 산출(215)하는 Softmax층이다.
Figure pct00018
여기서, k는 알파벳 중의 하나의 문자(빈칸 부호를 포함)를 표시한다.
실시예에 있어서, CTC 손실 함수(125)을 이용하여 해당 모델을 트레이닝한다. 입력 출력쌍(x, y) 및 망θ의 현재 파라미터가 주어질 경우, 해당 망의 파라미터에 관한 손실 함수
Figure pct00019
(x, y; θ) 및 그의 도함수
Figure pct00020
를 산출(220)한다. 이어서, 해당 도함수를 이용하여 시간 알고리즘에 따라 역전파를 통해 해당 망의 파라미터를 업데이트(230)한다.
이하 하위 섹션에서 아키텍처 및 알고리즘의 개선을 설명하게 된다. 달리 명시되지 않는 한, 이러한 개선은 언어와 무관한 것이다. 리포트의 결과는 개발 세트를 제출한 영어 화자에 대한 것이고, 상기 개발 세트는 2048개의 주요한 낭독 음성의 발언을 포함한 하나의 데이터 세트이다. 모델의 실시예는 제5섹션에서 설명되는 데이터 세트 상에서 트레이닝된다. 영어 시스템의 단어 오류율(Word Error Rate, WER) 및 표준 중국어 시스템의 문자 오류율(Character Error Rate, CER)이 보고된다. 이러한 2가지 경우에, 언어 모델은 제3.8섹션에 설명된 바와 같이 빔 탐색 디코딩 단계에 통합된다.
3.2 딥 RNN을 위한 배치 정규화
모델의 실시예가 트레이닝 세트가 스케일링됨에 따라 효과적으로 스케일링되도록, 각 층을 더 크게 증가하는 것이 아니라, 더욱 많은 은닉층을 추가하여 망의 깊이를 증가한다. 이러한 방식으로 종래의 작업에 대해 이미 연속된 양방향 회귀층의 수량을 증가하여 검사하였다. 실시예에 있어서, 배치 정규화(통상적으로 BatchNorm으로 지칭됨)는 이러한 망의 트레이닝을 가속시키는 기술로 밝혀졌으며, 이는 이들이 흔히 최적화 문제에 직면하게 되기 때문이다.
최근의 연구에 의하면, BatchNorm이 회귀망의 수렴 속도를 향상시키나, 일반화 성능 방면에서 아무런 개선도 보여지지 않는다. 반대로, 본 출원의 모델의 실시예는, 큰 데이터 세트 상에서 간단한 RNN의 아주 깊은 망에 적용될 경우, 배치 정규화가 최종 일반화 오류율을 크게 개선할 뿐만 아니라 아울러 트레이닝을 크게 가속시키는 것으로 나타났다.
실시예에 있어서, 비선형f (·) 이전의 아핀 변환을 포함하는 전형적인 피드 포워드 층에서, f (Wh + b) 대신에 f (B(Wh))를 이용하여 BatchNorm 변환을 삽입하며, 여기서,
Figure pct00021
x는 사전 활성화를 표시하고, 용어E와 Var는 하나의 미니 배치에서의 경험적 평균값 및 분산이다. 그의 영향이 평균 제거법에 의해 해소되므로, 해당 층의 편차b는 제거된다. 학습 가능한 파라미터γ 및 β는 해당 층이 수요에 따라 각 은닉 유닛을 스케일링시키고 이동시키는 것을 허용한다. 상수
Figure pct00022
Figure pct00023
는 작고 정수인 값이며, 수치의 안정성을 확보하기 위해 포함된다.
실시예에 있어서, 콘볼루션 층에서, 미니 배치 상에 주어진 콘볼루션 필터에 대해, 평균값과 분산은 모든 시간 출력 유닛 상에서 예측된다. BatchNorm 변환은 정해진 층을 해당 층의 입력의 평균값 및 분산의 잠재적으로 흥미롭지 않은 변화를 격리시킴으로써 내부 공변량 시프트(internal covariate shift)를 저감시킨다.
BatchNorm를 양방향 RNN으로 확장시키는 2가지 방법이 이미 탐색되었다. 제1 방법에 있어서, 각 비선형 바로 이전에 BatchNorm 변환을 삽입시키는 것이다. 이로써, 등식3은 아래와 같이 변화된다.
Figure pct00024
이러한 경우, 평균값과 분산의 통계량은 미니 배치의 단일 시간 스텝에 누적된다. 시간 스텝 사이의 순서 의존성은 모든 시간 스텝 상에서 평균화를 진행하는 것을 방지한다. 실시예에 있어서, 이러한 기술은 최적화 방면에서의 개선을 달성하지 못함을 발견하였다.
제2 방법에 있어서, 연속된 시간 스텝 상의 평균값이 누적되므로, 이후의 시간 스텝은 모든 현재 및 이전의 시간 스텝 상에서 정규화된다. 이는 무효하고 아주 복잡한 역전파임이 증명되었다.
도3은 본 발명의 실시예에 따른 시퀸스별 배치 정규화의 방법을 나타내며, 이는 상기 탐색된 방법의 이러한 문제들을 극복한다. 실시예에 있어서, 회귀 계산은 아래와 같은 등식으로 주어진다.
Figure pct00025
각 은닉 유닛(콘볼루션 층과 회귀층에 적용될 수 있음)에 대해, 발언 시퀸스 길이 상의 미니 배치 중의 사전 활성화의 평균값과 분산을 계산(305)한다. 실시예에 있어서, 배치 정규화는 RNN에서 배치 정규화될 층들 중의 각 층에서 사전 활성화에 대해 정규화를 진행하는 것을 포함한다.
도4는 본 개시의 실시예에 따른 딥 망이 시퀸스별 정규화를 통해 더욱 빠르게 수렴되는 것을 나타낸다. 표1은, 시퀸스별 정규화의 성능이 망 깊이가 증가함에 따라 증가함을 나타내고, 제일 깊은 망에 대해, 성능의 차이는 12%에 달하는 것을 나타낸다. 깊이에 대해 비교를 진행할 경우, 모델의 크기를 제어하기 위하여, 파라미터의 총수를 일정하게 유지하고, 이때 여전히 강력한 성능의 향상을 관찰할 수 있다. 각 층의 활성화 횟수가 일정하게 유지되고 층이 추가될 경우, 깊이의 더욱 큰 개선을 예측할 수 있다. 상대적으로 얕은 망의 수렴이 비교적 완만한 것과 같이, BatchNorm이 제일 얕은 망에 대해 일반화 오류를 발생시키는 것도 발견하였다.
표1: BatchNorm를 이용한 것과 이용하지 않은 RNN의 다양한 깊이에 따른 트레이닝 세트 및 개발 세트의 WER에 대한 비교. 파라미터의 수량이 깊이가 증가함에 따라 변화하지 않으므로, 각 층의 은닉 유닛의 수량이 감소된다. 모든 망은 3800만개의 파라미터를 구비한다. 아키텍처"M RNN, N 총"은 입력단의 1차원 콘볼루션의 1층, M개의 연속된 양방향 RNN층을 의미하고, 나머지는 완전 연결층이고, 여기서 망에는 총 N개의 층이 구비된다.
Figure pct00026
BatchNorm방법의 실시예는 트레이닝에서 양호하게 작업하나, 배치된 ASR(자동 음성 인식) 시스템에 대해 실시가 더욱 어려울 수 있으며, 이는 통상적으로 배치를 평가하는 것이 아니라, 배치 중의 단일 발언을 평가하여야 하기 때문이다. 따라서, 실시예에 있어서, 트레이닝 기간에 수집된 신경원의 평균값과 분산의 이동 평균값을 저장(310)하고, 배치(deployment)에서의 평가(315)에 이용된다. 이러한 기술을 이용하여, 큰 배치(batch)의 평가보다 더욱 양호한 결과로 단일 발언을 한번에 평가할 수 있다.
3.3 SortaGrad
상이한 길이의 예시의 트레이닝은 일부 알고리즘에서의 도전을 제기하였다. 하나의 가능한 해결 방안은 시간을 통해 역전파를 절단하여 모든 예시가 트레이닝 기간에 동일한 시퀸스 길이를 갖도록 하는 것이다. 그러나, 이는 더욱 긴 어휘 의존성을 학습하는 것을 저해할 수 있다. 하나의 방법은 난이도의 순서에 따라 예시를 표현하는 것이 온라인 학습을 가속화시킬 수 있음을 발견하였다. 기계 번역 및 음성 인식을 포함하여, 수많은 시퀸스 학습 문제의 공통 주제는 긴 예시일수록 더 어려운 경향이 있다는 것이다.
사용한 CTC 코스트 함수는 암묵적으로 발언의 길이에 의존하며,
Figure pct00027
여기서, Align(x, y)은 CTC 연산기에서의 전사y의 문자와 입력x의 프레임의 정렬의 모든 가능한 집합이다. 등식9에서, 내항(inner term)은 해당 시퀸스의 시간 스텝의 승적이고,
Figure pct00028
< 1이므로, 이는 시퀸스의 길이에 따라 축소된다. 이는 커리큘럼 학습 전략(여기서, "SortaGrad"로 지칭될수 있음)의 실시예의 의 동기를 유발한다. SortaGrad는 발언의 길이를 난이도에 대한 발견으로 이용하며, 이는 긴 발언이 짧은 발언보다 더욱 높은 코스트를 소요하기 때문이다.
도5는 본 발명의 실시예에 따른 커리큘럼 학습 전략을 이용하여 RNN 모델을 트레이닝하는 방법을 나타낸다. 다수의 미니 배치의 트레이닝 세트에 대해, 각 미니 배치는 다수의 발언을 포함하고, 트레이닝 세트는 각 미니 배치 중의 가장 긴 발언의 길이가 증가하는 순서로 제1 트레이닝 에포치에서 반복(505)된다. 제1 트레이닝 에포치 이후, 트레이닝은 (예컨대, 하나 또는 다수의 후속적인 에포치에 대한 추계학적인 트레이닝을 이용하여) 미니 배치를 랜덤 순서로 복구시킨다(510).
실시예에 있어서, 상술한 커리큘럼 학습 전략은 음성 인식을 위한 하나 또는 다수의 기타 전략을 결합시켜 실현할 수 있다.
표2: SortaGrad를 이용한 것과 이용하지 않은 것 및 배치 정규화를 이용한 것과 이용하지 않은 트레이닝 및 개발 세트의 WER에 대한 비교.
Figure pct00029
표2는 7개의 반복층을 구비한 9층의 모델 상에서 SortaGrad를 구비할 때와 구비하지 않을 때의 트레이닝 코스트에 대한 비교를 나타낸다. BatchNorm를 이용하지 않은 망의 실시예에 대해, 이러한 효과는 아주 현저한 바, 이는 그들이 수치상에서 너무 안정하지 않기 때문이다. 어떤 의미에서, SortaGrad 및 BatchNorm를 함께 적용할 경우 유익한 효과를 얻을 수 있으나, 이러한 2개의 기술은 상호 대체 가능하다. BatchNorm를 이용하여도, 이러한 커리큘럼이 트레이닝 과정에서 수치의 안정성 및 미소한 변화에 대한 민감성을 향상시키는 것을 발견하였다. 수치의 불안정성은 CPU와 GPU 중의 상이한 초월 함수 구현에 의해 발생될 수 있으며, 특히는 CTC 코스트를 산출할 때 발생될 수 있다.
주요하게 긴 발언일수록 더 큰 기울기를 가지는 경향이 있기 때문에 이러한 유익한 결과가 나타날 수 있으나, 실시예에서는 발언의 길이와 무관한 고정된 학습율을 이용한다. 또한, 더 긴 발언은 RNN의 내부 상태가 트레이닝 조기 단계에서의 폭발을 초래할 가능성이 더욱 높다.
3.4 간단한 RNN GRU의 비교
현재 이미 도시된 모델들은 양방향 회귀층을 구비하는 간단한 RNN이며, 양방향 회귀층은 등식3으로 모델링된 순방향 시간 및 역방향 시간 방향에서의 회귀를 구비한다. 현재 언어 및 음성 처리 연구에 의하면, 더욱 복잡한 회귀를 가질수록 망이 더욱 많은 시간 스텝에서 상태를 기억하도록 하고 아울러 이들이 트레이닝에 소요하는 컴퓨팅 코스트를 증가시키도록 한다. 비록 여러가지 기타 변화가 존재하나, 2개의 자주 쓰이는 회귀 아키텍처는 장단기 기억(LSTM) 유닛 및 게이트된 회귀 유닛(GRU)이다. 최근에 LSTM 및 GRU 아키텍처에 대한 수천가지의 변형의 종합적인 연구에 의하면, GRU는 적절하게 초기화된 포게트 게이트 바이어스(a properly initialized forget gate bias)를 가진 LSTM와 유사하며, 이들의 최적 변형은 서로에 대해 경쟁적이다. 상대적으로 작은 데이터 세트의 실험에 의하면, GRU 및 LSTM이 동일한 수량이 파라미터에 대해 유사한 정확도를 실현하나, GRU 트레이닝은 트레이닝이 더욱 빠르고 분기될 가능성이 낮으므로, GRU에 대해 검사를 진행한다.
실시예에 있어서, 이용되는 GRU는 아래와 같은 등식들로 산출된다.
Figure pct00030
여기서, σ(·)는 시그모이드 함수(sigmoid function)이고, z 및 r는 각각 업데이트 게이트 및 리셋 게이트를 표시하며, 간소화를 위해, 층의 윗첨자는 제거된다. 해당 GRU의 실시예는, 리셋 게이트로 스케일링을 진행하기 전에 은닉 상태ht -1에 Uh를 승한다는 것에서 표준GRU와 다르다. 이는 ht-1에 관한 모든 조작이 단일 매트릭스 승법에서 계산되는 것을 허용한다. 출력 비선형f(·)은 통상적으로 하이퍼볼릭 탄젠트 함수tanh이다. 그러나, 실시예에 있어서, tanh 및 클립된 ReLU 비선형에 대해 유사한 성능이 발견되었다. 실시예에 있어서, 망의 나머지 부분에 대해, 단순화 및 균일성을 위하여, 클립된 ReLU를 선택하여 사용한다.
표3은 각종 깊이에 대한 간단한 RNN 또는 GRU를 구비하는 망에 대한, 개발 세트 WER의 비교를 나타낸다. 모든 모델은 모두 배치 정규화, 1차원 불변 콘볼루션의 1개의 층 및 약 3800만개의 파라미터를 구비한다.
표3: 간단한 RNN 또는 GRU을 구비하는 망의 개발 세트 WER에 대한 비교
Figure pct00031
GRU 및 간단한 RNN 아키텍처는 모두 배치 정규화로부터 좋은 효과를 얻으며, 딥 망을 이용하여 강력한 결과를 나타낸다. 그러나, 표3에 의하면, 고정된 수량의 파라미터에 대해, GRU 아키텍처가 모든 망의 깊이에 대해 더욱 양호한 WER를 획득함을 나타낸다. 이는 단일 단어 내부 및 단어 사이에 존재하는 음성 인식 타스크 중의 고유의 장기 의존성이 존재함을 명확히 증명하였다. 제3.8섹션에 설명된 바와 같이, 간단한 RNN 실시예라고 하여도 대량의 트레이닝 데이터로 인해 언어 모델에 대해 암묵적으로 학습을 진행한다. 흥미로운 것은, 5개 이상의 회귀층을 구비하는 GRU망 실시예는 성능을 현저히 개선하지 못하였다. 이는 1개의 회귀층에 대한 층 당 1728개의 은닉 유닛을 7개의 회귀층에 대한 층 당 768개의 은닉 유닛으로 저감시켜 파라미터의 총수가 불변하도록 유지하기 때문이다.
표3에서 GRU망 실시예는 간단한 RNN 실시예를 능가한다. 그러나, 후속적인 결과(제6부분)에서, 모델의 크기가 확장됨에 따라, 고정된 컴퓨팅 예산에 대해, 간단한 RNN망의 성능이 보다 양호함을 발견하였다. 이를 기반으로, 대부분의 나머지 실험은 GRU층 실시예를 이용하는 대신에, 간단한 RNN층 실시예를 이용한다.
3.5 주파수 콘볼루션
시간 콘볼루션은 통상적으로 길이 가변의 발언의 시간 번역 불변성에 대해 효과적으로 모델링을 진행하도록 음성 인식에 이용된다. 이러한 유형의 콘볼루션은 25여년 전에 이미 처음으로 음성 신경망에 이용되도록 제안되었다. 수많은 신경망 음성 모델은 일부 컨텍스트 윈도우를 갖춘 입력 프레임을 처리하는 제1층을 구비한다. 이는 스트라이드가 1인 시간 콘볼루션으로 간주될 수 있다.
또한, 서브 샘플링은 회귀 신경망이 샘플링 율이 높은 오디오에 대해 더 쉽게 컴퓨팅하도록 한다. 종래의 딥 음성 시스템은 시간 스텝의 수량을 저감시키도록 제1층(해당 제1층은 스트라이드 파라미터를 구비함)에서 스펙트로그램을 입력 및 시간 콘볼루션으로 이용함으로써 이를 실현하며, 예컨대, 2015년 6월 9일에 제출한 발명의 명칭이 "음성 전사 시스템 및 방법"인 제14/735,002호(안건 번호: 제28888-1910호)인 미국 특허 출원에 설명된 바와 같으며, 상기 미국 특허 출원의 모든 내용은 참조로서 본 출원에 원용된다. 상술한 특허 문헌 중의 실시예는 본 명세서에서 딥스피치1(Deep Speech 1) 또는 DS1로 지칭될 수 있다.
임의의 기타 처리를 진행하기 전에 스펙트럼 입력 특징에 적용될 경우, 주파수 도메인 및 시간 도메인에서의 콘볼루션은 ASR 성능을 조금 개선할 수 있다. 주파수 도메인에서의 콘볼루션은 스펙트럼 분산을 모델링하려고 시도하며, 이는 화자의 변이성이 대형 완전 연결망에서의 가능한 변이성보다 더욱 간결하기 때문이다. 실시예에 있어서, 특징의 스펙트럼 배열이 완전 연결층 및 회귀층에 의해 제거되므로, 주파수 콘볼루션은 망의 제1층으로서 더욱 양호하게 작동한다.
1층의 콘볼루션 내지 3층의 콘볼루션을 구비하는 실시예에 대해 연구하였다. 이러한 콘볼루션 층은 시간-주파수 도메인(2D 불변성) 및 시간 도메인(1D 불변성)에 위치할 수 있다. 모든 경우에, 동일한 콘볼루션을 이용하여, 주파수 및 시간 중의 입력 특징의 수량을 유지한다. 일부 실시예에 있어서, 임의의 차원의 스트라이딩은 출력의 크기를 감소하도록 지정된다. 실시예에 있어서, 파라미터의 수량은 명확하게 제어되지 않으며, 이는 콘볼루션 층이 작은 부분의 파라미터를 망에 추가하기 때문이다. 표4에 나타난 모든 망은 모두 약 3500만개의 파라미터를 구비한다.
표4: 콘볼루션 층의 각종 배치의 WER에 대한 비교. 모든 경우에, 콘볼루션 다음으로 7개의 회귀층 및 1개의 완전 연결층이다. 2D 불변의 콘볼루션에 대해, 제1 차원은 주파수이고, 제2 차원은 시간이다. 모든 모델은 모두 BatchNorm, SortaGrad 및 3500만개의 파라미터를 구비한다.
Figure pct00032
각종 실시예에 대한 보고 결과는 2개의 데이터 세트에 관한 것으로서, 즉, 2048개의 발언의 개발 데이터 세트("Regular Dev") 및 CHiME 2015 개발 데이터 세트로부터 랜덤 샘플링된 2048개의 발언("Noisy Dev")의 더 많은 잡음의 데이터 세트에 관한 것이다. 다층 1D 불변 콘볼루션이 제공하는 이득이 아주 적음을 발견하였다. 2D 불변의 콘볼루션을 구비하는 실시예는 잡음 데이터 방면에서의 결과를 크게 개선하고, 동시에 클린 데이터 방면에서 작은 이점을 제공한다. 1층의 1D 불변 콘볼루션으로부터 3층의 2D 불변의 콘볼루션으로의 개변은 잡음 개발 세트의 WER를 23.9% 향상시킨다.
3.6 스트라이딩
실시예에 있어서, 콘볼루션 층에서, 보다 긴 스트라이드와 보다 넓은 컨텍스트를 적용하여 트레이닝을 가속시키는데, 이는 지정된 발언에 대한 모델링에 상대적으로 적은 시간 스텝이 요구되기 때문이다. (고속 푸리에변환(Fast Fourier Transforms) 및 콘볼루션 스트라이딩을 통해) 입력 음향에 대한 다운 샘플링은 후속적인 층에 요구되는 시간 스텝 및 계산의 양을 감소시키나, 성능의 저하를 대가로 한다.
도6은 본 발명의 실시예에 따른 데이터 스트라이딩을 위한 방법을 나타낸다. 도6에 도시된 바와 같이, 단계(605)에서, 전개된 RNN이 보다 적은 스텝을 가지도록, 오리지널 입력에서 q개 시편의 스텝 크기(예컨대 스텝 크기가 2임)를 스트라이딩하여 회귀 층의 처리 시간을 단축시킬 수 있다.
표준 중국어 모델 실시예에 있어서, 스트라이딩은 단도직입적인(straightforward) 방식으로 이용된다. 그러나, 영어 모델 실시예에 있어서, 스트라이딩은 정확도를 간단하게 저감시킬 수 있으며, 이는 망의 출력이 각 출력 문자당 적어도 하나의 시간 스텝이 요구 되고, 각 시간 스텝의 영어 음성 중의 문자 수량이 스트라이딩 진행 시 문제를 발생시킬 만큼 크기 때문이다. 중국어 문자가 영어 문자보다 영어 음절에 더 유사함을 유의하여야 한다. 이는 트레이닝 데이터에 반영되는데, 여기서, 영어가 평균 14.1개의 문자를 포함할 경우, 표준 중국어는 단지 3.3개의 문자만 포함한다. 반대로, 트레이닝 세트 중의 사건으로부터 산출한 바에 따르면, 상대적으로 더 작은 문자 세트로 인해, 영어에서의 섀넌 엔트로피는 4.9비트/문자로서, 표준 중국어에서의 12.6비트/문자보다 더 적다. 이는 구어 표준 중국어는 58비트/초보다 낮은 단지 41비트/초인 더 낮은 시간 언트로피 밀도를 구비하므로, 문자 정보의 손실이 없이 시간상에서 더욱 용이하게 압축될 수 있음을 의미한다. 이러한 문제를 극복하기 위하여, 단계(610)에서 대체 라벨을 표시하는 기호(예컨대, 전체 단어, 음절 또는 중첩되지 않는 n-그램(n-gram))을 이용하여 영어 알파벳을 풍부하게 할 수 있다. 실시예에 있어서, 중첩되지 않는 쌍 자소 또는 바이그램(bigrams)을 이용하며, 이는 그들이 (음절과 다르게) 구성에 용이하고, 대체물(예컨대, 전체 단어)과 비교시 그들 중 존재하는 것이 많지 않기 때문이다. 실시예에 있어서, 간단한 동형(isomorphism)을 통해, 유니그램 라벨을 바이그램 라벨로 변환시킨다.
중첩되지 않는 바이그램은 출력 전사의 길이를 단축시켜, 전개된 RNN의 길이를 감소시킨다. 실시예에 있어서, 동형은, 예컨대, 중첩되지 않는 바이그램을 구비하는 구절"the cat sat"을 [th, e, 띄어쓰기, ca, t, 띄어쓰기, sa, t]로 분할하는 것일 수 있다. 실시예에 있어서, 홀수 개의 문자를 구비하는 단어에 있어서, 마지막 하나의 문자를 유니그램으로 하고, 띄어쓰기도 유니그램으로 간주한다는 것을 유의하여야 한다. 이러한 동형성은 동일한 단어가 항상 동일한 바이그램 및 유니그램 부호로 구성되도록 확보한다. 바이그램의 출력 세트는 트레이닝 세트에 나타난 모든 바이그램으로 구성된다.
표5는 언어 모델을 이용한 것과 이용하지 않은 각종 스트라이딩 레벨을 위한 바이그램 시스템 및 유니그램 시스템의 실시예의 결과를 나타낸다. 관찰에 의하면, 바이그램은 단어 오류율에서 아무런 희생도 없이 보다 큰 스트라이드를 허용한다. 이로써, 실시예는 전개된 RNN의 저감된 시간 스텝의 수량으로 컴퓨팅 및 메모리의 이용에 유리하도록 한다.
표5: 1층의 1D 불변 콘볼루션, 7층의 회귀층 및 1층의 완전 연결층을 구비하는 모델 상에서, 유니그램 출력 및 바이그램 출력에 대해, 서로 다른 수량의 스트라이딩으로 진행한 단어 오류율(WER)에 대한 비교. 모든 모델은 모두 BatchNorm, SortaGrad 및 3500만개의 파라미터를 구비한다. 5-그램 언어 모델을 이용한 것과 이용하지 않은 개발 세트 상에서 모델에 대한 비교를 진행한 결과가 아래와 같다:
Figure pct00033
3.7 행 콘볼루션 및 단방향 모델 주파수
양방향 RNN 모델을 온라인 저 지연 세팅에 배치하는 것은 어려운 과제이며, 이는 그들이 전체적인 샘플 상에서 작동되도록 구축되기 때문이며, 따라서, 사용자의 발언 스트림으로 이용되어 전사 과정을 진행할 수 없다. 여기서, 양방향 모델과 유사하게 성능이 양호한 단방향 아키텍처의 실시예를 나타낸다. 이는 배치 시스템 실시예에서 이용될 단방향, 단지 순방향의 RNN층을 허용한다.
이를 실현하기 위하여, 실시예에 있어서, 특수층(행 콘볼루션)을 이용하며, 이는 본 개시의 실시예에 따른 미래 콘텍스트 크기가 2인 행 콘볼루션 아키텍처를 나타낸 도7에 도시된 바와 같다. 도7에 도시된 바와 같이, 행 콘볼루션 층(710)은 모든 회귀층(예컨대, 720) 상부에 위치한다. 해당 층의 직관적인 해석은, 현재 시간 스텝 하에서 정확한 예측을 진행하기 위해 오직 작은 부분의 미래 정보만이 요구된다는 것이다. 시간 스텝t에서, τ스탭의 미래 컨텍스트를 이용한다고 가정한다. 이는 크기가 d x (τ + 1)인 특징 매트릭스ht:t +? = [ht, ht+1, …, ht+τ]를 생성한다. ht:t 와 동일한 크기의 파라미터 매트릭스W가 정의된다. 시간 스텝t에서의 새로운 층에 대한 활성화rt는 아래와 같다:
Figure pct00034
여기서, i는 현재층 중의 신경원의 색인을 표시하고, d는 현재층 중의 신경원의 수량을 표시한다. 등식(11) 중의 콘볼루션과 같은 연산은 W 및 ht:t 에 대해 행 지향성(row oriented)인 것으로 인해, 해당 층은 행 콘볼루션으로 지칭된다.
도8은 본 발명의 실시예에 따른 단방향 RNN 모델을 이용하는 오디오 전사의 방법을 나타낸다. 단계(805)에서, 행 콘볼루션 층을 RNN 모델의 모든 회귀층 상부에 위치시킨다. 해당 단계는 아래와 같은 2가지 이점을 구비한다. 첫째로, 아주 적은 미래 컨텍스트가 요구된다는 것을 고려하여, 이는 더 작은 간격 크기에서 행 콘볼루션 층 하부의 모든 계산의 스트림을 허용한다. 둘째로, 표준 중국어의 최적의 양방향 모드와 비교시, 이는 더욱 양호한 문자 오류율을 얻는다. 단계(810)에서, 현재 시간 스텝 및 적어도 하나의 미래 시간 스텝의 회귀층의 정보를 이용하여 행 콘볼루션 층의 활성화를 획득한다. 회귀층은 이미 양호한 특징 표현을 학습한 것으로 보이며, 따라서, 단계(815)에서, 행 콘볼루션 층으로 적당한 정보를 간단하게 수집하여 분류기(classifier)에 피드한다. 행 콘볼루션을 구비하는 단방향 표준 중국어 음성 시스템 실시예 및 양방향 모델의 비교 결과는 제7 부분에서의 배치에 관한 설명에서 소개하기로 한다.
3.8 언어 모델
RNN 모델의 실시예는 수백 만개의 유니크한 발언에서 트레이닝을 진행하며, 이는 망으로 하여금 강력한 은닉 언어 모델을 학습할 수 있게 한다. 일부 최선의 모델은 아무런 외부 언어 제약이 없이 맞춤법에 아주 능숙하다. 또한, 개발 데이터 세트에 있어서, 실시예가 암묵적으로 동음이의어의 모호성을 제거할 수 있다. 예를 들면, "he expects the Japanese agent to sell it for two hundred seventy-five thousand dollars"와 같다. 그러나, 이용가능한 라벨링되지 않은 텍스트 코퍼스의 크기에 비하여, 라벨링된 트레이닝 데이터는 상대적으로 작다. 따라서, 외부 본문으로부터 트레이닝된 언어 모델을 이용하여 시스템의 실시예를 보충할 경우, WER가 개선되는 것을 발견하였다.
도9는 본 발명의 실시예에 따른 언어 모델을 이용하여 모델의 출력을 제약하는 방법을 나타낸다.
단계(905)에서, RNN 모델로부터 발언x의 예측 문자 출력을 획득한다.
단계(910)에서, 하나 또는 다수의 RNN 모델의 출력을 제공하며, RNN출력 및 전사를 단어로 해석하는 언어 모델에 따라, 검색을 진행하여 가장 가능한 전사y를 찾아낸다.
실시예에 있어서, 해당 언어 모델은 하나의 외부 언어 모델이다. 해당 외부 언어 모델은 하나의 n-그램 언어 모델일 수 있으며, 이는 이들이 대량의 라벨링되지 않은 텍스트로 양호하게 확장될 수 있기 때문이다. 영어에 있어서, 실시예 중 언어 모델은 KenLM 툴킷을 이용하여 일반적인 크롤 리포지터리(Common Crawl Repository)의 클린 텍스트에 대해 트레이닝을 진행하는 전정(pruning)을 구비하는 Kneser-Ney 평탄화된 5-그램 모델이다. 어휘집은, 약 8.5억개의 n-그램을 구비하는 언어 모델을 생성하는, 2.5억 행의 텍스트로부터의 가장 자주 쓰이는 40만개의 단어이다. 표준 중국어에 있어서, 언어 모델은 80억 행의 텍스트의 내부 텍스트 코퍼스에서 트레이닝을 진행하는 전정(pruning)을 구비하는 Kneser-Ney 평탄화된 문자 5-그램 모델이다. 이는 약 20억 개의 n-그램을 구비하는 언어 모델을 생성한다. 중국어에는 단일 문자 레벨의 언어 모델이 요구될 수 있으며, 이는 문자가 일반적으로 텍스트에서 분절되지 않기 때문이며, 제3.9섹션에서 상세한 설명을 진행하기로 한다.
실시예에 있어서, 전사y에 대한 검색은 등식(12)에 도시된 Q(y)와 단어 삽입항을 함께 극대화시키는 것이며, 여기서, Q(y)는 CTC 트레이닝된 망 및 언어 모델로부터의 대수 확률의 선형 조합이다.
Figure pct00035
가중α는 언어 모델 및 CTC망의 상대적인 공헌을 제어한다. 가중β는 전사에서 더 많은 단어를 지원한다. 이러한 파라미터들은 개발 세트 상에서 조정된다. 실시예에 있어서, 빔 검색을 이용하여 최적의 전사를 찾아낸다.
표6는 외부 언어 모델이 영어 음성 시스템 및 표준 중국어 음성 시스템에 도움되는 것을 나타낸다. 5층 및 1개의 회귀층을 구비하는 모델로부터 9층 및 7개의 회귀층을 구비하는 모델까지, 언어 모델의 상대적인 개선은 영어에서 48%로부터 36%로 하강되고, 표준 중국어는 27%로부터 23%로 하강된다. 망이 더 많은 반복층을 구비하는 더 강력한 은닉 언어 모델을 구축한다고 가정한다.
표6: 언어 모델을 이용한 것과 이용하지 않은 영어 WER 및 표준 중국어 CER의 비교. 이러한 모델들은 단지 하나의 1D 불변 콘볼루션 층을 구비하는 간단한 RNN 모델이다.
Figure pct00036
영어 중의 언어 모델로부터의 상대적인 성능 개선은 표준 중국어 중의 언어 모델로부터의 상대적인 성능 개선보다 높다. 이는 중국어 문자가 영어 문자보다 큰 정보 블록을 표현하기 때문이다. 예컨대, 영어 중의 음절 또는 단어를 직접적으로 출력할 경우, 해당 모델은 더욱 적은 맞춤법 착오를 생성하고, 해당 언어 모델은 도움되지 않을 수 있다.
3.9 표준 중국어에 대한 적응
본원에 설명된 기술은 중국어 문자를 직접적으로 출력하는 단대단 표준 중국어 음성 인식 시스템을 구축하는데 이용될 수 있다. 이는 발음 모델의 구축 필요성 해소하였고, 이러한 모델은 통상적으로 음성 시스템을 기타 언어에 이식하는 상대적으로 복잡한 부재이다. 문자에 대한 직접적인 출력도 언어에 특정된 발음 특징에 대해 명확히 모델링 해야 하는 필요성을 해소하였다. 예컨대, 표준 중국어 톤은 명확히 모델링 될 필요가 없으며, 이는 분명히 일부 시스템이 표준 중국어 톤에 대해 모델링을 진행하여야 하기 때문이다.
실시예에 있어서, 망에 대해 진행한 유일한 아키텍처의 변화는 중국어 문자 세트의 특징으로 인한 것이다. 실시예에 있어서, 망의 출력층은 로마 알파벳을 포함하여 약 6000개의 문자를 출력하며, 이는 혼합된 중국어-영어 전사가 자주 쓰이기 때문이다. 실시예에 있어서, 해당 세트에 문자가 포함되지 않을 경우, 시스템은 평가 시 어휘 오류를 지시한다. 어휘 외의 문자가 단지 테스트 세트의 0.74%만 차지하기 때문에, 이는 주요한 문제가 아니다. 실시예에 있어서, 어휘 외 오류를 생성하는 문자를 어휘집에 추가할 수 있으며, 해당 모델에 대해 재 트레이닝을 진행할 수 있다.
실시예에 있어서, 텍스트에서 일반적으로 문자를 분할하지 않으므로, 표준 중국어에서 문자 레벨의 언어 모델을 이용한다. 등식(12)의 단어 삽입항은 문자 삽입항으로 된다. 또한, 디코딩 기간에 빔 검색의 성능이 상대적으로 작은 빔 크기에서 안정됨을 발견하였다. 따라서, 실시예에 있어서, 무시하여도 될 정도의 CER 저하를 감안하여 200의 빔 크기를 이용할 수 있다. 제6.2섹션에서, 아키텍처의 변화에 대한 표준 중국어 음성 모델의 실시예의 개선은 영어 음성 모델의 실시예의 개선과 대체적으로 동일함을 나타낸다.
4. 시스템 최적화
망의 실시예는 수천만개의 파라미터를 구비하며, 트레이닝 알고리즘의 실시예는 수십개의 단일 정밀도의 엑사플롭(exaFLOP)으로 연산하여 수렴한다. 데이터 및 모델에 관한 가설(hypotheses)을 평가하는 능력은 모델을 신속하게 트레이닝하는 능력에 의존되므로, 고도로 최적화된 트레이닝 시스템을 구축한다. 해당 시스템의 실시예는 2개의 주요한 부재를 구비하며, 즉, 딥 러닝 라이브러리(C++로 작성됨) 및 고성능 선형 대수 라이브러리(CUDA 및 C++ 양자로 작성됨)이다. 각 노드마다 8개의 Titan X GPU를 구비하는 밀집한 계산 노드에서 실행되는 최적화된 소프트웨어는 하나의 노드에서 단일 모델을 트레이닝할 때 24개의 단일 정밀도의 테라플롭스/초를 유지하는 것을 허용한다. 이는 각 노드의 이론적인 최대 컴퓨팅 처리량의 45%이다. 다음 섹션에서 설명되듯이, 다중의 노드도 스케일링될 수 있다.
4.1 확장성 및 데이터 병행성
데이터 병행성의 표준 기술을 이용하여, 동기 확률 성 기울기 하강(SGD)을 이용하는 다중의 GPU에 대해 트레이닝을 진행한다. 통용 구성은 8개의 GPU에서 512개의 미니 배치를 이용한다. 여기서 이용되는 트레이닝 파이프라인의 실시예는 하나의 과정을 각 GPU에 바인딩시킨다. 이어서, 이러한 과정은 역전파 기간에 all-reduce를 이용하여 기울기 매트릭스를 교환하며, 이는 다중의 과정 사이에서 매트릭스를 교환하고 결과를 합산하여 나중에 각 과정이 모든 과장으로부터의 모든 매트릭스의 합의 사본을 구비하도록 한다.
동기 SGD는 재현 가능하고 확정성인 것이므로 유용한 것으로 발견되었다. 시스템 중의 비 확정성이 나타나는 것은 통상적으로 심각한 결함을 제시하며, 따라서, 재현성을 목표로 디버깅을 대대적으로 촉진하였다. 반대로, 비동기 방법(예컨대, 임의 파라미터 서버를 구비하는 비동기 SGD)은 통상적으로 재현성을 제공하지 않으며, 따라서 조정하기 더욱 어렵다. 동기 SGD는 이해하고 실현하기에 간편하다. 이는 트레이닝 기간에 다중의 노드를 추가함에 따라 스케일링을 진행한다.
도10은 2개의 망의 스케일링 비교를 나타내며, 해당 2개의 망은 각 층에 2560개의 은닉 유닛을 포함하는 3개의 회귀층을 구비하는 하나의 5층 모델(1005) 및 각 층에 1760개의 은닉 유닛을 포함하는 7개의 회귀층을 구비하는 하나의 9층 모델(1010)이다. 표시된 시간은 1개의 에포치를 트레이닝하도록 이용된다. 해당 5층 모델은 더욱 큰 매트릭스를 이용하고 더욱 효율적으로 컴퓨팅하므로 트레이닝이 더 빠르다.
도10에 의하면, 트레이닝을 진행하는 GPU의 수량이 배로 늘어 1개의 에포치를 트레이닝함에 소요되는 시간이 절반으로 저감됨으로써, 근선형의 약한 스케일링을 실현한다. 이러한 실험 기간에, 각 GPU의 미니 배치는 64개를 유지하므로, GPU의 수량이 배로 늘어남에 따라 미니 배치를 효율적으로 배로 늘인다. 비록 대형의 미니 배치로 스케일링되는 능력이 있으나, 최적의 결과로 수렴하기 위하여, 일반적으로 512 또는 1024개의 미니 배치를 이용하여 트레이닝을 진행하는 기간에 8 또는 16개의 GPU가 이용된다.
실시예에 있어서, all-reduce가 트레이닝의 확장성에 대해 중요하므로, 링 알고리즘을 구현하여 더욱 향상된 성능 및 더욱 양호한 안정성을 획득한다. 이러한 실현은 CPU와 GPU 사이의 무관한 사본을 피면하고, 확장성에 대한 기본적인 요소이다. 실시예에 있어서, OpenMPI에는 smcuda 전송이 설정되고, 해당 smcuda 전송은 GPUDirect을 이용하여 2개의 상이한 GPU의 메모리에 있는 버퍼를 송신하고 수신할 수 있다. 2개의 GPU는 동일한 PCI 루트 콤플렉스에 위치할 경우, 임의의 불필요한 CPU 메모리를 피면할 수 있다. 이는 또한 인접한 장치 사이에서 동시에 해당 링의 다중 세그먼트를 운행하여 트리 구조의 상호 연결을 이용한다. 실시예에 있어서, 이러한 실현은 MPI 송신 및 수신 및 요소별 동작을 위한 CUDA 커널을 이용하여 구성한다.
표7에서 all-reduce 실현의 성능과 OpenMPI 1.8.5 버전의 성능에 대해 비교를 진행하였다. 풀 트레이닝 실행이 all-reduce에서 소모하는 시간이 기재되는 바, 해당 풀 트레이닝 실행은 모든 층에 대해 2560개의 은닉 유닛을 구비하는 5층, 3개의 회귀층의 아키텍처를 이용하고, 영어 데이터 세트에서 1개의 에포치에 대해 실행한다. 이러한 표에 있어서, 각 GPU 마다 64개의 미니 배치를 이용하는 바, 즉 더욱 많은 GPU로 스케일링될 경우, 알고리즘적 미니 배치를 확장한다. 노드(8개의 GPU 또는 더 적은 GPU) 내부에서 통신을 진행할 경우, 이러한 구현은 OpenMPI보다 빠른 것을 관찰할 수 있다. 비록 이러한 구현 속도가 여전히 2-4배로 빠르나, GPU의 수량과 노드 사이의 통신량이 증가함에 따라, 간격이 줄어든다.
표7: 2개의 상이한 all-reduce 구현의 비교. 모든 시간은 모두 초를 단위로 한다. 성능 이득은 OpenMPI all-reduce 시간과 all-reduce 시간의 비율이다.
Figure pct00037
모든 트레이닝 실행은 8개 또는 16개의 GPU를 이용하고, 이러한 방안에 있어서, OpenMPI를 직접적으로 이용하는 것에 비하여, all-reduce 실현의 실시예는 풀 트레이닝 운행의 트레이닝의 속도를 2.5배로 향상시킨다. 따라서, all-reduce에 대한 최적화는 실험에 대해 중요한 생산 이득을 생성하고 간단한 동기 SGD 방법의 실시예가 확장성을 구비하도록 한다.
4.2 CTC 손실 함수의 GPU 구현
CTC 손실 함수의 계산은 RNN 아키텍처에서의 전후방향 전파보다 더욱 복잡하다. 최초에, GPU로부터의 활성화를 CPU에 전송하며, 여기서, 손실 함수는 CTC를 이용하는 OpenMP 병행 구현을 이용하여 산출한다. 그러나, 이러한 구현은 아래와 같은 2가지 이유로 인해 확장성을 크게 제한한다. 첫째로, RNN 자체의 효율 및 확장성이 개선됨에 따라 컴퓨팅 상에서 더욱 선명하다. 둘째로, CPU와 GPU 사이에서 기울기 매트릭스의 전송이 아닌 큰 활성화 매트릭스의 전송은, 데이터 병행을 이용하여 더욱 많은 프로세서로 스케일링되는 것을 허용하기 위해, CTC의 상호 연결의 대역폭을 소모하는 것이 요구된다.
이러한 점을 극복하기 위하여, CTC 손실 함수의 GPU 구현을 창안하였다. 병행 구현은 약간의 재구성에 의존하여 CTC 산출의 의존성 및 Modern GPU로부터의 최적화 병행 분류 실현의 이용을 간소화시킨다. 아래에 이러한 병행화의 더욱 많은 세부 사항들을 제공하기로 한다.
모델을 트레이닝하기 위한 CTC 손실 함수는 전후 2개의 전송 방향을 구비하고, 기울기 계산은 각각 전후방향 전파 기간에 생성되는 2개의 매트릭스α 및 β의 요소별 합산이다. 최종적으로, 기울기는 발언 라벨 중의 문자를 키로서 이용하여 합산되어 각 문자마다 하나의 기울기를 생성한다. 이어서, 이러한 기울기들은 망을 통해 역전파된다. CTC 손실 함수의 입력은 softmax 함수로 산출된 확률이며, 해당 확률은 아주 작을 수 있으며, 따라서, 이는 로그 확율 공간에서 더욱 양호한 수치 안정성을 획득하도록 산출된다.
CTC 알고리즘의 순방향 전송은 S행 및 T열을 구비하는 α매트릭스를 산출하고, 여기서, S = 2(L + 1)이다. 변량 L은 라벨 중의 문자 수량이고, T는 발언 중의 시간 스텝의 수량이다. CTC 알고리즘의 CPU 기반의 구현은 미니 배치 중의 각 발언 라벨에 하나의 스레드씩 분배하여 발언에 대한 CTC 계산을 진행한다. 각 스레드는 순차적으로 해당 매트릭스의 관련 목록을 산출한다. 이는 2가지 이유로 인해 비효율적이다.
첫째로, GPU 상에서 망의 나머지를 산출하므로, 실시예에 있어서, softmax 함수의 출력은 CTC 계산을 위해 CPU에 복사된다. 이어서, 실시예에 있어서, CTC 함수로부터의 기울기 매트릭스는 GPU에 다시 복사되어 역전파를 진행한다. 큰 문자 세트를 구비하는 언어, 예컨대 표준 중국어에 대해, 이러한 매트릭스들은 수억개의 목록을 구비하여, 이러한 복사의 코스트를 향상시켰다. 또한, 기울기 업데이트와 데이터 병행을 동기화시키기 위해 최대한 많은 상호 연결 대역폭이 요구되므로, 이러한 복사가 상당한 기회 코스트를 발생시킨다.
둘째로, 비록 α매트릭스의 각 열 중의 목록은 병행으로 산출될 수 있으나, 각 열 중의 산출될 목록의 수량은 열 및 발언 라벨 중의 중복된 문자의 수량 양자에 의존한다. 이러한 복잡성으로 인해, CPU 구현은 SIMD 병행성을 최적으로 이용하지 못하여, 계산의 효율성을 떨어뜨린다.
반대로, GPU 기반의 CTC 구현은 이러한 두가지 문제를 극복하도록 진행될 수 있다. 도11은 CTC의 GPU 구현의 전후 양방향 전송을 나타낸다. 회색 원(1105)은 유효값을 포함하고, I를 구비하는 원(1110)은 -8를 포함하고, G를 구비하는 원(1115)은 유한 쓰레기값을 포함한다. B는 CTC 알고리즘을 입력 발언 라벨에 추가하는 빈칸 부호를 대표한다. 상단의 열 라벨은 1부터 T까지의 상이한 시간 스텝을 나타낸다.
구현 배후의 핵심적인 계시는, 유효한 목록 뿐만 아니라, α매트릭스의 각 열 중의 모든 요소를 산출할 수 있다는 것이다. 특별한 합산 함수가 -8의 입력을 폐기시키는 log 공간 중의 확율을 증가하도록 이용될 경우, 도11 중의 유효한 요소는 유한 쓰레기값(G) 또는 -8(I)를 포함한다. 해당 합산은 도11에 도시되며, 여기서 원의 상부에 입사되는 화살표는 입력이고 결과는 원에 저장된다. 그러나, α 및 β에 대해 요소별 합산으로 최종 기울기를 산출할 경우, 모든 유한 쓰레기값은 -8를 생성하는 다른 하나의 매트릭스로부터의 상응한 -8값과 합산되므로, 쓰레기값을 효과적으로 무시하고 정확한 결과를 산출한다. 한 가지 중요한 발견으로서, A 및 β의 이러한 요소별 합산은 간단한 합산이고 합산 함수를 이용하지 않는다는 것이다.
도12는 본 발명의 실시예에 따른 RNN 모델 트레이닝을 위한 CTC 손실 함수의 GPU 구현 방법을 나타낸다.
단계(1205)에서, RNN 모델은 입력 발언에 대응되는 예측된 문자의 확율 분포를 CTC층에 출력한다.
단계(1210)에서, 그래픽 처리 유닛(GPU) 기반의 CTC 손실 함수 알고리즘을 구현한다. CTC 손실 함수는 순방향 전송과 역방향 전송을 포함한다. 기울기 계산은 순방향 전송 및 역방향 전송 기간에 각각 생성되는 2개의 매트릭스α(순방향 매트릭스) 및 β(역방향 매트릭스)의 요소별 합산에 관한 것이다. 해당 알고리즘은 2개의 매트릭스의 처리에 대한 병행 계산을 포함한다.
실시예에 있어서, 병행 계산은 아래와 같은 방법 중의 하나 또는 다수를 포함한다.
(a) 기울기를 계산하기 위해, ModernGPU 라이브러리를 이용하여 α 및 β 매트릭스의 요소별 합산 및 문자를 키로서 이용하는 키-값 삭감을 통해 생성된 매트릭스의 각 열을 취득(1215)한다. 이는 동일한 문자에 대응되는 요소가 그들의 값을 합산한다는 것을 의미한다. 도11에 도시된 예시에 있어서, 빈칸 문자B는 유일하게 중복된 문자이고, 일부 열에서, 예컨대, t = 1 또는 t = 2에 대해, 유효한 요소(회색) 및 -8는 모두 이에 대응된다. log 공간 중의 합산 함수는 -8 요소를 효과적으로 무시하므로, 삭감 기간에 단지 유효한 요소들만 결합된다.
실시예에 있어서, 미니 배치 중의 각 발언은 컴퓨팅 스레드 블록(예컨대, CUDA 스레드 블록)에 매핑된다. 열의 요소들 사이에 의존 관계가 존재하지 않으므로, 모든 이러한 요소들은 모드 스레드 블록 중의 스레드로 병행 계산될 수 있다. 시간 스텝 t에 대응되는 열 이전에 시간 스텝 t+1에 대응되는 열을 산출할 수 없으므로, 열 사이에는 의존 관계가 존재한다. 시간 스텝 t+1에 대응되는 열 이전에 시간 스텝 t에 대응되는 열을 산출할 경우, β매트릭스를 산출할 때 상기와 반대인 상황이 발생된다. 따라서, 이러한 2가지 경우에, 열은 스레드 블록에 의해 순차적으로 처리된다.
(b) 전후 양방향 전송을 상응한 컴퓨팅 커널에 매핑(1220)시킨다. 실시예에 있어서, 컴퓨팅 커널은 GPU로 실행하는 컴퓨팅 커널이며, 예컨대, CUDA 커널이다. 열의 요소들 사이에 데이터 의존 관계가 존재하지 않으므로, 이는 쉬운 것이다. 역전파를 진행하는 커널도 해당 기울기를 산출한다. 그러나, 기울기가 반드시 각 문자를 키로 하여 라벨값을 기반으로 합산되어야 하므로, 발언 라벨 중의 중복된 문자로 인해 반드시 데이터 의존 관계를 처리하여야 한다. 영어 등 작은 문자 세트를 가진 언어에 있어서, 이러한 경우가 발생할 확율이 크다. 중복된 문자가 존재하지 않더라도, CTC 알고리즘은 L + 1개의 빈칸 부호를 발언 라벨에 추가한다.
실시예에 있어서, 해당 타스크를 실행할 경우, 빠른 공유 메모리 및 레지스터를 이용하여 고성능을 실현한다. 순방향 및 역방향 커널은 해당 α매트릭스를 공유 메모리에 저장한다. 공유 메모리는 제한된 자원이므로, 완전한 β매트릭스를 저장할 수 없다. 그러나, 시간이 역방향으로 흐름에 따라, 기울기를 산출함과 동시에 β매트릭스의 일 열을 유지하고, β매트릭스의 열과 α매트릭스의 상응한 열에 대해 요소별 합산을 진행하면 된다. 온칩 메모리 공간은 제약되므로, softmax 함수의 출력은 오프칩 클로벌 메모리로부터 직접적으로 구독된다.
(c) 키-값 분류를 진행(1225)하되, 여기서, 키는 발언 라벨 중의 문자이고, 값은 발언 중의 각 문자의 색인이다. 분류를 진행한 다음, 연속된 세그먼트에 주어진 문자의 모든 사건이 배열된다. 각 발언에 대해 한번씩만 분류를 진행하면 된다. 이어서, 해당 분류에 의해 생성된 색인을 이용하여 각 문자의 기울기에 대해 순차적으로 합산을 진행한다. 각 열마다 해당 합산을 한번씩 진행하고, 해당 발언 중의 모든 문자 상에서 해당 합산을 병행으로 진행한다. T개 열 상에서 키-값 분류의 코스트를 나누어 분배(amortizing)하는 것은 빠른 기울기 산출을 실현하는 핵심적 사상이다.
플로팅 포인트 연산의 부정확성으로 인해, 특히는 초월 함수에서, GPU 구현 및 CPU 구현은 비트별로 동일한 것이 아니다. 제3.3섹션에 기재된 길이에 따라 발언의 분류를 진행하는 기법과 결합할 경우, 2개지 구현은 모델에 대해 동등하게 트레이닝을 진행하므로, 이는 실천에서의 장애가 아니다.
표8은 2개의 CTC 구현의 성능에 대해 비교를 진행한다. GPU 구현은 영어에서 각 에포치마다 95분을 절약하고, 표준 중국어에서 25분을 절약한다. 이는 전체적인 트레이닝 시간을 10-20% 단축시키며, 또한 실험의 중요한 생산력 이점이다.
표8: 2개의 상이한 구현에 대해 1개의 에포치의 CTC 손실 함수 및 기울기에 소모되는 시간(초를 단위로 함)에 대한 비교. 속도 향상은 CPU CTC 시간과 GPU CTC 시간의 비례이다.
Figure pct00038
4.3 메모리 할당
해당 시스템의 실시예는 GPU 및 CPU메모리에 대해 동적인 메모리 할당을 빈번하게 진행하며, 주요하게 길이 가변의 발언 및 중간 결과를 위한 활성화 데이터를 저장하도록 이용된다. 개별적인 할당은 아주 클 수 있으며; 가장 긴 발언에 대해 1 GB를 초과할 수 있다. 이러한 아주 큰 할당에 대해, CUDA의 메모리 할당기, 심지어 std :: malloc는 일부 경우에 상당한 오버헤드를 응용 프로그램에 도입하여, std :: malloc의 이용에 비하여 2배의 속도를 저감시키는 것을 초래한다. 이는 cudaMalloc 및 std :: malloc가 모두 오퍼레이팅 시스템 또는 GPU 구동 프로그램에 아주 큰 할당을 포워드하여 시스템 페이지 테이블을 업데이트한다. 이는 다수의 응용 프로그램을 운행하는 시스템, 모든 공유 메모리 자원에 대한 양호한 최적화이나, 페이지 테이블의 편집은 일부 시스템 실시예에 대한 순수 오버헤드며, 여기서, 노드는 완전히 단일 모델의 실행에 할애된다. 이러한 제한을 벗어나기 위하여, CPU 및 GPU 할당에 대해 하나의 특정된 메모리 할당기를 작성한다. 이러한 구현은 jemalloc에서 마지막 레벨의 공유 할당기의 방법을 따르며: 버디 알고리즘을 이용하여 연속된 메모리 블록으로부터 모든 할당을 잘라낸다. 절편화를 피면하기 위하여, 모든 GPU 메모리는 트레이닝이 시작될 때 미리 할당되고, 해당 블록으로부터 개별적인 할당을 세분화한다. 유사하게, mmap에 포워딩된 CPU메모리 블록의 크기는 std :: malloc보다 크게 설정되며, 12GB로 설정된다.
딥 회귀망의 트레이닝에 요구되는 대부분의 메모리는, 망의 파라미터를 저장하는 것이 아니라, 각 층을 통해 활성화를 저장하여 역전파에 이용되도록 한다. 예컨대, 9층을 구비하는 70M 파라미터 망의 가중의 저장은 약 280 MB의 메모리가 요구되나, 64 비트, 7초의 발언 배치의 활성화의 저장은 1.5 GB의 메모리가 요구된다. TitanX GPU는 12GB의 GDDR5 RAM을 포함하고, 일부 경우에, 아주 깊은 망은 긴 발언을 처리함에 있어서 GPU메모리 용량을 초과할 수 있다. 이러한 경우의 발생은, 특히 발언 길이의 분포가 이상치(outlier)를 포함할 경우, 예측불가하며, 이러한 경우가 발생 시 치명적인 장애를 피면하는 것이 바람직하다. 요청된 메모리 할당이 이용 가능한 GPU 메모리를 초과할 경우, 반대로 cudaMallocHost를 이용하여 페이지가 잠긴 GPU-메모리-매핑의 CPU 메모리(pagelocked GPU-memory-mapped CPU memory)를 할당한다. 이러한 메모리는 저감된 대역폭에서 PCIe 상에서 개별적인 메모리 트랜스 액션을 포워딩하여 GPU에 의해 직접적으로 엑세스될 수 있으며, 이는 모델이 이상치에 접한 이후에도 계속하여 진행하는 것을 허용한다.
빠른 메모리 할당과 특별한 케이스에서 이용 가능한 GPU 메모리의 소량의 충일(overflowing)을 허용하는 폴백 메카니즘의 결합은 시스템의 실시예가 훨씬 간단하고, 더욱 강인하고 더욱 효율적이도록 한다.
5. 트레이닝 데이터
큰 스케일 딥 러닝 시스템은 풍부한 라벨링된 트레이닝 데이터를 요구한다. 공개적으로 이용 가능한 데이터 세트에 대해 보강 트레이닝을 진행하는 외에, 영어 음성 모델 및 표준 중국어 음성 모델을 위한 광범위한 트레이닝 데이터 세트를 수집하기도 한다. 영어에 있어서, 표9 중에 요약된 800만개의 발언을 포함하는 11,940시간의 라벨링된 음성 데이터가 이용된다. 표준 중국어 시스템에 있어서, 1100만개의 발언을 포함하는 9,400시간의 라벨링된 오디오가 이용된다. 표준 중국어 음성 데이터는 내부 바이두 코퍼스를 포함하며, 표준적인 표준 중국어 및 억양을 띤 표준 중국어의 낭독 음성 및 자발 음성의 혼합을 표시한다.
표9: 영어로 DS2의 실시예의 트레이닝에 사용되는 데이터 세트의 요약. "월 스트리트 저널(WSJ)", Switchboard 및 Fisher 코퍼스는 모두 언어 데이터 컨소시엄(Linguistic Data Consortium)에 의해 발표된다. LibriSpeech 데이터 세트는 온라인에서 무료로 이용 가능하다. 기타 데이터 세트는 내부 바이두 코퍼스이다.
Figure pct00039
5.1 데이터 세트 구성
내부 영어(3600시간) 및 표준 중국어(1,400시간) 데이터 세트 중의 일부는 잡음 전사를 구비하는 긴 오디오 클립으로서 캡처된 기초 데이터(raw data)로부터 생성된다. 이러한 클립들의 길이는 몇분에서 몇시간 범위로 서로 다르며, 이로 인해 트레이닝 기간에 RNN에서 이들을 제때에 전개하는 것은 비 현실적이다. 이러한 문제를 해결하기 위하여, 보다 짧은 발언과 보다 적은 오류 전사를 구비하는 트레이닝 세트를 생성할 수 있는 정렬, 분할 및 필터링 파이프라인을 개발하였다. 도13은 본 개시의 실시예에 따른 음성 전사 트레이닝을 위한 데이터 수집 방법을 나타낸다.
파이프라인 중의 제1 단계(1305)는 CTC로 트레이닝된 기존의 양방향 RNN 모델을 이용하여 전사와 오디오 프레임에 대해 정렬을 진행한다. 지정된 오디오-전사쌍(x, y)은 아래와 같은 등식으로 극대화한다.
Figure pct00040
이는 실질적으로 CTC로 트레이닝된 RNN 모델을 이용하여 발견한 비터비 정렬(Viterbi alignment)이다. 등식9에서 정렬에 대해 통합을 진행함으로써, CTC 손실 함수가 정확한 정렬을 생성하도록 명확히 요구된 적이 없다. 원칙 상, CTC는 일부 고정된 지연 이후 전사의 모든 문자를 전송하도록 선택할 수 있으며, 이는 단방향 RNN에 의해 발생할 수 있다. 그러나, 양방향 RNN으로 트레이닝을 진행할 경우, CTC가 정확한 정렬을 생성하는 것을 발견하였다.
실시예에 있어서, 정렬 다음은 분할 단계(1310)이며, 이는 긴 일련의 연속된 빈칸 라벨에 마주칠 경우 오디오와 상응한 정렬된 전사를 스플라이싱(splice)하며, 이는 통상적으로 한단락의 침묵을 표시한다. 연속된 빈칸의 수량을 조정하여, 생성된 발언의 길이를 조정할 수 있다. 실시예에 있어서, 영어 음성 데이터에 대해, 단어 경계 상에서 분할을 진행하도록, 띄어쓰기 부호는 빈칸의 단락 내부에 위치하여야 한다. 분할은 평균 7초 길이의 발언을 생성하도록 조정된다.
실시예에 있어서, 파이프라인 중의 다음 단계(1315)는 실패한 정렬에 의해 생성된 착오 예시를 제거하여 트레이닝 데이터를 획득한다. 실시예에 있어서, 수천개의 예시의 실제 전사는 군중들로부터 유래된 것이다. 실시예에 있어서, 실제 전사 및 정렬된 전사 사이의 단어 레벨의 편집 거리는 양호하거나 불량의 라벨을 생성하도록 이용된다. 실시예에 있어서, 단어 레벨의 편집 거리의 역치는 개발 세트의 양호한 부분에 대해 산출된 WER가 5%보다 작도록 선택된다. 실시예에 있어서, 트레이닝 선형 분류기는 음성 인식 장치로부터 생성된 입력 특징을 제공한 불량 예시를 정확하게 예측하도록 트레이닝된다.
실시예에 있어서, 기초 CTC 코스트(raw CTC cost), 시퀸스 길이로 정규화된 CTC 코스트, 전사 길이로 정규화된 CTC 코스트, 시퀸스 길이와 전사 길이의 비례, 전사 중의 단어의 수량, 및 전사 중의 문자의 수량과 같은 특징들은 유용한 것으로 발견되었다. 영어 데이터 세트에 있어서, 필터링 파이프라인이 WER를 17%로부터 5%로 저감시키는 동시에 50%이상의 예시를 보류하는 것이 발견되었다.
5.2 데이터 증가
실시예에 있어서, 트레이닝 데이터는, 트레이닝 데이터의 유효한 크기를 향상시키고 잡음 음성에 대한 그의 강인성을 개선하도록, 잡음을 추가하여 증가할 수 있다. 비록 트레이닝 데이터는 일부 고유된 잡음을 포함하나, 잡음의 수량 및 유형은 데이터 증가에 의해 증가할 수 있다. 너무 많은 잡음의 증가는 최적화를 어렵게 만들고 더 안 좋은 결과를 초래할 수 있으며, 너무 적은 잡음의 증가는 낮은 신호대잡음 음성에 대한 시스템의 강인성을 저하시킨다.
실시예에 있어서, 잡음을 랜덤으로 선택된 발언의 40%로 추가하는 것이 양호한 균형임이 발견되었다. 잡음 소스는 수백시간의 잡음을 생성하도록 결합된 수천시간의 랜덤으로 선택된 오디오 클립을 포함한다.
5.3 스케일링 데이터
본 출원에 이용되는 영어 및 표준 중국어의 코퍼스는 기본적으로 음성 인식 문헌에 일반적으로 기재된 코퍼스보다 크다. 표10은 라벨링된 트레이닝 데이터의 량의 증가가 WER에 대한 영향을 나타낸다. 이는 트레이닝을 진행하기 전에 풀 데이터 세트에 대해 랜덤 샘플링을 진행함으로써 실현된다. 각 데이터 세트에 대해, 해당 모델은 일반적으로 보류된 개발 세트 상의 오류를 기반으로 조기에 중단되나, 최대 20개의 에포치까지 트레이닝된다. WER는 일반 개발 세트 및 잡음 개발 세트 양자에 대한 멱법칙(power law)에 따라 저감된다는 것을 유의하여야 한다. 트레이닝 세트의 크기가 10배 증가할 때마다 WER는 ~40% 저감된다. 일반 데이터 서트 및 잡음 데이터 세트 사이의 WER(상대적으로 ~60%)에서도 일치한 간격이 관찰되고, 이는 보다 많은 데이터가 이러한 2가지 경우에 동등하게 유익하다는 것을 의미한다.
이는 음성 시스템이 계속하여 보다 많은 라벨링된 트레이닝 데이터를 개선함을 의미한다. 기초 시간 수량(raw number of hours)을 증가하는 것과 동등하게 중요한 것은, 실시예의 데이터 세트에서 캡쳐된 음성 컨텍스트의 수량을 증가하는 것이라고 가정한다. 컨텍스트는 상이한 화자, 배경 잡음, 환경 및 마이크로폰 하드웨어를 포함하여, 음성을 독특하게 하는 임의의 속성일 수 있다. 비록 이러한 수요의 유효성 검사에 요구되는 라벨은 이용 불가능하나, WER를 데이터 세트 중의 화자에 대한 함수로서 측정하는 것은 간단한 랜덤 샘플링보다 훨씬 더 큰 관련 이득을 발생시킬 수 있다.
표 10: 트레이닝 데이터 세트 크기의 증가에 관한 일반 개발 세트 및 잡음 개발 세트의 영어 WER에 대한 비교. 해당 아키텍처는 2개의 2D 불변의 콘볼루션 층 및 7개의 회귀층을 구비하고 68M의 파라미터를 구비하는 하나의 9층 모델이다.
Figure pct00041
6. 결과
음성 시스템의 실시예의 실제적인 응용성을 보다 잘 평가하기 위하여, 다양한 테스트 세트에 대해 평가를 진행하였다. 여러개의 공개적으로 이용 가능한 벤치마크 및 내부에서 수집된 여러개의 테스트 세트를 이용하였다. 이러한 테스트 세트들은 함께, 저 신호대잡음(잡음 및 원거리 음장) 음성, 억양을 띤 음성, 낭독 음성, 자발성 음성 및 대화 음성을 포함하여, 다양한 도전적인 음성 환경을 대표한다.
테스트한 모든 모델은 표9에 설명된 풀 영어 데이터 세트 또는 제5부분에서 설명된 풀 표준 중국어 데이터 세트에 대해 20개의 에포치 동안 트레이닝된다. 추계학적 기울기 하강은 Nesterov 운동량 및 512개의 발언의 미니 배치와 함께 이용된다. 기울기의 범수(norm)가 역치인 400을 초과할 경우, 이는 다시 400으로 스케일링된다. 트레이닝 기간에 보류된 개발 세트 상에서 표현이 가능 우수한 모델을 선택하여 평가를 진행한다. 학습율은 가장 빠른 수렴을 획득하도록 [1x10-4,6x10-4]로부터 선택되고, 각 에포치 이후 1.2의 상수 인소로 어닐링(annealed)된다. 모든 테스트 모델에 모두 0.99의 운동량이 이용된다.
이용되는 언어 모델은 제3.8섹션에서 설명된 언어 모델이다. 등식 (12)에서의 디코딩 파라미터는 보류된 개발 세트 상에서 조정되었다. 실시예에 있어서, 영어 디코더에는 빔 크기 500이 이용되고, 표준 중국어 디코더에는 빔 크기 200이 이용된다.
6.1 영어
가장 우수한 DS2 모델 실시예 중의 하나는 3개의 2D 콘볼루션 층, 7개의 양방향 회귀층, 1개의 완전 연결 출력층 및 배치 정규화를 포함하여 11층을 구비한다. 제1층은 3의 시간 스트라이드로 바이그램에 출력된다. 비교를 통해, 종래의 딥 스피치 모델의 실시예는 단일 양방향 회귀층을 포함하는 5층을 구비하고, 제1층에서 시간 스트라이드 2로 유니그램에 출력된다. DS2 모델 및 DS1 모델 양자에 대해, 몇개의 테스트 세트에 관한 결과가 기재되었다. 2개의 모델은 모두 조정되지 않았고, 또한 테스트 세트 중의 임의의 음성 조건에 적용되도록 수정되지 않았다. 언어 모델 디코딩 파라미터는 보류된 개발 세트 상에서 한번에 설정된다.
시스템의 성능을 컨텍스트에 넣기 위하여, 대부분의 결과는 인간 작업자를 상대로 벤치마크되며, 이는 음성 인식이 인간들에게 능숙한 오디오 감지 및 언어 이해 문제이기 때문이다. Amazon Mechanical Turk의 작업자들을 고용하여 모든 테스트 세트들을 수동으로 전사하여, 인간 수준 성능의 측정을 실현하였다. 두 작업자는 통상적으로 길이가 약 5초인 동일한 오디오 클립을 전사하고, 두 가지 경우의 전사 중 더 나은 전사를 최종 WER 계산에 사용한다. 이들은 자신이 원하는 만큼 무료로 오디오 클립을 수차례 들을 수 있다. 이러한 작업자들은 주로 미국에 위치하며, 매차례의 전사에 평균 약 27초의 시간을 소모한다. 수동으로 전사된 결과는 기존의 실제 전사와 비교되어 WER를 생성한다. 비록 기존의 실제 전사에는 어느 정도 라벨의 오류가 존재하나, 1%을 초과하는 경우는 드물다. 이는, 실제 전사와 인간 전사 사이의 차이가 인간 수준의 성능에 대한 아주 좋은 계발임을 의미한다.
6.1.1 모델 크기
영어 음성 트레이닝 세트의 크기는 자주 쓰이는 음성 데이터 세트보다 훨씬 더 크다. 또한, 데이터는 잡음 합성으로 증가된다. 최선의 일반화 오류를 획득하기 위하여, 모델 크기가 반드시 데이터 중의 패턴을 충분히 이용할 만큼 증가되는 것이 바람직하다. 제3.2섹션에서, 파라미터의 수량을 확정함에 있어서의 모델 깊이의 영향에 대해 연구하였다. 반면에, 상이한 모델 크기가 음성 시스템의 성능에 대한 영향이 도시된다. 각 층의 크기는 단지 깊이 및 기타 아키텍처 파라미터가 일정하게 유지되는 경우에만 변화하였다. 모델은 제3.5섹션에서 이용된 동일한 일반 개발 세트 및 잡음 개발 세트 상에서 평가된다.
표11 중의 모델은 스트라이드가 3으로 증가되고 바이그램으로 출력한다는 점에서 표3 중의 모델과 다르다. 모델 크기가 1억개의 파라미터만큼 증가되므로, 스트라이드의 증가가 고속 계산 및 메모리 제약에 필수적인 것임이 발견되었다. 그러나, 이러한 체계에서, GRU 망의 성능 이점이 간단한 RNN에 비하여 저하된 것으로 보였다. 사실상, 1억개의 파라미터 망에 대해, 간단한 RNN은 2개의 부가 콘볼루션 층이 존재함에도 불구하고, GRU 망보다 성능이 우수하고 트레이닝이 더욱 빨리 진행되었다.
표11: 일반 개발 세트 및 잡음 개발 세트 양자 상에서 모델 크기가 영어 음성 시스템의 WER에 대한 영향에 대한 비교. 콘볼루션 층 이외에, 모든 층 중의 은닉 유닛의 수량은 변화된다. GRU 모델은 3층의 양방향 GRU를 구비하고, 1층의 2D 불변의 콘볼루션 층을 포함한다. RNN 모델은 7층의 양방향 간단한 회귀를 구비하고, 3층의 2D 불변의 콘볼루션 층을 포함한다. 이러한 2개의 모델은 모두 시간 스트라이드 3으로 바이그램을 출력한다. 모든 모델들은 모두 약 3500만개의 파라미터를 포함하고, BatchNorm 및 SortaGrad로 트레이닝된다.
Figure pct00042
표11은 시스템의 성능이 지속적으로 1억개의 파라미터까지 향상되는 것을 보여준다. 기재에 따르면, 모든 기타 영어 DS2 결과는 이러한 동일한 1억개의 파라미터의 RNN 모델의 결과를 얻었고, 이는 제일 적은 일반화 오류를 실현하기 때문이다.
표12: 3300개의 예시의 내부 테스트 세트 상에서의 DS1와 DS2의 WER에 대한 비교. 테스트 세트는 여러가지 억양을 띤 음성, 저 신호대잡음 음성, 자발성 음성 및 대화 음성을 포함하며:
Figure pct00043
표12는, 어려운 억양을 띤 음성, 원거리 음장 또는 배경 잡음으로부터의 저 신호대잡음 음성, 자발성 음성 및 대화 음성을 포함하여, 다양한 음성을 포함한 3300개의 발음의 내부 바이두 데이터 세트 상에서, 1억개 파라미터의 RNN 모델(DS2)이 1개의 회귀층을 구비한 5층 모델(DS1)에 비해 43.4%의 상대적인 향상을 제공하는 것을 보여준다.
6.1.2 낭독 음성
고 신호대잡음을 구비한 낭독 음성은 연속된 음성 인식 타스크에 대해 가장 간단한 큰 어휘일 수 있다. 해당 시스템은 낭독 유형의 뉴스 문장 "월 스트리트 저널(WSJ)"의 2개의 테스트 세트를 통해 벤치마크된다. 이들은 LDC 목록에서 LDC94S13B 및 LDC93S6B로 이용 가능하다. LibriVox 프로젝트로부터의 오디오 북을 이용하여 구성된 최근에 개발된 LibriSpeech 코퍼스도 활용되였다.
표13은, 4개의 테스트 세트 중의 3개에서 DS2 시스템이 인간보다 우수하고, 제4 테스트 세트에서 경쟁력을 가짐을 보여준다. 이러한 결과를 기반으로, 추가 도메인 적응이 없이, 클린 낭독 음성 상에서 일반적인 음성 시스템은 더 개선될 공간이 거의 존재하지 않는 것으로 의심된다.
표13: 낭독 음성 상에서 2개의 음성 시스템 및 인간 수준의 성능에 대한 비교:
Figure pct00044
표14: 억양을 띤 음성 상에서 DS1 시스템과 DS2 시스템의 WER에 대한 비교
Figure pct00045
표15: 노이즈 음성 상에서 DS1 및 DS2 시스템에 대한 비교. "CHiME eval clean"은 무 잡음 베이스 라인이다. "CHiME eval real" 데이터 세트는 실제 잡음 환경에서 수집되고, "CHiME eval sim" 데이터 세트는 클린 음성에 합성적으로 추가된 유사한 잡음을 포함한다. 6개의 채널 중의 단 1개가 각 발언의 테스트에 이용된다는 것을 유의하여야 한다:
Figure pct00046
6.1.3 억양을 띤 음성
억양을 띤 음성 소스는 공개적으로 이용 가능한 VoxForge 데이터 세트이고, 서로 다른 억양을 띤 화자들로부터 구독된 클린 음성을 포함한다. 이러한 억양은 4가지 유형으로 구분된다. 미국-캐나다 및 인도 그룹은 따로 설명이 필요 없을 것이다. 영연방 억양은 영국, 아일랜드, 남 아프리카, 호주 및 뉴질랜드 억양을 띤 화자를 가리킨다. 유럽 그룹은 영어가 모국어가 아닌 유럽 국가들로부터의 억양을 띤 화자들을 포함한다. 테스트 세트는 총 4096개의 예시에 대한 각 억양 그룹으로부터의 1024개의 예시를 포함한 VoxForge 데이터로 구성된다.
이러한 테스트 세트 상의 성능은 어느 정도 트레이닝 데이터의 광도 및 품질을 측정한다. 표14는 더 많은 억양을 띤 트레이닝 데이터를 포함하고 이러한 데이터 대해 효율적으로 트레이닝할 수 있는 아키텍처를 이용할 경우 모든 억양에 대한 성능이 개선되는 것을 나타낸다. 그러나, 인간 수준의 성능은 인도 억양을 제외한 모든 억양에서 여전히 DS2 인식 시스템보다 훨씬 나았다.
6.1.4 잡음 음성
잡음 음성 상에서의 성능은 최근에 완성한 제3 CHiME 도전으로부터의 공개적으로 이용 가능한 테스트 세트를 이용하여 테스트된다. 해당 데이터 세트는, 버스, 카페, 길거리 및 보행 구역을 포함하여, 각종의 시끄러운 환경에서 구독된 WSJ 테스트 세트로부터의 1320개의 발언을 포함한다. ChiME 세트도 동일한 환경으로부터 시뮬레이팅된 잡음을 포함한 1320개의 발언 및 무 잡음 환경에서 동일한 화자로부터 유래된 동일한 발언을 포함하는 제어 세트를 포함한다. 제어 세트와 잡음 세트 사이의 차이점은 망의 각종의 실제 잡음과 합성 잡음 조건을 처리하는 능력에 대한 측정을 제공한다. CHiME 오디오는 6개의 채널을 포함하고, 모든 이러한 채널의 이용은 현저한 성능 개선을 실현할 수 있다. 다중 채널 오디오가 대부분의 장치에 보급되지 않았기 때문에, 단일 채널은 모두 결과에 이용된다. 표15는 DS2가 DS1보다 실질적으로 개선되었으나, 잡음 데이터 상에서 인간 수준의 성능보다 못한 것을 보여준다. 잡음을 합성적으로 클린 음성에 추가하는 것이 아니라, 데이터가 실제 잡음 환경으로부터 유래될 경우, DS2와 인간 수준의 성능 사이의 상대적인 차이는 더욱 크다.
6.2 표준 중국어
표16은 표준 중국어 음성 상에서 2000개의 발언의 개발 세트 및 1882개의 잡음 음성 예시의 테스트 세트에 관한 여러가지 아키텍처에 대해 비교를 진행한다. 이러한 개발 세트도 디코딩 파라미터를 조정하는데 이용된다. 표16으로부터 볼 수 있는 바, 2D 불변의 콘볼루션 및 BatchNorm을 포함한 가장 깊은 모델은 상대적으로 얕은 RNN에 비해 48% 향상되므로, 계속하여 영어 시스템으로 관찰하면, 다중의 양방향 회귀층이 실질적으로 성능을 개선한다.
최적의 표준 중국어 음성 시스템이 전형적인 표준 중국어 화자보다 짧은 음성 문의와 같은 발언을 더욱 잘 전사하는 것을 발견하였다. 인간을 상대로 벤치마크하기 위하여, 테스트는 100개의 랜덤으로 선택된 발언으로 진행되며, 일 그룹의 다섯 사람은 이들 모두를 함께 라벨링한다. 오류율이 3.7%인 음성 시스템과 비교시, 해당 그룹의 사람들의 오류율은 4.0%이다. 개별 인간 전사도 250개의 랜덤으로 선택된 발언 상에서 음성 시스템과 비교된다. 이러한 경우, 음성 시스템의 성능이 더욱 양호하며: 인간의 오류율은 9.7%이고, 음성 모델의 오류율은 5.7%이다.
표16: Deep Speech의 개선과 아키텍처의 개선에 대한 비교. 개발 세트와 테스트 세트는 바이두 내부 코퍼스이다. 표 중의 모든 모델들은 각기 약 8000만개의 파라미터를 포함한다.
Figure pct00047
7. 배치
실제 응용은 통상적으로 음성 시스템이 실시간으로 또는 상대적으로 낮은 지연으로 전사를 진행하는 것을 요구한다. 제6.1섹션에서 이용되는 시스템은 이러한 타스크를 위해 잘 디자인되지 못하였다. 첫째로, RNN이 다수의 양방향 층을 구비하므로, 발언의 제1부분에 대한 전사는 완전한 발언이 RNN에 표현되는 것을 요구한다. 둘째로, 언어 모델을 이용하여 디코딩을 진행할 경우 넓은 빔이 이용되므로, 빔 검색은 코스트가 아주 높을 수 있으며, 특히는 가능한 다음 문자의 수량이 아주 많은 표준 중국어(약 6000개)에서 코스트가 아주 높을 수 있다. 셋째로, 제3부분에서 설명한 바와 같이, 전체적인 발언에서의 파워가 정규화되며, 이도 역시 전체적인 발언이 사전에 이용 가능하여야 하는 것을 요구한다.
파워 정규화 문제는 트레이닝 세트로부터의 일부 통계를 이용하여 온라인 전사 기간에 음성 입력에 대한 적응성 정규화를 진행함으로써 해결된다. 기타 문제들은 망을 수정하고 과정을 디코딩하여 거의 동시에 진행되며 훨씬 낮은 지연을 구비하는 모델을 구성함으로써 해결될 수 있다. 표준 중국어 시스템이 배치에 있어서 더욱 도전적(예컨대, 큰 문자 세트)이기 때문에, 이러한 표준 중국어 시스템에 초점을 두고 있으나, 동일한 기술은 또한 영어에도 적용될 수 있다.
본 섹션에서, 지연은 발언의 종료로부터 전사가 작성될 때까지 측정된 음성 시스템의 컴퓨팅 지연을 가리킨다. 이러한 지연은 인터넷 상의 데이터 전송을 포함하지 않으며, 발언의 시작으로부터 제1 전사가 작성될 때까지의 지연은 측정하지 않는다. 발언의 종료로부터 전사까지의 지연은 음성 인식을 이용하는 응용에 대해 중요하기 때문에, 이러한 지연에 중점을 둔다.
7.1 배치 디스패치
낮은 지연으로 상대적으로 큰 딥 신경망을 배치하기 위하여, 배치 기간의 효율은 이미 특별한 주목을 받고 있다. 대다수의 인터넷 응용들은 그들이 데이터 센터에 도착함에 따라 독립적으로 요청을 처리한다. 이는 각 요청을 하나의 스레드로 관리할 수 있는 단도직입적인 구현에 도움된다. 그러나, 2가지 큰 원인으로 인해, 요청에 대한 독립적인 처리는 계산 효율이 떨어진다. 첫째로, 요청을 독립적으로 처리할 경우, 프로세서는 각 요청을 위해 망의 모든 가중을 로딩하여야 한다. 이는 작업량의 수학적 강도를 저감시키고, 컴퓨팅 메모리 대역폭이 제한되도록 하며, 또한 요청을 독립적으로 표현할 때 온칩 캐시를 효율적으로 이용하기 어렵기 때문이다. 둘째로, 하나의 요청을 분류하는데 이용되는 병행의 수량이 제한될 수 있으며, 이는 SIMD 또는 다중 핵심 병행을 활용하기 어렵게 된다. 샘플별로 RNN를 평가하는 것은 대역폭이 제한되고 병행이 어려운 순서 매트릭스의 벡터 승법에 의존되기 때문에, RNN의 배치는 특히나 어려운 과제이다.
이러한 문제를 극복하기 위하여, 배치 디스패치로 지칭되는 배치처리 스케쥴을 이러한 배치 상에서 순방향 전파를 진행하기 전에 사용자로부터의 데이터 스트림을 배치로 어샘블링하도록 구성된다. 이러한 경우, 증가된 배치 크기 사이에는 균형이 존재하고, 따라서, 효율이 향상되고 지연이 증가된다. 큰 배치를 어샘블링하도록 버퍼된 사용자 요청이 많을 수록, 사용자가 이러한 결과들을 기다리는 시간이 더욱 길어진다. 이는 진행할 수 있는 배치의 량을 제한한다.
얼마나 많은 작업이 그 시점에 대기하고 있는지를 막론하고, 각 배치를 이전 배치가 완성되자 마자 처리하도록 하는 간절한 배치 처리 방안이 이용된다. 비록 사실상 컴퓨팅 효율이 상대적으로 낮으나, 배치 크기를 극대화하는 것을 추구하지 않으므로, 이러한 스케쥴 알고리즘은 종단-사용자 지연을 저감하기에 제일 좋은 것으로 증명되었다.
도14는 요청이 10-30개의 병행 사용자 요청을 구비하는 단일 NVIDIA Quadro K1200 GPU 상에서 실행되는 생산 시스템에 대해 지정된 크기의 배치로 처리되는 확율을 나타낸다. 예상한 대로, 서버의 부하가 과중할 경우 배치 처리가 양호하게 작업하며, 부하가 증가할 수록, 분포는 더 큰 배치로 요청을 처리하는 것을 지지하도록 전환된다. 그러나 단지 10개의 병행 사용자 요청인 가벼운 부하일 지라도, 시트템을 적어도 2개 샘플의 배치로 반이상의 작업을 실행한다.
도15는 본 개시의 실시예에 따른 서버 부하 함수인 중간값과 98 백분위수 지연을 나타낸다. 도15로부터 관찰할 수 있는 바, 10개의 병행 스트림이 로딩될 경우, 시스템은 44 ms의 중간값 지연 및 70 ms의 98 백분위수 지연을 실현한다. 서버 상의 부하가 증가할 수록, 배치 스케줄은 작업을 낮은 지연을 유지하는 더욱 효율적인 배치로 전이시킨다. 이는 배치 디스패치가 이러한 큰 모델들을 높은 처리량 및 낮은 지연으로 배치하는 것을 가능하게 함을 표명한다.
아래에 고정 길이 또는 가변 길이 패킷의 순서적인 시퀸스를 포함하는 스트리밍 입력에 대해 분류를 진행함과 동시에 지연 제약을 만족하는 것에 관한 일반적이고도 도전적인 경우에 대한 예시적 구현을 기재하기로 한다. 실시예에 있어서, 각 패킷을 마지막 패킷으로서 지정하여 처리함으로써, 비 스트리밍 입력을 동일 방식으로 처리할 수 있다.
본원에 사용되는 용어 "요청", "사용자 요청", "데이터 처리 요청", "스트림", "스트리밍 입력" 및 "데이터 스트림"은 상호 대체 가능하게 이용된다. 각 스트림이 단일 사용자와 관련되므로, 용어 "사용자"는 "스트림"과 관련된다. 용어 "청크"는 신경망 입력 크기에 관련된 데이터 크기를 가리킨다. 용어 "패킷"은 망에서 전송될 수 있는 일 그룹의 데이터를 의미하는 것으로 이해하여야 한다. 용어 "패킷"은 본 발명의 실시예를 이더넷 또는 3층 망으로 한정하는 것으로 이해하여서는 아니된다. 용어 "패킷", "프레임", "데이터", "데이터그램", "셀" 또는 "데이터 트래픽"은 상호 대체 가능하게 이용될 수 있으며, 일 세트의 데이터를 지칭하는 기타 기술 용어로 대체할 수 있다.
비록 신경망 모델이 데이터를 처리하도록 이용되는 것으로 가정되었으나, 기타 기술, 모델 또는 망을 이용하여 본 개시의 실시예에 따른 데이터를 처리할 수 있음을 해당 기술 분야에서의 당업자는 자명할 것이다.
"데이터"는 여러가지 유형의 입력 데이터 중의 임의의 하나를 가리킨다. 예컨대, 음성 세팅에서 발언을 전사할 경우, 각 패킷은 몇 밀리세컨드(예컨대, 80ms)를 표시하는 오디오를 표시할 수 있다. 비디오 컨텍스트에 있어서, 각 패킷은 현재 이미지와 이전의 이미지 사이의 차이점을 표시할 수 있다. 이미지 인식에 있어서, 각 패킷은 하나의 완전한 이미지의 타일(tile)을 표시할 수 있다.
실시예에 있어서, 지연 제약은 완전한 스트림이 스트림 중의 마지막 패킷이 도착한 후 고정된 시간량으로 처리를 진행되는 것을 나타낸다. 이는 아래와 같이 표현될 수 있다:
T완전한 스트림 < T마지막 패킷의 도착 + Δ허용 가능한 지연,
여기서, T완전한 스트림은 완전한 스트림의 처리가 완료되어야 하는 시간을 표시하고, T마지막 패킷의 도착은 마지막 패킷의 도착 시간을 표시하고, Δ허용 가능한 지연은 응용에 따른(application-dependent) 허용 가능한 지연을 표시한다. 지연이 통상적으로 아주 중요한 온라인 세팅에 있어서, Δ허용 가능한 지연은 1초보다 작을 수 있다.
실시예에 있어서, 하나의 목적으로, 지연 제약(예컨대, 높은 처리량에 대한 유지)를 만족함과 동시에 되도록 많은 스트림을 병행으로 처리하는 것일 수 있다. 그에 반해서, 저 지연을 확보하고 융통성을 유지하기 위해, 기존의 방법은 개별적으로 및 독립적으로 각 스트림을 처리한다.
본 개시의 실시예에 있어서, 모델/아키텍처를 이용하되, 여기서, 다수의 요청은 동시에 신경망을 실현하는 컴퓨팅 엔진에 파이핑된다. 실시예에 있어서, 배치 처리 방법은 신경망이 단일 사용자의 데이터를 처리하는 것과 유사한 방식으로 다수의 동시 사용자의 데이터를 처리하는 것을 허용하도록 이용된다. 실시예에 있어서, 배치 처리 방법은 배치 생성 장치가 다수의 사용자와 관련된 패킷을 포함하는 데이터 처리 요청을 (예컨대, 비동기 방식으로) 접수함으로써 시작된다. 패킷은 예컨대 다수의 사용자로부터의 데이터 스트림에 대해 부하 균형을 진행하는 부하 균형 장치를 경유하여 도착할 수 있다. 실시예에 있어서, 패킷의 도착 시간은 미지일 수 있으며, 응용 레벨 제약(예컨대, 지연 제약, 컴퓨팅 엔진의 성능 특성 등)을 받는다.
실시예에 있어서, 배치 생성 장치는 요청으로부터의 데이터를 응용 레벨 제약 내에서 하나 또는 다수의 요청(예컨대, 상태 요청)으로부터의 데이터를 포함하는 배치로 동적으로 어샘블링한다.
실시예에 있어서, 배치는 (예컨대, 오디오 스트림 상에서 분류를 진행하도록) 컴퓨팅 지연 요청을 저감시키도록 메모리에 단 한번 로딩되거나 및/또는 메모리로부터 단 한번 로딩되는 일반 신경망을 이용하여 처리됨으로써, 데이터 스트림의 처리량을 증가시킨다.
실시예에 있어서, 분류의 결과와 같은 결과들이 출력된다. 따라서, 메모리 대역폭이 절약되고 컴퓨팅 효율이 향상된다.
실시예에 있어서, 배치 생성 장치는 단일 스레드에서 실행되고, 아래와 같은 타스크들을 포함한다. 즉:
a) 해당 데이터에 대해 사전 처리를 진행하고;
b) 사전 처리된 데이터를 많은 사용자들에게 공유되는 비치 매트릭스로 패킹하고,
c) 해당 비치 매트릭스를 컴퓨팅 엔진으로 포워딩한다.
실시예에 있어서, 배치 생성 장치는 3가지 유형의 데이터 구조를 유지한다. 즉:
1) 각 사용자의 입력 버퍼;
2) 각 사용자의 사전 처리 버퍼; 및
3) 배치의 연결 리스트(즉, 신경망에 대한 매트릭스 입력), 이는 배치 리스트로 지정될 수 있다. 음성 또는 비디오 처리 와 같은 응용에 있어서, 신경망은 컴퓨팅 엔진이 정확한 출력을 생성하도록 확보하기 위해, 기정된 순서로 배치를 처리할 수 있다. 실시예에 있어서, 배치는 2개 또는 그 이상의 사용자들 사이에서 공유될 수 있다. 실시예에 있어서, 사전 처리가 진행되지 않을 수 있다.
아래에 기재된 것은 본 개시의 실시예에 따른 사전 처리를 이용한 예시적 배치 처리 방법이다. 실시예에 있어서, 특정된 사용자의 패킷이 배치 생성 장치에 도착할 때, 배치 처리 방법이 시작된다. 실시예에 있어서, 데이터는 해당 사용자의 입력 버퍼로 복사된다. 이어서, 해당 패킷은 폐기될 수 있다, 실시예에 있어서, 해당 입력 버퍼는 사전 처리된다. 사전 처리의 예시는 오디오 신호를 스펙트로그램 및 기타 처리로 변환시키는 것이다. 실시예에 있어서, 사전 처리가 진행되지 않을 수 있다.
일단 사전 처리가 완료되면, 실시예에 있어서, 결과는 해당 사용자의 사전 처리 버퍼에 놓여진다. 일부 응용에 있어서, 사전 처리는 데이터 청크에서 발생할 수 있다. 예컨대, 음성 시스템은 자주 크기가 고정된 음성의 입력창을 요구하는 스펙트로그램을 이용한다. 그 결과, 실시예에서는, 미래 패킷으로부터의 데이터가 없이도, 사용자의 패킷이 사전 처리될 수 있다고 확보할 수 없다.
실시예에 있어서, 사전 처리된 버퍼가 적어도 신경망으로 요구되는 입력만큼 크며, 청크(크기가 신경망 입력 크기로 확정될 수 있음)는 사전 처리 버퍼로부터 배치 리스트 중의 다음 적격의 배치로 전송된다. 실시예에 있어서, 적격일 배치는 이미 현재의 사용자에 대해 처리하고 있는 임의의 데이터를 포함하여서는 아니된다. 실시예에 있어서, 배치의 크기는 완전한 배치들도 적격이 안되도록 제한되어 있다. 이미지 또는 비디오 응용에 있어서, 청크는 완전한 이미지를 대표할 수 있으며, 음성 인식 응용에 있어서, 청크는 고정된 길이의 입력 스펙트로그램을 대표할 수 있다.
실시예에 있어서, 배치 생성 장치는 모든 활성 사용자들을 편력하여 배치를 충진할 수 있다.
실시예에 있어서, 배치 생성 장치는 그 다음 하나 또는 다수의 배치를 컴퓨팅 엔진에 발송할 지 여부를 결정할 수 있다. 실시예에 있어서, 여러가지 방식으로 결정을 진행할 수 있다. 즉:
1) 하나의 간단한 방법은, 단지 컴퓨팅 엔진이 바쁘지 않을 경우에만 배치를 전송하는 것이다.
2) 다른 하나의 더욱 구조적인 방법은, 아래와 같은 조건들 중의 하나를 만족할 경우 배치를 전송하는 것이다. 즉:
a) 해당 배치가 마지막 패킷이 이미 도착된 사용자의 데이터를 포함하고, 컴퓨팅 엔진의 처리 시간과 배치 생성 장치를 통한 부가 반복에 소요되는 시간을 더한 합이 지연 제약을 초과한다.
b) 배치 리스트가 충분한 풀 상태에 처하여, 임의의 활성 사용자의 마지막 패킷이 현재 도착할 경우, 지연 제약을 만족시킬 수 없게 된다.
실시예에 있어서, 후자의 방법을 실시할 수 있도록, 시스템의 상이한 부분의 처리 시간에 관한 상당히 정확한 경계가 필요할 수 있다. 더욱 높은 효율을 위하여, 실시예에 있어서, 배치 생성 장치는 지연에 민감한 배치와 상대적으로 크나 효율적인 처리량 지향의 배치 양자를 어샘블링할 수 있으며, 여기서, 지연에 민감한 배치는 지연 제약을 만족시키기 위해 더 높은 우선순위로 실행되나 더욱 낮은 컴퓨팅 효율을 보이며, 상대적으로 크나 효율적인 처리량 지향의 배치는 대부분의 컴퓨팅 작업을 처리한다. 실시예에 있어서, 배치 생성 장치는 처리가 종료될 때까지 계속하여 편력한다.
배치 디스패치를 이용하는 배치 처리의 부가적인 토론은 2016년 7월 13일에 제출되고, 발명의 명칭이 "효율적인 신경망 배치를 위한 시스템 및 방법(SYSTEMS AND METHODS FOR EFFICIENT NEURAL NETWORK DEPLOYMENTS)"이고, 발명자로 Christopher Fougner 및 Bryan Catanzaro가 나열되고, 공동 양도된 제15/209,499호 미국 특허 출원을 참조할 수 있다. 상술한 특허 문헌의 모든 내용은 참조로서 본 출원에 원용된다.
7.2 배치 최적화된 매트릭스 승법 커널
반 정밀도(16 비트) 플로팅 포인트 연산을 이용하는 모델의 배치는 측정 상 인식의 정밀도를 변화시키지 않는다는 것이 발견되었다. 배치가 망의 가중에 대한 아무런 업데이트도 요구하지 않으므로, 수치적 정밀도에 대한 민감도가 트레이닝보다 많이 떨어진다. 반 정밀도 연산의 이용은 메모리 공간 및 대역폭을 절약하고, 이는 RNN 평가가 가중 매트릭스를 캐싱하고 스트리밍하는 코스트에 의해 좌우지되므로, 배치에 특히나 유용하다.
제7.1섹션에 나타낸 바와 같이, 설치 기간에서의 배치(batch)의 크기는 트레이닝 기간 보다 훨씬 작다. 표준 BLAS 라이브러리가 이러한 배치 크기에서 효율이 낮은 것이 발견되었다. 이러한 문제를 극복하기 위하여, 반 정밀도 매트릭스-매트릭스 승법 커널을 작성한다. 10개의 동기 스트림에 있어서, 90%를 넘는 배치가 N≤4의 경우에 적용되고, 여기서, 매트릭스 승법은 대역폭에 의해 제약된다. 매트릭스A는 가장 넓은 가능한 벡터 부하를 이용하여 대역폭을 극대화시키는 동시에 로딩 이후의 전치(transposition)를 방지하도록 저장 및 전치된다. 각 warp은 모든 N개의 출력 열을 위해 4행의 출력을 산출한다. N≤4에 대해, 매트릭스B는 완전히 L1 캐시에 적합함을 유의하여야 한다. 이러한 방안은 N≤4에 대한 피크 대역폭의 90%을 실현하나, 매트릭스B가 L1 캐시에 적합되는 것이 정지됨에 따라 보다 큰 N에 대한 효율이 떨어지기 시작한다. 그렇다 하더라도, 이는 N = 10에 이르기까지 기존의 라이브러리보다 개선된 성능을 보여준다.
도14는 설치에서 이용되는 배치 크기의 전체 범위 내에서 배치 커널이 K1200 GPU 상에서 Nervana 시스템의 컴퓨팅 처리량보다 더 큰 컴퓨팅 처리량을 유지하는 것을 나타낸다. 커널은 Ax = b를 산출하도록 이용되며, 여기서, A는 크기가 2560x2560인 매트릭스이고, x는 크기가 2560x배치 크기인 매트릭스이며, 여기서 배치 크기[1,10]이다. 모든 매트릭스는 반 정밀도 형식이다. 커널과 Nervana 커널 양자는 NVIDIA CUBLAS 7.0 버전보다 현저히 빠르며, 상세한 세부 사항은 본 출원에 제공된다.
7.3 빔 검색
빔 검색의 실행은 n-그램 언어 모델에서의 반복적인 조회와 관련되고, 그중의 대부분은 메모리의 캐시되지 않은 판독으로 전환된다. 빔 검색의 직접적인 구현은 각 시간 스텝이 각 빔의 문자마다 한번의 조회를 분배한다. 표준 중국어에 있어서, 이는 각 40ms 스트라이드의 음성 데이터마다 1M을 초과하는 조회를 초래하며, 이는 설치에 대해 너무 느리다. 이러한 문제를 해결하기 위해, 빔 검색을 더 프루닝하는 계발(heuristic)이 이용된다. 모든 문자를 빔에 가능한 추가로서 하는 대신에, 누적 확율이 적어도 p인 최저 수량의 문자들만 고려한다. 사실상, p = 0.99의 효과가 아주 양호한 것이 발견되었다. 추가적으로, 문자의 수량은 40개를 초과하지 않도록 제한된다. 이는 표준 중국어 모델의 조회표 시간을 150배 가속화시키고, CER에 대한 영향이 아주 작다(상대적으로 0.1-0.3%).
7.4 결과
해당 시스템은 정확도의 손실이 크지 않으면서 낮은 지연 및 높은 처리량으로 설치될 수 있다. 2000개의 발언의 보류 세트에 있어서, 연구 시스템은 5.81 문자 오류율에 달하고, 배치된 시스템은 6.10 문자 오류율에 달한다. 이는 단지 배치된 시스템에 대한 5%의 상대적인 저하이다. 이를 실현하기 위하여, 저 배치 지연을 가지는 신경망 아키텍처가 이용되며, 망의 정밀도는 16비트로 저감되고, RNN을 더 효율적으로 평가하도록 배치 스케줄을 구축하고, 간단한 계발은 빔 검색 코스트를 저감한다는 것을 발견하였다. 해당 모델은 2560개의 은닉 유닛을 구비하는 5개의 단순 순방향 회귀층, τ= 19를 구비하는 행 콘볼루션 층(제3.7섹션 참조) 및 2560개의 은닉 유닛을 구비하는 완전 연결층을 포함한다. 이러한 기법들은 낮은 코스트로 Deep Speech를 인터랙티브 응용에 설치하는 것을 허용한다.
8. 확장성 개선
8.1 노드 및 클러스터 아키텍처
소프트웨어 스택은 2개의 Intel CPU 및 8개의 NVIDIA Titan X GPU로 구성된 컴퓨팅 밀도 노드 상에서 53 teraFLOP/초의 피크 단일 정밀도 산출 처리량으로 실행된다. 각 노드는 384 GB의 CPU 메모리와 RAID-0 구성 중의 4 TB 하드디스크로 이루어진 8 TB 저장 용량을 구비한다. CPU 메모리는 회진 디스크(spinning disk)의 낮은 대역폭 및 높은 지연에 직접 노출되도록, 입력 데이터를 캐시한다. 영어 및 표준 중국어의 데이터 세트는 각 노드의 로컬 하드 디스크 상에서 복제된다. 이는 망을 이용하여 가중 업데이트를 진행하고, 중앙 집중식 파일 서버에 반드시 의존하여야 하는 것을 피면하도록 허용한다.
도17은 노드 중 한 노드의 예시도를 나타내며, 여기서, 동일한 PCI 루트 부재로 연결된 모든 장치는 점선 박스에 캡슐화된다. GPUDirect는 GPU 사이의 보다 빠른 통신을 위해, 루트 콤플렉스 내의 GPU의 수량을 극대화시키는 것을 시도하였다. 이는 효율적인 통신 메카니즘을 이용하여 GPU 사이에서 기울기 매트릭스를 전송하는 것을 허용한다.
클러스터 중의 모든 노드는 주요하게 역전파 기간에 기울기 전송에 이용되는 FDR(Fourteen Data Rate, 14 데이터 레이트) Infiniband를 통해 연결된다.
8.2 CTC 손실 함수의 GPU 구현
실시예에 있어서, 확장성 개선 중의 하나는, CTC 손실 함수의 GPU 구현의 실시예들을 포함한다. 이러한 실시예들은 상기 제4.2섹션에서 토론되었다.
9. 결론
단대단 딥 러닝은 데이터 및 산출이 증가함에 따라 음성 인식 시스템을 부단히 개선하는 흥미로운 결과를 나타낸다. 사실상, 결과는 딥스피치2 실시예가 보다 많은 데이터 및 보다 큰 모델을 이용하여 인간 작업자의 전사 능력과의 차이를 많이 좁혔다. 또한, 해당 방법이 아주 일반적인 것이므로, 이는 새로운 언어에 빠르게 적용될 수 있음을 나타냈다. 2가지 확연히 다른 언어(영어 및 표준 중국어)에 대한 고성능 인식 장치의 구성은 기본적으로 관련 언어의 전문 지식이 요구되지 않는다. 최종적으로, 실시예에 있어서, 이러한 방법은, 사용자 요청들을 GPU 서버 상에서 함께 배치시킴으로써 효율적으로 설치될 수 있어, 사용자에게 단대단의 딥 러닝 기술을 제공할 수 있다.
실시예에 있어서, 이러한 결과들을 실현하기 위하여, 각종 망의 아키텍처를 연구하였고, 여러가지 효율적인 기법을 개발하였으며, 이러한 기법에는 예를 들어 아래와 같은 기법들이 포함된다: SortaGrad 및 Batch를 통해 수치 최적화에 대해 강화를 진행하고, 영어에 대해 보다 큰 스트라이드로 바이그램 출력을 이용하여 RNN에 대해 평가를 진행하고, 양방향 모델 및 단방향 모델 양자를 통해 검색을 진행한다. 이러한 탐색은 단 며칠 내에 대형 데이터 세트에 관한 새로운 완전한 스케일 모델을 허용하는 최적화된 고성능 컴퓨팅 계발형 트레이닝 시스템을 이용한다.
총체적으로, 해당 결과는 음성 인식을 위한 단대단 딥 러닝 방법이 여러가지 세팅에서의 가치를 확인하고 예시하는 것으로 판단된다. 시스템이 아직 인간과 필적할 수 없는 경우에 있어서, 응용 무관의 딥 러닝 기술에 인해 차이가 급속히 줄어들었다. 이러한 기술들은 계속하여 스케일링되고, 따라서 대부분의 정경에서 성능이 인간을 초과하는 단일 음성 시스템의 비전이 금방 달성 가능한 것으로 생각된다.
도18은 본 발명의 실시예에 따른 컴퓨팅 시스템(1800)의 블록도를 나타낸다. 비록 컴퓨팅 시스템이 상이하게 구성되고 상이한 부재들을 포함할 수 임음을 이해하여야 하나, 시스템(1800)에 나타낸 기능은 컴퓨팅 시스템의 각종 실시예를 지원하도록 운행될 수 있음을 이해할 것이다. 도18에 도시된 바와 같이, 시스템(1800)은 컴퓨팅 자원을 제공하고 컴퓨터를 제어하는 하나 또는 다수의 중앙 처리 유닛(CPU, 1801)을 포함한다. CPU(1801)는 마이크로프로세서 등으로 구현될 수 있으며, 수학적 컴퓨팅을 위한 하나 또는 다수의 그래픽 처리 유닛(GPU, 1817) 및 또는 플로팅 포인트 코프로세서를 더 포함할 수 있다. 시스템(1800)은 랜덤 액세스 메모리(RAM), 판독 전용 메모리(ROM) 또는 양자의 결합 형식일 수 있는 시스템 메모리(1802)를 더 포함할 수 있다.
도18에 도시된 바와 같이, 다수의 제어 장치 및 주변 장치도 제공될 수 있다. 입력 제어 장치(1803)는, 키보드, 마우스 또는 스타일러스와 같은 각종 입력 장치(1804)에 대한 인터페이스를 대표한다. 스캐너(1806)와 통신하는 스캐너 제어 장치(1805)도 존재할 수 있다. 시스템(1800)은, 하나 또는 다수의 저장 장치(1808)와 인터페이싱하기 위한 저장 제어 장치(1807)를 더 포함할 수 있으며, 여기서, 각 저장 장치는 오퍼레이팅 시스템, 지원 프로그램(utilities) 및 응용에 대한 명령어의 프로그램을 기록할 수 있는 자기 테이프나 디스크, 또는 광학 매체와 같은 저장 매체를 포함하며, 오퍼레이팅 시스템, 지원 프로그램 및 응용에 대한 명령어는 본 발명의 각 방면의 프로그램을 구현하는 실시예들을 포함할 수 있다. 저장 장치(1808)는 또한 본 발명에 따라 처리된 데이터 또는 처리될 데이터를 저장하도록 이용될 수도 있다. 시스템(1800)은 음극선관(CRT) 디스플레이, 박막 트랜지스터(TFT) 디스플레이 또는 다른 유형의 디스플레이일 수 있는 디스플레이 장치(1811)와의 인터페이스를 제공하기 위한 디스플레이 제어 장치(1809)를 더 포함할 수 있다. 컴퓨팅 시스템(1800)은 프린터(1813)와 통신을 진행하기 위한 프린터 제어 장치(1812)를 더 포함할 수 있다. 통신 제어 장치(1814)는, 시스템(1800)이 인터넷, 이더넷 클라우드, 파이버 채널 오버 이더넷(FCoE)/데이터 센터 브리징(DCB) 클라우드, 근거리 통신망(LAN), 광역망(WAN), 저장 영역 망(SAN)를 포함하는 각종 망 중의 임의의 하나를 통해 또는 적외선 신호를 포함하는 임의의 적합한 전자기 캐리어 신호를 통해 원격 장치에 연결되도록 하는 하나 또는 다수의 통신 장치(1815)와 인터페이싱할 수 있다.
도시된 시스템에 있어서, 모든 주요한 시스템 부재는 하나 이상의 물리적 버스라인을 대표하는 버스라인(1816)에 연결될 수 있다. 그러나, 각종 시스템 부재는 서로 물리적으로 근접하거나 근접하지 않을 수 있다. 예컨대, 입력 데이터 및/또는 출력 데이터는 하나의 물리적 위치로부터 다른 하나의 물리적 위치로 원격으로 전송될 수 있다. 또한, 본 발명의 각종 방면을 실현하는 프로그램은 망을 통해 원격 위치(예컨대, 서버)로부터 액세스될 수 있다. 이러한 데이터 및/또는 프로그램은 각종 기계 판독 가능한 매체 중의 임의의 하나를 통해 전송될 수 있으며, 각종 기계 판독 가능한 매체는 하드 디스크, 플로피 디스크 및 자기 테이프와 같은 자기 매체; CD-ROM 및 홀로 그래픽 장치와 같은 광 매체; 광 자기 매체; 및 ASIC (Application Specific Integrated Circuit), PLD (Programmable Logic Device), 플래시 메모리 장치 및 ROM 및 RAM 장치와 같이 프로그램 코드를 저장하거나 저장하고 실행하도록 특별히 구성된 하드웨어 장치를 포함하나, 이에 한정되지 않는다.
본 발명의 실시예는, 하나 이상의 프로세서 또는 처리 유닛이 하나 이상의 단계들을 수행하도록 하는 명령어들을 구비하는 하나 하나 또는 다수의 비 일시적인 컴퓨터 판독 가능한 매체 상에서 인코딩될 수 있다. 하나 또는 다수의 비 일시적인 컴퓨터 판독 가능한 매체는 휘발성 및 비 휘발성 메모리를 포함하여야 함을 유의하여야 한다. 하드웨어 구현 또는 소프트웨어/하드웨어 구현을 포함한 대체적인 구현이 가능하다는 것을 유의하여야 한다. 하드웨어 구현 기능은 ASIC, 프로그래머블 어레이, 디지털 신호 처리 회로 등을 이용하여 실현될 수 있다. 따라서 모든 청구항들 중의 용어 "장치(means)"는 소프트웨어 및 하드웨어 구현을 모두 포함한다. 유사하게, 본 출원에 사용되는 용어 "컴퓨터 판독 가능한 매체 또는 매질"은 이러한 장치 상에서 실행되는 명령어 프로그램을 구비하는 소프트웨어 및/또는 하드웨어, 또는 이들의 조합을 포함한다. 이러한 구현 대안을 고려하여, 도면 및 첨부된 설명은 해당 기술분야에서의 당업자가 필요한 처리를 수행하도록 프로그램 코드 (즉, 소프트웨어)를 작성하고 및/또는 회로(즉, 하드웨어)를 제조하는데 필요한 기능 정보를 제공함을 이해하여야 한다.
본 발명의 실시예는 다양한 컴퓨터 구현 동작을 수행하기 위한 컴퓨터 코드를 구비하는 비 일시적인 유형 컴퓨터 판독 가능한 매체를 구비하는 컴퓨터 제품에 더 관련 될 수 있음을 유의하여야 한다. 매체 및 컴퓨터 코드는 본 발명의 목적을 위해 특별히 설계되고 구성된 것일 수 있으며, 또는 해당 기술분야에서의 당업자에게 공지되거나 이용 가능한 유형일 수도 있다. 유형의 컴퓨터 판독 가능한 매체의 예시로서, 하드 디스크, 플로피 디스크 및 자기 테이프와 같은 자기 매체; CD-ROM 및 홀로 그래픽 장치와 같은 광 매체; 광 자기 매체; ASIC(Application Specific Integrated Circuit), PLD(Programmable Logic Device), 플래시 메모리 장치 및 ROM 및 RAM 장치와 같이 프로그램 코드를 저장하거나 저장하고 실행하도록 특별히 구성된 하드웨어 장치를 포함하나, 이에 한정되지 않는다. 컴퓨터 코드의 예시는 컴파일러로 생성되는 것과 같은 기계 코드 및 인터프리터를 이용하여 컴퓨터에 의해 실행되는 상위 레벨 코드를 포함하는 파일을 포함한다. 본 발명의 실시예는 처리 장치에 의해 실행되는 프로그램 모듈에 위치할 수 있는 머신 실행 가능한 명령어로서 전체적으로 또는 부분적으로 실현될 수 있다. 프로그램 모듈의 예시는 라이브러리, 프로그램, 루틴, 대상, 부재 및 데이터 구조를 포함한다. 분산형 컴퓨팅 환경에서, 프로그램 모듈은 물리적으로 로컬, 원격 또는 양자 결합의 세팅에 위치할 수 있다.
컴퓨팅 시스템 또는 프로그래밍 언어가 본 발명의 실제 응용에 대해 관건적인 것이 아님을 해당 기술 분야에서의 당업자는 자명할 것이다. 상술한 다수의 요소는 물리적으로 및/또는 기능적으로 서브 모듈로 분할되거나 함께 조합될 수 있음을 해당 기술 분야에서의 당업자는 자명할 것이다.
전술한 예시 및 실시예들은 예시적인 것일 뿐, 본 발명의 범위를 한정하기 위한 것이 아님을 해당 기술 분야에서의 당업자는 자명할 것이다.
본 발명의 명세서를 열독하고 첨부된 도면을 연구하여 해당 기술 분야에서의 당업자가 용이하게 생각해 낼 수 있는 모든 대체물, 보강물, 균등물, 조합 및 개선은 모두 본 발명의 참된 정신 및 범위에 포함된다.
여기에 첨부된 청구항들의 요소들은, 다수의 관련물, 구성 및 조합을 포함하여, 상이하게 배치될 수 있음도 유의하여야 한다. 예컨대, 실시예에 있어서, 각종의 청구항들의 주제는 기타 청구항들과 조합될 수 있다.

Claims (20)

  1. 사용자로부터 입력 오디오를 수신하되, 상기 입력 오디오는 다수의 발언을 포함하는 단계;
    각 발언에 대해 일 세트의 스펙트로그램 프레임을 생성하는 단계;
    상기 일 세트의 스펙트로그램 프레임을 회귀 신경망(RNN) 모델에 입력하되, 상기 RNN 모델은 하나 또는 다수의 콘볼루션 층 및 하나 또는 다수의 회귀층을 포함하고, 상기 RNN 모델은 트레이닝 데이터 세트로부터 샘플링된 다수의 미니 배치의 트레이닝 발언 시퀸스를 이용하여 사전 트레이닝되고, 다수의 미치 배치는 트레이닝 기간에 배치 정규화되어 상기 하나 또는 다수의 회귀층 중 적어도 하나 중의 사전 활성화를 정규화시키는 단계;
    상기 RNN 모델로부터 하나 또는 다수의 예측된 문자의 확율 출력을 획득하는 단계; 및
    각 발언의 가장 가능한 전사를 찾아내도록, 언어 모델에 제약된 상기 확율 출력을 이용하여 검색을 진행하되, 상기 언어 모델은, 상기 예측된 문자의 확율 출력으로부터 확정한 문자열을 하나의 단어 또는 다수의 단어로 해석하는 단계;를 포함하는 것을 특징으로 하는 음성 오디오 전사를 위한 컴퓨터 구현 방법.
  2. 제1항에 있어서,
    상기 정규화는,
    상기 하나 또는 다수의 콘볼루션 층 및 하나 또는 다수의 회귀층 중의 각 은닉 유닛에 대해, 각 미니 배치 중의 각 트레이닝 발언 시퀸스의 길이 상에서 평균값과 분산을 계산하는 단계를 포함하는 것을 특징으로 하는 음성 오디오 전사를 위한 컴퓨터 구현 방법.
  3. 제1항에 있어서,
    상기 RNN 모델은,
    상기 하나 또는 다수의 콘볼루션 층 상에 위치한 행 콘볼루션 층을 더 포함하는 것을 특징으로 하는 음성 오디오 전사를 위한 컴퓨터 구현 방법.
  4. 제3항에 있어서,
    상기 행 콘볼루션 층은 단방향 및 단순 순방향 층(unidirectional and forward-only layer)인 것을 특징으로 하는 음성 오디오 전사를 위한 컴퓨터 구현 방법.
  5. 제4항에 있어서,
    상기 행 콘볼루션 층의 활성화는 현재 시간 스텝 크기와 적어도 하나의 미래 시간 스텝 크기에서 상기 회귀층로부터의 정보를 이용하여 획득되고, 상기 행 콘볼루션 층의 활성화는 상기 현재 시간 스텝 크기에 대응되는 문자 예측에 사용되는 것을 특징으로 하는 음성 오디오 전사를 위한 컴퓨터 구현 방법.
  6. 제1항에 있어서,
    상기 예측된 문자는 영어 알파벳 또는 중국어 문자인 것을 특징으로 하는 음성 오디오 전사를 위한 컴퓨터 구현 방법.
  7. 제1항에 있어서,
    상기 입력 오디오는, 상기 입력 오디오의 총 파워가 상기 RNN 모델을 사전 트레이닝하기 위한 일 세트의 트레이닝 샘플이 일치하도록 정규화되는 것을 특징으로 하는 음성 오디오 전사를 위한 컴퓨터 구현 방법.
  8. 제1항에 있어서,
    누적 확율이 적어도 역치인 문자들만 고려하기 위해, 상기 언어 모델 중에서 빔 탐색을 진행하는 것을 특징으로 하는 음성 오디오 전사를 위한 컴퓨터 구현 방법.
  9. 제1항에 있어서,
    상기 일 세트의 스펙트로그램 프레임을 획득하는 과정에서 기정된 수량의 시편의 스텝 크기를 스트라이드로 취하여 상기 발언에 대한 서브 샘플링을 구현함으로써, 상기 일 세트의 스펙트로그램 프레임을 생성하는 것을 특징으로 하는 음성 오디오 전사를 위한 컴퓨터 구현 방법.
  10. 제10항에 있어서,
    상기 전사 모델로부터의 상기 예측된 문자는, 전체 단어, 음절 및 단어 레벨에서 중복되지 않은 n-그램으로부터 선택된 대체 라벨을 포함하는 것을 특징으로 하는 음성 오디오 전사를 위한 컴퓨터 구현 방법.
  11. 하나 또는 다수의 명령어 시퀸스를 포함하는 비 일시적인 컴퓨터 판독 가능한 매체 또는 매질에 있어서,
    상기 명령어 시퀸스가 하나 또는 다수의 마이크로프로세서에 의해 실행될 경우,
    입력 오디오를 수신하되, 상기 입력 오디오는 다수의 발언을 포함하는 단계;
    각 발언에 대해 일 세트의 스펙트로그램 프레임을 획득하는 단계;
    상기 일 세트의 스펙트로그램 프레임을 신경망에 입력하되, 상기 신경망은 하나 또는 다수의 콘볼루션 층 및 하나 또는 다수의 회귀층을 포함하고, 상기 신경망 모델은, 트레이닝 데이터 세트로부터 샘플링된 다수의 미니 배치의 트레이닝 발언 시퀸스를 이용하여 사전 트레이닝되고, 다수의 미치 배치는 트레이닝 기간에 정규화되어 상기 하나 또는 다수의 콘볼루션 층 중 적어도 하나 중의 사전 활성화를 정규화시키는 단계;
    사전 트레이닝된 신경망로부터 하나 또는 다수의 예측된 문자를 획득하는 단계; 및
    각 발언의 가장 가능한 전사를 찾아내도록, 언어 모델에 제약된 상기 확율 출력을 이용하여 빔 탐색을 진행하되, 상기 언어 모델은, 상기 예측된 문자로부터 확정한 문자열을 하나의 단어 또는 다수의 단어로 해석하는 단계;를 수행하는 것을 특징으로 하는 비 일시적인 컴퓨터 판독 가능한 매체 또는 매질.
  12. 제11항에 있어서,
    상기 단계는, 상기 일 세트의 스펙트로그램 프레임을 획득하는 과정에서, 기정된 수량의 시편의 스텝 크기를 스트라이드로 취하여 상기 발언에 대한 서브 샘플링을 구현하는 단계를 더 포함하는 것을 특징으로 하는 비 일시적인 컴퓨터 판독 가능한 매체 또는 매질.
  13. 제11항에 있어서,
    상기 하나 또는 다수의 예측된 문자는, 영어 알파벳으로부터 강화된 중복되지 않은 바이그램을 포함하는 것을 특징으로 하는 비 일시적인 컴퓨터 판독 가능한 매체 또는 매질.
  14. 제11항에 있어서,
    상기 단계는, 상기 트레이닝 데이터 세트로부터의 통계 정보를 이용하여 상기 입력 오디오를 정규화시키는 단계를 더 포함하는 것을 특징으로 하는 비 일시적인 컴퓨터 판독 가능한 매체 또는 매질.
  15. 제11항에 있어서,
    사전 트레이닝된 신경망은 트레이닝 세트를 이용하여 CTC(Connectionist Temporal Classification) 손실 함수에 의해 트레이닝되는 것을 특징으로 하는 비 일시적인 컴퓨터 판독 가능한 매체 또는 매질.
  16. 발언에 대응되는 일 세트의 스펙트로그램 프레임을 수신하되, 상기 발언은 상기 일 세트의 스펙트로그램 프레임을 획득하는 과정에서, 기정된 수량의 시편의 스텝 크기를 스트라이드로 취하여 서브 샘플링되는 단계;
    하나 또는 다수의 회귀층을 이용하여, 상기 일 세트의 스펙트로그램 프레임에 대응되는 특징 매트릭스를 획득하는 단계; 및
    상기 하나 또는 다수의 회귀층 상에 위치한 행 콘볼루션 층을 이용하여, 획득한 특징 매트릭스를 기반으로 상기 현재 시간 스텝에 대응되는 하나 또는 다수의 예측된 문자를 획득하되, 상기 행 콘볼루션 층은 단방향 및 단순 순방향 층이고, 상기 예측된 문자는 영어 알파벳으로부터 강화된 중복되지 않은 바이그램을 포함하는 단계;를 포함하되,
    상기 특징 매트릭스는 현재 시간 스텝 크기의 은닉 상태와 N 개의 시간 스텝에서의 미래 은닉 상태를 포함하고, N은 1보다 큰 것을 특징으로 하는 음성 전사를 위한 컴퓨터 구현 방법.
  17. 제16항에 있어서,
    상기 하나 또는 다수의 회귀층은 단순 순방향 층(forward-only layer)인 것을 특징으로 하는 음성 전사를 위한 컴퓨터 구현 방법.
  18. 제16항에 있어서,
    상기 하나 또는 다수의 회귀층은, 트레이닝 데이터 세트로부터 샘플링된 다수의 미니 배치의 트레이닝 발언 시퀸스를 이용하여 사전 트레이닝되고, 다수의 미치 배치는 트레이닝 기간에 배치 정규화되어 상기 하나 또는 다수의 회귀층 중 적어도 하나 중의 사전 활성화를 정규화시키는 것을 특징으로 하는 음성 전사를 위한 컴퓨터 구현 방법.
  19. 제16항에 있어서,
    상기 문자 예측은, 획득한 특징 매트릭스와 파라미터 매트릭스 사이에서 합성 연산(convolution operation)을 이용하여 진행되는 것을 특징으로 하는 음성 전사를 위한 컴퓨터 구현 방법.
  20. 제16항에 있어서,
    상기 문자 예측은, 언어 모델에서 상기 예측된 문자를 기반으로 가장 가능한 전사에 대한 빔 탐색을 진행하는 단계를 더 포함하는 것을 특징으로 하는 음성 전사를 위한 컴퓨터 구현 방법.
KR1020177023173A 2015-11-25 2016-11-23 배치된 단대단 음성 인식 KR102008077B1 (ko)

Applications Claiming Priority (7)

Application Number Priority Date Filing Date Title
US201562260206P 2015-11-25 2015-11-25
US62/260,206 2015-11-25
US15/358,083 US10319374B2 (en) 2015-11-25 2016-11-21 Deployed end-to-end speech recognition
US15/358,083 2016-11-21
US15/358,102 2016-11-21
US15/358,102 US10332509B2 (en) 2015-11-25 2016-11-21 End-to-end speech recognition
PCT/US2016/063641 WO2017091751A1 (en) 2015-11-25 2016-11-23 Deployed end-to-end speech recognition

Publications (2)

Publication Number Publication Date
KR20170106445A true KR20170106445A (ko) 2017-09-20
KR102008077B1 KR102008077B1 (ko) 2019-08-06

Family

ID=58721011

Family Applications (2)

Application Number Title Priority Date Filing Date
KR1020177023173A KR102008077B1 (ko) 2015-11-25 2016-11-23 배치된 단대단 음성 인식
KR1020177023177A KR102033230B1 (ko) 2015-11-25 2016-11-23 단대단 음성 인식

Family Applications After (1)

Application Number Title Priority Date Filing Date
KR1020177023177A KR102033230B1 (ko) 2015-11-25 2016-11-23 단대단 음성 인식

Country Status (6)

Country Link
US (2) US10332509B2 (ko)
EP (2) EP3245597B1 (ko)
JP (2) JP6629872B2 (ko)
KR (2) KR102008077B1 (ko)
CN (2) CN107408384B (ko)
WO (2) WO2017091763A1 (ko)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR102018346B1 (ko) * 2018-05-11 2019-10-14 국방과학연구소 음향 신호를 분류하는 방법 및 시스템
KR20200095789A (ko) * 2019-02-01 2020-08-11 한국전자통신연구원 번역 모델 구축 방법 및 장치

Families Citing this family (253)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11978436B2 (en) 2022-06-03 2024-05-07 Apple Inc. Application vocabulary integration with a digital assistant
US8977255B2 (en) 2007-04-03 2015-03-10 Apple Inc. Method and system for operating a multi-function portable electronic device using voice-activation
US8515052B2 (en) 2007-12-17 2013-08-20 Wai Wu Parallel signal processing system and method
US8676904B2 (en) 2008-10-02 2014-03-18 Apple Inc. Electronic devices with voice command and contextual data processing capabilities
US9634855B2 (en) 2010-05-13 2017-04-25 Alexander Poltorak Electronic personal interactive device that determines topics of interest using a conversational agent
CN104969289B (zh) 2013-02-07 2021-05-28 苹果公司 数字助理的语音触发器
US10170123B2 (en) 2014-05-30 2019-01-01 Apple Inc. Intelligent assistant for home automation
US9338493B2 (en) 2014-06-30 2016-05-10 Apple Inc. Intelligent automated assistant for TV user interactions
US10747498B2 (en) 2015-09-08 2020-08-18 Apple Inc. Zero latency digital assistant
US10691473B2 (en) 2015-11-06 2020-06-23 Apple Inc. Intelligent automated assistant in a messaging environment
US10229672B1 (en) * 2015-12-31 2019-03-12 Google Llc Training acoustic models using connectionist temporal classification
JP6706326B2 (ja) * 2016-02-03 2020-06-03 グーグル エルエルシー リカレントニューラルネットワークモデルの圧縮
CN106251859B (zh) * 2016-07-22 2019-05-31 百度在线网络技术(北京)有限公司 语音识别处理方法和装置
US9984683B2 (en) * 2016-07-22 2018-05-29 Google Llc Automatic speech recognition using multi-dimensional models
EP3767547A1 (en) * 2016-09-06 2021-01-20 Deepmind Technologies Limited Processing sequences using convolutional neural networks
EP3497629B1 (en) 2016-09-06 2020-11-04 Deepmind Technologies Limited Generating audio using neural networks
US11080591B2 (en) * 2016-09-06 2021-08-03 Deepmind Technologies Limited Processing sequences using convolutional neural networks
US10224058B2 (en) 2016-09-07 2019-03-05 Google Llc Enhanced multi-channel acoustic models
CN109891437A (zh) * 2016-10-03 2019-06-14 谷歌有限责任公司 使用神经网络处理文本序列
CN110023963B (zh) 2016-10-26 2023-05-30 渊慧科技有限公司 使用神经网络处理文本序列
US10529320B2 (en) * 2016-12-21 2020-01-07 Google Llc Complex evolution recurrent neural networks
US10140980B2 (en) * 2016-12-21 2018-11-27 Google LCC Complex linear projection for acoustic modeling
KR101882906B1 (ko) * 2017-01-17 2018-07-27 경북대학교 산학협력단 복수 문단 텍스트의 추상적 요약문 생성 장치 및 방법, 그 방법을 수행하기 위한 기록 매체
US10049106B2 (en) * 2017-01-18 2018-08-14 Xerox Corporation Natural language generation through character-based recurrent neural networks with finite-state prior knowledge
US11907858B2 (en) * 2017-02-06 2024-02-20 Yahoo Assets Llc Entity disambiguation
US11100932B2 (en) * 2017-02-10 2021-08-24 Synaptics Incorporated Robust start-end point detection algorithm using neural network
US11080600B2 (en) * 2017-02-10 2021-08-03 Synaptics Incorporated Recurrent neural network based acoustic event classification using complement rule
US11087213B2 (en) * 2017-02-10 2021-08-10 Synaptics Incorporated Binary and multi-class classification systems and methods using one spike connectionist temporal classification
US10762417B2 (en) * 2017-02-10 2020-09-01 Synaptics Incorporated Efficient connectionist temporal classification for binary classification
US11853884B2 (en) * 2017-02-10 2023-12-26 Synaptics Incorporated Many or one detection classification systems and methods
US10762891B2 (en) * 2017-02-10 2020-09-01 Synaptics Incorporated Binary and multi-class classification systems and methods using connectionist temporal classification
US10872598B2 (en) * 2017-02-24 2020-12-22 Baidu Usa Llc Systems and methods for real-time neural text-to-speech
US10373610B2 (en) * 2017-02-24 2019-08-06 Baidu Usa Llc Systems and methods for automatic unit selection and target decomposition for sequence labelling
US10657955B2 (en) * 2017-02-24 2020-05-19 Baidu Usa Llc Systems and methods for principled bias reduction in production speech models
US10878837B1 (en) * 2017-03-01 2020-12-29 Snap Inc. Acoustic neural network scene detection
US10762427B2 (en) * 2017-03-01 2020-09-01 Synaptics Incorporated Connectionist temporal classification using segmented labeled sequence data
US10540961B2 (en) * 2017-03-13 2020-01-21 Baidu Usa Llc Convolutional recurrent neural networks for small-footprint keyword spotting
US11410024B2 (en) * 2017-04-28 2022-08-09 Intel Corporation Tool for facilitating efficiency in machine learning
US11017291B2 (en) * 2017-04-28 2021-05-25 Intel Corporation Training with adaptive runtime and precision profiling
US10467052B2 (en) * 2017-05-01 2019-11-05 Red Hat, Inc. Cluster topology aware container scheduling for efficient data transfer
US20180330718A1 (en) * 2017-05-11 2018-11-15 Mitsubishi Electric Research Laboratories, Inc. System and Method for End-to-End speech recognition
KR20180124381A (ko) * 2017-05-11 2018-11-21 현대자동차주식회사 운전자의 상태 판단 시스템 및 그 방법
DK180048B1 (en) 2017-05-11 2020-02-04 Apple Inc. MAINTAINING THE DATA PROTECTION OF PERSONAL INFORMATION
DK201770427A1 (en) 2017-05-12 2018-12-20 Apple Inc. LOW-LATENCY INTELLIGENT AUTOMATED ASSISTANT
DK179496B1 (en) 2017-05-12 2019-01-15 Apple Inc. USER-SPECIFIC Acoustic Models
US10896669B2 (en) 2017-05-19 2021-01-19 Baidu Usa Llc Systems and methods for multi-speaker neural text-to-speech
CN107240396B (zh) * 2017-06-16 2023-01-17 百度在线网络技术(北京)有限公司 说话人自适应方法、装置、设备及存储介质
EP3422518B1 (en) * 2017-06-28 2020-06-17 Siemens Aktiengesellschaft A method for recognizing contingencies in a power supply network
KR102410820B1 (ko) * 2017-08-14 2022-06-20 삼성전자주식회사 뉴럴 네트워크를 이용한 인식 방법 및 장치 및 상기 뉴럴 네트워크를 트레이닝하는 방법 및 장치
KR102483643B1 (ko) * 2017-08-14 2023-01-02 삼성전자주식회사 모델을 학습하는 방법 및 장치 및 상기 뉴럴 네트워크를 이용한 인식 방법 및 장치
US10706840B2 (en) * 2017-08-18 2020-07-07 Google Llc Encoder-decoder models for sequence to sequence mapping
US11694066B2 (en) 2017-10-17 2023-07-04 Xilinx, Inc. Machine learning runtime library for neural network acceleration
US11017761B2 (en) 2017-10-19 2021-05-25 Baidu Usa Llc Parallel neural text-to-speech
US10872596B2 (en) 2017-10-19 2020-12-22 Baidu Usa Llc Systems and methods for parallel wave generation in end-to-end text-to-speech
US10796686B2 (en) 2017-10-19 2020-10-06 Baidu Usa Llc Systems and methods for neural text-to-speech using convolutional sequence learning
CN107680597B (zh) * 2017-10-23 2019-07-09 平安科技(深圳)有限公司 语音识别方法、装置、设备以及计算机可读存储介质
US11556775B2 (en) 2017-10-24 2023-01-17 Baidu Usa Llc Systems and methods for trace norm regularization and faster inference for embedded models
US20190130896A1 (en) * 2017-10-26 2019-05-02 Salesforce.Com, Inc. Regularization Techniques for End-To-End Speech Recognition
US10573295B2 (en) * 2017-10-27 2020-02-25 Salesforce.Com, Inc. End-to-end speech recognition with policy learning
US11250314B2 (en) * 2017-10-27 2022-02-15 Cognizant Technology Solutions U.S. Corporation Beyond shared hierarchies: deep multitask learning through soft layer ordering
US11562287B2 (en) 2017-10-27 2023-01-24 Salesforce.Com, Inc. Hierarchical and interpretable skill acquisition in multi-task reinforcement learning
US10535001B2 (en) * 2017-11-06 2020-01-14 International Business Machines Corporation Reducing problem complexity when analyzing 3-D images
AU2018368279A1 (en) 2017-11-14 2020-05-14 Magic Leap, Inc. Meta-learning for multi-task learning for neural networks
US11977958B2 (en) 2017-11-22 2024-05-07 Amazon Technologies, Inc. Network-accessible machine learning model training and hosting system
CN108334889B (zh) 2017-11-30 2020-04-03 腾讯科技(深圳)有限公司 摘要描述生成方法和装置、摘要描述模型训练方法和装置
CN108171117B (zh) * 2017-12-05 2019-05-21 南京南瑞信息通信科技有限公司 基于多核异构并行计算的电力人工智能视觉分析系统
CN107945791B (zh) * 2017-12-05 2021-07-20 华南理工大学 一种基于深度学习目标检测的语音识别方法
US10847137B1 (en) * 2017-12-12 2020-11-24 Amazon Technologies, Inc. Trigger word detection using neural network waveform processing
KR102462426B1 (ko) 2017-12-14 2022-11-03 삼성전자주식회사 발화의 의미를 분석하기 위한 전자 장치 및 그의 동작 방법
US10672388B2 (en) * 2017-12-15 2020-06-02 Mitsubishi Electric Research Laboratories, Inc. Method and apparatus for open-vocabulary end-to-end speech recognition
US10593321B2 (en) * 2017-12-15 2020-03-17 Mitsubishi Electric Research Laboratories, Inc. Method and apparatus for multi-lingual end-to-end speech recognition
US11443178B2 (en) 2017-12-15 2022-09-13 Interntional Business Machines Corporation Deep neural network hardening framework
FR3076378B1 (fr) * 2017-12-29 2020-05-29 Bull Sas Procede de formation d'un reseau de neurones pour la reconnaissance d'une sequence de caracteres et procede de reconnaissance associe
CN108229659A (zh) * 2017-12-29 2018-06-29 陕西科技大学 基于深度学习的钢琴单键音识别方法
CN108364662B (zh) * 2017-12-29 2021-01-05 中国科学院自动化研究所 基于成对鉴别任务的语音情感识别方法与系统
CN108089958B (zh) * 2017-12-29 2021-06-08 珠海市君天电子科技有限公司 Gpu测试方法、终端设备和计算机可读存储介质
KR102089076B1 (ko) * 2018-01-11 2020-03-13 중앙대학교 산학협력단 Bcsc를 이용한 딥러닝 방법 및 그 장치
CN108256474A (zh) * 2018-01-17 2018-07-06 百度在线网络技术(北京)有限公司 用于识别菜品的方法和装置
CN108417201B (zh) * 2018-01-19 2020-11-06 苏州思必驰信息科技有限公司 单信道多说话人身份识别方法及系统
CN108417202B (zh) * 2018-01-19 2020-09-01 苏州思必驰信息科技有限公司 语音识别方法及系统
US10657426B2 (en) * 2018-01-25 2020-05-19 Samsung Electronics Co., Ltd. Accelerating long short-term memory networks via selective pruning
CN108491836B (zh) * 2018-01-25 2020-11-24 华南理工大学 一种自然场景图像中中文文本整体识别方法
US11182694B2 (en) 2018-02-02 2021-11-23 Samsung Electronics Co., Ltd. Data path for GPU machine learning training with key value SSD
US11527308B2 (en) 2018-02-06 2022-12-13 Cognizant Technology Solutions U.S. Corporation Enhanced optimization with composite objectives and novelty-diversity selection
US10776581B2 (en) * 2018-02-09 2020-09-15 Salesforce.Com, Inc. Multitask learning as question answering
TWI659411B (zh) * 2018-03-01 2019-05-11 大陸商芋頭科技(杭州)有限公司 一種多語言混合語音識別方法
CN108564954B (zh) * 2018-03-19 2020-01-10 平安科技(深圳)有限公司 深度神经网络模型、电子装置、身份验证方法和存储介质
KR102473447B1 (ko) * 2018-03-22 2022-12-05 삼성전자주식회사 인공지능 모델을 이용하여 사용자 음성을 변조하기 위한 전자 장치 및 이의 제어 방법
US20190318229A1 (en) * 2018-04-12 2019-10-17 Advanced Micro Devices, Inc. Method and system for hardware mapping inference pipelines
CN108538311B (zh) * 2018-04-13 2020-09-15 腾讯音乐娱乐科技(深圳)有限公司 音频分类方法、装置及计算机可读存储介质
US10672414B2 (en) * 2018-04-13 2020-06-02 Microsoft Technology Licensing, Llc Systems, methods, and computer-readable media for improved real-time audio processing
EP3619708B1 (en) * 2018-04-23 2022-06-08 Google LLC Speaker diarization using an end-to-end model
US10928918B2 (en) 2018-05-07 2021-02-23 Apple Inc. Raise to speak
US11460753B2 (en) 2018-05-10 2022-10-04 The Board Of Trustees Of The Leland Stanford Junior University Systems and methods for activation functions for photonic neural networks
KR20210006962A (ko) * 2018-05-10 2021-01-19 더 보드 어브 트러스티스 어브 더 리랜드 스탠포드 주니어 유니버시티 인시츄 역전파를 통한 광자 신경망의 훈련
US11086937B2 (en) * 2018-05-11 2021-08-10 The Regents Of The University Of California Speech based structured querying
US11462209B2 (en) * 2018-05-18 2022-10-04 Baidu Usa Llc Spectrogram to waveform synthesis using convolutional networks
DK180639B1 (en) 2018-06-01 2021-11-04 Apple Inc DISABILITY OF ATTENTION-ATTENTIVE VIRTUAL ASSISTANT
GB2589478B (en) * 2018-06-21 2022-05-25 Ibm Segmenting irregular shapes in images using deep region growing
CN108984535B (zh) * 2018-06-25 2022-04-05 腾讯科技(深圳)有限公司 语句翻译的方法、翻译模型训练的方法、设备及存储介质
WO2020000390A1 (en) * 2018-06-29 2020-01-02 Baidu.Com Times Technology (Beijing) Co., Ltd. Systems and methods for depth estimation via affinity learned with convolutional spatial propagation networks
CN109147766B (zh) * 2018-07-06 2020-08-18 北京爱医声科技有限公司 基于端到端深度学习模型的语音识别方法及系统
US11335333B2 (en) 2018-07-20 2022-05-17 Google Llc Speech recognition with sequence-to-sequence models
CN110752973B (zh) * 2018-07-24 2020-12-25 Tcl科技集团股份有限公司 一种终端设备的控制方法、装置和终端设备
US10380997B1 (en) * 2018-07-27 2019-08-13 Deepgram, Inc. Deep learning internal state index-based search and classification
CN108962230B (zh) * 2018-07-27 2019-04-23 重庆因普乐科技有限公司 基于忆阻器的语音识别方法
JP7209330B2 (ja) * 2018-07-30 2023-01-20 国立研究開発法人情報通信研究機構 識別器、学習済モデル、学習方法
US11107463B2 (en) 2018-08-01 2021-08-31 Google Llc Minimum word error rate training for attention-based sequence-to-sequence models
CN110825665B (zh) * 2018-08-10 2021-11-05 昆仑芯(北京)科技有限公司 数据获取单元和应用于控制器的数据获取方法
US10650812B2 (en) * 2018-08-13 2020-05-12 Bank Of America Corporation Deterministic multi-length sliding window protocol for contiguous string entity
CN109003601A (zh) * 2018-08-31 2018-12-14 北京工商大学 一种针对低资源土家语的跨语言端到端语音识别方法
CN112639964A (zh) * 2018-09-04 2021-04-09 Oppo广东移动通信有限公司 利用深度信息识别语音的方法、系统及计算机可读介质
US10963721B2 (en) 2018-09-10 2021-03-30 Sony Corporation License plate number recognition based on three dimensional beam search
CN109271926B (zh) * 2018-09-14 2021-09-10 西安电子科技大学 基于gru深度卷积网络的智能辐射源识别方法
CN109215662B (zh) * 2018-09-18 2023-06-20 平安科技(深圳)有限公司 端对端语音识别方法、电子装置及计算机可读存储介质
JP7043373B2 (ja) * 2018-09-18 2022-03-29 ヤフー株式会社 情報処理装置、情報処理方法、およびプログラム
US11462215B2 (en) 2018-09-28 2022-10-04 Apple Inc. Multi-modal inputs for voice commands
US10672382B2 (en) * 2018-10-15 2020-06-02 Tencent America LLC Input-feeding architecture for attention based end-to-end speech recognition
US10891951B2 (en) * 2018-10-17 2021-01-12 Ford Global Technologies, Llc Vehicle language processing
EP3640856A1 (en) * 2018-10-19 2020-04-22 Fujitsu Limited A method, apparatus and computer program to carry out a training procedure in a convolutional neural network
KR20200045128A (ko) * 2018-10-22 2020-05-04 삼성전자주식회사 모델 학습 방법 및 장치, 및 데이터 인식 방법
CN109447253B (zh) * 2018-10-26 2021-04-27 杭州比智科技有限公司 显存分配的方法、装置、计算设备及计算机存储介质
JP7167335B2 (ja) 2018-10-29 2022-11-08 ドルビー・インターナショナル・アーベー 生成モデルを用いたレート品質スケーラブル符号化のための方法及び装置
US11494612B2 (en) * 2018-10-31 2022-11-08 Sony Interactive Entertainment Inc. Systems and methods for domain adaptation in neural networks using domain classifier
US11640519B2 (en) * 2018-10-31 2023-05-02 Sony Interactive Entertainment Inc. Systems and methods for domain adaptation in neural networks using cross-domain batch normalization
US11526759B2 (en) * 2018-11-05 2022-12-13 International Business Machines Corporation Large model support in deep learning
CN109523994A (zh) * 2018-11-13 2019-03-26 四川大学 一种基于胶囊神经网络的多任务语音分类方法
CN109492233B (zh) * 2018-11-14 2023-10-17 北京捷通华声科技股份有限公司 一种机器翻译方法和装置
US11250838B2 (en) * 2018-11-16 2022-02-15 Deepmind Technologies Limited Cross-modal sequence distillation
US11238845B2 (en) * 2018-11-21 2022-02-01 Google Llc Multi-dialect and multilingual speech recognition
US11736363B2 (en) * 2018-11-30 2023-08-22 Disney Enterprises, Inc. Techniques for analyzing a network and increasing network availability
US10573312B1 (en) 2018-12-04 2020-02-25 Sorenson Ip Holdings, Llc Transcription generation from multiple speech recognition systems
US11017778B1 (en) 2018-12-04 2021-05-25 Sorenson Ip Holdings, Llc Switching between speech recognition systems
US10388272B1 (en) 2018-12-04 2019-08-20 Sorenson Ip Holdings, Llc Training speech recognition systems using word sequences
US11170761B2 (en) 2018-12-04 2021-11-09 Sorenson Ip Holdings, Llc Training of speech recognition systems
KR20200075148A (ko) 2018-12-13 2020-06-26 현대자동차주식회사 문제소음 발음원 식별을 위한 소음데이터의 인공지능 장치 및 전처리 방법
JP7206898B2 (ja) * 2018-12-25 2023-01-18 富士通株式会社 学習装置、学習方法および学習プログラム
KR20200082227A (ko) 2018-12-28 2020-07-08 한국전자통신연구원 오디오 신호를 위한 손실 함수 결정 방법 및 손실 함수 결정 장치
CN111429889B (zh) * 2019-01-08 2023-04-28 百度在线网络技术(北京)有限公司 基于截断注意力的实时语音识别的方法、装置、设备以及计算机可读存储介质
US11322136B2 (en) * 2019-01-09 2022-05-03 Samsung Electronics Co., Ltd. System and method for multi-spoken language detection
WO2020154538A1 (en) * 2019-01-23 2020-07-30 Google Llc Generating neural network outputs using insertion operations
CN109783822B (zh) * 2019-01-24 2023-04-18 中国—东盟信息港股份有限公司 一种基于验证码的数据样本识别系统及其方法
CN111489742B (zh) * 2019-01-28 2023-06-27 北京猎户星空科技有限公司 声学模型训练方法、语音识别方法、装置及电子设备
KR20200101496A (ko) 2019-01-29 2020-08-28 삼성전자주식회사 가속 컴퓨팅 환경을 제공하는 서버 및 제어 방법
CN110517666B (zh) * 2019-01-29 2021-03-02 腾讯科技(深圳)有限公司 音频识别方法、系统、机器设备和计算机可读介质
JP7028203B2 (ja) * 2019-02-07 2022-03-02 日本電信電話株式会社 音声認識装置、音声認識方法、プログラム
JP7218601B2 (ja) * 2019-02-12 2023-02-07 日本電信電話株式会社 学習データ取得装置、モデル学習装置、それらの方法、およびプログラム
CN110059813B (zh) * 2019-02-13 2021-04-06 创新先进技术有限公司 利用gpu集群更新卷积神经网络的方法、装置及设备
US10861441B2 (en) * 2019-02-14 2020-12-08 Tencent America LLC Large margin training for attention-based end-to-end speech recognition
US11037547B2 (en) * 2019-02-14 2021-06-15 Tencent America LLC Token-wise training for attention based end-to-end speech recognition
US11481639B2 (en) 2019-02-26 2022-10-25 Cognizant Technology Solutions U.S. Corporation Enhanced optimization with composite objectives and novelty pulsation
EP3938898A4 (en) * 2019-03-13 2023-03-29 Cognizant Technology Solutions U.S. Corporation SYSTEM AND METHOD FOR IMPLEMENTING MODULAR UNIVERSAL RESETTING FOR DEEP MULTITASKING LEARNING ACROSS VARIOUS AREAS
CN111709513B (zh) * 2019-03-18 2023-06-09 百度在线网络技术(北京)有限公司 长短期记忆网络lstm的训练系统、方法及电子设备
US11348573B2 (en) 2019-03-18 2022-05-31 Apple Inc. Multimodality in digital assistant systems
US11783195B2 (en) 2019-03-27 2023-10-10 Cognizant Technology Solutions U.S. Corporation Process and system including an optimization engine with evolutionary surrogate-assisted prescriptions
US11182457B2 (en) 2019-03-28 2021-11-23 International Business Machines Corporation Matrix-factorization based gradient compression
US11011156B2 (en) 2019-04-11 2021-05-18 International Business Machines Corporation Training data modification for training model
CN109887497B (zh) * 2019-04-12 2021-01-29 北京百度网讯科技有限公司 语音识别的建模方法、装置及设备
CN110033760B (zh) * 2019-04-15 2021-01-29 北京百度网讯科技有限公司 语音识别的建模方法、装置及设备
US11676006B2 (en) * 2019-04-16 2023-06-13 Microsoft Technology Licensing, Llc Universal acoustic modeling using neural mixture models
US11475880B2 (en) * 2019-04-16 2022-10-18 Google Llc Joint endpointing and automatic speech recognition
US10997967B2 (en) 2019-04-18 2021-05-04 Honeywell International Inc. Methods and systems for cockpit speech recognition acoustic model training with multi-level corpus data augmentation
US11468879B2 (en) * 2019-04-29 2022-10-11 Tencent America LLC Duration informed attention network for text-to-speech analysis
US20200349425A1 (en) 2019-04-30 2020-11-05 Fujitsu Limited Training time reduction in automatic data augmentation
EP3948853A1 (en) * 2019-05-03 2022-02-09 Google LLC End-to-end automated speech recognition on numeric sequences
CN110211565B (zh) * 2019-05-06 2023-04-04 平安科技(深圳)有限公司 方言识别方法、装置及计算机可读存储介质
US11423883B2 (en) * 2019-05-06 2022-08-23 Google Llc Contextual biasing for speech recognition
US11307752B2 (en) 2019-05-06 2022-04-19 Apple Inc. User configurable task triggers
DK201970509A1 (en) 2019-05-06 2021-01-15 Apple Inc Spoken notifications
JP2022531882A (ja) * 2019-05-07 2022-07-12 イメージア サイバーネティックス インコーポレイテッド ニューラルネットワークを初期化する方法及びシステム
KR102460676B1 (ko) 2019-05-07 2022-10-31 한국전자통신연구원 밀집 연결된 하이브리드 뉴럴 네트워크를 이용한 음성 처리 장치 및 방법
CN110222578B (zh) * 2019-05-08 2022-12-27 腾讯科技(深圳)有限公司 对抗测试看图说话系统的方法和装置
CN110085249B (zh) * 2019-05-09 2021-03-16 南京工程学院 基于注意力门控的循环神经网络的单通道语音增强方法
JP7229847B2 (ja) * 2019-05-13 2023-02-28 株式会社日立製作所 対話装置、対話方法、及び対話コンピュータプログラム
WO2020242580A1 (en) * 2019-05-28 2020-12-03 Google Llc Large-scale multilingual speech recognition with a streaming end-to-end model
US11289073B2 (en) * 2019-05-31 2022-03-29 Apple Inc. Device text to speech
CN112017676A (zh) * 2019-05-31 2020-12-01 京东数字科技控股有限公司 音频处理方法、装置和计算机可读存储介质
US11227599B2 (en) 2019-06-01 2022-01-18 Apple Inc. Methods and user interfaces for voice-based control of electronic devices
US10716089B1 (en) * 2019-06-03 2020-07-14 Mapsted Corp. Deployment of trained neural network based RSS fingerprint dataset
CN110189766B (zh) * 2019-06-14 2021-04-06 西南科技大学 一种基于神经网络的语音风格转移方法
CN110299132B (zh) * 2019-06-26 2021-11-02 京东数字科技控股有限公司 一种语音数字识别方法和装置
CN110288682B (zh) 2019-06-28 2023-09-26 北京百度网讯科技有限公司 用于控制三维虚拟人像口型变化的方法和装置
KR20210008788A (ko) 2019-07-15 2021-01-25 삼성전자주식회사 전자 장치 및 그 제어 방법
US11244673B2 (en) 2019-07-19 2022-02-08 Microsoft Technologly Licensing, LLC Streaming contextual unidirectional models
KR20210014949A (ko) * 2019-07-31 2021-02-10 삼성전자주식회사 음성 인식을 위한 인공신경망에서의 디코딩 방법 및 장치
CN110473554B (zh) * 2019-08-08 2022-01-25 Oppo广东移动通信有限公司 音频校验方法、装置、存储介质及电子设备
WO2021029627A1 (en) 2019-08-13 2021-02-18 Samsung Electronics Co., Ltd. Server that supports speech recognition of device, and operation method of the server
US11532310B2 (en) 2019-08-13 2022-12-20 Samsung Electronics Co., Ltd. System and method for recognizing user's speech
WO2021029643A1 (en) 2019-08-13 2021-02-18 Samsung Electronics Co., Ltd. System and method for modifying speech recognition result
CN110459209B (zh) * 2019-08-20 2021-05-28 深圳追一科技有限公司 语音识别方法、装置、设备及存储介质
US11151979B2 (en) 2019-08-23 2021-10-19 Tencent America LLC Duration informed attention network (DURIAN) for audio-visual synthesis
US11158303B2 (en) * 2019-08-27 2021-10-26 International Business Machines Corporation Soft-forgetting for connectionist temporal classification based automatic speech recognition
US11551675B2 (en) 2019-09-03 2023-01-10 Samsung Electronics Co., Ltd. Electronic device and method for controlling the electronic device thereof
CN110459208B (zh) * 2019-09-09 2022-01-11 中科极限元(杭州)智能科技股份有限公司 一种基于知识迁移的序列到序列语音识别模型训练方法
CN110600020B (zh) * 2019-09-12 2022-05-17 上海依图信息技术有限公司 一种梯度传输方法及装置
US11302309B2 (en) * 2019-09-13 2022-04-12 International Business Machines Corporation Aligning spike timing of models for maching learning
CN110807365B (zh) * 2019-09-29 2022-02-11 浙江大学 一种基于gru与一维cnn神经网络融合的水下目标识别方法
US11681911B2 (en) * 2019-10-15 2023-06-20 Naver Corporation Method and system for training neural sequence-to-sequence models by incorporating global features
CN110704197B (zh) * 2019-10-17 2022-12-09 北京小米移动软件有限公司 处理内存访问开销的方法、装置及介质
CN110875035A (zh) * 2019-10-24 2020-03-10 广州多益网络股份有限公司 新型多任务联合的语音识别训练架构和方法
KR102203786B1 (ko) * 2019-11-14 2021-01-15 오로라월드 주식회사 스마트 토이를 이용한 인터렉션 서비스 제공방법 및 시스템
CN110930979B (zh) * 2019-11-29 2020-10-30 百度在线网络技术(北京)有限公司 一种语音识别模型训练方法、装置以及电子设备
CN111312228A (zh) * 2019-12-09 2020-06-19 中国南方电网有限责任公司 一种基于端到端的应用于电力企业客服的语音导航方法
CN111048082B (zh) * 2019-12-12 2022-09-06 中国电子科技集团公司第二十八研究所 一种改进的端到端语音识别方法
CN113077785B (zh) * 2019-12-17 2022-07-12 中国科学院声学研究所 一种端到端的多语言连续语音流语音内容识别方法及系统
CN111079945B (zh) * 2019-12-18 2021-02-05 北京百度网讯科技有限公司 端到端模型的训练方法及装置
CN111145729B (zh) * 2019-12-23 2022-10-28 厦门快商通科技股份有限公司 语音识别模型训练方法、系统、移动终端及存储介质
CN111063336A (zh) * 2019-12-30 2020-04-24 天津中科智能识别产业技术研究院有限公司 一种基于深度学习的端对端语音识别系统
US11183178B2 (en) 2020-01-13 2021-11-23 Microsoft Technology Licensing, Llc Adaptive batching to reduce recognition latency
CN111382581B (zh) * 2020-01-21 2023-05-19 沈阳雅译网络技术有限公司 一种机器翻译中的一次剪枝压缩方法
CN115039171A (zh) * 2020-01-28 2022-09-09 谷歌有限责任公司 使用有效文字标准化的语言无关的多语言建模
CN111292727B (zh) * 2020-02-03 2023-03-24 北京声智科技有限公司 一种语音识别方法及电子设备
CN111428750A (zh) * 2020-02-20 2020-07-17 商汤国际私人有限公司 一种文本识别模型训练及文本识别方法、装置及介质
CN111210807B (zh) * 2020-02-21 2023-03-31 厦门快商通科技股份有限公司 语音识别模型训练方法、系统、移动终端及存储介质
CN111397870B (zh) * 2020-03-08 2021-05-14 中国地质大学(武汉) 一种基于多样化集成卷积神经网络的机械故障预测方法
US11747902B2 (en) 2020-03-11 2023-09-05 Apple Inc. Machine learning configurations modeled using contextual categorical labels for biosignals
CN111246026A (zh) * 2020-03-11 2020-06-05 兰州飞天网景信息产业有限公司 一种基于卷积神经网络和连接性时序分类的录音处理方法
CN111415667B (zh) * 2020-03-25 2024-04-23 中科极限元(杭州)智能科技股份有限公司 一种流式端到端语音识别模型训练和解码方法
US20210312258A1 (en) * 2020-04-01 2021-10-07 Sony Corporation Computing temporal convolution networks in real time
US20210343277A1 (en) * 2020-04-29 2021-11-04 Samsung Electronics Co., Ltd. System and method for out-of-vocabulary phrase support in automatic speech recognition
US11061543B1 (en) 2020-05-11 2021-07-13 Apple Inc. Providing relevant data items based on context
US11796794B2 (en) 2020-05-12 2023-10-24 The Board Of Trustees Of The Leland Stanford Junior University Multi-objective, robust constraints enforced global topology optimizer for optical devices
US20210358490A1 (en) * 2020-05-18 2021-11-18 Nvidia Corporation End of speech detection using one or more neural networks
CN111798828B (zh) * 2020-05-29 2023-02-14 厦门快商通科技股份有限公司 合成音频检测方法、系统、移动终端及存储介质
US11775841B2 (en) 2020-06-15 2023-10-03 Cognizant Technology Solutions U.S. Corporation Process and system including explainable prescriptions through surrogate-assisted evolution
US11646009B1 (en) * 2020-06-16 2023-05-09 Amazon Technologies, Inc. Autonomously motile device with noise suppression
US11490204B2 (en) 2020-07-20 2022-11-01 Apple Inc. Multi-device audio adjustment coordination
US11438683B2 (en) 2020-07-21 2022-09-06 Apple Inc. User identification using headphones
CN111816169B (zh) * 2020-07-23 2022-05-13 思必驰科技股份有限公司 中英语种混杂语音识别模型训练方法和装置
US11875797B2 (en) 2020-07-23 2024-01-16 Pozotron Inc. Systems and methods for scripted audio production
KR102462932B1 (ko) * 2020-08-03 2022-11-04 주식회사 딥브레인에이아이 텍스트 전처리 장치 및 방법
US11488604B2 (en) 2020-08-19 2022-11-01 Sorenson Ip Holdings, Llc Transcription of audio
KR102409873B1 (ko) * 2020-09-02 2022-06-16 네이버 주식회사 증강된 일관성 정규화를 이용한 음성 인식 모델 학습 방법 및 시스템
CN112188004B (zh) * 2020-09-28 2022-04-05 精灵科技有限公司 基于机器学习的障碍呼叫检测系统及其控制方法
CN112233655A (zh) * 2020-09-28 2021-01-15 上海声瀚信息科技有限公司 一种提高语音命令词识别性能的神经网络训练方法
CN116250038A (zh) * 2020-10-05 2023-06-09 谷歌有限责任公司 变换器换能器:一种统一流式和非流式语音识别的模型
KR102429656B1 (ko) * 2020-10-08 2022-08-08 서울대학교산학협력단 화자 인식을 위한 음성인식기 기반 풀링 기법의 화자 임베딩 추출 방법 및 시스템, 그리고 이를 위한 기록매체
CN112259080B (zh) * 2020-10-20 2021-06-22 北京讯众通信技术股份有限公司 一种基于神经网络模型的语音识别方法
US11593560B2 (en) * 2020-10-21 2023-02-28 Beijing Wodong Tianjun Information Technology Co., Ltd. System and method for relation extraction with adaptive thresholding and localized context pooling
CN112466282B (zh) * 2020-10-22 2023-11-28 北京仿真中心 一种面向航天专业领域的语音识别系统和方法
CN112420024B (zh) * 2020-10-23 2022-09-09 四川大学 一种全端到端的中英文混合空管语音识别方法及装置
CN112329836A (zh) * 2020-11-02 2021-02-05 成都网安科技发展有限公司 基于深度学习的文本分类方法、装置、服务器及存储介质
CN112614484B (zh) * 2020-11-23 2022-05-20 北京百度网讯科技有限公司 特征信息挖掘方法、装置及电子设备
CN112669852B (zh) * 2020-12-15 2023-01-31 北京百度网讯科技有限公司 内存分配方法、装置及电子设备
CN112786017B (zh) * 2020-12-25 2024-04-09 北京猿力未来科技有限公司 语速检测模型的训练方法及装置、语速检测方法及装置
US11790906B2 (en) * 2021-01-25 2023-10-17 Google Llc Resolving unique personal identifiers during corresponding conversations between a voice bot and a human
CN113421574A (zh) * 2021-06-18 2021-09-21 腾讯音乐娱乐科技(深圳)有限公司 音频特征提取模型的训练方法、音频识别方法及相关设备
CN113535510B (zh) * 2021-06-24 2024-01-26 北京理工大学 一种大规模数据中心数据采集的自适应抽样模型优化方法
CN113327600A (zh) * 2021-06-30 2021-08-31 北京有竹居网络技术有限公司 一种语音识别模型的训练方法、装置及设备
US11961515B2 (en) 2021-09-30 2024-04-16 Google Llc Contrastive Siamese network for semi-supervised speech recognition
US20230186525A1 (en) * 2021-12-13 2023-06-15 Tencent America LLC System, method, and computer program for content adaptive online training for multiple blocks in neural image compression
CN114743554A (zh) * 2022-06-09 2022-07-12 武汉工商学院 基于物联网的智能家居交互方法及装置
KR102547001B1 (ko) * 2022-06-28 2023-06-23 주식회사 액션파워 하향식 방식을 이용한 오류 검출 방법

Family Cites Families (29)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5790754A (en) 1994-10-21 1998-08-04 Sensory Circuits, Inc. Speech recognition apparatus for consumer electronic applications
US5749066A (en) 1995-04-24 1998-05-05 Ericsson Messaging Systems Inc. Method and apparatus for developing a neural network for phoneme recognition
JP2996926B2 (ja) 1997-03-11 2000-01-11 株式会社エイ・ティ・アール音声翻訳通信研究所 音素シンボルの事後確率演算装置及び音声認識装置
US6292772B1 (en) * 1998-12-01 2001-09-18 Justsystem Corporation Method for identifying the language of individual words
AUPQ439299A0 (en) * 1999-12-01 1999-12-23 Silverbrook Research Pty Ltd Interface system
US7035802B1 (en) * 2000-07-31 2006-04-25 Matsushita Electric Industrial Co., Ltd. Recognition system using lexical trees
US7219085B2 (en) * 2003-12-09 2007-05-15 Microsoft Corporation System and method for accelerating and optimizing the processing of machine learning techniques using a graphics processing unit
US20060031069A1 (en) 2004-08-03 2006-02-09 Sony Corporation System and method for performing a grapheme-to-phoneme conversion
GB0507036D0 (en) 2005-04-07 2005-05-11 Ibm Method and system for language identification
US20110035215A1 (en) * 2007-08-28 2011-02-10 Haim Sompolinsky Method, device and system for speech recognition
JP4869268B2 (ja) * 2008-03-04 2012-02-08 日本放送協会 音響モデル学習装置およびプログラム
US8332212B2 (en) * 2008-06-18 2012-12-11 Cogi, Inc. Method and system for efficient pacing of speech for transcription
US8781833B2 (en) 2008-07-17 2014-07-15 Nuance Communications, Inc. Speech recognition semantic classification training
US8886531B2 (en) 2010-01-13 2014-11-11 Rovi Technologies Corporation Apparatus and method for generating an audio fingerprint and using a two-stage query
US20130317755A1 (en) * 2012-05-04 2013-11-28 New York University Methods, computer-accessible medium, and systems for score-driven whole-genome shotgun sequence assembly
US10354650B2 (en) * 2012-06-26 2019-07-16 Google Llc Recognizing speech with mixed speech recognition models to generate transcriptions
US8831957B2 (en) * 2012-08-01 2014-09-09 Google Inc. Speech recognition models based on location indicia
CN102760436B (zh) * 2012-08-09 2014-06-11 河南省烟草公司开封市公司 一种语音词库筛选方法
US9177550B2 (en) 2013-03-06 2015-11-03 Microsoft Technology Licensing, Llc Conservatively adapting a deep neural network in a recognition system
US9153231B1 (en) * 2013-03-15 2015-10-06 Amazon Technologies, Inc. Adaptive neural network speech recognition models
US9418650B2 (en) 2013-09-25 2016-08-16 Verizon Patent And Licensing Inc. Training speech recognition using captions
CN103591637B (zh) 2013-11-19 2015-12-02 长春工业大学 一种集中供热二次网运行调节方法
US9189708B2 (en) 2013-12-31 2015-11-17 Google Inc. Pruning and label selection in hidden markov model-based OCR
CN103870863B (zh) * 2014-03-14 2016-08-31 华中科技大学 制备隐藏二维码图像全息防伪标签的方法及其识别装置
US9390712B2 (en) 2014-03-24 2016-07-12 Microsoft Technology Licensing, Llc. Mixed speech recognition
US20150309987A1 (en) 2014-04-29 2015-10-29 Google Inc. Classification of Offensive Words
CN104035751B (zh) 2014-06-20 2016-10-12 深圳市腾讯计算机系统有限公司 基于多图形处理器的数据并行处理方法及装置
US10540957B2 (en) * 2014-12-15 2020-01-21 Baidu Usa Llc Systems and methods for speech transcription
US10733979B2 (en) * 2015-10-09 2020-08-04 Google Llc Latency constraints for acoustic modeling

Non-Patent Citations (3)

* Cited by examiner, † Cited by third party
Title
Awni Hannun et al., ‘Deep speech: Scaling up end-to-end speech recognition’, Cornell University Library, pp. 1~12, December 2014.* *
Sergey Ioffe et al., ‘Batch normalization: Accerlerating deep network training by reducing internal covalate shift’, Cornell University Library, pp.1~11, March 2015.* *
Tara N. Sainath et al., ‘Convolutional long short-term memory, fully connected deep neural networks’, ICASSP 2015, pp.4580~4584, April 2015.* *

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR102018346B1 (ko) * 2018-05-11 2019-10-14 국방과학연구소 음향 신호를 분류하는 방법 및 시스템
KR20200095789A (ko) * 2019-02-01 2020-08-11 한국전자통신연구원 번역 모델 구축 방법 및 장치

Also Published As

Publication number Publication date
JP2018513398A (ja) 2018-05-24
CN107408111B (zh) 2021-03-30
KR102033230B1 (ko) 2019-10-16
US20170148431A1 (en) 2017-05-25
US10319374B2 (en) 2019-06-11
JP6629872B2 (ja) 2020-01-15
US10332509B2 (en) 2019-06-25
US20170148433A1 (en) 2017-05-25
KR102008077B1 (ko) 2019-08-06
JP2018513399A (ja) 2018-05-24
CN107408111A (zh) 2017-11-28
JP6661654B2 (ja) 2020-03-11
EP3245652A4 (en) 2018-05-30
CN107408384A (zh) 2017-11-28
EP3245597B1 (en) 2020-08-26
WO2017091751A1 (en) 2017-06-01
KR20170107015A (ko) 2017-09-22
CN107408384B (zh) 2020-11-27
WO2017091763A1 (en) 2017-06-01
EP3245597A1 (en) 2017-11-22
EP3245597A4 (en) 2018-05-30
EP3245652B1 (en) 2019-07-10
EP3245652A1 (en) 2017-11-22

Similar Documents

Publication Publication Date Title
KR102033230B1 (ko) 단대단 음성 인식
US11620986B2 (en) Cold fusing sequence-to-sequence models with language models
Xiong et al. Toward human parity in conversational speech recognition
CN107077842B (zh) 用于语音转录的系统和方法
KR101970041B1 (ko) 하이브리드 지피유/씨피유(gpu/cpu) 데이터 처리 방법
Scanzio et al. Parallel implementation of artificial neural network training for speech recognition
Huang et al. Sndcnn: Self-normalizing deep cnns with scaled exponential linear units for speech recognition
Enarvi et al. Automatic speech recognition with very large conversational finnish and estonian vocabularies
Abdelhamid et al. End-to-end arabic speech recognition: A review
Suyanto et al. End-to-End speech recognition models for a low-resourced Indonesian Language
CN115376484A (zh) 基于多帧预测的轻量级端到端语音合成系统构建方法
Buthpitiya et al. A parallel implementation of viterbi training for acoustic models using graphics processing units
You et al. Memory access optimized VLSI for 5000-word continuous speech recognition
Evrard Transformers in automatic speech recognition
Chetupalli et al. Context dependent RNNLM for automatic transcription of conversations
Liu et al. Speech recognition systems on the Cell Broadband Engine processor
Wu et al. Research on speech recognition acceleration technology based on embedded platform
Chen Cued rnnlm toolkit
Karkada et al. Training Speech Recognition Models on HPC Infrastructure
Dua et al. Cepstral and acoustic ternary pattern based hybrid feature extraction approach for end-to-end bangla speech recognition
Pinto Rivero Acceleration of automatic speech recognition for low-power devices
Djuraev et al. An In-Depth Analysis of Automatic Speech Recognition System
Letswamotse Optimized dynamic programming search for automatic speech recognition on a Graphics Processing Unit (GPU) platform using Compute Unified Device Architecture (CUDA)
Ma et al. Scaling down: applying large vocabulary hybrid HMM-MLP methods to telephone recognition of digits and natural numbers
Zhao et al. Segmental neural net optimization for continuous speech recognition

Legal Events

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