KR20220148245A - 스트리밍 시퀀스 모델에 대한 일관성 예측 - Google Patents

스트리밍 시퀀스 모델에 대한 일관성 예측 Download PDF

Info

Publication number
KR20220148245A
KR20220148245A KR1020227033561A KR20227033561A KR20220148245A KR 20220148245 A KR20220148245 A KR 20220148245A KR 1020227033561 A KR1020227033561 A KR 1020227033561A KR 20227033561 A KR20227033561 A KR 20227033561A KR 20220148245 A KR20220148245 A KR 20220148245A
Authority
KR
South Korea
Prior art keywords
utterance
speech recognition
training
speech
output
Prior art date
Application number
KR1020227033561A
Other languages
English (en)
Inventor
제화이 첸
앤드류 로젠버그
부바나 라마바드란
멘기바 페드로 제이. 모레노
Original Assignee
구글 엘엘씨
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 구글 엘엘씨 filed Critical 구글 엘엘씨
Publication of KR20220148245A publication Critical patent/KR20220148245A/ko

Links

Images

Classifications

    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10LSPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
    • G10L15/00Speech recognition
    • G10L15/06Creation of reference templates; Training of speech recognition systems, e.g. adaptation to the characteristics of the speaker's voice
    • G10L15/063Training
    • 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
    • G06N3/0445
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/04Architecture, e.g. interconnection topology
    • G06N3/045Combinations of networks
    • G06N3/0454
    • 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/088Non-supervised learning, e.g. competitive learning
    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10LSPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
    • G10L13/00Speech synthesis; Text to speech systems
    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10LSPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
    • G10L13/00Speech synthesis; Text to speech systems
    • G10L13/02Methods for producing synthetic speech; Speech synthesisers
    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10LSPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
    • G10L15/00Speech recognition
    • G10L15/08Speech classification or search
    • G10L15/16Speech classification or search using artificial neural networks
    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10LSPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
    • G10L15/00Speech recognition
    • G10L15/08Speech classification or search
    • G10L15/18Speech classification or search using natural language modelling
    • G10L15/183Speech classification or search using natural language modelling using context dependencies, e.g. language models
    • G10L15/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 TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
    • G10L15/00Speech recognition
    • G10L15/06Creation of reference templates; Training of speech recognition systems, e.g. adaptation to the characteristics of the speaker's voice
    • G10L15/063Training
    • G10L2015/0635Training updating or merging of old and new templates; Mean values; Weighting

Landscapes

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

Abstract

음성 인식 모델(200)을 훈련하기 위한 방법(600)은 훈련 발화 쌍(302) 세트를 수신하는 단계를 포함하며, 각 훈련 발화 쌍(302)은 해당 발화의 비합성 음성 표현(304); 그리고 상기 해당 발화의 합성 음성 표현(306)을 포함한다. 방법은 해당 비합성 음성 표현에 대해 생성된 가능한 비합성 음성 인식 가설에 대한 제1 확률 분포(311) 및 해당 합성 음성 표현에 대해 생성된 가능한 합성 음성 인식 가설에 대한 제2 확률 분포(312)에 기초하여 해당 훈련 발화 쌍에 대한 일관된 손실 항(352)을 결정하는 단계를 더 포함한다. 음성 인식 모델에 의한 출력을 위해 제1 및 제2 확률 분포가 생성된다. 이 방법은 또한 일관된 손실 항에 기초하여 음성 인식 모델의 파라미터를 업데이트하는 단계를 포함한다.

Description

