KR20230156121A - 비지도 병렬 타코트론 비-자기회귀 및 제어 가능한 TTS(text-to-speech) - Google Patents

비지도 병렬 타코트론 비-자기회귀 및 제어 가능한 TTS(text-to-speech) Download PDF

Info

Publication number
KR20230156121A
KR20230156121A KR1020237034860A KR20237034860A KR20230156121A KR 20230156121 A KR20230156121 A KR 20230156121A KR 1020237034860 A KR1020237034860 A KR 1020237034860A KR 20237034860 A KR20237034860 A KR 20237034860A KR 20230156121 A KR20230156121 A KR 20230156121A
Authority
KR
South Korea
Prior art keywords
sequence
phoneme
representation
embedding
mel
Prior art date
Application number
KR1020237034860A
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 KR20230156121A publication Critical patent/KR20230156121A/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
    • G10L13/00Speech synthesis; Text to speech systems
    • G10L13/02Methods for producing synthetic speech; Speech synthesisers
    • G10L13/04Details of speech synthesis systems, e.g. synthesiser structure or memory management
    • G10L13/047Architecture of speech synthesisers
    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10LSPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
    • G10L13/00Speech synthesis; Text to speech systems
    • G10L13/08Text analysis or generation of parameters for speech synthesis out of text, e.g. grapheme to phoneme translation, prosody generation or stress or intonation determination
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/04Architecture, e.g. interconnection topology
    • G06N3/044Recurrent networks, e.g. Hopfield networks
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/04Architecture, e.g. interconnection topology
    • G06N3/045Combinations of networks
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/04Architecture, e.g. interconnection topology
    • G06N3/047Probabilistic or stochastic networks
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/08Learning methods
    • G06N3/088Non-supervised learning, e.g. competitive learning
    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10LSPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
    • G10L13/00Speech synthesis; Text to speech systems
    • G10L13/02Methods for producing synthetic speech; Speech synthesisers
    • G10L13/04Details of speech synthesis systems, e.g. synthesiser structure or memory management
    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10LSPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
    • G10L25/00Speech or voice analysis techniques not restricted to a single one of groups G10L15/00 - G10L21/00
    • G10L25/03Speech or voice analysis techniques not restricted to a single one of groups G10L15/00 - G10L21/00 characterised by the type of extracted parameters
    • G10L25/18Speech or voice analysis techniques not restricted to a single one of groups G10L15/00 - G10L21/00 characterised by the type of extracted parameters the extracted parameters being spectral information of each sub-band
    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10LSPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
    • G10L25/00Speech or voice analysis techniques not restricted to a single one of groups G10L15/00 - G10L21/00
    • G10L25/27Speech or voice analysis techniques not restricted to a single one of groups G10L15/00 - G10L21/00 characterised by the analysis technique
    • G10L25/30Speech or voice analysis techniques not restricted to a single one of groups G10L15/00 - G10L21/00 characterised by the analysis technique using neural networks

Landscapes

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

Abstract

비-자기회귀적 TTS 모델(300)을 트레이닝하기 위한 방법(600)은 변량 임베딩(220)과 연결된 인코딩된 텍스트 시퀀스(219)의 시퀀스 표현(224)을 획득하는 단계를 포함한다. 방법은 또한 인코딩된 텍스트 시퀀스에 의해 표현되는 각각의 음소에 대한 음소 지속시간(240)을 예측하는 단계를 포함한다. 예측된 음소 지속시간에 기초하여, 방법은 간격 표현 및 보조 어텐션 컨텍스트 표현을 학습하고, 간격 표현 및 보조 어텐션 컨텍스트 표현을 사용하여 시퀀스 표현을 업샘플링된 출력(258)으로 업샘플링하는 단계도 포함한다. 방법은 또한 업샘플링된 출력에 기초하여 인코딩된 텍스트 시퀀스에 대한 하나 이상의 예측된 멜-주파수 스펙트로그램 시퀀스(302)를 생성하는 단계를 포함한다. 이 방법은 또한 예측된 멜-주파수 스펙트로그램 시퀀스 및 기준 멜-주파수 스펙트로그램 시퀀스(202)에 기초하여 최종 스펙트로그램 손실(280)을 결정하는 단계와 최종 스펙트로그램 손실에 기초하여 TTS 모델을 트레이닝하는 단계를 포함한다.

Description

