KR20220004721A - 표현 E2E(end-to-end) 음성 합성에서의 변동 임베딩 용량 - Google Patents

표현 E2E(end-to-end) 음성 합성에서의 변동 임베딩 용량 Download PDF

Info

Publication number
KR20220004721A
KR20220004721A KR1020217039293A KR20217039293A KR20220004721A KR 20220004721 A KR20220004721 A KR 20220004721A KR 1020217039293 A KR1020217039293 A KR 1020217039293A KR 20217039293 A KR20217039293 A KR 20217039293A KR 20220004721 A KR20220004721 A KR 20220004721A
Authority
KR
South Korea
Prior art keywords
embedding
capacity
variable
encoder
adjustable
Prior art date
Application number
KR1020217039293A
Other languages
English (en)
Other versions
KR102579843B1 (ko
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 KR20220004721A publication Critical patent/KR20220004721A/ko
Application granted granted Critical
Publication of KR102579843B1 publication Critical patent/KR102579843B1/ko

Links

Images

Classifications

    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10LSPEECH ANALYSIS OR SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING; SPEECH OR AUDIO CODING OR DECODING
    • G10L13/00Speech synthesis; Text to speech systems
    • G10L13/02Methods for producing synthetic speech; Speech synthesisers
    • G10L13/033Voice editing, e.g. manipulating the voice of the synthesiser
    • 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
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/04Architecture, e.g. interconnection topology
    • G06N3/044Recurrent networks, e.g. Hopfield networks
    • G06N3/0445
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/04Architecture, e.g. interconnection topology
    • G06N3/045Combinations of networks
    • G06N3/0454
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/04Architecture, e.g. interconnection topology
    • G06N3/047Probabilistic or stochastic networks
    • G06N3/0472
    • 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/048Activation functions
    • 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/084Backpropagation, e.g. using gradient descent
    • G06N7/005
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N7/00Computing arrangements based on specific mathematical models
    • G06N7/01Probabilistic graphical models, e.g. probabilistic networks
    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10LSPEECH ANALYSIS OR SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING; 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 OR SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING; 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
    • G10L13/10Prosody rules derived from text; Stress or intonation
    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10LSPEECH ANALYSIS OR SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING; 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

Abstract

임베딩 용량을 추정하기 위한 방법(1000)은, 결정론적 기준 인코더(500)에서, 기준 오디오 신호(412)를 수신하는 단계, 그리고 기준 오디오 신호에 대응하는 기준 임베딩(550, 650)을 결정하는 단계를 포함하며, 기준 임베딩은 해당 임베딩 차원을 갖는다. 방법은 또한 기준 임베딩의 해당 임베딩 차원의 함수로서 제1 재구성 손실을 측정하는 단계 및 변동 사후분포로부터 변동 임베딩을 획득하는 단계(420)를 포함한다. 변동 임베딩에는 해당 임베딩 차원과 지정된 용량을 갖는다. 방법은 또한, 상기 변동 임베딩의 해당 임베딩 차원의 함수로서의 제2 재구성 손실을 측정하는 단계; 그리고 기준 임베딩에 대한 측정된 제1 재구성 손실을 지정된 용량을 갖는 변동 임베딩에 대한 측정된 제2 재구성 손실과 비교함으로써 기준 임베딩의 용량을 추정하는 단계를 포함한다.

Description

표현 E2E(end-to-end) 음성 합성에서의 변동 임베딩 용량
본 개시는 표현 E2E 음성 합성에서 변동 임베딩 용량의 효과적인 사용에 관한 것이다.
신경망은 수신된 입력에 대한 출력을 예측하기 위해 비선형 유닛의 하나 이상의 계층(레이어)을 사용하는 기계 학습 모델이다. 예를 들어, 신경망은 입력 텍스트를 출력 음성으로 변환할 수 있다. 일부 신경망에는 출력층 이외에 하나 이상의 은닉층이 포함된다. 각각의 은닉층의 출력은 네트워크(신경망) 내의 다음 은닉층 또는 출력층의 다음 계층에 대한 입력으로서 사용된다. 네트워크의 각 계층은 각각의 파라미터 세트의 현재 값에 따라 수신된 입력으로부터 출력을 생성한다.
일부 신경망은 순환 신경망이다. 순환 신경망은 입력 시퀀스를 수신하고 입력 시퀀스로부터 출력 시퀀스를 생성하는 신경망이다. 특히, 순환 신경망은 현재 시간 단계에서 출력을 계산할 때 이전 시간 단계에서 네트워크의 일부 또는 전부를 사용할 수 있다. 순환 신경망의 예는 하나 이상의 LSTM 메모리 블록을 포함하는 긴 단기(LSTM: long short term) 신경망이다. 각각의 LSTM 메모리 블록은 하나 이상의 셀을 포함하며, 각 셀은 입력 게이트, 망각(forget) 게이트, 출력 게이트를 포함할 수 있으며, 출력 게이트는 예를 들어 현재 활성화를 생성하는 데 사용하거나 LSTM 신경망의 다른 컴포넌트에 제공하기 위해 셀에 대한 이전 상태를 셀이 저장할 수 있게 한다.
본 개시의 일 양태는 임베딩 용량을 추정하기 위한 방법을 제공하며, 방법은, 데이터 처리 하드웨어에서 실행하는 결정론적 기준 인코더에서 기준 오디오 신호를 수신하고, 데이터 처리 하드웨어에 의해 기준 오디오 신호에 대응하는 기준 임베딩을 결정하는 단계를 포함한다. 기준 임베딩에는 해당 임베딩 차원이 있다. 방법은, 데이터 처리 하드웨어에 의해, 기준 임베딩의 해당 임베딩 차원의 함수로서 제1 재구성 손실을 측정하고, 데이터 처리 하드웨어에 의해 변동 사후(variational posterior)로부터 변동 임베딩(variational embedding)을 획득하는 단계를 포함한다. 변동 임베딩에는 해당 임베딩 차원과 지정된 용량이 있다. 방법은, 데이터 처리 하드웨어에 의해, 변동 임베딩의 해당 임베딩 차원의 함수로서 제2 재구성 손실을 측정하고, 데이터 처리 하드웨어에 의해, 기준 임베딩에 대한 측정된 제1 재구성 손실을 지정된 용량을 갖는 변동 임베딩에 대한 측정된 제2 재구성 손실과 비교함으로써 기준 임베딩의 용량을 추정하는 단계를 포함한다.
본 개시의 구현은 다음의 선택적인 특징들 중 하나 이상을 포함할 수 있다. 일부 구현에서, 기준 임베딩은 하이퍼볼릭탄젠트(tanh) 비선형성 프로소디 임베딩을 포함한다. 기준 임베딩은 소프트맥스 비선형성 프로소디 임베딩을 포함할 수 있다. 기준 임베딩은 스타일 임베딩을 포함할 수 있다. 일부 예들에서, 기준 임베딩의 추정된 용량은 제1 및 제2 측정된 재구성 손실들이 서로 일치할 때 변동 임베딩의 용량과 실질적으로 동일하다.
일부 예에서, 변동 임베딩의 지정된 용량은 변동 사후의 조정 가능한 변동 바운드(variational bound)에 기초한다. 이러한 예에서, 조정 가능한 변동 바운드는 변동 임베딩에 대한 상한(upper bound)을 제공하는 조정 가능한 KL 항을 포함할 수 있다. 선택적으로, 조정 가능한 변동 바운드는 변동 임베딩에 대한 상한을 제공하는 조정 가능한(가변형(tunable)) KL 가중치를 포함할 수 있다. 조정 가능한 변동 바운드를 증가시키는 것은 변동 임베딩의 지정된 용량이 증가시키는 것을 포함하는 반면 조정 가능한 변동 바운드를 감소시키키는 것은 변동 임베딩의 지정된 용량이 감소시키는 것을 포함할 수 있다.
본 개시물의 다른 양태는 임베딩 용량을 추정하기 위한 시스템을 제공한다. 시스템은, 데이터 처리 하드웨어 및 데이터 처리 하드웨어와 통신하는 메모리 하드웨어를 포함하며, 상기 메모리 하드웨어는 데이터 처리 하드웨어에서 실행될 때 데이터 처리 하드웨어로 하여금 동작들을 수행하게 하는 명령어를 저장한다. 동작들은 결정론적 기준 인코더에서 기준 오디오 신호를 수신하는 동작 및 기준 오디오 신호에 대응하는 기준 임베딩을 결정하는 동작을 포함한다. 기준 임베딩에는 해당 임베딩 차원이 있다. 동작들은 또한 기준 임베딩의 해당 임베딩 차원의 함수로서 제1 재구성 손실을 측정하는 동작, 및 변동 사후(variational posterior)로부터 변동 임베딩을 획득하는 동작을 포함한다. 변동 임베딩에는 해당 임베딩 차원과 지정된 용량이 있다. 동작들은, 변동 임베딩의 해당 임베딩 차원의 함수로서 제2 재구성 손실을 측정하는 동작; 기준 임베딩에 대한 측정된 제1 재구성 손실을 지정된 용량을 갖는 변동 임베딩에 대한 측정된 제2 재구성 손실과 비교함으로써 기준 임베딩)의 용량을 추정하는 동작을 포함할 수 있다.
이 양태는 다음과 같은 선택적 기능 중 하나 이상을 포함할 수 있다. 일부 구현에서, 기준 임베딩은 하이퍼볼릭탄젠트 비선형성 프로소디 임베딩을 포함한다. 기준 임베딩은 소프트맥스 비선형성 프로소디 임베딩을 포함할 수 있다. 기준 임베딩은 스타일 임베딩을 포함할 수 있다. 일부 예들에서, 기준 임베딩의 추정된 용량은 제1 및 제2 측정된 재구성 손실들이 서로 일치할 때 변동 임베딩의 용량과 실질적으로 동일하다.
일부 예에서, 변동 임베딩의 지정된 용량은 변동 사후의 조정 가능한 변동 바운드에 기초한다. 이러한 예에서, 조정 가능한 변동 바운드는 변동 임베딩에 대한 상한을 제공하는 조정 가능한 KL 항을 포함할 수 있다. 선택적으로, 조정 가능한 변동 바운드는 변동 임베딩에 대한 상한을 제공하는 조정 가능한 KL 가중치를 포함할 수 있다. 조정 가능한 변동 바운드를 증가시키는 것은 변동 임베딩의 지정된 용량을 증가시키는 반면 조정 가능한 변동 바운드를 감소시키는 것은 변동 임베딩의 지정된 용량을 감소시킨다.
본 개시내용의 하나 이상의 구현의 세부사항은 첨부 도면 및 아래의 설명에 기재되어 있다. 다른 양태, 특징 및 이점은 설명 및 도면, 그리고 청구범위로부터 명백할 것이다.
도 1은 예시적인 텍스트-음성 변환 시스템의 개략도이다.
도 2는 예시적인 CBHG 신경망의 개략도이다.
도 3은 입력 텍스트로부터 음성을 합성하기 위한 동작의 예시적인 배열이다.
도 4는 프로소디 및 스타일을 제어 및 전달하기 위한 예시적인 변동 오토인코더(variational autoencoder)의 개략도이다.
도 5는 프로소디를 전달하기 위한 예시적인 결정론적 기준 인코더의 개략도이다.
도 6은 결정론적 기준 인코더 및 스타일을 전달하기 위한 스타일 레이어를 포함하는 예시적인 휴리스틱 기반 모델(heuristic-based model)의 개략도이다.
도 7a 및 7b는 결정론적 임베딩에 대한 임베딩 차원에 대한 재구성 손실을 도시하는 예시적인 플롯이다.
도 8a-8c는 조건부 종속성을 입력으로 사용하는 참 및 변동 사후를 보여준다.
도 9a 및 9b는 조건부 종속성을 입력으로 사용하고 나머지 변동의 샘플링을 가능하게 하기 위해 변동 임베딩에 존재하는 변동의 일부가 지정되도록 하는 참 및 변동 사후를 보여준다.
도 10은 기준 임베딩의 용량을 추정하는 방법에 대한 예시적인 동작 배열의 흐름도이다.
도 11은 변동 임베딩의 특정 용량을 타겟팅하는 방법에 대한 예시적인 동작 배열의 흐름도이다.
도 12는 합성된 음성이 주어진 스타일에 대해 어떻게 들리는지 변경하기 위해 변동 임베딩과 관련된 계층적 분수(hierarchical fractions)를 샘플링하는 흐름도이다.
도 13은 본 명세서에 설명된 시스템 및 방법을 구현하는 데 사용될 수 있는 예시적인 컴퓨팅 장치의 개략도이다.
다양한 도면에서 동일한 참조 부호는 동일한 요소를 나타낸다.
사실적 인간 음성의 합성은 동일한 텍스트 입력이 무한한 수의 합리적인 구어 실현을 갖는다는 점에서 과소 결정된 문제이다. E2E(End-to-end) 신경망 기반 접근 방식은 짧은 어시스턴트와 같은 발화에 대한 인간의 수행과 일치하도록 발전하고 있지만, 신경망 모델은 각각 정제된 언어 또는 음성 표현에서 작동하는 여러 처리 단계를 포함하는 기존 모델보다 해석 가능성이 낮거나 제어할 수 없는 것으로 간주되는 경우가 있다. 따라서, 본 명세서의 구현은 합성 음성(synthesized speech)의 잔여 가변성(변동성)을 확률적으로 모델링 및/또는 직접 제어할 수 있는 E2E 모델을 생성하는 것에 관한 것이다.
가변성의 근원에는 화자 및 채널 특성뿐만 아니라 억양, 강세, 리듬 및 스타일의 프로소디적(prosodic) 특성이 포함된다. 구어(음성 발화)의 프로소디적 특성은 어휘 표현(예: 발화의 전사)에 있는 것 이상으로 언어적, 의미론적, 정서적 의미를 전달한다. 이러한 특성을 한 발화에서 다른 발화로 전송할 수 있는 기능을 제공하면 사용자가 복잡한 음향 또는 언어 파라미터를 손으로 조작할 필요 없이 자신의 음성(예: "say it like this(이렇게 말해봐)")을 사용하여 합성된 음성 사운드를 제어할 수 있다. 본 명세서의 구현은 또한 사용자가 자연어에 존재하는 다양성을 경험할 수 있도록 하기 위해 발화의 프로소디적 실현에 대한 분포로부터 샘플링을 가능하게 하는 방법에 관한 것이다. 여기의 구현에는 다음이 포함될 수 있다.
도 1에 도시된 바와 같이, 일부 구현들에서, 예시적인 텍스트-음성(TTS: text-to-speech) 변환 시스템(100)은 입력으로서 입력 텍스트(Input Text Sequence)(104)를 수신하고 출력으로서 음성(120)를 생성하기 위해 입력 텍스트(104)를 처리하도록 구성된 서브시스템(102)을 포함한다. 입력 텍스트(104)는 특정 자연 언어로 된 일련의 문자를 포함한다. 문자 시퀀스에는 알파벳 문자, 숫자, 구두점 및/또는 기타 특수 문자가 포함될 수 있다. 입력 텍스트(104)는 다양한 길이의 문자들의 시퀀스일 수 있다. 텍스트-음성 변환 시스템(100)은 하나 이상의 위치에 있는 하나 이상의 컴퓨터에서 컴퓨터 프로그램으로 구현되는 시스템의 예이며, 여기에서 아래에 설명된 시스템, 컴포넌트 및 기술이 구현될 수 있다. 예를 들어, 시스템(100)은 도 13의 컴퓨터 시스템(1300) 상에서 실행될 수 있다.
시스템(100)은 사용자가 합성된 음성으로의 변환을 위해 텍스트(104)를 입력하고 및/또는 자신의 음성을 사용하여 기준 음성(412)(도 4)을 제공할 수 있게 하는 사용자 인터페이스(105)를 포함할 수 있으므로, 기준 음성과 연관된 변동 임베딩이 입력 텍스트 사운드로부터 음성이 합성되는 방법을 제어할 수 있다. 사용자 인터페이스(105)는 또한 사용자가 기준 음성(412)을 제공하는 사용자의 음성과 상이한 타겟 화자를 선택하게 할 수 있으므로, 합성된 음성은 타겟 화자처럼 들리지만 사용자가 발화한 기준(참조) 음성에 프로소디(prosody)/스타일이 전달되도록 한다. 사용자 인터페이스(105)는 사용자가 자연스러운 음성에 존재하는 다양성을 경험할 수 있도록 하기 위해 사용자가 발화의 프로소디적 실현에 대한 분포를 선택/샘플링하는 것을 추가로 허용할 수 있다.
입력 텍스트(104)를 처리하기 위해, 서브시스템(102)은 시퀀스-투-시퀀스(sequence-to-sequence) 순환 신경망(106)(이하 "seq2seq 네트워크(106)"), 후처리 신경망(108) 및 파형 합성기(110)를 포함하는 E2E 텍스트-음성 모델(end-to-end text-to-speech model)(150)과 상호작용하도록 구성된다.
서브시스템(102)이 특정 자연어의 문자 시퀀스를 포함하는 입력 텍스트(104)를 수신한 후, 서브시스템(102)은 seq2seq 네트워크(106)에 대한 입력으로서 문자 시퀀스를 제공한다. seq2seq 네트워크(106)는 서브시스템(102)으로부터 문자들의 시퀀스를 수신하고 특정 자연어에서 문자들의 시퀀스의 구두 발화의 스펙트로그램(spectrogram)을 생성하기 위해 문자들의 시퀀스를 처리하도록 구성된다.
특히, seq2seq 네트워크(106)는 (i) 인코더 프리-넷(pre-net) 신경망(114) 및 인코더 CBHG 신경망(116)을 포함하는 인코더 신경망(112), 및 (ii) 어텐션 기반(attention-based) 디코더 순환 신경망(118)을 포함한다. 문자 시퀀스의 각 문자는 원-핫(one-hot) 벡터로 표현되고 연속형 벡터에 포함될 수 있다. 즉, 서브시스템(102)은 시퀀스의 각 문자를 원-핫 벡터로 표시한 다음 seq2seq 네트워크(106)에 대한 입력으로 시퀀스를 제공하기 전에 문자의 임베딩, 즉 벡터 또는 숫자 값의 다른 정렬된 컬렉션을 생성할 수 있다.
인코더 프리-넷 신경망(114)은 시퀀스에서 각 문자의 각각의 임베딩을 수신하고, 캐릭터의 변환된 임베딩을 생성하기 위해 각 문자의 각각의 임베딩을 처리하도록 구성된다. 예를 들어, 인코더 프리-넷 신경망(114)은 변환된 임베딩을 생성하기 위해 각각의 임베딩에 비선형 변환(non-linear transformations) 세트를 적용할 수 있다. 일부 경우에, 인코더 프리-넷 신경망(114)은 컨버전스(convergence) 속도를 증가시키고, 훈련 동안 시스템의 일반화 능력을 개선하기 위해 드롭아웃(dropout)을 갖는 병목(bottleneck) 신경망 계층(레이어)을 포함한다.
인코더 CBHG 신경망(116)은 인코더 프리-넷 신경망(206)으로부터 변환된 임베딩을 수신하고 변환된 임베딩을 처리하여 문자 시퀀스의 인코딩된 표현을 생성하도록 구성된다. 인코더 CBHG 신경망(112)은 CBHG 신경망(200)(도 2)을 포함하고, 이는 도 2와 관련하여 아래에서 더 상세히 설명된다. 여기에 설명된 인코더 CBHG 신경망(112)의 사용은 과적합(overfitting)을 감소시킬 수 있다. 또한, 인코더 CBHB 신경망(112)은 예를 들어 다층 RNN 인코더와 비교할 때 더 적은 발음 오류(mispronunciations)를 초래할 수 있다.
어텐션 기반 디코더 순환 신경망(118)(여기서 "디코더 신경망(118)"으로 지칭됨)은 디코더 입력의 시퀀스를 수신하도록 구성된다. 시퀀스의 각 디코더 입력에 대해, 디코더 신경망(118)은 디코더 입력 및 인코더 CBHG 신경망(116)에 의해 생성된 인코딩된 표현을 처리하여 문자 시퀀스의 스펙트로그램의 다중 프레임을 생성하도록 구성된다. 즉, 각 디코더 단계에서 하나의 프레임을 생성(예측)하는 대신, 디코더 신경망(118)은 스펙트로그램의 r개 프레임을 생성하며, r은 1보다 큰 정수이다. 많은 경우에 r개의 프레임 세트 사이에는 오버랩(overlap)이 없다.
특히, 디코더 단계 t에서, 디코더 단계 t-1에서 생성된 r개의 프레임 중 적어도 마지막 프레임은 디코더 단계 t+1에서 디코더 신경망(118)에 대한 입력으로서 공급된다. 일부 구현에서, 디코더 단계 t-1에서 생성된 r개의 프레임 모두는 디코더 단계 t+1에서 디코더 신경망(118)에 대한 입력으로서 공급된다. 제1 디코더 단계에 대한 디코더 입력은 올 제로(all-zero) 프레임(즉, <GO> frame)일 수 있다. 인코딩된 표현에 대한 어텐션은 예를 들어 기존 어텐션 메커니즘을 사용하여 모든 디코더 단계에 적용된다. 디코더 신경망(118)은 주어진 디코더 단계에서 r개의 프레임을 동시에 예측하기 위해 선형 활성화(linear activation)를 갖는 완전 연결된(fully connected) 신경망 계층을 사용할 수 있다. 예를 들어, 각 프레임이 80차원(80차원) 벡터인 5개의 프레임을 예측하려면, 디코더 신경망(118)은 400-D 벡터를 예측하고 400-D 벡터를 재구성하여 5개의 프레임을 얻기 위해 선형 활성화를 갖는 완전 연결된 신경망 계층을 사용한다.
각 시간 단계에서 r개의 프레임을 생성함으로써, 디코더 신경망(118)은 디코더 단계의 총 수를 r로 나누어 모델 크기, 훈련 시간 및 추론 시간을 줄인다. 또한, 이 기술은 어텐션 메커니즘에 의해 학습된 프레임과 인코딩된 표현 사이의 정렬이 훨씬 더 빠르기 때문에(더 안정적이기 때문에) 컨버전스 속도를 상당히 증가시킨다. 이는 인접한 음성 프레임이 상관되고 각 문자가 일반적으로 여러 프레임에 해당하기 때문이다. 시간 단계에서 다수의 프레임을 방출(Emitting)하는 것은 디코더 신경망(118)이 이 품질을 활용하여 훈련 동안 인코딩된 표현에 효율적으로 어텐션하는 방법, 즉 훈련되는 방법을 빠르게 학습할 수 있게 한다.
디코더 신경망(118)은 하나 이상의 게이트 순환 유닛(gated recurrent unit) 신경망 계층을 포함할 수 있다. 컨버전스 속도를 높이기 위해 디코더 신경망(118)은 하나 이상의 수직 잔차(residual) 연결을 포함할 수 있다. 일부 구현에서, 스펙트로그램은 멜 스케일(mel-scale) 스펙트로그램과 같은 압축된 스펙트로그램이다. 예를 들어, 원시(raw) 스펙트로그램 대신 압축된 스펙트로그램을 사용하면 중복성이 줄어들어 훈련 및 추론 중에 필요한 계산이 감소할 수 있다.
후처리 신경망(108)은 압축된 스펙트로그램을 수신하고, 압축된 스펙트로그램을 처리하여 파형 합성기 입력을 생성하도록 구성된다. 압축된 스펙트로그램을 처리하기 위해, 후처리 신경망(108)은 CBHG 신경망(200)(도 2)을 포함한다. 특히, CBHG 신경망(200)은 1차원(1-D) 컨볼루션 서브네트워크, 하이웨이 네트워크, 양방향 순환 신경망을 포함한다. CBHG 신경망(200)은 하나 이상의 잔차 연결을 포함할 수 있다. 1-D 컨볼루션 서브네트워크는 1-D 컨볼루션 필터의 뱅크와 스트라이드 1이 있는 시간 계층을 따라 최대 풀링(max pooling)을 포함할 수 있다. 경우에 따라 양방향 순환 신경망은 게이트 순환 유닛 신경망이다. CBHG 신경망(200)은 도 2를 참조하여 아래에서 더 상세히 설명된다.
일부 구현에서, 후처리 신경망(108) 및 시퀀스-대-시퀀스 순환 신경망(106)은 공동으로 훈련된다. 즉, 훈련 중에 시스템(100)(또는 외부 시스템)은 동일한 신경망 훈련 기법, 예를 들어 기울기 하강법(gradient descent) 기반 훈련 기법을 사용하여 동일한 훈련 데이터 세트에 대해 후처리 신경망(108) 및 seq2seq 네트워크(106)를 훈련시킨다. 보다 구체적으로, 시스템(100)(또는 외부 시스템)은 후처리 신경망(108) 및 seq2seq 네트워크(106)의 모든 네트워크 파라미터의 현재 값을 공동으로 조정하기 위해 손실 함수의 기울기(gradient) 추정치를 역전파할 수 있다. 개별적으로 훈련되거나 사전 훈련되어야 하는 컴포넌트가 있어 각 컴포넌트의 오류가 복합될 수 있는 기존 시스템과 달리, 공동으로 훈련된 후처리 신경망(108) 및 seq2seq 네트워크(106)를 갖는 시스템이 더 로버스트(robust)하다(예: 오류가 더 적고 처음부터 훈련될 수 있음). 이러한 이점은 현실 세계에서 발견되는 풍부하고 표현력이 있지만 종종 노이즈가 많은 데이터에 대한 E2E 텍스트-음성(text-to-speech) 모델(150)의 훈련을 가능하게 한다.
파형 합성기(110)는 파형 합성기 입력을 수신하고, 파형 합성기 입력을 처리하여 특정 자연어의 문자들의 입력 시퀀스의 구두 발화 파형을 생성하도록 구성된다. 일부 구현에서 파형 합성기는 그리핀-림(Griffin-Lim) 합성기이다. 일부 다른 구현에서, 파형 합성기는 보코더(vocoder)이다. 일부 다른 구현에서, 파형 합성기는 파형 인버터에 대한 훈련 가능한 스펙트로그램이다. 파형 합성기(110)가 파형을 생성한 후, 서브시스템(102)은 파형을 사용하여 음성(120)를 생성하고, 예를 들어 사용자 디바이스 상에서의 재생을 위해 생성된 음성(120)를 제공하거나, 생성된 파형을 다른 시스템에 제공하여 다른 시스템이 음성을 생성 및 재생할 수 있도록 할 수 있다. 일부 예에서, 웨이브넷(WaveNet) 신경 보코더는 파형 합성기(110)를 대체한다. 웨이브넷 신경 보코더는 파형 합성기(110)에 의해 생성된 합성 음성과 비교하여 합성 음성의 상이한 오디오 충실도(fidelity)를 제공할 수 있다.
도 2는 예시적인 CBHG 신경망(200)을 도시한다. CBHG 신경망(200)은 인코더 CBHG 신경망(116)에 포함된 CBHG 신경망 또는 도 1의 후처리 신경망(108)에 포함된 CBHG 신경망일 수 있다. CBHG 신경망(200)은 1차원(1-D) 컨볼루션 서브네트워크(208), 하이웨이 네트워크(212), 양방향 순환 신경망(214)을 포함한다. CBHG 신경망(200)은 하나 이상의 잔차 연결, 예를 들어, 잔차 연결(210)을 포함할 수 있다.
1-D 컨볼루션 서브네트워크(208)는 1-D 컨볼루션 필터의 뱅크(204)를 포함할 수 있고, 그 다음에는 1의 스트라이드(206)로 시간 계층을 따라 최대 풀링이 뒤따른다. 1-D 컨볼루션 필터의 뱅크(204)는 1-D 컨볼루션 필터의 K 세트를 포함할 수 있으며, 여기서 k 번째 세트는 각각이 k의 컨볼루션 폭을 갖는 Ck 필터를 포함한다. 1-D 컨볼루션 서브네트워크(208)는 입력 시퀀스(202), 예를 들어 인코더 프리-넷 신경망(114)(도 1)에 의해 생성되는 문자 시퀀스의 변환된 임베딩을 수신하도록 구성된다. 서브네트워크(208)는 1-D 컨볼루션 필터(204)의 뱅크를 사용하여 입력 시퀀스(202)를 처리하여 입력 시퀀스(202)의 컨볼루션 출력을 생성한다. 그 다음 서브네트워크(208)는 컨볼루션 출력을 함께 스택(stack)하고 최대 풀링된 출력을 생성하기 위해 스트라이드(stride) 1(206)과 함께 시간 계층을 따라 최대 풀링(Max Pooling Along Time Layer)을 사용하여 스택된 컨볼루션 출력을 처리한다. 그 다음, 서브네트워크(208)는 서브네트워크(208)의 서브네트워크 출력을 생성하기 위해 하나 이상의 고정 너비(fixed-width) 1-D 컨벌루션 필터를 사용하여 최대 풀링된 출력을 처리한다.
1-D 컨볼루션 서브네트워크(208)가 서브네트워크 출력을 생성한 후, 잔차 연결(210)은 서브네트워크 출력을 원래(original) 입력 시퀀스(202)와 결합하여 컨볼루션 출력을 생성하도록 구성된다. 그 다음, 하이웨이 네트워크(212) 및 양방향 순환 신경망(214)은 문자 시퀀스의 인코딩된 표현을 생성하기 위해 컨볼루션 출력을 처리하도록 구성된다. 특히, 하이웨이 네트워크(212)는 문자 시퀀스의 고레벨(high-level) 특징 표현을 생성하기 위해 컨볼루션 출력을 처리하도록 구성된다. 일부 구현에서, 하이웨이 네트워크는 하나 이상의 완전히 연결된 신경망 계층을 포함한다.
양방향 순환 신경망(214)은 고레벨 특징 표현을 처리하여 문자 시퀀스의 순차적 특징 표현을 생성하도록 구성된다. 순차적 특징 표현은 특정 문자 주변의 문자 시퀀스의 로컬 구조를 나타낸다. 순차적 특징 표현은 특징 벡터의 시퀀스를 포함할 수 있다. 일부 구현에서, 양방향 순환 신경망은 게이트 순환 유닛 신경망이다.
훈련 동안, 1차원 컨벌루션 서브네트워크(208)의 하나 이상의 컨볼루션 필터는 배치(batch) 정규화 방법을 사용하여 훈련될 수 있으며, 이는 "S. Ioffe and C. Szegedy, Batch normalization: Accelerating deep network training by reducing internal covariate shift, arXiv preprint arXiv:1502.03167"에 설명되어 있다. 일부 구현에서, CBHG 신경망(200)의 하나 이상의 컨볼루션 필터는 비인과(non-causal) 컨볼루션 필터, 즉 주어진 시간 단계 T에서 양방향으로 주변 입력과 컨볼루션할 수 있는 컨볼루션 필터이다(예: .., T-1, T-2 및 T+1, T+2, ... 등). 대조적으로, 인과적(causal) 컨벌루션 필터는 이전 입력만 컨벌루션할 수 있다(...T-1, T-2 등). 일부 다른 구현에서, CBHG 신경망(200)의 모든 컨볼루션 필터는 비인과 컨볼루션 필터이다. 비인과 컨볼루션 필터, 배치 정규화, 잔차 연결 및 스트라이드 1과 함께 시간 계층을 따라 최대 풀링을 사용하면 입력 시퀀스에 대한 CBHG 신경망(200)의 일반화 기능이 향상되어 텍스트-음성 변환 시스템이 고품질 음성을 생성할 수 있다.
도 3은 문자들의 시퀀스로부터 음성을 생성하는 방법(300)에 대한 동작들의 예시적인 배열이다. 편의상, 프로세스(300)는 하나 이상의 위치에 위치한 하나 이상의 컴퓨터의 시스템에 의해 수행되는 것으로 설명될 것이다. 예를 들어, 텍스트-음성 변환 시스템(예를 들어, 도 1의 텍스트-음성 변환 시스템(100)) 또는 텍스트-음성 변환 시스템의 서브시스템(예를 들어, 도 1의 서브시스템(102))은 적절하게 프로그래밍되어 프로세스(300)를 수행할 수 있다.
동작(302)에서, 방법(300)은 시스템이 특정 자연 언어로 된 문자들의 시퀀스(문자 시퀀스)를 수신하는 단계를 포함하고, 동작(304)에서, 방법(300)은 특정 자연 언어의 문자 시퀀스의 구두 발화의 스펙트로그램을 출력으로서 획득하기 위해 시퀀스 대 시퀀스(seq2seq) 순환 신경망(106)에 대한 입력으로서 문자 시퀀스를 제공하는 시스템을 포함한다. 일부 구현에서, 스펙트로그램은 압축된 스펙트로그램, 예를 들어 멜 스케일 스펙트로그램이다. 특히, seq2seq 순환 신경망(106)은 인코더 프리-넷 신경망(114) 및 인코더 CBHG 신경망(116)을 포함하는 인코더 신경망(112)을 사용하여 시퀀스의 각 문자의 각각의 인코딩된 표현을 생성하기 위해 문자의 시퀀스를 처리한다.
보다 구체적으로, 문자 시퀀스의 각 문자는 원-핫(one-hot) 벡터로 표현되고 연속 벡터에 포함될 수 있다. 인코더 프리-넷 신경망(114)은 시퀀스의 각 문자의 각각의 임베딩을 수신하고 문자의 변환된 임베딩을 생성하기 위해 시퀀스의 각 문자의 각각의 임베딩을 처리한다. 예를 들어, 인코더 프리-넷 신경망(114)은 변환된 임베딩을 생성하기 위해 각각의 임베딩에 비선형 변환 세트를 적용할 수 있다. 인코더 CBHG 신경망(116)은 그 다음 인코더 프리-넷 신경망(114)으로부터 변환된 임베딩을 수신하고 변환된 임베딩을 처리하여 문자 시퀀스의 인코딩된 표현을 생성한다.
문자 시퀀스의 구두 발화의 스펙트로그램을 생성하기 위해 seq2seq 순환 신경망(106)은 어텐션 기반 디코더 순환 신경망(118)을 사용하여 인코딩된 표현을 처리한다. 특히, 어텐션 기반 디코더 순환 신경망(118)은 디코더 입력의 시퀀스를 수신한다. 시퀀스의 첫 번째(제1) 디코더 입력은 미리 결정된 초기 프레임이다. 시퀀스의 각 디코더 입력에 대해, 어텐션 기반 디코더 순환 신경망(118)은 디코더 입력 및 인코딩된 표현을 처리하여 스펙트로그램의 r개 프레임을 생성하며, 여기서 r은 1보다 큰 정수이다. 생성된 r개의 프레임 중 하나 이상이 시퀀스의 다음 디코더 입력으로 사용될 수 있다. 다시 말해, 시퀀스의 서로 다른 디코더 입력은 시퀀스의 디코더 입력에 선행하는 디코더 입력을 처리함으로써 생성된 r개의 프레임 중 하나 이상이다.
따라서 어텐션 기반 디코더 순환 신경망의 출력은 스펙트로그램을 형성하는 여러 프레임 세트를 포함하며, 여기서 각 세트는 r개의 프레임을 포함한다. 많은 경우에 r개의 프레임 세트 사이에는 오버랩이 없다. 시간에 r개의 프레임을 생성함으로써 어텐션 기반 디코더 순환 신경망에서 수행되는 디코더 스텝의 총 수는 r의 인수(factor)만큼 감소하므로 훈련 및 추론 시간이 단축된다. 이 기술은 또한 어텐션 기반 디코더 순환 신경망과 시스템의 컨버전스 속도와 학습률을 높이는 데 도움이 된다.
동작(306)에서, 방법(300)은 특정 자연 언어의 문자 시퀀스의 구두 발화의 스펙트로그램을 사용하여 음성을 생성하는 단계를 포함한다. 일부 구현들에서, 스펙트로그램이 압축된 스펙트로그램일 때, 시스템은 압축된 스펙트로그램으로부터 파형을 생성하고 파형을 사용하여 음성을 생성할 수 있다.
동작(308)에서, 방법(300)은 재생을 위해 생성된 음성을 제공하는 단계를 포함한다. 예를 들어, 방법(300)은 재생을 위해 네트워크를 통해 시스템으로부터 사용자 디바이스(예를 들어, 오디오 화자)로 생성된 음성을 전송함으로써 재생을 위해 생성된 음성을 제공할 수 있다.
본 명세서의 구현은 모델이 잠재/변동 임베딩을 보다 효과적으로 사용할 수 있도록 하는 표현적 음성 합성(예를 들어, 프로소디 및 스타일의 제어 및 전달)을 위한 TTS 변환 시스템(100)에 기초한 잠재 변수 모델에 대한 수 확장(number extensions)을 도입하는 것에 관한 것이다. 잠재 변수 모델을 사용하면 합성된 음성의 나머지 변동성을 확률적으로 모델링 및/또는 직접 제어할 수 있다. 가변성(변동)의 근원에는 화자 및 채널 특성뿐만 아니라 억양, 강세, 리듬 및 스타일의 프로소디적 특성이 포함된다. 구어(음성 발화)의 프로소디적 특성은 어휘 표현(예: 발화의 전사)에 있는 것 이상으로 언어적, 의미론적, 정서적 의미를 전달한다. 이러한 특성을 한 발화에서 다른 발화로 전송할 수 있는 기능을 제공하면 사용자가 복잡한 음향 또는 언어 파라미터를 손으로 조작할 필요 없이 자신의 음성(예: "say it like this(이렇게 말해봐)")을 사용하여 합성된 음성 사운드를 제어할 수 있다. 일부 구현에서, 방법은
세분화된 레벨(fine-grained level)(예: 정밀도 우선 순위 지정)의 기준(참조) 음성 프로소디를 유사한 텍스트 부분(즉, 기준 음성과 비슷한 음절 수의 텍스트)(또는 CGL(coarse-grained level)(예: 일반화 우선순위 지정)에서 임의의 텍스트 부분(즉, 모든 길이와 음절 내용의 텍스트))으로 전송할 수 있도록 변동 기준 인코더에서 재구성 손실(reconstruction loss) 항의 용량 타겟을 변경하는 단계를 포함한다.
도 4는 기준 화자의 스타일 및/또는 프로소디를 타겟 화자에게 전달하고 및/또는 입력 텍스트로부터 생성된 합성 음성(480)의 스타일 및/또는 프로소디를 제어하기 위한 예시적인 프로소디 스타일 전달 모델(400)을 도시한다. 전달 모델(400)은 사용자가 다양한 다른 자연스러운 방식으로 특정 말하기 스타일 또는 프로소디로 자연스러운 음성을 합성할 수 있게 한다. 명백해지는 바와 같이, 전달 모델(400)은 기준 발화(예를 들어, "say it like this")를 사용함으로써 하나의 발화에서 다른 발화로 프로소디/스타일 특성의 전달을 가능하게 한다. 또한, 전달 모델(400)은 더 긴 음성 섹션에 걸쳐 자연스러운 다양성을 제공하기 위해 발화의 프로소디적 실현 가능성에 대한 분포로부터 프로소디 특성을 무작위로 샘플링하는 것을 허용한다.
전달 모델(400)은 말하기 스타일의 잠재 표현(즉, 변동 임베딩(z))의 비감독(unsupervised) 학습을 위한 변동 자동 인코더(VAE: variational autoencoder) 네트워크를 포함한다. VAE를 사용하여 변동 임베딩을 학습하는 것은 휴리스틱 기반 시스템에 비해 스타일 제어를 단순화하기 위해 분리(disentangling), 크기 조정(scaling) 및 조합의 유리한 속성을 제공한다. 전송 시스템(400)은 기준 인코더(410), 및 기준 오디오 신호(X, Xref)(412)를 입력으로 수신하고 기준 오디오 신호(412)에 대한 변동 임베딩(z)(420)을 출력으로 결정하도록 구성된 E2E TTS 모델(450)을 포함한다. TTS 모델(450)은 입력 텍스트(104)를 변동 임베딩(420)에 의해 지정된 스타일/프로소디를 갖는 합성된 음성(480)(예를 들어, 출력 오디오 신호(470, X, Xtgt))으로 변환하기 위해 기준 인코더(420)로부터 출력된 변동 임베딩(420)을 수신한다. 즉, 변동 임베딩(420)은 TTS 모델(450)에 의해 생성된 합성된 음성(480)이 기준 인코더(412)에 입력된 기준 오디오 신호(412)처럼 들리도록 한다.
TTS 모델(450)은 인코더(452), 어텐션 모듈(454), 디코더(456) 및 합성기(475)를 포함한다. 일부 구현들에서, TTS 모델(450)은 도 1의 TTS 모델(100)을 포함한다. 예를 들어, 인코더(452), 어텐션 모듈(454) 및 디코더(456)는 집합적으로 seq2seq 순환 신경망(106)에 대응할 수 있고, 합성기(475)는 파형 합성기(110) 또는 웨이브넷 신경 보코더를 포함할 수 있다. 그러나, 합성기(475)의 선택은 합성된 음성의 결과적인 프로소디 및/또는 스타일에 영향을 미치지 않으며 실제로는 합성된 음성(480)의 오디오 충실도에만 영향을 미친다. 어텐션 모듈(454)은 긴 발화(long utterances)에 대한 일반화(generalization)를 개선하기 위해 GMM(Gaussian Mixture Model) 어텐션을 포함할 수 있다. 따라서, TTS 모델(450)의 인코더(452)는 CBHG 신경망(200)(도 2)을 사용하여 입력 텍스트(104)를 인코딩하고 어텐션 모듈(454)의 GMM 어텐션을 수정하여 exp 대신에 소프트플러스 함수를 사용하여 파라미터를 계산할 수 있다.
입력 텍스트(104)는 자소(grapheme)로부터 발음을 학습하는 모델의 능력보다는 프로소디가 다루어지고 있기 때문에 텍스트 정규화 프론트 엔드(front-end) 및 어휘집(lexicon)에 의해 생성된 음소 입력을 포함할 수 있다. 디코더(456)는 디코더 순환 신경망(118)(도 1)을 포함하고, 이(2)와 동일한 감소 인자를 사용하여 시간 스텝당 2개의 스펙트로그램 프레임(예를 들어, 출력 오디오 신호(470))을 생성할 수 있다. 일부 예에서, 0.1과 동일한 확률로 존아웃(zoneout)을 사용하는 256-셀 장단기 메모리(LSTM: long short term memory)의 2개의 레이어(계층)는 디코더(456)의 GRU 셀을 대체할 수 있다. 다른 구현에서, TTS 모델(450)은 2018년 8월 8일에 출원된 미국 출원 번호 16/058,640에 개시된 음성 합성 시스템(speech synthesis system)을 포함하며, 그 내용은 이 전체에 참조로 포함된다.
변동 임베딩(420)은 타겟 화자의 프로소디, 감정 및/또는 말하기 스타일에 기여하는 감정 및 의도와 같은 타겟 화자의 잠재 상태(latent state)에 해당한다. 본 명세서에서 사용되는 바와 같이, 변동 임베딩(420)은 스타일 정보 및 프로소디 정보 모두를 포함한다. 일부 예에서, 변동 임베딩(420)은 변동 임베딩(420)의 비트 수로 표현되는 용량을 갖는 수치 벡터(vector of numbers)를 포함한다. 일반적으로, 변동 임베딩(420)의 용량을 증가시키는 것은 합성된 음성(480)에 의해 표현되는 타겟 화자가 기준 오디오 신호(412)와 매우 유사(resemble)하도록 합성된 음성(480)의 정밀도를 증가시킨다. 이와 같이, 고용량 변동 임베딩(420)은 정밀도를 우선시하고 화자간 전송 시나리오에 더 적합하다. 하지만, 이러한 정밀도 증가를 달성할 때의 한 가지 단점은 TTS 모델(450)에 의해 변환된 입력 텍스트(104)(즉, 타겟 텍스트)가 기준 오디오 신호(412)에 대응하는 기준 텍스트(Reference Text)와 매우 유사해야 한다는 것이며, 이로써 기준(참조) 텍스트는 전송 시스템(400)의 훈련 동안 TTS 모델(450)에 입력된다. 본 명세서에 사용된 바와 같이, 입력 텍스트(104)는 입력 텍스트(104)가 참조(기준) 텍스트와 유사한 수의 모음(vowel)을 포함할 때 참조 텍스트와 매우 유사하다. 다른 한편으로, 변동 임베딩(420)의 용량(capacity)을 감소시키는 것은 변동 임베딩(420)이 상이한 입력 텍스트(104)(즉, 텍스트 간 전송)로부터 합성된 음성(480)을 생성하는데 잘 작동하도록 변동 임베딩(420)의 일반성(generality)을 증가시킨다. 따라서, 저용량 변동 임베딩(420)은 일반성을 우선시하고 텍스트에 구애받지 않는 스타일 전송에 더 적합하다.
일부 구현에서, 기준 인코더(410)는 또한 스타일과 프로소디가 모두 제어 가능하고 전송 가능하도록 정밀도와 일반성 사이의 트레이드오프(tradeoff)를 밸런싱(balance)하기 위해 조건부 종속성(416)을 수신한다. 기준(참조) 오디오로부터 프로소디/스타일 임베딩만을 계산할 수 있는 휴리스틱 기반 인코더(410)와 대조적으로, VAE의 기준 인코더(410)는 인코더(410)에 의해 이전에 생성된 변동 임베딩(420)의 샘플링을 허용하여 보다 다양한 프로소디 및 스타일 정보가 합성된 음성(480)으로의 변환을 위해 TTS 모델(450)에 입력된 입력 텍스트(104)를 나타낼 수 있도록 한다. 이와 같이, 변동 임베딩(420)이 샘플링될 수 있기 때문에 기준 오디오 신호(412)는 변동 임베딩(420)을 계산하기 위해 필요하지 않다. 물론, 기준 인코더(410)는 기준 오디오 신호(412)(예를 들어, "say it like this")로부터 변동 임베딩(420)을 계산할 수 있다. 아래에서 더 자세히 설명하는 것처럼, 상이한 스타일/프로소디 정보를 포함하는 계층적 분수는 변동 임베딩(420)으로부터 분해(decomposed)될 수 있고, 이는 음성간 전송 시나리오에서 참조 유사성과 샘플 가변성(변동) 사이의 트레이드오프를 제어하기 위해 변동 임베딩(420)의 이러한 계층적 분수의 차후 샘플링을 가능하게 한다. 조건부 의존성(conditional dependencies)(416)은 기준 오디오 신호(412)를 특징짓는 기준/타겟 텍스트 yT 및/또는 기준 오디오 신호(412)를 발화한 화자의 신원을 나타내는 기준/타겟 화자 yS를 포함한다. 기준/타겟 화자 yS는 화자 간 전송 중에 타겟 화자(또는 기준 화자)의 신원이 보존되도록 한다. 예를 들어, 기준 화자가 타겟 화자와 다른 피치 범위(pitch range)를 갖는 경우, 기준 화자(Reference Spkr)(ys)가 제공될 때 기준 인코더(410)에 의해 적절한 변동 임베딩(420)이 샘플링될 수 있기 때문에 합성된 음성(450)은 여전히 타겟 화자처럼 들릴 수 있다.
조건부 의존성(416)의 입력 텍스트(104) 및 참조(기준) 텍스트(tT)는 문자 시퀀스를 포함할 수 있는 반면, 참조(기준) 및 출력 오디오 신호(412, 470)는 멜-주파수 스펙트로그램을 포함할 수 있는 음향 특징에 대응한다. 기준 인코더(410)는 신경망을 포함한다.
도 5를 참조하면, 일부 구현에서 기준 인코더(410)는 2018년 3월 24일 "Towards End-to-End Prosody Transfer for Expressive Speech Synthesis with Tacotron, arXiv preprint arXiv:1803.09047"에 공개된 결정론적 기준 인코더(500)를 수정하며, 이 내용은 전체에 참조로 포함된다. 일부 구현들에서, 기준 인코더(500)는 기준 오디오 신호(502)를 수신하고, 기준 오디오 신호(502)로부터 고정 길이 프로소디 임베딩 PE(550)(또한 '프로소딕 임베딩'으로 지칭됨)를 생성/예측하도록 구성된다. 프로소디 임베딩 PE(550)는 음성 정보 및 강세, 억양 및 타이밍과 같은 독특한 화자 특성과 무관한 기준 오디오 신호(502)의 특성을 캡처할 수 있다. 프로소디 임베딩 PE(550)는 기준 화자와 완전히 다른 화자에 대해 합성 음성이 생성되지만 기준 화자의 프로소디를 나타내는 프로소디(운율) 전달을 수행하기 위한 입력으로 사용될 수 있다.
도시된 예에서, 기준 오디오 신호(502)는 길이 LR 및 차원 DR을 갖는 스펙트로그램 슬라이스(slice)로서 표현될 수 있다. 기준 오디오 신호(502)와 연관된 스펙트로그램 슬라이스는 멜-워핑된(Mel-warped) 스펙트럼을 나타낼 수 있다. 도시된 예에서, 기준 인코더(500)는 2x2 스트라이드, SAME 패딩(padding), 및 ReLU 활성화를 갖는 3x3 필터를 포함하는 각 계층을 갖는 6계층(six-layer) 컨볼루션 계층 네트워크(6-Layer Strided Conv2D with BatchNorm)(504)를 포함한다. 배치 정규화는 모든 계층(레이어)에 적용되며 각 계층의 필터 수는 다운샘플링 속도의 절반(32, 32, 64, 128, 128)으로 두 배가 된다. 단일 128폭(128-width) GRU-RNN(Gated Recurrent Unit) 계층을 갖는 순환 신경망(510)은 마지막 컨볼루션 계층으로부터 출력(506)을 수신하고, 예측된 프로소디 임베딩 PE(550)을 출력하는 활성화 함수(530)가 뒤따르는 완전 연결 계층(520)에 적용된 128차원 출력(512)을 출력한다. 순환 신경망(510)은 다른 유형의 양방향 순환 신경망을 포함할 수 있다.
기준(참조) 인코더(500)에서 활성화 함수(530)(예를 들어, 소프트맥스 또는 하이퍼볼릭탄젠트(tanh))의 선택은 스타일 임베딩 SE(550)에 포함된 정보를 제한할 수 있고, 예측된 프로소디 임베딩 PE(550)의 크기를 제어함으로써 학습을 용이하게 할 수 있다. 더욱이, 기준 인코더(500)에 입력되는 기준 오디오 신호(502)의 길이 LR 및 차원 DR의 선택은 인코더(500)에 의해 학습된 프로소디의 다른 측면에 영향을 미친다. 예를 들어, 피치 트랙 표현(pitch track representation)은 인코더에 에너지 정보가 포함되어 있지 않기 때문에 일부 언어에서 현저한 모델링을 허용하지 않을 수 있는 반면, MFCC(Mel Frequency Cepstral Coefficient) 표현은 훈련된 계수의 수에 따라 적어도 어느 정도는, 인코더(400)가 억양을 모델링하는 것을 방지한다.
기준 인코더(500)에서 출력된 프로소디 임베딩 PE(550)는 합성된 음성을 생성하기 위해 다수의 다른 TTS 아키텍처에서 사용될 수 있지만, 추론 시간에 프로소디 임베딩 PE(550)를 생성하기 위해서는 시드 신호(seed signal)(예: 기준 오디오 신호(502))가 필요하다. 예를 들어, 시드 신호는 "Say it like this"와 같은 기준 오디오 신호(502)일 수 있다. 또는 의도한 프로소디/스타일로 합성된 음성을 전달하기 위해, 일부 TTS 아키텍처는 시드 신호로부터 프로소디 임베딩 PE(550)를 출력하기 위해 기준 인코더(500)를 사용하는 대신 추론 시간에 수동 스타일 임베딩 선택을 사용하도록 적응될 수 있다.
도 5의 기준 인코더(500)는 고정 길이 프로소디 임베딩을 예측하기 위한 휴리스틱 기반 모델(비변동(non-variational))에 해당하며, 2x2 스트라이드, SAME 패딩 및 ReLU 활성화가 있는 3x3 필터를 포함하는 각 계층이 있는 6계층 컨볼루션 레이어 네트워크를 포함한다. 배치 정규화는 모든 계층에 적용되며 각 계층(레이어)의 필터 수는 다운샘플링 속도의 절반(32, 32, 64, 128, 128)으로 두 배가 된다. 단일 128 너비 GRU(Gated Recurrent Unit) 계층이 있는 순환 신경망은 마지막 컨볼루션 레이어의 출력을 수신하고 소프트맥스, 하이퍼볼릭탄젠트 활성화 함수가 뒤따르는 완전 연결 레이어에 적용된 128 차원 출력을 출력한다. 다시 도 4를 참조하면, 기준 인코더(410)는 도 5의 결정론적 기준 인코더(500)의 하이퍼볼릭탄젠트 병목 계층을 기준 인코더(410)의 파라미터(즉, 잠재 변수의 평균 μ 및 표준 편차 σ)를 예측하기 위해 선형 활성화를 갖는 MLP(multilayer perception)(414)로 대체하는 '변동 사후(variational posterior)'에 대응한다. 사용될 때, 조건부 종속성(416)(참조 텍스트 yT 및/또는 참조 화자 yS)도 MLP(414)로 공급될 수 있다. 변동 임베딩(z)(420)은 기준 인코더(410)의 MLP(414)로부터 출력된 잠재 변수(Latent Variables)의 평균 μ 및 표준 편차 σ에 기초한 재파라미터화를 사용하여 유도될 수 있다. TTS 모델(450)의 텍스트 인코더(452)에 입력된 인코더 상태는 인코더(452)로부터 출력된 인코딩된 시퀀스(453)는 어텐션 모듈(454)에 의해 소비되는 변동 임베딩(420) 및 입력 텍스트(104)의 합을 포함하도록, 변동 임베딩(z)(420) 및 입력 텍스트(104)의 문자 시퀀스를 포함한다. 텍스트 인코더(452)는 또한 합성된 음성(480)이 어떻게 발음되어야 하는지에 대한 특정 화자를 식별하는 타겟 화자(yS)를 수신할 수 있다. 일부 예들에서, 어텐션 모듈(454)은 출력 오디오 신호(470)를 생성하기 위해 디코더(456)의 각 출력 스텝(단계)에 대해 인코딩된 시퀀스(453)를 고정 길이 컨텍스트 벡터(455)로 변환하도록 구성된다.
훈련 동안, 기준(참조) 오디오 신호(412)의 전사는 디코더(456)로부터 출력된 출력 오디오 신호(470)가 기준 오디오 신호(412)와 일치하도록, TTS 모델(End-to-End TTS 모델)(450)의 인코더(452)에 입력된 입력 텍스트 시퀀스(104)의 문자들의 시퀀스를 일치시킨다. 추론 동안, 전송 시스템(400)은 기준 오디오 신호(412)의 전사와 일치하지 않는 인코더(452)에 대한 상이한 입력 텍스트 시퀀스(104)를 포함함으로써 텍스트간 전송을 수행할 수 있다. 유사하게, 전송 시스템(400)은 기준 오디오 신호를 발화하는 화자와 다른 합성된 음성을 위한 화자를 지정함으로써 화자간 전달을 수행할 수 있다.
도 5는 동일하거나 유사한 텍스트 프로소디 전송에 가장 적합한 고정 길이 프로소디 임베딩을 계산하기 위한 결정론적 기준 인코더(500)를 도시하며, 즉, 변환을 위한 입력 텍스트는 기준 오디오 신호의 전사와 유사한 수의 음절을 포함한다. 이 휴리스틱 접근 방식에서, 프로소디 전송(전달) 정밀도는 프로소디 임베딩의 차원과 비선형성(tanh 대 softmax) 선택에 의해 제어된다. 도 6을 참조하면, 또 다른 휴리스틱 기반 모델(600)은 2018년 3월 23일 "Style Tokens: Unsupervised Style Modeling, Control and Transfer in End-to-End Speech Synthsis", arXiv preprint arXiv:1803.09017"에 의해 공개된 스타일 토큰 계층(610)을 구현하여 결정적 기준 인코더(500)의 아키텍처를 수정하며, 그 내용은 이 전체에 참고로 포함된다. 여기서, 스타일 토큰 계층(610)은 결정론적 기준 인코더(500)로부터 출력된 프로소디 임베딩 PE(550)를 수신하고, 무작위로 초기화된 임베딩(614, 614a-n)의 뱅크의 각 토큰(614)(글로벌 스타일 토큰(GST) 또는 토큰 임베딩이라고도 함)과 프로소디 임베딩(PE)(550) 사이의 유사성 측정을 학습하도록 구성된 어텐션 모듈에 대한 쿼리 벡터로 프로소디 임베딩(PE)(550)을 사용한다. 토큰 임베딩 세트("스타일 토큰"이라고도 함)(614)는 모든 트레이닝 시퀀스에 걸쳐 공유된다. 따라서, 어텐션 모듈(612)은 인코딩된 프로소디 임베딩 PE(550)에 대한 각 스타일 토큰(Style Token)(614)의 기여도를 나타내는 조합 가중치(CW Targets)(616, 616a-n)의 세트를 출력한다. 토큰 임베딩의 가중 합(weighted sum)은 모든 시간 단계(스텝)에서 조정을 위해 TTS 모델(450)의 텍스트 인코더(예를 들어, 인코더(452, 112))에 입력되는 스타일 임베딩 SE(650)에 대응한다.
추론 동안, TTS 모델(450)의 텍스트 인코더는 기준 오디오 신호(412) 없이 스타일 제어 및 조작을 허용하기 위해 특정 토큰/스타일 임베딩(614)(예를 들어, 토큰 B)에 직접적으로 조절될 수 있다. 한편, 전사(transcript)가 입력 텍스트(104)와 일치하지 않는 타겟 화자에 대한 기준 오디오 신호(412)를 사용하여 합성 음성(480)으로 합성하는 경우, 스타일 토큰 계층(610)은 기준 인코더(500)로부터 출력된 프로소디 임베딩 PE(550)에 의해 표현되는 기준 오디오 신호(412)에 따라 조절된다. 프로소디 임베딩 PE(550), 스타일 임베딩(650) 및 토큰(615)은 각각의 임베딩의 정보 용량에 영향을 미치고 그리고 이러한 휴리스틱 기반 모델(500, 600)이 전송 정밀도(출력이 기준(참조)과 얼마나 유사한지)와 일반성(임베딩이 임의의 텍스트에 얼마나 잘 작동하는지) 사이의 특정 트레이드오프를 타겟로 하도록 허용한다.
일부 구현에서, 도 5의 결정론적 기준 인코더(500) 및 스타일 토큰 계층(610) 및 결정적 인코더(500)를 구현하는 도 6a 및 도 6b의 휴리스틱 기반 모델(600)과 같은 휴리스틱 기반 접근 방식의 임베딩 용량은 결정적 인코더(500)의 테스트 시간 재구성 손실을 측정함으로써 추정된다. 구체적으로, 이러한 휴리스틱 기반 접근 방식은 시퀀스 대 시퀀스 모델을 훈련하기 위해 수학식 1(아래에 표현)로 표현되는 TF(teacher-forced) 재구성 손실로 시작하고, 수학식 2(아래에 표현)로 표현되는 결정론적 기준 인코더(500)(ge(x)로 표시)로 모델을 보강할 수 있다. 수학식 1 및 2는 다음과 같이 표현된다.
Figure pct00001
Figure pct00002
여기서, x는 오디오 스펙트로그램(412), yT는 입력 텍스트(104), yS는 타겟 화자이다(다중 화자 모델을 훈련하는 경우),
Figure pct00003
는 스펙트로그램 예측에 입력을 매핑하는 결정론적 함수, K는 정규화 상수이다. TF는
Figure pct00004
가 스펙트로그램 xt를 예측할 때 x<t에 종속됨을 의미한다.
Figure pct00005
재구성 손실이 일반적으로 사용되기 때문에, 우도는 고정 대각 공분산 및
Figure pct00006
에서 제공하는 평균을 갖는 라플라스 랜덤 벡터와 동일하다(실제로
Figure pct00007
의 결정적 출력은 출력으로 사용된다). 합성 동안 기준 인코더(500)에 의해 계산된 임베딩 PE(550)를 상이한 텍스트 또는 화자와 페어링함으로써 전송이 달성된다.
도 7a 및 7b를 참조하면, 플롯(plot)(700a, 700b)은 각각 프로소디 임베딩 PE(550)의 임베딩 차원(x축) 및 결정론적 기준 인코더(500)를 사용하는 휴리스틱 기반(예: non-variational) 프로소디 전송을 위한 비선형성(tanh vs. softmax)의 선택에 따라 변하는 재구성 손실
Figure pct00008
(y축)을 보여준다. 여기서, 소프트맥스(softmax) 비선형성 프로소디 임베딩 PE(550)의 병목 현상은 tanh 비선형성 프로소디 임베딩보다 심하다. 유사하게, 플롯(700a, 700b)은 각각 휴리스틱 기반 스타일 전송을 위한 스타일 임베딩의 임베딩 차원(x축)에 따라 변하는 재구성 손실
Figure pct00009
(y-축)을 보여준다. 프로소디 임베딩에 비해 스타일 임베딩(예: Style Token)의 더 제한적인 병목 현상은 임베딩 용량이 정밀도/일반성 트레이드오프에 미치는 영향을 보여준다.
도 7a 및 7b를 참조하면, 플롯(700a)은 상이한 KL 가중치 β를 갖는 변동 임베딩(420)에 대한 임베딩 차원에 따라 변하는 재구성 손실을 추가로 도시한다. 플롯(700b)은 다른 용량 한계 C를 갖는 변동 임베딩(420)에 대한 임베딩 차원에 따라 변하는 재구성 손실을 추가로 도시하고, 이에 따라 용량 제한은 수학식 9를 사용하여 직접 KL 항을 통해 제어된다. 플롯(700a)은 KL 가중치 β = 0.1을 사용하는 기준 디코더(410)가 휴리스틱 기반 프로소디 전송 모델로부터의 tanh 비선형성 프로소디 임베딩의 손실과 일치하는 변동 임베딩(420)을 생성하고, KL 가중치 β = 10을 사용하여 스타일 임베딩과 유사한 변동 임베딩(420)을 생성한다는 것을 보여준다. 또한, KL 가중치 β = 100을 사용하는 것은 변동 임베딩(420)의 용량이 0으로 효과적으로 스쿼시(squashed)되기 때문에 TTS 모델(450)의 베이스라인(Baseline)과 매우 유사한 손실을 갖는 변동 임베딩(420)을 생성한다. 변동 임베딩의 타겟 용량을 지정함으로써, 재구성 손실 측정값 대 임베딩 차원의 비교/매칭(일치)을 통해 결정론적 기준 인코더(500)에 의해 계산된 결정론적 임베딩(프로소디 또는 스타일 임베딩)의 용량(capacity)을 추정할 수 있다. 따라서, 재구성 손실 대 임베딩 차원 관계를 계산 가능/제어 가능한 용량을 갖는 변동 임베딩에 대한 비교를 기반으로 결정론적 기준 인코더에서 출력된 결정론적 임베딩(기준 임베딩이라고도 함)의 용량을 추정할 수 있는 능력으로, 이러한 결정적 임베딩의 용량은 결정적 기준 인코더에 의해 계산된 기준 임베딩의 차원을 조정하여 제어할 수 있다. 따라서 결정론적 임베딩은 이제 이러한 기술을 사용하여 용량을 추정하고 제어하는 정밀도/충실도(fidelity) 및 일반성/전송성(transferability) 간의 트레이드오프를 제공할 수 있다.
KL 항(term)은 임베딩 용량의 상한(upper bound)에 해당하기 때문에(수학식 8), 임베딩 용량에 대한 특정 제한은 수학식 9를 사용하여 KL 항을 제한하여 타겟팅될 수 있다. 예를 들어, 도 7a 및 도 7b를 참조하면, 플롯(700b)은 임베딩 z가 특정 차원에 도달할 때 재구성 손실이 평평(flatten)해짐을 보여준다. 이는 기준 인코더가 충분한 구조적 용량(적어도 C)을 갖는 한 기준 인코더(410)가 변동 임베딩(420)의 타겟 표현 용량을 제어할 수 있게 한다. 일부 예에서, 변동 임베딩(420)은 정밀도와 일반성 사이의 트레이드오프를 밸런싱하기 위한 타겟된 용량의 범위를 수용하기 위해 고정 길이 128차원 임베딩을 포함한다. 변동 임베딩(420)의 비트 수는 용량을 나타낼 수 있다.
따라서, 전송 시스템(400)의 훈련 동안, 기준 인코더(410)로부터 출력된 변동 임베딩(420)의 용량은 변동 임베딩(420) 내의 정보의 양을 제어하기 위해 KL 항(KL term)에 대응하는 상한(예: 변동 바운드(variational bound))을 사용함으로써 제어될 수 있다. 이러한 방식으로, 특정 정밀도/일반성 포인트를 타겟으로 하기 위해 기준 인코더의 아키텍처를 변경하지 않고도 변동 임베딩(420)의 용량을 단독으로 제어함으로써 정밀도와 일반성 사이의 바람직한 트레이드오프가 얻어질 수 있다.
도 4의 전송 시스템(400)을 참조하면, 본 명세서의 구현은 또한 대표 상호 정보(representative mutual information)에 대한 상한(즉, 기준 인코더(410)의 변동 바운드)을 사용하여 변동 기준 인코더(410)('변동 사후')로부터 출력된 변동 임베딩(420)의 용량을 추정하고 정량화하는 것에 관한 것이다. 기준 인코더(410)는 KL 항으로 수학식 2의 결정론적 기준 인코더(500)에 대한 재구성 손실을 증대시켜 수학식 3(아래에 표현)으로 표현되는 바와 같이 변동 기준 인코더(410)(q(z|x))를 프라이어(prior)(p(z))와 정렬할 수 있다. 수학식 4(아래에 표현됨)는 x, yT, yS에 해당하는 대표 상호 정보의 음의 하한(negative lower bound)(음의 ELBO)에 해당하는 기준 인코더의 전체 손실을 나타낸다. 수학식 3 및 4는 다음과 같이 표현된다.
Figure pct00010
Figure pct00011
일부 예들에서, 수학식 3에서 KL 항을 조정하는 것은 기준 인코더(410)의 변동 임베딩(420)의 용량을 제어하고, 이에 의해 KL 항은 데이터 x와 잠재 임베딩 z~q(z|x) 사이의 상호 정보에 대한 상한을 제공한다. KL 항과 변동 임베딩(420)의 용량(z) 사이의 이러한 관계는 수학식 5-8과 같이 표현된다.
Figure pct00012
Figure pct00013
Figure pct00014
Figure pct00015
여기서 pD(x)는 데이터 분포, R(예: "rate")은 수학식 3의 KL 항, RAVG는 데이터 분포에 대해 평균한 KL 항, Iq(X;Z)는 z의 용량에 해당하는 대표 상호 정보, q(z)(예: 집계된 사후)는 데이터 분포에서 주변화된(marginalized) q(z|x)이다. 수학식 8의 바운드는 수학식 7과 KL 다이버전스(divergence)의 음이 아닌 값을 따르며, 수학식 7은 바운드의 여유(slack)가 집계된 사후 q(z)와 프라이어 p(z) 사이의 KL 다이버전스임을 보여준다. 일부 예에서, R(예를 들어, KL 항)을 낮추는 것은(lowering) 훈련 동안 디코더(456)가 보는 z의 샘플이 프라이어(prior)의 샘플과 실질적으로 유사할 것이기 때문에 프라이어를 통해 모델로부터 변동 임베딩(420, z)의 더 나은 샘플링을 제공한다.
일부 구현에서, 변동 임베딩(420)의 특정 용량은 재구성 항(reconstruction term)보다 KL 항에 라그랑주 승수 기반 이중 최적화기 접근법(Lagrange multiplier-based, dual-optimizer approach)을 적용함으로써 타겟팅된다. 라그랑주 승수 기반 이중 최적화기를 KL 항에 적용하면 수학식 9와 같이 표현할 수 있다.
Figure pct00016
여기서 θ는 모델 파라미터, λ는 라그랑주 승수, C는 용량 한계를 나타낸다. 소프트플러스(softplus) 비선형성을 통해 제한되지 않은 파라미터를 전달하여 λ를 음이 아닌 것으로 제한함으로써 용량 제한 C는 타겟이 아니라 한계/임계값에 해당한다. 결과적으로 최적화는 q(z)를 q(z)에서 멀리 이동하여 KL 항을 늘리려는 시도를 방지한다. 유리하게는, 이 이중 최적화기 접근법은 KL 가중치를 손으로 튜닝하는 것보다 훨씬 덜 지루한 반면, 동시에 타겟 KL로부터의
Figure pct00017
재구성 손실 편차에 직접 페널티를 주는 것과 비교하여 더 안정적인 최적화를 이끈다.
도 7a 및 7b를 참조하면, 플롯(700a)은 상이한 KL 가중치(β)를 갖는 변동 임베딩(420)에 대한 임베딩 차원에 따라 변하는 재구성 손실을 추가로 도시하는 반면, 플롯(700b)은 상이한 용량 한계(C)를 갖는 변동 임베딩(420)에 대한 임베딩 차원에 따라 변하는 재구성 손실을 추가로 도시하며, 이에 따라 용량 제한은 수학식 9를 사용하여 직접 KL 항을 통해 제어된다. 플롯(700a)은 KL 가중치 β = 0.1을 사용하는 기준 디코더(410)가 휴리스틱 기반 프로소디 전달 모델로부터의 tanh 비선형성 프로소디 임베딩의 손실과 일치하는 변동 임베딩(420)을 생성하고, KL 가중치 β = 10을 사용하여 스타일 임베딩과 유사한 변동 임베딩(420)을 생성한다는 것을 보여준다. 또한, KL 가중치 β = 100을 사용하는 것은 변동 임베딩(420)의 용량이 0으로 효과적으로 스쿼시되기 때문에 TTS 모델(450)의 베이스라인과 매우 유사한 손실을 갖는 변동 임베딩(420)을 생성한다.
변동 임베딩의 타겟 용량을 지정함으로써, 재구성 손실 측정값 대 임베딩 차원의 비교/매칭을 통해 결정론적 기준 인코더(500)에 의해 계산된 결정론적 임베딩(프로소디 또는 스타일 임베딩)의 용량을 추정할 수 있다. 따라서 이제 재구성 손실과 계산 가능/제어 가능한 용량을 갖는 변형 임베딩에 대한 임베딩 차원 관계의 비교를 기반으로 결정론적 기준 인코더에서 출력된 결정론적 임베딩(기준 임베딩이라고도 함)의 용량을 추정할 수 있는 기능으로, 이러한 결정적 임베딩의 용량은 결정적 기준 인코더에 의해 계산된 기준 임베딩의 차원을 조정하여 제어할 수도 있다. 따라서 결정론적 임베딩은 이제 이러한 기술을 사용하여 용량을 추정하고 제어하는 정밀도/충실도 및 일반성/이동성 간의 트레이드오프(tradeoff)를 제공할 수 있다.
KL 항은 임베딩 용량의 상한에 해당하기 때문에(수학식 8), 임베딩 용량에 대한 특정 제한은 수학식 9를 사용하여 KL 항을 제한하여 타겟팅될 수 있다. 예를 들어, 도 7a 및 도 7b를 참조하면, 플롯(700b)은 임베딩 z가 특정 차원에 도달할 때 재구성 손실이 평평해짐을 보여준다. 이는 기준 인코더가 충분한 구조적 용량(적어도 C)을 갖는 한 기준 인코더(410)가 변동 임베딩(420)의 타겟 표현 용량을 제어할 수 있게 한다. 일부 예에서, 변동 임베딩(420)은 정밀도와 일반성 사이의 트레이드오프를 밸런싱하기 위해 타겟 용량의 범위를 수용하도록 고정 길이 128차원 임베딩을 포함한다. 변동 임베딩(420)의 비트 수는 용량을 나타낼 수 있다.
따라서, 전송 시스템(400)의 훈련 동안, 기준 인코더(410)로부터 출력된 변동 임베딩(420)의 용량은 변동 임베딩(420) 내의 정보의 양을 제어하기 위한 KL 항에 대응하는 상한(예: variational bound)을 사용함으로써 제어될 수 있다. 이러한 방식으로, 특정 정밀도/일반성 포인트를 타겟하기 위해 기준 인코더의 아키텍처를 변경하지 않고도 변동 임베딩(420)의 용량을 단독으로 제어함으로써 정밀도와 일반성 사이의 바람직한 트레이드오프가 얻어질 수 있다.
도 4에 도시된 바와 같이, 일부 구현에서 조건부 의존성(conditional dependencies)(416)은 정밀도와 일반화 사이의 트레이드오프를 밸런싱하기 위해 기준 인코더(410)에 입력된다. 조건부 종속성(416)은 기준 텍스트(yT) 및/또는 기준 화자(yS)를 포함한다. 기준 화자를 적용함으로써, 타겟 화자가 타겟 화자와 다른 피치 범위를 갖는 기준 화자를 모방하지 않도록 합성 음성(480)에서 타겟 화자의 아이덴티티(신원)를 보존할 수 있다. 훈련 동안, 기준(참조) 텍스트 yT와 인코더(452)에 입력된 입력 텍스트 시퀀스(104)와 관련된 타겟 텍스트는 동일하다. 유사하게, 기준 화자는 훈련 동안 인코더에 대한 452에 입력될 수도 있다. 그러나 추론하는 동안 기준 텍스트와 타겟 텍스트가 다를 수 있으며 및/또는 기준 화자와 타겟 화자가 다를 수 있다. 예를 들어, 조건부 의존성(416) 및 기준 오디오 신호(412)는 프로소디 및 스타일 정보 모두를 갖는 변동 임베딩(420)을 생성하기 위해 기준 인코더(410)에 입력될 수 있다. TTS 모델(450)의 인코더(452)에 입력되는 입력 텍스트 시퀀스(104)는 합성된 음성에 의해 말하는 것을 변경하기 위해 기준 텍스트 yT와 다른 타겟 텍스트 yT를 포함할 수 있다. 추가적으로 또는 대안적으로, 화자를 변경하기 위해 다른 타겟 화자가 TTS 모델(450)의 텍스트 인코더(452)에 입력될 수 있다. 여기서, 변동 임베딩(420)은 타겟 텍스트 및/또는 타겟 화자와 페어링된다. 결과적으로, 이 변동 임베딩(420)은 기준 오디오 신호가 없지만 조건부 종속성(416)이 변동 임베딩(420)과 쌍을 이루는 타겟 화자 및 타겟 텍스트와 일치할 때 나중에 샘플링될 수 있다.
도 8a를 참조하면, 조건부 생성(conditional generative) 모델은 변동 임베딩 z, 타겟 텍스트 yT 및 타겟 화자 yS로부터 출력/타겟 오디오 신호 X를 생성하는 TTS 모델의 디코더(456)에 대응한다. 조건부 생성 모델은 p(x|z, yT, yS)p(z) 형식으로 표시된다. 도 8b는 도 8a에 존재하는 조건부 종속성이 누락된 변동 사후를 도시한다. 도 8c는 도 8c의 형태와 매칭하기 위한 조건부 사후를 포함하는 변동 사후(예를 들어, 기준 인코더(410))를 도시한다(도 8c의 매칭 변동 사후). 화자 정보는 학습된 화자별 임베딩 벡터로 표현되고, 텍스트 정보는 단방향 RNN을 통해 텍스트 인코더(452)의 출력을 전달하여 벡터로 요약된다. 심플 대각선 가우스(simple diagonal Gaussian)는 대략적인 사후 q(z|x; yT ; yS) 및 프라이어(prior) p(z)에 대한 표준 정규 분포에 사용할 수 있다. 이러한 분포는 단순성과 효율성을 위해 선택되지만 가우스 혼합 및 정규화 흐름(normalizing flows)과 같은 보다 강력한 분포를 사용할 수 있다.
일반적으로, 변동 임베딩(420)은 프로소디 및 스타일 정보의 변동을 완전히 지정하지만, 변동 임베딩(420)에 기초한 합성된 음성(480)은 입력 텍스트 시퀀스(104)가 주어진 스타일에 대해 표현될 수 있는 방법이 무한하더라도 동일한 입력 텍스트 시퀀스(104)로 항상 동일하게 들릴 것이다. 일부 구현에서, 변동 임베딩(z)(420)를 계층적 분수(zs, zp)로 분해(decomposing)하는 것은 조인트 용량(joint capacity)(Iq(X: [Zs, Zp]))이 계층적 분수(zs, zp) 사이에서 분할되는 방법을 지정할 수 있게 한다. 일부 예에서, 계층적 분수(zs)는 변동 임베딩(z)과 관련된 스타일 정보를 나타내고, 계층적 분수(zp)는 변동 임베딩(z)과 관련된 프로소디 정보를 나타낸다. 그러나, 분해된 계층적 분수는 본 개시의 범위를 벗어나지 않으면서 다른 유형의 정보를 나타내기 위해 사용될 수 있다.
수학식 8은 용량(Iq(X;Z))의 상한을 제공하는 KL 항을 보여준다. 다음 수학식 11-12를 사용하여 프로소디 분수(zp)의 용량을 다음과 같이 유도할 수 있다.
Figure pct00018
Figure pct00019
Figure pct00020
다음 수학식 13-16을 사용하여 스타일 분수(zs)의 용량을 다음과 같이 도출할 수 있다.
Figure pct00021
Figure pct00022
Figure pct00023
Figure pct00024
여기서 Rs는 전체 조인트 KL 항의 일부를 구성한다. Rp = R-Rs인 경우, 다음 바운드는 수학식 17을 포함한다.
Figure pct00025
조인트 용량이 분수(예: 잠재 변수) 사이에 어떻게 분포되는지 지정하기 위해, 수학식 18은 다음과 같이 두 개의 라그랑주 승수와 용량 타겟을 갖도록 확장된다.
Figure pct00026
여기서 용량 타겟(Cs)는 zs의 정보 용량을 제한하고, Cp는 zp가 zs를 초과하는 용량을 제한하며, 여기서 zp의 총 용량은 Cs + Cp로 제한된다. 일부 예들에서, 기준 계층적 분수(zs)는 기준 오디오 신호(412)로부터 기준 인코더(410)에 의해 추론되고 다중 실현을 샘플링하는데 사용된다. 직관적으로 Cs가 높을수록 출력은 기준과 더 유사하고, Cp가 높을수록 동일한 기준 계층적 분수(zs)에 대한 샘플 간 변동이 커진다.
도 4, 도 9a 및 9b에서, 일부 구현에서, 기준 오디오 신호(412) 없이 기준 텍스트(yT)와 기준 화자(yS)의 조건부 종속성(416)만 기준 인코더(410)에 입력되는 경우, zs는 트레인(train) 모델로부터 샘플링되고, zp는 샘플링되어 타겟 출력 오디오(X)를 계산하기 위한 조건부 종속성과 함께 도 9a의 디코더로 전송된다. 샘플링된 zp는 조건부 종속성(416)과 프라이어로 쌍을 이룬다(페어링된다). 여기서, 기준(참조) 텍스트 yT 및 기준(참조) 화자 yS의 동일한 조건부 종속성(416)을 이용하여, 도 9b의 변동 기준 디코더(variational posterior)는 zp를 출력하고 zp를 사용하여 zs를 계산한다. 이와 같이, 도 9a의 디코더는 계산된 zs, 기준 텍스트 yT 및 기준 화자 yS를 입력으로 사용하여 타겟 오디오 신호 X를 재생성할 수 있다. 유리하게는, 계층적 분수(zs)는 zs에 의해 지정된 기준 인코더의 변동을 나타내므로 zp의 다른 용량이 샘플링되어 주어진 스타일의 합성된 음성이 다르게 들리도록 할 수 있다. 따라서 zp와 zp는 정밀도와 일반화 간의 트레이드오프를 밸런싱하기 위한 임계값에 해당한다. 따라서, 조건부 종속성(416)을 사용함으로써, 기준 인코더(410)에 의해 학습된 프라이어 변동 임베딩(420)은 기준 오디오 신호(412) 없이 음성을 합성하기 위해 및/또는 더 긴 음성 섹션에 걸쳐 자연스러운 다양성을 제공하기 위해 지정된 스타일로 발화의 프로소디적(prosodic) 실현에 대한 분포로부터 프로소디 특성을 샘플링하도록 샘플링될 수 있다.
도 10은 기준 임베딩의 용량을 추정하는 방법(1000)에 대한 예시적인 동작 배열의 흐름도이다. 동작(1002)에서, 방법(1000)은 결정론적 기준 인코더(500)에서 기준 오디오 신호(412)를 수신하는 단계를 포함하고, 동작(1004)에서 방법(1000)은 기준 오디오 신호(412)에 대응하는 기준 임베딩(550, 650)을 결정하는 단계를 포함한다. 여기서, 기준 임베딩(550, 650)은 해당 임베딩 차원을 갖는다.
동작(1006)에서, 방법(1000)은 기준 임베딩(550, 650)의 해당 임베딩 차원의 함수로서 재구성 손실을 측정하는 단계를 포함한다. 동작(1008)에서, 방법(1000)은 변동 사후로부터 변동 임베딩(420)을 획득하는 단계를 포함한다. 변동 임베딩(420)은 해당 차원 및 특정 용량을 가지며, 이에 따라 특정(지정된) 용량은 변동 사후의 조정 가능한 변동 바운드에 기초한다.
동작(1010)에서, 방법(1000)은 변동 임베딩의 해당 임베딩 차원의 함수로서 재구성 손실을 측정하는 단계를 포함한다. 동작(1012)에서, 방법(1000)은 기준 임베딩(550, 650)에 대해 측정된 재구성 손실을 지정된 용량을 갖는 변동 임베딩(420)에 대해 측정된 재구성 손실과 비교함으로써 기준 임베딩(550, 650)의 용량을 추정하는 단계를 포함한다.
도 11은 변동 임베딩(420)의 특정 용량을 타겟팅하는 방법(1100)에 대한 예시적인 동작 배열의 흐름도이다. 동작(1102)에서, 방법(1100)은 기준 인코더(500)에 의해 계산된 변동 임베딩(420)의 용량에 대한 상한을 제공하기 위해 기준 인코더(500)의 KL 항을 조정하는 단계를 포함한다. KL 항을 조정하는 것은 KL 항을 증가시켜 변동 임베딩(420)의 용량을 증가시키거나 KL 항을 감소시켜 변동 임베딩의 용량을 감소시키는 것을 포함할 수 있다. 변동 임베딩의 용량을 증가시키면 합성 음성(480)의 정밀도가 증가하는 반면, 변동 임베딩(420)의 용량을 감소시키면 상이한 입력 텍스트를 합성 음성(480)으로 변환하기 위한 변동 임베딩의 일반성이 증가한다. 일부 구현에서, KL 항을 조정하는 것은 KL 항에 라그랑주 승수를 적용하고 용량 제한을 지정하는 것을 포함한다. KL 항을 조정하는 것은 KL 항의 가중치를 조정하는 것을 포함할 수 있다.
동작(1104)에서, 방법(1100)은 기준 인코더(500)에서 기준 오디오 신호(412)를 수신하는 단계를 포함한다. 동작(1106)에서, 방법(1100)은 기준 인코더(500)에 의해 기준 오디오 신호(412)와 연관된 변동 임베딩(420)을 결정하는 단계를 포함한다. 변동 임베딩(420)은 조정된 KL 항에 의해 제공되는 상한에 의해 제한되는 용량을 갖는다. 동작(1108)에서, 방법(1100)은 기준 오디오 신호(412)와 연관된 변동 임베딩(420)을 텍스트-음성 합성 모델(450)에 제공하는 단계를 포함한다. 여기서, 텍스트-음성 합성 모델(450)은 기준 오디오 신호(412)와 연관된 변동 임베딩(420)에 기초하여 입력 텍스트(104)를 합성된 음성(480)로 변환하도록 구성된다. 비트 수는 변동 임베딩(420)의 용량을 나타낸다.
도 12는 합성된 음성이 주어진 스타일에 대해 어떻게 들리는지 변경하기 위해 변동 임베딩(420)과 연관된 계층적 분수를 샘플링하는 방법(1200)에 대한 동작의 예시적인 배열의 흐름도이다. 방법(1200)은 변동(variation)의 레스트(rest)가 텍스트-음성 모델(450)로부터 샘플링되도록 허용하기 위해 변동 임베딩(420)에 표현된 변동의 특정 분수(specified fraction)의 제어를 허용할 수 있다. 동작(1202)에서, 방법(1200)은 기준 인코더(500)로부터 출력된 변동 임베딩(420)을 획득하는 단계를 포함하고, 동작(1204)에서, 방법(1200)은 변동 임베딩을 계층적 분수로 분해하고, 변동 임베딩(420), 타겟 텍스트, 및 타겟 화자에 기초하여 합성 음성(480)를 생성하는 단계를 포함한다.
동작(1206)에서, 방법(1200)은 변동 임베딩(420)을 타겟 텍스트 및 타겟 화자와 페어링하는 단계를 포함한다. 동작(1208)에서, 방법(1200)은 기준 오디오 신호 없이 기준 인코더(500)에서 타겟 텍스트 및 타겟 화자를 수신하고, 그리고 타겟 텍스트 및 타겟 화자와 페어링된 변동 임베딩으로부터 분해된 제1 계층적 분수를 계산하는 단계를 포함하고, 제1 계층적 분수는 주어진 스타일을 제공한다. 동작(1210)에서, 방법(1200)은 제1 계층적 분수를 사용하여 변동 임베딩(420)과 연관된 제2 계층적 분수를 샘플링하는 단계를 포함한다. 여기서, 제2 계층적 분수를 샘플링하면 합성된 음성(480)이 동일한 주어진 스타일에 대해 어떻게 들리는지가 달라진다.
소프트웨어 애플리케이션(즉, 소프트웨어 리소스(자원))은 컴퓨팅 장치가 태스크를 수행하게 하는 컴퓨터 소프트웨어를 의미할 수 있다. 일부 예들에서, 소프트웨어 애플리케이션은 "애플리케이션", "앱" 또는 "프로그램"으로 지칭될 수 있다. 예제 애플리케이션에는 시스템 진단 애플리케이션, 시스템 관리 애플리케이션, 시스템 유지 관리 애플리케이션, 워드 프로세싱 애플리케이션, 스프레드시트 애플리케이션, 메시징 애플리케이션, 미디어 스트리밍 애플리케이션, 소셜 네트워킹 애플리케이션 및 게임 애플리케이션이 포함되지만 이에 국한되지는 않는다.
비일시적 메모리는 컴퓨팅 장치에서 사용하기 위해 임시 또는 영구적으로 프로그램(예: 명령어 시퀀스) 또는 데이터(예: 프로그램 상태 정보)를 저장하는 데 사용되는 물리적 장치일 수 있다. 비일시적 메모리는 휘발성 및/또는 비휘발성 주소 지정 가능 반도체 메모리일 수 있다. 비휘발성 메모리의 예에는 플래시 메모리 및 읽기 전용 메모리(ROM)/프로그램 가능 읽기 전용 메모리(PROM)/지우기 가능한 프로그램 가능 읽기 전용 메모리(EPROM)/전자적으로 지울 수 있는 프로그래밍 가능한 읽기 전용 메모리(EEPROM)(예: 일반적으로 부팅 프로그램과 같은 펌웨어에 사용됨)이 포함되지만 이에 국한되지는 않는다. 휘발성 메모리의 예에는 RAM(Random Access Memory), DRAM(Dynamic Random Access Memory), SRAM(Static Random Access Memory), PCM(Phase Change Memory) 및 디스크 또는 테이프가 포함되지만 이에 국한되지 않는다.
도 13은 본 명세서에 설명된 시스템 및 방법을 구현하는 데 사용될 수 있는 예시적인 컴퓨팅 장치(1300)의 개략도이다. 컴퓨팅 장치(1300)는 랩톱, 데스크탑, 워크스테이션, 개인용 디지털 보조 장치, 서버, 블레이드 서버, 메인프레임 및 기타 적절한 컴퓨터와 같은 다양한 형태의 디지털 컴퓨터를 나타내도록 의도된다. 여기에 표시된 컴포넌트들, 이들의 연결 및 관계 및 기능은 예시 일 뿐이며 본 명세서에서 설명 및/또는 청구된 발명의 구현을 제한하려는 것이 아니다.
컴퓨팅 장치(1300)는 프로세서(1310), 메모리(1320), 저장 장치(1330), 메모리(1320) 및 고속 확장 포트(1350)에 연결되는 고속 인터페이스/제어기(제어기)(1340) 및 저속 버스(1370) 및 저장 장치(1330)에 연결되는 저속 인터페이스/제어기(1360)를 포함한다. 각각의 컴포넌트(1310, 1320, 1330, 1340, 1350, 1360)는 다양한 버스를 사용하여 상호 연결되고, 공통 마더보드에 또는 적절한 다른 방식으로 장착 될 수 있다. 프로세서(1310)는 고속 인터페이스(1340)에 연결된 디스플레이(1370)와 같은 외부 입력/출력 장치에 그래픽 사용자 인터페이스(GUI)에 대한 그래픽 정보를 표시하기 위해 메모리(1320) 또는 저장 장치(1330)에 저장된 명령어를 포함하는, 컴퓨팅 장치(1300) 내에서 실행하기 위한 명령어를 처리(프로세싱)할 수 있다. 다른 구현에서, 다중 프로세서 및/또는 다중 버스가 다중 메모리 및 메모리 유형과 함께 적절하게 사용될 수 있다. 또한, 복수의 컴퓨팅 장치(1300)는 필요한 동작의 일부를 제공하는 각 장치(예를 들어, 서버 뱅크, 블레이드 서버 그룹 또는 다중 프로세서 시스템)와 연결될 수 있다.
메모리(1320)는 컴퓨팅 장치(1300) 내에 비-일시적으로 정보를 저장한다. 메모리(1320)는 컴퓨터 판독 가능 매체, 휘발성 메모리 유닛(들) 또는 비-휘발성 메모리 유닛(들)일 수 있다. 비-일시적 메모리(1320)는 컴퓨팅 장치(1300)에 의해 사용하기 위해 일시적 또는 영구적으로 프로그램(예를 들어, 명령어 시퀀스) 또는 데이터(예를 들어, 프로그램 상태 정보)를 저장하는 데 사용되는 물리적 장치일 수 있다. 예시적인 비-휘발성 메모리는 플래시 메모리 및 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) 및 디스크 또는 테이프가 포함되지만 이에 국한되지는 않는다.
저장 장치(1330)는 컴퓨팅 장치(1300)에 대용량 저장 장치를 제공할 수 있다. 일부 구현에서, 저장 장치(1330)는 컴퓨터 판독 가능 매체이다. 다양한 다른 구현에서, 저장 장치(1330)는 플로피 디스크 장치, 하드 디스크 장치, 광 디스크 장치 또는 테이프 장치, 플래시 메모리 또는 기타 유사한 솔리드 스테이트 메모리 장치 또는 저장(스토리지) 영역 네트워크 또는 기타 구성의 장치를 포함하는 장치 어레이일 수 있다. 추가 구현에서, 컴퓨터 프로그램 제품은 정보 매체에 유형적으로 구현된다. 컴퓨터 프로그램 제품에는 실행시 위에서 설명한 것과 같은 하나 이상의 방법을 수행하는 명령어가 포함되어 있다. 정보 매체는 메모리(1320), 저장 장치(1320) 또는 프로세서(1310)상의 메모리와 같은 컴퓨터 또는 기계 판독 가능 매체이다.
고속 제어기(1340)는 컴퓨팅 장치(1300)에 대한 대역폭 집약적인(bandwidth-intensive) 동작을 관리하는 반면, 저속 제어기(1360)는 낮은 대역폭 집약적인 동작을 관리한다. 이러한 업무 할당은 예시 일뿐이다. 일부 구현에서, 고속 제어기(1340)는 메모리(1320), 디스플레이(1380)(예를 들어, 그래픽 프로세서 또는 가속기를 통해) 및 다양한 확장 카드(미도시)를 수용할 수 있는 고속 확장 포트(1350)에 결합된다. 일부 구현에서, 저속 제어기(1360)는 저장 장치(1330) 및 저속 확장 포트(1390)에 결합된다. 다양한 통신 포트(예: USB, 블루투스, 이더넷, 무선 이더넷)를 포함할 수 있는 저속 확장 포트(1390)는 예를 들어 네트워크 어댑터를 통해, 키보드, 포인팅 장치, 스캐너 또는 스위치 또는 라우터와 같은 네트워킹 장치와 같은 하나 이상의 입력/출력 장치에 연결될 수 있다.
컴퓨팅 장치(1300)는 도면에 도시된 바와 같이 복수의 상이한 형태로 구현될 수 있다. 예를 들어, 표준 서버(1300a)로서 또는 그러한 서버(1300a)의 그룹에서 랩톱 컴퓨터(1300b)로서 또는 랙 서버 시스템(1300c)의 일부로서 여러번 구현될 수 있다.
여기에 설명된 시스템 및 기술의 다양한 구현은 디지털 전자 및/또는 광학 회로, 집적 회로, 특별히 설계된 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 (20)

  1. 임베딩 용량(embedding capacity)을 추정하기 위한 방법(1000)으로서,
    데이터 처리 하드웨어(1310) 상에서 실행하는 결정론적 기준 인코더(410)에서 기준 오디오 신호(412)를 수신하는 단계;
    상기 데이터 처리 하드웨어(1310)에 의해, 기준 오디오 신호(412)에 대응하는 기준 임베딩(550, 650)을 결정하는 단계 -기준 임베딩(550, 650)은 해당 임베딩 차원(dimensionality)을 가짐-;
    상기 데이터 처리 하드웨어(1310)에 의해, 상기 기준 임베딩(550, 650)의 해당 임베딩 차원의 함수로서의 제1 재구성 손실을 측정하는 단계;
    상기 데이터 처리 하드웨어(1310)에 의해, 변동 사후(variational posterior)로부터 변동 임베딩(420)을 획득하는 단계 -변동 임베딩(420)은 해당 임베딩 차원 및 지정된 용량을 가짐-;
    상기 데이터 처리 하드웨어(1310)에 의해, 상기 변동 임베딩(420)의 해당 임베딩 차원의 함수로서의 제2 재구성 손실을 측정하는 단계; 그리고
    데이터 처리 하드웨어(1310)에 의해, 기준 임베딩(550, 650)에 대한 측정된 제1 재구성 손실을 지정된 용량을 갖는 변동 임베딩(420)에 대한 측정된 제2 재구성 손실과 비교함으로써 기준 임베딩(550, 650)의 용량을 추정하는 단계를 포함하는 것을 특징으로 하는 임베딩 용량을 추정하기 위한 방법.
  2. 제1항에 있어서, 상기 기준 임베딩(550, 650)은 하이퍼볼릭탄젠트(tanh) 비선형성 프로소디(prosody) 임베딩(550)을 포함하는 것을 특징으로 하는 임베딩 용량을 추정하기 위한 방법.
  3. 제1항 또는 제2항에 있어서, 상기 기준 임베딩(550, 650)은 소프트맥스 비선형성 프로소디 임베딩(550)을 포함하는 것을 특징으로 하는 임베딩 용량을 추정하기 위한 방법.
  4. 제1항 내지 제3항 중 어느 한 항에 있어서, 상기 기준 임베딩(550, 650)은 스타일 임베딩(650)을 포함하는 것을 특징으로 하는 임베딩 용량을 추정하기 위한 방법.
  5. 제1항 내지 제4항 중 어느 한 항에 있어서, 상기 변동 임베딩(420)의 지정된 용량은 상기 변동 사후의 조정 가능한 변동 바운드(variational bound)에 기초하는 것을 특징으로 하는 임베딩 용량을 추정하기 위한 방법.
  6. 제5항에 있어서, 상기 조정 가능한 변동 바운드는 조정 가능한 KL 항을 포함하고, 상기 조정 가능한 KL 항은 상기 변동 임베딩(420)에 대한 상한(upper bound)을 제공하는 것을 특징으로 하는 임베딩 용량을 추정하기 위한 방법.
  7. 제5항에 있어서, 상기 조정 가능한 변동 바운드는 가변형(tunable) KL 가중치를 포함하고, 상기 가변형 KL 가중치는 상기 변동 임베딩에 대한 상한을 제공하는 것을 특징으로 하는 임베딩 용량을 추정하기 위한 방법.
  8. 제5항 내지 제7항 중 어느 한 항에 있어서, 상기 조정 가능한 변동 바운드를 증가시키는 것은 상기 변동 임베딩(420)의 지정된 용량을 증가시키는 것을 특징으로 하는 임베딩 용량을 추정하기 위한 방법.
  9. 제5항 내지 제8항 중 어느 한 항에 있어서, 상기 조정 가능한 변동 바운드를 감소시키는 것은 상기 변동 임베딩(420)의 지정된 용량을 감소시키는 것을 특징으로 하는 임베딩 용량을 추정하기 위한 방법.
  10. 제1항 내지 제9항 중 어느 한 항에 있어서, 상기 측정된 제1 및 제2 재구성 손실이 서로 일치할 때, 상기 기준 임베딩(550, 650)의 추정된 용량은 상기 변동 임베딩(420)의 용량과 실질적으로 동일한 것을 특징으로 하는 임베딩 용량을 추정하기 위한 방법.
  11. 시스템(1300)으로서,
    데이터 처리 하드웨어(1310); 그리고
    데이터 처리 하드웨어(1310)와 통신하는 메모리 하드웨어(1320)를 포함하며, 상기 메모리 하드웨어(1320)는 데이터 처리 하드웨어(1310) 상에서 실행될 때 데이터 처리 하드웨어(1310)로 하여금 동작들을 수행하게 하는 명령어들을 저장하며, 상기 동작들은,
    기준 오디오 신호(412)를 결정론적 기준 인코더(500)에서 수신하는 동작;
    상기 기준 오디오 신호(412)에 대응하는 기준 임베딩(550, 650)을 결정하는 동작 -상기 기준 임베딩(550, 650)은 해당 임베딩 차원을 가짐-;
    기준 임베딩(550, 650)의 해당 임베딩 차원의 함수로서의 제1 재구성 손실을 측정하는 동작;
    변동 사후로부터 변동 임베딩(420)을 획득하는 동작 -변동 임베딩(420)은 해당 임베딩 차원 및 지정된 용량을 가짐-;
    상기 변동 임베딩(420)의 해당 임베딩 차원의 함수로서의 제2 재구성 손실을 측정하는 동작; 그리고
    기준 임베딩(550, 650)에 대한 측정된 제1 재구성 손실을 지정된 용량을 갖는 변동 임베딩(420)에 대한 측정된 제2 재구성 손실과 비교함으로써 기준 임베딩(550, 650)의 용량을 추정하는 동작을 포함하는 것을 특징으로 하는 시스템.
  12. 제11항에 있어서, 상기 기준 임베딩(550, 650)은 하이퍼볼릭탄젠트(tanh) 비선형성 프로소디 임베딩(550)을 포함하는 것을 특징으로 하는 시스템.
  13. 제11항 또는 제12항에 있어서, 상기 기준 임베딩(550, 650)은 소프트맥스 비선형성 프로소디 임베딩(550)를 포함하는 것을 특징으로 하는 시스템.
  14. 제11항 내지 제13항 중 어느 한 항에 있어서, 상기 기준 임베딩(550, 650)은 스타일 임베딩(650)을 포함하는 것을 특징으로 하는 시스템.
  15. 제11항 내지 제14항 중 어느 한 항에 있어서, 상기 변동 임베딩(420)의 지정된 용량은 상기 변동 사후의 조정 가능한 변동 바운드에 기초하는 것을 특징으로 하는 시스템.
  16. 제15항에 있어서, 상기 조정 가능한 변동 바운드는 조정 가능한 KL 항을 포함하며, 상기 조정 가능한 KL 항은 상기 변동 임베딩(420)에 대한 상한을 제공하는 것을 특징으로 하는 시스템.
  17. 제15항 또는 제16항에 있어서, 상기 조정 가능한 변동 바운드는 가변형 KL 가중치를 포함하며, 상기 가변형 KL 가중치는 상기 변동 임베딩(420)에 대한 상한을 제공하는 것을 특징으로 하는 시스템.
  18. 제15항 내지 제17항 중 어느 한 항에 있어서, 상기 조정 가능한 변동 바운드를 증가시키는 것은 상기 변동 임베딩(420)의 지정된 용량을 증가시키는 것을 특징으로 하는 시스템.
  19. 제15항 내지 제18항 중 어느 한 항에 있어서, 상기 조정 가능한 변동 바운드를 감소시키는 것은 상기 변동 임베딩(420)의 지정된 용량을 감소시키는 것을 특징으로 하는 시스템.
  20. 제11항 내지 제19항 중 어느 한 항에 있어서,
    상기 측정된 제1 및 제2 재구성 손실이 서로 일치할 때, 상기 기준 임베딩(550, 650)의 추정된 용량은 상기 변동 임베딩(420)의 용량과 실질적으로 동일한 것을 특징으로 하는 시스템.
