KR20230107860A - 실제 노이즈를 사용한 음성 개인화 및 연합 트레이닝 - Google Patents

실제 노이즈를 사용한 음성 개인화 및 연합 트레이닝 Download PDF

Info

Publication number
KR20230107860A
KR20230107860A KR1020237020349A KR20237020349A KR20230107860A KR 20230107860 A KR20230107860 A KR 20230107860A KR 1020237020349 A KR1020237020349 A KR 1020237020349A KR 20237020349 A KR20237020349 A KR 20237020349A KR 20230107860 A KR20230107860 A KR 20230107860A
Authority
KR
South Korea
Prior art keywords
training
speech
utterance
voice
noisy audio
Prior art date
Application number
KR1020237020349A
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 KR20230107860A publication Critical patent/KR20230107860A/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/06Creation of reference templates; Training of speech recognition systems, e.g. adaptation to the characteristics of the speaker's voice
    • G10L15/065Adaptation
    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10LSPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
    • G10L15/00Speech recognition
    • G10L15/08Speech classification or search
    • G10L15/18Speech classification or search using natural language modelling
    • G10L15/183Speech classification or search using natural language modelling using context dependencies, e.g. language models
    • G10L15/187Phonemic context, e.g. pronunciation rules, phonotactical constraints or phoneme n-grams
    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10LSPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
    • G10L15/00Speech recognition
    • G10L15/20Speech recognition techniques specially adapted for robustness in adverse environments, e.g. in noise, of stress induced speech
    • 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
    • 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
    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10LSPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
    • G10L21/00Speech or voice signal processing techniques to produce another audible or non-audible signal, e.g. visual or tactile, in order to modify its quality or its intelligibility
    • G10L21/02Speech enhancement, e.g. noise reduction or echo cancellation
    • G10L21/0208Noise filtering
    • G10L21/0216Noise filtering characterised by the method used for estimating noise
    • G10L21/0232Processing in the frequency domain
    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10LSPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
    • G10L15/00Speech recognition
    • G10L15/08Speech classification or search
    • G10L2015/088Word spotting
    • 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
    • G10L2015/226Procedures used during a speech recognition process, e.g. man-machine dialogue using non-speech characteristics

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)
  • Quality & Reliability (AREA)
  • Signal Processing (AREA)
  • Electrically Operated Instructional Devices (AREA)

Abstract

음성 모델(146)을 트레이닝하는 방법(300)은 음성 지원 장치(110)에서 고정된 세트의 트레이닝 발화들(144)를 수신하는 단계를 포함하고, 고정된 트레이닝 발화 세트의 각 트레이닝 발화는 해당 트레이닝 발화의 음성 표현(144r)과 페어링된 전사(144t)를 포함한다. 방법은 또한 음성 지원 장치의 환경에서 노이지 오디오 데이터를 샘플링하는 단계(202)를 포함한다. 고정된 세트의 트레이닝 발화의 각 트레이닝 발화에 대해, 이 방법은 음성 지원 장치의 환경에서 샘플링된 노이지 오디오 데이터를 사용하여, 노이지 오디오 샘플(204)을 생성하도록 해당 트레이닝 발화의 음성 표현(204)을 증강하는 단계 그리고 노이지 오디오 샘플 각각을 해당 트레이닝 발화의 해당 전사와 페어링하는 단계를 더 포함한다. 이 방법은 고정된 세트의 트레이닝 발화의 각각의 음성 표현에 대해 생성된 노이지 오디오 샘플에 대한 음성 모델을 트레이닝하는 단계를 더 포함한다.

Description