스트리밍 시퀀스 모델에 대한 일관성 예측
본 개시는 스트리밍 시퀀스 모델에 대한 일관성 예측에 관한 것이다.
음성 입력을 받아 텍스트로 변환하는 ASR(Automatic Speech Recognition)은 모바일 기기 및 기타 기기에서 많이 사용되는 중요한 기술이었다. 일반적으로 자동 음성 인식은 오디오 입력(예: 음성 발화)을 취하고 오디오 입력을 텍스트로 전사하여 사람이 말한 내용의 정확한 필사본을 제공하려고 시도한다. 모던 ASR 모델은 심층 신경망의 지속적인 개발을 기반으로 정확도(예: 낮은 단어 오류율(WER))와 대기 시간(예: 사용자 말하기와 전사 사이의 지연) 모두에서 계속 개선되고 있다. 그러나, 딥 러닝 기반 ASR 모델을 개발하는 데 있어 한 가지 문제는 ASR 모델의 파라미터가 훈련 데이터에 과적합되는 경향이 있어 훈련 데이터가 충분히 광범위하지 않을 때 ASR 모델이 보이지 않는 데이터를 일반화하는 데 어려움을 겪을 수 있다는 것이다. 결과적으로 더 큰 훈련 데이터 세트에서 ASR 모델을 훈련하면 ASR 모델의 정확도가 향상된다. 합성 음성 및/또는 데이터 증강 음성을 통합하여 ASR 모델을 훈련하는 데 사용되는 훈련 데이터의 양을 늘릴 수 있다.
본 개시의 일 양태는 데이터 처리 하드웨어 상에서 실행될 때 데이터 처리 하드웨어가 동작을 수행하게 하는 컴퓨터로 구현되는 방법을 제공한다. 동작은 해당 발화의 합성 음성 표현 및 해당 발화의 합성 음성 표현을 각각 포함하는 훈련 발화 쌍 세트를 수신하는 것을 포함한다. 동작은 상기 훈련 발화 쌍 세트의 각 훈련 발화 쌍에 대한 복수의 출력 단계 각각에서: 음성 인식 모델에 의한 출력을 위해, 상기 해당 발화의 해당 비합성 음성 표현에 대한 가능한 비합성 음성 인식 가설(hypothese)에 대한 제1 확률 분포를 생성하는 동작; 음성 인식 모델에 의한 출력을 위해, 해당 발화의 해당 합성 음성 표현에 대한 가능한 합성 음성 인식 가설에 대한 제2 확률 분포를 생성하는 동작; 그리고 상기 가능한 비합성 음성 인식 가설에 대한 제1 확률 분포 및 가능한 비합성 음성 인식 가설에 대한 제2 확률 분포에 기초하여 상기 해당 훈련 발화 쌍에 대한 일관된 손실 항(consistent loss term)을 결정하는 동작을 포함한다. 동작은 또한 상기 훈련 발화 쌍 세트 내의 각 훈련 발화 쌍에 대한 복수의 출력 단계 각각에서 결정된 일관된 손실 항에 기초하여 상기 음성 인식 모델의 파라미터를 업데이트하는 동작을 포함한다.
본 개시의 구현은 다음의 선택적인 특징들 중 하나 이상을 포함할 수 있다. 일부 구현에서, 동작은 훈련 발화 쌍 세트 내의 각 훈련 발화 쌍에 대한 복수의 출력 단계 각각에서: 상기 해당 발화의 GT(ground-truth) 전사 그리고 상기 해당 발화의 해당 비합성 음성 표현에 대한 가능한 비합성 음성 인식 가설에 대한 제1 확률 분포에 기초하여 비합성 음성 손실 항을 생성하는 동작; 그리고 상기 해당 발화의 GT 전사 그리고 상기 해당 발화의 해당 합성 음성 표현에 대한 가능한 합성 음성 인식 가설에 대한 제2 확률 분포에 기초하여 합성 음성 손실 항을 생성하는 동작을 더 포함한다. 일부 예들에서, 음성 인식 모델의 파라미터들은 훈련 발화 쌍 세트에서 각 훈련 발화 쌍에 대한 복수의 출력 단계 각각에서 생성된 비합성 및 합성 음성 손실 항과 독립적으로 훈련 발화 쌍 세트의 각 훈련 발화 쌍에 대한 복수의 출력 단계 각각에서 결정된 일관된 손실 항에 기초하여 업데이트된다.
선택적으로, 각 훈련 발화 쌍의 합성 음성 표현은 해당 발화를 나타내는 합성 음성을 포함할 수 있다. 일부 구현들에서, 상기 동작은, 각 훈련 발화 쌍에 대해, TTS(text-to-speech) 모델을 사용하여, 해당 합성 음성 표현을 생성하기 위해 상기 해당 발화의 GT(ground truth) 전사를 변환하는 동작을 더 포함한다. 상기 동작은, 적어도 하나의 훈련 발화 쌍에 대해, 해당 비합성 음성 표현 또는 해당 합성 음성 표현 중 적어도 하나에 데이터 증강(augmentation)을 적용하는 동작을 더 포함할 수 있다. 상기 적용된 데이터 증강은 노이즈 추가, 잔향(reverberation) 추가, 또는 타이밍 조작 중 적어도 하나를 포함할 수 있다.
일부 예들에서, 해당 훈련 발화 쌍에 대한 일관된 손실 항을 결정하는 것은, 가능한 비합성 음성 인식 가설에 대한 제1 확률 분포와 가능한 비합성 음성 인식 가설에 대한 제2 확률 분포 사이의 쿨백-라이블러(Kullback-Leibler) 다이버전에 기초한다. 이러한 예들에서, 상기 동작은, 해당 훈련 발화 쌍에 대한 일관된 손실 항을 결정하기 전에, 상기 음성 인식 모델이 프레임 정렬 기반 변환기 모델을 포함할 때, 상기 출력 단계 각각에서 생성된 가능한 비합성 음성 인식 가설에 대한 제 1 확률 분포의 시퀀스 및 상기 해당 발화의 GT 전사의 유효한 정렬의 확률에 기초하여 상기 출력 단계 각각에서 생성된 가능한 합성 음성 인식 가설에 대한 제2 확률 분포의 시퀀스에 대한 유효한 정렬 분포를 정의하는 동작을 더 포함할 수 있다. 상기 유효한 정렬 분포는 상기 해당 발화의 GT 전사를 나타내는 출력 레이블 시퀀스의 각 출력 레이블에 대해 정의된다.
일부 구현에서, 음성 인식 모델은 프레임 정렬 기반 변환기 모델을 포함한다. 이러한 구현에서 프레임 정렬 기반 변환기 모델에는 RNN-T(Recurrent Neural Network-Transducer) 모델이 포함된다. 선택적으로, 음성 인식 모델은 정렬 기반 인코더-디코더 모델을 포함할 수 있다.
본 개시의 다른 양태는 데이터 처리 하드웨어 및 데이터 처리 하드웨어와 통신하고 데이터 처리 하드웨어 상에서 실행될 때 데이터 처리 하드웨어가 동작을 수행하게 하는 명령어를 저장하는 메모리 하드웨어를 포함하는 시스템을 제공한다. 동작은 훈련 발화 쌍 세트를 수신하는 동작을 포함하며, 각 훈련 발화 쌍은 해당 발화의 비합성 음성 표현; 그리고 상기 해당 발화의 합성 음성 표현을 포함한다. 상기 동작은, 상기 훈련 발화 쌍 세트의 각 훈련 발화 쌍에 대한 복수의 출력 단계 각각에서: 음성 인식 모델에 의한 출력을 위해, 상기 해당 발화의 해당 비합성 음성 표현에 대한 가능한 비합성 음성 인식 가설(hypothese)에 대한 제1 확률 분포를 생성하는 동작; 음성 인식 모델에 의한 출력을 위해, 해당 발화의 해당 합성 음성 표현에 대한 가능한 합성 음성 인식 가설에 대한 제2 확률 분포를 생성하는 동작; 그리고 상기 가능한 비합성 음성 인식 가설에 대한 제1 확률 분포 및 가능한 비합성 음성 인식 가설에 대한 제2 확률 분포에 기초하여 상기 해당 훈련 발화 쌍에 대한 일관된 손실 항(consistent loss term)을 결정하는 동작을 포함한다. 동작은 또한 훈련 발화 쌍의 세트에서 각각의 훈련 발화 쌍에 대한 복수의 출력 단계 각각에서 결정된 일관된 손실 항에 기초하여 음성 인식 모델의 파라미터를 업데이트하는 것을 포함한다.
본 개시의 구현은 다음의 선택적인 특징들 중 하나 이상을 포함할 수 있다. 일부 구현에서, 동작은 훈련 발화 쌍 세트 내의 각 훈련 발화 쌍에 대한 복수의 출력 단계 각각에서: 상기 해당 발화의 GT(ground-truth) 전사 그리고 상기 해당 발화의 해당 비합성 음성 표현에 대한 가능한 비합성 음성 인식 가설에 대한 제1 확률 분포에 기초하여 비합성 음성 손실 항을 생성하는 동작; 그리고 상기 해당 발화의 GT 전사 그리고 상기 해당 발화의 해당 합성 음성 표현에 대한 가능한 합성 음성 인식 가설에 대한 제2 확률 분포에 기초하여 합성 음성 손실 항을 생성하는 동작을 더 포함한다. 일부 예들에서, 음성 인식 모델의 파라미터들은 훈련 발화 쌍 세트에서 각 훈련 발화 쌍에 대한 복수의 출력 단계 각각에서 생성된 비합성 및 합성 음성 손실 항과 독립적으로 훈련 발화 쌍 세트의 각 훈련 발화 쌍에 대한 복수의 출력 단계 각각에서 결정된 일관된 손실 항에 기초하여 업데이트된다.
선택적으로, 각 훈련 발화 쌍의 합성 음성 표현은 해당 발화를 나타내는 합성 음성을 포함할 수 있다. 일부 구현들에서, 상기 동작은, 각 훈련 발화 쌍에 대해, TTS(text-to-speech) 모델을 사용하여, 해당 합성 음성 표현을 생성하기 위해 상기 해당 발화의 GT(ground truth) 전사를 변환하는 동작을 더 포함한다. 상기 동작은, 적어도 하나의 훈련 발화 쌍에 대해, 해당 비합성 음성 표현 또는 해당 합성 음성 표현 중 적어도 하나에 데이터 증강(augmentation)을 적용하는 동작을 더 포함할 수 있다. 상기 적용된 데이터 증강은 노이즈 추가, 잔향(reverberation) 추가, 또는 타이밍 조작 중 적어도 하나를 포함할 수 있다.
일부 예들에서, 해당 훈련 발화 쌍에 대한 일관된 손실 항을 결정하는 것은, 가능한 비합성 음성 인식 가설에 대한 제1 확률 분포와 가능한 비합성 음성 인식 가설에 대한 제2 확률 분포 사이의 쿨백-라이블러(Kullback-Leibler) 다이버전에 기초한다. 이러한 예들에서, 상기 동작은, 해당 훈련 발화 쌍에 대한 일관된 손실 항을 결정하기 전에, 상기 음성 인식 모델이 프레임 정렬 기반 변환기 모델을 포함할 때, 상기 출력 단계 각각에서 생성된 가능한 비합성 음성 인식 가설에 대한 제 1 확률 분포의 시퀀스 및 상기 해당 발화의 GT 전사의 유효한 정렬의 확률에 기초하여 상기 출력 단계 각각에서 생성된 가능한 합성 음성 인식 가설에 대한 제2 확률 분포의 시퀀스에 대한 유효한 정렬 분포를 정의하는 동작을 더 포함할 수 있다. 상기 유효한 정렬 분포는 상기 해당 발화의 GT 전사를 나타내는 출력 레이블 시퀀스의 각 출력 레이블에 대해 정의된다.
일부 구현에서, 음성 인식 모델은 프레임 정렬 기반 변환기 모델을 포함한다. 이러한 구현에서 프레임 정렬 기반 변환기 모델에는 RNN-T(Recurrent Neural Network-Transducer) 모델이 포함된다. 선택적으로, 음성 인식 모델은 정렬 기반 인코더-디코더 모델을 포함할 수 있다.
본 개시내용의 하나 이상의 구현의 세부사항은 첨부 도면 및 아래의 설명에 기재되어 있다. 다른 양태, 특징 및 이점은 설명 및 도면, 그리고 청구범위로부터 명백할 것이다.
도 1은 예시적인 음성 인식 시스템의 개략도이다.
도 2a는 RNN-T(Recurrent Neural Network-Transducer) 모델 아키텍처의 개략도이다.
도 2b는 AED(Attention-Based Encoder-Decoder) 모델 아키텍처의 개략도이다.
도 3은 비합성 음성 및 합성 음성 모두에 대한 일관된 예측을 학습하기 위한 음성 인식 모델을 촉진하기 위한 예시적인 훈련 프로세스의 개략도이다.
도 4는 동일한 대응하는 발화의 비합성 및 합성 음성 표현 모두에 대한 2b의 AED 모델 아키텍처를 이용한 음성 인식 모델의 음성 인식 결과 출력을 개략적으로 나타낸 도면이다.
도 5는 동일한 해당 발화의 비합성 및 합성 음성 표현 모두에 대한 2a의 RNN-T 모델 아키텍처를 이용한 음성 인식 모델에 의해 출력되는 음성 인식 결과의 개략도이다.
도 6은 음성 인식 모델을 훈련하는 방법에 대한 동작들의 예시적인 배열의 흐름도이다.
도 7은 본 명세서에 설명된 시스템 및 방법을 구현하는 데 사용될 수 있는 예시적인 컴퓨팅 장치의 개략도이다.
다양한 도면에서 동일한 참조 부호는 동일한 요소를 나타낸다.
자동 음성 인식은 오디오에서 문자 시퀀스로 매핑되는 시퀀스 대 시퀀스(Seq2Seq) 모델의 도입으로 엄청난 발전을 이루었다. 동시에 TTS(text-to-speech) 또는 음성 합성 시스템은 Seq2Seq 모델을 성공적으로 적용하여 사람의 귀로 사람의 음성과 구별할 수 없는 자연스럽고 사실적인 합성 음성을 얻는다.
딥 러닝 기반 ASR 모델 개발의 한 가지 문제는 ASR 모델의 파라미터가 훈련 데이터에 과적합되는 경향이 있어 ASR 모델이 훈련 데이터가 충분히 광범위하지 않을 때 보이지 않는 데이터를 일반화하는 데 어려움을 겪을 수 있다는 것이다. 결과적으로 더 큰 훈련 데이터 세트에서 ASR 모델을 훈련하면 ASR 모델의 정확도가 향상된다. 본 명세서의 구현은 덜 이용 가능한 인간 음성 훈련 데이터로 ASR 모델의 정확도를 유지하고 또한 다량의 훈련 데이터가 이용가능할 때 ASR 모델의 성능을 개선하기 위해 ASR 모델을 훈련하기 위해 합성된 음성을 사용하는 것에 관한 것이다. 여기에서 합성된 음성은 모델을 훈련하는 데 필요한 레이블이 지정된 인간 음성의 양을 크게 제한하는 동시에 ASR 모델을 여러 도메인으로 이동할 수 있는 유연성을 제공할 가능성이 있다.
일반적으로 합성된 음성의 사용은 최첨단 합성 음성이 사람의 음성과 구별할 수 없는 경우에도 불구하고 사람의 음성과 다르게 ASR 훈련에 영향을 미치는 것으로 나타났다. 합성된 음성과 사람의 음성 사이의 이러한 격차는 TTS 시스템이 해결하려고 하는 어려운 일대다 매핑 문제에서 발생하는 사람 음성 데이터의 합성 음성 데이터의 불일치에 기인한다. 즉, 이용 가능한 합성어의 종합 품질은 매우 높지만, 합성된 음성은 인간의 음성보다 훨씬 적은 변동을 보이며, 최소한의 어음의 유창성을 나타낸다. 결과적으로 합성된 음성 데이터에 대해서만 ASR 모델을 훈련하는 것은 추론하는 동안 실제 음성 발화를 일반화하는 데 어려움을 나타낸다.
본 명세서의 구현은 실제/인간 음성(스피치) 및 동일한 훈련(트레이닝) 발화의 합성된 음성(스피치) 표현에 대한 ASR 모델 트레이닝 및 동일한 훈련 발화의 실제/인간 및 합성 표현 모두에 대한 일관된 예측(예: 음성 인식 가설)을 촉진하기 위해 일관된 손실 항(consistent loss term)을 도입하는 것에 관한 것이다. 요컨대, 동일한 발화의 합성된 표현과 인간의 일관된 손실 항은 ASR 모델이 인간의 음성 및 합성된 음성의 훈련 발화에서 일관되게 동작하도록 권장함으로써 지도되지 않은 훈련 에스펙트(unsupervised training aspect)를 제공한다. 추가 구현에는 화자 차이에 대한 견고성을 촉진하기 위해 합성된 화자 특성을 변화시켜 훈련 발화의 다양한 실현을 합성하는 것과 같은 데이터 증강(data augmentation) 기술을 적용하는 것이 포함된다.
도 1은 사용자(104)의 사용자 장치(102) 및/또는 사용자 장치(102)와 통신하는 원격 컴퓨팅 장치(201)(예: 클라우드 컴퓨팅 환경에서 실행되는 분산 시스템의 하나 이상의 서버)에 상주하는 ASR 모델(200)을 구현하는 자동 음성 인식(ASR) 시스템(100)을 도시한다. 사용자 장치(102)가 모바일 컴퓨팅 장치(예를 들어, 스마트 폰)로서 도시되어 있지만, 사용자 장치(102)는 제한 없이 태블릿 장치, 랩톱/데스크톱 컴퓨터, 웨어러블 장치, 디지털 보조 장치, 스마트 스피커/디스플레이, 스마트 기기, 자동차 인포테인먼트 시스템 또는 사물 인터넷(IoT) 장치와 같은 임의의 유형의 컴퓨팅 장치에 해당할 수 있으며, 데이터 처리 하드웨어(111) 및 메모리 하드웨어(113)가 장착되어 있다.
사용자 장치(102)는 사용자(104)에 의해 발언된 발화(106)을 수신하고(예를 들어, 사용자 장치(102)는 발화(106)를 녹음하기 위한 하나 이상의 마이크로폰을 포함할 수 있음), ASR 시스템(100)에 의해 처리될 수 있는 입력 음향 프레임(110)과 연관된 해당 디지털 형식으로 발화(106)을 변환하도록 구성된 오디오 서브시스템(108)을 포함한다. 표시된 예에서, 사용자는 "What is the weather in New York City?(뉴욕 날씨는 어떻습니까?)"라는 구에 대해 영어의 자연어로 각각의 발화(106)를 말하고, 오디오 서브시스템(108)은 발화(106)를 ASR 시스템(100)에 대한 입력을 위해 대응하는 음향 프레임(110)으로 변환한다. 그 후, ASR 모델(200)은 발화(106)에 대응하는 음향 프레임(110)을 입력으로 수신하고, 발화(106)의 대응하는 전사(120)(예를 들어, 인식 결과/가설)를 출력으로서 생성/예측한다. 도시된 예에서, 사용자 장치(102) 및/또는 원격 컴퓨팅 장치(201)는 또한 사용자 장치(102)의 사용자(104)에게 발화(106)의 전사(120)의 표현을 제시하도록 구성된 사용자 인터페이스 생성기(107)를 실행한다. 일부 구성에서, ASR 시스템(100)으로부터 출력된 전사(120)는 사용자 명령을 실행하기 위해, 예를 들어 사용자 장치(102) 또는 원격 컴퓨팅 장치(201) 상에서 실행되는 자연어 이해(NLU) 모듈에 의해 처리된다. 추가적으로 또는 대안적으로, 텍스트 음성 변환(TTS) 시스템(예를 들어, 사용자 장치(102) 또는 원격 컴퓨팅 장치(201)의 임의의 조합에서 실행)은 다른 장치에 의한 가청 출력을 위해 전사를 합성 음성으로 변환할 수 있다. 예를 들어, 원본 발화(106)는 원본 발화(106)에서 전달된 메시지를 듣기 위해 친구에게 가청 출력을 위해 전사(120)가 합성된 스피치(음성)로 변환되는 사용자(104)가 친구에게 보내는 메시지에 대응할 수 있다.
도 2a 및 도 2b를 참조하여, ASR 모델(200)은 프레임 정렬 기반 변환기 모델(200a)(도 2a) 또는 어텐션-기반(attention-based) 인코더-디코더(AED) 모델(200b)(도 2b)과 같은 E2E(end-to-end) 시퀀스 대 시퀀스 모델을 포함할 수 있다. ASR 모델(200)은 음향, 발음 및 언어 모델을 하나의 신경망으로 통합하여 E2E 음성 인식을 제공할 수 있으며, 사전이나 별도의 텍스트 정규화 컴포넌트가 필요하지 않는다. 다양한 구조와 최적화 메커니즘을 통해 정확도를 높이고 모델 학습 시간을 줄일 수 있다.
도 2a를 참조하면, 예시적인 프레임 정렬 기반 변환기 모델(200a)은 대화형 애플리케이션과 관련된 지연 제한(latency constrain)을 준수하는 RNN-T(Recurrent Neural Network-Transducer) 모델 아키텍처를 포함한다. RNN-T 모델(200a)은 작은 계산 풋프린트를 제공하고, 기존의 ASR 아키텍처보다 적은 메모리 요구사항을 활용하여 RNN-T 모델 아키텍처를 사용자 장치(102)(예: 원격 서버와의 통신이 필요하지 않음)에서 완전히 음성 인식을 수행하는 데 적합하게 만든다. RNN-T 모델(200a)은 인코더 네트워크(210), 예측 네트워크(220) 및 조인트 네트워크(230)를 포함한다. 전통적인 ASR 시스템의 음향 모델(AM)과 대략 유사한 인코더 네트워크(210)는 적층된 LSTM(Long Short-Term Memory) 계층의 순환 네트워크를 포함한다. 예를 들어, 인코더는 d-차원 특징 벡터의 시퀀스(예를 들어, 음향 프레임(110)(도 1)) x = (x1, x2, · · · , xT)이며, 여기서 xt ∈ Rd이고, 각 시간 단계에서 고차 피쳐 표현을 생성한다. 이 고차 피쳐 표현은
Figure pct00001
로 표시된다.
유사하게, 예측 네트워크(220)는 또한 언어 모델(LM)과 같이 지금까지 최종 소프트맥스(Softmax) 계층(240)에 의해 출력된 공백이 아닌 심볼(non-blank symbols)의 시퀀스(y 0 , . . . , y ui-1 를 밀집 표현(dense representation)(
Figure pct00002
)으로 처리하는 LSTM 네트워크이다. 마지막으로, RNN-T 모델 아키텍처와 함께, 인코더 및 예측 네트워크(210, 220)에 의해 생성된 표현은 조인트 네트워크(230)에 의해 결합된다. 그러면 조인트 네트워크는 다음 출력 심볼에 대한 분포인
Figure pct00003
를 예측한다. 다르게 말하면, 조인트 네트워크(230)는 각각의 출력 단계(예를 들어, 시간 단계)에서, 가능한 음성 인식 가설(possible speech recognition hypotheses)에 대한 확률 분포를 생성한다. 여기서, "가능한 음성 인식 가설"은 지정된 자연어에서 심볼/문자를 각각 나타내는 출력 레이블의 세트에 해당한다. 예를 들어, 자연어가 영어인 경우, 출력 레이블의 세트는 27개의 심볼, 예를 들어 영어 알파벳의 26자 각각에 대한 하나의 레이블과 공백을 지정하는 하나의 레이블을 포함할 수 있다. 따라서, 조인트 네트워크(230)는 미리 결정된 출력 레이블 세트 각각의 발생 가능성을 나타내는 값 세트를 출력할 수 있다. 이 값 세트는 벡터가 될 수 있으며, 출력 레이블 세트에 대한 확률 분포를 나타낼 수 있다. 어떤 경우에는 출력 레이블이 자소(예: 개별 문자, 잠재적으로 구두점 및 기타 심볼)이지만 출력 레이블 세트는 그렇게 제한되지 않는다. 예를 들어, 출력 레이블 세트는 자소에 추가로 또는 대신에 워드피스(wordpieces) 및/또는 전체 단어를 포함할 수 있다. 조인트 네트워크(230)의 출력 분포는 상이한 출력 레이블들 각각에 대한 사후 확률 값을 포함할 수 있다. 따라서, 상이한 자소 또는 다른 심볼를 나타내는 100개의 상이한 출력 레이블이 있는 경우, 조인트 네트워크(230)의 출력 yi는 각 출력 레이블에 대해 하나씩 100개의 상이한 확률 값을 포함할 수 있다. 그 다음, 확률 분포는 전사(120)를 결정하기 위한 빔 탐색 프로세스(예를 들어, 소프트맥스 계층(240)에 의해)에서 후보 정사법 요소(orthgraphic elements)(예: 자소, 워드피스 및/또는 단어)에 점수를 선택하여 할당하는 데 사용될 수 있다.
소프트맥스 계층(240)은 대응하는 출력 단계에서 RNN-T 모델(200a)에 의해 예측된 다음 출력 심볼로서 분포에서 가장 높은 확률을 갖는 출력 레이블/심볼을 선택하기 위해 임의의 기술을 사용할 수 있다. 이러한 방식으로, RNN-T 모델(200a)은 조건부 독립 가정을 하지 않고, 오히려 각 심볼의 예측은 음향뿐만 아니라 지금까지 출력된 레이블의 순서에 따라 조절된다. RNN-T 모델(200a)은 출력 심볼이 미래의 음향 프레임(110)과 독립적이라고 가정하며, 이는 RNN-T 모델이 스트리밍 방식으로 사용될 수 있게 한다.
일부 예에서, RNN-T 모델(200a)의 인코더 네트워크(210)는 8개의 2,048-차원 LSTM 계층으로 구성되고, 각각은 640-차원 투영 계층이 뒤따른다. 예측 네트워크(220)는 2개의 2,048-차원 LSTM 계층을 가질 수 있고, 이들 각각은 또한 640-차원 투영 계층이 뒤따른다. 마지막으로, 조인트 네트워크(230)는 또한 640개의 히든 유닛을 가질 수 있다. 소프트맥스 계층(240)은 복수의 훈련 데이터 세트(301)(도 3)에서 모든 고유한 워드피스 또는 자소를 사용하여 생성된 통합된 워드피스 또는 자소 세트로 구성될 수 있다.
도 2b를 참조하면, LAS(Listen, Attend and Spell) 모델 아키텍처와 연관된 예시적인 AED 모델(200b)은 종래의 음향 모델과 유사한 리스너(listener) 인코더 모듈(211), 정렬 모델로서 작용하는 어텐더 모듈(221), 그리고 종래 시스템의 언어 모델과 유사한 디코더(231)를 포함하는 단일 신경망을 제공한다. 구체적으로, 리스너 인코더 모듈(211)은 입력 특징(예를 들어, 음향 프레임(110)(도 1))(x)를 취하여 더 높은 수준의 특징 표현(h enc )에 매핑한다. 따라서 인코딩된 특징 표현(h enc )을 생성하는 이 프로세스는 서로 다른 입력 시간 단계를 나타내는 여러 입력 프레임 각각에 대해 수행할 수 있다. 이러한 시간 단계는 아래 첨자 u로 표시된다. 따라서 프레임 세트 {f1, f2, f3, ... fu}에 대해 인코딩된 출력 {h1, h2, h3, ...hu}의 해당 세트가 있을 수 있다.
리스너 인코더 모듈(211)의 출력은 어텐더(attender) 모듈(221)로 전달되고, 이는 DTW(dynamic time warping) 정렬 모듈과 유사하게 다음 출력 심볼 yi를 예측하기 위해 어떤 인코더 기능에 어텐션을 기울여야 하는지 결정한다. 일부 예들에서, 어텐더 모듈(221)은 본 명세서에서 어텐더 신경망 또는 어텐더(221)로 지칭된다. 어텐더(221)는 다수의 출력 단계 i의 각각에 대한 컨텍스트 출력 ci를 생성할 수 있다. 각각의 컨텍스트 출력 벡터 ci에 대해, 어텐더(221)는 하나 이상의 입력 단계 u에 대한 인코딩, 예를 들어 현재 입력 단계에 대한 인코딩 및 이전 입력 단계에 대한 인코딩에 기초하여 어텐션 어텐션을 계산할 수 있다. 예를 들어, 어텐더(221)는 발화의 모든 인코더 출력 세트, 예를 들어 전체 세트 {h1, h2, h3, ... hu}에 대해 어텐션 컨텍스트 출력 ci를 생성할 수 있다. 어텐션 컨텍스트 벡터는 인식되는 발화의 프레임(예: 부분)에 대한 현재 및 이전 인코딩의 가중 요약(weighted summary)을 나타내는 벡터일 수 있다.
마지막으로, 어텐더(221)의 출력은 디코더(231)로 전달되고, 디코더 출력을 생성하기 위해 이전 예측(yi-1)의 임베딩 뿐만 아니라 어텐더(221)에 의해 출력된 어텐션 컨텍스트(ci)(예: 컨텍스트 벡터 또는 어텐션 분포)를 취한다. 디코더 출력은 이전 유닛{yi-1, … . . , y0} 및 입력(x)이 주어지면 현재 서브-워드 유닛(yi)에 대한 확률 분포(P (yi|yi-1, . . . , y0, x))일 수 있다. 따라서, 디코더(231)는 각 출력 단계에서 가능한 음성 인식 가설에 대한 확률 분포를 생성한다. 도 2a를 참조하여 위에서 설명된 RNN-T 모델(200a)에서와 같이, "가능한 음성 인식 가설"은 지정된 자연어에서 심볼/문자를 각각 나타내는 출력 심볼의 세트에 해당한다.
도시되지는 않았으나, ASR 모델(200)은 디코더(231)의 출력을 수신하는 소프트맥스 계층을 포함할 수 있다. 일부 구현에서, 소프트맥스 계층은 디코더(231)로부터 분리되어 디코더(231)로부터의 출력 yi를 처리(프로세싱)하고, 소프트맥스 계층의 출력은 그 다음 직교 요소를 선택하기 위한 빔 탐색 프로세스에서 사용된다. 일부 구현들에서, 소프트맥스 계층은 디코더(231)와 통합되어, 디코더(231)의 출력 yi는 소프트맥스 계층의 출력을 나타낸다.
디코더(231) 및/또는 연관된 소프트맥스 계층은 미리 결정된 출력 레이블 세트 각각의 발생 가능성을 나타내는 값 세트를 출력하도록 트레이닝(훈련)될 수 있다. 이 값 세트는 벡터가 될 수 있으며 출력 레이블 세트에 대한 확률 분포를 나타낼 수 있다. 어떤 경우에는 출력 레이블이 자소(예: 개별 문자, 잠재적으로 구두점 및 기타 심볼)이지만 출력 레이블 세트는 그렇게 제한되지 않는다. 예를 들어, 출력 레이블 세트는 자소에 추가로 또는 대신에 워드피스 및/또는 전체 단어를 포함할 수 있다. 디코더(231) 및/또는 소프트맥스 계층의 출력 분포는 상이한 출력 레이블들 각각에 대한 사후 확률 값을 포함할 수 있다. 따라서, 서로 다른 자소 또는 기타 심볼를 나타내는 100개의 서로 다른 출력 레이블이 있는 경우, 디코더의 출력 yi 또는 출력 yi를 수신하고 처리하는 소프트맥스 계층의 출력은 각 출력 레이블에 대해 하나씩 100개의 서로 다른 확률 값을 포함할 수 있다. 그 다음 확률 분포를 사용하여 전사를 결정하기 위한 빔 탐색 프로세스에서 후보 직교 요소(orthographic elements)(예: 자소, 워드피스 및/또는 단어)에 점수를 선택하여 할당할 수 있다.
도 3을 참조하면, 비합성 음성(예: 실제/인간의 말) 및 합성 음성(예: 합성된 음성) 모두에 대한 일관된 예측을 학습하기 위해 ASR 모델(200)을 프로모팅(promoting)하기 위한 예시적인 훈련 프로세스(300)는 동일한 훈련 발화의 비합성 및 합성 음성 표현(304, 306)의 훈련 발화 쌍(302)("훈련 오디오 쌍"으로도 지칭됨) 사이에 일관된 손실 항(
Figure pct00004
)(352)을 생성하는 것을 포함한다. 요컨대, 동일한 훈련 발화의 비합성 음성 표현과 합성 음성 표현 사이의 일관된 손실 항은, ASR 모델(200)이 훈련 발화가 비합성 음성 또는 합성 음성에 속하는지 여부에 관계없이 그리고 ASR 모델(200)이 출력하는 비합성 음성 인식 가설; 및 ASR 모델(200)에 의해 출력된 합성 음성 인식 가설 각각과 GT(ground-truth) 전사(308) 사이의 지도 손실 항(supervised loss terms)과 무관하게 일관되게 행동하도록 권장함으로써 비지도 훈련 에스펙트(nsupervised training aspect)를 제공한다.
훈련 프로세스(300)는 도 1의 원격 컴퓨팅 장치(201) 상에서 실행될 수 있다. 예를 들어, 원격 컴퓨팅 장치(201)는 데이터 처리 하드웨어(710)(도 7) 및 메모리 하드웨어(720)(도 7)를 포함하고, 메모리 하드웨어(720)는 데이터 처리 하드웨어와 통신하고 데이터 처리 하드웨어(710) 상에서 실행될 때 데이터 처리 하드웨어(710)로 하여금 트레이닝(훈련) 프로세스(300)의 동작을 수행하게 하는 명령어를 저장한다. 표시된 예에서, 훈련 프로세스(300)는 훈련 발화 쌍(302) 세트를 수신하고, 각각의 훈련 발화 쌍(302)은 해당 발화의 비합성 음성 표현(304)(예: 사람/실제 말) 및 동일한 해당 발화의 합성 음성 표현(306)을 포함한다. 각각의 훈련 발화 쌍(302)은 또한 해당 발화의 동일한 GT 전사(320)와 연관된다. 일부 구현에서, 비합성 음성 표현(304)은 초기에 GT 전사(320)와 쌍을 이룰 수 있다. 예를 들어, 각각의 비합성 음성 표현(304)은 인간 리스너에 의해 손으로 전사(hand-transcribed)될 수 있다. 이러한 구현들에서, TTS(text-to-speech) 모듈(330)은 해당 훈련 발화 쌍(302)을 제공하기 위해 해당 발화의 GT 전사(320)를 합성 음성 표현(306)으로 변환할 수 있다. 여기서, 비합성 음성 표현(304)은 GT(ground-truth) 전사(320)와 관련된 텍스트를 합성 오디오로 변환함으로써 TTS 모듈(330)에 의해 생성된 합성 음성과 관련된다. TTS 모듈(330)은 화자 임베딩(speaker embedding)과 관련된 특정 화법 및 운율로 합성된 음성을 얻기 위해 GT 전사(y*)(320)을 변환할 때 화자 임베딩(z)을 적용할 수 있다. 여기서, GT 전사(y*)(320)는 TTS 모듈(330)이 GT 전사(y*)(320)와 관련된 비합성 음성 표현(x)(304)과 일치할 것으로 예상되는 새로운 합성 음성 표현(
Figure pct00005
)(306)을 생성하는 지도 데이터 증강을 위한 소스와 연관된다.
일부 예들에서, 트레이닝(훈련) 프로세스(300)는 훈련 발화 쌍들(302) 중 적어도 하나의 합성 음성 표현(306) 또는 비합성 음성 표현(304) 중 적어도 하나에 데이터 증강을 적용한다. 데이터 증강은 노이즈 추가, 타이밍 조작(예를 들어, 스트레칭(stretching)), 또는 대응하는 음성 표현에 잔향(reverberation)을 추가하는 것을 포함할 수 있지만, 이에 제한되지 않는다.
ASR 모델(200)은 특징/벡터의 시퀀스(예를 들어, 도 1의 음향 프레임(110))로서 대응하는 발화에 대한 비합성 음성 표현(x)(304)을 입력으로서 수신하고, 출력으로서, 대응하는 발화의 대응하는 비합성 음성 표현(x)(304)에 대한 가능한 비합성 음성 인식 가설(y)에 대한 제1 확률 분포(311)를 복수의 출력 단계 각각에 대해 생성한다. 단순화를 위해, "비합성 음성 인식 결과(311)"라는 용어는 대응하는(해당) 비합성 음성 표현(x)(304)에 대한 가능한 비합성 음성 인식 가설(y)에 대한 제1 확률 분포(311)를 지칭하는 데 사용될 수 있다. ASR 모델(200)은 또한 특징/벡터의 시퀀스(예를 들어, 도 1의 음향 프레임(110))로서 해당 발화에 대한 합성 음성 표현(
Figure pct00006
)(306)을 입력으로서 수신하고, 출력으로서, 해당 발화의 해당 합성 음성 표현(
Figure pct00007
)(306)에 대한 가능한 합성 음성 인식 가설(y)에 대한 제2 확률 분포(312)를 복수의 출력 단계 각각에 대해 생성한다. 단순화를 위해, "합성 음성 인식 결과(312)"라는 용어는 해당 합성 음성 표현(
Figure pct00008
)(306)에 대한 가능한 합성 음성 인식 가설(y)에 대한 제2 확률 분포(312)를 상호교환가능하게 지칭하기 위해 사용될 수 있다.
기존의 E2E(end-to-end) S2S(sequence-to-sequence) ASR 모델 훈련과 마찬가지로, 트레이닝 프로세스(300)는 복수의 출력 단계 각각에서 ASR 모델(200)에 의한 출력을 위해, GT 전사(320)에 기초한 비합성 음성 손실 항(
Figure pct00009
)(342) 그리고 해당 발화의 해당 비합성 음성 표현(x)(304)에 대한 비합성 음성 인식 결과(311(y))를 포함하는 제1 지도 손실 항을 생성한다. 도시된 예에서, 훈련 프로세스(300)는 GT 전사(320) 및 제1 확률 분포(311)를 수신하고 그리고 비합성 음성 손실 항(
Figure pct00010
)(342)을 출력하도록 구성된 지도(지도된) 손실 항 모듈(340)을 실행한다. 비합성 음성 손실 항(
Figure pct00011
)(342)을 포함하는 제1 지도(지도된) 손실 항은 다음 수학식1에 의해 계산될 수 있다.
Figure pct00012
더욱이, 트레이닝 프로세스(300)는 복수의 출력 단계들 각각에서, GT 전사(320) 및 해당 발화의 해당 합성 음성 표현(
Figure pct00013
)(306)에 대한 가능한 합성 음성 인식 가설(y)에 대한 제2 확률 분포에 기초한 합성 음성 손실 항(
Figure pct00014
)을 포함하는 제2 지도된 손실 항을 생성한다. 표시된 예에서, 훈련 프로세스(300)는 GT 전사(320) 및 제2 확률 분포(312)를 수신하고 그리고 합성 음성 손실 항(
Figure pct00015
)(344)을 출력하도록 구성된 지도 손실 항 모듈(340)을 실행한다. 합성 음성 손실 항(
Figure pct00016
)(344)을 포함하는 제2 지도된 손실 항은 다음 수학식 2에 의해 계산될 수 있다.
Figure pct00017
여기서 y*, z는 GT 전사(y*) 및 화자 임베딩(z)에 기초하여 TTS 모듈(330)에 의해 생성된 합성 음성 표현(
Figure pct00018
)(306)을 나타낸다.
지도된 손실 항 모듈(340)은 비합성 음성 손실 항(
Figure pct00019
)(342) 및 합성 음성 손실 항(
Figure pct00020
)(344)을 ASR 모델(200)에 다시 제공할 수 있다. 예를 들어, 훈련 프로세스(300)는 역전파(backpropagation)를 통해 ASR 모델(200)을 훈련하기 위해 확률적 그라디언트 디센(stochastic gradient decent)과 같은 확률 최적화 알고리즘을 사용하여 ASR 모델(200)을 훈련할 수 있다. 여기서, 확률 최적화 알고리즘은 손실 항(342, 344)을 사용하여 신경망의 실제 출력(예: 비합성 음성 인식 및 합성 음성 인식 결과(311, 312))과 원하는 출력(예: 해당 발화의 GT 전사(320)) 간의 차이를 기반으로 각각의 손실 함수(예: 교차 엔트로피 손실 함수)를 정의한다. 예를 들어, 손실 함수는 훈련 예제의 배치(batch)에 대해 계산된 다음 ASR 모델(200)의 각 가중치에 대해 미분된다. 배치 훈련에서, 비합성 음성 손실 항(
Figure pct00021
)(342)은 비합성 음성 표현(304)의 각각의 배치에 대해 획득된 평균 손실에 대응할 수 있고, 합성 음성 손실 항(
Figure pct00022
)(344)은 합성 음성 표현(306)의 각 배치에 대해 획득된 평균 손실에 해당한다. 또한, ASR 모델(200)은 지도된 손실 항 모듈(340)이 해당 비합성 및 합성 음성 손실 항(342, 344)을 병렬로 출력하도록 병렬로 비합성 및 합성 음성 표현(304, 306)의 대응하는 배치에 대해 훈련될 수 있다.
표시된 예에서, 트레이닝 프로세스(300)는 각각의 훈련 발화 쌍(302)에 대한 복수의 출력 단계들 각각에서, 가능한 비합성 음성 인식 가설에 대한 제1 확률 분포(311) 및 가능한 비합성 음성 인식 가설에 대한 제2 확률 분포(312)에 기초하여 해당 훈련 발화 쌍(302)에 대한 일관된 손실 항(
Figure pct00023
)(352)을 추가로 결정한다. 예를 들어, 훈련 프로세스(300)는 각 출력 단계에서 ASR 모델(200)에 의해 출력된 해당 비합성 음성 및 합성 음성 인식 결과(311, 312)를 수신하고 그리고 출력 단계에서 해당 훈련 발화 쌍(302)에 대한 일관성 손실 항(352)을 결정하도록 구성된 일관성 손실 항 모듈(350)을 사용할 수 있다.
일부 예에서, 트레이닝 프로세스(300)는 가능한 비합성 음성 인식 가설에 대한 제1 확률 분포(311)와 가능한 비합성 음성 인식 가설에 대한 제2 확률 분포(312) 사이의 DKL(Kullback-Leibler divergence)에 기초하여 일관된 손실 항(consistent loss term)(352)을 결정한다. DKL에 기초한 일관된 손실 항(352)은 다음 수학식 3으로 표현될 수 있다.
Figure pct00024
여기서, 각 출력 단계에서 훈련 발화 쌍(302)에 대해 결정된 일관된 손실 항(352)은 ASR 모델의 정확도와 독립적인(예를 들어, 지도된 손실 항(342, 344)과 무관한) "비지도" 손실 항을 제공하고, 따라서, 동일한 발화의 비합성 및 합성 음성 표현 사이의 일관성을 프로모팅하기 위해 ASR 모델(200)의 파라미터를 업데이트하는 데 사용될 수 있다. 배치 트레이닝(훈련)에서, 일관된 손실 항(352)은 배치에 대해 획득된 평균 손실 항에 대응할 수 있다. 다시 말해, 일관된 손실 항(352)은 ASR 모델(200)이 동일하게 행동하도록 학습, 예를 들어 훈련 발화가 합성 음성 또는 비합성 음성에 속하는지 여부에 관계없이 동일한 훈련 발화의 합성 음성(예: 합성된 음성) 및 비합성 음성(예: 실제/인간의 말) 모두에 대해 일관된 예측을 할 수 있도록 한다. 표시된 예에서, 트레이닝 프로세스(300)는 지도 손실 항 모듈(340)로부터 해당 비합성 및 합성 음성 손실 항(342, 344)을 출력하고 그리고 일관성 손실 항 모듈(350)로부터 일관된 손실 항(352)을 병렬로 출력하도록 구성된다.
유리하게는, ASR 모델(200)은 비합성 음성 훈련 예에 의존할 필요 없이 합성 음성의 대규모 데이터 세트에 대해 추가로 훈련되거나 또는 적어도 합성 음성 표현의 수에 비해 비합성 음성 훈련 예의 수를 감소시키기 위해, 추론하는 동안 인간의 발화에 대한 정확한 음성 인식 결과를 생성한다. 따라서, ASR 모델(200)은 새로운 도메인에서 ASR 모델(200)을 훈련시키기 위해 즉석에서 합성 음성이 쌍을 이루지 않은 텍스트로부터 생성될 수 있기 때문에 도메인 내 전사된 비합성 음성에 의존할 필요 없이 새로운 도메인으로 빠르게 이동할 수 있다. 하나의 예시적인 사용 사례에서, ASR 모델(200)의 정확도는 쌍을 이루지 않은 텍스트(unpaired text)로부터 생성된 합성 음성으로부터 음성 훈련 예의 수를 증가시킴으로써 전사된 비합성 음성을 얻기 어려운 자연어의 음성을 인식하기 위해 크게 향상될 수 있다.
도 4는 어텐션-기반 인코더-디코더(AED) 모델(200b)(도 2b)에 의해 생성된 비합성 및 합성 음성 인식 결과(311, 312) 사이의 DKL에 기초한 일관된 손실 항(352)의 개략도(400)를 도시한다. 표시된 예에서, 비합성 음성 인식 결과(311)의 시퀀스는 영어 단어 "WORD"의 훈련 발화의 비합성 음성 표현(304)과 연관되고, 합성 음성 인식 결과(312)의 시퀀스는 영어 단어 "WORD"의 동일한 훈련 발화의 합성 음성 표현(306)과 연관된다. AED 모델(200b)은 복수의 출력 단계 각각에서, 훈련 발화의 비합성 음성 표현(304)에 대한 해당 비합성 음성 인식 결과(311, 311a-d)를 생성한다. 실제로 각 출력 단계에서 비합성 음성 인식 결과(311a-d)는 가능한 비합성 음성 인식 가설에 대한 확률 분포를 나타내지만, 단순함을 위해, 도시된 예는 가능한 비합성 음성 인식 가설에 대한 확률 분포 중에서 가장 높은 확률과 연관된 비합성 음성 인식 가설을 묘사하는 비합성 음성 인식 결과(311)만을 보여준다. 예를 들어, 제1 출력 단계에서 제1 비합성 음성 인식 결과(311a)는 문자 "W"에 대한 출력 레이블을 포함하고, 제2 출력 단계에서 제2 비합성 음성 인식 결과(311b)는 문자 "O"에 대한 출력 레이블을 포함하고, 제3 출력 단계에서 제3 비합성 음성 인식 결과(311c)는 문자 "R"에 대한 출력 레이블을 포함하고, 제4 출력 단계에서 제4 비합성 음성 인식 결과(311d)는 문자 "D"에 대한 출력 레이블을 포함한다. 표시되지 않았지만, 각각의 비합성 음성 손실 항(
Figure pct00025
)(342)은 비합성 음성 인식 결과(311) 및 GT 전사(ground-truth transcript)(320)로부터 획득된 출력 단계에 대한 GT 레이블 y*에 기초하여 각 출력 단계에서 결정될 수 있다.
AED 모델(200b)은 유사하게 복수의 출력 단계 각각에서, 훈련 발화(302)의 합성 음성 표현(306)에 대한 해당 합성 음성 인식 결과(312, 312a-d)를 생성한다. 단순함을 위해, 이 예는 가능한 합성 음성 인식 가설에 대한 확률 분포 중에서 가장 높은 확률과 연관된 합성 음성 인식 가설을 묘사하는 각 출력 단계에서 합성 인식 결과(312a-d)만을 보여준다. 예를 들어, 제1 출력 단계에서 제1 합성 음성 인식 결과(312a)는 문자 "W"에 대한 출력 레이블을 포함하고, 제2 출력 단계에서 제2 합성 음성 인식 결과(312b)는 문자 "A"에 대한 출력 레이블을 포함하고, 제3 출력 단계에서 제3 합성 음성 인식 결과(312c)는 문자 "R"에 대한 출력 레이블을 포함하고, 제4 출력 단계에서 제4 합성 음성 인식 결과(312d)는 문자 "D"에 대한 출력 레이블을 포함한다. 도시되지 않았지만, 각각의 합성 음성 손실 항(
Figure pct00026
)(344)은 합성 음성 인식 결과(312) 및 GT 전사(320)로부터 획득된 출력 단계에 대한 GT 레이블 y*에 기초하여 각 출력 단계에서 결정될 수 있다. 예를 들어, 제2 출력 단계에서 각각의 합성 음성 손실 항(
Figure pct00027
)(344)은 합성 음성 표현에 대해 "O" 대신 문자 "A"를 잘못 예측하는 모델로 인해 각각의 비합성 손실 항(342)보다 높을 수 있다. 이 예는 자소를 포함하는 음성 인식 결과(311, 312)에 대한 출력 레이블을 묘사하지만, 트레이닝 프로세스(300)는 워드피스 또는 음소에 대한 출력 레이블을 유사하게 예측할 수 있다.
AED 모델(200b)은 비합성 음성 인식 결과(311a-d)의 출력 시퀀스를 합성 음성 인식 결과(312a-d)의 출력 시퀀스와 편리하게 정렬한다. 따라서, 일관성(일관된) 손실 항(352)은 각 출력 단계에서 생성된 비합성 및 합성 음성 인식 결과(311, 312) 간의 DKL에 기초하여 수학식 3을 이용하여 각 출력 단계에서 결정될 수 있다. 특히, 각 출력 단계에서 결정된 일관된 손실 항(352)은 실제 지도(지도된) 손실 항(342, 344)과 독립적이다. 예시적인 예로, 제1 출력 단계에서의 합성 음성 인식 결과(312a) 및 비합성 음성 인식 결과(311a) 모두가 정확하지만, 예를 들어 "W", 비-합성 음성 인식 결과(311a)와 연관된 확률/점수는 합성 음성 인식 결과(312a)와 연관된 확률/점수와 상이할 수 있다.
도 5는 프레임 정렬 기반 변환기 모델(200a)(예를 들어, RNN-T(도 2a))에 의해 생성된 비합성 및 합성 음성 인식 결과(311, 312) 사이의 DKL에 기반한 일관된 손실 항(352)의 개략도(500)를 도시한다. 표시된 예에서, 비합성 음성 인식 결과(311)는 영어 단어 "WORD"의 훈련 발화의 비합성 음성 표현(304)과 연관되고, 합성 음성 인식 결과(312)는 영어 단어 "WORD"의 동일한 훈련 발화의 합성 음성 표현(306)과 연관된다. AED 모델(200a)과 대조적으로, RNN-T 모델(200a)의 스트리밍 특성은 각 출력 단계에서 비합성 및 합성 음성 인식 결과(311, 312) 사이의 오정렬을 초래한다. 여기서, 각 출력 단계에서 비합성 음성 인식 결과(311a-g)는 비합성 음성 표현(304a-g)의 해당 입력 프레임(110)과 정렬되고, 각 출력 단계에서 합성 음성 인식 결과(312a-g)는 합성 음성 표현(306a-g)의 해당 입력 프레임(110)과 정렬된다. 이 오정렬은 RNN-T 모델이 스트리밍 방식으로 음성 인식을 가능하게 하기 위해 시간 영역(도메인)의 출력 단계에서 방출하는 공백 심볼(blank symbols)(
Figure pct00028
)때문이며, 예를 들어 계산을 시작하기 전에 모든 오디오를 기다릴 필요가 없다. RNN-T 모델(200a)이 각 시간 단계에서 출력하는 비합성 및 합성 음성 인식 결과(311, 312) 간의 오정렬 결과, 일관성 손실 항(352)은 각 출력 단계에서 생성된 비합성 및 합성 음성 인식 결과(311, 312) 사이의 DKL에 기초한 수학식 3을 사용하여 각 출력 단계에서 간단히 결정할 수 없다. 예를 들어, 표시된 예에서, RNN-T 모델(200a)은 첫 번째, 세 번째, 네 번째 및 일곱 번째 비합성 음성 인식 결과(311a, 311c, 311d, 311g)에서 문자 "W", "O", "R" 및 "D"에 대해 공백이 아닌 출력 레이블을 각각 방출하는 반면, 두 번째, 세 번째, 다섯 번째 및 여섯 번째 비합성 음성 인식 결과(12b, 312c, 312e, 312f)에서 문자 "W", "A", "R" 및 "D"에 대해 공백이 아닌 출력 레이블을 각각 방출한다. 예가 자소를 포함하는 음성 인식 결과(311, 312)에 대한 출력 레이블을 묘사하지만, 훈련 프로세스(300)는 워드피스 또는 음소에 대한 출력 레이블을 유사하게 예측할 수 있다.
RNN-T 모델(200a)과 관련된 일관성 손실 항(352)을 계산하기 위해, 구현은 먼저 수학식 4와 같이 GT 전사 y*의 유효한 정렬의 확률에 기초하여 분포(
Figure pct00029
)를 정의하는 것을 포함한다.
Figure pct00030
여기서, 분포(
Figure pct00031
)는 GT 전사(ground-truth transcription)(y*)의 각 출력 레이블에 대해 정의되지만 위의 AED 모델 200b에서와 같이 전체 레이블 세트 L은 아니다.
순방향 확률과 역방향 확률의 표준 정의를 적용하면, GT 전사(y*)에서 출력 레이블의 사후는 수학식 5와 같이 모든 가능한 정렬의 확률의 합으로 정의될 수 있다.
Figure pct00032
여기서 α(t,u)는 정렬 격자(alignment lattice)에서 프레임 1에서 t까지 y1:u를 출력할 순방향 확률을 나타내고, β(t,u)는 프레임 t에서 T까지 yu+1:U를 출력할 역방향 확률을 나타내며, 여기서 U는 발화의 출력 레이블 수이고 T는 발화의 입력 프레임 수이다. 따라서 프레임 t 및 출력 u에서의 각 RNN-T 예측 q(t,u)는 수학식 6과 같이 프레임 t까지의 특징 시퀀스 및 출력 u까지의 전사 시퀀스에 의해 제공된다.
Figure pct00033
일부 예에서, 다음 수학식 7은 GT 출력의 사후(posterior)를 최적화하기 위해 적용된다.
Figure pct00034
토큰 사후(token posterior)의 기울기는 수학식 8과 같이 제공된다.
Figure pct00035
마지막으로 다음 수학식 9를 사용하여 모든 입력 프레임에서 각 출력을 주변화(marginalized)할 수 있다.
Figure pct00036
따라서, GT 전사의 각 출력 레이블에 대해(
Figure pct00037
), 수학식 9의 주변화된 분포(marginalized distribution)는 수학식 3을 사용하여 각 출력 단계에서 일관된 손실 항(352)을 결정하기 위해 전체 GT 레이블 시퀀스의 사후를 고려하는 데 사용할 수 있다. 본질적으로, 프레임 정렬 기반 변환기 모델(200a)(예를 들어, RNN-T(도 2a))에 의해 예측된 2개의 출력 시퀀스 간의 일관된 손실을 계산하기 위해, 수학식 4 내지 9는 입력 프레임이 있는 예측된 출력 레이블 시퀀스의 실제 정렬과 무관하게 GT 전사를 나타내는 출력 레이블 시퀀스와 정렬되는 RNN-T 모델(200a)에 의해 예측/출력되는 출력 레이블 시퀀스를 가질 확률을 결정하기 위해 적용된다.
도 6은 음성 인식 모델을 훈련하는 방법(600)에 대한 동작들의 예시적인 배열의 흐름도이다. ASR 모델(200)은 어텐션-기반 인코더-디코더(AED) 모델(200b)(도 2b) 또는 프레임 정렬 기반 변환기 모델(200a)(도 2a)을 포함할 수 있다. 동작(602)에서, 방법(600)은 훈련 발화 쌍(302) 세트를 수신하는 단계를 포함한다. 각각의 훈련 발화 쌍(302)은 해당 발화의 비합성 음성 표현(304) 및 동일한 해당 발화의 합성 음성 표현(306)을 포함한다. 훈련 발화 쌍 세트의 각 훈련 발화 쌍(302)에 대한 복수의 출력 단계 각각에서: 방법(600)은 또한 ASR 모델(200)에 의한 출력을 위해, 동작(604)에서 해당 발화의 해당 비합성 음성 표현(304)에 대한 가능한 비합성 음성 인식 가설에 대한 제1 확률 분포(311)를 생성하는 단계; ASR 모델(200)에 의한 출력을 위해, 동작(606)에서 해당 발화의 해당 합성 음성 표현(306)에 대한 가능한 합성 음성 인식 가설에 대한 제2 확률 분포(312)를 생성하는 단계; 그리고 동작(608)에서 가능한 비합성 음성 인식 가설에 대한 제2 확률 분포(312) 및 가능한 비합성 음성 인식 가설에 대한 제1 확률 분포(311)에 기초하여 해당 훈련 발화 쌍(302)에 대한 일관된 손실 항(352)을 결정하는 단계를 포함한다. 동작(610)에서, 방법(600)은 또한 훈련(트레이닝) 발화 쌍 세트 내의 각각의 훈련 발화 쌍에 대한 복수의 출력 단계 각각에서 결정된 일관된 손실 항(352)에 기초하여 ASR 모델(200)의 파라미터들을 업데이트하는 단계를 포함한다.
본 명세서의 예는 동일한 발화의 비합성 음성 표현과 합성 음성 표현 사이의 일관된 손실 항(352)을 결정하지만, 본 명세서의 기술은 이미지 인식 및 기계 번역과 같은(이에 국한되지 않음) 다른 유형의 데이터세트 간의 일관된 손실 항을 결정하기 위해 유사하게 적용될 수 있다. 예를 들어, 해당 오브젝트의 비합성 이미지(또는 비합성 이미지의 경우 픽셀 또는 픽셀 시퀀스) 표현과 동일한 해당 오브젝트의 합성 이미지(또는 합성 이미지의 경우 픽셀 시퀀스의 픽셀) 표현을 포함하는 훈련 이미지 쌍은 프레임 정렬 기반 변환기 모델(200a) 또는 AED 모델(200b) 중 하나에 공급되어 모델(200a, 200b)이 해당 오브젝트를 인식하는 방법을 학습하도록 훈련할 수 있다. 일례로, 오브젝트는 개와 같은 동물일 수 있고, GT 레이블 세트는 비합성 및 합성 이미지 쌍을 "개"로 지정하는 레이블을 포함할 수 있다. 비합성 및 합성 이미지 쌍이 개를 나타내지 않으므로 "no dog"이라는 GT 레이블을 포함하는 네거티브 훈련 예도 제공될 수 있다.
소프트웨어 애플리케이션(즉, 소프트웨어 리소스(자원))은 컴퓨팅 장치가 태스크를 수행하게 하는 컴퓨터 소프트웨어를 의미할 수 있다. 일부 예들에서, 소프트웨어 애플리케이션은 "애플리케이션", "앱" 또는 "프로그램"으로 지칭될 수 있다. 예제 애플리케이션에는 시스템 진단 애플리케이션, 시스템 관리 애플리케이션, 시스템 유지 관리 애플리케이션, 워드 프로세싱 애플리케이션, 스프레드시트 애플리케이션, 메시징 애플리케이션, 미디어 스트리밍 애플리케이션, 소셜 네트워킹 애플리케이션 및 게임 애플리케이션이 포함되지만 이에 국한되지는 않는다.
비일시적 메모리는 컴퓨팅 장치에서 사용하기 위해 임시 또는 영구적으로 프로그램(예: 명령어 시퀀스) 또는 데이터(예: 프로그램 상태 정보)를 저장하는 데 사용되는 물리적 장치일 수 있다. 비일시적 메모리는 휘발성 및/또는 비휘발성 주소 지정 가능 반도체 메모리일 수 있다. 비휘발성 메모리의 예에는 플래시 메모리 및 읽기 전용 메모리(ROM)/프로그램 가능 읽기 전용 메모리(PROM)/지우기 가능한 프로그램 가능 읽기 전용 메모리(EPROM)/전자적으로 지울 수 있는 프로그래밍 가능한 읽기 전용 메모리(EEPROM)(예: 일반적으로 부팅 프로그램과 같은 펌웨어에 사용됨)이 포함되지만 이에 국한되지는 않는다. 휘발성 메모리의 예에는 RAM(Random Access Memory), DRAM(Dynamic Random Access Memory), SRAM(Static Random Access Memory), PCM(Phase Change Memory) 및 디스크 또는 테이프가 포함되지만 이에 국한되지 않는다.
도 7는 본 명세서에 설명된 시스템 및 방법을 구현하는 데 사용될 수 있는 예시적인 컴퓨팅 장치(700)의 개략도이다. 컴퓨팅 장치(700)는 랩톱, 데스크탑, 워크스테이션, 개인용 디지털 보조 장치, 서버, 블레이드 서버, 메인프레임 및 기타 적절한 컴퓨터와 같은 다양한 형태의 디지털 컴퓨터를 나타내도록 의도된다. 여기에 표시된 컴포넌트들, 이들의 연결 및 관계 및 기능은 예시 일 뿐이며 본 명세서에서 설명 및/또는 청구된 발명의 구현을 제한하려는 것이 아니다.
컴퓨팅 장치(700)는 프로세서(710), 메모리(720), 저장 장치(730), 메모리(720) 및 고속 확장 포트(750)에 연결되는 고속 인터페이스/제어기(제어기)(740) 및 저속 버스(770) 및 저장 장치(730)에 연결되는 저속 인터페이스/제어기(760)를 포함한다. 각각의 컴포넌트(710, 720, 730, 740, 750, 760)는 다양한 버스를 사용하여 상호 연결되고, 공통 마더보드에 또는 적절한 다른 방식으로 장착될 수 있다. 프로세서(710)는 고속 인터페이스(740)에 연결된 디스플레이(770)와 같은 외부 입력/출력 장치에 그래픽 사용자 인터페이스(GUI)에 대한 그래픽 정보를 표시하기 위해 메모리(720) 또는 저장 장치(730)에 저장된 명령어를 포함하는, 컴퓨팅 장치(700) 내에서 실행하기 위한 명령어를 프로세싱(프로세싱)할 수 있다. 다른 구현에서, 다중 프로세서 및/또는 다중 버스가 다중 메모리 및 메모리 유형과 함께 적절하게 사용될 수 있다. 또한, 복수의 컴퓨팅 장치(700)는 필요한 동작의 일부를 제공하는 각 장치(예를 들어, 서버 뱅크, 블레이드 서버 그룹 또는 다중 프로세서 시스템)와 연결될 수 있다.
메모리(720)는 컴퓨팅 장치(700) 내에 비-일시적으로 정보를 저장한다. 메모리(720)는 컴퓨터 판독 가능 매체, 휘발성 메모리 유닛(들) 또는 비-휘발성 메모리 유닛(들)일 수 있다. 비-일시적 메모리(720)는 컴퓨팅 장치(700)에 의해 사용하기 위해 일시적 또는 영구적으로 프로그램(예를 들어, 명령어 시퀀스) 또는 데이터(예를 들어, 프로그램 상태 정보)를 저장하는 데 사용되는 물리적 장치일 수 있다. 예시적인 비-휘발성 메모리는 플래시 메모리 및 ROM(read-only memory)/PROM(programmable read-only memory)/EPROM(erasable programmable read-only memory)/EEPROM(electronically erasable programmable read-only memory)(예: 일반적으로 부팅 프로그램과 같은 펌웨어에 사용됨) 등을 포함하지만, 이에 국한되지 않는다. 예시적인 휘발성 메모리는 RAM(Random Access Memory), DRAM(Dynamic Random Access Memory), SRAM(Static Random Access Memory), PCM(Phase Change Memory) 및 디스크 또는 테이프가 포함되지만 이에 국한되지는 않는다.
저장 장치(730)는 컴퓨팅 장치(700)에 대용량 저장 장치를 제공할 수 있다. 일부 구현에서, 저장 장치(730)는 컴퓨터 판독 가능 매체이다. 다양한 다른 구현에서, 저장 장치(730)는 플로피 디스크 장치, 하드 디스크 장치, 광 디스크 장치 또는 테이프 장치, 플래시 메모리 또는 기타 유사한 솔리드 스테이트 메모리 장치 또는 저장(스토리지) 영역 네트워크 또는 기타 구성의 장치를 포함하는 장치 어레이일 수 있다. 추가 구현에서, 컴퓨터 프로그램 제품은 정보 매체에 유형적으로 구현된다. 컴퓨터 프로그램 제품에는 실행시 위에서 설명한 것과 같은 하나 이상의 방법을 수행하는 명령어가 포함되어 있다. 정보 매체는 메모리(720), 저장 장치(730) 또는 프로세서(710)상의 메모리와 같은 컴퓨터 또는 기계 판독 가능 매체이다.
고속 제어기(740)는 컴퓨팅 장치(700)에 대한 대역폭 집약적인(bandwidth-intensive) 동작을 관리하는 반면, 저속 제어기(760)는 낮은 대역폭 집약적인 동작을 관리한다. 이러한 업무 할당은 예시 일뿐이다. 일부 구현에서, 고속 제어기(740)는 메모리(720), 디스플레이(780)(예를 들어, 그래픽 프로세서 또는 가속기를 통해) 및 다양한 확장 카드(미도시)를 수용할 수 있는 고속 확장 포트(750)에 결합된다. 일부 구현에서, 저속 제어기(760)는 저장 장치(730) 및 저속 확장 포트(790)에 결합된다. 다양한 통신 포트(예: USB, 블루투스, 이더넷, 무선 이더넷)를 포함할 수 있는 저속 확장 포트(790)는 예를 들어 네트워크 어댑터를 통해, 키보드, 포인팅 장치, 스캐너 또는 스위치 또는 라우터와 같은 네트워킹 장치와 같은 하나 이상의 입력/출력 장치에 연결될 수 있다.
컴퓨팅 장치(700)는 도면에 도시된 바와 같이 복수의 상이한 형태로 구현될 수 있다. 예를 들어, 표준 서버(700a)로서 또는 그러한 서버(700a)의 그룹에서 랩톱 컴퓨터(700b)로서 또는 랙 서버 시스템(700c)의 일부로서 여러번 구현될 수 있다.
여기에 설명된 시스템 및 기술의 다양한 구현은 디지털 전자 및/또는 광학 회로, 집적 회로, 특별히 설계된 ASIC(application specific integrated circuits), 컴퓨터 하드웨어, 펌웨어, 소프트웨어 및/또는 이들의 조합으로 실현 될 수 있다. 이러한 다양한 구현은 적어도 하나의 프로그램 가능한 프로세서를 포함하는 프로그램 가능한 시스템에서 실행 가능 및/또는 해석 가능한 하나 이상의 컴퓨터 프로그램에서의 구현을 포함할 수 있으며, 이는 저장 시스템, 적어도 하나의 입력 장치 및 적어도 하나의 출력 장치로부터 데이터 및 명령어를 수신하고 데이터 및 명령어를 전송하도록 결합된 특수 또는 범용일 수 있다.
이러한 컴퓨터 프로그램(프로그램, 소프트웨어, 소프트웨어 애플리케이션 또는 코드라고도 함)은 프로그래밍 가능한 프로세서에 대한 기계 명령어를 포함하며, 하이-레벨 절차 및/또는 객체-지향적 프로그래밍 언어 및/또는 어셈블리/기계 언어로 구현될 수 있다. 여기에서 사용된 용어 "기계 판독 가능 매체" 및 "컴퓨터 판독 가능 매체"는 기계 판독 가능 신호로서 기계 명령어를 수신하는 기계 판독 가능 매체를 포함하는, 컴퓨터 프로그램 제품, 비-일시적 컴퓨터 판독 가능 매체, 프로그래밍 가능 프로세서에 기계 명령어 및/또는 데이터를 제공하는 데 사용되는 장치 및/또는 디바이스(예: 자기 디스크, 광학 디스크, 메모리, PLD(Programmable Logic Devices))를 나타낸다. 용어 "기계 판독 가능 신호"는 기계 명령어 및/또는 데이터를 프로그래밍 가능 프로세서에 제공하는 데 사용되는 모든 신호를 의미한다.
본 명세서에 설명된 프로세스 및 로직 흐름은 데이터 프로세싱 하드웨어라고도하는 하나 이상의 프로그래밍 가능 프로세서에 의해 수행될 수 있으며, 하나 이상의 컴퓨터 프로그램을 실행하여 입력 데이터를 조작하고 출력을 생성함으로써 기능을 수행할 수 있다. 프로세스 및 로직 흐름은 FPGA(field programmable gate array) 또는 ASIC(application specific integrated circuit)와 같은 특수 목적 로직 회로에 의해 수행될 수도 있다. 컴퓨터 프로그램의 실행에 적합한 프로세서는 예를 들어 범용 및 특수 목적의 마이크로 프로세서와 모든 종류의 디지털 컴퓨터의 임의의 하나 이상의 프로세서를 포함한다. 일반적으로 프로세서는 읽기 전용 메모리나 랜덤 액세스 메모리 또는 둘 다에서 명령어와 데이터를 수신한다. 컴퓨터의 필수 요소는 명령어를 수행하기 위한 프로세서와 명령어와 데이터를 저장하기 위한 하나 이상의 메모리 장치이다. 일반적으로, 컴퓨터는 또한 데이터를 저장하기 위한 하나 이상의 대용량 저장 장치, 예를 들어 자기, 광 자기 디스크 또는 광 디스크로부터 데이터를 수신하거나 데이터를 전송하거나 둘 모두를 포함하거나 작동 가능하게 결합된다. 그러나 컴퓨터는 이러한 장치가 필요하지 않다. 컴퓨터 프로그램 명령어 및 데이터를 저장하기에 적합한 컴퓨터 판독 가능 매체는, 예를 들어, EPROM, EEPROM 및 플래시 메모리 장치와 같은 반도체 메모리 장치, 내부 하드 디스크 또는 이동식 디스크와 같은 자기 디스크, 광 자기 디스크; 및 CD ROM 및 DVD-ROM 디스크를 포함하는 모든 형태의 비-휘발성 메모리, 미디어 및 메모리 장치를 포함한다. 프로세서와 메모리는 특수 목적 로직(논리) 회로에 의해 보완되거나 통합될 수 있다.
사용자와의 상호 작용을 제공하기 위해, 본 명세서 내용의 하나 이상의 양태는 디스플레이 장치, 예를 들어 CRT(음극선 관), LCD(액정 디스플레이) 모니터 또는 사용자에게 정보를 표시하기 위한 터치 스크린과 같은 디스플레이 장치, 및 선택적으로 키보드 및 포인팅 장치(예를 들어, 사용자가 컴퓨터에 입력을 제공할 수 있는 마우스 또는 트랙볼)를 갖는 컴퓨터상에서 구현될 수 있다. 사용자와의 상호 작용을 제공하기 위해 다른 종류의 장치도 사용할 수 있다. 예를 들어, 사용자에게 제공되는 피드백은 예를 들어 시각적 피드백, 청각적 피드백 또는 촉각적 피드백과 같은 모든 형태의 감각 피드백 일 수 있으며, 사용자로부터의 입력은 음향, 음성 또는 촉각 입력을 포함한 모든 형태로 수신될 수 있다. 또한 컴퓨터는 사용자가 사용하는 장치로 문서를 전송하고 장치에서 문서를 수신함으로써, 예를 들어 웹 브라우저에서 수신한 요청에 대한 응답으로 사용자 클라이언트 장치의 웹 브라우저에 웹 페이지를 전송함으로써 사용자와 상호 작용할 수 있다.
많은 구현이 설명되었다. 그럼에도 불구하고, 본 명세서의 사상 및 범위를 벗어나지 않고 다양한 변형이 이루어질 수 있음을 이해할 것이다. 따라서, 다른 구현은 다음 청구항의 범위 내에 있다.

Claims (26)

  1. 데이터 처리 하드웨어(710)에 의해 실행될 때 상기 데이터 처리 하드웨어(710)로 하여금 단계들을 수행하게 하는 컴퓨터로 구현되는 방법(600)으로서, 상기 단계들은,
    훈련 발화 쌍(302) 세트를 수신하는 단계 -각 훈련 발화 쌍(302)은 해당 발화의 비합성 음성 표현(304); 그리고 상기 해당 발화의 합성 음성 표현(306)을 포함함-;
    상기 훈련 발화 쌍(302) 세트의 각 훈련 발화 쌍(302)에 대한 복수의 출력 단계 각각에서:
    음성 인식 모델(200)에 의한 출력을 위해, 상기 해당 발화의 해당 비합성 음성 표현(304)에 대한 가능한 비합성 음성 인식 가설(hypothese)에 대한 제1 확률 분포(311)를 생성하는 단계;
    음성 인식 모델(200)에 의한 출력을 위해, 해당 발화의 해당 합성 음성 표현(306)에 대한 가능한 합성 음성 인식 가설에 대한 제2 확률 분포(312)를 생성하는 단계; 그리고
    상기 가능한 비합성 음성 인식 가설에 대한 제1 확률 분포(311) 및 가능한 비합성 음성 인식 가설에 대한 제2 확률 분포(312)에 기초하여 상기 해당 훈련 발화 쌍(302)에 대한 일관된 손실 항(consistent loss term)(352)을 결정하는 단계 ; 그리고
    상기 훈련 발화 쌍(302) 세트 내의 각 훈련 발화 쌍(302)에 대한 복수의 출력 단계 각각에서 결정된 일관된 손실 항(352)에 기초하여 상기 음성 인식 모델(200)의 파라미터를 업데이트하는 단계를 포함하는 것을 특징으로 하는 컴퓨터로 구현되는 방법.
  2. 제1항에 있어서, 상기 단계들은, 훈련 발화 쌍(302) 세트 내의 각 훈련 발화 쌍(302)에 대한 복수의 출력 단계 각각에서:
    상기 해당 발화의 GT(ground-truth) 전사(120) 그리고 상기 해당 발화의 해당 비합성 음성 표현(304)에 대한 가능한 비합성 음성 인식 가설에 대한 제1 확률 분포(311)에 기초하여 비합성 음성 손실 항(342)을 생성하는 단계; 그리고
    상기 해당 발화의 GT 전사(120) 그리고 상기 해당 발화의 해당 합성 음성 표현(306)에 대한 가능한 합성 음성 인식 가설에 대한 제2 확률 분포(312)에 기초하여 합성 음성 손실 항(344)을 생성하는 단계를 더 포함하는 것을 특징으로 하는 컴퓨터로 구현되는 방법.
  3. 제2항에 있어서, 음성 인식 모델(200)의 파라미터는 훈련 발화 쌍(302) 세트에서 각 훈련 발화 쌍(302)에 대한 복수의 출력 단계 각각에서 생성된 비합성 및 합성 음성 손실 항(342, 344)과 독립적으로 훈련 발화 쌍(302) 세트의 각 훈련 발화 쌍(302)에 대한 복수의 출력 단계 각각에서 결정된 일관된 손실 항(352)에 기초하여 업데이트되는 것을 특징으로 하는 컴퓨터로 구현되는 방법.
  4. 제1항 내지 제3항 중 어느 한 항에 있어서, 각 훈련 발화 쌍(302)의 합성 음성 표현(306)은 상기 해당 발화를 나타내는 합성 음성을 포함하는 것을 특징으로 하는 컴퓨터로 구현되는 방법.
  5. 제1항 내지 제4항 중 어느 한 항에 있어서, 상기 단계들은,
    각 훈련 발화 쌍(302)에 대해, TTS(text-to-speech) 모델(330)을 사용하여, 해당 합성 음성 표현(306)을 생성하기 위해 상기 해당 발화의 GT(ground truth) 전사(120)를 변환하는 단계를 더 포함하는 것을 특징으로 하는 컴퓨터로 구현되는 방법.
  6. 제1항 내지 제5항 중 어느 한 항에 있어서, 상기 단계들은,
    적어도 하나의 훈련 발화 쌍(302)에 대해, 해당 비합성 음성 표현(304) 또는 해당 합성 음성 표현(306) 중 적어도 하나에 데이터 증강(augmentation)을 적용하는 단계를 더 포함하는 것을 특징으로 하는 컴퓨터로 구현되는 방법.
  7. 제6항에 있어서, 상기 적용된 데이터 증강은 노이즈 추가, 잔향(reverberation) 추가, 또는 타이밍 조작 중 적어도 하나를 포함하는 것을 특징으로 하는 컴퓨터로 구현되는 방법.
  8. 제1항 내지 제7항 중 어느 한 항에 있어서, 상기 해당 훈련 발화 쌍(302)에 대한 일관된 손실 항(352)을 결정하는 것은,
    가능한 비합성 음성 인식 가설에 대한 제1 확률 분포(311)와 가능한 비합성 음성 인식 가설에 대한 제2 확률 분포(312) 사이의 쿨백-라이블러(Kullback-Leibler) 다이버전에 기초하는 것을 특징으로 하는 컴퓨터로 구현되는 방법.
  9. 제8항에 있어서, 상기 단계들은,
    해당 훈련 발화 쌍(302)에 대한 일관된 손실 항(352)을 결정하기 전에, 상기 음성 인식 모델(200)이 프레임 정렬 기반 변환기 모델(200)을 포함할 때,
    상기 출력 단계 각각에서 생성된 가능한 비합성 음성 인식 가설에 대한 제 1 확률 분포(311)의 시퀀스 및 상기 해당 발화의 GT 전사(120)의 유효한 정렬의 확률에 기초하여 상기 출력 단계 각각에서 생성된 가능한 합성 음성 인식 가설에 대한 제2 확률 분포(312)의 시퀀스에 대한 유효한 정렬 분포를 정의하는 단계를 더 포함하는 것을 특징으로 하는 컴퓨터로 구현되는 방법.
  10. 제9항에 있어서, 상기 유효한 정렬 분포는 상기 해당 발화의 GT 전사(120)를 나타내는 출력 레이블 시퀀스의 각 출력 레이블에 대해 정의되는 것을 특징으로 하는 컴퓨터로 구현되는 방법.
  11. 제1항 내지 제10항 중 어느 한 항에 있어서, 상기 음성 인식 모델(200)은 프레임 정렬 기반 변환기 모델(200a)을 포함하는 것을 특징으로 하는 컴퓨터로 구현되는 방법.
  12. 제11항에 있어서, 상기 프레임 정렬 기반 변환기 모델(200)은 RNN-T(Recurrent Neural Network-Transducer) 모델(200a)을 포함하는 것을 특징으로 하는 컴퓨터로 구현되는 방법.
  13. 제1항 내지 제10항 중 어느 한 항에 있어서, 상기 음성 인식 모델(200)은 정렬 기반 인코더-디코더 모델(200b)을 포함하는 것을 특징으로 하는 컴퓨터로 구현되는 방법.
  14. 시스템(700)으로서,
    데이터 처리 하드웨어(710); 그리고
    상기 데이터 처리 하드웨어(710)와 통신하는 메모리 하드웨어(720)를 포함하며, 상기 메모리 하드웨어(720)는 상기 데이터 처리 하드웨어(710) 상에서 실행될 때 상기 데이터 처리 하드웨어(710)로 하여금 동작들을 수행하게 하는 명령어를 저장하고, 상기 동작들은,
    훈련 발화 쌍(302) 세트를 수신하는 동작 -각 훈련 발화 쌍(302)은 해당 발화의 비합성 음성 표현(304); 그리고 상기 해당 발화의 합성 음성 표현(306)을 포함함-;
    상기 훈련 발화 쌍(302) 세트의 각 훈련 발화 쌍(302)에 대한 복수의 출력 단계 각각에서:
    음성 인식 모델(200)에 의한 출력을 위해, 상기 해당 발화의 해당 비합성 음성 표현(304)에 대한 가능한 비합성 음성 인식 가설(hypothese)에 대한 제1 확률 분포(311)를 생성하는 동작;
    음성 인식 모델(200)에 의한 출력을 위해, 해당 발화의 해당 합성 음성 표현(306)에 대한 가능한 합성 음성 인식 가설에 대한 제2 확률 분포(312)를 생성하는 동작; 그리고
    상기 가능한 비합성 음성 인식 가설에 대한 제1 확률 분포(311) 및 가능한 비합성 음성 인식 가설에 대한 제2 확률 분포(312)에 기초하여 상기 해당 훈련 발화 쌍(302)에 대한 일관된 손실 항(consistent loss term)(352)을 결정하는 동작 ; 그리고
    상기 훈련 발화 쌍(302) 세트 내의 각 훈련 발화 쌍(302)에 대한 복수의 출력 단계 각각에서 결정된 일관된 손실 항(352)에 기초하여 상기 음성 인식 모델(200)의 파라미터를 업데이트하는 동작을 포함하는 것을 특징으로 하는 시스템.
  15. 제14항에 있어서, 상기 동작들은, 훈련 발화 쌍(302) 세트 내의 각 훈련 발화 쌍(302)에 대한 복수의 출력 단계 각각에서:
    상기 해당 발화의 GT(ground-truth) 전사(120) 그리고 상기 해당 발화의 해당 비합성 음성 표현(304)에 대한 가능한 비합성 음성 인식 가설에 대한 제1 확률 분포(311)에 기초하여 비합성 음성 손실 항(342)을 생성하는 동작; 그리고
    상기 해당 발화의 GT 전사(120) 그리고 상기 해당 발화의 해당 합성 음성 표현(306)에 대한 가능한 합성 음성 인식 가설에 대한 제2 확률 분포(312)에 기초하여 합성 음성 손실 항(344)을 생성하는 동작을 더 포함하는 것을 특징으로 하는 시스템.
  16. 제15항에 있어서, 음성 인식 모델(200)의 파라미터는 훈련 발화 쌍(302) 세트에서 각 훈련 발화 쌍(302)에 대한 복수의 출력 단계 각각에서 생성된 비합성 및 합성 음성 손실 항(342, 344)과 독립적으로 훈련 발화 쌍(302) 세트의 각 훈련 발화 쌍(302)에 대한 복수의 출력 단계 각각에서 결정된 일관된 손실 항(352)에 기초하여 업데이트되는 것을 특징으로 하는 시스템.
  17. 제14항 내지 제16항 중 어느 한 항에 있어서, 각 훈련 발화 쌍(302)의 합성 음성 표현(306)은 상기 해당 발화를 나타내는 합성 음성을 포함하는 것을 특징으로 하는 시스템.
  18. 제14항 내지 제17항 중 어느 한 항에 있어서, 상기 동작들은,
    각 훈련 발화 쌍(302)에 대해, TTS(text-to-speech) 모델(330)을 사용하여, 해당 합성 음성 표현(306)을 생성하기 위해 상기 해당 발화의 GT(ground truth) 전사(120)를 변환하는 동작을 더 포함하는 것을 특징으로 하는 시스템.
  19. 제14항 내지 제18항 중 어느 한 항에 있어서, 상기 동작들은,
    적어도 하나의 훈련 발화 쌍(302)에 대해, 해당 비합성 음성 표현(304) 또는 해당 합성 음성 표현(306) 중 적어도 하나에 데이터 증강(augmentation)을 적용하는 동작을 더 포함하는 것을 특징으로 하는 시스템.
  20. 제19항에 있어서, 상기 적용된 데이터 증강은 노이즈 추가, 잔향(reverberation) 추가, 또는 타이밍 조작 중 적어도 하나를 포함하는 것을 특징으로 하는 시스템.
  21. 제14항 내지 제20항 중 어느 한 항에 있어서, 상기 해당 훈련 발화 쌍(302)에 대한 일관된 손실 항(352)을 결정하는 것은,
    가능한 비합성 음성 인식 가설에 대한 제1 확률 분포(311)와 가능한 비합성 음성 인식 가설에 대한 제2 확률 분포(312) 사이의 쿨백-라이블러(Kullback-Leibler) 다이버전에 기초하는 것을 특징으로 하는 시스템.
  22. 제21항에 있어서, 상기 동작들은,
    해당 훈련 발화 쌍(302)에 대한 일관된 손실 항(352)을 결정하기 전에, 상기 음성 인식 모델(200)이 프레임 정렬 기반 변환기 모델(200)을 포함할 때,
    상기 출력 단계 각각에서 생성된 가능한 비합성 음성 인식 가설에 대한 제 1 확률 분포(311)의 시퀀스 및 상기 해당 발화의 GT 전사(120)의 유효한 정렬의 확률에 기초하여 상기 출력 단계 각각에서 생성된 가능한 합성 음성 인식 가설에 대한 제2 확률 분포(312)의 시퀀스에 대한 유효한 정렬 분포를 정의하는 동작을 더 포함하는 것을 특징으로 하는 시스템.
  23. 제22항에 있어서, 상기 유효한 정렬 분포는 상기 해당 발화의 GT 전사(120)를 나타내는 출력 레이블 시퀀스의 각 출력 레이블에 대해 정의되는 것을 특징으로 하는 시스템.
  24. 제14항 내지 제23항 중 어느 한 항에 있어서, 상기 음성 인식 모델(200)은 프레임 정렬 기반 변환기 모델(200a)을 포함하는 것을 특징으로 하는 시스템.
  25. 제24항에 있어서, 상기 프레임 정렬 기반 변환기 모델(200)은 RNN-T(Recurrent Neural Network-Transducer) 모델(200a)을 포함하는 것을 특징으로 하는 시스템.
  26. 제14항 내지 제23항 중 어느 한 항에 있어서, 상기 음성 인식 모델(200)은 정렬 기반 인코더-디코더 모델(200b)을 포함하는 것을 특징으로 하는 시스템.
KR1020227033561A 2020-03-04 2021-02-08 스트리밍 시퀀스 모델에 대한 일관성 예측 KR20220148245A (ko)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US202062985278P 2020-03-04 2020-03-04
US62/985,278 2020-03-04
PCT/US2021/017147 WO2021178108A1 (en) 2020-03-04 2021-02-08 Consistency prediction on streaming sequence models

Publications (1)

Publication Number Publication Date
KR20220148245A true KR20220148245A (ko) 2022-11-04

Family

ID=74856926

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020227033561A KR20220148245A (ko) 2020-03-04 2021-02-08 스트리밍 시퀀스 모델에 대한 일관성 예측

Country Status (6)

Country Link
US (1) US11929060B2 (ko)
EP (1) EP4088276A1 (ko)
JP (1) JP7359969B2 (ko)
KR (1) KR20220148245A (ko)
CN (1) CN115210809A (ko)
WO (1) WO2021178108A1 (ko)

Families Citing this family (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11657799B2 (en) * 2020-04-03 2023-05-23 Microsoft Technology Licensing, Llc Pre-training with alignments for recurrent neural network transducer based end-to-end speech recognition
US11908458B2 (en) * 2020-12-29 2024-02-20 International Business Machines Corporation Customization of recurrent neural network transducers for speech recognition
US20220319506A1 (en) * 2021-03-31 2022-10-06 Chief Chief Technologies Oy Method and system for performing domain adaptation of end-to-end automatic speech recognition model
US20230130634A1 (en) * 2021-10-05 2023-04-27 Google Llc Optimizing Inference Performance for Conformer
US20230107695A1 (en) * 2021-10-06 2023-04-06 Google Llc Fusion of Acoustic and Text Representations in RNN-T
CN116783649A (zh) * 2021-11-15 2023-09-19 微软技术许可有限责任公司 语音识别中的诊断服务

Family Cites Families (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8751239B2 (en) * 2007-10-04 2014-06-10 Core Wireless Licensing, S.a.r.l. Method, apparatus and computer program product for providing text independent voice conversion
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
US10643602B2 (en) 2018-03-16 2020-05-05 Microsoft Technology Licensing, Llc Adversarial teacher-student learning for unsupervised domain adaptation
US10937438B2 (en) 2018-03-29 2021-03-02 Ford Global Technologies, Llc Neural network generative modeling to transform speech utterances and augment training data
US10410120B1 (en) 2019-01-25 2019-09-10 StradVision, Inc. Learning method and testing method of object detector to be used for surveillance based on R-CNN capable of converting modes according to aspect ratios or scales of objects, and learning device and testing device using the same
US10402977B1 (en) 2019-01-25 2019-09-03 StradVision, Inc. Learning method and learning device for improving segmentation performance in road obstacle detection required to satisfy level 4 and level 5 of autonomous vehicles using laplacian pyramid network and testing method and testing device using the same
US10628688B1 (en) * 2019-01-30 2020-04-21 Stadvision, Inc. Learning method and learning device, and testing method and testing device for detecting parking spaces by using point regression results and relationship between points to thereby provide an auto-parking system
US11132992B2 (en) * 2019-05-05 2021-09-28 Microsoft Technology Licensing, Llc On-device custom wake word detection
WO2021069627A1 (en) 2019-10-10 2021-04-15 Bayer Aktiengesellschaft Formulation of insecticides comprising propylene carbonate
CN110738263B (zh) * 2019-10-17 2020-12-29 腾讯科技(深圳)有限公司 一种图像识别模型训练的方法、图像识别的方法及装置
US11748629B2 (en) * 2020-01-21 2023-09-05 Moxa Inc. Device and method of handling anomaly detection

Also Published As

Publication number Publication date
JP2023509234A (ja) 2023-03-07
US20210280170A1 (en) 2021-09-09
EP4088276A1 (en) 2022-11-16
US11929060B2 (en) 2024-03-12
JP7359969B2 (ja) 2023-10-11
WO2021178108A1 (en) 2021-09-10
CN115210809A (zh) 2022-10-18

Similar Documents

Publication Publication Date Title
US11605368B2 (en) Speech recognition using unspoken text and speech synthesis
JP7359969B2 (ja) ストリーミングシーケンスモデルの一貫性予測
CN118043885A (zh) 用于半监督语音识别的对比孪生网络
US20220310065A1 (en) Supervised and Unsupervised Training with Contrastive Loss Over Sequences
JP2023546930A (ja) 言語間音声合成を改良するための音声認識の使用
US20230317059A1 (en) Alignment Prediction to Inject Text into Automatic Speech Recognition Training
KR20240051176A (ko) 스피치 합성 기반 모델 적응을 통한 스피치 인식 개선하기
WO2022086640A1 (en) Fast emit low-latency streaming asr with sequence-level emission regularization
US20230298565A1 (en) Using Non-Parallel Voice Conversion for Speech Conversion Models
US20240013777A1 (en) Unsupervised Data Selection via Discrete Speech Representation for Automatic Speech Recognition
US20230017892A1 (en) Injecting Text in Self-Supervised Speech Pre-training
US20230013587A1 (en) Advancing the Use of Text and Speech in ASR Pretraining With Consistency and Contrastive Losses
US20220310061A1 (en) Regularizing Word Segmentation
CN117597729A (zh) 推进文本和语音在具有一致性和对比损失的asr预训练中的使用

Legal Events

Date Code Title Description
A201 Request for examination