KR1020217039293A 2019-05-23 2020-05-20 표현 E2E(end-to-end) 음성 합성에서의 변동 임베딩 용량 KR102579843B1 (ko)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US201962851879P 2019-05-23 2019-05-23
US62/851,879 2019-05-23
PCT/US2020/033881 WO2020236990A1 (en) 2019-05-23 2020-05-20 Variational embedding capacity in expressive end-to-end speech synthesis

Publications (2)

Publication Number Publication Date
KR20220004721A true KR20220004721A (ko) 2022-01-11
KR102579843B1 KR102579843B1 (ko) 2023-09-18

Family

ID=70978714

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020217039293A KR102579843B1 (ko) 2019-05-23 2020-05-20 표현 E2E(end-to-end) 음성 합성에서의 변동 임베딩 용량

Country Status (6)

Country Link
US (3) US11222621B2 (ko)
EP (1) EP3966803A1 (ko)
JP (1) JP7108147B2 (ko)
KR (1) KR102579843B1 (ko)
CN (1) CN113874934A (ko)
WO (1) WO2020236990A1 (ko)

Families Citing this family (22)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR102327614B1 (ko) * 2018-05-11 2021-11-17 구글 엘엘씨 클록워크 계층적 변이 인코더
US11373633B2 (en) * 2019-09-27 2022-06-28 Amazon Technologies, Inc. Text-to-speech processing using input voice characteristic data
US11830473B2 (en) * 2020-01-21 2023-11-28 Samsung Electronics Co., Ltd. Expressive text-to-speech system and method
US11322133B2 (en) * 2020-07-21 2022-05-03 Adobe Inc. Expressive text-to-speech utilizing contextual word-level style tokens
US11798527B2 (en) * 2020-08-19 2023-10-24 Zhejiang Tonghu Ashun Intelligent Technology Co., Ltd. Systems and methods for synthesizing speech
CN112037760B (zh) * 2020-08-24 2022-01-07 北京百度网讯科技有限公司 语音频谱生成模型的训练方法、装置及电子设备
US11790884B1 (en) * 2020-10-28 2023-10-17 Electronic Arts Inc. Generating speech in the voice of a player of a video game
WO2022092474A1 (en) * 2020-10-30 2022-05-05 Samsung Electronics Co., Ltd. Method and system for assigning unique voice for electronic device
CN112712788A (zh) * 2020-12-24 2021-04-27 北京达佳互联信息技术有限公司 语音合成方法、语音合成模型的训练方法及装置
CN112674734B (zh) * 2020-12-29 2021-12-07 电子科技大学 一种基于监督Seq2Seq模型的脉搏信号噪声检测方法
CN112802450B (zh) * 2021-01-05 2022-11-18 杭州一知智能科技有限公司 一种韵律可控的中英文混合的语音合成方法及其系统
CN112951213B (zh) * 2021-02-09 2022-05-24 中国科学院自动化研究所 端到端的在线语音检测与识别方法、系统及设备
EP4292087A1 (en) * 2021-02-11 2023-12-20 Nuance Communications, Inc. First and second embedding of acoustic relative transfer functions
CN113012702A (zh) * 2021-02-22 2021-06-22 鹏城实验室 语音盲水印注入方法、装置、设备及存储介质
US11804214B2 (en) * 2021-02-26 2023-10-31 Walmart Apollo, Llc Methods and apparatuses for discriminative pre-training for low resource title compression
CN112687259B (zh) * 2021-03-11 2021-06-18 腾讯科技(深圳)有限公司 一种语音合成方法、装置以及可读存储介质
US20220392429A1 (en) * 2021-06-03 2022-12-08 International Business Machines Corporation Global prosody style transfer without text transcriptions
US11830476B1 (en) * 2021-06-08 2023-11-28 Amazon Technologies, Inc. Learned condition text-to-speech synthesis
US20230037892A1 (en) * 2021-07-28 2023-02-09 Xinapse Co., Ltd. Method and apparatus for generating speech training data
US20230099732A1 (en) * 2021-09-30 2023-03-30 Microsoft Technology Licensing, Llc Computing system for domain expressive text to speech
CN114333865A (zh) * 2021-12-22 2022-04-12 广州市百果园网络科技有限公司 一种模型训练以及音色转换方法、装置、设备及介质
CN116884391B (zh) * 2023-09-06 2023-12-01 中国科学院自动化研究所 基于扩散模型的多模态融合音频生成方法及装置