실제 노이즈를 사용한 음성 개인화 및 연합 트레이닝
본 명세서는 실제 노이즈를 사용한 음성 개인화 및 연합 트레이닝에 관한 것이다.
자동 음성 인식(ASR)은 모바일 장치 및 기타 장치에서 사용되는 중요한 기술이다. 일반적으로 자동 음성 인식은 사람이 말한 것에 대한 정확한 전사를 제공하려고 시도한다. ASR을 구현하는 장치는 환경에 존재하는 다른 개인에게 전달되는 발화와는 달리 주어진 발화가 시스템에 지시될 때 분별하는 데 도움이 되는 핫워드 또는 웨이크워드를 사용할 수 있다.
ASR 시스템이 직면 한 주요 과제 중 하나는 단일 모델이 단일 로케일의 모든 사용자의 음성 입력을 프로세싱할 수 있어야 한다는 것이다. 음성 인식 모델을 개인화하는 데 있어 또 다른 과제는 오디오 데이터에 레이블을 지정하기 위해 정확한 전사가 필요하기 때문에 처음부터 사용자 장치에서 전체 음성 인식 모델을 트레이닝하는 것이 불가능하다는 것이다.
공개의 한 양태는 음성 모델을 트레이닝하는 방법을 제공한다. 이 방법에는 음성 지원 장치의 데이터 프로세싱 하드웨어 수신이 포함된다. 고정 트레이닝 발화 세트에서 각 트레이닝 발화에는 해당 트레이닝 발화의 해당 음성 표현과 페어링된 해당 전사가 포함되는 고정된 세트의 트레이닝 발화가 포함된다. 이 방법에는 데이터 프로세싱 하드웨어에 의한 샘플링, 음성 지원 장치 환경의 노이지 오디오 데이터도 포함된다. 이 방법은, 상기 고정된 세트의 트레이닝 발화들의 각 트레이닝 발화에 대해: 상기 데이터 프로세싱 하드웨어에 의해, 상기 음성 지원 장치의 환경에서 샘플링된 노이지 오디오 데이터를 사용하여, 하나 이상의 해당 노이지 오디오 샘플을 생성하도록 상기 해당 트레이닝 발화의 해당 음성 표현을 증강하는 단계; 그리고 상기 데이터 프로세싱 하드웨어에 의해, 상기 하나 이상의 해당 노이지 오디오 샘플 각각을 상기 해당 트레이닝 발화의 해당 전사와 페어링하는 단계를 포함한다. 이 방법은 상기 데이터 프로세싱 하드웨어에 의해, 상기 고정된 세트의 트레이닝 발화들에서 각각의 음성 표현에 대해 생성된 상기 하나 이상의 해당 노이지 오디오 샘플에 대한 음성 모델을 트레이닝하는 단계를 더 포함한다.
일부 예에서, 이 방법은 또한 해당 트레이닝 발화의 해당 음성 표현을 증강시키기 전에, 상기 데이터 프로세싱 하드웨어에 의해, 해당 음성 표현을 디-노이징(de-noising)하여 임의의 이전에 존재하는 노이즈를 제거하는 단계를 포함한다. 일부 구현에서, 이 방법은 하나 이상의 해당 노이지 오디오 샘 각각을 해당 트레이닝 발화의 해당 전사와 페어링한 후, 상기 데이터 프로세싱 하드웨어에 의해, 상기 데이터 프로세싱 하드웨어와 통신하는 메모리 하드웨어에, 상기 해당 트레이닝 발화의 해당 전사와 상기 하나 이상의 해당 노이지 샘플 각각의 페어링을 저장하는 단계를 더 포함한다.
일부 구성에서, 방법은, 상기 음성 모델이 음성 인식 모델을 포함할 때, 상기 고정된 세트의 트레이닝 발화들 내의 각각의 음성 표현 및 상기 해당 음성 표현에 대해 생성된 하나 이상의 노이지 오디오 샘플의 각 노이지 오디오 샘플에 대해: 상기 데이터 프로세싱 하드웨어에 의해, 음성 모델에 의한 출력을 위해, 해당 음성 표현 또는 해당 노이지 오디오 샘플에 대한 가능한 음성 인식 가설에 대한 해당 확률 분포를 결정하는 단계; 그리고 상기 데이터 프로세싱 하드웨어에 의해, 해당 음성 표현 또는 해당 노이지 오디오 샘플에 대한 가능한 음성 인식 가설에 대한 상기 해당 확률 분포에 기초하여 손실 항을 생성하는 단계를 더 포함한다. 이 구성에서, 음성 모델을 트레이닝하는 단계는, 상기 고정된 세트의 트레이닝 발화들의 각각의 음성 표현에 대해 생성된 손실 항 및 상기 고정된 세트의 트레이닝 발화들의 각각의 해당 음성 표현에 대해 생성된 하나 이상의 노이지 오디오 샘플의 각각의 노이지 오디오 샘플을 사용하여 상기 음성 인식 모델의 파라미터를 업데이트하는 단계를 포함한다. 음성 모델을 트레이닝하는 단계는, 상기 고정된 세트의 트레이닝 발화들의 각각의 음성 표현에 대해 생성된 손실 항 및 상기 고정된 세트의 트레이닝 발화들의 각각의 해당 음성 표현에 대해 생성된 하나 이상의 노이지 오디오 샘플의 각각의 노이지 오디오 샘플을 중앙 서버에 전송하는 단계를 포함한다. 상기 중앙 서버는, 상기 음성 지원 장치의 데이터 프로세싱 하드웨어로부터 수신된 손실 항 그리고 다른 음성 지원 장치로부터 수신된 다른 손실 항에 기초하여, 서버측 음성 인식 모델의 파라미터를 업데이트하기 위해 연합 학습(federated learning)을 사용하도록 구성되며, 상기 다른 손실 항은 상기 다른 음성 지원 장치에 의해 샘플링된 상이한 노이지 오디오 데이터에 기초하여 서로 다른 음성 지원 장치로부터 수신된다.
일부 예에서, 상기 방법은, 상기 고정된 세트의 트레이닝 발화들 내의 적어도 하나의 트레이닝 발화에 대해: 상기 데이터 프로세싱 하드웨어에 의해, 해당 트레이닝 발화의 해당 음성 표현과 음성학적으로 유사하고, 그리고 적어도 하나의 트레이닝 발화의 해당 음성 표현과 페어링된 해당 전사와는 상이한 각각의 전사와 페어링된, 상기 음성 지원 장치의 환경으로부터 샘플링된 해당 음성 발화를 획득하는 단계를 더 포함한다. 이러한 예에서, 상기 고정된 세트의 트레이닝 발화들 및 하나 이상의 해당 노이지 오디오 샘플에 대한 음성 모델을 트레이닝하는 것은 상기 고정된 세트의 트레이닝 발화들의 적어도 하나의 트레이닝 발화에 대해 획득된 해당 음성 발화에 추가로 기초한다. 상기 고정된 세트의 트레이닝 발화들의 적어도 하나의 트레이닝 발화에 대한 해당 음성 발화를 획득하는 단계는, 상기 음성 지원 장치의 환경으로부터 상기 해당 음성 발화를 샘플링하는 단계; 상기 해당 음성 발화에 대해 생성된 각각의 임베딩과 상기 적어도 하나의 트레이닝 발화의 해당 음성 표현에 대해 생성된 각각의 임베딩의 비교에 기초하여, 상기 환경으로부터 샘플링된 해당 음성 발화가 적어도 하나의 해당 트레이닝 발화의 해당 음성 표현과 음성학적으로 유사하다고 결정하는 단계; 상기 음성 지원 장치의 환경으로부터 샘플링된 상기 해당 음성 발화의 각각의 전사를 획득하는 단계; 그리고 상기 해당 음성 발화의 각각의 전사가 상기 적어도 하나의 트레이닝 발화의 해당 음성 표현과 페어링된 해당 전사와는 상이하다고 결정하는 단계를 포함한다. 임베딩 모델 또는 음성 모델의 일부는 상기 적어도 하나의 트레이닝 발화의 해당 음성 표현 및 해당 음성 표현 각각에 대한 각각의 임베딩을 생성한다. 이들 예에서, 상기 적어도 하나의 트레이닝 발화(144)의 해당 음성 표현은 특정 고정 용어의 음성 표현을 나타낸다. 상기 음성 모델은 상기 특정 고정 용어를 검출하도록 트레이닝된 핫워드 검출 모델을 포함한다. 상기 특정 고정 용어를 검출하기 위해 상기 핫워드 검출 모델을 트레이닝하는 것은 네거티브 트레이닝 샘플로서 상기 적어도 하나의 트레이닝 발화에 대해 획득된 상기 해당 음성 발화를 사용하는 것을 포함한다.
본 개시의 또 다른 양태는 데이터 프로세싱 하드웨어; 그리고 상기 데이터 프로세싱 하드웨어와 통신하는 메모리 하드웨어를 포함하며, 상기 메모리 하드웨어는 상기 데이터 프로세싱 하드웨어에서 실행될 때 상기 데이터 프로세싱 하드웨어로 하여금 동작들을 수행하게 하는 명령어를 저장한다. 상기 동작들은, 음성 지원 장치에서, 고정된 세트의 트레이닝 발화들를 수신하는 동작 -상기 고정된 세트의 트레이닝 발화들의 각 트레이닝 발화는 해당 트레이닝 발화의 해당 음성 표현과 페어링된 해당 전사를 포함함-; 상기 음성 지원 장치의 환경으로부터 노이지 오디오 데이터(noisy audio data)를 샘플링하는 동작; 상기 고정된 세트의 트레이닝 발화들의 각 트레이닝 발화에 대해: 상기 음성 지원 장치의 환경에서 샘플링된 노이지 오디오 데이터를 사용하여, 하나 이상의 해당 노이지 오디오 샘플을 생성하도록 상기 해당 트레이닝 발화의 해당 음성 표현을 증강(augmenting)하는 동작; 그리고 상기 해당 트레이닝 발화의 해당 전사와 상기 하나 이상의 해당 노이지 오디오 샘플 각각을 페어링하는 동작; 그리고 상기 고정된 세트의 트레이닝 발화들에서 각각의 음성 표현에 대해 생성된 상기 하나 이상의 해당 노이지 오디오 샘플에 대한 음성 모델을 트레이닝하는 동작을 포함한다. 이 양태는 다음과 같은 선택적 기능 중 하나 이상을 포함할 수 있다.
일부 예에서, 상기 동작들은, 해당 트레이닝 발화의 해당 음성 표현을 증강시키기 전에, 해당 음성 표현을 디-노이징(de-noising)하여 임의의 이전에 존재하는 노이즈를 제거하는 동작을 더 포함한다. 일부 구현에서, 동작들은 하나 이상의 해당 노이지 오디오 샘플 각각을 해당 트레이닝 발화의 해당 전사와 페어링한 후, 상기 데이터 프로세싱 하드웨어에 의해, 상기 데이터 프로세싱 하드웨어와 통신하는 메모리 하드웨어에, 상기 해당 트레이닝 발화의 해당 전사와 상기 하나 이상의 해당 노이지 샘플 각각의 페어링(pairing)을 저장하는 동작을 더 포함한다.
일부 구성에서, 상기 동작들은, 상기 음성 모델이 음성 인식 모델을 포함할 때, 상기 고정된 세트의 트레이닝 발화들의 각각의 음성 표현 및 상기 해당 음성 표현에 대해 생성된 하나 이상의 노이지 오디오 샘플의 각 노이지 오디오 샘플에 대해: 음성 모델에 의한 출력을 위해, 해당 음성 표현 또는 해당 노이지 오디오 샘플에 대한 가능한 음성 인식 가설에 대한 해당 확률 분포를 결정하는 동작; 그리고 해당 음성 표현 또는 해당 노이지 오디오 샘플에 대한 가능한 음성 인식 가설에 대한 상기 해당 확률 분포에 기초하여 손실 항(loss term)을 생성하는 동작을 더 포함한다. 이들 구성에서, 음성 모델을 트레이닝하는 동작은, 상기 고정된 세트의 트레이닝 발화들의 각각의 음성 표현에 대해 생성된 손실 항 및 상기 고정된 세트의 트레이닝 발화들의 각각의 해당 음성 표현에 대해 생성된 하나 이상의 노이지 오디오 샘플의 각각의 노이지 오디오 샘플을 사용하여 상기 음성 인식 모델의 파라미터를 업데이트하는 동작을 포함한다. 음성 모델을 트레이닝하는 동작은, 상기 고정된 세트의 트레이닝 발화들의 각각의 음성 표현에 대해 생성된 손실 항 및 상기 고정된 세트의 트레이닝 발화들의 각각의 해당 음성 표현에 대해 생성된 하나 이상의 노이지 오디오 샘플의 각각의 노이지 오디오 샘플을 중앙 서버에 전송하는 동작을 포함한다. 상기 중앙 서버는, 상기 음성 지원 장치의 데이터 프로세싱 하드웨어로부터 수신된 손실 항 그리고 다른 음성 지원 장치로부터 수신된 다른 손실 항에 기초하여, 서버측 음성 인식 모델의 파라미터를 업데이트하기 위해 연합 학습(federated learning)을 사용하도록 구성되며, 상기 다른 손실 항은 상기 다른 음성 지원 장치에 의해 샘플링된 상이한 노이지 오디오 데이터에 기초하여 서로 다른 음성 지원 장치로부터 수신된다.
일부 예에서, 상기 동작들은, 상기 고정된 세트의 트레이닝 발화들 내의 적어도 하나의 트레이닝 발화에 대해: 해당 트레이닝 발화의 해당 음성 표현과 음성학적으로 유사하고, 그리고 적어도 하나의 트레이닝 발화의 해당 음성 표현과 페어링된 해당 전사와는 상이한 각각의 전사와 페어링된, 상기 음성 지원 장치의 환경으로부터 샘플링된 해당 음성 발화를 획득하는 동작을 더 포함한다. 상기 고정된 세트의 트레이닝 발화들 및 하나 이상의 해당 노이지 오디오 샘플에 대한 음성 모델을 트레이닝하는 것은 상기 고정된 세트의 트레이닝 발화들의 적어도 하나의 트레이닝 발화에 대해 획득된 해당 음성 발화에 추가로 기초한다. 상기 고정된 세트의 트레이닝 발화들의 적어도 하나의 트레이닝 발화에 대한 해당 음성 발화를 획득하는 동작은, 상기 음성 지원 장치의 환경으로부터 상기 해당 음성 발화를 샘플링하는 동작; 상기 해당 음성 발화에 대해 생성된 각각의 임베딩과 상기 적어도 하나의 트레이닝 발화의 해당 음성 표현에 대해 생성된 각각의 임베딩의 비교에 기초하여, 상기 환경으로부터 샘플링된 해당 음성 발화가 적어도 하나의 해당 트레이닝 발화의 해당 음성 표현과 음성학적으로 유사하다고 결정하는 동작; 상기 음성 지원 장치의 환경으로부터 샘플링된 상기 해당 음성 발화의 각각의 전사를 획득하는 동작; 그리고 상기 해당 음성 발화의 각각의 전사가 상기 적어도 하나의 트레이닝 발화의 해당 음성 표현과 페어링된 해당 전사와는 상이하다고 결정하는 동작을 포함한다. 임베딩 모델 또는 음성 모델의 일부는 상기 적어도 하나의 트레이닝 발화의 해당 음성 표현 및 해당 음성 표현 각각에 대한 각각의 임베딩을 생성한다. 이들 예에서, 상기 적어도 하나의 트레이닝 발화의 해당 음성 표현은 특정 고정 용어의 음성 표현을 나타내고; 상기 음성 모델은 상기 특정 고정 용어를 검출하도록 트레이닝된 핫워드 검출 모델을 포함하고; 그리고 상기 특정 고정 용어를 검출하기 위해 상기 핫워드 검출 모델을 트레이닝하는 것은 네거티브 트레이닝 샘플로서 상기 적어도 하나의 트레이닝 발화에 대해 획득된 상기 해당 음성 발화를 사용하는 것을 포함한다.
시스템 또는 방법의 구현에는 다음 선택적 기능 중 하나 이상이 포함될 수 있다. 일부 구현에서, 상기 음성 지원 장치의 환경으로부터 노이지 오디오 데이터를 샘플링하는 동작은, 상기 음성 지원 장치와 상기 음성 지원 장치와 연관된 사용자 간의 음성 상호작용의 직전, 동안 또는 직후 중 적어도 하나의 음성 지원 장치의 환경으로부터 노이즈를 무작위로 샘플링하는 동작을 포함한다. 다른 구현에서, 상기 음성 지원 장치의 환경으로부터 노이지 오디오 데이터를 샘플링하는 동작은, 상기 음성 지원 장치의 사용자가 상기 음성 지원 장치와 주기적으로 상호작용할 때 컨텍스트 및/또는 시간 윈도우를 획득하는 동작; 그리고 상기 음성 지원 장치의 사용자가 상기 음성 지원 장치와 주기적으로 상호작용할 때 상기 획득된 컨텍스트 및/또는 시간 윈도우 동안 상기 음성 지원 장치의 환경으로부터 노이지 오디오 데이터를 샘플링하는 동작을 포함한다. 또 다른 구현에서, 음성 지원 장치의 환경으로부터 노이지 오디오 데이터를 샘플링하는 동작은, 하루 동안 음성 지원 장치의 환경에서 노이지 오디오 데이터를 무작위로 샘플링하는 동작; 그리고 상기 음성 지원 장치의 사용자가 상기 음성 지원 장치와 더 주기적으로 상호작용할 때의 컨텍스트 및/또는 시간 윈도우 동안 상기 환경으로부터 샘플링된 임의의 노이지 오디오 데이터에 가중치를 적용하는 동작을 포함한다. 상기 데이터 프로세싱 하드웨어의 디지털 신호 프로세서가 상기 음성 지원 장치의 환경으로부터 노이지 오디오 데이터를 샘플링할 수 있다. 일부 예에서, 적어도 하나의 트레이닝 발화에 대한 해당 음성 표현은 해당 트레이닝 발화의 원시 오디오 파형을 포함한다. 다른 예에서, 적어도 하나의 트레이닝 발화에 대한 해당 음성 표현은 해당 트레이닝 발화의 오디오 특징 표현을 포함한다.
본 발명의 하나 이상의 구현에 대한 세부 사항은 첨부된 도면과 아래 설명에 설명되어 있다. 다른 양태, 특징 및 이점은 설명, 도면 및 청구범위로부터 명백할 것이다.
도 1a는 노이지 오디오 데이터로 음성 모델을 트레이닝하기 위한 예시적인 음성 환경의 개략도이다.
도 1b는 노이지 오디오 데이터를 사용한 연합 학습을 사용하여 음성 모델을 트레이닝하기 위한 예시적인 음성 환경의 개략도이다.
도 2a 및 2b는 음성 환경을 위한 예시적인 증강 시스템의 개략도이다.
도 3은 음성 모델 트레이닝 방법에 대한 예시적인 동작 배열의 흐름도이다.
도 4는 본 명세서에 기술된 시스템 및 방법을 구현하는 데 사용될 수 있는 예시적인 컴퓨팅 장치의 개략도이다.
다양한 도면에서 동일한 참조 부호는 동일한 요소를 나타낸다.
컴퓨팅 장치가 일상 업무와 함께 유비쿼터스화됨에 따라, 이러한 컴퓨팅 장치가 컴퓨팅 장치의 사용자와 컴퓨팅 장치 자체 사이의 상호 작용을 참여시키거나 촉진하는 기술을 갖추는 것이 일반화되었다. 또 다른 일반적인 접근 방식은 사용자가 자신의 음성을 사용하여 컴퓨팅 장치에 참여하는 접근 방식이다. 이러한 의미에서, 다양한 컴퓨팅 장치(음성 지원 장치라고도 함)는 음성 기반 입력을 프로세싱하고 음성 기반 입력에 기반한 동작 또는 태스크를 수행하도록 구성된다. 예를 들어, 사용자는 장치가 응답으로 합성된 음성을 생성하거나 음성 요청(쿼리 또는 명령이라고도 함)에서 태스크를 실행한다는 기대를 가지고 음성 지원 장치와 상호 작용할 수 있다. 예를 들어, 사용자는 "play my morning jazz playlist(아침 재즈 재생 목록 재생)"이라고 말함으로써 음성 지원 장치에 쿼리를 제출하고 장치가 사용자의 아침 재즈 재생 목록에서 노래를 재생하기를 기대할 수 있다. 음성은 인간 의사소통의 기본 형식이므로 음성 기반 입력은 거의 모든 상황에서 수행할 수 있는 장치와 통신하는 자연스럽고 편리한 방법이다(예: completely hands free).
음성 기반 입력을 프로세싱하기 위해 컴퓨팅 장치는 음성 인식 기능으로 구성된다. 이러한 음성 인식 시스템의 한 가지 과제는 호의적인 사용자 경험을 제공할 가능성이 있는 음성을 정확하게 인식하기 위해 음성 인식 시스템이 다양한 음성 변형과 종종 어느 정도의 배경 노이즈가 있는 음성 입력을 프로세싱할 수 있어야 한다는 것이다. 즉, 로버스트(robust) 음성 인식 시스템은 특정 사용자의 음성이 예를 들어 동일한 음성 인식 기술을 사용하는 다른 사용자와 비교할 때 방언 차이(예: 악센트, 어법, 단어 강세 강조, 어휘 차이 등)를 포함하더라도 사용자가 말한 음성의 컨텍스트를 정확하게 추출할 수 있다.
또한, 음성 지원 장치(voice-enabled device)는 어느 정도의 음성 기반 개인화(speech-based personalization)를 포함할 수 있다. 예를 들어, 단일 음성 지원 장치는 동일한 환경에서 여러 사용자가 사용할 수 있다. 예를 들어, 음성 지원 장치는 아버지, 어머니, 십대 아들을 포함하는 3인 가족에 속한다. 여기서 십대 아들은 약간의 개구쟁이일 수 있으며 장치를 활성화하는 장치와 관련된 기본 핫워드를 절전 상태에서 음성 프로세스를 수행하는 상태로 수정하려고 할 수 있다(즉, 음성 명령이나 쿼리를 수신하기 위해 장치를 깨우기 위해). 예를 들어, 아들은 "Hey Google"의 기본 핫워드를 "Hey Mike"라는 핫워드 문구로 변경한다. 장치가 자신의 말을 듣지 않을 때 아버지가 좌절할 것이라는 것이 재미있을 것이라고 생각한다. 아들이 모르는 사이에 장치의 각 사용자 또는 등록된 사용자가 장치와 관련된 화자 프로필을 갖도록 장치가 구성될 수 있다. 이 예에서 장치는 아들에게 특정한 음성 모델(예: 음성 인식 모델 또는 핫워드 모델)을 가질 수 있다. 이 경우 아들은 아들이 핫워드를 변경했을 때 장치가 아들의 음성을 인식하여 장치가 실제로 아버지의 프로필과 연결된 핫워드를 변경하는 대신 아들 프로필의 핫워드 구성을 변경했음을 깨닫지 못할 수 있다. 따라서 아버지가 기본 핫워드인 "Hey Google"을 사용하여 불만 없는 방식으로 장치와 상호 작용할 때 아들은 혼란스러워할 것이다. 그런 다음 아들이 "Hey Mike"라는 핫워드 문구를 잊어버리고 "Hey Google"이라는 문구를 반복할 때 장치가 아들을 무시하면 조크(joke)가 완전히 역효과를 낼 수 있다.
불행하게도, 다른 사용자들 사이에서 특정 사용자의 발화를 이해하는 음성 모델을 갖기 위해서는 음성 모델이 사용자의 음성에 대응하는 오디오 트레이닝 데이터(예를 들어, 녹음된 음성 데이터)에 대해 학습되어야 한다. 또한 특정 사용자에 대한 모델의 견고성은 일반적으로 사용자의 음성을 포함하는 오디오 트레이닝 데이터의 양에 기반한다. 다시 말해서, 사용자 음성의 특성 및/또는 특징을 학습하는 음성 모델은 이러한 특성을 식별하고 사용자가 음성 지원 장치에 말할 때 이러한 특성을 반복적으로 및/또는 안정적으로 식별할 수 있도록 사용자 음성 샘플이 필요하다.
하나의 접근법에서, 표준 음성 모델은 일반적으로 사람의 음성에 해당하는 트레이닝 샘플의 큰 코퍼스를 사용하여 화자를 인식하는 방법을 학습할 수 있다. 표준 음성 모델이 일반적으로 음성에 대해 트레이닝된 후, 2차 프로세스는 사용자별 오디오 샘플에 대해 표준 음성 모델을 트레이닝함으로써 특정 사용자에 대한 표준 음성 모델을 더 세분화할 수 있다. 이 2차 프로세스는 프로세스가 대략적으로 트레이닝된 모델(즉, 표준 음성 모델)을 취하고 이 대략적으로 트레이닝된 모델을 조정하여 사용자별 음성에 대한 음성 프로세스를 보다 정확하게 수행하기 때문에 미세 조정(fine-tuning)이라고도 한다.
미세 조정 프로세스는 음성 지원 장치 자체에서 로컬로 발생하거나 음성 지원 장치에서 멀리 떨어진 위치(예: 원격 서버)에서 원격으로 발생할 수 있다. 사용자는 사용자별 오디오 샘플이 원격 저장소에 상주하는 대신 장치(즉, 음성 지원 장치)에 로컬로 상주할 때 로컬 미세 조정 프로세스를 이용할 수 있다. 사용자별 오디오 샘플이 로컬에 있는 경우 미세 조정 프로세스를 수행하기 위해 사용자별 오디오 샘플을 원격 시스템과 통신할 필요가 없다는 점에서 장치의 미세 조정 프로세스가 효율적이다. 이렇게 하면 사용자별 오디오 샘플을 원격 시스템에 전달하기 위해 로컬 리소스 소비를 피할 수 있다. 또한 사용자는 미세 조정을 수행하기 위해 원격 서비스에 양도하는 대신 사용자별 오디오 샘플의 소유권(예: 개인 정보 보호 문제를 기반으로)을 유지하는 것을 선호할 수 있으며; 잠재적인 개인 정보 보호 문제 또는 잠재적인 사용자 데이터 남용을 완화한다.
미세 조정에 대한 로컬 접근 방식의 한 예는 연합 학습(federated learning)이다. 연합 학습은 중앙 집중식 소스(예: 원격 서버 또는 일부 조정 장치)가 존재하지만 각 사용자별 장치는 자체 학습 자율성을 유지하는 프로세스를 말한다(따라서 사용자 데이터 자율성). 연합 학습을 통해 음성 지원 장치는 모든 자체 트레이닝 데이터를 장치에 유지하면서 공유 예측 모델을 공동으로 학습한다. 즉, 미세 조정을 사용하는 기계 학습 프로세스는 원격으로 저장된 데이터의 필요성과 분리된다. 일부 예에서, 연합 학습 프로세스는 음성 지원 장치가 현재 음성 모델(예: coarsely trained, standard speech model)을 다운로드하고 장치의 오디오 데이터로부터 학습함으로써 이를 개선하는 것을 수반한다. 여기서 장치의 오디오 데이터는 사용자별 오디오 샘플이다. 일부 예에서 연합 학습의 미세 조정 프로세스가 장치에서 발생하면 장치는 현재 음성 모델(예: coarsely trained, standard speech model)에 대한 모든 업데이트를 중앙 집중식 소스에 전달한다. 예를 들어, 장치는 개인 정보 보호 최적화 방법(예: 암호화된 통신을 통해)을 통해 모델 기울기 업데이트(model gradient update)를 중앙 소스로 보낸다. 음성 모델을 배포하는 각 장치에서, 각 장치는 미세 조정 프로세스에서 중앙 소스로 현재 음성 모델에 대한 업데이트를 제공할 수 있으므로, 중앙 집중식 소스는 업데이트된 모델을 모든 장치에 대한 공유 모델로 유지하면서 현재 모델을 개선하기 위해 모든 장치에서 모든 업데이트를 집계할 수 있다. 연합 학습 프로세스는 또한 한 장치의 업데이트를 다른 장치의 업데이트(예: 평균 업데이트 함께)와 즉시 결합하여 단일 장치의 잠재적으로 고유한 업데이트를 모호하게 함으로써 중앙 집중식 서버에 전달되는 업데이트에 대한 개인 정보를 유지할 수 있다.
미세 조정은 음성 개인화의 또 다른 계층(레이어)을 제공하지만 미세 조정 프로세스는 본질적으로 정확성을 보장하기 위해 사용자별로 많은 양의 음성 데이터를 요구한다. 예를 들어, 일부 신경망 기반 모델은 단일 사용자에게 특정한 고충실도 모델을 생성하기 위해 수십 시간의 녹음된 음성을 요구한다. 그러나 녹음된 음성 데이터의 양이 많거나 음성 모델 트레이닝을 위해 공개적으로 액세스할 수 없는 불가피한 상황이 있다. 이로 인해 각 사용자에 대한 모델을 미세 조정하기가 어렵다. 또 다른 문제는 일부 사용자가 음성 지원 장치와 드물게(비주기적으로) 상호 작용할 수 있다는 것이다. 빈번하지 않은 상호작용으로 인해 온-디바이스 학습 기술도 특정 사용자를 위해 정확한 모델을 트레이닝시키기에 충분한 양의 데이터를 수집하지 못할 수 있다. 또한, 사용자의 음성 지원 장치가 사용자 특정 오디오 샘플을 수집하더라도 이러한 사용자 특정 오디오 샘플에는 사용자 음성 이외의 배경 노이즈(예: 다른 사용자의 음성)가 존재하는 노이즈 데이터가 포함될 수 있다. 일부 접근 방식은 추가 프로세싱 리소스 비용으로 오디오 데이터에서 특정 사용자에 대한 음성을 격리하기 위한 전략으로 배경 노이즈를 제거하거나 필터링하려고 시도할 수 있다.
음성 모델을 개인화하기 위해 사용자의 음성을 포함하는 제한된 양의 음성 샘플을 극복하기 위해 미세 조정 프로세스는 음성 지원 장치에서 사용할 수 있는 노이지 데이터(noisy data)를 활용하여 음성 모델을 사용자 환경에 더 잘 개인화할 수 있다. 음성 지원 장치에서 사용할 수 있는 노이지 데이터를 활용하여, 음성 모델은 음성 모델이 사용자의 음성 지원 장치에 의해 일반적으로 접하게 되는 유형의 노이즈에 더 로버스트(robust)하도록 어떤 형태의 노이지 데이터로 트레이닝할 수 있다. 또한, 오디오 샘플에 포함된 노이지 데이터를 제거하려고 시도하는 대신 트레이닝 프로세스는 이 노이즈를 사용자 및/또는 환경에 대한 추가 식별 수단으로 사용할 수 있다. 즉, 이 노이지 데이터 트레이닝 방식은 레이블이 지정된 데이터나 빈번한(주기적인) 사용자 상호 작용 없이도 음성 인식 정확도를 향상시킬 수 있다. 이 접근 방식의 또 다른 장점은 노이지 데이터를 사용한 트레이닝이 온-디바이스 음성 개인화 및/또는 연합 학습과 같은 미세 조정 프로세스에 쉽게 통합될 수 있다는 것이다.
도 1a 및 도 1b에 도시된 바와 같이, 일부 구현에서, 음성 시스템(100)은 음성 지원 장치(110)(장치(110) 또는 사용자 장치(110)라고도 함)에 음성 발화(12)를 전달하는 사용자(10)를 포함한다. 사용자(10)(즉, 발화(12)의 화자)는 장치(110)로부터 응답을 요청하거나 장치(110)가 발화(12)의 콘텐츠에 기초하여 태스크를 실행하도록 하기 위한 쿼리 또는 명령으로서 발화(12)를 말할 수 있다. 장치(110)는 음성 시스템(100) 내의 하나 이상의 사용자(10)로부터 가청 사운드를 캡처하도록 구성된다. 가청 사운드는 가청 쿼리, 장치(110)에 대한 명령 또는 장치(110)에 의해 캡처된 가청 통신으로서 기능하는 사용자(10)에 의한 발화(12)를 참조할 수 있다. 가청 사운드는 장치(110)의 오디오 캡처 감도에 기초하여 장치(110)에서 캡처된 환경 노이즈(14)를 더 포함할 수 있다. 음성 지원 인터페이스(예를 들어, 디지털 어시스턴트)는 쿼리에 응답하고/하거나 명령이 수행되도록 함으로써 쿼리 또는 명령을 프로세싱할 수 있다.
여기서, 장치(110)는 장치(110) 주변 환경 내의 발화(12) 및/또는 노이즈(14)에 대응하는 오디오 데이터를 캡처하도록 구성된다. 여기서, 오디오 데이터는 발화(12), 환경 노이즈(14), 또는 이 둘의 조합을 특징으로 할 수 있다. 장치(110)는 사용자(10)와 연관되고 오디오 신호를 수신할 수 있는 임의의 컴퓨팅 장치에 대응할 수 있다. 사용자 장치(110)의 일부 예는 모바일 장치(예를 들어, 휴대폰, 태블릿, 랩탑, 전자책 판독기 등), 컴퓨터, 웨어러블 장치(예: 스마트 워치), 음악 재생기, 캐스팅 장치, 스마트 가전(예: 스마트 TV) 및 사물 인터넷(IoT) 장치, 리모콘, 스마트 스피커 등을 포함하며, 이에 제한되지 않는다. 장치(110)는
데이터 프로세싱 하드웨어(112) 및 데이터 프로세싱 하드웨어(112)와 통신하고 그리고 데이터 프로세싱 하드웨어(112)에 의해 실행될 때 데이터 프로세싱 하드웨어(112)로 하여금 음성 프로세싱와 관련된 하나 이상의 동작을 수행하게 하는 명령을 저장하는 메모리 하드웨어(114)를 포함한다.
장치(110)는 음성 환경 내의 오디오 데이터(12, 14)를 캡처하여 전기 신호로 변환하기 위한 오디오 캡처 장치(예를 들어, 하나 이상의 마이크 어레이)(116)를 갖는 오디오 서브시스템을 더 포함한다. 장치(110)가 도시된 예에서 오디오 캡처 장치(116)를 구현하는 동안, 오디오 캡처 장치(116)는 물리적으로 장치(110)에 상주하지 않을 수 있지만 오디오 서브시스템(예를 들어, 장치(110)의 주변 장치)과 통신할 수 있다. 예를 들어, 장치(110)는 차량 전체에 배치된 마이크 어레이를 활용하는 차량 인포테인먼트 시스템에 해당할 수 있다.
또한, 장치(110)는 네트워크(120)를 통해 원격 시스템(130)과 통신하도록 구성된다. 원격 시스템(130)은 원격 데이터 프로세싱 하드웨어(134)(예를 들어, 원격 서버 또는 CPU) 및/또는 원격 메모리 하드웨어(136)(예를 들어, 원격 데이터베이스 또는 다른 저장 하드웨어)와 같은 원격 리소스(132)를 포함할 수 있다. 장치(110)는 음성 프로세싱와 관련된 다양한 기능을 수행하기 위해 원격 리소스(132)를 활용할 수 있다. 예를 들어, 장치(110)는 장치(110)의 사용자에 대해 개인화되도록 음성 모델(146)을 트레이닝하기 위해 트레이닝 프로세스(training process)(200)를 실행하도록 구성된다. 이러한 시스템(140, 200)은 장치(110)에 상주하거나(온-디바이스 시스템이라고 함) 원격에 상주하지만(예를 들어, 원격 시스템(130)에 상주) 장치(110)와 통신하거나 이들의 일부 조합일 수 있다. 예를 들어, 도 1b는 음성 시스템(140)과 연관된 음성 모델(146)이 복수의 장치(110, 110a-n)(예를 들어, 장치 110, 110a-c로 표시됨) 사이에서 공유될 수 있는 음성 시스템(140)을 구현하는 중앙 서버로서 기능하는 원격 시스템(130)을 도시한다. 일부 구현에서, 음성 시스템(140)이 원격 시스템(130)에 액세스할 수 있는 트레이닝 데이터(예: 트레이닝 음성 발화)의 대규모 코퍼스(large corpus)(예를 들어, 원격 메모리 하드웨어(136)에 저장됨)에서 음성 모델(146)을 초기에 트레이닝시킬 수 있도록 하기 위해 음성 시스템(140)이 원격 시스템(130)에 상주하는 것이 유리하다. 이는 모델(146)의 초기 트레이닝이 음성 지원 장치(110)에서 사용 가능하지 않을 수 있는 원격 서버에서 사용 가능한 더 강력한 컴퓨팅 리소스를 활용할 수 있게 한다. 그러나 음성 시스템(140)은 원격 시스템(130)을 필요로 하지 않고 장치(102)에서 음성 모델(146)을 초기에 트레이닝하기 위해 장치(102)에서 로컬로 실행할 수 있다.
대조적으로, 트레이닝 프로세스(200)는 각각의 사용자 장치(110)에서 로컬로 실행되고 각각의 사용자(10)에 대한 오디오의 사용자 특정 트레이닝 샘플을 생성하도록 구성된다. 각 사용자(10)에 대한 사용자별 노이지 오디오 샘플(noisy audio samples)을 생성하려면, 트레이닝 프로세스(200)는 장치(110)의 환경 내에서 캡처된 오디오 데이터(12, 14)를 사용하여 음성 시스템(140)으로부터 수신된 고정된 세트의 트레이닝 발화(144, 144a-n)(고정된 세트의 트레이닝 발화들)를 증강(augment)한다. 사용자 특정 노이지 오디오 샘플을 생성하기 위해 트레이닝 프로세스(200)를 로컬에서 실행함으로써, 사용자(10)의 환경으로부터 캡처된 오디오 데이터(12, 14)는 음성 지원 장치(110)에 유지되고 원격 시스템(130)과 공유되지 않는다.
트레이닝 발화의 초기 고정 세트(144, 144a-n)는 복수의 다른 화자(즉, 화자의 분류)로부터 샘플링된 전사된 음성 표현(transcribed speech representations)을 참조한다. 음성 표현은 원시 오디오 형식(raw audio form), 특징 표현(예: 멜 필터뱅크 에너지 또는 마이크로 특징)에 해당하는 형식 또는 각 음성 모델에 대한 일부 유형의 중간 특징일 수 있다. 일부 예에서, 트레이닝 발화(144)는 공개적으로 이용 가능한 일부 데이터 세트에서 가져온 것이다. 각각의 트레이닝 발화(144)는 발화(144)의 대응하는 음성 표현(144r)(도 2a 및 2b)과 페어링된(paired) 발화(144)에서 말해지는 단어의 전사(transcription)(144t)(도 2a 및 2b)를 포함한다. 발화(144)의 음성 표현(144r)은 발화(144)에 포함된 음성 특성 또는 특징을 나타내는 임의의 방식을 지칭할 수 있다. 예를 들어, 음성 표현(144r)은 임베딩 또는 벡터 스트링을 포함할 수 있으며, 임베딩의 각 차원은 하나 이상의 음성 특성을 나타낸다. 일부 예에서, 각각의 트레이닝 발화(144)의 전사(144t)는 음성 모델(146)에 대한 정확도 레벨을 보장하는 것을 돕기 위해 수동으로 생성된다(예를 들어, hand-transcribed utterance).
음성 시스템(140)은 사용자 장치(110)에서 수행될 음성 프로세싱에 따라 다양한 유형의 음성 모델(146)을 생성하도록 구성될 수 있다. 음성 모델(146)의 일부 예는 핫워드 모델, 음성 인식 모델 및/또는 종료 모델(endpointing model)을 포함한다. 핫워드 모델은 오디오 데이터에 대한 음성 인식을 수행하지 않고 음성 발화(12)를 특징짓는 오디오 데이터에 특정 단어 또는 구가 존재하는지 여부를 검출하도록 트레이닝된 모델이다. 특정 단어나 구가 있으면 핫워드 모델은 다양한 음성 프로세싱 시스템을 깨우도록 구성된다. 다시 말해서, "핫워드"는 핫워드 모델에 의해 검출될 때 핫워드를 프로세싱하기 위해 하나 이상의 음성 프로세싱 시스템의 활성화를 트리거하는 특정 단어 또는 구를 지칭하고/하거나 음성 발화(12)에서 핫워드를 따르는 하나 이상의 다른 용어를 말한다. 음성 시스템(140)이 핫워드 모델(146)을 트레이닝할 때, 트레이닝 발화(144)는 핫워드가 특정 트레이닝 발화(144)에 존재하는지(예를 들어, 긍정적인 트레이닝 발화(144)) 또는 존재하지 않는지(예를 들어, 부정적인 트레이닝 발화(144))를 나타내는 라벨을 포함한다. 여기서, 각각의 긍정 트레이닝 발화(144)는 핫워드를 특징짓는 대응하는 음성 표현(144r)을 포함하는 반면, 각각의 부정 트레이닝 발화(144)는 핫워드를 특징짓지 않는 대응하는 음성 표현(144r)을 포함한다. 음성 표현(144r)은 대응하는 전사(144r)와 페어링되거나 페어링되지 않을 수 있다.
반면에, 음성 인식 모델은 음성 발화에 의해 전달되는 명령 또는 쿼리를 식별하기 위해 표시 및/또는 해석될 수 있는 발화(12)의 전사를 생성하기 위해 음성 발화(12)를 특징짓는 입력 오디오 데이터에서 용어를 인식하도록 트레이닝된 음성 모델(146)을 말한다. 예를 들어, 음성 지원 장치(110)가 사용자(10)가 말한 "what is the weather like today?(오늘 날씨가 어때?)"라는 발화(12)를 캡처할 때, 음성 인식 모델은 사용자(10)가 현재 날씨의 보고를 요청하고 있음을 결정하기 위해 용어를 해석하기 위해 발화(112)를 특징짓는 오디오 데이터를 프로세싱하도록 구성된다.
일부 예에서, 음성 인식 모델을 트레이닝하는 것은 손실 함수/손실 항(loss function/term)을 최소화하기 위해 모델 파라미터(예를 들어, 모델 가중치)를 업데이트하는 반복 프로세스에서 손실 함수 또는 손실 항과 함께 기울기 하강법(gradient descent) 최적화 알고리즘을 사용하는 것을 포함한다. 보다 구체적으로, 트레이닝 프로세스(200)는 모델에 대한 신경망의 현재 파라미터를 조정하기 위해 손실 함수의 기울기의 추정치를 역전파(backpropagate)할 수 있다. 모델 파라미터가 손실 함수를 감소시킴에 따라, 모델은 모델(146)이 음성 표현(144r)을 수신하고 주어진 트레이닝 발화(144)의 대응 전사(144t)와 일치하는 음성 인식 결과를 예측하는 최적의 상태에 접근할 수 있다. 일부 예에서, 트레이닝 프로세스(200)는 트레이닝 발화(144)의 대응 전사(144t)와 비교하여 예측된 음성 인식 결과(예를 들어, 가능한 음성 인식 가설(possible speech recognition hypotheses)에 대한 확률 분포)에 기초하여 손실 항을 생성한다.
도 1a 및 도 1b에서, 사용자 장치(110)는 음성 시스템(140)으로부터 트레이닝되지 않은 또는 사전 트레이닝된 음성 모델(146)을 수신한다. 음성 시스템(140)은 사전 트레이닝된 또는 트레이닝되지 않은 음성 모델(146)을 장치(110)에 푸시할 수 있거나 사전 트레이닝된 또는 트레이닝되지 않은 음성 모델(146)이 사용자 장치(110)에 사전 로드될 수 있다. 음성 시스템(140)은 또한 고정된 세트의 트레이닝 발화(144, 144a-n)를 장치(110)에 전달한다. 고정된 세트의 트레이닝 발화(144) 내의 트레이닝 발화(144)의 양은 변할 수 있지만, 예로서 고정된 세트의 트레이닝 발화(144)는 약 1000개의 발화를 포함할 수 있다. 여기에서, 고정된 세트의 트레이닝 발화(144) 내의 각각의 트레이닝 발화(144)는 대응하는 음성 표현(144r)과 페어링된 대응하는 전사(144t)를 포함한다. 장치(110)는 모델(146)을 미세 조정(fine-tune)하기 위해 음성 지원 장치(110)의 환경으로부터 샘플링된 노이지 오디오 데이터(202)로 고정된 세트의 트레이닝 발화(144)를 증강(augmenting)함으로써 장치(110)의 특정 사용자(10)에 대한 모델(146)을 개인화하기 위해 트레이닝 프로세스(200)를 더 실행할 수 있다. 일부 예에서, 트레이닝 프로세스(200)는 고정된 세트의 트레이닝 발화(144)의 서브세트를 필터링하거나 사용한다. 여기서, 고정된 세트의 트레이닝 발화(144)의 서브세트는 장치(110)의 사용자(10)에 대한 특정 레벨의 관련성을 갖는 고정된 세트의 트레이닝 발화(144)의 일부 수에 대응할 수 있다(예를 들어, 서브세트는 장치(110)의 사용자(10)에 대한 유사한 음성 임베딩과 같이 사용자(10)에 유사한 특성을 갖는 화자로부터의 발화(144)에 대응한다). 트레이닝 프로세스(200)는 음성 지원 장치(102)의 환경으로부터 노이지 오디오 데이터(202)를 샘플링하고, 그리고 고정된 세트의 트레이닝 발화 내의 각각의 트레이닝 발화(144)에 대해, 트레이닝 프로세스(200)는 노이지 오디오 데이터(202)를 사용하여 대응하는 음성 표현(144r)을 증강시켜 하나 이상의 대응하는 노이지 오디오 샘플(204)을 생성한다. 여기서, 대응(해당) 트레이닝 발화(144)에 대해 생성된 하나 이상의 대응(해당) 노이지 오디오 샘플(204) 각각은 대응(해당) 트레이닝 발화(144)의 동일한 대응(해당) 전사(144t)와 페어링될 수 있다. 따라서, 트레이닝 프로세스(200)는 노이지 오디오 샘플(204) 각각은 음성 지원 장치(110)의 환경에 고유한 노이지 오디오 데이터(202)를 통합하도록, 트레이닝 발화(144)의 고정된 세트에서 각각의 음성 표현(144r)에 대해 복수의 노이지 오디오 샘플(202)을 생성할 수 있다. 마지막으로, 음성 모델(146)을 개인화하기 위해, 트레이닝 프로세스(200)는 고정된 세트의 트레이닝 발화(144)의 각 음성 표현(144r)으로부터 생성된 하나 이상의 해당 노이지 오디오 샘플(204)에 대해 트레이닝되지 않은 또는 사전 트레이닝된 음성 모델(146)을 트레이닝시킨다.
트레이닝 프로세스(200)는, 고정된 세트의 트레이닝 발화(144)의 트레이닝 발화(144) 중 어느 것도 사용자(10)에 의해 발화되지 않고 트레이닝 발화(144)의 수가 로버스트 모델 트레이닝에 충분하지 않지만, 이러한 트레이닝 발화(144)의 수가 음성 모델(146)을 로버스트하게 트레이닝하기 위해 충분한 수의 개인화된 트레이닝 발화(144)를 제공하도록 사용자 장치(110)의 환경으로부터 수집된 노이지 오디오 데이터(202)를 사용하여 각 음성 표현(144r)을 1회 이상 증강(augmenting)함으로써 곱해질 수 있다는 전제에서 동작한다. 트레이닝 프로세스(200)는 장치(110)에서 오디오 캡처 장치(116)에 의해 검출 가능한 임의의 가청 사운드를 샘플링함으로써 노이지 오디오 데이터(202)를 수집할 수 있다. 여기서, 노이지 오디오 데이터(202)는 사용자(10)의 음성을 포함하지 않을 수 있지만, 노이지 오디오 데이터(202)는 사용자(10)의 환경에 고유할 수 있는 가청 노이즈에 대응하기 때문에 사용자 특정적이라고 간주된다. 따라서 사용자 장치(102)가 일반적으로 사용자(10)가 말할 때 접하게 되는 노이즈와 연관될 수 있다. 도 1a에 도시된 바와 같이, 사용자(10)는 사용자(10)가 장치(110)와 상호 작용할 때 배경 노이즈(14)로서 고유한 사운드를 생성하는 개(dog)를 가질 수 있다. 예를 들어, 개는 사용자(10)가 장치(110)에 음성 명령을 전달할 때 울부짖거나 짖거나 낑낑거릴 수 있다. 사용자의 개가 내는 노이즈를 포함하는 배경 노이즈(14)를 수집함으로써, 트레이닝 프로세스(200)는 사용자 특정 노이지 오디오 샘플(204)을 형성할 수 있다. 또한, 사용자(10)는 트레이닝 프로세스(200)가 기차 경적, 철도 경적 및 기차 선로를 따라 이동하는 기차에 의해 생성되는 사운드와 관련된 노이지 오디오 데이터(202)를 수집하도록 철도 건널목 근처에 거주할 수도 있다.
노이지 오디오 데이터의 수집(202)으로, 트레이닝 프로세스(200)는 사용자(10)의 환경에 특정한 노이지 오디오 데이터(202)를 포함하기 때문에 사용자 특정인 하나 이상의 노이지 오디오 샘플(204)을 생성하기 위해 노이지 오디오 데이터(202)로 원래의 트레이닝 발화(144)를 증강(augment)할 수 있다. 노이지 오디오 데이터(202)로 복수의 트레이닝 발화(144)를 증강함으로써, 트레이닝 프로세스(200)는 음성 모델(146) 트레이닝에 사용하기 위한 충분한 수의 노이지 오디오 샘플(204)을 생성할 수 있다. 이러한 증강 프로세스(augmentation process)을 바탕으로, 트레이닝 프로세스(200)는 제한된 고정된 수의 원래 트레이닝 발화(144)로부터 많은 노이지 오디오 샘플(204)을 생성할 수 있으며, 노이지 오디오 샘플(204)은 고정된 세트의 트레이닝 발화(144)로부터의 하나 이상의 트레이닝 발화(144)와 결합된 노이지 오디오 데이터(202)의 하나 이상의 샘플의 순열(permutations)이다. 트레이닝 프로세스(200)는 사용자 장치(110)(예를 들어, 도 1a에 도시된 바와 같이)에서 개인화된 음성 모델(146)을 생성하거나 중앙 위치에서 이용 가능한 공유 음성 모델(146)에 복수의 장치(110)(예를 들어, 도 1b에 도시된 바와 같이)에 기여하기 위한 미세 조정 프로세스로서 전개될 수 있다.
구체적으로 도 1b를 참조하면, 연합 학습 접근법이 사용자 장치(110)의 모집단에서 실행되는 트레이닝 프로세스(200)를 사용할 때, 장치(110)는 사전 트레이닝된 모델(146)을 수신하고 미세 조정 프로세스는 트레이닝 프로세스(200)를 사용하여 모델(146)에 대한 업데이트(208)를 생성한 다음 공유 모델(146, 146s)을 형성하기 위해 중앙 위치로 다시 전달된다. 여기서, 업데이트(208)는 사용자 특정 노이지 오디오 샘플(204)에 대해 모델(146)을 트레이닝하는 트레이닝 프로세스(200)에 응답하여 생성된다. 따라서, 각각의 장치(110)는 원격 시스템(130)이 연합 학습을 사용하여 모든 사용자별 업데이트(208)를 공유 모델(146s)로 통합할 수 있도록 각각의 사용자별 노이지 오디오 샘플(204)에 기초하여 상이한 사용자별 업데이트(208)를 기여한다. 공유 음성 모델(146s)이 음성 인식 모델을 포함하는 예에서, 음성 인식 모델은 광범위한 노이지 환경에 걸쳐 음성을 인식할 수 있다. 도 1b는 각각의 장치(110)가 각각의 사용자(10, 10a-c)에 속하는 3개의 장치(110a-c)를 도시한다. 각각의 장치(110)는 트레이닝 프로세스(200)를 개별적으로 실행하여 사용자 특정 노이지 오디오 샘플(204)에 대한 트레이닝되지 않은 또는 사전 트레이닝된 모델(146)을 트레이닝함으로써 각각의 장치 특정 업데이트(208)를 생성할 수 있다. 도시된 예에서, 각각의 장치(110a, 110b, 110c)에서 실행되는 트레이닝 프로세스(200)는 음성 시스템(140)으로 다시 전송하기 위한 각각의 장치 특정 업데이트(208a, 208b, 208c)를 생성하고 연합 학습을 통해 적용되어 공유 음성 모델(146s)을 생성한다. 일부 예에서, 업데이트(208)는 모델 파라미터(예를 들어, 모델 가중치) 및/또는 사용자 특정 노이지 오디오 샘플(204)에 대한 음성 모델(146)을 트레이닝한 후 손실 항의 일부 표현을 포함한다. 음성 시스템(140)이 수신하는 모든 업데이트(208)에 기초하여, 음성 시스템(140)은 업데이트(208)를 어느 정도 통합(incorporate)하는 공유 모델(146s)을 생성한다.
도시되지는 않았지만, 트레이닝 프로세스(200)는 사용자(10)가 소유하거나 액세스 가능한 복수의 장치(110)에 공유되는 단일 모델(146)을 트레이닝할 수 있다. 예를 들어, 사용자(10)는 사용자(10)와 연관된 총 3개의 장치(110)에 대한 스마트 워치, 스마트 폰 및 스마트 스피커를 소유하고 있다. 여기서, 트레이닝 프로세스(200)는 사용자(10)와 관련된 각각의 장치(110)로부터 노이지 오디오 데이터(202)의 샘플을 수집할 수 있다. 각각의 장치(110)로부터의 노이지 오디오 데이터(202)의 이러한 샘플로, 트레이닝 프로세스(200)는 사용자(10)의 음성을 이해하기 위해 이들 장치(110) 간에 공유되는 모델(146)을 트레이닝할 수 있다. 구체적으로, 트레이닝 프로세스(200)는 하나 이상의 노이지 오디오 데이터(202) 샘플로 고정된 세트의 트레이닝 발화(144)로부터의 하나 이상의 트레이닝 발화(144)를 증강시켜 노이지 오디오 샘플(204)을 형성하여 사용자(10)의 장치(110) 간에 공유될 모델(146)을 트레이닝한다. 즉, 이 접근 방식은 사용자(10)와 연관된 장치(110)에 대해 발생하는 연합 학습 접근 방식과 유사하다.
도 2a 및 도 2b를 참조하면, 트레이닝 프로세스(200)는 수집 단계(210), 증강 단계(augmentation stage)(220) 및 트레이닝 단계(230)를 포함한다. 수집 단계(210)는 노이지 오디오 데이터(202)의 샘플을 생성하기 위해 환경 노이즈(14)를 수집하도록 구성된다. 일부 예에서, 장치(110)의 데이터 프로세싱 하드웨어(112)의 디지털 신호 프로세서는 트레이닝 프로세스(200)에 대한 수집 단계(210)로서 기능한다. 수집 단계(210)는 오디오 캡처 장치(116)의 검출 가능한 범위 내에 있는 환경에서 임의의 가청 노이즈를 수집할 수 있다. 수집 단계(210)는 다양한 방식으로 환경 노이즈(14)를 수집하도록 구성될 수 있다. 하나의 접근법에서, 수집 단계(210)는 트레이닝 프로세스(200)를 사용하여 미세 조정되고 있는 모델(146)의 유형에 기초하여 환경 노이즈(14)를 수집한다. 예를 들어, 트레이닝 프로세스(200)가 사전 트레이닝된 핫워드 모델을 미세 조정하여 핫워드 모델을 구현하는 장치(110)의 환경에 대해 핫워드 모델을 더 잘 개인화할 때, 수집 단계(210)는 사용자(10)가 장치(110)와 상호작용할 때 시간(예를 들어, 시간대) 동안 노이즈(14)를 샘플링함으로써 환경 노이즈(14)를 수집하도록 구성될 수 있다. 예를 들어, 수집 단계(210)는 사용자(10)와 장치(110) 사이의 음성 상호작용 직전, 도중 또는 직후에 일정 기간 동안 노이지 오디오 데이터(202)의 샘플을 수집한다. 구체적으로 핫워드 모델의 경우, 사용자(10)에 의해 발화(12)에서 핫워드가 발화되기 직전 또는 직후의 시간은 노이지 오디오 데이터(202)를 생성하기 위해 배경 노이즈(14)를 샘플링하는 유익한 시간일 수 있다. 도 2a는 노이지 오디오 데이터(202, 202a)의 제1 샘플을 생성하기 위해 음성 발화(12) 직전에 배경 노이즈(14, 14a), 노이지 오디오 데이터(202, 202b)의 제2 샘플을 생성하기 위해 음성 발화(12) 직후에 배경 노이즈(14, 14b)를 수집하는 수집 단계(210)를 도시한다. 대조적으로, 모델(146)이 음성 인식 모델인 경우, 수집 단계(210)는 사용자(10)와 장치(110) 사이의 음성 상호 작용 동안 배경 노이즈(14)를 샘플링하려고 시도할 수 있다.
일부 구현에서, 수집 단계(210)는 음성 시스템(140)으로부터 수신된 고정된 세트의 트레이닝 발화(144)에서 특정 트레이닝 발화(144)와 유사한 오디오 샘플을 수집하도록 추가로 구성된다. 특정 트레이닝 발화(144)와 유사한 오디오 샘플을 수집하기 위해, 수집 단계(210)는 장치(110)에서 음성 발화(12)를 샘플링하고 음성 발화(12)가 특정 트레이닝 음성(144)에 대한 음성학적 유사성을 갖는지 여부를 결정할 수 있다. 이러한 결정을 내리기 위해, 수집 단계(210)는 (예를 들어, 임베딩 모델을 사용함으로써) 트레이닝 발화(144)에 대한 임베딩(예를 들어, 음성 표현(144r))과 음성 발화(12)에 대한 임베딩을 비교할 수 있다. 일부 예에서, 수집 단계(210)는 음성 유사성에 대한 이러한 임베딩 비교를 수행하기 위해 음성 모델(146)과 연관된 임베딩 모델(예를 들어, 음성 모델(146)과 연관된 음향 모델(AM))과 함께 작동한다. 일부 구성에서, 수집 단계(210)는 음소 유사성 임계값(phonetic similarity threshold)(예를 들어, 조정 가능한 음성 유사성 임계값)을 포함하는데, 이는 음성학적으로 유사한 것으로 간주되기 위해 트레이닝 발화(144)와 수집된 오디오 샘플 사이의 최소 거리를 식별한다. 음성 유사성 임계값을 가짐으로써, 수집 단계(210)는 음성 유사성으로 인해 네거티브 트레이닝 샘플이 실제로 인식하기 어려운 포지티브 샘플로 지정되는 잠재적인 복잡성을 피할 수 있다. 예를 들어 핫워드 "Hey Google"을 검출하도록 트레이닝되는 핫워드 모델에는 핫워드 모델에서 잘못 검출될 수 있는 "Hey Computer"의 네거티브 트레이닝 예제가 있다. 이 예에서, 수집 단계(210)는 "Hey Google"과 "Hey Computer" 사이의 어느 정도의 음성학적 유사성을 식별할 수 있지만, 이들 문구 사이의 거리는 음성학적 유사성 임계값을 만족하지 않는다. 이 예에서 발음 유사성 임계값을 충족하지 못한다는 것은 이 두 구문이 "Hey Computer"가 인식하기 어려운 "Hey Google"의 긍정적인 예로 식별되어야 할 만큼 충분히 유사하지 않다는 것을 의미한다.
일부 구성에서, 수집 단계(210)는 장치(110)의 사용자(10)가 장치(110)와 빈번하게(주기적으로) 상호 작용할 때 수집 단계(210)가 일부 컨텍스트 및/또는 시간 윈도우를 결정할 때 노이지 오디오 데이터(202)를 형성하기 위해 배경 노이즈(14)의 하나 이상의 샘플을 수집한다. 예를 들어, 장치(110)는 제1 사용자(10)의 집에 위치한다. 주중(예: 월요일~금요일)에, 사용자(10)는 근무일이 시작되기 전(예를 들어, 오전 6시에서 오전 8시 사이) 그리고 근무일이 끝난 후(예를 들어, 오후 6시에서 오후 10시 사이)에 장치(110)와 자주 상호 작용하는 경향이 있다. 여기서, 월요일부터 금요일까지, 수집 단계(210)는 오전 8시-오후 6시 시간대보다 오전 6시-오전 8시 및 오후 6시-오후 10시 시간대에 대해 더 많은 수의 배경 노이즈 샘플을 수집할 수 있다. 다른 예로서, 제2 사용자(10)는 다른 고객을 탐색하거나 판매 전화를 걸기 위해 자신의 장치(110)에서 어시스턴트 애플리케이션을 사용하는 경향이 있는 여행 중인 판매원일 수 있다. 이는 사용자(10)가 근무일 오전 9시에서 오후 5시 사이에 자신의 음성을 사용하여 장치(110)와 가장 빈번하게 상호작용한다는 것을 의미한다. 수집 단계(210)가 이러한 시간(예를 들어, 시간 윈도우) 및/또는 상호 작용 행동의 컨텍스트적 패턴을 결정할 때, 수집 단계(210)는 이러한 빈번한(주기적인) 상호 작용 기간 동안 배경 노이즈(14)의 샘플을 수집하도록 구성될 수 있다.
추가적으로 또는 대안적으로, 수집 단계(210)는 장치(110)의 환경 내에서 배경 노이즈(14)를 무작위로 샘플링하도록 구성될 수 있다. 어떤 경우에는, 수집 단계(210)가 환경에서 노이지 오디오 데이터(202)를 무작위로 샘플링할 때, 수집 단계(210)는 샘플이 장치(110)와 사용자(10)의 상호작용과 일치할 때 노이지 오디오 데이터(202)의 하나 이상의 샘플에 가중치(212)를 적용할 수 있다. 예를 들어, 도 2a 및 도 2b는 제1 가중치(212, 212a)가 노이즈 오디오 데이터(202a)의 제1 샘플과 연관될 수 있는 반면 제2 가중치(212, 212b)는 노이즈 오디오 데이터(202b)의 제2 샘플과 연관될 수 있음을 도시한다. 수집 단계(210)가 가중치(212)를 적용하는 경우의 예로서, 수집 단계(210)는 사용자(10)가 장치(110)와 빈번하게 상호 작용하는 시간에 샘플이 발생하는 경우 노이지 오디오 데이터(202)의 샘플에 가중치를 적용한다. 예를 들어, 수집 단계(210)가 위에서 설명된 제1 사용자(10)에 대해 오전 6시 및 오전 8시에 노이지 오디오 데이터(202)의 무작위 샘플을 수집할 때, 수집 단계(210)는 샘플이 모델(146)을 트레이닝할 때 관련될 가능성이 더 높다는 것을 식별하기 위해 노이지 오디오 데이터(202)의 무작위 샘플에 가중치(212)를 적용한다.
증강 단계(220)는 고정된 세트의 트레이닝 발화(144)에서 각각의 음성 표현(144r)에 대한 하나 이상의 노이지 오디오 샘플(204)을 생성하도록 구성된다. 증강 단계(220)는 수집 단계(210)에 의해 샘플링된 노이지 오디오 데이터(202)를 대응하는 트레이닝 발화(144)의 음성 표현(144r)과 결합함으로써 각각의 노이지 오디오 샘플(204)을 생성한다. 여기서, 노이지 오디오 샘플(204)은 노이지 오디오 데이터(202)의 단일 샘플 또는 수집 단계(210)에서 수집된 노이지 오디오 데이터(202)의 다중 샘플로부터 형성될 수 있어서, 단일 노이지 오디오 샘플(204)은 한 번에 함께 믹스된 임의의 수의 노이지 오디오 데이터(202) 샘플로부터 구성될 수 있다. 예를 들어, 개 짖는 소리에 대응하는 노이지 오디오 데이터(202)의 제1 샘플은 아기 울음에 대응하는 노이지 오디오 데이터(202)의 제2 샘플과 함께 믹스된 다음 단일 노이지 오디오 샘플(204)을 형성하기 위해 고정된 세트의 트레이닝 발화(144)로부터의 트레이닝 발화(144)와 결합될 수 있다. 증강 단계(220)는 체계적인 방식으로 노이지 오디오 데이터(202)를 트레이닝 발화(144)와 무작위로 믹스(mix)하거나 노이지 오디오 데이터(202)를 트레이닝 발화(144)와 믹스할 수 있다. 위에서 간략히 설명된 바와 같이, 증가 단계(220)는 노이지 오디오 샘플(204)을 형성할 때 고정된 세트의 트레이닝 발화(144)로부터 트레이닝 발화(144)를 필터링하거나 수정할 수 있다. 이는 트레이닝 발화(144)를 하나 이상의 노이지 오디오 데이터(202) 샘플과 결합할 때 트레이닝 발화(144)를 슬라이싱(slicing)하거나 크로핑(cropping)하는 것을 포함할 수 있다.
증강 단계(220)가 노이지 오디오 샘플(204)을 생성하면, 증강 단계(220)는 노이지 오디오 샘플(204)을 노이지 오디오 데이터(202)에 의해 증강된 음성 표현(144r)과 페어링된 트레이닝 발화(144)의 해당 전사(144t)와 페어링될 수 있다. 다시 말해, 새로 형성된 노이지 오디오 샘플(204)은 기본 트레이닝 발화(underlying training utterance)(144)의 레이블을 가정할 수 있다. 예시를 위해, 트레이닝 발화(144)가 핫워드 모델을 트레이닝하기 위한 포지티브 트레이닝 예시로 라벨링된다면, 그 트레이닝 발화(144)에 대한 해당 음성 표현(144r)이 노이지 오디오 샘플(204)을 형성하기 위해 노이지 오디오 데이터(202)에 의해 증대될 때, 노이지 오디오 샘플(204)은 또한 사용자(10)의 장치(110)에 특정한 배경 노이즈(14)를 추가로 포함하는 포지티브 트레이닝 예시일 것이다. 핫워드의 포지티브 트레이닝 예의 내용은 변경되지 않으므로 트레이닝 발화(144)에 대한 레이블은 노이지 오디오 샘플(204)에 대해 지속된다. 동일한 개념이 트레이닝 발화(144)에 대응하는 전사(144t)에 유사하게 적용된다. 예를 들어, 음성 표현(144r)에 대해 생성된 하나 이상의 노이지 오디오 샘플(204) 각각은 음성 인식 모델을 트레이닝하기 위한 GT(ground-truth) 레이블(label)로서 그 음성 표현(144r)과 페어링된 해당 전사(144t)를 가정할 수 있다.
트레이닝 단계(230)는 개인화 음성 모델(146P)을 생성하는데 사용하기 위해 증강 단계(220)로부터 노이지 오디오 샘플(204, 204a-n)을 수신한다. 일부 예에서, 트레이닝 단계(230)는 노이지 오디오 샘플(204) 및 트레이닝되지 않은 또는 사전 트레이닝된 음성 모델(146)을 장치(110)에(예를 들어, 장치(110)의 메모리 하드웨어(114)에) 로컬적으로 캐싱한다. 트레이닝 단계(230)는 개인화된 음성 모델(146P)을 형성하기 위해 음성 모델(146)의 미세 조정을 수행한다. 트레이닝 단계(230)는, 트레이닝 단계(230)가 반복적으로 손실 항을 생성하고 파라미터를 업데이트하여 개인화된 음성 모델(146P)을 제공하는 기울기 하강법과 같은 기술의 사용을 통해 음성 모델(146)을 미세 조정하기 위해 노이지 오디오 샘플(204)을 사용할 수 있다.
도 2b에 도시된 바와 같이, 트레이닝 프로세스(200)는 또한 음성 시스템(140)으로부터 고정된 세트의 트레이닝 발화(144) 내의 트레이닝 발화(144)를 디-노이징(de-noise)하도록 구성된 디-노이징 단계(240)를 포함한다. 디-노이징은 기존 노이즈를 제거하는 프로세스를 의미한다. 기존 노이지를 제거함으로써, 디-노이징 단계(240)는, 증가 단계(220)가 노이지 오디오 샘플(204)을 생성하기 위해 사용하는 배경 노이즈(14)가 하나 이상의 트레이닝 발화(144)와 관련된 노이즈와 혼동되지 않도록 보장하는 것을 도울 수 있다. 즉, 디-노이징 단계(240)가 하나 이상의 트레이닝 발화(144) 내에서 기존 노이즈를 제거하지 않으면, 기존 노이즈는 개인화된 음성 모델(146P)을 생성하기 위한 노이지 오디오 샘플(204)의 트레이닝 효과를 잠재적으로 손상시킬 수 있는 트레이닝 단계(230) 동안 오류를 전파할 수 있다. 더욱이, 트레이닝 발화(144)가 장치(110)의 사용자(10)에 의해 발화된 발화(12)일 가능성이 없기 때문에, 기존의 노이즈가 사용자 특정인 것으로 잘못 해석되거나 가중될 수 있다. 기존 노이즈를 제거할 때, 디-노이징 단계(240)에 의한 이러한 제거는 증가 단계(220)가 트레이닝 발화(114)를 노이지 오디오 데이터(202)와 결합하여 노이지 오디오 샘플(204)을 형성하기 전에 생성기(230)가 트레이닝 발화(144)를 디-노이징하도록 증강 단계(220) 이전에 발생할 수 있다. 그렇지 않으면, 생성기(230)는 노이지 오디오 데이터(202)와 함께 배경 노이즈(14)도 도입되었을 때 트레이닝 발화(144)로부터 노이즈를 분리하는 데 어려움을 겪을 수 있다.
일부 구현에서, 트레이닝 프로세스(200)는 수집 단계(210)에 의해 수집된 노이지 오디오 데이터(202)에 기초하여 특정 트레이닝 발화(144)에 대한 노이즈를 가장 잘 생성하는 방법을 학습하는 기계 학습 모델을 추가로 구현한다. 이러한 구현에서, 기계 학습 모델은 개인화 음성 모델(146P)을 생성하기 위한 트레이닝 예로서 사용하기 위해 최적화된 노이지 오디오 샘플(204)을 생성하기 위해 증강 단계(220)와 함께 노이즈 생성기로서 동작한다. 노이지 오디오 샘플을 생성하는 학습 기능은 특정 유형의 배경 노이즈(14)가 다른 것보다 사용자 환경에 더 고유할 수 있다는 사실에 달려 있다.
도 3은 음성 모델(146)을 트레이닝하는 방법(300)에 대한 예시적인 동작 배열의 흐름도이다. 동작 302에서, 방법(300)은 음성 지원 장치(110)에서 고정된 세트의 트레이닝 발화(144, 144a-n)를 수신한다. 고정된 세트의 트레이닝 발화(144, 144a-n) 내의 각각의 트레이닝 발화(144)는 해당 트레이닝 발화(144)의 해당 음성 표현(144r)과 페어링된 해당 전사(144t)를 포함한다. 동작(304)에서, 방법(300)은 음성 지원 장치(110)의 환경으로부터 노이지 오디오 데이터(202)를 샘플링한다. 고정된 세트의 트레이닝 발화(144, 144a-n)의 각 트레이닝 발화(144)에 대해, 방법(300)은 동작(306, 306a-b)을 수행한다. 동작(306a)에서, 방법(300)은 음성 지원 장치(110)의 환경으로부터 샘플링된 노이지 오디오 데이터(202)를 사용하여 해당 트레이닝 발화(144)의 해당 음성 표현(144r)을 증강하여 하나 이상의 해당 노이지 오디오 샘플(204)을 생성한다. 동작(306b)에서, 방법(300)은 하나 이상의 해당 노이지 오디오 샘플(204) 각각을 해당 트레이닝 발화(144)의 해당 전사(144t)와 페어링한다. 동작(308)에서, 방법(300)은 고정된 세트의 트레이닝 발화(144, 144a-n)에서 각각의 음성 표현(144r)에 대해 생성된 하나 이상의 해당 노이지 오디오 샘플(204)에 대해 음성 모델(146)을 트레이닝한다.
도 4는 본 명세서에 설명된 시스템(예를 들어, 스피커 식별 시스템(140) 및/또는 검증기(200)) 및 방법(예를 들어, 방법(300))을 구현하는 데 사용될 수 있는 예시적인 컴퓨팅 장치(400)의 개략도이다. 컴퓨팅 장치(400)는 랩톱, 데스크탑, 워크스테이션, 개인용 디지털 보조 장치, 서버, 블레이드 서버, 메인프레임 및 기타 적절한 컴퓨터와 같은 다양한 형태의 디지털 컴퓨터를 나타내도록 의도된다. 여기에 표시된 컴포넌트들, 이들의 연결 및 관계 및 기능은 예 일 뿐이며 본 명세서에서 설명 및/또는 청구된 발명의 구현을 제한하려는 것이 아니다.
컴퓨팅 장치(400)는 프로세서(410)(예를 들어, 사용자 장치(110)에 상주하는 데이터 프로세싱 하드웨어(116) 및/또는 원격 시스템(130)에 상주하는 원격 데이터 프로세싱 하드웨어(132)), 메모리(420)(예를 들어, 사용자 장치(110)에 상주하는 메모리 하드웨어(118) 및/또는 원격 시스템(130)에 상주하는 원격 메모리 하드웨어(134)), 저장 장치(430), 메모리(420) 및 고속 확장 포트(450)에 연결되는 고속 인터페이스/제어기(제어기)(440) 및 저속 버스(470) 및 저장 장치(430)에 연결되는 저속 인터페이스/제어기(460)를 포함한다. 각각의 컴포넌트(410, 420, 430, 440, 450, 460)는 다양한 버스를 사용하여 상호 연결되고, 공통 마더보드에 또는 적절한 다른 방식으로 장착될 수 있다. 프로세서(410)는 고속 인터페이스(440)에 연결된 디스플레이(470)와 같은 외부 입력/출력 장치에 그래픽 사용자 인터페이스(GUI)에 대한 그래픽 정보를 표시하기 위해 메모리(420) 또는 저장 장치(430)에 저장된 명령어를 포함하는, 컴퓨팅 장치(400) 내에서 실행하기 위한 명령어를 프로세싱(프로세싱)할 수 있다. 다른 구현에서, 다중 프로세서 및/또는 다중 버스가 다중 메모리 및 메모리 유형과 함께 적절하게 사용될 수 있다. 또한, 복수의 컴퓨팅 장치(400)는 필요한 동작의 일부를 제공하는 각 장치(예를 들어, 서버 뱅크, 블레이드 서버 그룹 또는 다중 프로세서 시스템)와 연결될 수 있다.
메모리(420)는 컴퓨팅 장치(400) 내에 비-일시적으로 정보를 저장한다. 메모리(420)는 컴퓨터 판독 가능 매체, 휘발성 메모리 유닛(들) 또는 비-휘발성 메모리 유닛(들)일 수 있다. 비-일시적 메모리(420)는 컴퓨팅 장치(400)에 의해 사용하기 위해 일시적 또는 영구적으로 프로그램(예를 들어, 명령어 시퀀스) 또는 데이터(예를 들어, 프로그램 상태 정보)를 저장하는 데 사용되는 물리적 장치일 수 있다. 예적인 비-휘발성 메모리는 플래시 메모리 및 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) 및 디스크 또는 테이프가 포함되지만 이에 국한되지는 않는다.
저장 장치(430)는 컴퓨팅 장치(400)에 대용량 저장 장치를 제공할 수 있다. 일부 구현에서, 저장 장치(430)는 컴퓨터 판독 가능 매체이다. 다양한 다른 구현에서, 저장 장치(430)는 플로피 디스크 장치, 하드 디스크 장치, 광 디스크 장치 또는 테이프 장치, 플래시 메모리 또는 기타 유사한 솔리드 스테이트 메모리 장치 또는 저장(스토리지) 영역 네트워크 또는 기타 구성의 장치를 포함하는 장치 어레이일 수 있다. 추가 구현에서, 컴퓨터 프로그램 제품은 정보 매체에 유형적으로 구현된다. 컴퓨터 프로그램 제품에는 실행시 위에서 설명한 것과 같은 하나 이상의 방법을 수행하는 명령어가 포함되어 있다. 정보 매체는 메모리(420), 저장 장치(430) 또는 프로세서(410)상의 메모리와 같은 컴퓨터 또는 기계 판독 가능 매체이다.
고속 제어기(440)는 컴퓨팅 장치(400)에 대한 대역폭 집약적인(bandwidth-intensive) 동작을 관리하는 반면, 저속 제어기(460)는 낮은 대역폭 집약적인 동작을 관리한다. 이러한 업무 할당은 예 일뿐이다. 일부 구현에서, 고속 제어기(440)는 메모리(420), 디스플레이(480)(예를 들어, 그래픽 프로세서 또는 가속기를 통해) 및 다양한 확장 카드(미도시)를 수용할 수 있는 고속 확장 포트(450)에 결합된다. 일부 구현에서, 저속 제어기(460)는 저장 장치(430) 및 저속 확장 포트(490)에 결합된다. 다양한 통신 포트(예: USB, 블루투스, 이더넷, 무선 이더넷)를 포함할 수 있는 저속 확장 포트(490)는 예를 들어 네트워크 어댑터를 통해, 키보드, 포인팅 장치, 스캐너 또는 스위치 또는 라우터와 같은 네트워킹 장치와 같은 하나 이상의 입력/출력 장치에 연결될 수 있다.
컴퓨팅 장치(400)는 도면에 도시된 바와 같이 복수의 상이한 형태로 구현될 수 있다. 예를 들어, 표준 서버(400a)로서 또는 그러한 서버(400a)의 그룹에서 랩톱 컴퓨터(400b)로서 또는 랙 서버 시스템(400c)의 일부로서 여러번 구현될 수 있다.
여기에 설명된 시스템 및 기술의 다양한 구현은 디지털 전자 및/또는 광학 회로, 집적 회로, 특별히 설계된 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 (32)

  1. 방법(300)으로서,
    음성 지원 장치(110)의 데이터 프로세싱 하드웨어(112)에서, 고정된 세트의 트레이닝 발화들(144)을 수신하는 단계 -상기 고정된 세트의 트레이닝 발화들(144)의 각 트레이닝 발화(144)는 해당 트레이닝 발화(144)의 해당 음성 표현(144r)과 페어링된 해당 전사(144t)를 포함함-;
    상기 데이터 프로세싱 하드웨어(112)에 의해, 상기 음성 지원 장치(110)의 환경으로부터 노이지 오디오 데이터(noisy audio data)(202)를 샘플링하는 단계;
    상기 고정된 세트의 트레이닝 발화들(144)의 각 트레이닝 발화(144)에 대해:
    상기 데이터 프로세싱 하드웨어(112)에 의해, 상기 음성 지원 장치(110)의 환경에서 샘플링된 노이지 오디오 데이터(202)를 사용하여, 하나 이상의 해당 노이지 오디오 샘플(204)을 생성하도록 상기 해당 트레이닝 발화(144)의 해당 음성 표현(144r)을 증강하는 단계; 그리고
    상기 데이터 프로세싱 하드웨어(112)에 의해, 상기 하나 이상의 해당 노이지 오디오 샘플(204) 각각을 상기 해당 트레이닝 발화(144)의 해당 전사(144t)와 페어링하는 단계; 그리고
    상기 데이터 프로세싱 하드웨어(112)에 의해, 상기 고정된 세트의 트레이닝 발화들(144)에서 각각의 음성 표현(144r)에 대해 생성된 상기 하나 이상의 해당 노이지 오디오 샘플(204)에 대한 음성 모델(146)을 트레이닝하는 단계를 포함하는 것을 특징으로 하는 방법.
  2. 제1항에 있어서, 상기 음성 지원 장치(110)의 환경으로부터 노이지 오디오 데이터(202)를 샘플링하는 단계는,
    상기 음성 지원 장치(110)와 상기 음성 지원 장치와 연관된 사용자(10) 간의 음성 상호작용의 직전, 동안 또는 직후 중 적어도 하나의 음성 지원 장치(110)의 환경으로부터 노이즈(14)를 무작위로 샘플링하는 단계를 포함하는 것을 특징으로 하는 방법.
  3. 제1항 또는 제2항에 있어서, 상기 음성 지원 장치(110)의 환경으로부터 노이지 오디오 데이터(202)를 샘플링하는 단계는,
    상기 음성 지원 장치(110)의 사용자(10)가 상기 음성 지원 장치(110)와 주기적으로 상호작용할 때 컨텍스트 및/또는 시간 윈도우를 획득하는 단계; 그리고
    상기 음성 지원 장치(110)의 사용자(10)가 상기 음성 지원 장치(110)와 주기적으로 상호작용할 때 상기 획득된 컨텍스트 및/또는 시간 윈도우 동안 상기 음성 지원 장치(110)의 환경으로부터 노이지 오디오 데이터(202)를 샘플링하는 단계를 포함하는 것을 특징으로 하는 방법.
  4. 제1항 내지 제3항 중 어느 한 항에 있어서, 음성 지원 장치(110)의 환경으로부터 노이지 오디오 데이터(202)를 샘플링하는 단계는,
    하루 동안 음성 지원 장치(110)의 환경에서 노이지 오디오 데이터(202)를 무작위로 샘플링하는 단계; 그리고
    상기 음성 지원 장치(110)의 사용자(10)가 상기 음성 지원 장치(110)와 더 주기적으로 상호작용할 때 컨텍스트 및/또는 시간 윈도우 동안 상기 환경으로부터 샘플링된 임의의 노이지 오디오 데이터(202)에 가중치(212)를 적용하는 단계를 포함하는 것을 특징으로 하는 방법.
  5. 제1항 내지 제4항 중 어느 한 항에 있어서, 상기 데이터 프로세싱 하드웨어(112)의 디지털 신호 프로세서(DSP)가 상기 음성 지원 장치(110)의 환경으로부터 노이지 오디오 데이터(202)를 샘플링하는 것을 특징으로 하는 방법.
  6. 제1항 내지 제5항 중 어느 한 항에 있어서, 상기 방법은,
    해당 트레이닝 발화(144)의 해당 음성 표현(144r)을 증강시키기 전에, 상기 데이터 프로세싱 하드웨어(112)에 의해, 해당 음성 표현(144r)을 디-노이징(de-noising)하여 임의의 이전에 존재하는 노이즈를 제거하는 단계를 더 포함하는 것을 특징으로 하는 방법.
  7. 제1항 내지 제6항 중 어느 한 항에 있어서, 상기 방법은,
    상기 음성 모델(146)이 음성 인식 모델을 포함할 때, 상기 고정된 세트의 트레이닝 발화들(144) 내의 각각의 음성 표현(144r) 및 상기 해당 음성 표현(144r)에 대해 생성된 하나 이상의 노이지 오디오 샘플(204)의 각 노이지 오디오 샘플(204)에 대해:
    상기 데이터 프로세싱 하드웨어(112)에 의해, 음성 모델(146)에 의한 출력을 위해, 해당 음성 표현(144r) 또는 해당 노이지 오디오 샘플(204)에 대한 가능한 음성 인식 가설에 대한 해당 확률 분포를 결정하는 단계; 그리고
    상기 데이터 프로세싱 하드웨어(112)에 의해, 해당 음성 표현(144r) 또는 해당 노이지 오디오 샘플(204)에 대한 가능한 음성 인식 가설에 대한 상기 해당 확률 분포에 기초하여 손실 항(loss term)을 생성하는 단계를 더 포함하는 것을 특징으로 하는 방법.
  8. 제7항에 있어서, 음성 모델(146)을 트레이닝하는 단계는,
    상기 고정된 세트의 트레이닝 발화들(144)의 각각의 음성 표현(144r)에 대해 생성된 손실 항 및 상기 고정된 세트의 트레이닝 발화들(144)의 각각의 해당 음성 표현(144r)에 대해 생성된 하나 이상의 노이지 오디오 샘플(204)의 각각의 노이지 오디오 샘플(204)을 사용하여 상기 음성 인식 모델의 파라미터를 업데이트하는 단계를 포함하는 것을 특징으로 하는 방법.
  9. 제7항 또는 제8항에 있어서, 음성 모델(146)을 트레이닝하는 단계는,
    상기 고정된 세트의 트레이닝 발화들(144)의 각각의 음성 표현(144r)에 대해 생성된 손실 항 및 상기 고정된 세트의 트레이닝 발화들(144)의 각각의 해당 음성 표현(144r)에 대해 생성된 하나 이상의 노이지 오디오 샘플(204)의 각각의 노이지 오디오 샘플(204)을 중앙 서버(130)에 전송하는 단계를 포함하며,
    상기 중앙 서버(130)는,
    상기 음성 지원 장치(110)의 데이터 프로세싱 하드웨어(112)로부터 수신된 손실 항 그리고 다른 음성 지원 장치(110)로부터 수신된 다른 손실 항에 기초하여, 서버측 음성 인식 모델의 파라미터를 업데이트하기 위해 연합 학습(federated learning)을 사용하도록 구성되며, 상기 다른 손실 항은 상기 다른 음성 지원 장치(110)에 의해 샘플링된 상이한 노이지 오디오 데이터(202)에 기초하여 서로 다른 음성 지원 장치(110)로부터 수신되는 것을 특징으로 하는 방법.
  10. 제1항 내지 제9항 중 어느 한 항에 있어서, 적어도 하나의 트레이닝 발화(144)에 대한 해당 음성 표현(144r)은 해당 트레이닝 발화(144)의 원시 오디오 파형을 포함하는 것을 특징으로 하는 방법.
  11. 제1항 내지 제10항 중 어느 한 항에 있어서, 적어도 하나의 트레이닝 발화(144)에 대한 해당 음성 표현(144r)은 해당 트레이닝 발화(144)의 오디오 특징 표현을 포함하는 것을 특징으로 하는 방법.
  12. 제1항 내지 제11항 중 어느 한 항에 있어서, 상기 방법은,
    상기 고정된 세트의 트레이닝 발화들(144) 내의 적어도 하나의 트레이닝 발화(144)에 대해: 상기 데이터 프로세싱 하드웨어(112)에 의해,
    해당 트레이닝 발화(144)의 해당 음성 표현(144r)과 음성학적으로 유사하고, 그리고 적어도 하나의 트레이닝 발화(144)의 해당 음성 표현(144r)과 페어링된 해당 전사(144t)와는 상이한 각각의 전사와 페어링된, 상기 음성 지원 장치(110)의 환경으로부터 샘플링된 해당 음성 발화를 획득하는 단계를 더 포함하며,
    상기 고정된 세트의 트레이닝 발화들(144) 및 하나 이상의 해당 노이지 오디오 샘플(204)에 대한 음성 모델(146)을 트레이닝하는 것은 상기 고정된 세트의 트레이닝 발화들(144)의 적어도 하나의 트레이닝 발화(144)에 대해 획득된 해당 음성 발화에 추가로 기초하는 것을 특징으로 하는 방법.
  13. 제12항에 있어서, 상기 고정된 세트의 트레이닝 발화들(144)의 적어도 하나의 트레이닝 발화(144)에 대한 해당 음성 발화를 획득하는 단계는,
    상기 음성 지원 장치(110)의 환경으로부터 상기 해당 음성 발화를 샘플링하는 단계;
    상기 해당 음성 발화에 대해 생성된 각각의 임베딩과 상기 적어도 하나의 트레이닝 발화(144)의 해당 음성 표현(144r)에 대해 생성된 각각의 임베딩의 비교에 기초하여, 상기 환경으로부터 샘플링된 해당 음성 발화가 적어도 하나의 해당 트레이닝 발화(144)의 해당 음성 표현(144r)과 음성학적으로 유사하다고 결정하는 단계;
    상기 음성 지원 장치(110)의 환경으로부터 샘플링된 상기 해당 음성 발화의 각각의 전사를 획득하는 단계; 그리고
    상기 해당 음성 발화의 각각의 전사가 상기 적어도 하나의 트레이닝 발화(144)의 해당 음성 표현(144r)과 페어링된 해당 전사(144t)와는 상이하다고 결정하는 단계를 포함하는 것을 특징으로 하는 방법.
  14. 제13항에 있어서, 임베딩 모델 또는 음성 모델(146)의 일부는 상기 적어도 하나의 트레이닝 발화(144)의 해당 음성 표현(144r) 및 해당 음성 표현 각각에 대한 각각의 임베딩을 생성하는 것을 특징으로 하는 방법.
  15. 제12항 내지 제14항 중 어느 한 항에 있어서,
    상기 적어도 하나의 트레이닝 발화(144)의 해당 음성 표현(144r)은 특정 고정 용어의 음성 표현을 나타내고;
    상기 음성 모델(146)은 상기 특정 고정 용어를 검출하도록 트레이닝된 핫워드 검출 모델을 포함하고; 그리고
    상기 특정 고정 용어를 검출하기 위해 상기 핫워드 검출 모델을 트레이닝하는 것은 네거티브 트레이닝 샘플로서 상기 적어도 하나의 트레이닝 발화(144)에 대해 획득된 상기 해당 음성 발화를 사용하는 것을 포함하는 것을 특징으로 하는 방법.
  16. 제1항 내지 제15항 중 어느 한 항에 있어서, 상기 방법은,
    하나 이상의 해당 노이지 오디오 샘플(204) 각각을 해당 트레이닝 발화(144)의 해당 전사(144t)와 페어링한 후, 상기 데이터 프로세싱 하드웨어(112)에 의해, 상기 데이터 프로세싱 하드웨어(112)와 통신하는 메모리 하드웨어(114)에, 상기 해당 트레이닝 발화(144)의 해당 전사(144t)와 상기 하나 이상의 해당 노이지 샘플 각각의 페어링(pairing)을 저장하는 단계를 더 포함하는 것을 특징으로 하는 방법.
  17. 시스템(100)으로서,
    데이터 프로세싱 하드웨어(112); 그리고
    상기 데이터 프로세싱 하드웨어(112)와 통신하는 메모리 하드웨어(114)를 포함하며, 상기 메모리 하드웨어(114)는 상기 데이터 프로세싱 하드웨어(112)에서 실행될 때 상기 데이터 프로세싱 하드웨어(112)로 하여금 동작들을 수행하게 하는 명령어를 저장하며; 상기 동작들은,
    음성 지원 장치(110)에서, 고정된 세트의 트레이닝 발화들(144)를 수신하는 동작 -상기 고정된 세트의 트레이닝 발화들(144)의 각 트레이닝 발화(144)는 해당 트레이닝 발화(144)의 해당 음성 표현(144r)과 페어링된 해당 전사(144t)를 포함함-;
    상기 음성 지원 장치(110)의 환경으로부터 노이지 오디오 데이터(noisy audio data)(202)를 샘플링하는 동작;
    상기 고정된 세트의 트레이닝 발화들(144)의 각 트레이닝 발화(144)에 대해:
    상기 음성 지원 장치(110)의 환경에서 샘플링된 노이지 오디오 데이터(202)를 사용하여, 하나 이상의 해당 노이지 오디오 샘플(204)을 생성하도록 상기 해당 트레이닝 발화(144)의 해당 음성 표현(144r)을 증강(augmenting)하는 동작; 그리고
    상기 해당 트레이닝 발화(144)의 해당 전사(144t)와 상기 하나 이상의 해당 노이지 오디오 샘플(204) 각각을 페어링하는 동작; 그리고
    상기 고정된 세트의 트레이닝 발화들(144)에서 각각의 음성 표현(144r)에 대해 생성된 상기 하나 이상의 해당 노이지 오디오 샘플(204)에 대한 음성 모델(146)을 트레이닝하는 동작을 포함하는 것을 특징으로 하는 시스템.
  18. 제17항에 있어서, 상기 음성 지원 장치(110)의 환경으로부터 노이지 오디오 데이터(202)를 샘플링하는 동작은,
    상기 음성 지원 장치(110)와 상기 음성 지원 장치와 연관된 사용자(10) 간의 음성 상호작용의 직전, 동안 또는 직후 중 적어도 하나의 음성 지원 장치(110)의 환경으로부터 노이즈(14)를 무작위로 샘플링하는 동작을 포함하는 것을 특징으로 하는 시스템.
  19. 제17항 또는 제18항에 있어서, 상기 음성 지원 장치(110)의 환경으로부터 노이지 오디오 데이터(202)를 샘플링하는 동작은,
    상기 음성 지원 장치(110)의 사용자(10)가 상기 음성 지원 장치(110)와 주기적으로 상호작용할 때 컨텍스트 및/또는 시간 윈도우를 획득하는 동작; 그리고
    상기 음성 지원 장치(110)의 사용자(10)가 상기 음성 지원 장치(110)와 주기적으로 상호작용할 때 상기 획득된 컨텍스트 및/또는 시간 윈도우 동안 상기 음성 지원 장치(110)의 환경으로부터 노이지 오디오 데이터(202)를 샘플링하는 동작을 포함하는 것을 특징으로 하는 시스템.
  20. 제17항 내지 제19항 중 어느 한 항에 있어서, 음성 지원 장치(110)의 환경으로부터 노이지 오디오 데이터(202)를 샘플링하는 동작은,
    하루 동안 음성 지원 장치(110)의 환경에서 노이지 오디오 데이터(202)를 무작위로 샘플링하는 동작; 그리고
    상기 음성 지원 장치(110)의 사용자(10)가 상기 음성 지원 장치(110)와 더 주기적으로 상호작용할 때의 컨텍스트 및/또는 시간 윈도우 동안 상기 환경으로부터 샘플링된 임의의 노이지 오디오 데이터(202)에 가중치(212)를 적용하는 동작을 포함하는 것을 특징으로 하는 시스템.
  21. 제17항 내지 제20항 중 어느 한 항에 있어서, 상기 데이터 프로세싱 하드웨어(112)의 디지털 신호 프로세서(DSP)가 상기 음성 지원 장치(110)의 환경으로부터 노이지 오디오 데이터(202)를 샘플링하는 것을 특징으로 하는 시스템.
  22. 제17항 내지 제21항 중 어느 한 항에 있어서, 상기 동작들은,
    해당 트레이닝 발화(144)의 해당 음성 표현(144r)을 증강시키기 전에, 해당 음성 표현(144r)을 디-노이징(de-noising)하여 임의의 이전에 존재하는 노이즈를 제거하는 동작을 더 포함하는 것을 특징으로 하는 시스템.
  23. 제17항 내지 제22항 중 어느 한 항에 있어서, 상기 동작들은,
    상기 음성 모델(146)이 음성 인식 모델을 포함할 때, 상기 고정된 세트의 트레이닝 발화들(144)의 각각의 음성 표현(144r) 및 상기 해당 음성 표현(144r)에 대해 생성된 하나 이상의 노이지 오디오 샘플(204)의 각 노이지 오디오 샘플(204)에 대해:
    음성 모델(146)에 의한 출력을 위해, 해당 음성 표현(144r) 또는 해당 노이지 오디오 샘플(204)에 대한 가능한 음성 인식 가설에 대한 해당 확률 분포를 결정하는 동작; 그리고
    해당 음성 표현(144r) 또는 해당 노이지 오디오 샘플(204)에 대한 가능한 음성 인식 가설에 대한 상기 해당 확률 분포에 기초하여 손실 항(loss term)을 생성하는 동작을 더 포함하는 것을 특징으로 하는 시스템.
  24. 제23항에 있어서, 음성 모델(146)을 트레이닝하는 동작은,
    상기 고정된 세트의 트레이닝 발화들(144)의 각각의 음성 표현(144r)에 대해 생성된 손실 항 및 상기 고정된 세트의 트레이닝 발화들(144)의 각각의 해당 음성 표현(144r)에 대해 생성된 하나 이상의 노이지 오디오 샘플(204)의 각각의 노이지 오디오 샘플(204)을 사용하여 상기 음성 인식 모델의 파라미터를 업데이트하는 동작을 포함하는 것을 특징으로 하는 시스템.
  25. 제23항 또는 제24항에 있어서, 음성 모델(146)을 트레이닝하는 동작은,
    상기 고정된 세트의 트레이닝 발화들(144)의 각각의 음성 표현(144r)에 대해 생성된 손실 항 및 상기 고정된 세트의 트레이닝 발화들(144)의 각각의 해당 음성 표현(144r)에 대해 생성된 하나 이상의 노이지 오디오 샘플(204)의 각각의 노이지 오디오 샘플(204)을 중앙 서버(130)에 전송하는 동작을 포함하며,
    상기 중앙 서버(130)는,
    상기 음성 지원 장치(110)의 데이터 프로세싱 하드웨어(112)로부터 수신된 손실 항 그리고 다른 음성 지원 장치(110)로부터 수신된 다른 손실 항에 기초하여, 서버측 음성 인식 모델의 파라미터를 업데이트하기 위해 연합 학습(federated learning)을 사용하도록 구성되며, 상기 다른 손실 항은 상기 다른 음성 지원 장치(110)에 의해 샘플링된 상이한 노이지 오디오 데이터(202)에 기초하여 서로 다른 음성 지원 장치(110)로부터 수신되는 것을 특징으로 하는 시스템.
  26. 제17항 내지 제25항 중 어느 한 항에 있어서, 적어도 하나의 트레이닝 발화(144)에 대한 해당 음성 표현(144r)은 해당 트레이닝 발화(144)의 원시 오디오 파형을 포함하는 것을 특징으로 하는 시스템.
  27. 제17항 내지 제26항 중 어느 한 항에 있어서, 적어도 하나의 트레이닝 발화(144)에 대한 해당 음성 표현(144r)은 해당 트레이닝 발화(144)의 오디오 특징 표현을 포함하는 것을 특징으로 하는 시스템.
  28. 제17항 내지 제27항 중 어느 한 항에 있어서, 상기 동작들은,
    상기 고정된 세트의 트레이닝 발화들(144) 내의 적어도 하나의 트레이닝 발화(144)에 대해:
    해당 트레이닝 발화(144)의 해당 음성 표현(144r)과 음성학적으로 유사하고, 그리고 적어도 하나의 트레이닝 발화(144)의 해당 음성 표현(144r)과 페어링된 해당 전사(144t)와는 상이한 각각의 전사와 페어링된, 상기 음성 지원 장치(110)의 환경으로부터 샘플링된 해당 음성 발화를 획득하는 동작을 더 포함하며,
    상기 고정된 세트의 트레이닝 발화들(144) 및 하나 이상의 해당 노이지 오디오 샘플(204)에 대한 음성 모델(146)을 트레이닝하는 것은 상기 고정된 세트의 트레이닝 발화들(144)의 적어도 하나의 트레이닝 발화(144)에 대해 획득된 해당 음성 발화에 추가로 기초하는 것을 특징으로 하는 시스템.
  29. 제28항에 있어서, 상기 고정된 세트의 트레이닝 발화들(144)의 적어도 하나의 트레이닝 발화(144)에 대한 해당 음성 발화를 획득하는 동작은,
    상기 음성 지원 장치(110)의 환경으로부터 상기 해당 음성 발화를 샘플링하는 동작;
    상기 해당 음성 발화에 대해 생성된 각각의 임베딩과 상기 적어도 하나의 트레이닝 발화(144)의 해당 음성 표현(144r)에 대해 생성된 각각의 임베딩의 비교에 기초하여, 상기 환경으로부터 샘플링된 해당 음성 발화가 적어도 하나의 해당 트레이닝 발화(144)의 해당 음성 표현(144r)과 음성학적으로 유사하다고 결정하는 동작;
    상기 음성 지원 장치(110)의 환경으로부터 샘플링된 상기 해당 음성 발화의 각각의 전사를 획득하는 동작; 그리고
    상기 해당 음성 발화의 각각의 전사가 상기 적어도 하나의 트레이닝 발화(144)의 해당 음성 표현(144r)과 페어링된 해당 전사(144t)와는 상이하다고 결정하는 동작을 포함하는 것을 특징으로 하는 시스템.
  30. 제29항에 있어서, 임베딩 모델 또는 음성 모델(146)의 일부는 상기 적어도 하나의 트레이닝 발화(144)의 해당 음성 표현(144r) 및 해당 음성 표현 각각에 대한 각각의 임베딩을 생성하는 것을 특징으로 하는 시스템.
  31. 제28항 내지 제30항 중 어느 한 항에 있어서,
    상기 적어도 하나의 트레이닝 발화(144)의 해당 음성 표현(144r)은 특정 고정 용어의 음성 표현을 나타내고;
    상기 음성 모델(146)은 상기 특정 고정 용어를 검출하도록 트레이닝된 핫워드 검출 모델을 포함하고; 그리고
    상기 특정 고정 용어를 검출하기 위해 상기 핫워드 검출 모델을 트레이닝하는 것은 네거티브 트레이닝 샘플로서 상기 적어도 하나의 트레이닝 발화(144)에 대해 획득된 상기 해당 음성 발화를 사용하는 것을 포함하는 것을 특징으로 하는 시스템.
  32. 제17항 내지 제31항 중 어느 한 항에 있어서, 상기 동작들은,
    하나 이상의 해당 노이지 오디오 샘플(204) 각각을 해당 트레이닝 발화(144)의 해당 전사(144t)와 페어링한 후, 상기 데이터 프로세싱 하드웨어(112)에 의해, 상기 데이터 프로세싱 하드웨어(112)와 통신하는 메모리 하드웨어(114)에, 상기 해당 트레이닝 발화(144)의 해당 전사(144t)와 상기 하나 이상의 해당 노이지 샘플 각각의 페어링(pairing)을 저장하는 동작을 더 포함하는 것을 특징으로 하는 시스템.