비지도 병렬 타코트론 비-자기회귀 및 제어 가능한 TTS(text-to-speech)
본 개시는 비지도 병렬 타코트론(tacotron) 비-자기회귀 및 제어 가능한 TTS(text-to-speech)에 관한 것이다.
TTS(text-to-speech) 시스템은 디지털 텍스트를 사용자에게 소리내어 읽어 주며 모바일 장치에서 점점 더 대중화되고 있다. 특정 TTS 모델은 말하기 스타일과 같은 음성의 다양한 측면을 합성하여 인간과 유사하고 자연스러운 음성을 생성하는 것을 목표로 한다. TTS 모델의 합성은 텍스트 입력의 다양한 운율에 대해 가능한 음성 출력이 여러 개 있을 수 있기 때문에, 일대다 매핑 문제이다. 많은 TTS 시스템은 이전 값에 기초하여 현재 값을 예측하는 자기회귀적 모델을 활용한다. 자기회귀적 TTS 모델은 텍스트를 합성하고 매우 자연스러운 음성 출력을 생성할 수 있지만 수백 가지 계산이 필요하므로 추론 중에 효율성이 떨어진다.
본 개시의 일 양태는 데이터 프로세싱 하드웨어에서 실행될 때 데이터 프로세싱 하드웨어가 비-자기회귀적 TTS(text-to-speech) 모델을 트레이닝하기 위한 동작을 수행하게 하는 컴퓨터로 구현되는 방법을 제공한다. 동작에는 변량 임베딩과 연결된 인코딩된 텍스트 시퀀스의 시퀀스 표현을 획득하는 것이 포함된다. 지속시간 모델 네트워크를 사용하여, 동작은 또한 시퀀스 표현에 기초하여 인코딩된 텍스트 시퀀스에 의해 표현되는 각 음소에 대한 음소 지속시간을 예측하는 것을 포함한다. 예측된 음소 지속시간에 기초하여, 동작에는 시퀀스 표현에 따라 조건화된 제1 함수인 간격 표현을 사용하여 학습하고, 시퀀스 표현에 따라 조건화된 제2 함수를 사용하여 보조 어텐션 컨텍스트 표현을 학습하는 것이 포함된다. 이 동작에는 상기 간격 표현 및 상기 보조 어텐션 컨텍스트 표현을 사용하여, 상기 시퀀스 표현을 프레임 수를 지정하는 업샘플링된 출력으로 업샘플링하는 것도 포함된다. 동작은 또한 상기 업샘플링된 출력에 기초하여, 하나 이상의 셀프-어텐션 블록의 스택을 포함하는 스펙트로그램 디코더로부터의 출력으로서, 상기 인코딩된 텍스트 시퀀스에 대한 하나 이상의 예측된 멜-주파수 스펙트로그램 시퀀스를 생성하는 것도 포함한다. 동작은 또한 하나 이상의 예측된 멜-주파수 스펙트로그램 시퀀스 및 기준 멜-주파수 스펙트로그램 시퀀스에 기초하여 최종 스펙트로그램 손실을 결정하고; 그리고 최종 스펙트로그램 손실에 기초하여 TTS 모델을 트레이닝하는 것을 포함한다.
본 개시 내용의 구현은 다음과 같은 선택적 기능 중 하나 이상을 포함할 수 있다. 일부 구현에서, 제1 함수과 제2 함수 각각은 각각의 다층 인식 기반 학습 가능 함수를 포함한다. 동작은 예측된 음소 지속시간 및 평균 음소 지속시간에 기초하여 글로벌 음소 지속시간 손실을 결정하는 것을 더 포함할 수 있다. 여기서 TTS 모델 트레이닝은 글로벌 음소 지속시간 손실에 기초하여 한다. 일부 예에서, 최종 스펙트로그램 손실 및 글로벌 음소 지속시간 손실에 기초하여 TTS 모델을 트레이닝하는 것은 외부 정렬기로부터 추출된 지도된 음소 지속시간 라벨을 사용하지 않고 각 음소에 대한 음소 지속시간을 예측하도록 지속시간 모델 네트워크를 트레이닝하는 것을 포함한다.
일부 구현에서, 동작은 상기 지속시간 모델 네트워크를 사용하여: 상기 예측된 음소 지속시간에 기초하여, 상기 인코딩된 텍스트 시퀀스에 의해 표현되는 각 음소에 대해 각각의 시작 및 종료 경계를 생성하는 동작; 상기 인코딩된 텍스트 시퀀스에 의해 표현되는 음소의 개수와 상기 기준 멜-주파수 스펙트로그램 시퀀스의 기준 프레임의 개수에 기초하여, 각 음소에 대해 생성된 상기 각각의 시작 및 종료 경계를 각각의 그리드 행렬에 매핑하는 동작을 더 포함하며, 상기 간격 표현을 학습하는 것은 상기 시작 및 종료 경계로부터 매핑된 각각의 그리드 행렬에 기초하고; 그리고 상기 보조 어텐션 컨텍스트 표현을 학습하는 것은 상기 시작 및 종료 경계로부터 매핑된 각각의 그리드 행렬에 기초한다. 상기 시퀀스 표현을 업샘플링된 출력으로 업샘플링하는 동작은, 상기 간격 표현 행렬과 시퀀스 표현의 곱을 결정하는 동작; 상기 보조 어텐션 컨텍스트 표현과 상기 간격 표현 행렬의 아인슈타인 합산(아인섬)을 결정하는 동작; 그리고 상기 간격 표현 행렬과 시퀀스 표현의 곱과 아인섬의 프로젝션을 합산하여 상기 업샘플링된 출력을 생성하는 동작을 포함한다.
일부 구현에서, 상기 동작은, 기준 오디오 신호 및 해당 입력 텍스트 시퀀스를 포함하는 트레이닝 데이터를 수신하는 동작 -상기 기준 오디오 신호는 음성 발화를 포함하고 그리고 상기 입력 텍스트 시퀀스는 상기 기준 오디오 신호의 전사에 대응함-; 잔차 인코더를 사용하여, 상기 기준 오디오 신호를 변량 임베딩으로 인코딩하는 동작 -상기 변량 임베딩은 상기 기준 오디오 신호로부터 스타일/운율 정보를 분리함-; 그리고 텍스트 인코더를 사용하여, 상기 입력 텍스트 시퀀스를 상기 인코딩된 텍스트 시퀀스로 인코딩하는 동작을 더 포함한다. 일부 예에서 잔차 인코더는 글로벌 변량 자동인코더(VAE)를 포함한다. 이러한 예에서, 기준 오디오 신호를 변량 임베딩으로 인코딩하는 동작은, 상기 기준 오디오 신호로부터 상기 기준 멜-주파수 스펙트로그램 시퀀스를 샘플링하는 동작; 그리고 상기 글로벌 VAE를 사용하여, 상기 기준 멜-주파수 스펙트로그램 시퀀스를 상기 변량 임베딩으로 인코딩하는 동작을 포함한다. 선택적으로, 잔차 인코더는 음소 레벨 세부화 VAE(phoneme-level fine-grained Variational Autoencoder)를 포함할 수 있다. 여기서, 기준 오디오 신호를 변량 임베딩으로 인코딩하는 동작은, 상기 기준 오디오 신호로부터 상기 기준 멜-주파수 스펙트로그램 시퀀스를 샘플링하는 동작; 상기 입력 텍스트 시퀀스로부터 추출된 음소 시퀀스의 각 음소와 상기 기준 멜-주파수 스펙트로그램 시퀀스를 정렬하는 동작; 그리고 상기 기준 멜-주파수 스펙트로그램 시퀀스를 음소 시퀀스의 각 음소와 정렬하는 것에 기초하여, 상기 음소 레벨 세부화 VAE를 사용하여 음소 레벨 변량 임베딩 시퀀스를 인코딩하는 동작을 포함한다.
잔차 인코더에는 LConv(Lightweight Convolution) 블록 스택이 포함되어 있다. LConv 블록의 스택 내의 각각의 LConv 블록은 게이트 선형 유닛(GLU: Gated Linear Unit) 계층; 상기 GLU 계층(502)의 출력을 수신하도록 구성된 LConv 계층; 상기 LConv 계층의 출력을 상기 GLU 계층에 대한 입력과 연결하도록 구성된 잔차 연결(residual connection); 그리고 상기 LConv 계층의 출력을 상기 GLU 계층에 대한 입력과 연결하는 잔차 연결을 입력으로서 수신하도록 구성된 최종 피드포워드 계층을 포함한다. 일부 구현에서, 상기 동작은, 상기 인코딩된 텍스트 시퀀스, 변량 임베딩, 및 기준 오디오 신호를 발화한 기준 화자의 ID(identity)를 나타내는 기준 화자 임베딩을 연결하는 동작; 그리고 입력으로서, 상기 인코딩된 텍스트 시퀀스, 변량 임베딩 및 기준 화자 임베딩의 연결을 수신하는 상기 지속시간 모델 네트워크에 기초하여 상기 시퀀스 표현을 생성하는 동작을 더 포함한다. 일부 예에서, 입력 텍스트 시퀀스는 음소 시퀀스를 포함한다. 상기 입력 텍스트 시퀀스를 상기 인코딩된 텍스트 시퀀스로 인코딩하는 동작은, 음소 룩업 테이블로부터, 상기 음소 시퀀스의 각 음소에 대한 각각의 임베딩을 수신하는 동작; 상기 음소 시퀀스의 각 음소에 대해, 텍스트 인코더의 인코더 프리넷 신경망을 사용하여, 각각의 임베딩을 프로세싱하여 음소의 각각의 변환된 임베딩을 생성하는 동작; 컨볼루션 블록 뱅크를 사용하여, 상기 각각의 변환된 임베딩을 프로세싱하여 컨볼루션 출력을 생성하는 동작; 그리고 셀프-어텐션 블록의 스택을 사용하여, 상기 컨볼루션 출력을 프로세싱하여 상기 인코딩된 텍스트 시퀀스를 생성하는 동작을 포함한다. 선택적으로 셀프-어텐션 블록의 스택의 각 셀프-어텐션 블록에는 동일한 LConv(Lightweight Convolution) 블록이 포함된다. 셀프-어텐션 블록의 스택의 각 셀프-어텐션 블록에는 동일한 변환기 블록이 포함되어 있다.
본 개시의 또 다른 양태는 데이터 프로세싱 하드웨어 및 데이터 프로세싱 하드웨어에서 실행될 때 데이터 프로세싱 하드웨어가 동작을 수행하게 하는 명령어를 저장하는 메모리 하드웨어를 포함하는 비-자기회귀적 TTS(text-to-speech) 모델을 트레이닝하기 위한 시스템을 제공한다. 동작에는 변량 임베딩과 연결된 인코딩된 텍스트 시퀀스의 시퀀스 표현을 획득하는 것이 포함된다. 지속시간 모델 네트워크를 사용하여, 동작은 또한 시퀀스 표현에 기초하여 인코딩된 텍스트 시퀀스에 의해 표현되는 각 음소에 대한 음소 지속시간을 예측하는 것을 포함한다. 예측된 음소 지속시간에 기초하여, 동작에는 시퀀스 표현에 따라 조건화된 제1 함수를 사용하여 간격 표현 행렬을 학습하는 동작; 그리고 상기 시퀀스 표현에 따라 조건화된 제2 함수를 사용하여 보조 어텐션 컨텍스트 표현을 학습하는 동작이 포함된다. 이 동작에는 간격 표현 행렬과 보조 어텐션 컨텍스트 표현을 사용하여 프레임 수를 지정하는 업샘플링된 출력으로 시퀀스 표현을 업샘플링하는 것도 포함된다. 동작은 또한 상기 업샘플링된 출력에 기초하여, 하나 이상의 셀프-어텐션 블록의 스택을 포함하는 스펙트로그램 디코더로부터의 출력으로서, 상기 인코딩된 텍스트 시퀀스에 대한 하나 이상의 예측된 멜-주파수 스펙트로그램 시퀀스를 생성하는 동작을 포함한다. 동작은 또한 하나 이상의 예측된 멜-주파수 스펙트로그램 시퀀스 및 기준 멜-주파수 스펙트로그램 시퀀스에 기초하여 최종 스펙트로그램 손실을 결정하는 동작; 그리고 상기 최종 스펙트로그램 손실에 기초하여 TTS 모델을 트레이닝하는 동작을 포함한다.
본 개시 내용의 구현은 다음과 같은 선택적 기능 중 하나 이상을 포함할 수 있다. 일부 구현에서, 제1 함수과 제2 함수 각각은 각각의 다층 인식 기반 학습 가능 함수를 포함한다. 동작은 예측된 음소 지속시간 및 평균 음소 지속시간에 기초하여 글로벌 음소 지속시간 손실을 결정하는 것을 더 포함할 수 있다. 여기서 TTS 모델 트레이닝은 글로벌 음소 지속시간 손실에 기초하여 한다. 일부 예에서, 최종 스펙트로그램 손실 및 글로벌 음소 지속시간 손실에 기초하여 TTS 모델을 트레이닝하는 것은, 외부 정렬기로부터 추출된 지도된(supervised) 음소 지속시간 라벨을 사용하지 않고 각 음소에 대한 음소 지속시간을 예측하도록 지속시간 모델 네트워크를 트레이닝하는 것을 포함한다.
일부 구현에서, 동작은 상기 지속시간 모델 네트워크를 사용하여: 상기 예측된 음소 지속시간에 기초하여, 상기 인코딩된 텍스트 시퀀스에 의해 표현되는 각 음소에 대해 각각의 시작 및 종료 경계를 생성하는 동작; 상기 인코딩된 텍스트 시퀀스에 의해 표현되는 음소의 개수와 상기 기준 멜-주파수 스펙트로그램 시퀀스의 기준 프레임의 개수에 기초하여, 각 음소에 대해 생성된 상기 각각의 시작 및 종료 경계를 각각의 그리드 행렬에 매핑하는 동작을 더 포함하며, 상기 간격 표현을 학습하는 것은 상기 시작 및 종료 경계로부터 매핑된 각각의 그리드 행렬에 기초하고; 그리고 상기 보조 어텐션 컨텍스트 표현을 학습하는 것은 상기 시작 및 종료 경계로부터 매핑된 각각의 그리드 행렬에 기초한다. 상기 시퀀스 표현을 업샘플링된 출력으로 업샘플링하는 동작은, 상기 간격 표현 행렬과 시퀀스 표현의 곱을 결정하는 동작; 상기 보조 어텐션 컨텍스트 표현과 상기 간격 표현 행렬의 아인슈타인 합산(아인섬)을 결정하는 동작; 그리고 상기 간격 표현 행렬과 시퀀스 표현의 곱과 아인섬의 프로젝션을 합산하여 상기 업샘플링된 출력을 생성하는 동작을 포함한다.
일부 구현에서, 상기 동작은, 기준 오디오 신호 및 해당 입력 텍스트 시퀀스를 포함하는 트레이닝 데이터를 수신하는 동작 -상기 기준 오디오 신호는 음성 발화를 포함하고 그리고 상기 입력 텍스트 시퀀스는 상기 기준 오디오 신호의 전사에 대응함-; 잔차 인코더를 사용하여, 상기 기준 오디오 신호를 변량 임베딩으로 인코딩하는 동작 -상기 변량 임베딩은 상기 기준 오디오 신호로부터 스타일/운율 정보를 분리함-; 그리고 텍스트 인코더를 사용하여, 상기 입력 텍스트 시퀀스를 상기 인코딩된 텍스트 시퀀스로 인코딩하는 동작을 더 포함한다. 일부 예에서 잔차 인코더는 글로벌 변량 자동인코더(VAE)를 포함한다. 이러한 예에서 기준 오디오 신호를 변량 임베딩으로 인코딩하는 동작은 상기 기준 오디오 신호로부터 상기 기준 멜-주파수 스펙트로그램 시퀀스를 샘플링하는 동작; 그리고 상기 글로벌 VAE를 사용하여, 상기 기준 멜-주파수 스펙트로그램 시퀀스를 상기 변량 임베딩으로 인코딩하는 동작을 포함한다. 선택적으로, 잔차 인코더는 음소 레벨 세부화 VAE(phoneme-level fine-grained Variational Autoencoder)를 포함할 수 있다. 상기 기준 오디오 신호를 변량 임베딩으로 인코딩하는 동작은, 상기 기준 오디오 신호로부터 상기 기준 멜-주파수 스펙트로그램 시퀀스를 샘플링하는 동작; 상기 입력 텍스트 시퀀스로부터 추출된 음소 시퀀스의 각 음소와 상기 기준 멜-주파수 스펙트로그램 시퀀스를 정렬하는 동작; 그리고 상기 기준 멜-주파수 스펙트로그램 시퀀스를 음소 시퀀스의 각 음소와 정렬하는 것에 기초하여, 상기 음소 레벨 세부화 VAE를 사용하여 음소 레벨 변량 임베딩 시퀀스를 인코딩하는 동작을 포함한다.
잔차 인코더에는 LConv(Lightweight Convolution) 블록 스택이 포함되어 있다. LConv 블록의 스택 내의 각각의 LConv 블록은 GLU(Gated Linear Unit) 계층; 상기 GLU 계층의 출력을 수신하도록 구성된 LConv 계층; 상기 LConv 계층의 출력을 상기 GLU 계층에 대한 입력과 연결하도록 구성된 잔차 연결(residual connection); 그리고 상기 LConv 계층의 출력을 상기 GLU 계층에 대한 입력과 연결하는 잔차 연결을 입력으로서 수신하도록 구성된 최종 피드포워드 계층을 포함한다. 일부 구현에서, 상기 동작은, 상기 인코딩된 텍스트 시퀀스, 변량 임베딩, 및 기준 오디오 신호를 발화한 기준 화자의 ID(identity)를 나타내는 기준 화자 임베딩을 연결하는 동작; 그리고 입력으로서, 상기 인코딩된 텍스트 시퀀스, 변량 임베딩 및 기준 화자 임베딩의 연결을 수신하는 상기 지속시간 모델 네트워크에 기초하여 상기 시퀀스 표현을 생성하는 동작을 더 포함한다. 일부 예에서, 입력 텍스트 시퀀스는 음소 시퀀스를 포함한다. 이러한 예에서, 상기 입력 텍스트 시퀀스를 상기 인코딩된 텍스트 시퀀스로 인코딩하는 동작은, 음소 룩업 테이블로부터, 상기 음소 시퀀스의 각 음소에 대한 각각의 임베딩을 수신하는 동작; 상기 음소 시퀀스의 각 음소에 대해, 텍스트 인코더의 인코더 프리넷 신경망을 사용하여, 각각의 임베딩을 프로세싱하여 음소의 각각의 변환된 임베딩을 생성하는 동작; 컨볼루션 블록 뱅크를 사용하여, 상기 각각의 변환된 임베딩을 프로세싱하여 컨볼루션 출력을 생성하는 동작; 그리고 셀프-어텐션 블록의 스택을 사용하여, 상기 컨볼루션 출력을 프로세싱하여 상기 인코딩된 텍스트 시퀀스를 생성하는 동작을 포함한다. 선택적으로 셀프-어텐션 블록의 스택의 각 셀프-어텐션 블록에는 동일한 LConv(Lightweight Convolution) 블록이 포함된다. 셀프-어텐션 블록의 스택의 각 셀프-어텐션 블록에는 동일한 변환기 블록이 포함되어 있다.
본 개시의 하나 이상의 구현의 세부사항은 첨부 도면 및 아래의 설명에서 설명된다. 다른 양태, 특징 및 장점은 설명, 도면, 청구범위로부터 명백해질 것이다.
도 1은 텍스트 발화에 대한 스펙트로그램을 예측하는 비-자기회귀적 TTS 모델을 제공하기 위해 심층 신경망을 트레이닝하기 위한 예시 시스템이다.
도 2는 비-자기회귀적 TTS 모델을 트레이닝하는 비-자기회귀적 신경망의 개략도이다.
도 3은 도 2의 비-자기회귀적 심층신경망에 의해 학습된 비-자기회귀적 TTS 모델을 실행하는 개략도이다.
도 4는 예시적인 컨볼루션 블록의 개략도이다.
도 5는 예시적인 경량 컨볼루션 블록의 개략도이다.
도 6은 비-자기회귀적 TTS(text-to-speech) 모델을 트레이닝하기 위한 컴퓨터 구현 방법에 대한 예시적인 동작 배열의 흐름도이다.
도 7은 본 명세서에 설명된 시스템 및 방법을 구현하는 데 사용될 수 있는 예시적인 컴퓨팅 장치의 개략도이다.
다양한 도면에서 유사한 참조 기호는 유사한 요소를 나타낸다.
사실적인 인간 음성의 합성은 동일한 텍스트 입력이 무한한 수의 합리적인 음성 실현을 갖는다는 점에서 불확실한 문제이다. E2E(end-to-end) 신경망 기반 접근 방식은 어시스턴트와 같은 짧은 발화에 대해 인간의 성능과 일치하도록 발전하고 있지만, 신경망 모델은 정제된 언어 또는 음성 표현에 따라 각각 작동하는 여러 프로세싱 단계를 포함하는 기존 모델보다 해석하기 어렵거나 제어하기 어려운 것으로 간주되는 경우가 있다. 음성의 가변성 원인에는 화자와 채널 특성뿐만 아니라 억양, 강세, 리듬 및 스타일의 운율적 특성이 포함된다. 구어 발화의 운율적 특성은 어휘 표현(예: 구어 발화의 전사(transcript))에 존재하는 것 이상의 언어적, 의미론적, 감정적 의미를 전달한다.
신경망은 하나 이상의 비선형 유닛 계층을 사용하여 수신된 입력에 대한 출력을 예측하는 기계 학습 모델이다. 예를 들어 신경망 기반 E2E(end-to-end) 텍스트 음성 변환(TTS: text-to-speech) 모델은 입력 텍스트를 출력 음성으로 변환할 수 있다. 신경망 TTS 모델은 텍스트 입력에서 제공되지 않는 운율에 해당하는 언어적 요인을 예측하여 음성을 강력하게 합성할 수 있는 가능성을 제공한다. 결과적으로 오디오북 내레이션, 뉴스 리더, 음성 디자인 소프트웨어, 대화 어시스턴트 등 다양한 애플리케이션을 통해 단조롭지 않고 사실적으로 들리는 합성된 음성을 생성할 수 있다.
많은 신경 E2E TTS 모델은 이전 값에 기초하여 현재 값을 예측하는 자기회귀적 모델을 활용한다. 예를 들어, 많은 자기회귀적 모델은 현재 시간 단계에서 출력을 계산할 때 이전 시간 단계의 네트워크 내부 상태 중 일부 또는 전부를 사용하는 순환 신경망에 기초하여 한다. 순환 신경망의 예로는 하나 이상의 LSTM 메모리 블록을 포함하는 LSTM(장단기) 신경망이 있다. 각 LSTM 메모리 블록은 각각 입력 게이트, 망각 게이트 및 예를 들어 현재 활성화를 생성하는 데 사용하거나 LSTM 신경망의 다른 컴포넌트에 제공하기 위해 셀이 셀에 대한 이전 상태를 저장할 수 있게 하는 출력 게이트를 포함할 수 있다.
자기회귀적 TTS 모델은 텍스트를 합성하고 매우 자연스러운 음성 출력을 생성할 수 있지만, 소프트 어텐션(Soft Attention)을 갖춘 일련의 단방향 LSTM 기반 디코더 블록을 통한 아키텍처는 완전 피드포워드 아키텍처에 비해 현대 병렬 하드웨어에서 구현될 때 본질적으로 트레이닝과 추론 모두의 효율성을 떨어뜨린다. 더욱이, 자기회귀적 모델은 각 시간 단계에 대해 GT(Ground Truth) 라벨을 적용하여 교사 강제(teacher forcing)를 통해 트레이닝하므로, 자기회귀적 모델은 트레이닝과 추론 중에 트레이닝된 모델이 적용될 때 사이에 불일치가 발생하는 경향이 있다. 소프트 어텐션 메커니즘과 함께 이러한 불일치는 옹알이(babbling), 조기 끊김(early cut-off), 단어 반복 및 단어 건너뛰기와 같은 견고성 오류를 나타내는 합성된 음성과 같이 품질이 저하된 합성된 음성 출력으로 이어질 수 있다. 자기회귀적 TTS 모델에서 합성된 음성의 품질 감소는 합성된 텍스트의 크기가 증가할수록 더욱 악화될 수 있다.
앞서 언급한 자기회귀 기반 TTS 모델의 단점을 완화하기 위해, 본 문서의 구현은 VAE(Variational Autoencoder) 기반 잔차 인코더(residual encoder)로 보강된 비-자기회귀적 신경 TTS 모델을 지향한다. 앞으로 밝혀지겠지만, VAE 기반 잔차 인코더는 스타일/운율 정보와 같은 잔차 정보를 전달하는 기준 오디오 신호로부터 잠재 표현/상태를 분리할 수 있으며, 이는 합성할 입력 텍스트(예: 음소 시퀀스) 또는 기준 오디오 신호를 말한 화자의 화자 식별자(ID)로 나타낼 수 없다. 즉, 잠재 표현을 사용하면 TTS 모델에서 생성된 출력 합성된 음성이 잔차 인코더에 입력된 기준 오디오 신호처럼 들리도록 할 수 있다.
VAE 기반 잔차 인코더로 강화된 비-자기회귀적 신경 TTS 모델은 입력 텍스트 발화에 대한 멜 스펙트럼 정보(예: 예측된 멜-주파수 스펙트로그램 시퀀스)를 예측하기 위한 제어 가능한 모델을 제공하는 동시에 멜 스펙트럼 정보에 표시된 운율/스타일을 효과적으로 제어한다. 예를 들어, VAE 기반 잔차 인코더에 의해 학습된 선택된 변량 임베딩을 사용하여 텍스트 발화를 표현적인 음성으로 합성하기 위한 의도된 운율/스타일을 표현하고, TTS 모델의 스펙트로그램 디코더는 텍스트 발화에 대한 멜-주파수 스펙트로그램을 예측하고 의도된 운율/스타일을 갖는 합성된 음성을 나타내는 시간-영역 오디오 파형으로 변환하기 위해 합성기(예: 파형 합성기 또는 보코더 네트워크)에 대한 입력으로서 멜-주파수 스펙트로그램을 제공할 수 있다. 앞으로 밝혀지겠지만, 비-자기회귀적 TTS 모델은 샘플 입력 텍스트 시퀀스와 인간 음성의 해당 기준 멜-주파수 스펙트로그램 시퀀스에 대해서만 학습된다. 트레이닝된 TTS 모델은 입력 텍스트 발화를 학습된 사전 변량 임베딩에 의해 전달되는 의도된 운율/스타일을 갖는 멜-주파수 스펙트로그램 시퀀스(mel-frequency spectrogram sequence)로 변환할 수 있다.
도 1은 비-자기회귀적 신경 TTS 모델(300)(또는 간단히 'TTS 모델')을 제공하기 위해 VAE 기반 잔차 인코더(180)로 강화된 심층 신경망(200)을 트레이닝하고, TTS 모델을 사용하여 텍스트 발화(320)에 대한 스펙트로그램(즉, 멜-주파수 스펙트로그램 시퀀스)(302)을 예측하기 위한 예시적인 시스템(100)을 도시한다. 시스템(100)은 데이터 프로세싱 하드웨어(122) 및 데이터 프로세싱 하드웨어(122)와 통신하고 데이터 프로세싱 하드웨어(122)가 동작을 수행하게 하는 명령어를 저장하는 메모리 하드웨어(124)를 갖는 컴퓨팅 시스템(120)을 포함한다. 일부 구현에서, 트레이닝된 TTS 모델(300)을 실행하는 컴퓨팅 시스템(120)(예를 들어, 데이터 프로세싱 하드웨어(122)) 또는 사용자 컴퓨팅 장치(10)는 입력 텍스트 발화(320)의 음성 표현으로서 청각적으로 출력될 수 있는 합성된 음성(152)을 나타내는 시간-영역 오디오 파형으로 변환하기 위해 입력 텍스트 발화(320)로부터 TTS 모델(300)에 의해 예측된 멜-주파수 스펙트로그램(302)을 합성기(155)에 제공한다. 시간-영역 오디오 파형에는 시간에 따른 오디오 신호의 진폭을 정의하는 오디오 파형이 포함된다. 합성기(155)는 시간-영역 오디오 파형으로 변환하기 위해 멜-주파수 스펙트로그램에 대해 개별적으로 트레이닝되고 조정될 수 있다.
멜-주파수 스펙트로그램에는 사운드의 주파수 영역 표현이 포함된다. 멜-주파수 스펙트로그램은 음성 명료도에 중요한 낮은 주파수를 강조하는 반면, 마찰음(fricatives) 및 기타 노이즈 버스트에 의해 지배되고 일반적으로 높은 충실도로 모델링할 필요가 없는 높은 주파수는 덜 강조한다. 합성기(155)는 멜-주파수 스펙트로그램을 수신하고 멜-주파수 스펙트로그램에 기초하여 오디오 출력 샘플(예를 들어, 시간-영역 오디오 파형)을 생성하도록 구성되는 임의의 네트워크를 포함할 수 있는 보코더(vocoder) 신경망(보코더 네트워크)을 포함할 수 있다. 예를 들어, 보코더 네트워크(155)는 참조로 여기에 포함된 https://arxiv.org/pdf/1711.10433.pdf에 있는 "van den Oord, Parallel WaveNet: Fast High-Fidelity Speech Synesis"에 설명된 병렬 피드-포워드 신경망을 기반으로 할 수 있다. 대안적으로, 보코더 네트워크(155)는 자기회귀적 신경망일 수 있다. 합성기(155)는 "Griffin-Lim" 합성기와 같은 파형 합성기 또는 트레이닝 가능한 스펙트로그램 대 파형 인버터를 포함할 수 있다. 합성기(155)의 선택은 합성된 음성(152)의 결과적인 운율/스타일에 영향을 미치지 않으며, 실제로는 합성된 음성(152)의 오디오 충실도에만 영향을 미친다.
입력 텍스트 발화(320)에는 합성된 음성(152)의 원하는 운율(prosody)/스타일을 안내하기 위한 컨텍스트, 의미론 및 화용론을 전달할 방법이 없기 때문에, TTS 모델(300)은 변량 임베딩(variational embedding)(220)에 의해 특정된 의도된 운율/스타일을 전달하는 텍스트 발화(320)에 대한 멜-주파수 스펙트로그램(302)을 예측하기 위해 의도된 운율/스타일을 특정하는 잠재 변수로서 변량 임베딩(220)을 적용할 수 있다. 일부 예에서, 컴퓨팅 시스템(120)은 TTS 모델(300)을 구현한다. 여기서, 사용자는 사용자 컴퓨팅 장치(10)를 통해 TTS 모델(300)에 액세스하고 TTS 모델(300)에 대한 입력 텍스트 발화(320)를 제공하여 변량 임베딩(220)에 의해 지정된 의도된 운율/스타일을 갖는 표현 음성(152)으로 합성할 수 있다. 변량 임베딩(220)은 사용자에 의해 선택될 수 있고, 잔차 인코더(residual encoder)(180)로부터 샘플링된 이전 변량 임베딩(220)에 대응할 수 있다. 변량 임베딩(220)은 의도된 운율/스타일로 말하는 화자를 식별하는 화자 식별자(ID)를 (즉, 사용자 컴퓨팅 장치(10)에서 실행되는 인터페이스를 통해) 제공함으로써 사용자가 선택할 수 있는 화자별 변량 임베딩(220)일 수 있다. 여기서, 각각의 화자 ID는 잔차 인코더(180)에 의해 이전에 학습된 각각의 화자별 변량 임베딩(220)에 매핑될 수 있다. 추가적으로 또는 대안적으로, 사용자는 각각의 운율/스타일과 연관된 특정 카테고리를 지정하는 입력을 제공할 수 있다. 여기서, 서로 다른 카테고리(예를 들어, 뉴스 캐스터, 스포츠 캐스터 등)는 카테고리와 연관된 각각의 운율/스타일을 전달하는 잔차 인코더(180)에 의해 이전에 학습된 각각의 변량 임베딩(220)에 각각 매핑될 수 있다. 이들 예에서, 합성기(155)는 컴퓨팅 시스템(120) 또는 사용자 컴퓨팅 장치(10) 상에 상주할 수 있다. 합성기(155)가 컴퓨팅 시스템(120) 상에 상주할 때, 컴퓨팅 시스템(120)은 가청 재생을 위해 합성된 음성(152)을 나타내는 시간-영역 오디오 파형을 사용자 컴퓨팅 장치(10)에 전송할 수 있다. 다른 예에서, 사용자 컴퓨팅 장치(10)는 TTS 모델(300)을 구현한다. 컴퓨팅 시스템은 분산 시스템(예: 클라우드 컴퓨팅 환경)을 포함할 수 있다.
일부 구현에서, 심층 신경망(200)은 대규모 기준 오디오 신호 세트(201)에 대해 트레이닝된다. 각각의 기준 오디오 신호(201)는 마이크에 의해 녹음되고 운율/스타일 표현을 갖는 인간 음성의 발화를 포함할 수 있다. 트레이닝 동안, 심층 신경망(200)은 동일한 발화에 대해 다양한 운율/스타일을 갖는 다중 기준 오디오 신호(201)를 수신할 수 있다(즉, 동일한 발화가 여러 다른 방식으로 발화될 수 있음). 여기서, 기준 오디오 신호(201)는 내용이 동일하더라도 음성 발화의 지속시간이 달라지도록 가변 길이를 갖는다. 심층 신경망(200)은 또한 여러 세트의 기준 오디오 신호(201)를 수신할 수 있으며, 여기서 각 세트는 동일한 각 화자가 말한 유사한 운율/스타일을 갖지만 서로 다른 언어 콘텐츠를 전달하는 발화에 대한 기준 오디오 신호(201)를 포함한다. VAE 기반 잔차 인코더(180)로 보강된 심층 신경망(200)은 각 기준 오디오 신호(201)와 관련된 운율/스타일 표현을 대응하는 변량 임베딩(220)으로 인코딩/압축하도록 구성된다. 변량 임베딩(220)은 고정 길이 변량 임베딩(220)을 포함할 수 있다. 심층 신경망(200)은 변량 임베딩(220)과 연관된 기준 오디오 신호(201)를 발화한 기준 화자의 화자 아이덴티티(ID: identity)(205)(도 2)를 나타내는 대응하는 화자 임베딩(ys)과 함께 각 변량 임베딩(220)을 저장소(예를 들어, 컴퓨팅 시스템(120)의 메모리 하드웨어(124))(185)에 저장할 수 있다. 변량 임베딩(220)은 동일한 화자가 말하는 기준 오디오 신호(201)로부터 잔차 인코더(180)에 의해 인코딩된 다수의 변량 임베딩(220)의 집합(예를 들어, 평균)을 포함하는 화자별 변량 임베딩일 수 있다.
추론 동안, 컴퓨팅 시스템(120) 또는 사용자 컴퓨팅 장치(10)는 트레이닝된 TTS 모델(300)을 사용하여 텍스트 발화(320)에 대한 멜-주파수 스펙트로그램 시퀀스(302)를 예측할 수 있다. TTS 모델(300)은 텍스트 발화(320)에 대해 의도된 운율/스타일을 나타내는 변량 임베딩(220)을 저장소(185)로부터 선택할 수 있다. 여기서, 변량 임베딩(220)은 VAE 기반 잔차 인코더(180)에서 샘플링된 이전 변량 임베딩(220)에 해당할 수 있다. TTS 모델(300)은 선택된 변량 임베딩(220)을 사용하여 텍스트 발화(320)에 대한 멜-주파수 스펙트로그램 시퀀스(302)를 예측할 수 있다. 도시된 예에서, 합성기(155)는 예측된 멜-주파수 스펙트로그램 시퀀스(302)를 사용하여 변량 임베딩(220)에 의해 지정된 의도된 운율/스타일을 갖는 합성된 음성(152)을 생성한다.
비제한적인 예에서, 개인은 특정 화자와 관련된 운율/스타일 표현을 전달하는 화자별 변량 임베딩을 학습하도록 심층 신경망(200)을 트레이닝할 수 있다. 예를 들어, "Techmeme Ride Home" 팟캐스트의 호스트인 "Brian McCullough"는 기준 오디오 신호(201)의 전사에 해당하는 입력 텍스트 시퀀스(206)와 함께 팟캐스트의 이전 에피소드를 포함하는 기준 오디오 신호(201)에 대해 심층 신경망(200)을 트레이닝할 수 있다. 트레이닝 동안, VAE 기반 잔차 인코더(180)는 "Ride Home" 팟캐스트를 해설하는 "Brian"의 운율/스타일을 나타내는 화자별 변량 임베딩(220)을 학습할 수 있다. 그런 다음 "Brian"은 "Ride Home" 팟캐스트의 새로운 에피소드에 대한 전사(transcript)에 해당하는 텍스트 발화(320)에 대한 멜-주파수 스펙트로그램 시퀀스(302)를 예측하기 위해 트레이닝된 TTS 모델(300) (컴퓨팅 시스템(120) 또는 사용자 컴퓨팅 장치(10)에서 실행)에 의해 사용되는 화자별 변량 임베딩(220)을 적용할 수 있다. 예측된 멜-주파수 스펙트로그램 시퀀스(302)는 화자별 변량 임베딩(220)에 의해 지정된 "Brian"의 고유한 운율/스타일을 갖는 합성된 음성(152)을 생성하기 위해 합성기(155)에 입력으로 제공될 수 있다. 즉, 생성된 합성된 음성(152)은 "Brian"의 목소리와 정확히 동일하게 들릴 수 있고 "Ride Home" 팟캐스트의 에피소드를 해설하기 위한 "Brian"의 운율/스타일을 가질 수 있다. 따라서, 새로운 에피소드를 방송하기 위해 "Brian"은 에피소드에 대한 전사를 제공하고 트레이닝된 TTS 모델(300)을 사용하여 "Ride Home" 팟캐스트의 충실한 청취자(Mutant Podcast Army라고도 함)에게 스트리밍될 수 있는 합성된 음성(152)을 생성하기만 하면 된다.
도 2는 비-자기회귀적 TTS 모델(300)을 트레이닝하기 위한 비-자기회귀 신경망(예를 들어, 도 1의 심층 신경망)(200)을 도시한다. 심층 신경망(200)은 VAE 기반 잔차 인코더(180), 텍스트 인코더(210), 지속시간(duration) 모델 네트워크(230) 및 스펙트로그램 디코더(260)를 포함한다. 심층 신경망(200)은 다수의 기준 오디오 신호(201) 및 대응하는 입력 텍스트 시퀀스(206)를 포함하는 트레이닝 데이터에 대해 트레이닝될 수 있다. 각각의 기준 오디오 신호(201)는 인간 음성의 발화를 포함하고 대응하는 입력 텍스트 시퀀스(206)는 기준 오디오 신호(201)의 전사에 대응한다. 도시된 예에서, VAE 기반 잔차 인코더(180)는 기준 오디오 신호(201)를 변량 임베딩(z)(220)으로 인코딩하도록 구성된다. 구체적으로, 잔차 인코더(180)는 기준 오디오 신호(201)로부터 샘플링된 기준 멜-주파수 스펙트로그램 시퀀스(202)를 수신하고, 기준 멜-주파수 스펙트로그램 시퀀스(202)를 변량 임베딩(220)으로 인코딩하고, 이에 따라 변량 임베딩(220)은 인간 음성의 발화에 대응하는 기준 오디오 신호(201)로부터 스타일/운율 정보를 분리한다. 이와 같이, 변량 임베딩(220)은 기준 화자의 운율, 감정 및/또는 말하는 스타일에 기여하는 감정 및 의도와 같은 기준 화자의 잠재 상태에 대응한다. 본 명세서에서 사용된 바와 같이, 변량 임베딩(220)은 스타일 정보와 운율 정보를 모두 포함한다. 일부 예에서, 변량 임베딩(220)은 변량 임베딩(220)의 비트 수로 표시되는 용량을 갖는 수치 벡터(vector of numbers)를 포함한다. 기준 오디오 신호(201)로부터 샘플링된 기준 멜-주파수 스펙트로그램 시퀀스(202)는 길이(LR)과 차원(DR)을 가질 수 있다. 본 명세서에 사용된 바와 같이, 기준 멜-주파수 스펙트로그램 시퀀스(202)는 기준 오디오 신호(201)로부터 샘플링/추출된 복수의 고정 길이 기준 멜-주파수 스펙트로그램 프레임을 포함한다. 각각의 기준 멜-주파수 스펙트로그램 프레임은 5밀리초의 지속시간을 포함할 수 있다.
VAE 기반 잔차 인코더(180)는 말하기 스타일의 잠재 표현(즉, 변량 임베딩(z))의 비지도(unsupervised) 학습을 가능하게 하는 사후 네트워크에 해당한다. VAE 네트워크를 사용하여 변량 임베딩을 학습하면 휴리스틱 기반 시스템에 비해 스타일 제어를 단순화하기 위한 분리, 크기 조정 및 조합의 유리한 속성을 제공한다. 여기서, 잔차 인코더(180)는 ReLU(Rectified Linear Unit)(Proj + RELU)(410)을 갖는 프로젝션 계층과 다중 헤드 어텐션(multi-headed attention)을 갖는 LConv(Lightweight Convolution) 블록의 스택(420)을 포함하는 음소 레벨 세부화 VAE 네트워크(phoneme-level fine-grained VAE network)를 포함한다. 음소 레벨 세부화 VAE 네트워크(180)는 입력 텍스트 시퀀스(206)의 각 음소와 연관된 기준 멜-주파수 스펙트로그램 시퀀스(202)로부터 스펙트로그램 프레임을 각각의 음소 레벨 변량 임베딩(220)으로 인코딩하도록 구성된다. 보다 구체적으로, 음소 레벨 세부화 VAE 네트워크는 입력 텍스트 시퀀스(206)로부터 추출된 음소 시퀀스의 각 음소와 기준 멜-주파수 스펙트로그램 시퀀스(202)를 정렬하고 음소 레벨 변량 임베딩 시퀀스(220)를 인코딩할 수 있다. 따라서, 음소 레벨 세부화 VAE 네트워크(180)에 의해 인코딩된 음소 레벨 변량 임베딩(220)의 시퀀스에 있는 각 음소 레벨 변량 임베딩(220)은 입력 텍스트 시퀀스(206)로부터 추출된 음소 시퀀스의 각 음소를 포함하는 기준 멜-주파수 스펙트로그램 시퀀스(202)로부터 하나 이상의 스펙트로그램 프레임의 각 서브세트를 인코딩한다. 음소 레벨 세부화 VAE 네트워크(180)는 초기에 기준 멜-주파수 스펙트로그램 시퀀스(202)와 기준 멜-주파수 스펙트로그램 시퀀스(202)와 연관된 발화를 말한 화자를 나타내는 화자 임베딩(ys) 및 입력 텍스트 시퀀스(206)로부터 추출된 음소 시퀀스의 각 음소에 대한 음소 위치 정보를 나타내는 정현파 위치 임베딩(214)을 연결할 수 있다. 일부 예에서, 잔차 인코더(180)는 정현파 위치 임베딩(214) 대신에 위치 임베딩(도시되지 않음)을 포함한다. 각각의 정현파 위치 임베딩(214)은 입력 텍스트 시퀀스(206)로부터 추출된 음소 시퀀스에서 각각의 음소의 특정 위치에 대한 정보를 포함하는 고정 길이 벡터를 포함할 수 있다. 이어서, 연결(concatenation)은 텍스트 인코더(210)로부터 출력된 계층 정규화 인코딩된 텍스트 시퀀스(219)와 함께 어텐션을 계산하기 위해 5개의 8-헤드 17 x 1 LConv 블록(5 LConv Blocks +Conv (3x1))(420)의 스택에 적용된다.
도 5는 게이트 선형 유닛(GLU: gated linear unit) 계층(502), GLU 계층(502)의 출력을 수신하도록 구성된 LConv 계층(504), 및 피드포워드(FF) 계층(506)을 갖는 예시적인 LConv 블록(예를 들어, LConv 블록(420)의 스택)의 개략도(500)를 도시한다. 예시적인 LConv 블록(500)은 또한 LConv 계층(504)의 출력을 GLU 계층(502)에 대한 입력과 연결하도록 구성된 제1 잔차 연결(508)(예를 들어, 제1 연결기(concatenator)(508))을 포함한다. FF 계층(506)은 LConv 계층(504)의 출력을 GLU 계층(502)에 대한 입력과 연결하는 제1 잔차 연결(508)을 입력으로 수신하도록 구성된다. 예시적인 LConv 블록(500)은 또한 FF 계층(506)의 출력을 제1 잔차 연결(508)과 연결하도록 구성된 제2 잔차 연결(510)(예를 들어, 제2 연결기(510))을 포함한다. 예시적인 LConv 블록(500)은 W1이 4배만큼 차원을 증가시키는 구조()를 사용하여 FF 계층(506)에서 FF 믹싱을 수행할 수 있다.
다른 구현에서, VAE 기반 잔차 인코더(180)는 비-자기회귀 심층 신경망(200)이 도 2에 도시된 음소 레벨 세부화 VAE 네트워크 대신에 채용할 수 있는 글로벌 VAE 네트워크를 포함한다. 글로벌 VAE 네트워크는 기준 멜-주파수 스펙트로그램 시퀀스(202)를 발화 레벨에서 글로벌 변량 임베딩(220)으로 인코딩한다. 여기서 글로벌 VAE 네트워크에는 각각 다중 헤드 어텐션(multi-headed attention)을 갖는 LConv(Lightweight Convolution) 블록의 두 스택이 포함되어 있다. 글로벌 VAE 네트워크(180)의 제1 및 제2 스택의 각 LConv 블록은 8개의 헤드를 포함할 수 있다. 일부 예에서, LConv 블록의 제1 스택은 3개의 17 x 1 LConv 블록을 포함하고 제1 스택 다음의 LConv 블록의 제2 스택은 3 x 1 컨볼루션으로 인터리브된(interleaved) 5개의 17 x 1 LConv 블록을 포함한다. LConv 블록의 두 스택의 이러한 구성은 글로벌 VAE 네트워크(180)가 최종 글로벌 변량 임베딩(220)을 얻기 위해 글로벌 평균 풀링을 적용하기 전에 잠재 표현을 연속적으로 다운 샘플링하는 것을 허용한다. 프로젝션 계층(projection layer)은 LConv 블록의 제2 스택으로부터 출력된 글로벌 변량 임베딩(220)의 차원을 프로젝션할 수 있다. 예를 들어, LConv 블록의 제2 스택으로부터 출력된 글로벌 변량 임베딩(220)은 8의 차원을 가질 수 있고 프로젝션 계층은 차원을 32(32)로 프로젝션(투영)할 수 있다.
계속해서 도 2를 참조하면, 텍스트 인코더(210)는 입력 텍스트 시퀀스(206)를 텍스트 인코딩 시퀀스(219)로 인코딩한다. 텍스트 인코딩 시퀀스(219)는 입력 텍스트 시퀀스(206)로부터 추출된 음성 단위(예를 들어, 음소) 시퀀스의 인코딩된 표현을 포함한다. 입력 텍스트 시퀀스(206)는 각각 하나 이상의 음소를 갖는 단어(워드), 모든 단어 경계(word boundaries)의 묵음 및 구두점을 포함할 수 있다. 따라서, 입력 텍스트 시퀀스(206)는 음소들의 시퀀스를 포함하고, 텍스트 인코더(210)는 토큰 임베딩 룩업 테이블(207)로부터 음소 시퀀스의 각 음소에 대한 각각의 토큰 임베딩을 수신할 수 있다. 여기서, 각각의 토큰 임베딩에는 음소 임베딩이 포함된다. 그러나 다른 예에서, 토큰 임베딩 룩업 테이블(207)은 음소(예: 부음소(예: 세놈(senomes)), 자소, 단어 조각(word pieces) 또는 발화의 단어) 대신에 입력 텍스트 시퀀스(206)와 연관된 다른 유형의 음성 입력에 대한 토큰 임베딩을 얻을 수 있다. 음소 시퀀스에서 각 음소의 각 토큰 임베딩을 수신한 후, 텍스트 인코더(210)는 인코더 프리넷 신경망(208)을 사용하여 각 음소의 각 변환된 임베딩(transformed embedding)(209)을 생성하기 위해 각 토큰 임베딩을 프로세싱한다. 그 후, 컨볼루션(Conv) 블록 뱅크(212)는 각각의 변환된 임베딩(209)을 프로세싱하여 컨볼루션 출력(213)을 생성할 수 있다. 일부 예에서, Conv 블록 뱅크(3 Conv Block (5x1))(212)는 3개의 동일한 5 x 1 Conv 블록을 포함한다. 도 4는 Conv 계층(Conv 1D (5x1))(402), 배치 정규화 계층(batch normalization layer)(BatchNorm + ReLU)(404) 및 드롭아웃 계층(dropout layer)(406)을 갖는 예시적인 Conv 블록의 개략도(400)를 도시한다. 트레이닝 동안, 배치 정규화 계층(404)은 내부 공변량 이동(internal covariate shift)을 줄이기 위해 배치 정규화를 적용할 수 있다. 드롭아웃 계층(406)은 과적합을 감소시킬 수 있다. 마지막으로, 셀프-어텐션 블록(218)의 스택은 컨볼루션 출력(213)을 프로세싱하여 인코딩된 텍스트 시퀀스(219)를 생성한다. 도시된 예에서, 셀프-어텐션 블록(218)의 스택은 6개의 변환기 블록을 포함한다. 다른 예에서, 셀프-어텐션 블록(218)은 변환기 블록 대신 LConv 블록을 포함할 수 있다.
특히, 각각의 컨볼루션 출력(213)은 셀프-어텐션 블록(218)의 스택을 통해 동시에 통과하기 때문에, 셀프-어텐션 블록(218)의 스택은 입력 텍스트 발화(206)에서 각 음소의 위치/순서에 대한 지식이 없다. 따라서, 일부 예에서, 정현파 위치 임베딩(sinusoidal positional embeddings)(214)은 컨볼루션 출력(213)과 결합되어 입력 텍스트 시퀀스(206)의 각 음소의 순서를 나타내는 필요한 위치 정보를 주입한다. 다른 예에서는, 정현파 위치 임베딩(214) 대신 인코딩된 위치 임베딩이 사용된다. 이와 대조적으로 순환 신경망(RNN)을 통합하는 자기회귀 인코더는 각 음소가 입력 텍스트 시퀀스에서 순차적으로 구문 분석되므로 본질적으로 각 음소의 순서를 고려한다. 그러나 다중 헤드 셀프-어텐션을 사용하는 셀프-어텐션 블록(218)의 스택을 통합하는 텍스트 인코더(210)는 자기회귀 인코더의 재발을 방지하여 트레이닝 시간을 대폭 줄이고 이론적으로 입력 텍스트 시퀀스(206)에서 더 긴 종속성을 캡처한다. 계속해서 도 2를 참조하면, 연결기(concatenator)(222)는 잔차 인코더(180)로부터의 변량 임베딩(220), 텍스트 인코더(210)에서 출력된 인코딩된 텍스트 시퀀스(219), 및 기준 오디오 신호를 연결(224)로 발화한 기준 화자의 화자 아이덴티티(205)를 나타내는 기준 화자 임베딩(ys)을 연결한다. 지속시간 모델 네트워크(230)는 연결(224)을 수신하고 연결(224)로부터 인코딩된 텍스트 시퀀스(219)에 대한 프레임 수를 지정하는 업샘플링된 출력(258)을 생성하도록 구성된다. 일부 구현에서, 지속시간 모델 네트워크(230)는 셀프-어텐션 블록(232)의 스택과 그 뒤에 두 개의 독립적인 작은 컨볼루션 블록(234, 238) 및 소프트플러스(softplus) 활성화(Proj + Softplus)(236)를 통한 프로젝션을 포함한다. 도시된 예에서, 셀프-어텐션 블록의 스택은 4개의 3 x 1 LConv 블록(4 LConv Blocks(3x1))(232)을 포함한다. 앞서 도 5를 참조하여 설명한 바와 같이, 셀프-어텐션 블록(232)의 스택 내의 각 LConv 블록은 GLU 유닛(502), LConv 계층(504) 및 잔차 연결을 갖는 FF 계층(506)을 포함할 수 있다. 셀프-어텐션 블록(232)의 스택은 인코딩된 텍스트 시퀀스(219), 변량 임베딩(220) 및 기준 화자 임베딩(ys)의 연결(224)에 기초하여 시퀀스 표현(V)을 생성한다. 여기서, 시퀀스 표현(V)은 M x 1 열 벡터의 시퀀스를 나타낸다(예를 들어, V = {v1,...,vk}).
일부 구현에서, 제1 컨볼루션 블록(Conv1D (3x1))(234)은 출력(235)을 생성하고, 제2 컨볼루션 블록(Conv1D (3x1))(238)은 시퀀스 표현(V)으로부터 출력(239)을 생성한다. 컨벌루션 블록(234, 238)은 각각 커널 너비가 3이고 출력 차원이 3인 3x1 Conv 블록을 포함할 수 있다. 소프트플러스 활성화(236)를 통한 프로젝션은 인코딩된 텍스트 시퀀스(219)에 의해 표현되는 각 음소에 대한 음소 지속시간(240)(예를 들어, {d1,...,dK})을 예측할 수 있다. 여기서, 소프트플러스 활성화(236)는 음소 지속시간(240)을 예측하기 위해 시퀀스 표현(V)을 입력으로 수신한다. 지속시간 모델 네트워크(230)는 수학식 1과 같이 표현되는 예측된 음소 지속시간(240)과 목표 평균 지속시간(245) 사이의 글로벌 음소 지속시간 손실(L1 Loss)(241)(예를 들어, L1 손실 항(241))을 계산한다.
여기서 는 글로벌 음소 지속시간 손실(241)(예: L1 손실 항(241))을 나타내고, K는 입력 텍스트 시퀀스(206)의 총 음소(예: 토큰) 수를 나타내고, dk는 전체 음소(K) 중 특정 음소(k)에 대한 음소 지속시간(240)을 나타내고, T는 기준 멜-주파수 스펙트로그램 시퀀스(202)로부터의 총 목표 프레임 지속시간을 나타낸다.
일부 예에서, TTS 모델(300) 트레이닝은 수학식 1로부터의 글로벌 음소 지속시간 손실(241)에 기초한다. 각 음소에 대한 개별 목표 지속시간은 알려져 있지 않으므로, 지속시간 모델 네트워크(230)는 전체 기준 멜-주파수 스펙트로그램 시퀀스(202)로부터의 T개의 총 프레임 지속시간과 입력 텍스트 시퀀스(206)의 총 K개의 음소(예를 들어, 토큰) 수의 비율에 기초하여 목표 평균 지속시간(245)을 결정한다. 즉, 목표 평균 지속시간(245)은 기준 멜-주파수 스펙트로그램 시퀀스(202)와 입력 텍스트 시퀀스(206)를 사용하는 모든 음소에 대한 평균 지속시간이다. 그런 다음, L1 손실 항(241)은 기준 멜-주파수 스펙트로그램 시퀀스(202) 및 입력 텍스트 시퀀스(206)를 사용하여 결정된 예측된 음소 지속시간(240)과 목표 평균 지속시간(245) 사이에서 결정된다. 따라서, 지속시간 모델 네트워크(230)는 외부 정렬기로부터 제공되는 지도된(supervised) 음소 지속시간 라벨을 사용하지 않고 비지도된 방식으로 음소 지속시간(240)을 예측하는 방법을 학습한다. 외부 정렬기는 음소와 멜-스펙트럼 프레임 간의 합리적인 정렬을 제공할 수 있지만,
길이 조절기에 의해 음소 지속시간 반올림(phoneme duration rounding)은 지속될 수 있는 반올림 오류를 초래하는 지속시간에 따라 입력 텍스트 시퀀스(206)의 음소를 업샘플링하는 데 필요하다. 일부 예에서, 트레이닝 동안 외부 정렬기로부터의 지도된 지속시간 라벨을 사용하고 그리고 추론 동안 예측된 지속시간을 사용하는 것은 TTS 모델(300)(도 2)의 트레이닝과 TTS 모델(300)(도 3)의 추론 사이에 음소 지속시간 불일치를 생성한다. 더욱이, 이러한 반올림 연산은 미분 가능하지 않으므로 오류 기울기(error gradient)는 지속시간 모델 네트워크(230)를 통해 전파될 수 없다.
지속시간 모델 네트워크(230)는 예측된 음소 지속시간(240)으로부터 토큰 경계()를 정의하기 위한 행렬 생성기(242)를 포함한다. 행렬 생성기(242)는 수학식 2 및 수학식 3과 같이 예측된 음소 지속시간(240)으로부터 토큰 경계(예를 들어, 음소 경계)를 결정한다.
수학식 2에서, sk는 특정 음소(k)에 대한 토큰 경계(본 명세서에서는 시작 경계(sk)라고도 함)의 시작을 나타낸다. 수학식 3에서, ek는 특정 음소(k)에 대한 토큰 경계(여기서는 끝 경계 ek라고도 함)의 끝(종료)을 나타낸다. 수학식 2 및 3의 시작 및 종료 경계(sk, ek)를 사용하는 행렬 생성기(242)는 수학식 4 및 수학식 5와 같이 토큰 경계를 두 개의 토큰 경계 그리드 행렬(S 및 E)로 매핑한다.
수학식 4는 각 시작 경계(sk)를 Stk 그리드 행렬에 매핑하여 시간(t)에서 토큰(k)의 시작 경계(sk)까지의 거리를 제공한다. 수학식 5는 각 종료(끝) 경계(ek)를 Etk 그리드 행렬에 매핑하여 시간(t)에서 토큰(k)의 종료(끝) 경계(ek)까지의 거리를 제공한다. 행렬 생성기(242)는 시작 및 종료 경계(sk, ek)(통칭하여 토큰 경계 sk, ek이라고도 함)를 생성하고 토큰 경계(sk, ek)를 시작 토큰 경계 그리드 행렬(S) 및 종료(끝) 토큰 경계 그리드 행렬(E)(통칭하여 그리드 행렬(243)이라고 함)에 각각 매핑한다. 여기서, 그리드 행렬(243)의 크기는 T x K이며, 여기서 K는 입력 텍스트 시퀀스(206)의 음소 수를 나타내고 T는 기준 멜-주파수 스펙트로그램 시퀀스(202)의 프레임 수와 전체 프레임 지속시간을 나타낸다. 행렬 생성기(242)는 인코딩된 텍스트 시퀀스(219)에 의해 표현되는 음소의 개수와 기준 멜-주파수 스펙트로그램 시퀀스(202)의 기준 프레임의 개수에 기초하여, 음소 시퀀스의 각 음소에 대해 생성된 각각의 시작 및 종료(끝) 경계(sk, ek)를 각각의 그리드 행렬(243)(예: 시작 토큰 경계 그리드 행렬 S 및 끝 토큰 경계 그리드 행렬 E)에 매핑할 수 있다.
지속시간 모델 네트워크(230)는 간격 표현 행렬(interval representation matrix)(W)를 학습하기 위한 제1 함수(244)를 포함한다. 일부 구현에서, 제1 함수(Proj + SWISH +Bias)(244)는 바이어스 및 "Swish" 활성화를 갖는 두 개의 프로젝션 계층을 포함한다. 도시된 예에서, 제1 함수(244)의 두 프로젝션은 차원 16(즉, P = 16)으로 프로젝션되고 출력된다. 제1 함수(244)는 연결기(222)로부터 연결(237)을 입력으로 수신한다. 연결기(222)는 컨볼루션 블록(234)의 출력(235)과 그리드 행렬(243)을 연결하여 연결(237)을 생성한다. 제1 함수(244)는 연결(237)을 사용하여 출력(247)을 프로젝션한다. 이어서, 제1 함수(244)는 출력(247)의 소프트플러스 활성화(Proj + Softmax)(246)를 사용하여 프로젝션으로부터 간격 표현 행렬(W)(예: T x K 어텐션 행렬)를 생성한다. 간격 표현 행렬(W)은 시작 및 종료 경계(sk, ek)로부터 매핑된 각 그리드 행렬(243)에 기초하여 수학식 6과 같이 학습될 수 있다.
수학식 6은 그리드 행렬(243)(예를 들어, 시작 토큰 경계 그리드 행렬 S 및 끝 토큰 경계 그리드 행렬 E)과 시퀀스 표현(V)의 소프트맥스(Softmax) 함수와 MLP(Multi-Layer Perceptron-Based) 학습 가능 함수를 사용하여 간격 표현(W)(예: T x K 어텐션 행렬)을 계산한다. MLP 학습 가능 함수에는 소프트맥스 활성화 함수에 공급되는 출력 차원 1의 제3 프로젝션 계층이 포함되어 있으며, Conv1D(V)에는 커널 너비 3, 출력 차원 8, 배치 정규화 및 "Swish" 활성화가 포함된다. 여기서, 그리드 행렬(243)의 (k, t)번째 요소는 k번째 토큰(예를 들어, 음소)과 t번째 프레임 사이의 어텐션 확률(attention probability)을 제공하고, W( )는 그리드 행렬(243)과 시퀀스 표현(V)을 작은 1D 컨볼루션 계층으로 매핑하는 학습 가능한 함수이다.
지속시간 모델 네트워크(230)는 시퀀스 표현(V)에 따라 조건화된 제2 함수(Proj + SWISH +Bias)(248)를 사용하여 보조 어텐션 컨텍스트 텐서(C)(예를 들어, C = [C1,...,CP])를 학습할 수 있다. 여기서 Cp는 보조 어텐션 컨텍스트 텐서(C)의 T x K 행렬을 포함한다. 보조 어텐션 컨텍스트 텐서(C)는 스펙트로그램 디코더(260)에 대한 보조 다중 헤드 어텐션 유사 정보(auxiliary multi-headed attention-like information)를 포함할 수 있다. 연결기(222)는 그리드 행렬(243)과 출력(239)을 연결하여 연결(249)을 생성한다. 제2 함수(248)은 바이어스 및 "Swish" 활성화 함수를 갖춘 두 개의 프로젝션 계층을 포함할 수 있다. 도시된 예에서, 제2 함수(248)의 프로젝션은 2차원(즉, P = 2)의 출력을 프로젝션한다. 제2 함수(248)는 수학식 7과 같이 시작 및 종료 경계(sk, ek) 및 시퀀스 표현(V)로부터 매핑된 각각의 그리드 행렬(243)에 기초하여 보조 어텐션 컨텍스트 텐서(C)를 생성하기 위한 연결(249)을 입력으로 수신한다.
수학식 7은 그리드 행렬(243)(예를 들어, 시작 토큰 경계 그리드 행렬 S 및 끝 토큰 경계 그리드 행렬 E)과 시퀀스 표현(V)의 다층 퍼셉트론 기반(MLP: multi-layer perceptron-based) 학습 가능 함수를 사용하여 보조 어텐션 컨텍스트 텐서(C)를 계산한다. 보조 어텐션 컨텍스트 텐서(C)는 최적화를 원활하게 하고 확률적 경사하강법(SGD: stochastic gradient descent)을 수렴하는 데 도움이 될 수 있다. 지속시간 모델 네트워크(230)는 시퀀스 표현(V)를 다수의 프레임을 사용하여 업샘플링된 출력(258)(예를 들어, O = {o1,...,oT})으로 업샘플링할 수 있다. 여기서, 업샘플링된 출력(258)의 프레임 수는 해당 입력 텍스트 시퀀스(206)의 예측된 음소 지속시간(240)에 의해 결정된 예측된 멜-주파수 스펙트로그램(302)의 예측 길이에 해당한다. 시퀀스 표현(V)를 업샘플링된 출력(258)으로 업샘플링하는 것은 승산기(253)를 사용하여 간격 표현 행렬(W)와 시퀀스 표현(V)의 곱(254)을 결정하는 것을 포함한다.
지속시간 모델 네트워크(230)는 아인섬 연산자(einsum operator)(255)를 사용하여 간격 표현 행렬(W)와 보조 어텐션 컨텍스트 텐서(C)의 아인슈타인 합(아인섬)(einsum)(256)을 결정한다. 프로젝션(Projection)(250)은 아인섬(256)을 프로젝션된 출력(252)으로 프로젝션하며, 프로젝션된 출력(252)은 업샘플링된 출력(258)을 생성하기 위해 가산기(257)에서 곱(254)에 추가된다. 여기서, 업샘플링된 출력(258)은 수학식 8과 같이 표현될 수 있다.
여기서 O는 업샘플링된 출력(258)을 나타내고, ⊙는 요소별 곱셈을 나타내며, 1k는 모두 1과 동일한 요소를 포함하는 K x 1 열 벡터를 나타내고, A는 P x M 프로젝션 행렬이다.
계속해서 도 2를 참조하면, 스펙트로그램 디코더(260)는 지속시간 모델 네트워크(230)의 업샘플링된 출력(258)을 입력으로서 수신하고, 출력으로서 입력 텍스트 시퀀스(206)에 대한 하나 이상의 예측된 멜-주파수 스펙트로그램 시퀀스(302)를 생성하도록 구성된다. 스펙트로그램 디코더(260)는 다중 헤드 어텐션을 갖는 다중 셀프-어텐션 블록(262, 262a-n)의 스택을 포함할 수 있다. 일부 예에서, 스펙트로그램 디코더(260)는 0.1 드롭아웃을 갖는 6개의 8-헤드(eight-headed) 17 x 1 LConv 블록을 포함한다. 스펙트로그램 디코더(260)는 6개보다 많거나 적은 LConv 블록을 포함할 수 있다. 앞서 도 5를 참조하여 설명한 바와 같이, 셀프-어텐션 블록(232)의 스택 내의 각 LConv 블록은 GLU 유닛(502), LConv 계층(504) 및 잔차 연결을 갖는 FF 계층(506)을 포함할 수 있다. 다른 예에서, 스택의 각 셀프-어텐션 블록(262)은 동일한 변환기 블록을 포함한다.
일부 구현에서, 스펙트로그램 디코더(260)는 셀프-어텐션 블록(262, 262a-n)의 스택에 있는 각각의 셀프-어텐션 블록(262)으로부터의 출력으로서 각각의 예측된 멜-주파수 스펙트로그램 시퀀스(302, 302a-n)를 생성한다. 각각의 예측된 멜-주파수 스펙트로그램 시퀀스(302)의 프레임 수가 잔차 인코더(180)에 입력된 기준 멜-주파수 스펙트로그램 시퀀스(202)의 프레임 수와 동일하도록 네트워크(200)가 트레이닝될 수 있다. 표시된 예에서,
각 셀프-어텐션 블록(262a-n)은 셀프-어텐션 블록(262)의 출력(263)을 프로젝션하는 해당 프로젝션 계층(264a-n)과 페어링되어, 기준 멜-주파수 스펙트로그램 시퀀스(202)의 차원과 일치하는 차원을 갖는 각각의 예측된 멜-주파수 스펙트로그램 시퀀스(302a-n)를 생성한다. 일부 예에서, 프로젝션 계층(264)은 128-빈(128-bin) 예측된 멜-주파수 스펙트로그램 시퀀스(302)를 프로젝션한다. 다수의 멜-주파수 스펙트로그램 시퀀스(302a-n)를 예측함으로써, 비-자기회귀 신경망(200)은 소프트 동적 시간 워핑(soft-DTW(dynamic time warping)) 손실을 사용하여 트레이닝될 수 있다. 즉, 예측된 멜-주파수 스펙트로그램 시퀀스(302)는 기준 멜-주파수 스펙트로그램 시퀀스(202)와 길이(예를 들어, 프레임 수)가 다를 수 있기 때문에 스펙트로그램 디코더(260)는 정규 라플라스 손실(regular Laplace loss)을 결정할 수 없다. 오히려, 스펙트로그램 디코더(260)는 기준 멜-주파수 스펙트로그램 시퀀스(202)와 다른 길이를 포함할 수 있는 예측된 멜-주파수 스펙트로그램 시퀀스(302) 사이의 소프트-DTW 손실을 결정한다.
특히, 각각의 예측된 멜-주파수 스펙트로그램 시퀀스(302a-n)에 대해, 스펙트로그램 디코더(260)는 해당 예측된 멜-주파수 스펙트로그램 시퀀스(302)와 기준 멜-주파수 스펙트로그램 시퀀스(202)에 기초하여 각각의 스펙트로그램 손실(270, 270a-n)을 결정한다. 각각의 스펙트로그램 손실(270)은 수학식 9와 같이 재귀에 의해 결정된 소프트-DTW 손실 항을 포함할 수 있다.
수학식 9에서, ri,j는 1부터 i까지의 기준 멜-주파수 스펙트로그램 시퀀스 프레임과 가장 잘 정렬된 1부터 j까지의 예측된 멜-주파수 스펙트로그램 시퀀스 프레임 사이의 거리를 나타낸다. 여기서, 는 평활화 파라미터(γ)를 갖는 일반화된 최소 연산을 포함하고, warp(워프)는 워프 페널티를 포함하며, xi는 각각 시간 i 및 j에서 기준 멜-주파수 스펙트로그램 프레임과 예측된 멜-주파수 스펙트로그램 시퀀스 프레임이다.
소프트-DTW 손실 항 재귀는 계산 집약적이며, O(T2)의 복잡도, 60으로 고정된 진단 대역폭, 128의 워프 패널티, 0.05의 평활화 파라미터(γ)를 포함할 수 있다. 예를 들어, 제1 스펙트로그램 손실(270a)은 제1 예측된 멜-주파수 스펙트로그램 시퀀스(302a) 및 기준 멜-주파수 스펙트로그램 시퀀스(202)에 기초하여 결정될 수 있다. 여기서, 제1 예측된 멜-주파수 스펙트로그램 시퀀스(302a)와 기준 멜-주파수 스펙트로그램 시퀀스(202)는 길이가 동일할 수도 있고, 다를 수도 있다. 제2 스펙트로그램 손실(270b)은 제1 예측된 멜-주파수 스펙트로그램 시퀀스(302a) 및 기준 멜-주파수 스펙트로그램 시퀀스(202) 등에 기초하여 결정될 수 있으며, 모든 개별 스펙트로그램 손실(270a-n)이 예측된 멜-주파수 스펙트로그램 시퀀스(302a-n)에 대해 반복적으로 결정될 때까지 계속된다. 소프트-DTW 손실 항을 포함하는 스펙트로그램 손실(270)은 최종 소프트-DTW 손실(280)을 생성하기 위해 집계될 수 있다. 최종 소프트-DTW 손실(280)은 반복적인 소프트-DTW 손실 항(280)에 대응할 수 있다. 최종 소프트-DTW 손실(280)은 예측된 멜-주파수 스펙트로그램 시퀀스(302)와 동일 및/또는 다른 길이의 기준 멜-주파수 스펙트로그램 시퀀스(202)의 임의의 조합으로부터 수학식 10과 같이 결정될 수 있다.
수학식 10에서, L은 최종 소프트-DTW 손실(280)을 포함하고, 는 스펙트로그램 디코더의 l번째 반복에 대한 소프트-DTW L1 스펙트로그램 재구성 손실을 포함하며, 는 평균 지속시간 L1 손실을 포함하고, 는 잔차 인코더의 이전과 이후 사이의 KL 다이버전스(divergence)를 포함한다. 심층 신경망(200)을 트레이닝하는 것은 최종 소프트-DTW 손실(280)을 최소화하여 예측된 멜-주파수 스펙트로그램 시퀀스(302)와 기준 멜-주파수 스펙트로그램 시퀀스(202)의 음소 지속시간 사이의 차이를 줄이는 것을 목표로 한다. 최종 소프트-DTW 손실(280)을 최소화함으로써, 트레이닝된 TTS 모델(300)은 기준 멜-주파수 스펙트로그램 시퀀스(202)에 기초하여 의도된 운율/스타일을 포함하는 예측된 멜-주파수 스펙트로그램 시퀀스(302)를 생성할 수 있다. 스펙트로그램 손실(270a-n)을 합산하는 것은 최종 소프트-DTW 손실(280)을 얻기 위해 스펙트로그램 손실(270a-n)을 합산하는 것을 포함할 수 있다. 선택적으로, 스펙트로그램 손실(270)을 집계하는 것은 스펙트로그램 손실(270)을 평균화하는 것을 포함할 수 있다.
심층 신경망(200)은 각각의 예측된 멜-주파수 스펙트로그램 시퀀스(302)의 프레임 수가 잔차 인코더(180)에 입력된 기준 멜-주파수 스펙트로그램 시퀀스(202)의 프레임 수와 동일하도록 트레이닝될 수 있다. 더욱이, 심층 신경망(200)은 기준 및 예측된 멜-주파수 스펙트로그램 시퀀스(202, 302)와 연관된 데이터가 서로 실질적으로 일치하도록 트레이닝된다. 예측된 멜-주파수 스펙트로그램 시퀀스(302)는 기준 오디오 신호(201)의 운율/스타일 표현을 암시적으로 제공할 수 있다.
도 3은 도 2의 비-자기회귀적 심층 신경망(200)에 의해 트레이닝된 비-자기회귀적 TTS 모델(300)의 예를 도시한다. 구체적으로, 도 3은 입력 텍스트 발화(320)에 대한 멜-주파수 스펙트로그램 시퀀스(302)를 예측하기 위해 선택된 변량 임베딩(220)을 사용하는 TTS 모델(300)을 도시하며, 이에 따라 선택된 변량 임베딩(220)은 텍스트 발화(320)에 대한 의도된 운율/스타일을 나타낸다. 추론 동안, 트레이닝된 TTS 모델(300)은 컴퓨팅 시스템(120) 또는 사용자 컴퓨팅 장치(10)에서 실행되고 선택된 변량 임베딩(220)을 사용하여 입력 텍스트 발화(320)에 대한 해당 멜-스펙트로그램 시퀀스(302)를 예측할 수 있다. 여기서, TTS 모델(300)은 텍스트 발화(320)에 대해 의도된 운율/스타일을 나타내는 변량 임베딩(220)을 저장소(185)로부터 선택한다. 일부 예에서, 사용자는 결과적인 합성된 음성(152)이 텍스트 발화(320)에 대해 전달하기를 원하는 의도된 운율/스타일의 선택을 나타내는 사용자 입력 표시를 제공하고, TTS 모델(300)은 의도된 운율/스타일을 나타내는 데이터 저장 장치(185)로부터 적절한 변량 임베딩(220)을 선택한다. 이러한 예에서, 의도된 운율/스타일은 의도된 운율/스타일로 말하는 특정 화자와 관련된 화자 ID(identity)(205)을 표시하고/하거나 의도된 운율/스타일에 대응하는 특정 운율 수직(prosodic vertical)(예: 뉴스 캐스터, 스포츠 캐스터 등)을 지정함으로써 사용자에 의해 선택될 수 있다. 선택된 변량 임베딩(220)은 VAE 기반 잔차 인코더(180)로부터 샘플링된 이전 변량 임베딩(220)에 대응할 수 있다. 트레이닝된 TTS 모델(300)은 합성기(155)를 사용하여 각각의 입력 텍스트 발화(320)에 대해 의도된 운율/스타일(예를 들어, 선택된 변량 임베딩(220))을 갖는 합성된 음성(152)을 생성한다. 즉, 선택된 변량 임베딩(220)은 잔차 인코더(180)에 저장된 의도된 운율/스타일(예를 들어, 뉴스캐스터, 스포츠캐스터 등)을 포함할 수 있다. 선택된 변량 임베딩(220)은 입력 텍스트 발화(320)에 대해 합성된 음성(152)을 통해 의도된 운율/스타일을 전달한다.
추가 구현에서, 트레이닝된 TTS 모델(300)은 입력 텍스트 발화(320)에 대한 멜-주파수 스펙트로그램 시퀀스(302)를 예측하는 데 사용하기 위해 즉석에서 변량 임베딩(220)을 추출/예측하기 위해 추론 중에 잔차 인코더(180)를 사용한다. 예를 들어, 잔차 인코더(180)는 의도된 운율/스타일(예를 들어 "Say it like this(이렇게 말해봐)")을 전달하는 인간 사용자에 의해 발언된 기준 오디오 신호(201)(도 2)를 수신하고 그리고 의도된 운율/스타일을 나타내는 해당 변량 임베딩(220)을 추출/예측할 수 있다. 그 후, 트레이닝된 TTS 모델(300)은 기준 오디오 신호(201)에 의해 전달된 의도된 운율/스타일을 입력 텍스트 발화(320)에 대해 예측된 멜-주파수 스펙트로그램 시퀀스(302)에 효과적으로 전달하기 위해 변량 임베딩(220)을 사용할 수 있다. 따라서, 표현 음성(152)으로 합성될 입력 텍스트 발화(320)와 표현 음성(152)에 전달될 의도된 운율/스타일을 전달하는 기준 오디오 신호(201)는 서로 다른 언어적 콘텐츠(linguistic content)를 포함할 수 있다.
특히, 텍스트 인코더(210)는 텍스트 발화(320)로부터 추출된 음소 시퀀스를 인코딩된 텍스트 시퀀스(219)로 인코딩한다. 텍스트 인코더(210)는 토큰 임베딩 룩업 테이블(207)로부터 텍스트 발화(320)로부터 추출된 음소 시퀀스의 각 음소에 대한 각각의 토큰 임베딩을 수신할 수 있다. 텍스트 발화(320)로부터 추출된 음소의 순서에 각 음소의 토큰 임베딩을 수신한 후, 텍스트 인코더(210)는 인코더 프리넷 신경망(208)을 사용하여 각각의 토큰 임베딩을 프로세싱하여 각 음소의 각각의 변환된 임베딩(209)을 생성한다. 그 후, Conv 블록(212)의 뱅크(예를 들어, 3개의 동일한 5 x 1 Conv 블록)는 각각의 변환된 임베딩(209)을 프로세싱하여 컨볼루션 출력(213)을 생성한다. 마지막으로, 셀프-어텐션 블록(218)의 스택은 컨볼루션 출력(213)을 프로세싱하여 인코딩된 텍스트 시퀀스(219)를 생성한다. 도시된 예에서, 셀프-어텐션 블록(218)의 스택은 6개의 변환기 블록을 포함한다. 다른 예에서, 셀프-어텐션 블록(218)은 변환기 블록 대신 LConv 블록을 포함할 수 있다. 특히, 각각의 컨볼루션 출력(213)은 셀프-어텐션 블록(218)의 스택을 통해 동시에 통과하기 때문에, 셀프-어텐션 블록(218)의 스택은 입력 텍스트 발화에서 각 음소의 위치/순서에 대한 지식이 없다. 따라서, 일부 예에서, 정현파 위치 임베딩(214)은 컨볼루션 출력(213)과 결합되어 입력 텍스트 시퀀스(206)의 각 음소의 순서를 나타내는 필요한 위치 정보를 주입한다. 다른 예에서는, 정현파 위치 임베딩(214) 대신 인코딩된 위치 임베딩이 사용된다.
계속해서 도 3을 참조하면, 연결기(222)는 선택된 변량 임베딩(220), 인코딩된 텍스트 시퀀스(219), 및 선택적으로 기준 화자 임베딩(ys)을 연결하여 연결(224)을 생성한다. 여기서, 기준 화자 임베딩(ys)은 선택된 변량 임베딩(220)과 연관된 하나 이상의 기준 오디오 신호(201)를 발화한 기준 화자의 화자 ID(205) 또는 결과적인 합성된 음성(152)에 전달될 음성 특성을 갖는 일부 다른 기준 화자의 화자 ID(identity)(205)를 나타낼 수 있다. 지속시간 모델 네트워크(230)는
인코딩된 텍스트 시퀀스(219), 선택된 변량 임베딩(220) 및 기준 화자 임베딩(ys)의 연결(224)을 디코딩하여, 입력 텍스트 발화(320)의 음소 시퀀스의 각 음소에 대한 음소 지속시간(240)을 예측하기 위해 지속시간 모델 네트워크(230)의 업샘플링된 출력(258)을 생성하도록 구성된다.
지속시간 모델 네트워크(230)는 연결(224)로부터 인코딩된 텍스트 시퀀스(219)에 대한 프레임 수를 지정하는 업샘플링된 출력(258)을 생성하도록 구성된다. 일부 구현에서, 지속시간 모델 네트워크(230)는 셀프-어텐션 블록(232)의 스택과 그 뒤에 두 개의 독립적인 작은 컨볼루션 블록(234, 238) 및 소프트플러스 활성화를 통한 프로젝션(236)을 포함한다. 도시된 예에서, 셀프-어텐션 블록의 스택은 4개의 3 x 1 LConv 블록(232)을 포함한다. 앞서 도 5를 참조하여 설명한 바와 같이, 셀프-어텐션 블록(232)의 스택 내의 각 LConv 블록은 GLU 유닛(502), LConv 계층(504) 및 잔차 연결을 갖는 FF 계층(506)을 포함할 수 있다. 셀프-어텐션 블록(232)의 스택은 인코딩된 텍스트 시퀀스(219), 변량 임베딩(220) 및 기준 화자 임베딩(ys)의 연결(224)에 기초하여 시퀀스 표현(V)를 생성한다.
일부 구현에서, 제1 컨볼루션 블록(234)은 출력(235)을 생성하고, 제2 컨볼루션 블록(238)은 시퀀스 표현(V)로부터 출력(239)을 생성한다. 컨볼루션 블록(234, 238)은 커널 너비가 3이고 출력 차원이 3인 3x1 Conv 블록을 포함할 수 있다. 지속시간 모델 네트워크(230)는 인코딩된 텍스트 시퀀스(219)에 의해 표현되는 각각의 음소에 대한 음소 지속시간(240)(예를 들어, {d1,...,dK})을 예측하기 위해 소프트플러스 활성화(236)를 갖는 프로젝션을 포함한다. 여기서, 소프트플러스 활성화(236)는 음소 지속시간(240)을 예측하기 위해 시퀀스 표현(V)를 입력으로 수신한다.
지속시간 모델 네트워크(230)는 도 2를 참조하여 전술한 바와 같이 예측된 음소 지속시간(240)으로부터 토큰 경계()를 정의하기 위한 행렬 생성기(242)를 포함한다. 지속시간 모델 네트워크(230)는 간격 표현 행렬(W)를 학습하기 위한 제1 함수(244)를 포함한다. 일부 구현에서, 제1 함수(244)은 바이어스 및 "Swish" 활성화를 갖는 두 개의 프로젝션 계층을 포함한다. 도시된 예에서, 제1 함수(244)의 두 프로젝션은 차원 16(즉, P = 16)으로 프로젝션되고 출력된다. 제1 함수(244)는 연결기(222)로부터 입력으로서 연결(237)을 수신한다. 연결기(222)는 컨볼루션 블록(234)의 출력(235)과 그리드 행렬(243)을 연결하여 연결(237)을 생성한다. 이어서, 제1 함수(244)는 수학식 6을 사용하여 출력(247)의 소프트플러스 활성화(246)를 사용하여 프로젝션으로부터 간격 표현 행렬(W)(예: T x K 어텐션 행렬)를 생성한다.
지속시간 모델 네트워크(230)는 시퀀스 표현(V)에 따라 조건화된 제2 함수(248)를 사용하여 보조 어텐션 컨텍스트 텐서(C)(예를 들어, C = [C1,...,CP])를 학습할 수 있다. 여기서 Cp는 보조 어텐션 내용 텐서(C)의 T x K 행렬이다. 보조 어텐션 컨텍스트 텐서(C)는 스펙트로그램 디코더(260)에 대한 보조 다중-헤드 어텐션 유사 정보를 포함할 수 있다. 연결기(222)는 그리드 행렬(243)과 출력(239)을 연결하여 연결(249)을 생성한다. 제2 함수(248)은 바이어스 및 "Swish" 활성화 함수를 갖춘 두 개의 프로젝션 계층을 포함할 수 있다. 제2 함수(248)는 수학식 7을 사용하여 시작 및 종료 경계(sk, ek) 및 시퀀스 표현(V)로부터 매핑된 각각의 그리드 행렬(243)에 기초하여 보조 어텐션 컨텍스트 텐서(C)를 생성하기 위한 연결(249)을 입력으로 수신한다.
지속시간 모델 네트워크(230)는 시퀀스 표현(V)를 다수의 프레임을 사용하여 업샘플링된 출력(258)(예를 들어, O = {o1,...,oT})으로 업샘플링할 수 있다. 여기서, 업샘플링된 출력의 프레임 수는 해당 입력 텍스트 시퀀스(206)의 예측된 음소 지속시간(240)에 의해 결정된 예측된 멜-주파수 스펙트로그램(302)의 예측 길이에 해당한다. 시퀀스 표현(V)를 업샘플링된 출력(258)으로 업샘플링하는 것은 승산기(253)를 사용하여 간격 표현(W)과 시퀀스 표현(V)의 곱(254)을 결정하는 것에 기초한다. 아인섬 연산자(255)를 사용하여 간격 표현 행렬(W)와 보조 어텐션 컨텍스트 센서(C)의 아인섬(256)을 결정한다. 프로젝션(250)은 아인섬(356)을 프로젝션된 출력(252)으로 프로젝션하며, 이 프로젝션된 출력(252)은 가산기(257)가 곱(254)과 합산하여 수학식 8로 표시되는 업샘플링된 출력(258)을 생성한다.
스펙트로그램 디코더(260)는 지속시간 모델 네트워크(230)의 업샘플링된 출력(258) 및 예측된 음소 지속시간(240)에 기초하여 텍스트 발화(320)에 대한 예측된 멜-주파수 스펙트로그램 시퀀스(302)를 생성하도록 구성된다. 여기서, 예측된 멜-주파수 스펙트로그램 시퀀스(302)는 선택된 변량 임베딩(220)에 의해 지정된 의도된 운율/스타일을 갖는다. 텍스트 발화(320)에 대해 예측된 멜-주파수 스펙트로그램 시퀀스(302)는 보조 어텐션 컨텍스트 텐서(C), 시퀀스 표현(V) 간격 표현(w), 지속시간 모델 네트워크(230)의 프레임 수로 업샘플링된 출력(258)을 기반으로 한다.
스펙트로그램 디코더(260)는 셀프-어텐션 블록(262a-n)의 스택에 있는 마지막 셀프-어텐션 블록(262)으로부터의 출력으로서 각각의 예측된 멜-주파수 스펙트로그램 시퀀스(302)를 생성한다. 여기서, 스펙트로그램 디코더(260)의 셀프-어텐션 블록(262) 스택의 각 셀프-어텐션 블록(262)은 동일한 LConv 블록 또는 동일한 변환기 블록 중 하나를 포함한다. 일부 예에서, 스펙트로그램 디코더(260)는 0.1 드롭아웃을 갖는 6개의 8-헤드 17 x 1 LConv 블록을 포함한다. 각각의 셀프-어텐션 블록(262)에 대한 마지막 피드포워드(FF) 계층(506)(도 5)의 출력은 후속 셀프-어텐션 블록(262)에 대한 입력으로서 제공된다. 즉, 셀프-어텐션 블록(262a-n)의 스택에 있는 제1 셀프-어텐션 블록(262a)의 GLU 유닛(502)(도 5) 및 LConv 계층(504)(도 5)은 지속시간 모델 네트워크(230)로부터의 출력(238)과 예상된 음소 지속시간(240)을 프로세싱하고 그리고 제1 셀프-어텐션 블록(262a)의 마지막 FF 계층(506)으로부터의 출력은 셀프-어텐션 블록(262)의 스택에 있는 다음 제2 셀프-어텐션 블록(262b)에 대한 입력으로 제공된다. 각 셀프-어텐션 블록(262)의 마지막 FF 계층의 출력은 셀프-어텐션 블록(262) 스택의 마지막 셀프-어텐션 블록(262n)에 도달할 때까지 후속 셀프-어텐션 블록(262)에 입력으로 제공된다. 셀프-어텐션 블록(262) 스택의 마지막 셀프-어텐션 블록(262n)(예를 들어, 여섯 번째 셀프-어텐션 블록(262))은 각각의 예측된 멜-주파수 스펙트로그램 시퀀스(302)를 생성하기 위해 마지막 셀프-어텐션 블록(262)의 출력(263)을 프로젝션하는 해당 프로젝션 계층(264)과 페어링된다.
스펙트로그램 디코더(260)에 의해 생성된 예측된 멜-주파수 스펙트로그램 시퀀스(302)는 입력 텍스트 발화(320)에 대응하고 선택된 변량 임베딩(220)에 의해 표시되는 의도된 운율/스타일을 전달한다. 트레이닝된 TTS 모델(300)은 합성된 음성(152)을 나타내는 시간-영역 오디오 파형으로 변환하기 위해 입력 텍스트 발화(320)에 대해 예측된 멜-주파수 스펙트로그램 시퀀스(302)를 합성기(155)에 제공한다. 합성된 음성(152)은 선택된 변량 임베딩(220)에 의해 표시된 바와 같이 의도된 운율/스타일을 포함하는 입력 텍스트 발화(320)의 음성 표현으로서 청각적으로 출력될 수 있다.
도 6은 비-자기회귀적 TTS(text-to-speech) 모델을 트레이닝하기 위한 컴퓨터 구현 방법(600)에 대한 예시적인 동작 배열의 흐름도이다. 동작(602)에서, 방법(600)은 변량 임베딩(220)과 연결된 인코딩된 텍스트 시퀀스(219)의 시퀀스 표현(V)를 획득하는 것을 포함한다. 동작(604)에서, 지속지속시간 모델 네트워크를 사용하여 방법(600)은 시퀀스 표현(V)에 기초하여 인코딩된 텍스트 시퀀스(219)에 의해 표현되는 각각의 음소에 대한 음소 지속기간(240)을 예측하는 단계를 포함한다. 예측된 음소 지속시간(240)에 기초하여, 방법(600)은 동작(606)에서 시퀀스 표현(V)에 따라 조건화된(conditioned) 제1 함수(244)를 사용하여 간격 표현 행렬(W)를 학습하는 것을 포함한다. 동작(608)에서, 방법(600)은 시퀀스 표현(V)에 따라 조건화된 제2 함수(248)를 사용하여 보조 어텐션 컨텍스트 표현(C)을 학습하는 것을 포함한다.
동작(610)에서, 방법(600)은 간격 표현 행렬(W) 및 보조 어텐션 컨텍스트 표현(C)을 사용하여 시퀀스 표현(V)을 프레임 수를 특정하는 업샘플링된 출력(258)으로 업샘플링하는 것을 포함한다. 동작(612)에서, 방법(600)은 하나 이상의 셀프-어텐션 블록(262, 262a-n)의 스택을 포함하는 스펙트로그램 디코더(260)로부터의 출력으로서, 업샘플링된 출력(258)에 기초하여, 인코딩된 텍스트 시퀀스(219)에 대한 하나 이상의 예측된 멜-주파수 스펙트로그램 시퀀스(302)를 생성하는 것을 포함한다. 동작(614)에서, 방법(600)은 하나 이상의 예측된 멜-주파수 스펙트로그램 시퀀스(302) 및 기준 멜-주파수 스펙트로그램 시퀀스(202)에 기초하여 최종 스펙트로그램 손실(280)을 결정하는 것을 포함한다. 동작(616)에서, 방법(600)은 최종 스펙트로그램 손실(280)에 기초하여 TTS 모델(300)을 트레이닝하는 것을 포함한다.
도 7은 이 문서에 설명된 시스템 및 방법을 구현하는 데 사용될 수 있는 예시적인 컴퓨팅 장치(700)의 개략도이다. 컴퓨팅 장치(700)는 랩탑, 데스크탑, 워크스테이션, PDA, 서버, 블레이드 서버, 메인프레임 및 기타 적절한 컴퓨터와 같은 다양한 형태의 디지털 컴퓨터를 나타내도록 의도된다. 여기에 표시된 컴포넌트, 연결 및 관계, 기능은 예시일 뿐이며 이 문서에서 설명 및/또는 청구된 발명의 구현을 제한하지 않는다.
컴퓨팅 장치(700)는 프로세서(710), 메모리(720), 저장 장치(730), 메모리(720) 및 고속 확장 포트(750)에 연결되는 고속 인터페이스/제어기(740), 저속 버스(770) 및 저장 장치(730)에 연결되는 저속 인터페이스/제어기(760)를 포함한다. 각각의 컴포넌트(710, 720, 730, 740, 750 및 760)는 다양한 버스를 사용하여 상호 연결되며, 공통 마더보드 또는 적절한 다른 방식으로 장착될 수 있다. 프로세서(710)는 메모리(720) 또는 저장 장치(730)에 저장된 명령어를 포함하여 컴퓨팅 장치(700) 내에서 실행하기 위한 명령어를 프로세싱하여 그래픽 사용자 인터페이스(GUI)에 대한 그래픽 정보를 고속 인터페이스(740)에 연결된 디스플레이(780)와 같은 외부 입력/출력 장치에 표시할 수 있다. 다른 구현에서, 다중 프로세서 및/또는 다중 버스는 다중 메모리 및 메모리 유형과 함께 적절하게 사용될 수 있다. 또한, 복수의 컴퓨팅 장치(700)가 연결될 수 있으며, 각각의 장치는 필요한 동작의 일부를 제공한다(예를 들어, 서버 뱅크, 블레이드 서버 그룹 또는 다중 프로세서 시스템).
메모리(720)는 컴퓨팅 장치(700) 내에 비일시적으로 정보를 저장한다. 메모리(720)는 컴퓨터 판독 가능 매체, 휘발성 메모리 유닛(들) 또는 비휘발성 메모리 유닛(들)일 수 있다. 비일시적 메모리(720)는 컴퓨팅 장치(700)에 의한 사용을 위해 일시적 또는 영구적으로 프로그램(예를 들어, 명령어 시퀀스) 또는 데이터(예를 들어, 프로그램 상태 정보)를 저장하는 데 사용되는 물리적 장치일 수 있다. 비휘발성 메모리의 예는 플래시 메모리 및 ROM(read-only memory)/PROM(programmable read-only memory)/EPROM(erasable programmable read-only memory)/EEPROM(electronically erasable programmable read-only memory)(예를 들어, 일반적으로 부트 프로그램과 같은 펌웨어에 사용됨)을 포함하지만 이에 제한되지 않는다. 휘발성 메모리의 예에는 RAM(Random Access Memory), DRAM(Dynamic Random Access Memory), SRAM(Static Random Access Memory), PCM(Phase Change Memory) 및 디스크나 테이프가 포함되지만 이에 제한되지 않는다.
저장 장치(730)는 컴퓨팅 장치(700)를 위한 대용량 저장 장치를 제공할 수 있다. 일부 구현에서, 저장 장치(730)는 컴퓨터 판독 가능 매체이다. 다양한 상이한 구현에서, 저장 장치(730)는 플로피 디스크 장치, 하드 디스크 장치, 광학 디스크 장치 또는 테이프 장치, 플래시 메모리 또는 다른 유사한 솔리드 스테이트 메모리 장치, 또는 저장 영역 네트워크 또는 다른 구성의 장치를 포함하는 장치 어레이일 수 있다. 추가 구현에서, 컴퓨터 프로그램 제품은 정보 매체에 유형적으로 구현된다. 컴퓨터 프로그램 제품은 실행될 때 위에서 설명한 것과 같은 하나 이상의 방법을 수행하는 명령어를 포함한다. 정보 매체는 메모리(720), 저장 장치(730) 또는 프로세서 상의 메모리(710)와 같은 컴퓨터 또는 기계 판독 가능 매체이다.
고속 제어기(740)는 컴퓨팅 장치(700)에 대한 대역폭 집중 동작을 관리하는 반면, 저속 제어기(760)는 낮은 대역폭 집중 동작을 관리한다. 이러한 의무 할당은 예시일 뿐이다. 일부 구현에서, 고속 제어기(740)는 메모리(720), 디스플레이(780)(예를 들어, 그래픽 프로세서 또는 가속기를 통해) 및 다양한 확장 카드(미도시)를 수용할 수 있는 고속 확장 포트(750)에 연결된다. 일부 구현에서, 저속 제어기(760)는 저장 장치(730) 및 저속 확장 포트(790)에 결합된다. 다양한 통신 포트(예를 들어, USB, 블루투스, 이더넷, 무선 이더넷)를 포함할 수 있는 저속 확장 포트(790)는 예를 들어 네트워크 어댑터를 통해 키보드, 포인팅 장치, 스캐너 또는 스위치 또는 라우터와 같은 네트워킹 장치와 같은 하나 이상의 입/출력 장치에 연결될 수 있다.
컴퓨팅 장치(700)는 도면에 도시된 바와 같이 다양한 형태로 구현될 수 있다. 예를 들어, 표준 서버(700a)로 구현되거나 이러한 서버(700a) 그룹에서 여러 번, 랩톱 컴퓨터(700b) 또는 랙 서버 시스템(700c)의 일부로 구현될 수 있다.
여기에 설명된 시스템 및 기술의 다양한 구현은 디지털 전자 및/또는 광학 회로, 집적 회로, 특별히 설계된 ASIC(애플리케이션 특정 집적 회로), 컴퓨터 하드웨어, 펌웨어, 소프트웨어 및/또는 이들의 조합으로 실현될 수 있다. 이러한 다양한 구현은 저장 시스템, 적어도 하나의 입력 장치 및 적어도 하나의 출력 장치로부터 데이터 및 명령어를 수신하고 데이터 및 명령어를 전송하도록 결합된 특수 또는 범용일 수 있는 적어도 하나의 프로그램 가능 프로세서를 포함하는 프로그램 가능 시스템 상에서 실행 가능 및/또는 해석 가능한 하나 이상의 컴퓨터 프로그램에서의 구현을 포함할 수 있다.
소프트웨어 애플리케이션(즉, 소프트웨어 리소스)은 컴퓨팅 장치가 동작을 수행하게 하는 컴퓨터 소프트웨어를 의미할 수 있다. 일부 예에서 소프트웨어 애플리케이션은 "애플리케이션", "앱" 또는 "프로그램"으로 지칭될 수 있다. 애플리케이션의 예로는 시스템 진단 애플리케이션, 시스템 관리 애플리케이션, 시스템 유지 관리 애플리케이션, 워드 프로세싱 애플리케이션, 스프레드시트 애플리케이션, 메시징 애플리케이션, 미디어 스트리밍 애플리케이션, 소셜 네트워킹 애플리케이션 및 게임 애플리케이션이 있다.
이러한 컴퓨터 프로그램(프로그램, 소프트웨어, 소프트웨어 애플리케이션 또는 코드라고도 함)은 프로그래밍 가능한 프로세서를 위한 기계 명령어를 포함하며 고급 절차 및/또는 객체 지향 프로그래밍 언어 및/또는 어셈블리/기계 언어로 구현될 수 있다. 본원에 사용된 바와 같이, "기계 판독 가능 매체" 및 "컴퓨터 판독 가능 매체"라는 용어는 기계 명령을 기계 판독 가능 신호로 수신하는 기계 판독 가능 매체를 포함하여 프로그램 가능 프로세서에 기계 명령 및/또는 데이터를 제공하는 데 사용되는 임의의 컴퓨터 프로그램 제품, 비일시적 컴퓨터 판독 가능 매체, 장치 및/또는 장치(예: 자기 디스크, 광 디스크, 메모리, 프로그램 가능 논리 장치(PLD))를 의미한다. "기계 판독 가능 신호"라는 용어는 프로그램 가능한 프로세서에 기계 명령 및/또는 데이터를 제공하는 데 사용되는 모든 신호를 의미한다.
본 명세서에 기술된 프로세스 및 논리 흐름은 데이터 프로세싱 하드웨어라고도 하는 하나 이상의 프로그래밍 가능한 프로세서에 의해 수행될 수 있으며, 하나 이상의 컴퓨터 프로그램을 실행하여 입력 데이터에 대해 작동하고 출력을 생성함으로써 기능을 수행할 수 있다. 프로세스 및 논리 흐름은 특수 목적 논리 회로, 예를 들어 FPGA(field programmable gate array) 또는 ASIC(application specific integrated circuit)에 의해 수행될 수도 있다. 컴퓨터 프로그램의 실행에 적합한 프로세서는 예를 들어 범용 및 특수 목적 마이크로프로세서 모두와 모든 종류의 디지털 컴퓨터의 하나 이상의 프로세서를 포함한다. 일반적으로 프로세서는 읽기 전용 메모리나 임의 액세스 메모리 또는 둘 다에서 명령과 데이터를 수신한다. 컴퓨터의 필수 요소는 명령을 수행하는 프로세서와 명령과 데이터를 저장하는 하나 이상의 메모리 장치이다. 일반적으로, 컴퓨터는 데이터를 저장하기 위한 하나 이상의 대용량 저장 장치, 예를 들어 자기, 광자기 디스크 또는 광 디스크로부터 데이터를 수신하거나 데이터를 전송하기 위해 또는 양자 모두를 포함하거나 작동 가능하게 결합될 것이다. 그러나 컴퓨터에는 이러한 장치가 필요하지 않는다. 컴퓨터 프로그램 명령 및 데이터를 저장하기에 적합한 컴퓨터 판독 가능 매체에는 예를 들어 반도체 메모리 장치, 예를 들어 EPROM, EEPROM 및 플래시 메모리 장치를 포함하고; 자기 디스크, 예를 들어 내부 하드 디스크 또는 이동식 디스크; 광자기 디스크; 및 CD ROM 및 DVD-ROM 디스크와 같은 모든 형태의 비휘발성 메모리, 매체 및 메모리 장치가 포함된다. 프로세서와 메모리는 특수 목적 논리 회로에 의해 보완되거나 통합될 수 있다.
사용자와의 상호 작용을 제공하기 위해, 본 발명의 하나 이상의 양태는 사용자에게 정보를 표시하기 위한 디스플레이 장치, 예를 들어 CRT(음극선관), LCD(액정 디스플레이) 모니터 또는 터치 스크린 및 선택적으로 키보드 및 포인팅 장치, 예를 들어 마우스 또는 트랙볼을 갖는 컴퓨터에서 구현될 수 있으며, 이를 통해 사용자는 컴퓨터에 입력을 제공할 수 있다. 다른 종류의 장치를 사용하여 사용자와의 상호 작용도 제공할 수 있다. 예를 들어, 사용자에게 제공되는 피드백은 시각적 피드백, 청각 피드백 또는 촉각 피드백과 같은 임의의 형태의 감각 피드백일 수 있다. 사용자로부터의 입력은 음향, 음성 또는 촉각 입력을 포함한 모든 형태로 수신될 수 있다. 또한 컴퓨터는 사용자가 사용하는 장치와 문서를 주고받음으로써 사용자와 상호 작용할 수 있다. 예를 들어, 웹 브라우저에서 받은 요청에 대한 응답으로 사용자 클라이언트 장치의 웹 브라우저에 웹 페이지를 보낸다.
많은 구현이 설명되었다. 그럼에도 불구하고, 본 발명의 사상 및 범위를 벗어나지 않고 다양한 수정이 이루어질 수 있음이 이해될 것이다. 따라서, 다른 구현은 다음 청구 범위 내에 있다.