Family Cites Families (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8438018B2 (en) * 2006-02-06 2013-05-07 Telefonaktiebolaget Lm Ericsson (Publ) Method and arrangement for speech coding in wireless communication systems
US20070217626A1 (en) * 2006-03-17 2007-09-20 University Of Rochester Watermark Synchronization System and Method for Embedding in Features Tolerant to Errors in Feature Estimates at Receiver
US9431006B2 (en) * 2009-07-02 2016-08-30 Apple Inc. Methods and apparatuses for automatic speech recognition
US9666204B2 (en) 2014-04-30 2017-05-30 Qualcomm Incorporated Voice profile management and speech signal generation
BR112019004524B1 (pt) 2016-09-06 2023-11-07 Deepmind Technologies Limited Sistema de redes neurais, um ou mais meios de armazenamento legíveis por computador não transitório e método para gerar autorregressivamente uma sequência de saída de dados de áudio
US11069335B2 (en) * 2016-10-04 2021-07-20 Cerence Operating Company Speech synthesis using one or more recurrent neural networks
US10249289B2 (en) 2017-03-14 2019-04-02 Google Llc Text-to-speech synthesis using an autoencoder
KR102135865B1 (ko) 2017-03-29 2020-07-20 구글 엘엘씨 종단 간 텍스트 대 스피치 변환
US10068557B1 (en) * 2017-08-23 2018-09-04 Google Llc Generating music with deep neural networks
CN111566656B (zh) * 2018-01-11 2024-02-20 新智株式会社 利用多种语言文本语音合成模型的语音翻译方法及系统
US11238843B2 (en) * 2018-02-09 2022-02-01 Baidu Usa Llc Systems and methods for neural voice cloning with a few samples
WO2019169344A1 (en) * 2018-03-01 2019-09-06 Podop, Inc. User interface elements for content selection in media narrative presentation
WO2019200207A1 (en) * 2018-04-12 2019-10-17 Schlumberger Technology Corporation Disentanglement for inference on seismic data and generation of seismic data
KR20230043250A (ko) * 2018-05-17 2023-03-30 구글 엘엘씨 뉴럴 네트워크들을 사용하여 대상 화자의 음성으로 텍스트로부터의 스피치의 합성

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
Zhang et al., 'Learning latent representation for style control and transfer in end-to-end speech synthesis', ICASSP 2019, 12 May 2019. *

Also Published As

Publication number Publication date
JP2022528016A (ja) 2022-06-07
US11222621B2 (en) 2022-01-11
WO2020236990A1 (en) 2020-11-26
US20220101826A1 (en) 2022-03-31
CN113874934A (zh) 2021-12-31
US20230260504A1 (en) 2023-08-17
KR102579843B1 (ko) 2023-09-18
EP3966803A1 (en) 2022-03-16
US11646010B2 (en) 2023-05-09
US20200372897A1 (en) 2020-11-26
JP7108147B2 (ja) 2022-07-27

Similar Documents

Publication Publication Date Title
KR102579843B1 (ko) 표현 E2E(end-to-end) 음성 합성에서의 변동 임베딩 용량
KR102616214B1 (ko) E2E(End-to-end) 음성 합성 시스템에서 표현력 제어
US11538455B2 (en) Speech style transfer
Battenberg et al. Effective use of variational embedding capacity in expressive end-to-end speech synthesis
CN111771213B (zh) 语音风格迁移
US11823656B2 (en) Unsupervised parallel tacotron non-autoregressive and controllable text-to-speech
KR20230034423A (ko) 2-레벨 스피치 운율 전송
KR20200141497A (ko) 클록워크 계층적 변이 인코더
KR20230084229A (ko) 병렬 타코트론: 비-자동회귀 및 제어 가능한 tts
US20240087558A1 (en) Methods and systems for modifying speech generated by a text-to-speech synthesiser
CN116783647A (zh) 生成多样且自然的文本到语音样本
Eshghi et al. An Investigation of Features for Fundamental Frequency Pattern Prediction in Electrolaryngeal Speech Enhancement
Barakat et al. Deep learning-based expressive speech synthesis: a systematic review of approaches, challenges, and resources
Matoušek et al. VITS: quality vs. speed analysis
Lazaridis et al. SVR vs MLP for Phone Duration Modelling in HMM-based Speech Synthesis
Pekar A novel method for speaker adaptation in parametric speech synthesis
Cornille Controllable Expressive Speech Synthesis

Legal Events

Date Code Title Description
E902 Notification of reason for refusal
E701 Decision to grant or registration of patent right
GRNT Written decision to grant