KR1020237020349A 2020-11-24 2021-11-15 실제 노이즈를 사용한 음성 개인화 및 연합 트레이닝 KR20230107860A (ko)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US17/103,878 2020-11-24
US17/103,878 US11741944B2 (en) 2020-11-24 2020-11-24 Speech personalization and federated training using real world noise
PCT/US2021/059415 WO2022115267A1 (en) 2020-11-24 2021-11-15 Speech personalization and federated training using real world noise

Publications (1)

Publication Number Publication Date
KR20230107860A true KR20230107860A (ko) 2023-07-18

Family

ID=78844696

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020237020349A KR20230107860A (ko) 2020-11-24 2021-11-15 실제 노이즈를 사용한 음성 개인화 및 연합 트레이닝

Country Status (6)

Country Link
US (2) US11741944B2 (ko)
EP (1) EP4233046A1 (ko)
JP (1) JP7485858B2 (ko)
KR (1) KR20230107860A (ko)
CN (1) CN116472577A (ko)
WO (1) WO2022115267A1 (ko)

Families Citing this family (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20200168317A1 (en) * 2018-08-22 2020-05-28 Centre For Addiction And Mental Health Tool for assisting individuals experiencing auditory hallucinations to differentiate between hallucinations and ambient sounds
CA3060900A1 (en) * 2018-11-05 2020-05-05 Royal Bank Of Canada System and method for deep reinforcement learning
US11741944B2 (en) * 2020-11-24 2023-08-29 Google Llc Speech personalization and federated training using real world noise
US20230017728A1 (en) * 2021-07-14 2023-01-19 Harman International Industries, Incorporated Techniques for audio feature detection
CN115472167A (zh) * 2022-08-17 2022-12-13 南京龙垣信息科技有限公司 基于大数据自监督的声纹识别模型训练方法、***

Family Cites Families (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7072834B2 (en) * 2002-04-05 2006-07-04 Intel Corporation Adapting to adverse acoustic environment in speech processing using playback training data
GB2401469B (en) 2003-05-09 2006-11-22 Domain Dynamics Ltd Pattern recognition
US9275638B2 (en) * 2013-03-12 2016-03-01 Google Technology Holdings LLC Method and apparatus for training a voice recognition model database
WO2015057661A1 (en) * 2013-10-14 2015-04-23 The Penn State Research Foundation System and method for automated speech recognition
US9799329B1 (en) * 2014-12-03 2017-10-24 Amazon Technologies, Inc. Removing recurring environmental sounds
US10147442B1 (en) * 2015-09-29 2018-12-04 Amazon Technologies, Inc. Robust neural network acoustic model with side task prediction of reference signals
KR102494139B1 (ko) * 2015-11-06 2023-01-31 삼성전자주식회사 뉴럴 네트워크 학습 장치 및 방법과, 음성 인식 장치 및 방법
US9886954B1 (en) * 2016-09-30 2018-02-06 Doppler Labs, Inc. Context aware hearing optimization engine
CN108269567B (zh) 2018-01-23 2021-02-05 北京百度网讯科技有限公司 用于生成远场语音数据的方法、装置、计算设备以及计算机可读存储介质
US11227187B1 (en) * 2019-05-23 2022-01-18 Augustus Intelligence Inc. Generating artificial intelligence solutions using raw data and simulated data
CN111081222A (zh) 2019-12-30 2020-04-28 北京明略软件***有限公司 语音识别方法、装置、存储介质以及电子装置
US11741944B2 (en) * 2020-11-24 2023-08-29 Google Llc Speech personalization and federated training using real world noise

Also Published As

Publication number Publication date
EP4233046A1 (en) 2023-08-30
CN116472577A (zh) 2023-07-21
WO2022115267A1 (en) 2022-06-02
US11741944B2 (en) 2023-08-29
JP2023549975A (ja) 2023-11-29
JP7485858B2 (ja) 2024-05-16
US20220165253A1 (en) 2022-05-26
US20230360639A1 (en) 2023-11-09

Similar Documents

Publication Publication Date Title
CN111344780B (zh) 基于上下文的设备仲裁
US10373609B2 (en) Voice recognition method and apparatus
WO2021093449A1 (zh) 基于人工智能的唤醒词检测方法、装置、设备及介质
CN110310623B (zh) 样本生成方法、模型训练方法、装置、介质及电子设备
JP7485858B2 (ja) 実世界ノイズを使用した音声個性化および連合訓練
Kumar et al. A Hindi speech recognition system for connected words using HTK
CN114830228A (zh) 与设备关联的账户
CN110047481B (zh) 用于语音识别的方法和装置
EP1279165B1 (en) Speech recognition
KR20170063037A (ko) 음성 인식 장치 및 방법
KR20140025361A (ko) 위치-기반 대화 해석
CN102280106A (zh) 用于移动通信终端的语音网络搜索方法及其装置
US10685664B1 (en) Analyzing noise levels to determine usability of microphones
US11676582B2 (en) Detecting conversations with computing devices
US11302329B1 (en) Acoustic event detection
EP3729422B1 (en) Detecting continuing conversations with computing devices
Yağanoğlu Real time wearable speech recognition system for deaf persons
US20200219487A1 (en) Information processing apparatus and information processing method
KR101699252B1 (ko) 음성 인식을 위한 특징 파라미터 추출 방법 및 이를 이용하는 음성 인식 장치
CN111210821A (zh) 一种基于互联网应用的智能语音识别***
JP2023162265A (ja) テキストエコー消去
US10522135B2 (en) System and method for segmenting audio files for transcription
JP7423056B2 (ja) 推論器および推論器の学習方法
Gaudani et al. Comparative study of robust feature extraction techniques for ASR for limited resource Hindi language
Kurian et al. Connected digit speech recognition system for Malayalam language