KR20230073297A - 트랜스포머-트랜스듀서: 스트리밍 및 비스트리밍 음성 인식을 통합하는 하나의 모델 - Google Patents

트랜스포머-트랜스듀서: 스트리밍 및 비스트리밍 음성 인식을 통합하는 하나의 모델 Download PDF

Info

Publication number
KR20230073297A
KR20230073297A KR1020237013642A KR20237013642A KR20230073297A KR 20230073297 A KR20230073297 A KR 20230073297A KR 1020237013642 A KR1020237013642 A KR 1020237013642A KR 20237013642 A KR20237013642 A KR 20237013642A KR 20230073297 A KR20230073297 A KR 20230073297A
Authority
KR
South Korea
Prior art keywords
transformer
audio
speech recognition
latency
layer
Prior art date
Application number
KR1020237013642A
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 KR20230073297A publication Critical patent/KR20230073297A/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/26Speech to text systems
    • 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
    • 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
    • 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
    • G10L15/00Speech recognition
    • G10L15/06Creation of reference templates; Training of speech recognition systems, e.g. adaptation to the characteristics of the speaker's voice
    • G10L15/063Training
    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10LSPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
    • G10L15/00Speech recognition
    • G10L15/08Speech classification or search
    • 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/22Procedures used during a speech recognition process, e.g. man-machine dialogue
    • 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/28Constructional details of speech recognition systems
    • G10L15/30Distributed recognition, e.g. in client-server systems, for mobile phones or network applications

Landscapes

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

Abstract

트랜스포머-트랜스듀서 모델(200)은 오디오 인코더(300), 레이블 인코더(220) 및 공동 네트워크(230)를 포함한다. 오디오 인코더는 음향 프레임(110)의 시퀀스를 수신하고, 복수의 시간 단계 각각에서 각각의 음향 프레임에 대한 고차 특징 표현을 생성한다. 레이블 인코더는 소프트맥스 계층(240)에 의해 출력된 비-공백(non-blank) 심볼의 시퀀스를 수신하고, 복수의 시간 단계 각각에서 밀집 표현을 생성한다. 공동 네트워크는 복수의 시간 단계 각각에서 고차 특징 표현 및 밀집 표현을 수신하고, 가능한 음성 인식 가설에 대한 확률 분포를 생성한다. 모델의 오디오 인코더 제로 예측(look ahead) 오디오 컨텍스트로 트레이닝된 트랜스포머 계층(400)의 초기 스택(310)과 가변 예측 오디오 컨텍스트로 트레이닝된 트랜스포머 계층(400)의 최종 스택(320)을 갖는 신경망을 더 포함한다.

Description

