KR20230156425A - 자체 정렬을 통한 스트리밍 asr 모델 지연 감소 - Google Patents

자체 정렬을 통한 스트리밍 asr 모델 지연 감소 Download PDF

Info

Publication number
KR20230156425A
KR20230156425A KR1020237035507A KR20237035507A KR20230156425A KR 20230156425 A KR20230156425 A KR 20230156425A KR 1020237035507 A KR1020237035507 A KR 1020237035507A KR 20237035507 A KR20237035507 A KR 20237035507A KR 20230156425 A KR20230156425 A KR 20230156425A
Authority
KR
South Korea
Prior art keywords
speech recognition
model
recognition model
streaming
layer
Prior art date
Application number
KR1020237035507A
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 KR20230156425A publication Critical patent/KR20230156425A/ko

Links

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
    • 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/26Speech to text systems

Landscapes

  • Engineering & Computer Science (AREA)
  • Computational Linguistics (AREA)
  • Health & Medical Sciences (AREA)
  • Audiology, Speech & Language Pathology (AREA)
  • Human Computer Interaction (AREA)
  • Physics & Mathematics (AREA)
  • Acoustics & Sound (AREA)
  • Multimedia (AREA)
  • Artificial Intelligence (AREA)
  • Evolutionary Computation (AREA)
  • Machine Translation (AREA)
  • Telephonic Communication Services (AREA)

Abstract

스트리밍 음성 인식 모델(200)은 음향 프레임(110)의 시퀀스를 수신하여 음향 프레임 시퀀스의 대응하는 음향 프레임에 대한 고차 특징 표현(202)을 생성하도록 구성된 오디오 인코더(210)를 포함한다. 스트리밍 음성 인식 모델은 또한 최종 소프트맥스 계층(240)에 의해 출력된 비공백 심볼(242)의 시퀀스를 수신하여 밀집 표현(222)을 생성하도록 구성된 라벨 인코더(220)를 포함한다. 스트리밍 음성 인식 모델은 또한 오디오 인코더에 의해 생성된 고차 특징 표현과 라벨 인코더에 의해 생성된 밀집 표현을 수신하여 가능한 음성 인식 가설에 대한 확률 분포(232)를 생성하도록 구성된 공동 네트워크(230)를 포함한다. 여기서 스트리밍 음성 인식 모델은 기준 강제 정렬 프레임으로부터 한 프레임 남은 정렬 경로를 장려함으로써 예측 지연을 줄이기 위해 자체 정렬을 사용하여 트레이닝된다.

Description