Claims (28)

  1. 데이터 프로세싱 하드웨어(122)에서 실행될 때 데이터 프로세싱 하드웨어(122)로 하여금 비-자기회귀적 TTS(text-to-speech) 모델(300)을 트레이닝하기 위한 동작들을 수행하게 하는 컴퓨터로 구현되는 방법(600)으로서, 상기 동작들은,
    변량 임베딩(220)과 연결된 인코딩된 텍스트 시퀀스(219)의 시퀀스 표현(224)을 획득하는 동작;
    지속시간 모델 네트워크(230)를 사용하여:
    상기 시퀀스 표현(224)에 기초하여, 상기 인코딩된 텍스트 시퀀스(219)에 의해 표현되는 각 음소에 대한 음소 지속시간(240)을 예측하는 동작;
    상기 예측된 음소 지속시간(240)에 기초하여:
    상기 시퀀스 표현(224)에 따라 조건화된 제1 함수(244)를 사용하여 간격 표현 행렬을 학습하는 동작; 그리고
    상기 시퀀스 표현(224)에 따라 조건화된 제2 함수(248)를 사용하여 보조 어텐션 컨텍스트 표현을 학습하는 동작;
    상기 간격 표현 및 상기 보조 어텐션 컨텍스트 표현을 사용하여, 상기 시퀀스 표현(224)을 프레임 수를 지정하는 업샘플링된 출력(258)으로 업샘플링하는 동작; 그리고
    상기 업샘플링된 출력(258)에 기초하여, 하나 이상의 셀프-어텐션 블록의 스택을 포함하는 스펙트로그램 디코더(260)로부터의 출력으로서, 상기 인코딩된 텍스트 시퀀스(219)에 대한 하나 이상의 예측된 멜-주파수 스펙트로그램 시퀀스(302)를 생성하는 동작;
    상기 하나 이상의 예측된 멜-주파수 스펙트로그램 시퀀스(302) 및 기준 멜-주파수 스펙트로그램 시퀀스(202)에 기초하여 최종 스펙트로그램 손실(280)을 결정하는 동작; 그리고
    상기 최종 스펙트로그램 손실(280)에 기초하여 TTS 모델(300)을 트레이닝하는 동작을 포함하는 것을 특징으로 하는 컴퓨터로 구현되는 방법.
  2. 제1항에 있어서, 상기 제1 함수(244) 및 제2 함수(248)는 각각 다층 인식 기반 학습 가능 함수를 포함하는 것을 특징으로 하는 컴퓨터로 구현되는 방법.
  3. 제1항 또는 제2항에 있어서, 상기 동작들은,
    예측된 음소 지속시간(240) 및 평균 음소 지속시간(240)에 기초하여 글로벌 음소 지속시간 손실(241)을 결정하는 동작을 더 포함하고,
    상기 TTS 모델(300)의 트레이닝은 상기 글로벌 음소 지속시간 손실(241)에 더 기초하는 것을 특징으로 하는 컴퓨터로 구현되는 방법.
  4. 제3항에 있어서, 최종 스펙트로그램 손실(280) 및 글로벌 음소 지속시간 손실(241)에 기초하여 TTS 모델(300)을 트레이닝하는 것은,
    외부 정렬기로부터 추출된 지도된 음소 지속시간 라벨을 사용하지 않고 각 음소에 대한 음소 지속시간(240)을 예측하도록 지속시간 모델 네트워크(230)를 트레이닝하는 것을 포함하는 것을 특징으로 하는 컴퓨터로 구현되는 방법.
  5. 제1항 내지 제4항 중 어느 한 항에 있어서, 상기 동작들은, 상기 지속시간 모델 네트워크(230)를 사용하여:
    상기 예측된 음소 지속시간(240)에 기초하여, 상기 인코딩된 텍스트 시퀀스(219)에 의해 표현되는 각 음소에 대해 각각의 시작 및 종료 경계를 생성하는 동작;
    상기 인코딩된 텍스트 시퀀스(219)에 의해 표현되는 음소의 개수와 상기 기준 멜-주파수 스펙트로그램 시퀀스(202)의 기준 프레임의 개수에 기초하여, 각 음소에 대해 생성된 상기 각각의 시작 및 종료 경계를 각각의 그리드 행렬(243)에 매핑하는 동작을 더 포함하며,
    상기 간격 표현을 학습하는 것은 상기 시작 및 종료 경계로부터 매핑된 각각의 그리드 행렬(243)에 기초하고; 그리고
    상기 보조 어텐션 컨텍스트 표현을 학습하는 것은 상기 시작 및 종료 경계로부터 매핑된 각각의 그리드 행렬(243)에 기초하는 것을 특징으로 하는 컴퓨터로 구현되는 방법.
  6. 제1항 내지 제5항 중 어느 한 항에 있어서, 상기 시퀀스 표현(224)을 업샘플링된 출력(258)으로 업샘플링하는 동작은,
    상기 간격 표현 행렬과 시퀀스 표현(224)의 곱(254)을 결정하는 동작;
    상기 보조 어텐션 컨텍스트 표현과 상기 간격 표현 행렬의 아인슈타인 합산(아인섬)(256)을 결정하는 동작; 그리고
    상기 간격 표현 행렬과 시퀀스 표현(224)의 곱(254)과 아인섬(256)의 프로젝션(252)을 합산하여 상기 업샘플링된 출력(258)을 생성하는 동작을 포함하는 것을 특징으로 하는 컴퓨터로 구현되는 방법.
  7. 제1항 내지 제6항 중 어느 한 항에 있어서, 상기 동작들은,
    기준 오디오 신호(201) 및 해당 입력 텍스트 시퀀스(206)를 포함하는 트레이닝 데이터를 수신하는 동작 -상기 기준 오디오 신호(201)는 음성 발화를 포함하고 그리고 상기 입력 텍스트 시퀀스(206)는 상기 기준 오디오 신호(201)의 전사에 대응함-;
    잔차 인코더(180)를 사용하여, 상기 기준 오디오 신호(201)를 변량 임베딩(220)으로 인코딩하는 동작 -상기 변량 임베딩(220)은 상기 기준 오디오 신호(201)로부터 스타일/운율 정보를 분리함-; 그리고
    텍스트 인코더(210)를 사용하여, 상기 입력 텍스트 시퀀스(206)를 상기 인코딩된 텍스트 시퀀스(219)로 인코딩하는 동작을 더 포함하는 것을 특징으로 하는 컴퓨터로 구현되는 방법.
  8. 제7항에 있어서,
    상기 잔차 인코더(180)는 글로벌 변량 자동인코더(VAE)를 포함하고; 그리고
    기준 오디오 신호(201)를 변량 임베딩(220)으로 인코딩하는 동작은,
    상기 기준 오디오 신호(201)로부터 상기 기준 멜-주파수 스펙트로그램 시퀀스(202)를 샘플링하는 동작; 그리고
    상기 글로벌 VAE를 사용하여, 상기 기준 멜-주파수 스펙트로그램 시퀀스(202)를 상기 변량 임베딩(220)으로 인코딩하는 동작을 포함하는 것을 특징으로 하는 컴퓨터로 구현되는 방법.
  9. 제7항에 있어서,
    상기 잔차 인코더(180)는 음소 레벨 세부화 VAE(phoneme-level fine-grained Variational Autoencoder)를 포함하고; 그리고
    상기 기준 오디오 신호(201)를 변량 임베딩(220)으로 인코딩하는 동작은,
    상기 기준 오디오 신호(201)로부터 상기 기준 멜-주파수 스펙트로그램 시퀀스(202)를 샘플링하는 동작;
    상기 입력 텍스트 시퀀스(206)로부터 추출된 음소 시퀀스의 각 음소와 상기 기준 멜-주파수 스펙트로그램 시퀀스(202)를 정렬하는 동작; 그리고
    상기 기준 멜-주파수 스펙트로그램 시퀀스(202)를 음소 시퀀스의 각 음소와 정렬하는 것에 기초하여, 상기 음소 레벨 세부화 VAE를 사용하여 음소 레벨 변량 임베딩 시퀀스(220)를 인코딩하는 동작을 포함하는 것을 특징으로 하는 컴퓨터로 구현되는 방법.
  10. 제7항 내지 제9항 중 어느 한 항에 있어서, 상기 잔차 인코더(180)는 경량 콘볼루션(LConv) 블록(420)의 스택을 포함하고, 상기 LConv 블록(420)의 스택의 각 LConv 블록(420)은,
    게이트 선형 유닛(GLU) 계층(502);
    상기 GLU 계층(502)의 출력을 수신하도록 구성된 LConv 계층(504);
    상기 LConv 계층(504)의 출력을 상기 GLU 계층(502)에 대한 입력과 연결하도록 구성된 잔차 연결(residual connection); 그리고
    상기 LConv 계층(504)의 출력을 상기 GLU 계층(502)에 대한 입력과 연결하는 잔차 연결을 입력으로서 수신하도록 구성된 최종 피드포워드 계층을 포함하는 것을 특징으로 하는 컴퓨터로 구현되는 방법.
  11. 제7항 내지 제10항 중 어느 한 항에 있어서, 상기 동작들은,
    상기 인코딩된 텍스트 시퀀스(219), 변량 임베딩(220), 및 기준 오디오 신호를 발화한 기준 화자의 ID(identity)를 나타내는 기준 화자 임베딩(201)을 연결하는 동작; 그리고
    입력으로서, 상기 인코딩된 텍스트 시퀀스(219), 변량 임베딩(220) 및 기준 화자 임베딩의 연결을 수신하는 상기 지속시간 모델 네트워크(230)에 기초하여 상기 시퀀스 표현(224)을 생성하는 동작을 더 포함하는 것을 특징으로 하는 컴퓨터로 구현되는 방법.
  12. 제7항 내지 제11항 중 어느 한 항에 있어서,
    상기 입력 텍스트 시퀀스(206)는 음소 시퀀스를 포함하고; 그리고
    상기 입력 텍스트 시퀀스(206)를 상기 인코딩된 텍스트 시퀀스(219)로 인코딩하는 동작은,
    음소 룩업 테이블로부터, 상기 음소 시퀀스의 각 음소에 대한 각각의 임베딩(207)을 수신하는 동작;
    상기 음소 시퀀스의 각 음소에 대해, 텍스트 인코더(210)의 인코더 프리넷 신경망을 사용하여, 각각의 임베딩(207)을 프로세싱하여 음소의 각각의 변환된 임베딩(209)을 생성하는 동작;
    컨볼루션 블록 뱅크를 사용하여, 상기 각각의 변환된 임베딩(209)을 프로세싱하여 컨볼루션 출력(213)을 생성하는 동작; 그리고
    셀프-어텐션 블록의 스택을 사용하여, 상기 컨볼루션 출력(213)을 프로세싱하여 상기 인코딩된 텍스트 시퀀스(219)를 생성하는 동작을 포함하는 것을 특징으로 하는 컴퓨터로 구현되는 방법.
  13. 제1항 내지 제12항 중 어느 한 항에 있어서, 상기 셀프-어텐션 블록의 스택의 각 셀프-어텐션 블록은 동일한 LConv(Lightweight Convolution) 블록을 포함하는 것을 특징으로 하는 컴퓨터로 구현되는 방법.
  14. 제1항 내지 제13항 중 어느 한 항에 있어서, 셀프-어텐션 블록의 스택의 각 셀프-어텐션 블록은 동일한 변환기 블록을 포함하는 것을 특징으로 하는 컴퓨터로 구현되는 방법.
  15. 비-자기회귀적 TTS(text-to-speech) 모델(300)을 트레이닝하기 위한 시스템(100)으로서,
    데이터 프로세싱 하드웨어(122); 그리고
    상기 데이터 프로세싱 하드웨어(122)와 통신하는 메모리 하드웨어(124)를 포함하며, 상기 메모리 하드웨어(124)는 데이터 프로세싱 하드웨어(122)에 의해 실행될 때 데이터 프로세싱 하드웨어(122)로 하여금 동작들을 수행하게 하는 명령어를 저장하며, 상기 동작들은,
    변량 임베딩(220)과 연결된 인코딩된 텍스트 시퀀스(219)의 시퀀스 표현(224)을 획득하는 동작;
    지속시간 모델 네트워크(230)를 사용하여:
    상기 시퀀스 표현(224)에 기초하여, 상기 인코딩된 텍스트 시퀀스(219)에 의해 표현되는 각 음소에 대한 음소 지속시간(240)을 예측하는 동작;
    상기 예측된 음소 지속시간(240)에 기초하여:
    상기 시퀀스 표현(224)에 따라 조건화된 제1 함수(244)를 사용하여 간격 표현 행렬을 학습하는 동작; 그리고
    상기 시퀀스 표현(224)에 따라 조건화된 제2 함수(248)를 사용하여 보조 어텐션 컨텍스트 표현을 학습하는 동작;
    상기 간격 표현 및 상기 보조 어텐션 컨텍스트 표현을 사용하여, 상기 시퀀스 표현(224)을 프레임 수를 지정하는 업샘플링된 출력(258)으로 업샘플링하는 동작; 그리고
    상기 업샘플링된 출력(258)에 기초하여, 하나 이상의 셀프-어텐션 블록의 스택을 포함하는 스펙트로그램 디코더(260)로부터의 출력으로서, 상기 인코딩된 텍스트 시퀀스(219)에 대한 하나 이상의 예측된 멜-주파수 스펙트로그램 시퀀스(302)를 생성하는 동작;
    상기 하나 이상의 예측된 멜-주파수 스펙트로그램 시퀀스(302) 및 기준 멜-주파수 스펙트로그램 시퀀스(202)에 기초하여 최종 스펙트로그램 손실(280)을 결정하는 동작; 그리고
    상기 최종 스펙트로그램 손실(280)에 기초하여 TTS 모델(300)을 트레이닝하는 동작을 포함하는 것을 특징으로 하는 시스템.
  16. 제15항에 있어서, 상기 제1 함수(244) 및 제2 함수(248)는 각각 다층 인식 기반 학습 가능 함수를 포함하는 것을 특징으로 하는 시스템.
  17. 제15항 또는 제16항에 있어서, 상기 동작들은,
    예측된 음소 지속시간(240) 및 평균 음소 지속시간(240)에 기초하여 글로벌 음소 지속시간 손실(241)을 결정하는 동작을 더 포함하고,
    상기 TTS 모델(300)의 트레이닝은 상기 글로벌 음소 지속시간 손실(241)에 더 기초하는 것을 특징으로 하는 시스템.
  18. 제17항에 있어서, 최종 스펙트로그램 손실(280) 및 글로벌 음소 지속시간 손실(241)에 기초하여 TTS 모델(300)을 트레이닝하는 것은,
    외부 정렬기로부터 추출된 지도된(supervised) 음소 지속시간 라벨을 사용하지 않고 각 음소에 대한 음소 지속시간(240)을 예측하도록 지속시간 모델 네트워크(230)를 트레이닝하는 것을 포함하는 것을 특징으로 하는 시스템.
  19. 제15항 내지 제18항 중 어느 한 항에 있어서, 상기 동작들은, 상기 지속시간 모델 네트워크(230)를 사용하여:
    상기 예측된 음소 지속시간(240)에 기초하여, 상기 인코딩된 텍스트 시퀀스(219)에 의해 표현되는 각 음소에 대해 각각의 시작 및 종료 경계를 생성하는 동작;
    상기 인코딩된 텍스트 시퀀스(219)에 의해 표현되는 음소의 개수와 상기 기준 멜-주파수 스펙트로그램 시퀀스(202)의 기준 프레임의 개수에 기초하여, 각 음소에 대해 생성된 상기 각각의 시작 및 종료 경계를 각각의 그리드 행렬(243)에 매핑하는 동작을 더 포함하며,
    상기 간격 표현을 학습하는 것은 상기 시작 및 종료 경계로부터 매핑된 각각의 그리드 행렬(243)에 기초하고; 그리고
    상기 보조 어텐션 컨텍스트 표현을 학습하는 것은 상기 시작 및 종료 경계로부터 매핑된 각각의 그리드 행렬(243)에 기초하는 것을 특징으로 하는 시스템.
  20. 제15항 내지 제19항 중 어느 한 항에 있어서, 상기 시퀀스 표현(224)을 업샘플링된 출력(258)으로 업샘플링하는 동작은,
    상기 간격 표현 행렬과 시퀀스 표현(224)의 곱을 결정하는 동작;
    상기 보조 어텐션 컨텍스트 표현과 상기 간격 표현 행렬의 아인슈타인 합산(아인섬)을 결정하는 동작; 그리고
    상기 간격 표현 행렬과 시퀀스 표현(224)의 곱과 아인섬의 프로젝션을 합산하여 상기 업샘플링된 출력을 생성하는 동작을 포함하는 것을 특징으로 하는 시스템.
  21. 제15항 내지 제20항 중 어느 한 항에 있어서, 상기 동작들은,
    기준 오디오 신호(201) 및 해당 입력 텍스트 시퀀스(206)를 포함하는 트레이닝 데이터를 수신하는 동작 -상기 기준 오디오 신호(201)는 음성 발화를 포함하고 그리고 상기 입력 텍스트 시퀀스(206)는 상기 기준 오디오 신호(201)의 전사에 대응함-;
    잔차 인코더(180)를 사용하여, 상기 기준 오디오 신호(201)를 변량 임베딩(220)으로 인코딩하는 동작 -상기 변량 임베딩(220)은 상기 기준 오디오 신호(201)로부터 스타일/운율 정보를 분리함-; 그리고
    텍스트 인코더(210)를 사용하여, 상기 입력 텍스트 시퀀스(206)를 상기 인코딩된 텍스트 시퀀스(219)로 인코딩하는 동작을 더 포함하는 것을 특징으로 하는 시스템.
  22. 제21항에 있어서,
    상기 잔차 인코더(180)는 글로벌 변량 자동인코더(VAE)를 포함하고; 그리고
    기준 오디오 신호(201)를 변량 임베딩(220)으로 인코딩하는 동작은,
    상기 기준 오디오 신호(201)로부터 상기 기준 멜-주파수 스펙트로그램 시퀀스(202)를 샘플링하는 동작; 그리고
    상기 글로벌 VAE를 사용하여, 상기 기준 멜-주파수 스펙트로그램 시퀀스(202)를 상기 변량 임베딩(220)으로 인코딩하는 동작을 포함하는 것을 특징으로 하는 시스템.
  23. 제21항에 있어서,
    상기 잔차 인코더(180)는 음소 레벨 세부화 VAE(phoneme-level fine-grained Variational Autoencoder)를 포함하고; 그리고
    상기 기준 오디오 신호(201)를 변량 임베딩(220)으로 인코딩하는 동작은,
    상기 기준 오디오 신호(201)로부터 상기 기준 멜-주파수 스펙트로그램 시퀀스(202)를 샘플링하는 동작;
    상기 입력 텍스트 시퀀스(206)로부터 추출된 음소 시퀀스의 각 음소와 상기 기준 멜-주파수 스펙트로그램 시퀀스(202)를 정렬하는 동작; 그리고
    상기 기준 멜-주파수 스펙트로그램 시퀀스(202)를 음소 시퀀스의 각 음소와 정렬하는 것에 기초하여, 상기 음소 레벨 세부화 VAE를 사용하여 음소 레벨 변량 임베딩 시퀀스(220)를 인코딩하는 동작을 포함하는 것을 특징으로 하는 시스템.
  24. 제21항 내지 제23항 중 어느 한 항에 있어서, 상기 잔차 인코더(180)는 경량 콘볼루션(LConv) 블록(420)의 스택을 포함하고, 상기 LConv 블록(420)의 스택의 각 LConv 블록(420)은,
    게이트 선형 유닛(GLU) 계층(502);
    상기 GLU 계층(502)의 출력을 수신하도록 구성된 LConv 계층(504);
    상기 LConv 계층(504)의 출력을 상기 GLU 계층(502)에 대한 입력과 연결하도록 구성된 잔차 연결(residual connection); 그리고
    상기 LConv 계층(504)의 출력을 상기 GLU 계층(502)에 대한 입력과 연결하는 잔차 연결을 입력으로서 수신하도록 구성된 최종 피드포워드 계층을 포함하는 것을 특징으로 하는 시스템.
  25. 제21항 내지 제24항 중 어느 한 항에 있어서, 상기 동작들은,
    상기 인코딩된 텍스트 시퀀스(219), 변량 임베딩(220), 및 기준 오디오 신호를 발화한 기준 화자의 ID(identity)를 나타내는 기준 화자 임베딩(201)을 연결하는 동작; 그리고
    입력으로서, 상기 인코딩된 텍스트 시퀀스(219), 변량 임베딩(220) 및 기준 화자 임베딩의 연결을 수신하는 상기 지속시간 모델 네트워크(230)에 기초하여 상기 시퀀스 표현(224)을 생성하는 동작을 더 포함하는 것을 특징으로 하는 시스템.
  26. 제21항 내지 제25항 중 어느 한 항에 있어서,
    상기 입력 텍스트 시퀀스(206)는 음소 시퀀스를 포함하고; 그리고
    상기 입력 텍스트 시퀀스(206)를 상기 인코딩된 텍스트 시퀀스(219)로 인코딩하는 동작은,
    음소 룩업 테이블로부터, 상기 음소 시퀀스의 각 음소에 대한 각각의 임베딩(207)을 수신하는 동작;
    상기 음소 시퀀스의 각 음소에 대해, 텍스트 인코더(210)의 인코더 프리넷 신경망을 사용하여, 각각의 임베딩(207)을 프로세싱하여 음소의 각각의 변환된 임베딩(209)을 생성하는 동작;
    컨볼루션 블록 뱅크를 사용하여, 상기 각각의 변환된 임베딩(209)을 프로세싱하여 컨볼루션 출력(213)을 생성하는 동작; 그리고
    셀프-어텐션 블록의 스택을 사용하여, 상기 컨볼루션 출력(213)을 프로세싱하여 상기 인코딩된 텍스트 시퀀스(219)를 생성하는 동작을 포함하는 것을 특징으로 하는 시스템.
  27. 제21항 내지 제26항 중 어느 한 항에 있어서, 상기 셀프-어텐션 블록의 스택의 각 셀프-어텐션 블록은 동일한 LConv(Lightweight Convolution) 블록을 포함하는 것을 특징으로 하는 시스템.
  28. 제21항 내지 제27항 중 어느 한 항에 있어서, 셀프-어텐션 블록의 스택의 각 셀프-어텐션 블록은 동일한 변환기 블록을 포함하는 것을 특징으로 하는 시스템.