트랜스포머-트랜스듀서: 스트리밍 및 비스트리밍 음성 인식을 통합하는 하나의 모델
본 개시는 스트리밍 및 비스트리밍 음성 인식을 위한 통합 모델을 사용하는 것에 관한 것이다.
자동 음성 인식(ASR)은 오디오 입력을 취하여 이를 텍스트로 전사하는 프로세스로 모바일 디바이스 및 기타 디바이스에서 사용되는 중요한 기술이었다. 일반적으로, ASR은 오디오 입력(예를 들어, 음성 발언)을 받아 오디오 입력을 텍스트로 전사함으로써 사람이 말한 내용의 정확한 전사를 제공하려고 시도한다. 최신 ASR 모델은 심층 신경망의 지속적인 개발에 기초하여 정확도(예를 들어, 낮은 단어 오류율(WER))과 레이턴시(예를 들어, 사용자 말하기와 전사 사이의 지연) 모두에서 지속적으로 개선되고 있다. 오늘날 ASR 시스템을 사용하는 경우 여기에는 ASR 시스템이 실시간에 해당하거나 실시간보다 더 빠르면서도 정확한 스트리밍 방식으로 발언을 디코딩해야 한다는 요구가 있다. 하지만, 심층 학습 기반 ASR 모델을 개발할 때 한 가지 과제는 스트리밍 모델이 레이턴시는 짧지만 정확하지 않을 수 있다는 점이다. 반대로, 비스트리밍 모델은 레이턴시는 길지만 일반적으로 더 높은 정확도를 제공한다.
본 발명의 일 양태는 스트리밍 및 비스트리밍 음성 인식을 통합하기 위한 단일 트랜스포머-트랜스듀서 모델을 제공한다. 단일 트랜스포머-트랜스듀서 모델은 오디오 인코더, 레이블 인코더 및 공동(joint) 네트워크를 포함한다. 오디오 인코더는 입력으로서 음향 프레임의 시퀀스를 수신하고, 복수의 시간 단계 각각에서, 음향 프레임의 시퀀스의 대응하는 음향 프레임에 대한 고차 특징 표현을 생성하도록 구성된다. 레이블 인코더는 입력으로서 최종 소프트맥스 계층에 의해 출력된 비-공백 심볼의 시퀀스를 수신하고, 복수의 시간 단계 각각에서, 밀집 표현을 생성하도록 구성된다. 공동 네트워크는 입력으로서 복수의 시간 단계 각각에서 오디오 인코더에 의해 생성된 고차 특징 표현 및 레이블 인코더에 의해 생성된 밀집 표현을 수신하고, 복수의 시간 단계 각각에서, 대응하는 시간 단계에서 가능한 음성 인식 가설에 대한 확률 분포를 생성하도록 구성된다. 모델의 오디오 인코더는 복수의 트랜스포머 계층을 갖는 신경망을 더 포함한다. 복수의 트랜스포머 계층은 제로 예측(look ahead) 오디오 컨텍스트로 각각 트레이닝된 트랜스포머 계층의 초기 스택 및 가변 예측 오디오 컨텍스트로 각각 트레이닝된 트랜스포머 계층의 최종 스택을 포함한다.
본 발명의 구현은 다음의 선택적 특징들 중 하나 이상을 포함할 수 있다. 일부 구현에서, 오디오 인코더의 각각의 트랜스포머 계층은 정규화 계층, 상대 위치 인코딩을 사용하는 마스킹된 다중-헤드 어텐션 계층, 잔여 연결, 적층/비적층 계층 및 피드포워드 계층을 포함합니다. 이러한 구현에서, 적층/비적층 계층은 트레이닝 및 추론 동안 단일 트랜스포머-트랜스듀서 모델에 의한 처리 시간을 조정하기 위해 대응하는 트랜스포머 계층의 프레임 레이트를 변경하도록 구성될 수 있다. 일부 예에서, 트랜스포머 계층 초기 스택은 트랜스포머 계층 최종 스택보다 더 많은 트랜스포머 계층을 포함한다. 일부 예에서, 트레이닝 중에, 가변 예측 오디오 컨텍스트는 트랜스포머 계층의 최종 스택에서 각 트랜스포머 계층에 대해 균일하게 샘플링된다.
일부 구현에서, 모델은 제1 예측 오디오 컨텍스트를 사용하여 인코딩된 오디오 데이터로부터 입력 발언에 대한 대응하는 음성 인식 결과를 디코딩하도록 구성된 저-레이턴시 디코딩 분기; 및 제2 예측 오디오 컨텍스트를 사용하여 인코딩된 오디오 데이터로부터 입력 발언에 대한 대응하는 음성 인식 결과(120)를 디코딩하도록 구성된 고-레이턴시 디코딩 분기를 더 포함한다. 여기서, 제2 예측 오디오 컨텍스트는 제1 예측 오디오 컨텍스트보다 더 긴 지속 시간(duration)의 예측 오디오를 포함한다. 이러한 구현에서, 트랜스포머 계층의 초기 스택은 저-레이턴시 디코딩 분기 및 고-레이턴시 디코딩 분기 모두에 의해 사용하기 위한 공유(shared) 활성화를 계산하기 위해 제로 예측 오디오 컨텍스트를 적용할 수 있고, 트랜스포머 계층의 최종 스택은 고-레이턴시 디코딩 분기가 아닌 저-레이턴시 디코딩 분기에 의해 사용하기 위한 저-레이턴시 활성화를 계산하기 위해 제1 예측 오디오 컨텍스트를 적용할 수 있으며, 트랜스포머 계층의 최종 스택은 저-레이턴시 디코딩 분기가 아닌 고-레이턴시 디코딩 분기에 의해 사용하기 위한 고-레이턴시 활성화를 계산하기 위해 제2 예측 오디오 컨텍스트를 적용할 수 있다. 일부 추가 구현에서, 제1 예측 오디오 컨텍스트는 제로 예측 오디오 컨텍스트를 포함한다.
일부 예에서, 저-레이턴시 디코딩 분기 및 고-레이턴시 디코딩 분기는 입력 발언에 대한 대응하는 음성 인식 결과를 디코딩하기 위해 병렬로 실행된다. 이러한 예에서, 입력 발언에 대한 고-레이턴시 디코딩 분기에 의해 디코딩된 대응하는 음성 인식 결과는 입력 발언에 대한 저-레이턴시 디코딩 분기에 의해 디코딩된 상기 대응하는 음성 인식 결과로부터 제2 예측 오디오 컨텍스트와 제1 예측 오디오 컨텍스트 사이의 차이에 기초한 지속 시간만큼 지연된다. 추가적으로 또는 대안적으로, 저-레이턴시 디코딩 분기는 입력 발언이 단일 트랜스포머-트랜스듀서 모델에 의해 수신될 때 부분 음성 인식 결과로서 상기 대응하는 음성 인식 결과(120)를 스트리밍하도록 구성될 수 있고, 고-레이턴시 디코딩 분기는 단일 트랜스포머-트랜스듀서 모델이 완전한 입력 발언을 수신한 후에 최종 전사로서 상기 대응하는 음성 인식 결과를 출력하도록 구성될 수 있다.
일부 구현에서, 입력 발언은 애플리케이션을 지향하고, 입력 발언에 대한 대응하는 음성 인식 결과를 디코딩하기 위해 고-레이턴시 디코딩 분기에 의해 사용되는 제2 예측 오디오 컨텍스트의 지속 시간은 입력 발언이 지향하는 애플리케이션의 유형에 기초한다. 일부 예에서, 레이블 인코더는 복수의 트랜스포머 계층을 갖는 신경망을 포함한다. 대안적으로, 레이블 인코더는 바이그램(bigram) 임베딩 룩업 디코더 모델을 포함할 수 있다. 단일 트랜스포머-트랜스듀서 모델은 클라이언트 디바이스 또는 서버 기반 시스템에서 실행할 수 있다.
본 발명의 다른 양태는 데이터 처리 하드웨어에서 실행될 때 데이터 처리 하드웨어로 하여금 트랜스포머-트랜스듀서 모델에 대한 입력으로서, 음성 발언에 해당하는 오디오 데이터를 수신하는 단계, 및 트랜스포머-트랜스듀서 모델을 사용하여, 오디오 데이터에 대해 스트리밍 음성 인식 및 비스트리밍 음성 인식을 병렬로 수행하는 단계를 포함하는 동작들을 수행하게 하는 컴퓨터 구현 방법을 제공한다. 트랜스포머-트랜스듀서 모델의 저-레이턴시 브랜치에 대해, 동작들은 또한 음성 발언에 해당하는 오디오 데이터를 수신하는 동안, 제1 예측 오디오 컨텍스트를 사용하여 오디오 데이터를 인코딩하는 단계와, 제1 예측 오디오 컨텍스트를 사용하여 인코딩된 오디오 데이터를 입력 발언에 대한 부분 음성 인식 결과로 디코딩하는 단계와, 그리고 입력 발언에 대한 부분 음성 인식 결과를 스트리밍하는 단계를 포함한다. 트랜스포머-트랜스듀서 모델의 고-레이턴시 브랜치에 대해, 동작들은 음성 발언에 해당하는 오디오 데이터를 수신한 후, 제2 예측 오디오 컨텍스트를 사용하여 오디오 데이터를 인코딩하는 단계와, 제2 예측 오디오 컨텍스트를 사용하여 인코딩된 오디오 데이터를 입력 발언에 대한 최종 음성 인식 결과로 디코딩하는 단계와, 그리고 스트리밍된 부분 음성 인식 결과를 최종 음성 인식 결과로 대체하는 단계를 포함한다.
이 양태는 다음의 선택적 특징 중 하나 이상을 포함할 수 있다. 일부 구현에서, 동작들은 복수의 트랜스포머 계층을 갖는 신경망을 포함하는 오디오 인코더를 더 포함한다. 복수의 트랜스포머 계층은 제로 예측 오디오 컨텍스트로 각각 트레이닝된 트랜스포머 계층의 초기 스택과, 그리고 가변 예측 오디오 컨텍스트로 각각 트레이닝된 트랜스포머 계층의 최종 스택을 포함한다. 각각의 트랜스포머 계층은 정규화 계층, 상대 위치 인코딩을 사용하는 마스킹된 다중-헤드 어텐션 계층, 잔여 연결, 적층/비적층 계층, 및 피드포워드 계층을 포함할 수 있다. 여기서, 적층/비적층 계층은 트레이닝 및 추론 동안 단일 트랜스포머-트랜스듀서 모델에 의한 처리 시간을 조정하기 위해 상기 대응하는 트랜스포머 계층의 프레임 레이트를 변경하도록 구성될 수 있다.
일부 예에서, 트랜스포머 계층의 초기 스택은 트랜스포머 계층의 최종 스택보다 더 많은 트랜스포머 계층을 포함한다. 일부 구현에서, 트레이닝 동안, 가변 예측 오디오 컨텍스트는 트랜스포머 계층의 최종 스택에서 각각의 트랜스포머 계층에 대해 균일하게 샘플링된다. 일부 예에서, 트랜스포머 계층의 초기 스택은 저-레이턴시 분기 및 고-레이턴시 분기 모두에 의해 사용하기 위한 공유 활성화를 계산하기 위해 제로 예측 오디오 컨텍스트를 적용하고, 트랜스포머 계층의 최종 스택은 고-레이턴시 분기가 아닌 저-레이턴시 분기에 의해 사용하기 위한 저-레이턴시 활성화를 계산하기 위해 제1 예측 오디오 컨텍스트를 적용하고, 그리고 트랜스포머 계층의 최종 스택은 저-레이턴시 분기가 아닌 고-레이턴시 분기에 의해 사용하기 위한 고-레이턴시 활성화를 계산하기 위해 제2 예측 오디오 컨텍스트를 적용한다. 제1 예측 오디오 컨텍스트는 제로 예측 오디오 컨텍스트를 포함할 수 있다. 일부 구현에서, 입력 발언에 대한 고-레이턴시 디코딩 분기에 의해 디코딩된 최종 음성 인식 결과는 음성 발언에 대한 저-레이턴시 디코딩 분기에 의해 디코딩된 부분 음성 인식 결과로부터 제2 예측 오디오 컨텍스트와 제1 예측 오디오 컨텍스트 사이의 차이에 기초한 지속 시간만큼 지연된다.
일부 예에서, 동작들은 음성 발언이 지향하는 애플리케이션의 유형을 나타내는 애플리케이션 식별자를 수신하는 단계와, 그리고 애플리케이션 식별자에 기초하여 제2 예측 오디오 컨텍스트의 지속 시간을 설정하는 단계를 더 포함한다. 일부 구현에서, 트랜스포머-트랜스듀서 모델은 복수의 트랜스포머 계층을 갖는 신경망을 포함하는 레이블 인코더를 포함한다. 일부 예에서, 트랜스포머-트랜스듀서 모델은 바이그램 임베딩 룩업 디코더 모델을 포함하는 레이블 인코더를 포함한다. 데이터 처리 하드웨어는 트랜스포머-트랜스듀서 모델에서 실행되고, 클라이언트 디바이스 또는 서버 기반 시스템에 상주한다.
본 발명의 하나 이상의 구현에 대한 세부 사항은 첨부된 도면 및 아래의 설명에서 설명된다. 다른 양태, 특징 및 이점은 설명, 도면 및 청구범위로부터 명백할 것이다.
도 1은 스트리밍 및 비스트리밍 음성 인식을 수행하기 위해 단일 트랜스포머-트랜스듀서 모델을 구현하는 음성 환경의 개략도이다.
도 2는 예시적인 트랜스듀서-트랜스포머 모델 아키텍처의 개략도이다.
도 3a는 복수의 트랜스포머 계층을 포함하는 오디오 인코더의 개략도이다.
도 3b는 낮은 및 높은 레이턴시의 병렬 디코딩 분기를 제공하기 위해 y-아키텍처로 배열된 오디오 인코더의 개략도이다.
도 4는 예시적인 트랜스포머 아키텍처의 개략도이다.
도 5는 도 1의 트랜스포머-트랜스듀서 모델을 사용하여 스트리밍 및 비스트리밍 음성 인식을 통합하는 방법에 대한 예시적인 동작 배열의 흐름도이다.
도 6은 본 명세서에 기술된 시스템 및 방법을 구현하는데 사용될 수 있는 예시적인 컴퓨팅 디바이스의 개략도이다.
다양한 도면에서 동일한 참조 부호는 동일한 요소를 나타낸다.
자동 음성 인식(ASR) 시스템은 품질/정확성(예를 들어, 낮은 단어 오류율(WER))뿐만 아니라 낮은 레이턴시(예를 들어, 사용자가 말하는 것과 전사가 나타나는 것 사이의 짧은 지연)을 제공하는데 중점을 둔다. 최근, E2E(end-to-end) ASR 모델은 정확도와 레이턴시에서 최첨단 성능을 달성하여 인기를 얻고 있다. 별도의 음향, 발음 및 언어 모델을 포함하는 기존 하이브리드 ASR 시스템과 달리, E2E 모델은 시퀀스-투-시퀀스 접근 방식을 적용하여 트레이닝 데이터(예를 들어, 발언-전사 쌍)에서 종단간 트레이닝되는 단일 신경망에서 음향 및 언어 모델링을 공동으로 학습한다. 여기서, E2E 모델은 아키텍처가 완전히 신경망으로 구성된 모델을 지칭한다. 전체 신경망은 외부 및/또는 수동으로 설계된 구성 요소(예를 들어, 유한 상태 트랜스듀서, 어휘집 또는 텍스트 정규화 모듈) 없이 작동한다. 추가적으로, E2E 모델을 트레이닝할 때, 이러한 모델은 일반적으로 의사 결정 트리의 부트스트래핑 또는 별도의 시스템으로부터의 시간 정렬이 필요하지 않다.
시퀀스 대 시퀀스 모델의 예는 "어텐션(주의) 기반" 모델 및 "LAS(listen-attend-spell)" 모델을 포함한다. LAS 모델은 리스너(listener) 구성 요소, 어텐더(attender) 구성 요소 및 스펠러(speller) 구성 요소를 사용하여 음성 발언을 문자로 전사한다. 여기서, 리스너는 오디오 입력(예를 들어, 음성 입력의 시간-주파수 표현)을 수신하고 그 오디오 입력을 더 높은 레벨의 특징(feature) 표현에 매핑하는 순환 신경망(RNN) 인코더이다. 어텐더는 입력 특징과 예측된 하위 단어 단위(예를 들어, 자소 또는 단어 조각) 사이의 정렬을 학습하기 위해 상위 레벨 특징에 참석한다. 스펠러는 가정된 단어 세트에 대한 확률 분포를 생성함으로써 입력으로부터 문자 시퀀스를 생성하는 어텐션 기반 RNN 디코더이다. LAS 모델과 같은 어텐션 기반 모델은 일반적으로 전체 시퀀스(예를 들어, 오디오 파형)를 처리하고 이를 기반으로 출력(예를 들어, 문장)을 생성하기 전에 전체 문장에 대한 오디오 컨텍스트를 사용하므로, 이러한 모델은 비스트리밍 전사로 출력을 제공한다.
더욱이, 오늘날 ASR 시스템을 사용하는 경우 그 ASR 시스템에는 사용자가 말할 때 발언에 대한 설명을 실시간으로 또는 실시간보다 더 빠르게 디스플레이하는 스트리밍 방식으로 발언을 디코딩하기 위한 요구가 있을 수 있다. 예시를 위해, ASR 시스템이 직접적인 사용자 상호작용을 경험하는 사용자 컴퓨팅 디바이스(예를 들어 휴대폰)에 디스플레이될 때, 사용자 디바이스에서 실행되고 ASR 시스템을 사용하는 애플리케이션(예를 들어, 디지털 어시스턴트 애플리케이션)은 단어, 단어 조각 및/또는 개별 문자가 말하자마자 화면에 나타나도록 음성 인식이 스트리밍되도록 요구할 수 있다. 추가적으로, 사용자 디바이스의 사용자는 또한 레이턴시에 대한 허용치(tolerance)가 낮을 가능성이 있다. 예를 들어, 사용자가 디지털 어시스턴트에게 캘린더 애플리케이션에서 다가오는 약속에 대한 세부사항을 검색하도록 요청하는 쿼리(질의)를 말할 때, 사용자는 디지털 어시스턴트가 가능한 빨리 검색된 세부사항을 전달하는 응답을 제공하기를 원한다. 이러한 낮은 허용치로 인해, ASR 시스템은 사용자 경험에 해로운 영향을 미칠 수 있는 레이턴시(대기 시간) 및 부정확성의 영향을 최소화하는 방식으로 사용자 디바이스에서 실행되도록 노력한다. 그러나, 출력 텍스트를 생성하기 전에 오디오의 전체 입력 시퀀스를 검토하여 작동하는 LAS 모델과 같은 어텐션 기반 시퀀스-시퀀스 모델은 입력이 수신될 때 스트리밍 출력을 허용하지 않는다. 이러한 결함으로 인해, 레이턴시에 민감하거나 실시간 음성 전사가 필요한 음성 애플리케이션에 어텐션 기반 시퀀스-시퀀스 모델을 배포하면 문제가 발생할 수 있다. 이로 인해 LAS 모델만으로는 레이턴시에 민감한 애플리케이션 및/또는 사용자가 말할 때 실시간으로 스트리밍 전사 기능을 제공하는 애플리케이션에 이상적인 모델이 아니다.
순환 신경망 트랜스듀서(RNN-T)로 알려진 시퀀스-투-시퀀스 모델의 또 다른 형태는 어텐션 메커니즘을 사용하지 않으며, 출력(예를 들어, 문장)을 생성하기 위해 일반적으로 전체 시퀀스(예를 들어, 오디오 파형)를 처리해야 하는 다른 시퀀스-투-시퀀스 모델과 달리, RNN-T는 지속적으로 입력 샘플을 처리하고 실시간 통신에 특히 매력적인 특징인 출력 심볼을 스트리밍한다. 예를 들어, RNN-T를 사용한 음성 인식은 문자를 음성으로 하나씩 출력할 수 있다. 여기서, RNN-T는 다음 심볼을 예측하기 위해 모델에 의해 예측된 심볼을 자체로 다시 공급하는 피드백 루프를 사용한다. RNN-T의 디코딩에는 큰 디코더 그래프 대신 단일 신경망을 통한 빔 검색이 포함되기 때문에, RNN-T는 서버 기반 음성 인식 모델 크기의 일부로 확장될 수 있다. 크기가 줄어듦에 따라, RNN-T는 완전히 온-디바이스에 배포될 수 있고 오프라인(즉, 네트워크 연결 없이)으로 실행될 수 있으므로 통신 네트워크의 불안정성 문제를 피할 수 있다.
인식 결과를 예측할 때 예측(look ahead) 오디오 컨텍스트(예를 들어, 오른쪽 컨텍스트)를 적용할 수 없기 때문에, RNN-T 모델은 여전히 품질(예를 들어, 종종 단어 오류율(WER)로 측정되는 음성 인식 정확도) 측면에서 대규모 최신 기존 모델(예를 들어, 별도의 AM, PM 및 LM이 있는 서버 기반 모델) 및 어텐션 기반 시퀀스-시퀀스 모델(예를 들어, LAS 모델)보다 뒤떨어져 있다. 이러한 음성 인식 정확도의 뒤떨어짐을 보상하기 위해, 최근에는 RNN-T 네트워크의 제1 패스(first-pass) 구성요소와 그 제1 패스 동안 생성된 인식 결과를 재스코어링하기 위한 LAS 네트워크의 제2 패스 구성요소를 포함하는 2-패스 인식 시스템을 개발하는데 중점을 두고 있다. 이 설계를 통해, 2-패스 모델은 낮은 레이턴시를 갖는 RNN-T 모델의 스트리밍 특성을 활용하는 동시에 LAS 네트워크를 통합하는 제2 패스를 통해 RNN-T 모델의 정확도를 향상시킨다. LAS 네트워크는 RNN-T 모델과 비교했을 때 레이턴시가 증가하지만, 레이턴시 증가는 상당히 미미한 것으로 간주되며 온-디바이스 동작에 대한 레이턴시 제약 조건을 준수한다.
일반적으로 대화형 쿼리(예를 들어, 타이머 설정해 줘", "우유 사라고 나에게 리마인드해 줘" 등)를 인식하는 레이턴시에 민감한 애플리케이션뿐만 아니라 스트리밍 전사 기능을 제공하는데 적합하지만, LSTM(Long Short-Term Memory)을 활용하여 시퀀스 인코더를 제공하는 RNN-T 모델은 오디오 컨텍스트를 예측(look ahead, 예견)하는 능력이 제한되어 있으므로 긴 형식의 음성을 인식할 때 단어를 삭제하는 경향이 있다. 본 명세서에서 사용되는 바와 같이, 긴 형식의 음성에는 사용자가 이메일, 메시지, 문서, 소셜 미디어 게시물 또는 기타 컨텐츠를 구술하기 위해 말하는 구술(dictation) 기반 쿼리와 같은 비대화형 쿼리가 포함된다.
종종, 사용자는 대화형 쿼리를 인식하기 위해 RNN-T 모델과 같은 스트리밍 음성 인식 모델을 사용하고 비대화형 쿼리를 인식하기 위해 별도의 비스트리밍 음성 인식 모델을 사용할 것이다. 일반적으로, 사용자가 자신의 음성을 지향하고 있는 애플리케이션은 음성 인식에 사용할 스트리밍 또는 비스트리밍 음성 인식 모델을 식별하는데 사용될 수 있다. 애플리케이션 및/또는 쿼리 유형에 따라 음성 인식을 수행하기 위해 서로 다른 별도의 음성 인식 모델을 요구하는 것은 계산 비용이 많이 들고 각 모델을 사용자 디바이스에 저장하기 위한 충분한 메모리 용량이 필요하다. 모델 중 하나가 원격 서버에서 실행 가능하더라도, 그 원격 서버에 연결하기 위한 추가 비용과 대역폭 제약은 음성 인식 성능과 궁극적으로 사용자 경험에 영향을 미칠 수 있다.
본 명세서에서의 구현은 스트리밍 및 비스트리밍 음성 인식 작업을 통합하기 위한 단일 트랜스포머-트랜스듀서(T-T) 모델에 관한 것이다. 명백해지는 바와 같이, T-T 모델은 앞서 언급한 RNN-T 모델의 단점을 겪지 않고 스트리밍 전사 기능, 낮은 레이턴시 음성 인식, 작은 계산 풋프린트 및 낮은 메모리 요구 사항과 같은 RNN-T 모델의 긍정적인 속성을 제공할 수 있다. 즉, T-T 모델은 입력 발언에 대해 음성 인식을 수행할 때 충분한 예측(look ahead) 오디오 컨텍스트의 지속 시간이 적용될 수 있도록 가변적인 예측 오디오 컨텍스트에 대해 트레이닝될 수 있다. 추가적으로, T-T 모델은 y-아키텍처를 구현하여 입력 발언에 대한 스트리밍 부분 음성 인식 결과를 디코딩하기 위한 저(low)레이턴시 분기(branch) 및 동일한 입력 발언에 대한 최종 음성 인식 결과를 디코딩하기 위한 고(high)레이턴시 분기를 병렬로 제공할 수 있다.
도 1은 음성 환경(100)의 예이다. 음성 환경(100)에서, 사용자 디바이스(10)와 같은 컴퓨팅 디바이스와 상호 작용하는 사용자(104) 방식은 음성 입력을 통한 것일 수 있다. 사용자 디바이스(10)(일반적으로 디바이스(10)라고 지칭됨)는 음성 환경(100) 내의 하나 이상의 사용자(104)로부터 사운드(예를 들어, 스트리밍 오디오 데이터)를 캡처하도록 구성된다. 여기서, 스트리밍 오디오 데이터는 디바이스(10)에 대한 가청 쿼리, 커맨드 또는 디바이스(10)에 의해 캡처된 가청 통신으로서 기능하는 사용자(104)에 의한 음성 발언(106)을 지칭할 수 있다. 디바이스(10)의 음성 지원 시스템은 쿼리에 응답하고 및/또는 커맨드가 하나 이상의 다운스트림 애플리케이션에 의해 수행/이행되도록 함으로써 쿼리 또는 커맨드를 처리할 수 있다.
사용자 디바이스(10)는 사용자(104)와 연관되고 오디오 데이터를 수신할 수 있는 임의의 컴퓨팅 디바이스에 해당할 수 있다. 사용자 디바이스(10)의 일부 예는 모바일 디바이스(예를 들어, 휴대폰, 태블릿, 노트북 등), 컴퓨터, 웨어러블 디바이스(예를 들어, 스마트 워치), 스마트 가전, 사물 인터넷(IoT) 디바이스, 차량용 인포테인먼트 시스템, 스마트 디스플레이, 스마트 스피커 등을 포함하지만 이에 한정되지 않는다. 사용자 디바이스(10)는 데이터 처리 하드웨어(12) 및 데이터 처리 하드웨어(12)와 통신하는 메모리 하드웨어(14)를 포함하며, 데이터 처리 하드웨어(12)에 의해 실행될 때 데이터 처리 하드웨어(12)로 하여금 하나 이상의 동작을 수행하게 하는 명령들을 저장한다. 사용자 디바이스(10)는 음성 환경(100) 내의 음성 발언(106)을 캡처하여 전기 신호로 변환하기 위한 오디오 캡처 디바이스(예를 들어, 마이크로폰)(16, 16a) 및 (예를 들어, 디바이스(10)로부터의 출력 오디오 데이터로서) 가청 오디오 신호를 통신하기 위한 음성 출력 디바이스(예를 들어, 스피커)(16, 16b)를 구비한 오디오 시스템(16)을 포함한다. 도시된 예에서 사용자 디바이스(10)는 단일 오디오 캡처 디바이스(16a)를 구현하지만, 사용자 디바이스(10)는 본 발명의 범위를 벗어나지 않고 오디오 캡처 디바이스(16a)의 어레이를 구현할 수 있으며, 따라서 어레이에 있는 하나 이상의 캡처 디바이스(16a)는 물리적으로 사용자 디바이스(10)에 상주하지 않을 수 있지만 오디오 시스템(16)과 통신할 수 있다.
음성 환경(100)에서, T-T(transformer-transducer) 모델(200)을 구현하는 자동 음성 인식(ASR) 시스템(118)은 사용자(104)의 사용자 디바이스(10) 및/또는 네트워크를 통해 사용자 디바이스(10)와 통신하는 원격 컴퓨팅 디바이스(60)(예를 들어, 클라우드 컴퓨팅 환경에서 실행되는 분산 시스템의 하나 이상의 원격 서버)에 상주한다. 사용자 디바이스(10) 및/또는 원격 컴퓨팅 디바이스(60)는 또한 사용자(104)에 의해 발화되고 오디오 캡처 디바이스(16a)에 의해 캡처된 발언(106)을 수신하고, 그 발언(106)을 ASR 시스템(118)에 의해 처리될 수 있는 입력 음향 프레임(110)과 관련된 대응 디지털 포맷으로 변환하도록 구성된 오디오 서브시스템(108)을 포함한다. 도시된 예에서, 사용자는 개별 발언(106)을 말하고 오디오 서브시스템(108)은 ASR 시스템(118)으로의 입력을 위해 그 발언(106)을 대응하는 오디오 데이터(예를 들어, 음향 프레임)(110)로 변환한다. 그 후, T-T 모델(200)은 발언(106)에 대응하는 오디오 데이터(110)를 입력으로 수신하고, 발언(106)의 대응하는 전사(120)(예를 들어, 인식 결과/가설)를 출력으로서 생성/예측한다. 아래에 자세히 설명된 바와 같이, T-T 모델(200)은 가변 예측(look ahead) 오디오 컨텍스트로 트레이닝되어, T-T 모델(200)이 추론 동안, 발언(106)에 의해 지정된 쿼리가 레이턴시에 얼마나 민감한지 및/또는 사용자(106)가 레이턴시에 대해 얼마나 많은 허용치를 갖는지에 따라 음성 인식을 수행할 때 예측 오디오 컨텍스트의 상이한 지속 시간(durations)을 설정하도록 허용한다. 예를 들어, 사용자 디바이스(10)에서 실행되는 디지털 어시스턴트 애플리케이션(50)은 단어, 단어 조각 및/또는 개별 문자가 말하자마자 화면에 나타나도록 스트리밍되는 음성 인식을 요구할 수 있다. 추가적으로, 사용자 디바이스(10)의 사용자(104)는 수행할 디지털 어시스턴트 애플리케이션(50)에 대한 쿼리를 발행할 때 레이턴시에 대한 낮은 허용치를 가질 가능성이 있다. 음성 인식 레이턴시를 최소화하는 것이 선호되는 이러한 시나리오에서, T-T 모델(200)은 사용자(104)가 발언(106)을 말함에 따라 실시간으로 스트리밍 전사 기능을 제공하기 위해 0 또는 최소 예측 오디오 컨텍스트("오른쪽 컨텍스트"라고도 지칭됨)를 적용할 수 있다.
한편, 사용자가 음성 인식 레이턴시에 대해 더 높은 허용치를 갖고 및/또는 인식될 발언(106)이 긴 형식의 음성과 연관되는 경우, 동일한 T-T 모델(200)은 정확한 전사(120)를 제공하기에 충분한 예측 오디오 컨텍스트의 지속 시간(duration)을 적용할 수 있지만, 그 예측 오디오 컨텍스트의 지속 시간에 기초하여 레이턴시 증가를 초래할 수 있다. 따라서, ASR 시스템(118)은 작업(task)별로 별도의 ASR 모델을 활용할 필요 없이 스트리밍 및 비스트리밍 전사 기능을 모두 제공하기 위해 다수의 서로 다른 음성 인식 작업을 위해 단일 T-T 모델(200)만을 구현할 수 있다.
일부 구현에서, T-T 모델(200)은 오디오 데이터(110)에 대해 스트리밍 음성 인식 및 비스트리밍 음성 인식 모두를 병렬로 수행한다. 예를 들어, 도시된 예에서, T-T 모델(200)은 병렬로, 부분 음성 인식 결과(120, 120a)를 생성하기 위해 제1 디코딩 분기(즉, 저-레이턴시 분기(321)(도 3b))를 사용하여 오디오 데이터(110)에 대한 스트리밍 음성 인식, 및 최종 음성 인식 결과(120, 120b)를 생성하기 위해 제2 디코딩 분기(즉, 고-레이턴시 분기(322)(도 3B))를 사용하여 동일한 오디오 데이터(110)에 대한 비스트리밍 음성 인식을 수행한다. 특히, 제1 디코딩 분기는 부분 음성 인식 결과(120a)를 생성하기 위해 0(또는 약 240 밀리초)으로 설정될 수 있는 제1 예측 오디오 컨텍스트를 사용하는 반면, 제2 디코딩 분기는 최종 음성 인식 결과(120b)를 생성하기 위해 제1 예측 오디오 컨텍스트보다 더 긴 지속 시간의 제2 예측 오디오 컨텍스트를 사용할 수 있다. 따라서, 입력 발언(106)에 대한 최종 음성 인식 결과(120b)는 제2 예측 오디오 컨텍스트와 제1 예측 오디오 컨텍스트 간의 차이에 기초한 지속 시간만큼 입력 발언에 대한 부분 음성 인식 결과(120a)로부터 지연될 수 있다.
사용자 디바이스(10) 및/또는 원격 컴퓨팅 디바이스(60)는 또한 사용자 디바이스(10)의 사용자(104)에게 발언(106)의 전사(120)의 표현을 제시하도록 구성된 사용자 인터페이스 생성기(107)를 실행한다. 아래에 자세히 설명된 바와 같이, 사용자 인터페이스 생성기(107)는 시간 1 동안 부분 음성 인식 결과(120a)를 스트리밍 방식으로 디스플레이하고, 이어서 시간 2 동안 최종 음성 인식 결과(120b)를 디스플레이할 수 있다. 일부 구성에서, ASR 시스템(118)으로부터의 전사(120) 출력은 예를 들어 사용자 디바이스(10) 또는 원격 컴퓨팅 디바이스(60)에서 실행되는 자연어 이해(NLU) 모듈에 의해 처리되어 발언(106)에 의해 지정된 사용자 커맨드/쿼리를 실행한다. 추가적으로 또는 대안적으로, 텍스트-음성 변환 시스템(미도시)(예를 들어, 사용자 디바이스(10) 또는 원격 컴퓨팅 디바이스(60)의 임의의 조합에서 실행됨)은 전사를 사용자 디바이스(10) 및/또는 다른 디바이스에 의한 가청 출력을 위한 합성 음성으로 변환할 수 있다 .
도시된 예에서, 사용자(104)는 ASR 시스템(118)을 사용하는 사용자 디바이스(10)의 프로그램 또는 애플리케이션(50)(예를 들어, 디지털 어시스턴트 애플리케이션(50))과 상호작용한다. 예를 들어, 도 1은 디지털 어시스턴트 애플리케이션(50) 및 그 디지털 어시스턴트 애플리케이션(50)과 통신하는 사용자(104)가 사용자 디바이스(10)의 스크린에 디지털 어시스턴트 인터페이스(18)를 디스플레이하여 사용자(10)와 디지털 어시스턴트 애플리케이션(50) 간의 대화를 묘사하는 것을 도시한다. 이 예에서, 사용자(104)는 디지털 어시스턴트 애플리케이션(50)에게 "오늘 밤 콘서트는 몇 시야(What time is the concert tonight)?"라고 묻는다. 사용자(104)로부터의 이 질문은 오디오 캡처 디바이스(16a)에 의해 캡처되고 사용자 디바이스(10)의 오디오 시스템(16)에 의해 처리되는 음성 발언(106)이다. 이 예에서, 오디오 시스템(16)은 음성 발언(106)을 수신하고 이를 ASR 시스템(118)으로의 입력을 위한 음향 프레임(110)으로 변환한다.
이 예를 계속하면, T-T 모델(200)은 사용자(104)가 말함에 따라 발언(106)에 대응하는 음향 프레임(110)을 수신하는 동안, 제1 예측 오디오 컨텍스트를 사용하여 음향 프레임(110)을 인코딩한 다음 그 제1 예측 오디오 컨텍스트를 사용하여 상기 인코딩된 음향 프레임(110)을 부분 음성 인식 결과(120a)로 디코딩한다. 시간 1 동안, 사용자 인터페이스 생성기(107)는 단어, 단어 조각 및/또는 개별 문자가 말해지자마자 화면에 나타나도록 사용자 디바이스(10)의 사용자(104)에게 발언(106)의 부분 음성 인식 결과(120a)의 표현을 스트리밍 방식으로 제시한다. 일부 예에서, 제1 예측 오디오 컨텍스트는 0과 같다.
병렬로 발언(106)에 대응하는 모든 음향 프레임(110)을 수신한 후, T-T 모델(200)은 제2 예측 오디오 컨텍스트를 사용하여 발언(106)에 대응하는 모든 음향 프레임(110)을 인코딩한 다음 제2 예측 오디오 컨텍스트를 사용하여 음향 프레임(110)을 최종 음성 인식 결과(120b)로 디코딩한다. 제2 예측 오디오 컨텍스트의 지속 시간은 1.2초, 2.4초 또는 기타 지속 시간일 수 있다. 일부 예에서, 사용자(104)가 발언(106)의 말하기를 완료했음을 나타내는 종단점(endpoint)과 같은 표시는 T-T 모델(200)이 제2 예측 오디오 컨텍스트를 사용하여 모든 음향 프레임(110)을 인코딩하도록 트리거한다. 시간 2 동안, 사용자 인터페이스 생성기(107)는 디지털 어시스턴트 인터페이스(18)를 통해, 발언(106)의 최종 음성 인식 결과(120b)의 표현을 사용자 디바이스(10)의 사용자(104)에게 제시한다. 일부 구현에서, 사용자 인터페이스 생성기(107)는 부분 음성 인식 결과(120a)의 표현을 최종 음성 인식 결과(120b)의 표현으로 대체한다. 예를 들어, 최종 음성 인식 결과(120b)가 예측 오디오 컨텍스트를 활용하지 않고 생성된 부분 음성 인식 결과(120a)보다 더 정확하다고 추정되므로, 최종적으로 전사(120)로 디스플레이되는 최종 음성 인식 결과(120b)는 부분 음성 인식 결과(120a)에서 잘못 인식되었을 수 있는 임의의 용어를 수정할 수 있다. 이 예에서, T-T 모델(200)에 의해 출력되고 시간 1에서 사용자 디바이스(10)의 스크린 상에 디스플레이되는 스트리밍 부분 음성 인식 결과(120a)는 낮은 레이턴시와 연관되고 그의/그녀의 쿼리가 처리되고 있다는 응답성(responsiveness)을 사용자(104)에게 제공하는 반면, T-T 모델(200)에 의해 출력되고 시간 2에서 스크린 상에 디스플레이되는 최종 음성 인식 결과(120b)는 예측 오디오 컨텍스트를 활용하여 정확성 측면에서 음성 인식 품질을 개선하지만 레이턴시는 증가한다. 그러나, 사용자가 발언(106)을 말할 때 부분 음성 인식 결과(120a)가 디스플레이되기 때문에, 최종 인식 결과를 생성하고 최종적으로 디스플레이하는 것과 관련된 더 높은 레이턴시는 사용자(104)에게 눈에 띄지 않는다.
도 1에 도시된 예에서, 디지털 어시스턴트 애플리케이션(50)은 자연어 처리를 사용하여 사용자(10)에 의해 제기된 질문에 응답할 수 있다. 자연어 처리는 일반적으로 서면(written) 언어(예를 들어, 부분 음성 인식 결과(120a) 및/또는 최종 음성 인식 결과(120b))를 해석하고 서면 언어가 임의의 액션을 촉구(prompt)하는지 여부를 결정하는 프로세스를 지칭한다. 이 예에서, 디지털 어시스턴트 애플리케이션(50)은 자연어 처리를 사용하여 사용자(10)로부터의 질문이 사용자의 스케줄, 특히 사용자의 스케줄 상의 콘서트에 관한 것임을 인식한다. 자연어 처리로 이러한 세부 사항을 인식함으로써, 자동화 어시스턴트는 사용자의 쿼리에 대한 응답(19)을 반환하는데 여기서 응답(19)은 "공연장 문은 오후 6시 30분에 열리고 콘서트는 오후 8시에 시작됩니다"라고 말한다. 일부 구성에서, 자연어 처리는 사용자 디바이스(10)의 데이터 처리 하드웨어(12)와 통신하는 원격 서버(60)에서 일어난다.
도 2를 참조하면, T-T 모델(200)은 음향, 발음 및 언어 모델을 단일 신경망으로 통합함으로써 E2E(end-to-end) 음성 인식을 제공할 수 있으며, 어휘집이나 별도의 텍스트 정규화 구성 요소를 필요로 하지 않는다. 다양한 구조와 최적화 메커니즘은 정확도를 높이고 모델 트레이닝 시간을 단축할 수 있다. T-T 모델(200)은 대화형 애플리케이션과 관련된 레이턴시 제약을 준수하는 T-T(Transformer-Transducer) 모델 아키텍처를 포함한다. T-T 모델(200)은 작은 계산 풋프린트를 제공하며 종래의 ASR 아키텍처보다 더 적은 메모리 요구 사항을 활용하여 T-T 모델 아키텍처를 사용자 디바이스(10)에서 완전히 음성 인식을 수행하는데 적합하게 만든다(예를 들어, 원격 서버(60)와의 통신이 필요하지 않음). T-T 모델(200)은 오디오 인코더(300), 레이블 인코더(220) 및 공동(joint) 네트워크(230)를 포함한다. 전통적인 ASR 시스템의 음향 모델(AM)과 거의 유사한 오디오 인코더(300)는 복수의 트랜스포머 계층(400)(도 3a, 3b 및 4)을 갖는 신경망을 포함한다. 예를 들어, 오디오 인코더(300)는 d차원 특징 벡터(예를 들어, 음향 프레임(110)(도 1)) x = (x1, x2,...,xT)의 시퀀스를 판독하는데, 여기서 xt ∈ Rd이고 각 시간 단계에서 고차(higher-order) 특징 표현을 생성한다. 이 고차 특징 표현은 ah1,...,ahT로 표시된다.
유사하게, 레이블 인코더(220)는 또한 트랜스포머 계층의 신경망 또는 룩업 테이블 임베딩 모델을 포함할 수 있으며, 이는 언어 모델(LM)과 같이 지금까지 최종 소프트맥스 계층(240)에 의해 출력되는 비공백(non-blank) 심볼의 시퀀스(y0,...,yui-1)를 예측된 레이블 히스토리를 인코딩하는 밀집(dense) 표현(Ihu)으로 처리한다. 레이블 인코더(220)가 트랜스포머 계층의 신경망을 포함하는 구현에서, 각각의 트랜스포머 계층은 정규화 계층, 상대 위치 인코딩을 갖는 마스킹된 다중-헤드(multi-head) 어텐션 계층, 잔여(residual) 연결, 피드 포워드 계층 및 드롭아웃(dropout) 계층을 포함할 수 있다. 이러한 구현에서, 레이블 인코더(220)는 2개의 트랜스포머 계층을 포함할 수 있다. 레이블 인코더(220)가 바이그램(bi-gram) 레이블 컨텍스트를 갖는 룩업 테이블 임베딩 모델을 포함하는 구현에서, 임베딩 모델은 각각의 가능한 바이그램 레이블 컨텍스트에 대한 d 차원의 가중치 벡터를 학습하도록 구성되며, 여기서 d는 오디오 및 레이블 인코더(300, 220)의 출력 차원이다. 일부 예에서, 임베딩 모델의 총 파라미터 수는 N2×d이며 여기서 N은 레이블의 어휘 크기이다. 여기서, 트레이닝된 가중치 벡터는 빠른 레이블 인코더(220) 런타임을 생성하기 위해 T-T 모델(200)에서 바이그램 레이블 컨텍스트의 임베딩으로서 사용된다.
마지막으로, T-T 모델 아키텍처를 사용하여, 오디오 및 레이블 인코더(300, 220)에 의해 생성된 표현은 밀집 계층(Ju,t)을 사용하여 공동 네트워크(230)에 의해 결합된다. 그런 다음 공동 네트워크(230)는 다음 출력 심볼에 대한 분포인 P(zu,t|x,t,y1,...,yu-1)를 예측한다. 달리 말하면, 공동 네트워크(230)는 각 출력 단계(예를 들어, 시간 단계)에서, 가능한 음성 인식 가설에 대한 확률 분포를 생성한다. 여기서, "가능한 음성 인식 가설"은 지정된 자연 언어의 자소(예를 들어, 심볼/문자) 또는 단어 조각을 각각 나타내는 출력 레이블 세트("음성 단위"라고도 함)에 해당한다. 예를 들어, 자연어가 영어인 경우, 출력 레이블 세트는 27개의 심볼, 예를 들어 영어 알파벳의 26개 문자 각각에 대한 하나의 레이블과 공백(space)을 지정하는 하나의 레이블을 포함할 수 있다. 따라서, 공동 네트워크(230)는 사전 결정된 출력 레이블 세트 각각의 발생 가능성을 나타내는 값 세트를 출력할 수 있다. 이 값 세트는 벡터(예를 들어, 원-핫 벡터)일 수 있으며 출력 레이블 세트에 대한 확률 분포를 나타낼 수 있다. 일부 경우, 출력 레이블은 자소(예를 들어, 개별 문자, 잠재적인 구두점 및 기타 심볼일 수 있음)이지만 출력 레이블 세트는 그렇게 제한되지 않는다. 예를 들어, 출력 레이블 세트에는 자소 외에 또는 자소 대신 단어 조각 및/또는 전체 단어가 포함될 수 있다. 공동 네트워크(230)의 출력 분포는 서로 다른 출력 레이블 각각에 대한 사후 확률 값을 포함할 수 있다. 따라서, 서로 다른 자소 또는 기타 심볼을 나타내는 100개의 서로 다른 출력 레이블이 있는 경우, 공동 네트워크(230)의 출력(zu,t)은 각각의 출력 레이블에 대해 하나씩 100개의 상이한 확률 값을 포함할 수 있다. 그런 다음 확률 분포는 전사(120)를 결정하기 위해 (예를 들어, 소프트맥스 계층(240)에 의해) 빔 검색 프로세스에서 후보 직교 요소(예를 들어, 자소, 단어 조각 및/또는 단어)에 스코어를 선택하고 할당하는데 사용될 수 있다.
소프트맥스 계층(240)은 임의의 기술을 채용하여 해당 출력 단계에서 T-T 모델(200)에 의해 예측된 다음 출력 심볼로서 분포에서 가장 높은 확률을 갖는 출력 레이블/심볼을 선택할 수 있다. 이러한 방식으로, T-T 모델(200)은 조건부 독립 가정을 하지 않고, 오히려 각 심볼의 예측은 음향뿐만 아니라 지금까지 출력된 레이블의 시퀀스에도 조건화된다.
도 3a를 참조하면, 일부 구현에서, T-T 모델(200)의 오디오 인코더(300)의 복수의 트랜스포머 계층(400)은 트랜스포머 계층(400)의 초기 스택(310) 및 트랜스포머 계층(400)의 최종 스택(320)을 포함한다. 초기 스택(310)의 각각의 트랜스포머 계층(400)은 제로 예측 오디오 컨텍스트로 트레이닝될 수 있는 반면, 최종 스택(320)의 각각의 트랜스포머 계층(400)은 가변 예측 오디오 컨텍스트로 트레이닝될 수 있다. T-T 모델(200)의 초기 스택(310)은 트랜스포머 계층(400)의 최종 스택(320)보다 더 많은 트랜스포머 계층(400)을 가질 수 있다. 예를 들어, 트랜스포머 계층(400)의 초기 스택(310)은 15개의 트랜스포머 계층(400)을 포함할 수 있는 반면, 트랜스포머 계층(400)의 최종 스택(320)은 5개의 트랜스포머 계층(400)을 포함할 수 있다. 그러나, 초기 스택(310) 및 최종 스택(320) 중 하나 각각에서 개별 트랜스포머 계층(400)의 수는 제한되지 않는다. 따라서, 본 명세서의 예는 15개의 트랜스포머 계층(400)을 포함하는 초기 스택(310) 및 5개의 트랜스포머 계층(400)을 포함하는 트랜스포머 계층의 최종 스택(320)을 설명할 수 있지만, 트랜스포머 계층(400)의 초기 스택(310)은 15개 미만 또는 초과의 트랜스포머 계층(400)을 포함할 수 있고, 트랜스포머 계층(400)의 최종 스택(320)은 5개 미만 또는 초과의 트랜스포머 계층(400)을 포함할 수 있다. 더욱이, 오디오 인코더(300)에 의해 이용되는 트랜스포머 계층(400)의 총 수는 20개의 트랜스포머 계층(400)보다 작거나 클 수 있다.
T-T 모델(200)은 대응하는 전사와 쌍을 이루는 음성 발언에 해당하는 오디오 데이터의 트레이닝 데이터 세트에 대해 트레이닝된다. T-T 모델(200)을 트레이닝하는 것은 원격 서버(60)에 포함될 수 있고 트레이닝된 T-T 모델(200)은 사용자 디바이스(10)에 푸시될 수 있다. 가변 예측 오디오 컨텍스트로 트랜스포머 계층(400)의 최종 스택(320)을 트레이닝하는 것은 최종 스택(320)의 각 트랜스포머 계층(400)의 왼쪽 컨텍스트를 일정하게 설정하는 것 및 트레이닝 데이터 세트의 주어진 분포로부터 최종 스택(320)의 각 계층의 오른쪽 컨텍스트 길이를 샘플링하는 것을 포함한다. 여기서, 샘플 오른쪽 컨텍스트 길이는 주어진 분포에서 샘플링된 예측 오디오 컨텍스트의 지속 시간에 해당한다. 명백해지는 바와 같이, 샘플링된 우측 컨텍스트 길이는 최종 스택(320)에서 각각의 트랜스포머 계층(400)의 대응하는 마스킹된 다중-헤드 어텐션 계층(406)(도 4)에 의해 적용되는 셀프 어텐션을 위한 마스크를 지정한다.
일부 구현에서, 오디오 인코더(300)의 트레이닝 동안, 가변 예측 오디오 컨텍스트는 트랜스포머 계층(400)의 최종 스택(320)에서 각각의 트랜스포머 계층(400)에 대해 균일하게 샘플링된다. 예를 들어, 트랜스포머 계층(400)의 최종 스택(320)에서 각각의 트랜스포머 계층(400)에 대해 균일하게 샘플링된 가변 예측 오디오 컨텍스트는 0, 1.2초 및 2.4초의 지속 시간을 포함할 수 있다. 예측 오디오 컨텍스트의 이러한 지속 시간은 비제한적이며 트랜스포머 계층(400)의 최종 스택(320)에 대한 예측 오디오 컨텍스트의 서로 다른 지속 시간 및/또는 3개보다 많거나 적은 샘플링을 포함할 수 있다. 이러한 구현에서 트레이닝 동안, 트랜스포머 계층(400)에 대한 개별 예측(look ahead) 컨텍스트 구성은 예측 오디오 컨텍스트의 각각의 상이한 지속 시간에 대해 지정될 수 있다. 더욱이, T-T 모델(200)의 오디오 인코더(300)는 4개의 음향 프레임(110)의 출력 지연으로 트레이닝될 수 있다. 예를 들어, 15개 트랜스포머 계층(400)의 초기 스택(310)이 제로(0) 예측 오디오 컨텍스트로 트레이닝되고 5개의 트랜스포머 계층(400)의 최종 스택(320)이 가변 예측 오디오 컨텍스트로 트레이닝되는 위의 예를 계속하면, 제로 예측 오디오 컨텍스트에 대해 지정된 제1 예측 컨텍스트 구성은 [0]×19 + [4]를 포함할 수 있고, 예측 오디오 컨텍스트의 1.2초에 대해 지정된 제2 예측 컨텍스트 구성은 [0]×15 + [8]×5를 포함할 수 있고, 예측 오디오 컨텍스트의 2.4초에 대해 지정된 제3 예측 오디오 컨텍스트 구성은 [0]×15 + [16]×5를 포함할 수 있다. 각각의 예측 오디오 컨텍스트 구성에서 괄호 안의 숫자는 예측 오디오 컨텍스트의 지정된 지속 시간에 해당하는 예측 오디오 프레임의 수를 나타낸다. 위의 예에서, 제로 예측 오디오 컨텍스트를 평가하는데 사용되는 [0]×19 + [4]의 제1 예측 컨텍스트 구성은 최종 트랜스포머 계층(400)이 4개의 오디오 프레임(110)의 출력 지연을 적용함을 나타낸다. 여기서, 4개 오디오 프레임의 출력 지연은 240밀리초의 예측 오디오 컨텍스트에 해당한다.
일부 추가적인 구현에서, 제로 예측 오디오 컨텍스트로 트랜스포머 계층(400)의 초기 스택(310)을 트레이닝하고 가변 예측 오디오 컨텍스트로 트랜스포머 계층(400)의 최종 스택(320)만을 트레이닝하는 것보다, T-T 모델(200)의 오디오 인코더(300)의 모든 트랜스포머 계층(400)은 가변 예측 오디오 컨텍스트로 트레이닝된다. 예측 컨텍스트의 0, 1.2초 및 2.4초의 지속 시간(durations)이 트레이닝 중에 균일하게 샘플링되는 위의 예를 계속하면, 제로 예측 오디오 컨텍스트에 대해 지정된 제1 예측 컨텍스트 구성은 [0]×19 + [4]를 포함할 수 있고(예를 들어, 여기서 [4]는 최종 트랜스포머 계층(400)이 예측 오디오 컨텍스트의 240밀리초에 해당하는 4개의 오디오 프레임의 출력 지연을 적용함을 지정함), 예측 오디오 컨텍스트의 1.2초에 대해 지정된 제2 예측 컨텍스트 구성은 [2]×20을 포함할 수 있고, 예측 오디오 컨텍스트의 2.4초에 대해 지정된 제3 예측 오디오 컨텍스트 구성은 [4]×20을 포함할 수 있다. 즉, 20개의 트랜스포머 계층(400) 각각에 의해 적용된 2개의 [2] 오디오 프레임의 출력 지연은 예측 오디오 컨텍스트의 1.2초 동안 트레이닝 데이터 세트의 주어진 분포를 평가하고, 20개의 트랜스포머 계층(400) 각각에 의해 적용된 4개의 [4] 오디오 프레임의 출력 지연은 예측 오디오 컨텍스트의 2.4초 동안 트레이닝 데이터 세트의 또 다른 분포를 평가한다.
도 3b는 단일 T-T 모델(200)이 입력 발언(106)에 대해 스트리밍 음성 인식 및 비스트리밍 음성 인식을 병렬로 수행할 수 있도록 y-아키텍처로 배열된 오디오 인코더(300)를 갖는 T-T 모델(200)의 예를 도시한다. 오디오 인코더(300)의 y-아키텍처는 트랜스포머 계층(400)의 초기 스택(310)으로부터 각각 확장되는 병렬의 저-레이턴시 및 고-레이턴시 분기(321, 322)에 의해 형성된다. 도 3a를 참조하여 전술한 바와 같이, 트랜스포머 계층(400)의 초기 스택(310)은 제로 예측 오디오 컨텍스트로 트레이닝될 수 있고 트랜스포머 계층(400)의 최종 스택(320)은 가변 예측 오디오 컨텍스트로 트레이닝될 수 있다. 따라서, 추론 동안, 트랜스포머 계층(400)의 최종 스택(320)은 제1 예측 오디오 컨텍스트를 적용함으로써 저-레이턴시 분기(321)('저-레이턴시 디코딩 분기(321)'라고도 지침됨); 및 제1 예측 오디오 컨텍스트보다 더 긴 지속 시간의 예측 오디오 컨텍스트와 관련된 제2 예측 오디오 컨텍스트를 적용함으로써 고-레이턴시 분기(322)('고-레이턴시 디코딩 분기(322)'로도 지칭됨) 모두를 제공할 수 있다.
일부 예에서, 제1 예측 오디오 컨텍스트는 트레이닝 중에 적용된 제한된 정렬로 인한 단어 오류율 손실을 줄이기 위해 0이거나 최소 출력 지연(예를 들어, 240밀리초)이다. 제2 예측 오디오 컨텍스트는 예측 오디오 컨텍스트의 임의의 지속시간을 포함할 수 있다. 예를 들어, 제2 예측 오디오 컨텍스트는 1.2초 또는 2.4초의 지속 시간을 포함할 수 있다.
도시된 예에서, 오디오 인코더(300)의 트랜스포머 계층(400)의 초기 스택(310)은 사용자(104)에 의해 발언되고 사용자 디바이스(10)에 의해 캡처된 입력 발언(106)에 대응하는 오디오 데이터(110)(예를 들어, 음향 프레임)를 수신한다. 오디오 데이터(110)를 수신하면서, 트랜스포머 계층(400)(예를 들어, 15개의 트랜스포머 계층(400))의 초기 스택(310)은 저-레이턴시 분기(321) 및 고-레이턴시 분기(322) 모두에 의해 사용되는 공유 활성화(312)를 계산하기 위해 제로 예측 오디오 컨텍스트를 적용할 수 있다. 그 후, 사용자(104)가 입력 발언(106)을 말함에 따라 오디오 데이터(110)를 수신하는 동안, 트랜스포머 계층(400)(예를 들어, 5개의 트랜스포머 계층(400))의 최종 스택(320)은 트랜스포머 계층(400)의 초기 스택(310)에 의해 계산된 공유 활성화(312)를 사용하고, 입력 발언(106)에 대한 부분 음성 인식 결과(120a)를 제공하기 위해 상기 공동 네트워크(230) 및 소프트맥스(240)를 통해 디코딩될 수 있는 고-레이턴시 분기(322)가 아니라 저-레이턴시 분기(321)에 의해 사용하기 위한 저-레이턴시 활성화(activations)(323)를 계산하기 위해 제1 예측 오디오 컨텍스트를 적용한다. 따라서, 입력 발언(106)에 대응하는 오디오 데이터(110)를 수신하는 동안, 저-레이턴시 분기(321)는 제1 예측 오디오 컨텍스트를 사용하여 오디오 데이터(110)를 인코딩하고 그 인코딩된 오디오 데이터(110)(즉, 저-레이턴시 활성화(323)로 표현됨)를 부분 음성 인식 결과(120a)로 디코딩한다. 부분 음성 인식 결과(120a)는 입력 발언(106)이 사용자(104)에 의해 발화될 때 사용자 디바이스(10)(도 1)상에 디스플레이하기 위해 실시간으로 스트리밍될 수 있다.
사용자(104)가 입력 발언(106)의 말하기를 완료하고 모든 오디오 데이터(110)가 수신된 후, 트랜스포머 계층(400)의 최종 스택(320)은 트랜스포머 계층(400)의 초기 스택(310)에 의해 계산된 공유 활성화(312)를 사용하고, 입력 발언(106)에 대한 최종 음성 인식 결과(120b)를 제공하기 위해 공동 네트워크(230) 및 소프트맥스 계층(240)을 통해 디코딩될 수 있는 저-레이턴시 분기(321)가 아니라 고-레이턴시 분기(322)에 의해 사용하기 위한 고-레이턴시 활성화(324)를 계산하기 위해 제2 예측 오디오 컨텍스트를 적용한다. 여기서, 입력 발언(106)에 대해 고-레이턴시 분기(322)에 의해 디코딩된 최종 음성 인식 결과(120b)는 저-레이턴시 분기(321)에 의해 디코딩된 부분 음성 인식 결과(120a)로부터 제2 예측 오디오 컨텍스트와 제1 예측 오디오 컨텍스트의 차이에 기초한 지속 시간만큼 지연된다. 따라서, 입력 발언(106)에 대응하는 오디오 데이터(110)가 수신된 후(예를 들어, 사용자(104)가 발언(106)의 말하기를 완료한 후), 고-레이턴시 분기(322)는 제2 예측 오디오 컨텍스트를 사용하여 오디오 데이터(110)를 인코딩하고 그 인코딩된 오디오 데이터(110)(즉, 고-레이턴시 활성화(324)로 표현됨)를 최종 음성 인식 결과(120b)로 디코딩한다. 최종 음성 인식 결과(120b)는 스트리밍된 부분 음성 인식 결과(120a)를 대체할 수 있다. 특히, 부분 음성 인식 결과(120a)는 실시간으로 스트리밍될 수 있기 때문에, 사용자(104)는 최종 음성 인식 결과(120b)에 의해 야기되는 레이턴시를 인지하지 못할 수 있다. 그러나, 예측 오디오 컨텍스트로부터 이익을 얻는 최종 음성 인식 결과(120b)는 부분 음성 인식 결과(120a)에 존재하는 임의의 인식 오류를 수정할 수 있으므로 이에 의해 다운스트림 NLU 모듈 및/또는 애플리케이션에 의한 쿼리 해석에 더 적합한 최종 음성 인식 결과(120b)를 렌더링한다. 도시되지는 않았지만, 별도의 재스코어링 모델(예를 들어, LAS 모델)은 고-레이턴시 디코딩 분기(322)에 의해 디코딩된 후보 가설을 재스코어링할 수 있다.
일부 예에서, 제2 예측 오디오 컨텍스트의 지속 시간은 입력 발언(106)이 지향하는 애플리케이션(예를 들어, 디지털 어시스턴트 애플리케이션(50))의 유형에 기초한다. 예를 들어, 오디오 인코더(300)는 입력 발언이 지향하는 애플리케이션의 유형을 나타내는 애플리케이션 식별자(52)를 수신할 수 있고, 오디오 인코더는 애플리케이션 식별자(52)에 기초하여 제2 예측 오디오 컨텍스트의 지속 시간을 설정할 수 있다. 입력 발언(106)이 지향하는 애플리케이션의 유형은 음성 인식 레이턴시, 음성 인식 정확도, 입력 발언이 대화형 쿼리(예를 들어, 짧은 형식 음성) 비대화형 쿼리(예를 들어, 구술과 같은 긴 형식 음성)에 해당하는지 여부, 또는 적용되는 제2 예측 오디오 컨텍스트의 지속 시간을 최적화/조정하는데 사용하기 위해 도출될 수 있는 임의의 기타 정보에 대한 사용자의 허용치를 나타내는 컨텍스트 정보 역할을 할 수 있다.
도 4는 오디오 인코더(300)의 복수의 트랜스포머 계층들 중 트랜스포머 계층(400)의 예를 도시한다. 여기서, 각각의 시간 단계 동안, 초기 트랜스포머 계층(400)은 입력으로서 대응하는 음향 프레임(110)을 수신하고 다음 트랜스포머 계층(400)에 의해 입력으로서 수신되는 대응 출력 표현/임베딩(450)을 생성한다. 즉, 초기 트랜스포머 계층(400) 이후의 각각의 트랜스포머 계층(400)은 바로 앞의 트랜스포머 계층(400)에 의해 출력으로서 생성된 출력 표현/임베딩에 대응하는 입력 임베딩(450)을 수신할 수 있다. 최종 트랜스듀서 계층(400)(예를 들어, 최종 스택(320)의 마지막 트랜스듀서 계층)은 복수의 시간 단계 각각에서, 대응하는 음향 프레임(110)에 대한 고차 특징 표현(aht)(도 2)를 생성한다.
레이블 인코더(220)(도 2)에 대한 입력은 최종 소프트맥스 계층(240)에 의해 지금까지 출력된 비-공백(non-blank) 심볼의 시퀀스를 나타내는 벡터(예를 들어, 원-핫 벡터)(y0,...,yui-1)를 포함할 수 있다. 따라서, 레이블 인코더(220)가 트랜스포머 계층들을 포함하는 경우, 초기 트랜스포머 계층는 룩업 테이블을 통해 원-핫 벡터를 통과시킴으로써 입력 임베딩(111)을 수신할 수 있다.
오디오 인코더(300)의 각각의 트랜스포머 계층(400)은 정규화 계층(404), 상대 위치 인코딩을 사용하는 마스킹된 다중-헤드 어텐션 계층(406), 잔여 연결(408), 적층/비적층 계층(410) 및 피드포워드 계층(412)을 포함한다. 상대 위치 인코딩을 사용하는 마스킹된 다중-헤드 어텐션 계층(406)은 T-T 모델(200)이 사용하는 예측 오디오 컨텍스트의 양(즉, 지속 시간)을 제어하는 유연한 방식을 제공한다. 구체적으로, 정규화 계층(404)이 음향 프레임(110) 및/또는 입력 임베딩(111)을 정규화한 후, 마스킹된 다중-헤드 어텐션 계층(406)은 입력을 모든 헤드에 대한 값으로 투영한다. 그 후, 마스킹된 다중-헤드 계층(406)은 이전 음향 프레임(110)에서만 조정된 출력을 생성하기 위해 현재 음향 프레임(110)의 왼쪽에 어텐션 스코어를 마스킹할 수 있다. 그런 다음, 모든 헤드에 대한 가중 평균 값들이 연결되어(concatenated) 밀집 계층(dense layer) 2(416)으로 전달되며, 여기서 잔여 연결(414)은 상대 위치 인코딩을 사용하여 다중-헤드 어텐션 계층(406)의 최종 출력을 형성하기 위해 밀집 계층(416)의 정규화된 입력 및 출력에 추가(add)된다. 잔여 연결(408)은 정규화 계층(404)의 출력에 추가되고 마스킹된 다중-헤드 어텐션 계층(406) 또는 피드포워드 계층(412) 중 하나 각각에 대한 입력으로 제공된다. 적층/비적층 계층(410)은 트레이닝 및 추론 속도를 높이기 위해 각 트랜스포머 계층(400)에 대한 프레임 레이트를 변경하는데 사용될 수 있다.
피드포워드 계층(412)은 정규화 계층(404)을 적용하고, 이어서 밀집 계층 1(420), ReLu(rectified linear layer)(418) 및 밀집 계층 2(416)을 적용한다. ReLu(418)는 밀집 계층 1(420)의 출력에 대한 활성화로서 사용된다. 상대 위치 인코딩을 사용하는 다중-헤드 어텐션 계층(406)에서와 같이, 정규화 계층(404)로부터의 출력의 잔여 연결(414)이 밀집 계층 2(416)의 출력에 추가(add)된다.
도 5는 단일 트랜스포머-트랜스듀서(T-T) 모델(200)을 사용하여 스트리밍 및 비스트리밍 음성 인식을 통합하는 방법(500)에 대한 예시적인 동작 배열의 흐름도를 포함한다. 동작(502)에서, 방법(500)은 T-T 모델(200)에 대한 입력으로서, 음성 발언(106)에 해당하는 오디오 데이터(110)를 수신하는 단계를 포함한다. 동작(504)에서, 방법은 T-T 모델(200)을 사용하여, 오디오 데이터(110)에 대해 스트리밍 음성 인식 및 비스트리밍 음성 인식을 병렬로 수행하는 단계를 더 포함한다.
T-T 모델(200)의 저-레이턴시 분기(321)에 대해, 방법(500)은 동작(506)에서, 음성 발언(106)에 해당하는 오디오 데이터(110)를 수신하는 동안 제1 예측 오디오 컨텍스트를 사용하여 오디오 데이터(110)를 인코딩하는 단계를 포함한다. 방법(500)은 또한 동작(508)에서, 제1 예측 오디오 컨텍스트를 사용하여 인코딩된 오디오 데이터(110)를 입력 발언(106)에 대한 부분 음성 인식 결과(120a)로 디코딩하는 단계를 포함한다. 동작(510)에서, 방법(500)은 입력 발언(106)에 대한 부분 음성 인식 결과(120a)를 스트리밍하는 단계를 더 포함한다.
T-T 모델(200)의 고-레이턴시 분기(322)에 대해, 방법(500)은 동작(512)에서, 음성 발언(106)에 해당하는 오디오 데이터(110)가 수신된 후, 제2 예측 오디오 컨텍스트를 사용하여 오디오 데이터(110)를 인코딩하는 단계를 포함한다. 방법(500)은 또한 동작(514)에서, 제2 예측 오디오 컨텍스트를 사용하여 인코딩된 오디오 데이터(110)를 입력 발언(106)에 대한 최종 음성 인식 결과(120b)로 디코딩하는 단계를 포함한다. 동작(516)에서, 방법(500)은 스트리밍된 부분 음성 인식 결과(120a)를 최종 음성 인식 결과(120b)로 교체하는 단계를 더 포함한다.
도 6은 본 문서에 기술된 시스템 및 방법을 구현하는데 사용될 수 있는 예시적인 컴퓨팅 디바이스(600)의 개략도이다. 컴퓨팅 디바이스(600)는 랩탑, 데스크탑, 워크스테이션, PDA, 서버, 블레이드 서버, 메인프레임 및 기타 적절한 컴퓨터와 같은 다양한 형태의 디지털 컴퓨터를 나타내도록 의도된다. 본 명세서에 도시된 구성 요소, 연결 및 관계, 기능은 예시일 뿐이며 본 문서에서 설명 및/또는 청구된 발명의 구현을 제한하지 않는다.
컴퓨팅 디바이스(600)는 프로세서(610), 메모리(620), 저장 디바이스(630), 메모리(620) 및 고속 확장 포트(650)에 연결되는 고속 인터페이스/컨트롤러(640) 및 저속 버스(670) 및 저장 디바이스(630)에 연결되는 저속 인터페이스/컨트롤러(660)를 포함한다. 구성 요소(610, 620, 630, 640, 650 및 660) 각각은 다양한 버스를 사용하여 상호 연결되며 일반적인 마더보드 또는 적절한 다른 방식으로 장착될 수 있다. 프로세서(610)는 고속 인터페이스(640)에 연결된 디스플레이(680)와 같은 외부 입/출력 디바이스 상에 그래픽 사용자 인터페이스(GUI)에 대한 그래픽 정보를 디스플레이하기 위해 메모리(620) 또는 저장 디바이스(630)에 저장된 명령들을 포함하여 컴퓨팅 디바이스(600) 내에서 실행하기 위한 명령들을 처리할 수 있다. 다른 구현에서, 다중 프로세서 및/또는 다중 버스는 다중 메모리 및 메모리 유형과 함께 적절하게 사용될 수 있다. 또한, 다수의 컴퓨팅 디바이스(600)가 연결될 수 있으며, 각각의 디바이스는 (예를 들어, 서버 뱅크, 블레이드 서버 그룹 또는 다중 프로세서 시스템으로서) 필요한 동작들의 일부를 제공한다.
메모리(620)는 컴퓨팅 디바이스(600) 내에 비-일시적으로 정보를 저장한다. 메모리(620)는 컴퓨터 판독 가능 매체, 휘발성 메모리 유닛(들) 또는 비휘발성 메모리 유닛(들)일 수 있다. 비-일시적 메모리(620)는 컴퓨팅 디바이스(600)에 의한 사용을 위해 일시적 또는 영구적으로 프로그램(예를 들어, 명령 시퀀스) 또는 데이터(예를 들어, 프로그램 상태 정보)를 저장하는데 사용되는 물리적 디바이스일 수 있다. 비휘발성 메모리의 예로는 플래시 메모리 및 판독 전용 메모리(ROM)/프로그래밍 가능한 판독 전용 메모리(PROM)/소거 가능한 프로그래밍 가능한 판독 전용 메모리(EPROM)/전자적으로 소거 가능한 프로그래밍 가능한 판독 전용 메모리 (EEPROM)(예를 들어, 부트 프로그램과 같은 펌웨어에 일반적으로 사용됨)가 포함되지만 이에 한정되지 않는다. 휘발성 메모리의 예에는 RAM, DRAM, SRAM, PCM(Phase Change Memory) 및 디스크나 테이프가 포함되지만 이에 한정되지 않는다.
저장 디바이스(630)는 컴퓨팅 디바이스(600)를 위한 대용량 저장소를 제공할 수 있다. 일부 구현에서, 저장 디바이스(630)는 컴퓨터 판독 가능 매체이다. 다양한 구현에서, 저장 디바이스(630)는 플로피 디스크 디바이스, 하드 디스크 디바이스, 광 디스크 디바이스 또는 테이프 디바이스, 플래시 메모리 또는 기타 유사한 솔리드 스테이트 메모리 디바이스 또는 저장 영역 네트워크(SAN 또는 기타 구성의 디바이스를 포함하는 디바이스 어레이일 수 있다. 추가 구현에서, 컴퓨터 프로그램 제품은 정보 매체에 유형적으로 구현된다. 컴퓨터 프로그램 제품은 실행될 때 위에서 설명한 것과 같은 하나 이상의 방법을 수행하는 명령을 포함한다. 정보 매체는 메모리(620), 저장 디바이스(630) 또는 프로세서 상의 메모리(610)와 같은 컴퓨터 또는 기계 판독 가능 매체이다.
고속 컨트롤러(640)는 컴퓨팅 디바이스(600)에 대한 대역폭 집중 동작을 관리하는 반면, 저속 컨트롤러(660)는 낮은 대역폭 집중 동작을 관리한다. 이러한 의무 할당은 예시일 뿐이다. 일부 구현에서, 고속 컨트롤러(640)는 메모리(620), 디스플레이(680)(예를 들어, 그래픽 프로세서 또는 가속기를 통해) 및 다양한 확장 카드(미도시)를 수용할 수 있는 고속 확장 포트(650)에 결합된다. 일부 구현에서, 저속 컨트롤러(660)는 저장 디바이스(630) 및 저속 확장 포트(690)에 결합된다. 다양한 통신 포트(예를 들어, USB, 블루투스, 이더넷, 무선 이더넷)를 포함할 수 있는 저속 확장 포트(690)는 키보드, 포인팅 디바이스, 스캐너, 또는 예를 들어 네트워크 어댑터를 통해 네트워킹 디바이스(예를 들어, 스위치 또는 라우터)와 같은 하나 이상의 입/출력 디바이스에 결합될 수 있다.
컴퓨팅 디바이스(600)는 도면에 도시된 바와 같이 다수의 상이한 형태로 구현될 수 있다. 예를 들어, 표준 서버(600a)로 구현되거나 이러한 서버(600a) 그룹에서 여러 번, 랩랍 컴퓨터(600b) 또는 랙 서버 시스템(600c)의 일부로 구현될 수 있다.
본 명세서에 설명된 시스템 및 기술의 다양한 구현은 디지털 전자 및/또는 광학 회로, 집적 회로, 특별히 설계된 ASIC, 컴퓨터 하드웨어, 펌웨어, 소프트웨어, 및/또는 이들의 조합으로 실현될 수 있다. 이러한 다양한 구현은 저장 시스템, 적어도 하나의 입력 디바이스 및 적어도 하나의 출력 디바이스로/로부터 데이터 및 명령을 송수신하도록 결합되고 특수 또는 범용일 수 있는, 적어도 하나의 프로그래밍 가능한 프로세서를 포함하는 프로그래밍 가능한 시스템에서 실행 가능 및/또는 해석 가능한 하나 이상의 컴퓨터 프로그램에서의 구현을 포함할 수 있다.
소프트웨어 애플리케이션(즉, 소프트웨어 리소스)은 컴퓨팅 디바이스가 작업을 수행하게 하는 컴퓨터 소프트웨어를 지칭할 수 있다. 일부 예에서, 소프트웨어 애플리케이션은 "애플리케이션", "앱" 또는 "프로그램"으로 지칭될 수 있다. 애플리케이션의 예로는 시스템 진단 애플리케이션, 시스템 관리 애플리케이션, 시스템 유지관리 애플리케이션, 워드 프로세싱 애플리케이션, 스프레드시트 애플리케이션, 메시징 애플리케이션, 미디어 스트리밍 애플리케이션, 소셜 네트워킹 애플리케이션 및 게임 애플리케이션이 있지만 이에 한정되지 않는다.
비-일시적 메모리는 컴퓨팅 디바이스에 의한 사용을 위해 일시적 또는 영구적으로 프로그램(예를 들어, 명령 시퀀스) 또는 데이터(예를 들어, 프로그램 상태 정보)를 저장하는데 사용되는 물리적 디바이스일 수 있다. 비-일시적 메모리는 휘발성 및/또는 비휘발성 어드레서블 반도체 메모리일 수 있다. 비-휘발성 메모리의 예로는 플래시 메모리 및 ROM/PROM/EPROM/EEPROM(예를 들어, 부트 프로그램과 같은 펌웨어에 일반적으로 사용됨)이 포함되지만 이에 한정되지 않는다. 휘발성 메모리의 예에는 RAM, DRAM, SRAM, PCM 및 디스크나 테이프가 포함되지만 이에 한정되지 않는다.
이러한 컴퓨터 프로그램(프로그램, 소프트웨어, 소프트웨어 애플리케이션 또는 코드라고도 함)은 프로그래밍 가능 프로세서를 위한 기계 명령을 포함하고, 고급 절차 및/또는 객체 지향 프로그래밍 언어 및/또는 어셈블리/기계 언어로 구현될 수 있다. 본 명세서에서 사용되는 바와 같이, "기계 판독 가능 매체" 및 "컴퓨터 판독 가능 매체"라는 용어는 기계 판독 가능 신호로서 기계 명령을 수신하는 기계 판독 가능 매체를 비롯하여 프로그램 가능 프로세서에 기계 명령 및/또는 데이터를 제공하는데 사용되는 임의의 컴퓨터 프로그램 제품, 비-일시적 컴퓨터 판독 가능 매체, 장치 및/또는 디바이스(예를 들어, 자기 디스크, 광 디스크, 메모리, 프로그래밍 가능 논리 디바이스(PLD))를 지칭한다. "기계 판독 가능 신호"라는 용어는 프로그램 가능 프로세서에 기계 명령 및/또는 데이터를 제공하는데 사용되는 임의의 신호를 지칭한다.
본 명세서에 기술된 프로세스 및 논리 흐름은 데이터 처리 하드웨어라고도 하는 하나 이상의 프로그램 가능 프로세서에 의해 수행될 수 있으며, 하나 이상의 컴퓨터 프로그램을 실행하여 입력 데이터에 대해 작동하고 출력을 생성함으로써 기능을 수행할 수 있다. 프로세스 및 논리 흐름은 특수 목적 논리 회로, 예를 들어 FPGA(필드 프로그래밍 가능 게이트 어레이) 또는 ASIC(애플리케이션 특정 집적 회로)에 의해 수행될 수도 있다. 컴퓨터 프로그램의 실행에 적합한 프로세서는 예를 들어 범용 및 특수 목적 마이크로프로세서 모두와 모든 종류의 디지털 컴퓨터의 하나 이상의 프로세서를 포함한다. 일반적으로 프로세서는 판독 전용 메모리나 임의 액세스 메모리 또는 둘 다에서 명령과 데이터를 수신한다. 컴퓨터의 필수 요소는 명령을 수행하는 프로세서와 명령과 데이터를 저장하는 하나 이상의 메모리 디바이스이다. 일반적으로, 컴퓨터는 데이터를 저장하기 위한 하나 이상의 대용량 저장 디바이스, 예를 들어 자기, 광자기 디스크 또는 광 디스크로부터 데이터를 수신하거나 데이터를 전송하기 위해 또는 양자 모두를 포함하거나 작동 가능하게 결합될 것이다. 그러나, 컴퓨터에는 이러한 디바이스가 필요하지 않다. 컴퓨터 프로그램 명령 및 데이터를 저장하기에 적합한 컴퓨터 판독 가능 매체에는 예를 들어 반도체 메모리 디바이스(예를 들어, EPROM, EEPROM 및 플래시 메모리 디바이스), 자기 디스크(예를 들어, 내부 하드 디스크 또는 이동식 디스크), 광자기 디스크, 및 CD ROM 및 DVD-ROM 디스크를 비롯하여 임의의 형태의 비-휘발성 메모리, 매체 및 메모리 디바이스가 포함된다. 프로세서와 메모리는 특수 목적 논리 회로에 의해 보완되거나 통합될 수 있다.
사용자와의 상호 작용을 제공하기 위해, 본 개시의 하나 이상의 양태는 사용자에게 정보를 디스플레이하기 위한 디스플레이 디바이스(예를 들어, CRT(음극선관), LCD(액정 디스플레이) 모니터 또는 터치 스크린) 및 선택적으로 사용자가 컴퓨터에 입력을 제공할 수 있는 마우스 또는 트랙볼과 같은 포인팅 디바이스 및 키보드를 갖는 컴퓨터상에서 구현될 수 있다. 다른 종류의 디바이스가 사용자와의 상호 작용도 제공하는데 사용될 수 있다. 예를 들어, 사용자에게 제공되는 피드백은 시각적 피드백, 청각 피드백 또는 촉각 피드백과 같은 임의의 형태의 감각 피드백일 수 있고, 사용자로부터의 입력은 음향, 음성 또는 촉각 입력을 비롯하여 임의의 형태로 수신될 수 있다. 게다가, 컴퓨터는 사용자가 사용하는 디바이스와 문서를 주고받음으로써, 예를 들어, 웹 브라우저에서 받은 요청에 대한 응답으로 사용자 클라이언트 디바이스의 웹 브라우저로 웹 페이지를 전송함으로써 사용자와 상호 작용할 수 있다.
다수의 구현이 설명되었다. 그럼에도 불구하고, 본 발명의 사상 및 범위를 벗어나지 않고 다양한 수정이 이루어질 수 있음이 이해될 것이다. 따라서, 다른 구현은 다음 청구 범위 내에 있다.

Claims (28)

  1. 스트리밍 및 비스트리밍 음성 인식을 통합하기 위한 단일 트랜스포머-트랜스듀서 모델(200)으로서, 상기 단일 트랜스포머-트랜스듀서 모델(200)은,
    입력으로서, 음향 프레임(110)의 시퀀스를 수신하고; 그리고
    복수의 시간 단계 각각에서, 음향 프레임(110)의 시퀀스에서 대응하는 음향 프레임(110)에 대한 고차 특징 표현을 생성하도록 구성된 오디오 인코더(300)와;
    입력으로서, 최종 소프트맥스 계층(240)에 의해 출력된 비-공백(non-blank) 심볼의 시퀀스를 수신하고; 그리고
    복수의 시간 단계 각각에서, 밀집(dense) 표현을 생성하도록 구성된 레이블 인코더(220)와; 그리고
    입력으로서, 복수의 시간 단계 각각에서 오디오 인코더(300)에 의해 생성된 고차 특징 표현 및 복수의 시간 단계 각각에서 레이블 인코더(220)에 의해 생성된 밀집 표현을 수신하고; 그리고
    복수의 시간 단계 각각에서, 대응하는 시간 단계에서 가능한 음성 인식 가설에 대한 확률 분포를 생성하도록 구성된 공동 네트워크(230)를 포함하고,
    상기 오디오 인코더(300)는 복수의 트랜스포머 계층(400)을 갖는 신경망을 포함하고, 상기 복수의 트랜스포머 계층(400)은,
    제로 예측(look ahead) 오디오 컨텍스트로 각각 트레이닝된 트랜스포머 계층(400)의 초기 스택(310)과; 그리고
    가변 예측 오디오 컨텍스트로 각각 트레이닝된 트랜스포머 계들(400)의 최종 스택(320)을 포함하는 것을 특징으로 하는 단일 트랜스포머-트랜스듀서 모델.
  2. 제1항에 있어서,
    상기 오디오 인코더(300)의 각각의 트랜스포머 계층(400)은,
    정규화 계층(404);
    상대 위치 인코딩을 사용하는 마스킹된 다중-헤드 어텐션 계층(406);
    잔여 연결(408);
    적층/비적층(stacking/unstacking) 계층(410); 및
    피드포워드 계층(412)을 포함하는 것을 특징으로 하는 단일 트랜스포머-트랜스듀서 모델.
  3. 제2항에 있어서,
    상기 적층/비적층 계층(410)은,
    트레이닝 및 추론 동안 단일 트랜스포머-트랜스듀서 모델(200)에 의한 처리 시간을 조정하기 위해 상기 대응하는 트랜스포머 계층(400)의 프레임 레이트를 변경하도록 구성되는 것을 특징으로 하는 단일 트랜스포머-트랜스듀서 모델.
  4. 제1항 내지 제3항 중 어느 한 항에 있어서,
    상기 트랜스포머 계층(400)의 초기 스택(310)은,
    트랜스포머 계층(400)의 최종 스택(320)보다 더 많은 트랜스포머 계층(400)을 포함하는 것을 특징으로 하는 단일 트랜스포머-트랜스듀서 모델.
  5. 제1항 내지 제4항 중 어느 한 항에 있어서,
    트레이닝 동안, 가변 예측 오디오 컨텍스트는 트랜스포머 계층(400)의 최종 스택(320)에서 각각의 트랜스포머 계층(400)에 대해 균일하게 샘플링되는 것을 특징으로 하는 단일 트랜스포머-트랜스듀서 모델.
  6. 제1항 내지 제5항 중 어느 한 항에 있어서,
    제1 예측 오디오 컨텍스트를 사용하여 인코딩된 오디오 데이터(110)로부터 입력 발언(106)에 대한 대응하는 음성 인식 결과(120)를 디코딩하도록 구성된 저-레이턴시 디코딩 분기(321)와; 그리고
    제2 예측 오디오 컨텍스트를 사용하여 인코딩된 오디오 데이터(110)로부터 입력 발언(106)에 대한 대응하는 음성 인식 결과(120)를 디코딩하도록 구성된 고-레이턴시 디코딩 분기(322)를 더 포함하고, 상기 제2 예측 오디오 컨텍스트는 제1 예측 오디오 컨텍스트보다 더 긴 지속 시간(duration)의 예측 오디오를 포함하는 것을 특징으로 하는 단일 트랜스포머-트랜스듀서 모델.
  7. 제6항에 있어서,
    상기 트랜스포머 계층(400)의 초기 스택(310)은 저-레이턴시 디코딩 분기(321) 및 고-레이턴시 디코딩 분기(322) 모두에 의해 사용하기 위한 공유(shared) 활성화(312)를 계산하기 위해 제로 예측 오디오 컨텍스트를 적용하고;
    상기 트랜스포머 계층(400)의 최종 스택(320)은 고-레이턴시 디코딩 분기(322)가 아닌 저-레이턴시 디코딩 분기(321)에 의해 사용하기 위한 저-레이턴시 활성화(323)를 계산하기 위해 제1 예측 오디오 컨텍스트를 적용하고; 그리고
    상기 트랜스포머 계층(400)의 최종 스택(320)은 저-레이턴시 디코딩 분기(321)가 아닌 고-레이턴시 디코딩 분기(322)에 의해 사용하기 위한 고-레이턴시 활성화(324)를 계산하기 위해 제2 예측 오디오 컨텍스트를 적용하는 것을 특징으로 하는 단일 트랜스포머-트랜스듀서 모델.
  8. 제6항 또는 제7항에 있어서,
    상기 제1 예측 오디오 컨텍스트는,
    제로 예측 오디오 컨텍스트를 포함하는 것을 특징으로 하는 단일 트랜스포머-트랜스듀서 모델.
  9. 제6항 내지 제8항 중 어느 한 항에 있어서,
    상기 저-레이턴시 디코딩 분기(321) 및 고-레이턴시 디코딩 분기(322)는,
    입력 발언(106)에 대한 대응하는 음성 인식 결과(120)를 디코딩하기 위해 병렬로 실행되는 것을 특징으로 하는 단일 트랜스포머-트랜스듀서 모델.
  10. 제9항에 있어서,
    상기 입력 발언(106)에 대한 고-레이턴시 디코딩 분기(322)에 의해 디코딩된 대응하는 음성 인식 결과(120)는,
    입력 발언(106)에 대한 저-레이턴시 디코딩 분기(321)에 의해 디코딩된 상기 대응하는 음성 인식 결과(120)로부터 제2 예측 오디오 컨텍스트와 제1 예측 오디오 컨텍스트 사이의 차이에 기초한 지속 시간만큼 지연되는 것을 특징으로 하는 단일 트랜스포머-트랜스듀서 모델.
  11. 제6항 내지 제10항 중 어느 한 항에 있어서,
    상기 저-레이턴시 디코딩 분기(321)는 입력 발언(106)이 단일 트랜스포머-트랜스듀서 모델(200)에 의해 수신될 때 부분 음성 인식 결과(120)로서 상기 대응하는 음성 인식 결과(120)를 스트리밍하도록 구성되고; 그리고
    상기 고-레이턴시 디코딩 분기(322)는 단일 트랜스포머-트랜스듀서 모델(200)이 완전한 입력 발언(106)을 수신한 후 최종 전사(120)로서 상기 대응하는 음성 인식 결과(120)를 출력하도록 구성되는 것을 특징으로 하는 단일 트랜스포머-트랜스듀서 모델.
  12. 제6항 내지 제11항 중 어느 한 항에 있어서,
    상기 입력 발언(106)은 애플리케이션(50)을 지향하고; 그리고
    상기 입력 발언(106)에 대한 대응하는 음성 인식 결과(120)를 디코딩하기 위해 고-레이턴시 디코딩 분기(322)에 의해 사용되는 제2 예측 오디오 컨텍스트의 지속 시간은 입력 발언(106)이 지향하는 애플리케이션의 유형에 기초하는 것을 특징으로 하는 단일 트랜스포머-트랜스듀서 모델.
  13. 제1항 내지 제12항 중 어느 한 항에 있어서,
    상기 레이블 인코더(220)는,
    복수의 트랜스포머 계층(400)을 갖는 신경망을 포함하는 것을 특징으로 하는 단일 트랜스포머-트랜스듀서 모델.
  14. 제1항 내지 제12항 중 어느 한 항에 있어서,
    상기 레이블 인코더(220)는,
    바이그램(bigram) 임베딩 룩업 디코더 모델을 포함하는 것을 특징으로 하는 단일 트랜스포머-트랜스듀서 모델..
  15. 제1항 내지 제14항 중 어느 한 항에 있어서,
    상기 단일 트랜스포머-트랜스듀서 모델(200)은 클라이언트 디바이스(10)에서 실행되거나; 또는
    상기 단일 트랜스포머-트랜스듀서 모델(200)은 서버 기반 시스템(60)에서 실행되는 것을 특징으로 하는 단일 트랜스포머-트랜스듀서 모델.
  16. 데이터 처리 하드웨어(12)에서 실행될 때 데이터 처리 하드웨어(12)로 하여금 동작들을 수행하게 하는 컴퓨터 구현 방법(500)으로서, 상기 동작들은,
    트랜스포머-트랜스듀서 모델(200)에 대한 입력으로서, 음성 발언(106)에 해당하는 오디오 데이터(110)를 수신하는 단계와; 그리고
    트랜스포머-트랜스듀서 모델(200)을 사용하여, 오디오 데이터(110)에 대한 스트리밍 음성 인식 및 비스트리밍 음성 인식을 병렬로 수행하는 단계로서,
    트랜스포머-트랜스듀서 모델(200)의 저-레이턴시 분기(321)에 대해:
    음성 발언(106)에 해당하는 오디오 데이터(110)를 수신하는 동안, 제1 예측 오디오 컨텍스트를 사용하여 오디오 데이터(110)를 인코딩하는 단계;
    제1 예측 오디오 컨텍스트를 사용하여 인코딩된 오디오 데이터(110)를 음성 발언(106)에 대한 부분 음성 인식 결과(120)로 디코딩하는 단계; 및
    음성 발언(106)에 대한 부분 음성 인식 결과(120)를 스트리밍하는 단계와; 그리고
    트랜스포머-트랜스듀서 모델의 고-레이턴시 분기(322)에 대해:
    음성 발언(106)에 해당하는 오디오 데이터(110)가 수신된 후, 제2 예측 오디오 컨텍스트를 사용하여 오디오 데이터(110)를 인코딩하는 단계;
    제2 예측 오디오 컨텍스트를 사용하여 인코딩된 오디오 데이터(110)를 음성 발언(106)에 대한 최종 음성 인식 결과(120)로 디코딩하는 단계; 및
    스트리밍된 부분 음성 인식 결과(120)를 최종 음성 인식 결과(120)로 대체하는 단계를 포함하는 것을 특징으로 하는 컴퓨터 구현 방법(500)
  17. 제16항에 있어서,
    상기 트랜스포머-트랜스듀서 모델(200)은 복수의 트랜스포머 계층(400)을 갖는 신경망을 포함하는 오디오 인코더(300)를 포함하고,
    상기 복수의 트랜스포머 계층(400)은,
    제로 예측 오디오 컨텍스트로 각각 트레이닝된 트랜스포머 계층(400)의 초기 스택(310)과; 그리고
    가변 예측 오디오 컨텍스트로 각각 트레이닝된 트랜스포머 계층(400)의 최종 스택(320)을 포함하는 것을 특징으로 하는 컴퓨터 구현 방법(500).
  18. 제17항에 있어서,
    각각의 트랜스포머 계층(400)은,
    정규화 계층(404);
    상대 위치 인코딩을 사용하는 마스킹된 다중-헤드 어텐션 계층(406);
    잔여 연결(408);
    적층/비적층 계층(410); 및
    피드포워드 계층(412)을 포함하는 것을 특징으로 하는 컴퓨터 구현 방법(500).
  19. 제18항에 있어서,
    상기 적층/비적층 계층(410)은,
    트레이닝 및 추론 동안 단일 트랜스포머-트랜스듀서 모델(200)에 의한 처리 시간을 조정하기 위해 상기 대응하는 트랜스포머 계층(400)의 프레임 레이트를 변경하도록 구성되는 것을 특징으로 하는 컴퓨터 구현 방법(500).
  20. 제17항 내지 제19항 중 어느 한 항에 있어서,
    상기 트랜스포머 계층(400)의 초기 스택(310)은,
    트랜스포머 계층(400)의 최종 스택(320)보다 더 많은 트랜스포머 계층(400)을 포함하는 것을 특징으로 하는 컴퓨터 구현 방법(500).
  21. 제17항 내지 제20항 중 어느 한 항에 있어서,
    트레이닝 동안, 상기 가변 예측 오디오 컨텍스트는 트랜스포머 계층(400)의 최종 스택(320)에서 각각의 트랜스포머 계층(400)에 대해 균일하게 샘플링되는 것을 특징으로 하는 컴퓨터 구현 방법(500).
  22. 제17항 내지 제21항 중 어느 한 항에 있어서,
    상기 트랜스포머 계층(400)의 초기 스택(310)은 저-레이턴시 분기(321) 및 고-레이턴시 분기(322) 모두에 의해 사용하기 위한 공유 활성화(312)를 계산하기 위해 제로 예측 오디오 컨텍스트를 적용하고;
    상기 트랜스포머 계층(400)의 최종 스택(320)은 고-레이턴시 분기(322)가 아닌 저-레이턴시 분기(321)에 의해 사용하기 위한 저-레이턴시 활성화(323)를 계산하기 위해 제1 예측 오디오 컨텍스트를 적용하고; 그리고
    상기 트랜스포머 계층(400)의 최종 스택(320)은 저-레이턴시 분기(321)가 아닌 고-레이턴시 분기(322)에 의해 사용하기 위한 고-레이턴시 활성화(324)를 계산하기 위해 제2 예측 오디오 컨텍스트를 적용하는 것을 특징으로 하는 컴퓨터 구현 방법(500).
  23. 제16항 내지 제22항 중 어느 한 항에 있어서,
    상기 제1 예측 오디오 컨텍스트는,
    제로 예측 오디오 컨텍스트를 포함하는 것을 특징으로 하는 컴퓨터 구현 방법(500).
  24. 제16항 내지 제23항 중 어느 한 항에 있어서,
    상기 입력 발언(106)에 대한 고-레이턴시 디코딩 분기(322)에 의해 디코딩된 최종 음성 인식 결과(120)는,
    음성 발언(106)에 대한 저-레이턴시 디코딩 분기(321)에 의해 디코딩된 부분 음성 인식 결과(120)로부터 제2 예측 오디오 컨텍스트와 제1 예측 오디오 컨텍스트 사이의 차이에 기초한 지속 시간만큼 지연되는 것을 특징으로 하는 컴퓨터 구현 방법(500).
  25. 제16항 내지 제24항 중 어느 한 항에 있어서,
    상기 동작들은,
    음성 발언(106)이 지향하는 애플리케이션(50)의 유형을 나타내는 애플리케이션 식별자(52)를 수신하는 단계와; 그리고
    애플리케이션 식별자(52)에 기초하여 제2 예측 오디오 컨텍스트의 지속 시간을 설정하는 단계를 더 포함하는 것을 특징으로 하는 컴퓨터 구현 방법(500).
  26. 제16항 내지 제25항 중 어느 한 항에 있어서,
    상기 트랜스포머-트랜스듀서 모델(200)은,
    복수의 트랜스포머 계층(400)을 갖는 신경망을 포함하는 레이블 인코더(220)를 포함하는 것을 특징으로 하는 컴퓨터 구현 방법(500).
  27. 제16항 내지 제25항 중 어느 한 항에 있어서,
    상기 트랜스포머-트랜스듀서 모델(200)은,
    바이그램 임베딩 룩업 디코더 모델을 포함하는 레이블 인코더(220)를 포함하는 것을 특징으로 하는 컴퓨터 구현 방법(500).
  28. 제16항 내지 제27항 중 어느 한 항에 있어서,
    상기 데이터 처리 하드웨어(12)는,
    트랜스포머-트랜스듀서 모델(200)에서 실행되고, 그리고
    클라이언트 디바이스(10); 또는
    서버 기반 시스템(60)에 상주하는 것을 특징으로 하는 컴퓨터 구현 방법(500).
KR1020237013642A 2020-10-05 2021-03-19 트랜스포머-트랜스듀서: 스트리밍 및 비스트리밍 음성 인식을 통합하는 하나의 모델 KR20230073297A (ko)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US202063087817P 2020-10-05 2020-10-05
US63/087,817 2020-10-05
PCT/US2021/023052 WO2022076029A1 (en) 2020-10-05 2021-03-19 Transformer transducer: one model unifying streaming and non-streaming speech recognition

Publications (1)

Publication Number Publication Date
KR20230073297A true KR20230073297A (ko) 2023-05-25

Family

ID=75539917

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020237013642A KR20230073297A (ko) 2020-10-05 2021-03-19 트랜스포머-트랜스듀서: 스트리밍 및 비스트리밍 음성 인식을 통합하는 하나의 모델

Country Status (6)

Country Link
US (2) US11741947B2 (ko)
EP (1) EP4200842A1 (ko)
JP (1) JP2023545988A (ko)
KR (1) KR20230073297A (ko)
CN (1) CN116250038A (ko)
WO (1) WO2022076029A1 (ko)

Families Citing this family (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20210029354A (ko) * 2019-09-06 2021-03-16 삼성전자주식회사 전자장치 및 그 제어방법
US11853381B2 (en) * 2020-11-13 2023-12-26 Google Llc Hybrid fetching using a on-device cache
US11908458B2 (en) * 2020-12-29 2024-02-20 International Business Machines Corporation Customization of recurrent neural network transducers for speech recognition
US20220310081A1 (en) * 2021-03-26 2022-09-29 Google Llc Multilingual Re-Scoring Models for Automatic Speech Recognition
WO2022203733A1 (en) * 2021-03-26 2022-09-29 Google Llc Mixture model attention for flexible streaming and non-streaming automatic speech recognition
CN116665656B (zh) * 2023-07-24 2023-10-10 美智纵横科技有限责任公司 语音识别模型的生成方法、语音识别方法、装置及芯片
CN117079653A (zh) * 2023-10-11 2023-11-17 荣耀终端有限公司 语音识别方法、语音识别模型的训练方法、设备及介质

Family Cites Families (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10319374B2 (en) * 2015-11-25 2019-06-11 Baidu USA, LLC Deployed end-to-end speech recognition
US11145293B2 (en) * 2018-07-20 2021-10-12 Google Llc Speech recognition with sequence-to-sequence models
US11257481B2 (en) * 2018-10-24 2022-02-22 Tencent America LLC Multi-task training architecture and strategy for attention-based speech recognition system
US11373639B2 (en) * 2019-12-12 2022-06-28 Mitsubishi Electric Research Laboratories, Inc. System and method for streaming end-to-end speech recognition with asynchronous decoders pruning prefixes using a joint label and frame information in transcribing technique
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
US11776529B2 (en) * 2020-04-28 2023-10-03 Samsung Electronics Co., Ltd. Method and apparatus with speech processing

Also Published As

Publication number Publication date
JP2023545988A (ja) 2023-11-01
US20230368779A1 (en) 2023-11-16
WO2022076029A1 (en) 2022-04-14
US11741947B2 (en) 2023-08-29
US20220108689A1 (en) 2022-04-07
CN116250038A (zh) 2023-06-09
EP4200842A1 (en) 2023-06-28

Similar Documents

Publication Publication Date Title
JP7436760B1 (ja) サブワードエンドツーエンド自動音声認識のための学習ワードレベルコンフィデンス
KR20230073297A (ko) 트랜스포머-트랜스듀서: 스트리밍 및 비스트리밍 음성 인식을 통합하는 하나의 모델
US20220122622A1 (en) Cascaded Encoders for Simplified Streaming and Non-Streaming ASR
US11715458B2 (en) Efficient streaming non-recurrent on-device end-to-end model
KR20220125327A (ko) 종단간 음성 인식에서 고유 명사 인식
KR20230158608A (ko) 종단 간 자동 음성 인식 신뢰도 및 삭제 추정을 위한 멀티태스크 학습
KR20240065125A (ko) 희귀 단어 스피치 인식을 위한 대규모 언어 모델 데이터 선택
EP4295357A1 (en) Mixture model attention for flexible streaming and non-streaming automatic speech recognition
KR20220128401A (ko) 어텐션-기반 조인트 음향 및 텍스트 온-디바이스 E2E(End-To-End) 모델
US20220310097A1 (en) Reducing Streaming ASR Model Delay With Self Alignment
KR102637025B1 (ko) 자동 음성 인식을 위한 다언어 리스코어링 모델들
US20240029720A1 (en) Context-aware Neural Confidence Estimation for Rare Word Speech Recognition
US20230326461A1 (en) Unified Cascaded Encoder ASR model for Dynamic Model Sizes
KR20240068723A (ko) Rnn-T로 구현된 자동 음성 인식 시스템에서 음향과 텍스트 표현의 융합
KR20240074809A (ko) 장문 스피치 인식을 위한 트레이닝
KR20230156795A (ko) 단어 분할 규칙화
CN118339608A (zh) 实施为rnn-t的自动语音识别系统中的声学表示和文本表示的融合

Legal Events

Date Code Title Description
A201 Request for examination