자체 정렬을 통한 스트리밍 ASR 모델 지연 감소
본 개시는 자체 정렬을 통해 스트리밍 자동 음성 인식(ASR) 모델 지연을 줄이는 것에 관한 것이다.
오디오 입력을 받아 텍스트로 변환하는 프로세스인 자동 음성 인식(ASR)은 모바일 디바이스 및 기타 디바이스에서 사용되는 중요한 기술이었다. 일반적으로 ASR은 오디오 입력(예를 들어, 음성 발언)을 받아 오디오 입력을 텍스트로 변환함으로써 사람이 말한 내용의 정확한 전사를 제공하려고 시도한다. 최신 ASR 모델은 심층 신경망의 지속적인 개발에 기초하여 정확성(예를 들어, 낮은 단어 오류율(WER)과 레이턴시(예를 들어, 사용자 말하기와 전사 사이의 지연) 모두에서 지속적으로 개선되고 있다. 오늘날 ASR 시스템을 사용할 때 ASR 시스템은 실시간에 해당하거나 실시간보다 더 빠른 스트리밍 방식으로 발언을 디코딩하면서도 정확해야 한다는 요구가 있다. 그러나, 지연 제약 없이 시퀀스 가능성을 최적화하는 스트리밍 엔드-투-엔드 모델은 더 많은 미래 컨텍스트를 사용하여 예측을 개선하는 방법을 학습하기 때문에 오디오 입력과 예측된 텍스트 사이의 지연이 길어진다.
본 개시의 일 양태는 입력으로서, 음향 프레임의 시퀀스를 수신하고, 복수의 시간 단계 각각에서, 음향 프레임의 시퀀스내의 대응하는 음향 프레임에 대한 고차 특징 표현을 생성하도록 구성된 오디오 인코더를 포함하는 스트리밍 음성 인식 모델을 제공한다. 스트리밍 음성 인식 모델은 또한 입력으로서, 최종 소프트맥스 계층에 의해 출력된 비공백(non-blank) 심볼의 시퀀스를 입력으로 수신하고, 복수의 시간 단계 각각에서, 밀집(dense) 표현을 생성하도록 구성된 라벨 인코더를 포함한다. 스트리밍 음성 인식 모델은 또한 입력으로서, 복수의 시간 단계 각각에서 오디오 인코더에 의해 생성된 고차 특징 표현 및 복수의 시간 단계 각각에서 라벨 인코더에 의해 생성된 밀집 표현을 수신하고, 복수의 시간 단계 각각에서, 해당 시간 단계에서 가능한 음성 인식 가설에 대한 확률 분포를 생성하도록 구성된 공동(joint) 네트워크를 포함한다. 여기서 스트리밍 음성 인식 모델은 각 트레이닝 배치(batch)에 대해, 각 시간 단계에서 기준 강제 정렬 프레임에서 한 프레임 왼쪽에 있는 정렬 경로를 장려함으로써 예측 지연을 줄이기 위해 자체 정렬을 사용하여 트레이닝된다.
본 개시의 구현은 다음과 같은 선택적 기능 중 하나 이상을 포함할 수 있다. 일부 구현에서, 스트리밍 음성 인식 모델은 프랜스포머-트랜스듀서(Transformer-Transducer) 모델을 포함한다. 이들 구현에서, 오디오 인코더는 트랜스포머 계층의 스택을 포함하고, 각 트랜스포머는 계층은 정규화 계층, 상대 위치 인코딩을 사용하는 마스킹된 다중 헤드 어텐션 계층, 잔여 연결, 적층/비적층 계층, 및 피드포워드 계층을 포함할 수 있다. 여기서 적층/비적층 계층은 트레이닝 및 추론 중에 프랜스포머-트랜스듀서 모델에 의한 처리 시간을 조정하기 위해 해당 프랜스포머 계층의 프레임 레이트를 변경하도록 구성될 수 있다. 일부 예에서, 라벨 인코더는 트랜스포머 계층의 스택을 포함하고, 각 트랜스포머 계층은 정규화 계층, 상대 위치 인코딩을 사용하는 마스킹된 다중 헤드 어텐션 계층, 잔여 연결, 적층/비적층 계층, 및 피드포워드 계층을 포함한다.
선택적으로, 라벨 인코더는 바이그램(bigram) 임베딩 룩업 디코더 모델을 포함할 수 있다. 일부 예에서, 스트리밍 음성 인식 모델은 순환 신경-트랜스듀서(RNN-T) 모델, 프랜스포머-트랜스듀서 모델, 컨볼루션 네트워크-트랜스듀서(ConvNet-Transducer) 모델, 또는 컨포너((Conformer)-트랜스듀서 모델 중 하나를 포함한다. 예측 지연을 줄이기 위해 자체 정렬을 사용하여 스트리밍 음성 인식 모델을 트레이닝하는 것은 디코딩 그래프의 정렬을 제한하기 위해 임의의 외부 정렬기 모델을 사용하지 않고 자체 정렬을 사용하는 것을 포함할 수 있다. 일부 구현에서, 스트리밍 음성 인식 모델은 사용자 디바이스 또는 서버에서 실행된다. 일부 예에서, 음향 프레임의 시퀀스의 각 음향 프레임은 차원 특징 벡터를 포함한다.
본 개시의 다른 양태는 데이터 처리 하드웨어에서 실행될 때 데이터 처리 하드웨어가 예측 지연을 줄이기 위해 자체 정렬을 사용하여 스트리밍 음성 인식 모델을 트레이닝하기 위한 동작들을 수행하도록 하는 컴퓨터 구현 방법을 제공한다. 동작들은 스트리밍 음성 인식 모델에 대한 입력으로서, 발언에 대응하는 음향 프레임의 시퀀스를 수신하는 단계를 포함한다. 스트리밍 음성 인식 모델은 음향 프레임의 시퀀스와 라벨 토큰의 출력 시퀀스 사이의 정렬 확률을 학습하도록 구성된다. 동작들은 또한 스트리밍 음성 인식 모델의 출력으로서, 디코딩 그래프를 사용하여 발언에 대한 음성 인식 결과를 생성하는 단계를 포함한다. 음성 인식 결과에는 라벨 토큰의 출력 시퀀스가 포함된다. 동작들은 또한 음성 인식 결과 및 발언의 실측 전사에 기초하여 음성 인식 모델 손실을 생성하는 단계를 포함한다. 동작들은 또한 디코딩 그래프로부터, 기준 강제 정렬 프레임을 포함하는 기준 강제 정렬 경로를 획득하는 단계와, 디코딩 그래프로부터, 기준 강제 정렬 경로의 각 기준 강제 정렬 프레임 왼쪽에 있는 하나의 프레임을 식별하는 단계를 포함한다. 동작들은 또한 기준 강제 정렬 경로의 각 기준 강제 정렬 프레임 왼쪽의 식별된 프레임에 기초하여 라벨 전환 확률을 합산하는 단계와, 라벨 전환 확률과 음성 인식 모델 손실의 합산에 기초하여 스트리밍 음성 인식 모델을 업데이트하는 단계를 포함한다.
본 개시의 구현은 다음의 선택적인 특징 중 하나 이상을 포함할 수 있다. 일부 구현에서, 동작들은 스트리밍 음성 인식 모델의 오디오 인코더에 의해, 복수의 시간 단계 각각에서, 음향 프레임 시퀀스의 대응하는 음향 프레임에 대한 고차 특징 표현을 생성하는 단계와; 스트리밍 음성 인식 모델의 라벨 인코더에 대한 입력으로서, 최종 소프트맥스 계층에 의해 출력된 비공백 심볼의 시퀀스를 수신하는 단계와; 라벨 인코더에 의해, 복수의 시간 단계 각각에서, 밀집 표현을 생성하는 단계와; 스트리밍 음성 인식 모델의 공동 네트워크에 대한 입력으로서, 복수의 시간 단계 각각에서 오디오 인코더에 의해 생성된 고차 특징 표현 및 복수의 시간 단계 각각에서 라벨 인코더에 의해 생성된 밀집 표현을 수신하는 단계와; 그리고 공동 네트워크에 의해, 복수의 시간 단계 각각에서, 해당 시간 단계에서 가능한 음성 인식 가설에 대한 확률 분포를 생성하는 단계를 더 포함한다. 일부 예에서, 라벨 인코더는 트랜스포머 계층의 스택을 포함하고, 각 트랜스포머 계층은 정규화 계층; 상대 위치 인코딩을 사용하는 마스킹된 다중 헤드 어텐션 계층, 잔여 연결, 적층/비적층 계층, 및 피드포워드 계층을 포함한다. 라벨 인코더는 바이그램 임베딩 룩업 디코더 모델을 포함한다.
일부 구현에서, 스트리밍 음성 인식 모델은 프랜스포머-트랜스듀서 모델을 포함한다. 오디오 인코더는 트랜스포머 계층의 스택을 포함하고, 각 트랜스포머 계층은 정규화 계층, 상대 위치 인코딩을 사용하는 마스킹된 다중 헤드 어텐션 계층, 잔여 연결, 적층/비적층 계층, 및 피드포워드 계층을 포함할 수 있다. 여기서, 적층/비적층 계층은 트레이닝 및 추론 중에 프랜스포머-트랜스듀서 모델에 의한 처리 시간을 조정하기 위해 대응하는 트랜스포머 계층의 프레임 레이트를 변경하도록 구성된다.
일부 구현에서, 스트리밍 음성 인식 모델은 순환 신경-트랜스듀서(RNN-T) 모델, 프랜스포머-트랜스듀서 모델, 컨볼루션 네트워크-트랜스듀서(ConvNet-Transducer) 모델, 또는 컨포너-트랜스듀서 모델 중 하나를 포함한다. 스트리밍 음성 인식 모델은 사용자 디바이스 또는 서버에서 실행될 수 있다. 일부 예에서, 동작들은 디코딩 그래프의 정렬을 제한하기 위해 임의의 외부 정렬기 모델을 사용하지 않고 예측 지연을 줄이기 위해 자체 정렬을 사용하여 스트리밍 음성 인식 모델을 트레이닝하는 단계를 더 포함한다.
본 개시의 하나 이상의 구현의 세부사항은 첨부 도면 및 아래의 설명에서 설명된다. 다른 측면, 특징 및 장점은 설명, 도면, 청구범위로부터 명백해질 것이다.
도 1은 스트리밍 음성 인식을 수행하기 위해 트랜스듀서 모델을 구현하는 음성 환경의 개략도이다.
도 2는 예시적인 트랜스듀서 모델 아키텍처의 개략도이다.
도 3은 자체 정렬 경로 및 강제 정렬 경로를 묘사하는 예시적인 디코딩 그래프의 플롯이다.
도 4는 예시적인 트랜스포머 아키텍처의 개략도이다.
도 5는 자체 정렬을 통해 스트리밍 ASR 모델 지연을 줄이는 방법에 대한 동작들의 예시적인 배열의 흐름도이다.
도 6은 본 명세서에 설명된 시스템 및 방법을 구현하는데 사용될 수 있는 예시적인 컴퓨팅 디바이스의 개략도이다.
다양한 도면의 유사한 참조 기호는 유사한 요소를 나타낸다.
자동 음성 인식(ASR) 시스템은 품질/정확성(예를 들어, 낮은 단어 오류율(WER))뿐만 아니라 낮은 레이턴시(예를 들어, 사용자 말하기와 전사 표시 간의 짧은 지연)을 제공하는데 중점을 둔다. 최근 엔드-투-엔드(E2E) ASR 모델은 정확성과 레이턴시 측면에서 최첨단 성능을 달성하는데 인기를 얻었다. 별도의 음향, 발음, 언어 모델을 포함하는 기존 하이브리드 ASR 시스템과 달리, E2E 모델은 시퀀스-투-시퀀스 접근 방식을 적용하여 트레이닝 데이터(예를 들어, 발언-전사 쌍)로부터 엔드 투 엔드(종단간) 트레이닝된 단일 신경망에서 음향 및 언어 모델링을 공동으로 학습한다. 여기서, E2E 모델은 아키텍처가 전적으로 신경망으로 구성된 모델을 지칭한다. 전체 신경망은 외부 및/또는 수동으로 설계된 구성 요소(예를 들어, 유한 상태 트랜스듀서, 어휘집, 또는 텍스트 정규화 모듈) 없이 작동한다. 추가적으로, E2E 모델을 트레이닝할 때, 이러한 모델은 일반적으로 의사결정 트리의 부트스트래핑이나 별도 시스템의 시간 정렬이 필요하지 않다.
오늘날 ASR 시스템을 사용할 때 ASR 시스템에는 사용자가 말할 때 발언에 대한 설명을 실시간으로 디스플레이하거나 심지어 실시간보다 빠르게 디스플레이하는 스트리밍 방식으로 발언을 디코딩해야 한다는 요구가 있을 수 있다. 설명하자면, ASR 시스템이 직접적인 사용자 상호작용을 경험하는 휴대폰과 같은 사용자 컴퓨팅 디바이스에 디스플레이될 때, 사용자 디바이스에서 실행되고 ASR 시스템을 사용하는 애플리케이션(예를 들어, 디지털 어시스턴트 애플리케이션)에서는 단어, 단어 조각 및/또는 개별 문자가 발언되자마자 화면에 나타나도록 음성 인식이 스트리밍되도록 요구할 수 있다. 추가적으로, 사용자 디바이스의 사용자는 레이턴시(대기 시간)에 대한 허용 오차(tolerance)가 낮을 가능성도 있다. 예를 들어, 사용자가 다가오는 약속에 대한 캘린더 애플리케이션의 세부 정보를 검색하도록 디지털 어시스턴트에게 요청하는 질의(query)를 말할 때, 사용자는 디지털 어시스턴트가 검색된 세부정보를 가능한 한 빨리 전달하는 응답을 제공하기를 원한다. 이러한 낮은 허용 오차로 인해, ASR 시스템은 사용자 경험에 해로운 영향을 미칠 수 있는 레이턴시 및 부정확성으로 인한 영향을 최소화하는 방식으로 사용자 디바이스에서 실행하려고 노력한다.
순환 신경망 트랜스듀서(RNN-T)로 알려진 시퀀스-투-시퀀스 모델의 한 형태는 어텐션 메커니즘을 사용하지 않으며, 일반적으로 전체 시퀀스(예를 들어, 오디오 파형)를 처리하여 출력(예를 들어, 문장)을 생성해야 하는 다른 시퀀스-투-시퀀스 모델과 달리, RNN-T는 입력 샘플을 지속적으로 처리하고 실시간 통신에 특히 매력적인 특징인 출력 심볼을 스트리밍한다. 예를 들어, RNN-T를 사용한 음성 인식은 음성으로 문자를 하나씩 출력할 수 있다. 여기서, RNN-T는 모델에 의해 예측된 심볼을 자체적으로 다시 공급하는 피드백 루프를 사용하여 다음 심볼을 예측한다. RNN-T 디코딩에는 대규모 디코더 그래프 대신 단일 신경망을 통한 빔 검색이 포함되기 때문에, RNN-T는 서버 기반 음성 인식 모델 크기의 일부로 확장될 수 있다. 크기 감소로, RNN-T는 전적으로 온-디바이스에 배포될 수 있으며 오프라인(즉, 네트워크 연결 없이)으로 실행될 수 있으므로 통신 네트워크의 불안정성 문제를 피할 수 있다. 일반적으로 대화 질의(예를 들어, "타이머 설정해", "우유 사라고 리마인드해 줘" 등)를 인식하는 레이턴시 민감형 애플리케이션뿐만 아니라 스트리밍 전사 기능을 제공하는데 적합하지만, 장단기 메모리(LSTM)를 활용하여 시퀀스 인코더를 제공하는 RNN-T 모델은 오디오 컨텍스트를 미리 볼 수 있는 능력이 제한되어 있어 품질(예를 들어, 단어 오류율(WER)로 자주 측정되는 음성 인식 정확도) 측면에서 대규모 최첨단 컨벤션 모델(예를 들어, 별도의 AM, PM 및 LM이 있는 서버 기반 모델) 및 어텐션 기반 시퀀스-투-시퀀스 모델(예를 들어, Listen-Attend-Spell(LAS))에 비해 여전히 뒤처져 있다.
최근, 오디오 인코더 및/또는 예측 네트워크의 LSTM 계층을 각각의 트랜스포머(Transformer) 또는 컨포머(Conformer) 계층으로 대체함으로써 RNN-T 모델 아키텍처를 더욱 개선하기 위해 T-T(Transformer-Transducer) 및 CT(Conformer-Transducer) 모델 아키텍처가 도입되었다. 일반적으로, T-T 및 C-T 모델 아키텍처는 해당 트랜스포머 또는 컨포머 계층에서 셀프-어텐션(self-attention)을 계산할 때 미래(향후) 오디오 프레임(예를 들어, 오른쪽 컨텍스트)에 액세스할 수 있다. 따라서, T-T 및 C-T 모델 아키텍처는 미래 오른쪽 컨텍스트를 활용하여 비-스트리밍 전사 모드에서 작동하여 레이턴시 제약이 완화될 때 음성 인식 성능을 향상시킬 수 있다. 즉, 액세스되는 미래 오디오 프레임의 양에 비례하는 예측 지연 기간 (duration)이 있다. 그러나, RNN-T와 마찬가지로, T-T 및 C-T 모델 아키텍처는 셀프-어텐션이 과거 음향 프레임(예를 들어, 왼쪽 컨텍스트)에만 의존하는 스트리밍 전사 모드에서도 작동할 수 있다.
트랜스듀서 모델(예를 들어, RNN-T, T-T 및 C-T)과 같은 스트리밍 음성 인식 모델은 지연 제약 없이 시퀀스 가능성을 최적화하므로 이러한 모델은 더 많은 미래 컨텍스트를 사용하여 예측을 향상시키는 방법을 학습하기 때문에 오디오 입력과 예측 텍스트 사이에 높은 지연이 발생한다. 예측 지연을 줄이기 위한 최근의 접근 방식에는 사전 결정된 임계 지연을 초과하는 정렬 경로를 마스킹함으로써 외부 정렬 모델로부터 획득된 오디오 정렬 정보에 기초하여 단어 경계에 페널티를 적용하는 제한 정렬 기술이 포함된다. 이 기술은 스트리밍 엔드-투-엔드 모델의 레이턴시를 줄이는데 효과적이지만, WER 저하를 최소화하려면 고정밀 외부 정렬 모델이 필요하므로 모델 교육 단계가 더욱 복잡해질 수 있다. RNN-T 디코딩 그래프에서 가장 효율적인 방향을 선택하여 맹목적으로 지연을 줄이는 다른 기술은 정렬 정보의 부족으로 인해 모든 오디오 입력에 대해 최적이 아닌 방향을 선택하는 경우가 많으며 이로 인해 지연-WER 균형이 더욱 저하될 수 있다.
외부 정렬 모델 사용과 관련된 단점을 완화하거나 그래프 디코딩에서 가장 효율적인 방향을 선택하여 단순히 맹목적으로 지연을 줄이기 위해, 본 문서의 구현은 자체 정렬을 사용하여 스트리밍 음성 인식 모델의 예측 지연을 줄이는 것에 관한 것이다. 특히, 자체 정렬에는 외부 정렬 모델을 사용하거나 지연을 맹목적으로 최적화할 필요가 없지만 대신 트레이닝된 음성 인식 모델로부터 학습된 기준 강제 정렬(reference forced-alignment)을 활용하여 지연을 줄이는 최적의 저레이턴시 방향을 선택한다. 기준 강제 정렬은 비터비(Viterbi) 강제 정렬을 포함할 수 있다. 즉, 자체 정렬은 항상 각 시간 단계에서 비터비 강제 정렬에 한 프레임 왼쪽인 디코딩 그래프내의 경로를 찾는다. 자체 정렬은 지연을 제한하는 기존 방식에 비해 장점이 있다. 첫째, 자체 정렬에는 외부 정렬 모델이 필요하지 않기 때문에 자체 정렬를 위한 트레이닝 복잡성은 교사 지원(teacher-assisted) 방식보다 훨씬 낮다. 둘째로, 자체 정렬은 가장 가능성 있는 정렬 경로만 제한함으로써 ASR 트레이닝에 최소한의 영향을 미친다. 반면에, 다른 방식은 정렬 경로를 마스킹하거나 자신의 라벨 전환 확률에 대한 가중치를 변경함으로써 많은 정렬 경로에 영향을 미틴다. 정규화 조건을 제한하는 지연은 항상 주요(main) ASR 손실과 충돌하므로, 지연 및 성능 균형을 최적화하기 위해서는 주요 손실에 대한 최소한의 개입이 중요하다. 자체 정렬은 단일 경로를 왼쪽 방향으로 밀어서만 정규화한다.
도 1은 음성 환경(100)의 예이다. 음성 환경(100)에서, 사용자 디바이스(10)와 같은 컴퓨팅 디바이스와 상호작용하는 사용자(104)의 방식은 음성 입력을 통해 이루어질 수 있다. 사용자 디바이스(10)(일반적으로 디바이스(10)라고도 함)는 음성 환경(100) 내의 하나 이상의 사용자(104)로부터 사운드(예를 들어, 스트리밍 오디오 데이터)를 캡처하도록 구성된다. 여기서, 스트리밍 오디오 데이터는 청각적 질의, 디바이스(10)에 대한 커맨드, 또는 디바이스(10)에 의해 캡처된 가청 통신으로서 기능하는 사용자(104)에 의한 음성 발언(spoken utterance)(106)을 지칭할 수 있다. 디바이스(10)의 음성 지원(enabled) 시스템은 질의에 응답하고 및/또는 커맨드가 하나 이상의 다운스트림 애플리케이션에 의해 수행/이행되도록 함으로써 질의 또는 커맨드를 입력할 수 있다.
사용자 디바이스(10)는 사용자(104)와 연관되고 오디오 데이터를 수신할 수 있는 임의의 컴퓨팅 디바이스에 해당할 수 있다. 사용자 디바이스(10)의 일부 예는 모바일 디바이스(예를 들어, 휴대폰, 태블릿, 랩탑 등), 컴퓨터, 웨어러블 디바이스(예를 들어, 스마트 시계), 스마트 기기, 사물 인터넷(IoT) 디바이스, 차량 인포테인먼트 시스템, 스마트 디스플레이, 스마트 스피커 등을 포함하지만 이에 한정되지는 않는다. 사용자 디바이스(10)는 데이터 처리 하드웨어(12) 및 그 데이터 처리 하드웨어(12)와 통신하고 데이터 처리 하드웨어(12)에 의해 실행될 때 데이터 처리 하드웨어(12)로 하여금 하나 이상의 동작을 수행하게 하는 명령들을 저장하는 메모리 하드웨어(14)를 포함한다. 사용자 디바이스(10)는 음성 환경(100) 내의 음성 발언(106)을 캡처하고 이를 전기 신호로 변환하기 위한 오디오 캡처 디바이스(예를 들어, 마이크로폰)(16, 16a) 및 (예를 들어, 디바이스(10)로부터의 출력 오디오 데이터로서) 가청 오디오 신호를 전달하기 위한 음성 출력 디바이스(예를 들어, 스피커)(16, 16b)를 갖춘 오디오 시스템(16)을 더 포함한다. 도시된 예에서 사용자 디바이스(10)는 단일 오디오 캡처 디바이스(16a)를 구현하지만, 사용자 디바이스(10)는 본 개시의 범위를 벗어나지 않고 오디오 캡처 디바이스(16a)의 어레이를 구현할 수 있으며, 이로써 어레이내의 하나 이상의 캡처 디바이스(16a)는 사용자 디바이스(10)에 물리적으로 상주하지 않을 수 있지만 오디오 캡처 디바이스(16a)와 통신할 수 있다.
음성 환경(100)에서, 자동 음성 인식(ASR) 시스템(118) 트랜스듀서 모델(200)은 사용자(104)의 사용자 디바이스(10) 및/또는 네트워크(40)를 통해 사용자 장치(10)와 통신하는 원격 컴퓨팅 디바이스(60)(예를 들어, 클라우드 컴퓨팅에서 실행되는 분산 시스템의 하나 이상의 원격 서버)에 상주한다. 사용자 디바이스(10) 및/또는 원격 컴퓨팅 디바이스(60)는 또한 사용자(104)에 의해 발화되고 오디오 캡처 디바이스(16a)에 의해 캡처된 발언(106)을 수신하고 그 발언(106)을 ASR 시스템(118)에 의해 처리될 수 있는 입력 음향 프레임(110)과 관련된 해당 디지털 형식으로 변환하도록 구성된 오디오 서브시스템(108)을 포함한다. 도시된 예에서, 사용자는 개별 발언(106)을 말하고 오디오 서브시스템(108)은 ASR 시스템(118)에 입력하기 위해 발언(106)을 대응하는 오디오 데이터(예를 들어, 음향 프레임)(110)로 변환한다. 그 후, 트랜스듀서 모델(200)은 입력으로서 발언(106)에 대응하는 오디오 데이터(110)를 수신하고, 출력으로서 발언(106)의 대응하는 전사(120)(예를 들어, 인식 결과/가설)를 생성/예측한다. 트랜스듀서 모델(200)은 룩어헤드 (lookahead, 예견) 오디오에 액세스할 수 없는 스트리밍 음성 인식 결과를 제공하므로 사용자(104)가 발언(106)를 말할 때 실시간으로 스트리밍 전사 기능을 제공한다. 예를 들어, 사용자 디바이스(10)에서 실행되는 디지털 어시스턴트 애플리케이션(50)은 단어, 단어 조각, 및/또는 개별 문자가 발화되자마자 화면에 나타나도록 스트리밍되는 음성 인식을 요구할 수 있다.
사용자 디바이스(10) 및/또는 원격 컴퓨팅 디바이스(60)는 또한 발언(106)의 전사(120) 표현을 사용자 디바이스(10)의 사용자(104)에게 제시하도록 구성된 사용자 인터페이스 생성기(107)를 실행한다. 아래에서 더 자세히 설명되는 바와 같이, 사용자 인터페이스 생성기(107)는 시간 1 동안 부분 음성 인식 결과(120a)를 스트리밍 방식으로 디스플레이하고 이어서 시간 2 동안 최종 음성 인식 결과(120b)를 디스플레이할 수 있다. 일부 구성에서, ASR 시스템(118)으로부터 출력된 전사(120)는 예를 들어 사용자 디바이스(10) 또는 원격 컴퓨팅 디바이스(60)에서 실행되는 자연어 이해(NLU) 모듈에 의해 처리되어 발언(106)에 의해 지정된 사용자 커맨드/질의를 실행한다. 추가적으로 또는 대안적으로, 텍스트-음성 변환 시스템(도시되지 않음)(예를 들어, 사용자 디바이스(10) 또는 원격 컴퓨팅 디바이스(60)의 임의의 조합에서 실행됨)는 사용자 디바이스(10) 및/또는 다른 디바이스에 의한 가청 출력을 위해 전사를 합성 음성으로 변환할 수 있다.
도시된 예에서, 사용자(104)는 ASR 시스템(118)을 사용하는 사용자 디바이스(10)의 프로그램 또는 애플리케이션(50)(예를 들어, 디지털 어시스턴트 애플리케이션(50))과 상호작용한다. 예를 들어, 도 1은 사용자(10)와 디지털 어시스턴트 애플리케이션(50) 사이의 대화를 묘사하기 위해 사용자 디바이스(10)의 스크린 상에 디지털 어시스턴트 인터페이스(18)를 디스플레이하는 디지털 어시스턴트 애플리케이션(50) 및 디지털 어시스턴트 애플리케이션(50)과 통신하는 사용자(104)를 도시한다. 이 예에서, 사용자(104)는 디지털 어시스턴트 애플리케이션(50)에게 "오늘 밤 콘서트는 몇 시지?"라고 질문한다. 사용자(104)로부터의 이 질문은 오디오 캡처 디바이스(16a)에 의해 캡처되고 사용자 디바이스(10)의 오디오 시스템(16)에 의해 처리되는 음성 발언(106)이다. 이 예에서, 오디오 시스템(16)은 음성 발언(106)을 수신하고 이를 ASR 시스템(118)에 대한 입력을 위해 음향 프레임(110)으로 변환한다.
예시를 계속하면, 트랜스듀서 모델(200)은 사용자(104)가 말할 때 발언(106)에 대응하는 음향 프레임(110)을 수신하면서 음향 프레임(110)을 인코딩하고 그런 다음 인코딩된 음향 프레임(110)을 부분 음성 인식 결과(120a)로 디코딩한다. 시간 1 동안, 사용자 인터페이스 생성기(107)는 디지털 어시스턴트 인터페이스(18)를 통해, 단어, 단어 조각 및/또는 개별 문자가 발화되자마자 화면에 나타나도록 스트리밍 방식으로 발언(106)의 부분 음성 인식 결과(120a)의 표현을 사용자 디바이스(10)의 사용자(104)에게 제시한다. 일부 예에서, 첫 번째 룩어헤드 컨텍스트는 0과 같다.
시간 2 동안, 사용자 인터페이스 생성기(107)는 디지털 어시스턴트 인터페이스(18)를 통해, 발언(106)의 최종 음성 인식 결과(120b)의 표현을 사용자 디바이스(10)의 사용자(104)에게 제시한다. 최종 음성 인식 결과(120b)는 단순히 사용자가 말하기를 마친 후의 부분 음성 인식 결과(120a)일 수도 있다. 선택적으로, ASR 시스템(118)은 부분 음성 인식 결과를 재스코어링하고 및/또는 외부 언어 모델을 사용하기 위해 다른 음성 인식을 포함할 수 있다. 선택적으로, 동일한 트랜스듀서 모델(200)은 사용자가 말하기를 마치면 오디오를 다시 처리할 수 있지만 그 대신에 오른쪽 룩어헤드 오디오 컨텍스트를 활용하여 최종 음성 인식 결과(120b)를 생성할 수 있다. 본 개시는 최종 음성 인식 결과(120b)가 어떻게 획득되는지에 대해서는 다루지 않고, 대신 트랜스듀서 모델(200)에 의해 출력되는 스트리밍 부분 음성 인식 결과(120a)의 지연을 제한하는데 중점을 둔다.
도 1에 도시된 예에서, 디지털 어시스턴트 애플리케이션(50)은 자연어 처리를 사용하여 사용자(10)에 의해 제기된 질문에 응답할 수 있다. 자연어 처리는 일반적으로 서면(written) 언어(예를 들어, 부분 음성 인식 결과(120a) 및/또는 최종 음성 인식 결과(120b))를 해석하고 서면 언어가 임의의 액션을 프롬프트하는지 여부를 결정하는 프로세스를 지칭한다. 이 예에서, 디지털 어시스턴트 애플리케이션(50)은 자연어 처리를 사용하여 사용자(10)로부터의 질문이 사용자의 일정, 보다 구체적으로는 사용자의 일정 상의 콘서트에 관한 것임을 인식한다. 자연어 처리로 이러한 세부 사항을 인식함으로써, 자동화 어시스턴트는 사용자의 질의에 대해 "공연장 문은 오후 6시 30분에 열리고 콘서트는 오후 8시에 시작됩니다"라는 응답(19)을 반환한다. 일부 구성에서, 자연어 처리는 사용자 디바이스(10)의 데이터 처리 하드웨어(12)와 통신하는 원격 서버(60)에서 발생한다.
도 2를 참조하면, 트랜스듀서 모델(200)은 음향, 발음, 언어 모델을 단일 신경망으로 통합함으로써 E2E(end-to-end) 음성 인식을 제공할 수 있으며, 어휘집이나 별도의 텍스트 정규화 구성 요소가 필요하지 않다. 다양한 구조 및 최적화 메커니즘은 정확도를 높이고 모델 트레이닝 시간을 단축할 수 있다. 도시된 예에서, 트랜스듀서 모델(200)은 대화형 애플리케이션과 관련된 레이턴시 제약을 준수하는 T-T(Transformer-Transducer) 모델 아키텍처를 포함한다. T-T 모델(200)은 작은 계산 공간(footprint)을 제공하고 기존 ASR 아키텍처보다 적은 메모리 요구 사항을 활용하여 T-T 모델 아키텍처를 사용자 디바이스(10)에서 전적으로 음성 인식을 수행하는데 적합하게 만든다(예를 들어, 원격 서버(60)와의 통신이 필요하지 않음). T-T 모델(200)은 오디오 인코더(210), 라벨 인코더(220) 및 공동(joint) 네트워크(230)를 포함한다. 전통적인 ASR 시스템의 음향 모델(AM)과 대략 유사한 오디오 인코더(210)는 복수의 트랜스포머 계층을 갖는 신경망을 포함한다. 예를 들어, 오디오 인코더(210)는 d차원 특징 벡터의 시퀀스(예를 들어, 음향 프레임(110)(도 1))(x = x1, x2,...,xT)(여기서 xt ∈ Rd)를 판독하고, 각 시간 단계에서 고차 특징 표현(202)을 생성한다. 이 고차 특징 표현(202)은 ah1,...,ahT로 표시된다. 예시적인 트랜스포머-트랜스듀서 모델 아키텍처는 2021년 3월 23일에 출원된 미국 출원 번호 17/210,465에 설명되어 있으며, 그 전문은 참조로 본 명세서에 포함된다.
유사하게, 라벨 인코더(220)는 또한 언어 모델(LM)과 같이 지금까지 최종 소프트맥스 계층(240)에 의해 출력된 공백이 아닌(non-blank) 심볼(242)의 시퀀스인 y0,...,yui-1를 예측된 라벨 히스토리를 인코딩하는 밀집(dense, 조밀) 표현(222)(예를 들어, Ihu로 표시됨)으로 처리하는 트랜스포머 계층의 신경망 또는 룩업 테이블 삽입 모델을 포함할 수 있다. 라벨 인코더(220)가 트랜스포머 계층의 신경망을 포함하는 구현에서, 각 트랜스포머 계층은 정규화 계층, 상대 위치 인코딩을 사용하는 마스킹된 다중 헤드 어텐션 계층, 잔여 연결, 피드 포워드 계층 및 드롭아웃 계층을 포함할 수 있다. 이들 구현에서, 라벨 인코더(220)는 2개의 트랜스포머 계층을 포함할 수 있다. 라벨 인코더(220)가 바이그램(bi-gram) 라벨 컨텍스트를 갖는 룩업 테이블 임베딩 모델을 포함하는 구현에서, 임베딩 모델은 각각의 가능한 바이그램 라벨 컨텍스트에 대한 d 차원의 가중치 벡터를 학습하도록 구성되며, 여기서 d는 오디오 및 라벨 인코더(210, 220) 출력의 차원이다. 일부 예에서, 임베딩 모델의 총 파라미터 수는 N2×d이며 여기서 N은 라벨의 어휘 크기이다. 여기서, 학습된 가중치 벡터는 빠른 라벨 인코더(220) 런타임을 생성하기 위해 T-T 모델(200)에 바이그램 라벨 컨텍스트를 삽입하는데 사용된다.
마지막으로, T-T 모델 아키텍처를 사용하면 오디오 및 라벨 인코더(210, 220)에 의해 생성된 표현이 밀집 계층(Ju,t)을 사용하여 공동 네트워크(230)에 의해 결합된다. 그러면 공동 네트워크(230)는 다음과 같이 다음 출력 심볼에 대한 정렬 분포(예를 들어, 정렬 확률(232))를 예측한다.
여기서 x는 오디오 입력이고, y는 실측 라벨 시퀀스이고, z는 y에 속하는 정렬이다. 달리 말하면, 공동 네트워크(230)는 각 출력 단계(예를 들어, 시간 단계)에서, 가능한 음성 인식 가설에 대한 확률 분포(232)를 생성한다. 여기서, "가능한 음성 인식 가설"은 지정된 자연 언어내의 (문)자소(예를 들어, 심볼/문자) 또는 단어 조각을 각각 나타내는 출력 라벨 세트("음성 단위"라고도 함)에 해당한다. 예를 들어, 자연어가 영어인 경우, 출력 라벨 세트는 27개의 심볼, 예를 들어 영어 알파벳의 26개 문자 각각에 대한 하나의 라벨 및 공백(space)을 지정하는 하나의 라벨을 포함할 수 있다. 따라서, 공동 네트워크(230)는 사전 결정된 출력 라벨 세트 각각의 발생 가능성을 나타내는 값 세트를 출력할 수 있다. 이 값 세트는 벡터(예를 들어, 원-핫 벡터)일 수 있으며 출력 라벨 세트에 대한 확률 분포를 나타낼 수 있다. 일부 경우, 출력 라벨은 자소(예를 들어, 개별 문자, 구두점 및 기타 심볼)이지만 출력 라벨 세트는 그렇게 제한되지 않다. 예를 들어, 출력 라벨 세트에는 자소에 추가하거나 자소 대신 단어 조각 및/또는 전체 단어가 포함될 수 있다. 공동 네트워크(230)의 출력 분포는 상이한 출력 라벨 각각에 대한 사후 확률 값을 포함할 수 있다. 따라서, 상이한 자소 또는 다른 심볼을 나타내는 100개의 상이한 출력 라벨이 있는 경우, 공동 네트워크(230)의 출력(zu,t)은 각 출력 라벨에 대해 하나씩, 100개의 상이한 확률 값을 포함할 수 있다. 그런 다음 확률 분포는 전사(120)를 결정하기 위한 빔 검색 프로세스(예를 들어, 소프트맥스 층(240)에 의한)에서 후보 철자법 요소(예를 들어, 자소, 단어 조각 및/또는 단어)를 선택하고 그들에 스코어를 할당하는데 사용될 수 있다.
소프트맥스 계층(240)은 임의의 기술을 사용하여 대응하는 출력 단계에서 T-T 모델(200)에 의해 예측된 다음 출력 심볼(242)로서 분포에서 가장 높은 확률을 갖는 출력 라벨/심볼을 선택할 수 있다. 이와 같이, T-T 모델(200)에 의해 예측된 출력 심볼(242)의 컬렉션(collection, 모음)은 또한 라벨 토큰(242)의 출력 시퀀스로서 집합적으로 지칭될 수 있다. 이러한 방식으로, T-T 모델(200)은 조건부 독립 가정을 하지 않으며, 오히려 각 심볼의 예측은 음향뿐만 아니라 지금까지 출력된 라벨 시퀀스에 조건화된다.
주어진 오디오 입력(x)에 대한 y의 로그 조건부 확률을 결정하기 위해, y에 대응하는 모든 정렬 분포는 다음과 같이 합산된다.
여기서 매핑 K는 z에서 빈(blank) 심볼을 제거한다. 수학식 2의 이러한 로그 총 정렬 확률에는 다음과 같이 순방향-역방향 알고리즘을 사용하여 효율적으로 계산될 수 있는 목표 손실 함수가 포함되어 있다.
여기서 Pr(ф│t-1,u) 및 Pr(yu│t,u-1)은 각각 블랭크 및 라벨 확률이고, T 및 U는 오디오 및 라벨 시퀀스 길이이다.
도 2는 T-T 모델 아키텍처를 포함하는 트랜스듀서 모델(200)을 묘사하지만, 트랜스듀서 모델(200)은 또한 본 개시의 범위를 벗어나지 않으면서 RNN-T 모델 아키텍처, 컨볼루션 신경망-트랜스듀서(CNN-Transducer) 모델 아키텍처, 컨볼루션 네트워크-트랜스듀서(ConvNet-Transducer) 모델, 또는 컨포머-트랜스듀서(Conformer-Transducer) 모델 아키텍처를 포함할 수 있다. CNN-트랜스듀서 모델 아키텍처의 예는 "컨텍스트넷(Contextnet): 글로벌 컨텍스트를 통한 자동 음성 인식을 위한 컨볼루셔널 신경망 개선"(https://arxiv.org/abs/2005.03191)에 상세히 설명되어 있으며, 해당 내용은 전체가 참조로 포함되어 있다. 예시적인 컨포머-트랜스듀서 모델 아키텍처는 "컨포머: 음성 인식을 위한 컨볼루션-증강된 트랜스포머" (https://arxiv.org/abs/2005.08100)에 상세히 설명되어 있으며, 해당 내용은 전체가 참조로 포함되어 있다.
트랜스듀서 모델(200)은 대응하는 전사와 쌍을 이루는 음성 발언에 해당하는 오디오 데이터의 트레이닝 데이터 세트에 대해 트레이닝된다. 트랜스듀서 모델(200)의 트레이닝은 원격 서버(60)에서 발생할 수 있고 트레이닝된 트랜스듀서 모델(200)은 사용자 디바이스(10)로 푸시될 수 있다. 트랜스듀서 모델(200)은 비터비 강제 정렬에 기초한 교차 엔트로피 손실로 트레이닝된다. 정렬 지연에는 입력 오디오 프레임과 스트리밍된 디코딩된 출력 라벨 간의 지연이 포함된다. 기존 모델은 재정렬된 라벨을 사용하여 정렬 모델을 반복적으로 트레이닝하므로, 컨벤션 모델은 여러 번의 반복 후에 정확한 정렬을 학습할 수 있다. 개별 트랜스포머 또는 컴포머 계층에서 셀프-어텐션을 계산할 때 미래 프레임에 액세스하는 T-T 또는 C-T 모델에는 기존 모델과 일치하는 정렬 지연이 포함될 수 있다. 그러나, 셀프-어텐션이 과거 프레임에만 의존하는 스트리밍 모드의 트랜스듀서 모델은 과도한 정렬 지연을 경험한다.
본 명세서의 구현은 자체 정렬을 사용함으로써 스트리밍 트랜스듀서 모델(200)의 예측 지연을 줄이는 것에 관한 것이다. 특히, 자체 정렬에는 외부 정렬 모델을 사용하거나 지연을 맹목적으로 최적화할 필요가 없지만 대신 트레이닝된 음성 인식 모델에서 학습된 기준 강제 정렬을 활용하여 지연을 줄이는 최적의 낮은 레이턴시 방향을 선택한다. 기준 강제 정렬은 비터비 강제 정렬을 포함할 수 있다. 즉, 자체 정렬은 항상 각 시간 단계에서 비터비 강제 정렬에 대한 왼쪽의 한 프레임인 디코딩 그래프내의 경로를 찾는다.
도 3은 라벨 토큰(242)(도 2)의 출력 시퀀스인 "I like it"에 대한 T-T 모델 아키텍처를 갖는 트랜스듀서 모델(200)에 대한 디코딩 그래프(300)의 플롯을 도시한다. x축은 각 시간 단계의 개별 음향 프레임을 나타내고 y축은 출력 라벨 토큰(242)(도 2)을 나타낸다. 굵은 글씨가 아닌 실선 원과 화살표는 아래 설명된 정렬 경로에 포함되지 않은 토큰을 나타낸다. 제한된 정렬 경로(310)(예를 들어, 도 3에 도시된 바와 같이 굵은 원과 굵은 화살표로 표시됨)는 2와 동일한 단어 경계 임계값을 포함한다. 트레이닝된 트랜스듀서 모델(200)로부터 학습된 강제 정렬 경로(320)(예를 들어, 도 3에 도시된 바와 같이 점선 원과 점선 화살표로 표시됨)(기준 강제 정렬 경로(320)라고도 지칭됨) 및 왼쪽 정렬 경로(330)(예를 들어, 점선 원으로 표시됨)은 강제 정렬 경로(320)의 모든 프레임에 왼쪽인 하나의 프레임을 포함한다. 트랜스듀서 모델(200)의 트레이닝 동안, 각 트레이닝 배치(batch)에 대해, 자체 정렬은 모델의 강제 정렬 경로(320)를 왼쪽 방향으로 지속적으로 밀어서(push) 왼쪽 정렬 경로(330)(예를 들어, 도 3에 도시된 점선 원과 점선 화살표로 표시됨)를 장려한다. 트레이닝 손실은 다음과 같이 표현될 수 있다.
여기서 λ는 왼쪽 정렬 가능성에 대한 가중치 요소이고, tu는 u번째 라벨/토큰의 왼쪽 정렬에 대한 프레임 인덱스이다.
도 4는 오디오 인코더(210)의 복수의 트랜스포머 계층 중의 예시적인 트랜스포머 계층(400)을 도시한다. 여기서, 각 시간 단계 동안, 초기 트랜스포머 계층(400)은 대응하는 음향 프레임(110)을 입력으로 수신하고 다음 트랜스포머 계층(400)의 입력으로 수신되는 대응하는 출력 표현/임베딩(450)을 생성한다. 즉, 초기 트랜스포머 계층(400) 이후의 각 트랜스포머 계층(400)은 직전 트랜스포머 계층(400)의 출력으로 생성된 출력 표현/임베딩에 대응하는 입력 임베딩(450)을 수신할 수 있다. 최종 트랜스포머 계층(400)(예를 들어, 최종 스택(320)의 마지막 트랜스포머 계층)은 복수의 시간 단계 각각에서, 대응하는 음향 프레임(110)에 대한 고차 특징 표현(202)(예를 들어, 도 2를 참조하여 aht로 표시됨)을 생성한다.
라벨 인코더(220)(도 2)에 대한 입력은 현재까지 최종 소프트맥스 계층(240)에 의해 출력된 비공백 심볼의 시퀀스(y0,...,yui-1)를 나타내는 벡터(예를 들어, 원-핫 벡터)를 포함할 수 있다. 따라서, 라벨 인코더(220)가 트랜스포머 계층을 포함하는 경우, 초기 트랜스포머 계층은 룩업 테이블을 통해 원-핫 벡터를 전달(pass)함으로써 입력 임베딩(111)을 수신할 수 있다.
오디오 인코더(210)의 각 트랜스포머 계층(400)은 정규화 계층(404), 상대 위치 인코딩을 사용하는 마스킹된 다중 헤드 어텐션 계층(406), 잔여 연결(408), 적층/비적층(stacking/unstacking) 계층(410) 및 피드포워드 계층(412)을 포함한다. 상대 위치 인코딩을 사용하는 마스킹된 다중 헤드 어텐션 계층(406)은 T-T 모델(200)이 사용하는 룩어헤드 오디오 컨텍스트의 양(즉, 지속기간)을 제어하는 유연한 방법을 제공한다. 구체적으로, 정규화 계층(404)이 음향 프레임(110) 및/또는 입력 임베딩(111)을 정규화한 후, 마스킹된 다중 헤드 어텐션 계층(406)은 그 입력을 모든 헤드에 대한 값으로 투영한다. 그 후, 마스킹된 다중 헤드 계층(406)은 이전 음향 프레임(110)에 대해서만 조건화된 출력을 생성하기 위해 현재 음향 프레임(110)의 왼쪽에 어텐션 스코어를 마스킹할 수 있다. 그런 다음, 모든 헤드에 대한 가중치 평균 값이 연결되여 밀집 계층(416)으로 전달되는데, 여기서 잔여 연결(414)은 정규화된 입력과 밀집 계층(416)의 출력에 추가(add)되어 상대 위치 인코딩을 통해 다중 헤드 어텐션 계층(406)의 최종 출력을 형성한다. 잔여 연결(408)은 가산기(430)에 의해 정규화 계층(404)의 출력에 추가되고, 마스킹된 다중 헤드 어텐션 계층(406) 또는 피드포워드 계층(412) 중 각각에 대한 입력으로서 제공된다. 적층/비적층 계층(410)은 트레이닝 및 추론 속도를 높이기 위해 각 트랜스포머 계층(400)에 대한 프레임 레이트를 변경하는데 사용될 수 있다.
피드포워드 계층(412)은 정규화 계층(404)을 적용하고, 이어서 밀집 계층 1(420), 정류된 선형 계층(ReLu)(418) 및 밀집 계층 2(416)를 적용한다. ReLu(418)는 밀집 계층 1(420)의 출력에 대한 활성화로서 사용된다. 상대 위치 인코딩을 사용하는 다중 헤드 어텐션 계층(406)에서와 마찬가지로, 정규화된 계층(404) 출력의 잔여 연결(414)은 가산기(430)에 의해 조밀 계층 2(416)의 출력에 추가된다.
도 5는 예측 지연을 감소시키기 위해 자체 정렬을 사용하여 스트리밍 음성 인식 모델을 트레이닝하는 방법(500)에 대한 동작의 예시적인 배열의 흐름도를 포함한다. 동작(502)에서, 방법은 스트리밍 음성 인식 모델(예를 들어 트랜스듀서 모델)(200)에 대한 입력으로서, 발언(106)에 대응하는 음향 프레임(110) 시퀀스를 수신하는 단계를 포함한다. 스트리밍 음성 인식 모델(200)은 음향 프레임(110)의 시퀀스와 라벨 토큰(242)의 출력 시퀀스 간의 정렬 확률(232)을 학습하도록 구성된다. 동작(504)에서, 방법(500)은 스트리밍 음성 인식 모델(200)로부터의 출력으로서, 디코딩 그래프(300)를 사용하여 라벨 토큰(242)의 출력 시퀀스를 포함하는 발언(106)에 대한 음성 인식 결과(120)를 생성하는 단계를 포함한다. 동작(506)에서, 방법(500)은 음성 인식 결과(120) 및 발언(106)의 실측 전사에 기초하여 음성 인식 모델 손실을 생성하는 단계를 포함한다.
동작(508)에서, 방법(500)은 디코딩 그래프(300)로부터 기준 강제 정렬 경로(320)를 획득하는 단계를 포함한다. 동작(510)에서, 방법(500)은 디코딩 그래프(300)로부터 기준 강제 정렬 경로(320)의 각각의 기준 강제 정렬 프레임의 왼쪽에 있는 하나의 프레임을 식별하는 단계를 포함한다. 동작(512)에서, 방법(500)은 각각의 강제 정렬 프레임 왼쪽에 있는 식별된 프레임에 기초하여 라벨 전환 확률을 합산하는 단계를 포함한다. 동작(514)에서, 방법(500)은 라벨 전환 확률과 음성 인식 모델 손실의 합산에 기초하여 스트리밍 음성 인식 모델(200)을 업데이트하는 단계를 포함한다.
도 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(Static Random Access Memory), PCM(Phase Change Memory) 및 디스크나 테이프가 포함되지만 이에 한정되지 않는다.
저장 디바이스(630)는 컴퓨팅 디바이스(600)에 대용량 저장 디바이스를 제공할 수 있다. 일부 구현예에서, 저장 디바이스(630)는 컴퓨터 판독 가능 매체이다. 다양한 구현에서, 저장 디바이스(630)는 플로피 디스크 디바이스, 하드 디스크 디바이스, 광학 디스크 디바이스, 테이프 디바이스, 플래시 메모리 또는 기타 유사 솔리드 스테이트 메모리 디바이스, 또는 저장 영역 네트워크나 기타 구성의 디바이스를 포함한 디바이스 어레이일 수 있다. 추가적인 구현에서, 컴퓨터 프로그램 제품은 정보 매체에 명백하게 구현된다. 컴퓨터 프로그램 제품에는 실행 시 위에 설명된 것과 같은 하나 이상의 방법을 수행하는 명령들이 포함되어 있다. 정보 매체는 메모리(620), 저장 디바이스(630), 또는 프로세서(610)의 메모리와 같은 컴퓨터 판독 가능 매체 또는 기계 판독 가능 매체이다.
고속 제어기(640)는 컴퓨팅 디바이스(600)에 대한 대역폭 집약적 동작을 관리하는 반면, 저속 제어기(660)는 낮은 대역폭 집약적 동작을 관리한다. 이러한 업무 할당은 예시일 뿐이다. 일부 구현에서, 고속 컨트롤러(640)는 메모리(620), 디스플레이(680)(예를 들어, 그래픽 프로세서 또는 가속기를 통해) 및 다양한 확장 카드(미도시)를 수용할 수 있는 고속 확장 포트(650)에 연결된다. 일부 구현에서, 저속 컨트롤러(660)는 저장 디바이스(630) 및 저속 확장 포트(690)에 결합된다. 저속 확장 포트(690)는 다양한 통신 포트(예를 들어, USB, 블루투스, 이더넷, 무선 이더넷)를 포함할 수 있으며, 예를 들어 네트워크 어댑터를 통해 키보드, 포인팅 디바이스, 스캐너와 같은 하나 이상의 입력/출력 디바이스 또는 스위치나 라우터와 같은 네트워킹 디바이스에 연결될 수 있다.
컴퓨팅 디바이스(600)는 도면에 도시된 바와 같이 다수의 다른 형태로 구현될 수 있다. 예를 들어, 이것은 표준 서버(600a)로서 또는 이러한 서버(600a) 그룹에서 여러 번, 랩탑 컴퓨터(600b)로서 또는 랙 서버 시스템(600c)의 일부로서 구현될 수 있다.
본 명세서에 설명된 시스템 및 기술의 다양한 구현은 디지털 전자 및/또는 광학 회로, 집적 회로, 특별히 설계된 ASIC(애플리케이션 특정 집적 회로), 컴퓨터 하드웨어, 펌웨어, 소프트웨어 및/또는 이들의 조합으로 실현될 수 있다. 이러한 다양한 구현에는 저장 시스템, 적어도 하나의 입력 디바이스 및 적어도 하나의 출력 디바이스와 데이터 및 명령을 송수신하도록 연결된 특수 또는 범용일 수 있는 적어도 하나의 프로그래밍 가능한 프로세서를 비롯하여, 프로그래밍 가능한 시스템에서 실행 가능 및/또는 해석 가능한 하나 이상의 컴퓨터 프로그램의 구현이 포함될 수 있다.
소프트웨어 애플리케이션(즉, 소프트웨어 리소스)은 컴퓨팅 디바이스가 태스크를 수행하게 하는 컴퓨터 소프트웨어를 지칭할 수 있다. 일부 예에서, 소프트웨어 애플리케이션은 "애플리케이션", "앱" 또는 "프로그램"으로 지칭될 수 있다. 예시적인 애플리케이션에는 시스템 진단 애플리케이션, 시스템 관리 애플리케이션, 시스템 유지 관리 애플리케이션, 워드 프로세싱 애플리케이션, 스프레드시트 애플리케이션, 메시징 애플리케이션, 미디어 스트리밍 애플리케이션, 소셜 네트워킹 애플리케이션 및 게임 애플리케이션이 포함되지만 이에 한정되지 않다.
비-일시적 메모리는 컴퓨팅 디바이스에 의해 사용되기 위해 임시 또는 영구적으로 프로그램(예를 들어, 명령 시퀀스) 또는 데이터(예를 들어, 프로그램 상태 정보)를 저장하는데 사용되는 물리적 디바이스일 수 있다. 비-휘발성 메모리의 예로는 플래시 메모리 및 판독 전용 메모리(ROM)/프로그램 가능 판독 전용 메모리(PROM)/소거 가능한 프로그램 가능 판독 전용 메모리(EPROM)/전자적으로 소거 가능한 프로그램 가능 판독 전용 메모리(EEPROM)(예를 들어, 일반적으로 부팅 프로그램과 같은 펌웨어에 사용됨)가 포함되지만 이에 한정되지 않는다. 휘발성 메모리의 예로는 RAM, DRAM, SRAM(Static Random Access Memory), PCM(Phase Change Memory) 및 디스크나 테이프가 포함되지만 이에 한정되지 않는다.
이러한 컴퓨터 프로그램(프로그램, 소프트웨어, 소프트웨어 애플리케이션 또는 코드라고도 함)에는 프로그래밍 가능한 프로세서에 대한 기계 명령이 포함되어 있으며 고급 절차적 및/또는 객체 지향 프로그래밍 언어 및/또는 어셈블리/기계 언어로 구현될 수 있다. 본 명세서에 사용된 바와 같이, "기계 판독 가능 매체" 및 "컴퓨터 판독 가능 매체"라는 용어는 기계 판독 가능 신호로서 기계 명령을 수신하는 기계 판독 가능 매체를 비롯하여, 기계 명령 및/또는 데이터를 프로그래밍 가능 프로세서에 제공하는데 사용되는 임의의 컴퓨터 프로그램 제품, 비-일시적 컴퓨터 판독 가능 매체, 장치 및/또는 디바이스(예를 들어, 자기 디스크, 광 디스크, 메모리, 프로그래밍 가능 논리 장치(PLD))를 지칭한다. "기계 판독 가능 신호"라는 용어는 기계 명령 및/또는 데이터를 프로그래밍 가능한 프로세서에 제공하는데 사용되는 임의의 신호를 지칭한다.
본 명세서에 설명된 프로세스 및 논리 흐름은 데이터 처리 하드웨어라고도 지칭되는 하나 이상의 프로그래밍 가능한 프로세서에 의해 수행될 수 있으며, 하나 이상의 컴퓨터 프로그램을 실행하여 입력 데이터에 대해 작동하고 출력을 생성함으로써 기능을 수행할 수 있다. 프로세스 및 논리 흐름은 FPGA(필드 프로그래밍 가능 게이트 어레이) 또는 ASIC(주문형 집적 회로)와 같은 특수 목적 논리 회로에 의해 수행될 수도 있다. 컴퓨터 프로그램의 실행에 적합한 프로세서에는 예를 들어 범용 및 특수 목적 마이크로프로세서, 그리고 임의의 종류의 디지털 컴퓨터의 하나 이상의 프로세서가 포함된다. 일반적으로, 프로세서는 판독 전용 메모리나 랜덤 액세스 메모리 또는 둘 다로부터 명령과 데이터를 수신한다. 컴퓨터의 필수 요소는 명령을 수행하는 프로세서와 그 명령 및 데이터를 저장하는 하나 이상의 메모리 디바이스이다. 일반적으로, 컴퓨터는 또한 데이터를 저장하기 위한 하나 이상의 대용량 저장 디바이스, 예를 들어 자기, 광자기 디스크 또는 광 디스크로부터 데이터를 수신하거나 전송하거나 둘 모두를 포함하거나 작동 가능하게 결합될 것이다. 그러나, 컴퓨터에 그러한 디바이스가 있을 필요는 없다. 컴퓨터 프로그램 명령 및 데이터를 저장하는데 적합한 컴퓨터 판독 가능 매체는 예를 들어 반도체 메모리 디바이스(예를 들어, EPROM, EEPROM 및 플래시 메모리 디바이스), 자기 디스크(예를 들어, 내부 하드 디스크 또는 이동식 디스크), 광자기 디스크, CD ROM 및 DVD-ROM 디스크를 비롯하여 모든 형태의 비-휘발성 메모리, 매체 및 메모리 디바이스를 포함한다. 프로세서와 메모리는 특수 목적 논리 회로로 보완되거나 통합될 수 있다.
사용자와의 상호작용을 제공하기 위해, 본 개시의 하나 이상의 양태는 디스플레이 디바이스(예를 들어, CRT(음극선관), LCD(액정 디스플레이) 모니터, 또는 사용자에게 정보를 디스플레이하기 위한 터치 스크린), 및 선택적으로 사용자가 컴퓨터에 입력을 제공할 수 있는 키보드 및 포인팅 디바이스(예를 들어, 마우스 또는 트랙볼)를 갖는 컴퓨터에서 구현될 수 있다. 다른 종류의 디바이스도 사용자와의 상호 작용을 제공하는데 사용될 수 있는데, 예를 들어, 사용자에게 제공되는 피드백은 시각적 피드백, 청각 피드백 또는 촉각 피드백과 같은 임의의 형태의 감각 피드백일 수 있고, 사용자로부터의 입력은 음향, 음성 또는 촉각 입력을 포함한 모든 형태로 수신될 수 있다. 또한, 컴퓨터는 예를 들어, 웹 브라우저로부터 수신된 요청에 응답하여 사용자의 클라이언트 디바이스에 있는 웹 브라우저로 웹 페이지를 전송함으로써 사용자가 사용하는 디바이스와 문서를 주고받는 방식으로 사용자와 상호 작용할 수 있다.
다수의 구현이 설명되었다. 그럼에도 불구하고, 본 개시의 사상 및 범위를 벗어나지 않고 다양한 수정이 이루어질 수 있음이 이해될 것이다. 따라서, 다른 구현은 다음 청구범위의 범위 내에 있다.

Claims (20)

  1. 스트리밍 음성 인식 모델(200)로서,
    입력으로서, 음향 프레임(110)의 시퀀스를 수신하고; 그리고
    복수의 시간 단계 각각에서, 음향 프레임(110)의 시퀀스내의 대응하는 음향 프레임(110)에 대한 고차 특징 표현(202)을 생성하도록 구성된,
    오디오 인코더(210)와;
    입력으로서, 최종 소프트맥스 계층(240)에 의해 출력된 비공백(non-blank) 심볼(242)의 시퀀스를 입력으로 수신하고; 그리고
    복수의 시간 단계 각각에서, 밀집 표현(222)을 생성하도록 구성된,
    라벨 인코더(220)와; 그리고
    입력으로서, 복수의 시간 단계 각각에서 오디오 인코더(210)에 의해 생성된 고차 특징 표현(202) 및 복수의 시간 단계 각각에서 라벨 인코더(220)에 의해 생성된 밀집 표현(222)을 수신하고; 그리고
    복수의 시간 단계 각각에서, 해당 시간 단계에서 가능한 음성 인식 가설에 대한 확률 분포(232)를 생성하도록 구성된,
    공동(joint) 네트워크(230)를 포함하고,
    스트리밍 음성 인식 모델(200)은 각 트레이닝 배치(batch)에 대해, 각 시간 단계에서 기준 강제 정렬 프레임으로부터 한 프레임 남은 정렬 경로를 권장함으로써 예측 지연을 줄이기 위해 자체 정렬을 사용하여 트레이닝되는 것을 특징으로 하는 스트리밍 음성 인식 모델(200).
  2. 제1항에 있어서,
    상기 스트리밍 음성 인식 모델(200)은 프랜스포머-트랜스듀서(Transformer-Transducer) 모델을 포함하는 것을 특징으로 하는 스트리밍 음성 인식 모델(200).
  3. 제2항에 있어서,
    상기 오디오 인코더(210)는 트랜스포머 계층(400)의 스택을 포함하고, 각 트랜스포머는 계층(400)은,
    정규화 계층(404);
    상대 위치 인코딩을 사용하는 마스킹된 다중 헤드 어텐션 계층(406);
    잔여 연결(408);
    적층/비적층 계층(410); 및
    피드포워드 계층(412)을 포함하는 것을 특징으로 하는 스트리밍 음성 인식 모델(200).
  4. 제3항에 있어서,
    상기 적층/비적층 계층(410)은,
    트레이닝 및 추론 중에 프랜스포머-트랜스듀서 모델에 의한 처리 시간을 조정하기 위해 대응하는 프랜스포머 계층(400)의 프레임 레이트를 변경하도록 구성되는 것을 특징으로 하는 스트리밍 음성 인식 모델(200).
  5. 제2항 내지 제4항 중 어느 한 항에 있어서,
    상기 라벨 인코더(220)는 트랜스포머 계층(400)의 스택을 포함하고, 각 트랜스포머 계층(400)은:
    정규화 계층(404);
    상대 위치 인코딩을 사용하는 마스킹된 다중 헤드 어텐션 계층(406);
    잔여 연결(408);
    적층/비적층 계층(410); 및
    피드포워드 계층(412)을 포함하는 것을 특징으로 하는 스트리밍 음성 인식 모델(200).
  6. 제1항 내지 제5항 중 어느 한 항에 있어서,
    상기 라벨 인코더(220)는 바이그램(bigram) 임베딩 룩업 디코더 모델을 포함하는 것을 특징으로 하는 스트리밍 음성 인식 모델(200).
  7. 제1항 내지 제6항 중 어느 한 항에 있어서,
    상기 스트리밍 음성 인식 모델(200)은,
    순환 신경-트랜스듀서(RNN-T) 모델;
    프랜스포머-트랜스듀서 모델;
    컨볼루션 네트워크-트랜스듀서(ConvNet-Transducer) 모델; 또는
    컨포너-트랜스듀서(Conformer-Transducer) 모델 중 하나를 포함하는 것을 특징으로 하는 스트리밍 음성 인식 모델(200).
  8. 제1항 내지 제7항 중 어느 한 항에 있어서,
    상기 예측 지연을 줄이기 위해 자체 정렬을 사용하여 스트리밍 음성 인식 모델(200)을 트레이닝하는 것은,
    디코딩 그래프(300)의 정렬을 제한하기 위해 임의의 외부 정렬기 모델을 사용하지 않고 자체 정렬을 사용하는 것을 특징으로 하는 스트리밍 음성 인식 모델(200).
  9. 제1항 내지 제8항 중 어느 한 항에 있어서,
    상기 스트리밍 음성 인식 모델(200)은 사용자 디바이스(10) 또는 서버(60)에서 실행되는 것을 특징으로 하는 스트리밍 음성 인식 모델(200).
  10. 제1항 내지 제9항 중 어느 한 항에 있어서,
    상기 음향 프레임(110)의 시퀀스의 각 음향 프레임(110)은 차원 특징 벡터를 포함하는 것을 특징으로 하는 스트리밍 음성 인식 모델(200).
  11. 데이터 처리 하드웨어(12)에서 실행될 때 데이터 처리 하드웨어(12)가 예측 지연을 줄이기 위해 자체 정렬을 사용하여 스트리밍 음성 인식 모델(200)을 트레이닝하기 위한 동작들을 수행하도록 하는 컴퓨터 구현 방법(500)으로서, 상기 동작들은,
    스트리밍 음성 인식 모델(200)에 대한 입력으로서, 발언(106)에 대응하는 음향 프레임(110)의 시퀀스를 수신하는 단계와, 상기 스트리밍 음성 인식 모델(200)은 음향 프레임(110)의 시퀀스와 라벨 토큰(242)의 출력 시퀀스(242) 사이의 정렬 확률을 학습하도록 구성되고;
    스트리밍 음성 인식 모델(200)의 출력으로서, 디코딩 그래프(300)를 사용하여 발언(106)에 대한 음성 인식 결과(120)를 생성하는 단계와, 상기 음성 인식 결과(120)에는 라벨 토큰(242)의 출력 시퀀스가 포함되고;
    음성 인식 결과(120) 및 발언의 실측 전사(106)에 기초하여 음성 인식 모델 손실을 생성하는 단계와;
    디코딩 그래프(300)로부터, 기준 강제 정렬 프레임을 포함하는 기준 강제 정렬 경로(320)를 획득하는 단계와;
    디코딩 그래프(300)로부터, 기준 강제 정렬 경로(320)의 각 기준 강제 정렬 프레임 왼쪽에 있는 하나의 프레임을 식별하는 단계와;
    기준 강제 정렬 경로(320)의 각 기준 강제 정렬 프레임 왼쪽의 식별된 프레임에 기초하여 라벨 전환 확률을 합산하는 단계와; 그리고
    라벨 전환 확률과 음성 인식 모델 손실의 합산에 기초하여 스트리밍 음성 인식 모델(200)을 업데이트하는 단계를 포함하는 것을 특징으로 하는 컴퓨터 구현 방법(500).
  12. 제11항에 있어서,
    상기 동작들은,
    스트리밍 음성 인식 모델(200)의 오디오 인코더(210)에 의해 복수의 시간 단계 각각에서, 음향 프레임(110) 시퀀스의 대응하는 음향 프레임(110)에 대한 고차 특징 표현(202)을 생성하는 단계와;
    스트리밍 음성 인식 모델(200)의 라벨 인코더(220)에 대한 입력으로서, 최종 소프트맥스 계층(240)에 의해 출력된 비공백(non-blank) 심볼(242)의 시퀀스를 수신하는 단계와;
    라벨 인코더(220)에 의해, 복수의 시간 단계 각각에서, 밀집 표현(222)을 생성하는 단계와;
    스트리밍 음성 인식 모델(200)의 공동 네트워크(230)에 대한 입력으로서, 복수의 시간 단계 각각에서 오디오 인코더(210)에 의해 생성된 고차 특징 표현(202) 및 복수의 시간 단계 각각에서 라벨 인코더(220)에 의해 생성된 밀집 표현(222)을 수신하는 단계와; 그리고
    공동 네트워크(230)에 의해, 복수의 시간 단계 각각에서, 해당 시간 단계에서 가능한 음성 인식 가설에 대한 확률 분포(232)를 생성하는 단계를 더 포함하는 것을 특징으로 하는 컴퓨터 구현 방법(500).
  13. 제12항에 있어서,
    상기 라벨 인코더(220)는 트랜스포머 계층(400)의 스택을 포함하고, 각 트랜스포머 계층(400)은:
    정규화 계층(404);
    상대 위치 인코딩을 사용하는 마스킹된 다중 헤드 어텐션 계층(406);
    잔여 연결(408);
    적층/비적층 계층(410); 및
    피드포워드 계층(412)을 포함하는 것을 특징으로 하는 컴퓨터 구현 방법(500).
  14. 제12항 또는 제13항에 있어서,
    상기 라벨 인코더(220)는 바이그램 임베딩 룩업 디코더 모델을 포함하는 것을 특징으로 하는 컴퓨터 구현 방법(500).
  15. 제11항 내지 제14항 중 어느 한 항에 있어서,
    상기 스트리밍 음성 인식 모델(200)은 프랜스포머-트랜스듀서 모델을 포함하는 것을 특징으로 하는 컴퓨터 구현 방법(500).
  16. 제15항에 있어서,
    상기 오디오 인코더(210)는 트랜스포머 계층(400)의 스택을 포함하고, 각 트랜스포머 계층(400)은,
    정규화 계층(404);
    상대 위치 인코딩을 사용하는 마스킹된 다중 헤드 어텐션 계층(406);
    잔여 연결(408);
    적층/비적층 계층(410); 및
    피드포워드 계층(412)을 포함하는 것을 특징으로 하는 컴퓨터 구현 방법(500).
  17. 제16항에 있어서,
    상기 적층/비적층 계층(410)은,
    트레이닝 및 추론 중에 프랜스포머-트랜스듀서 모델에 의한 처리 시간을 조정하기 위해 대응하는 트랜스포머 계층(400)의 프레임 레이트를 변경하도록 구성되는 것을 특징으로 하는 컴퓨터 구현 방법(500).
  18. 제11항 내지 제17항 중 어느 한 항에 있어서,
    상기 스트리밍 음성 인식 모델(200)은,
    순환 신경-트랜스듀서(RNN-T) 모델;
    프랜스포머-트랜스듀서 모델;
    컨볼루션 네트워크-트랜스듀서(ConvNet-Transducer) 모델; 또는
    컨포너-트랜스듀서(Conformer-Transducer) 모델 중 하나를 포함하는 것을 특징으로 하는 컴퓨터 구현 방법(500).
  19. 제11항 내지 제18항 중 어느 한 항에 있어서,
    상기 스트리밍 음성 인식 모델(200)은 사용자 디바이스(10) 또는 서버(60)에서 실행되는 것을 특징으로 하는 컴퓨터 구현 방법(500).
  20. 제11항 내지 제19항 중 어느 한 항에 있어서,
    상기 동작들은,
    디코딩 그래프(300)의 정렬을 제한하기 위해 임의의 외부 정렬기 모델을 사용하지 않고 예측 지연을 줄이기 위해 자체 정렬을 사용하여 스트리밍 음성 인식 모델(200)을 트레이닝하는 단계를 더 포함하는 것을 특징으로 하는 컴퓨터 구현 방법(500).
KR1020237035507A 2021-03-26 2021-12-15 자체 정렬을 통한 스트리밍 asr 모델 지연 감소 KR20230156425A (ko)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US202163166943P 2021-03-26 2021-03-26
US63/166,943 2021-03-26
PCT/US2021/063465 WO2022203735A1 (en) 2021-03-26 2021-12-15 Reducing streaming asr model delay with self alignment

Publications (1)

Publication Number Publication Date
KR20230156425A true KR20230156425A (ko) 2023-11-14

Family

ID=80168120

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020237035507A KR20230156425A (ko) 2021-03-26 2021-12-15 자체 정렬을 통한 스트리밍 asr 모델 지연 감소

Country Status (6)

Country Link
US (1) US20220310097A1 (ko)
EP (1) EP4295356A1 (ko)
JP (1) JP2024512606A (ko)
KR (1) KR20230156425A (ko)
CN (1) CN117083668A (ko)
WO (1) WO2022203735A1 (ko)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113314124B (zh) * 2021-06-15 2022-03-25 宿迁硅基智能科技有限公司 文本输出方法及系统、存储介质、电子装置

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101217525B1 (ko) * 2008-12-22 2013-01-18 한국전자통신연구원 비터비 디코더와 이를 이용한 음성 인식 방법
US9972306B2 (en) * 2012-08-07 2018-05-15 Interactive Intelligence Group, Inc. Method and system for acoustic data selection for training the parameters of an acoustic model

Also Published As

Publication number Publication date
US20220310097A1 (en) 2022-09-29
WO2022203735A1 (en) 2022-09-29
EP4295356A1 (en) 2023-12-27
JP2024512606A (ja) 2024-03-19
CN117083668A (zh) 2023-11-17

Similar Documents

Publication Publication Date Title
KR20230147685A (ko) 서브 워드 엔드-투-엔드 자동 스피치 인식을 위한 워드 레벨 신뢰도 학습
US11741947B2 (en) Transformer transducer: one model unifying streaming and non-streaming speech recognition
CN112599128B (zh) 一种语音识别方法、装置、设备和存储介质
JP7351018B2 (ja) エンド・ツー・エンド音声認識における固有名詞認識
KR20230086737A (ko) 단순화된 스트리밍 및 비스트리밍 스피치 인식을 위한 캐스케이드 인코더들
US11961515B2 (en) Contrastive Siamese network for semi-supervised speech recognition
KR20230158107A (ko) 효율적인 스트리밍 비-순환 온-디바이스 엔드-투-엔드 모델
KR20230156125A (ko) 룩업 테이블 순환 언어 모델
KR20230158608A (ko) 종단 간 자동 음성 인식 신뢰도 및 삭제 추정을 위한 멀티태스크 학습
KR20240065125A (ko) 희귀 단어 스피치 인식을 위한 대규모 언어 모델 데이터 선택
KR20230156425A (ko) 자체 정렬을 통한 스트리밍 asr 모델 지연 감소
KR102637025B1 (ko) 자동 음성 인식을 위한 다언어 리스코어링 모델들
KR20240068723A (ko) Rnn-T로 구현된 자동 음성 인식 시스템에서 음향과 텍스트 표현의 융합
KR20240089276A (ko) 다중 언어 자동 스피치 인식을 위한 공동 비지도 및 지도 트레이닝
KR20240074809A (ko) 장문 스피치 인식을 위한 트레이닝
KR20230156795A (ko) 단어 분할 규칙화
KR20240068699A (ko) 마스크킹된 음성 모델링을 위한 안내 데이터 선택
CN118339608A (zh) 实施为rnn-t的自动语音识别系统中的声学表示和文本表示的融合

Legal Events

Date Code Title Description
A201 Request for examination