KR1020237034860A 2021-03-22 2021-05-20 비지도 병렬 타코트론 비-자기회귀 및 제어 가능한 TTS(text-to-speech) KR20230156121A (ko)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US202163164503P 2021-03-22 2021-03-22
US63/164,503 2021-03-22
PCT/US2021/033310 WO2022203699A1 (en) 2021-03-22 2021-05-20 Unsupervised parallel tacotron non-autoregressive and controllable text-to-speech

Publications (1)

Publication Number Publication Date
KR20230156121A true KR20230156121A (ko) 2023-11-13

Family

ID=76444631

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020237034860A KR20230156121A (ko) 2021-03-22 2021-05-20 비지도 병렬 타코트론 비-자기회귀 및 제어 가능한 TTS(text-to-speech)

Country Status (6)

Country Link
US (2) US11823656B2 (ko)
EP (1) EP4295353A1 (ko)
JP (1) JP2024510679A (ko)
KR (1) KR20230156121A (ko)
CN (1) CN117043855A (ko)
WO (1) WO2022203699A1 (ko)

Families Citing this family (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
GB2575423B (en) * 2018-05-11 2022-05-04 Speech Engineering Ltd Computer implemented method and apparatus for recognition of speech patterns and feedback
US11830476B1 (en) * 2021-06-08 2023-11-28 Amazon Technologies, Inc. Learned condition text-to-speech synthesis
US20230099732A1 (en) * 2021-09-30 2023-03-30 Microsoft Technology Licensing, Llc Computing system for domain expressive text to speech
US11869483B2 (en) * 2021-10-07 2024-01-09 Nvidia Corporation Unsupervised alignment for text to speech synthesis using neural networks
CN115547362B (zh) * 2022-10-24 2024-05-10 中国航空综合技术研究所 基于梅尔谱图分解和神经网络融合进行疲劳度检测的方法
CN116072098B (zh) * 2023-02-07 2023-11-14 北京百度网讯科技有限公司 音频信号生成方法、模型训练方法、装置、设备和介质
CN116564276A (zh) * 2023-04-23 2023-08-08 内蒙古工业大学 一种基于双判别器生成对抗网络的蒙古语语音识别方法
CN116825130B (zh) * 2023-08-24 2023-11-21 硕橙(厦门)科技有限公司 一种深度学习模型蒸馏方法、装置、设备及介质
CN117351324B (zh) * 2023-12-04 2024-03-01 支付宝(杭州)信息技术有限公司 通过神经网络模型进行文档图像处理的方法及装置
CN117649839B (zh) * 2024-01-29 2024-04-19 合肥工业大学 一种基于低秩适应的个性化语音合成方法
CN117809621A (zh) * 2024-02-29 2024-04-02 暗物智能科技(广州)有限公司 一种语音合成方法、装置、电子设备及存储介质

Family Cites Families (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10872598B2 (en) * 2017-02-24 2020-12-22 Baidu Usa Llc Systems and methods for real-time neural text-to-speech
US10319364B2 (en) * 2017-05-18 2019-06-11 Telepathy Labs, Inc. Artificial intelligence-based text-to-speech system and method
US10896669B2 (en) * 2017-05-19 2021-01-19 Baidu Usa Llc Systems and methods for multi-speaker neural text-to-speech
US11017761B2 (en) * 2017-10-19 2021-05-25 Baidu Usa Llc Parallel neural text-to-speech
US11264010B2 (en) * 2018-05-11 2022-03-01 Google Llc Clockwork hierarchical variational encoder
CN111739508B (zh) * 2020-08-07 2020-12-01 浙江大学 一种基于dnn-hmm双模态对齐网络的端到端语音合成方法及系统
JP2022081790A (ja) * 2020-11-20 2022-06-01 株式会社日立製作所 音声合成装置、音声合成方法、および音声合成プログラム

Also Published As

Publication number Publication date
WO2022203699A1 (en) 2022-09-29
US20220301543A1 (en) 2022-09-22
US20240062743A1 (en) 2024-02-22
JP2024510679A (ja) 2024-03-08
EP4295353A1 (en) 2023-12-27
US11823656B2 (en) 2023-11-21
CN117043855A (zh) 2023-11-10

Similar Documents

Publication Publication Date Title
KR20230156121A (ko) 비지도 병렬 타코트론 비-자기회귀 및 제어 가능한 TTS(text-to-speech)
KR102579843B1 (ko) 표현 E2E(end-to-end) 음성 합성에서의 변동 임베딩 용량
US11837216B2 (en) Speech recognition using unspoken text and speech synthesis
KR102616214B1 (ko) E2E(End-to-end) 음성 합성 시스템에서 표현력 제어
US20230064749A1 (en) Two-Level Speech Prosody Transfer
US11908448B2 (en) Parallel tacotron non-autoregressive and controllable TTS
KR102625184B1 (ko) 고유 음성 사운드를 생성하기 위한 음성 합성 트레이닝
US11842728B2 (en) Training neural networks to predict acoustic sequences using observed prosody info
JP2023041867A (ja) デリバレーションモデルベースの2パスのエンド・ツー・エンド音声認識
US11475874B2 (en) Generating diverse and natural text-to-speech samples
US20240087558A1 (en) Methods and systems for modifying speech generated by a text-to-speech synthesiser
US11960852B2 (en) Robust direct speech-to-speech translation
WO2023288169A1 (en) Two-level text-to-speech systems using synthetic training data

Legal Events

Date Code Title Description
A201 Request for examination