티스토리 뷰
Paper/TTS
[Paper 리뷰] VALL-T: Decoder-Only Generative Transducer for Robust and Decoding-Controllable Text-to-Speech
feVeRin 2025. 5. 12. 17:27반응형
VALL-T: Decoder-Only Generative Transducer for Robust and Decoding-Controllable Text-to-Speech
- Decoder-only text-to-speech model은 monotonic alignment constraint가 부족하여 mispronunciation, word skipping, repeating 등의 문제가 발생함
- VALL-T
- Decoder-only Transformer를 유지하면서 input phoneme sequence에 대한 relative position embedding을 도입
- Monotonic generation process를 explicitly indicate 하여 zero-shot text-to-speech에 대한 robustness를 향상
- 논문 (ICASSP 2025) : Paper Link
1. Introduction
- Text-to-Speech (TTS)는 input, output sequence 간의 strict order를 maintain 하는 monotonic sequence-to-sequence task에 해당함
- 이를 위해 FastSpeech2, Grad-TTS, UniCATS, NaturalSpeech2 등의 non-autoregressive TTS model은 explicit duration prediction module을 integrate 함
- Training 이전에 target duration은 일반적으로 Viterbi forced alignment algorithm으로 derive 됨 - 한편으로 VQTTS와 같이 discrete token을 활용하여 TTS를 수행할 수도 있음
- 특히 VALL-E, SPEAR-TTS와 같이 decoder-only large Transformer architecture를 채택하면 naturalness를 더욱 향상할 수 있음
- 추가적으로 주어진 speech prompt로부터 in-context learning, autoregressive continuation을 통해 zero-shot speaker adaptation을 수행할 수 있음 - BUT, 해당 decoder-only model은 기존 non-autoregressive model과 달리 explicit duration modeling을 사용하지 않음
- 결과적으로 monotonic alignment constraint가 부족하기 때문에 mispronunciation, word skipping, repeating 등의 문제가 발생함
- 특히 VALL-E, SPEAR-TTS와 같이 decoder-only large Transformer architecture를 채택하면 naturalness를 더욱 향상할 수 있음
- 이를 위해 FastSpeech2, Grad-TTS, UniCATS, NaturalSpeech2 등의 non-autoregressive TTS model은 explicit duration prediction module을 integrate 함
-> 그래서 decoder-only model에서 monotonic alignment constraint를 maintain 할 수 있는 VALL-T를 제안
- VALL-T
- Monotonic sequence-to-sequence task를 위한 Transducer를 채택
- 추가적으로 shifted relative position을 도입하여 3개의 separate module을 single decoder-only Transformer architecture로 integrate
- 추론 시에는 relative position을 left-to-right로 shift 하여 monotonic generation process를 explicitly guide
< Overall of VALL-T >
- Decoder-only Transformer architecture를 유지하면서 monotonic alignment constraint를 반영한 TTS model
- 결과적으로 기존보다 우수한 성능을 달성
2. Background
- Transducer는 monotonic sequence-to-sequence task를 위해 설계됨
- 구조적으로는 encoder, prediction network, joint network로 구성됨
- 여기서 prediction network는 RNN, LSTM과 같은 autoregressive network를 사용함
- 특히 transducer는 input, output sequence 간의 alignment boundary를 signify 하는 special output token인 blank $\varnothing$을 도입함
- 이때 $\mathcal{Y}$를 output token의 vocabulary, $\bar{\mathcal{Y}}=\mathcal{Y}\cup\{\varnothing\}$을 extended vocabulary라 하고, input sequence $\mathbf{x}$의 length를 $T$, output sequence $\mathbf{y}$의 length를 $U$, extended vocabulary $\bar{\mathcal{Y}}$의 size를 $\bar{V}$라고 하자
- Training 시 encoder, prediction network는 두 sequence $\mathbf{x},\mathbf{y}$를 encode 하여 encoded hidden sequence $\mathbf{f},\mathbf{g}$를 생성함
- 이후 joint network는 $\mathbf{f},\mathbf{g}$를 all possible position에서 combine 하고 next output token을 predict 함
- 여기서 grid의 bottom left에서 top right로의 각 path $\bar{\mathbf{y}}$는 $\mathbf{x},\mathbf{y}$ 간의 alignment를 represent 하고, 이때 length는 $T+U$가 됨 - 그러면 Transducer의 training criterion은 all possible alignment path $\bar{\mathbf{y}}$의 probability summation $\mathbf{Pr}(\mathbf{y}|\mathbf{x})$를 maximize 하는 것과 같음
- 이후 joint network는 $\mathbf{f},\mathbf{g}$를 all possible position에서 combine 하고 next output token을 predict 함
- 추론 시 prediction network는 blank token $\varnothing$이 emerge 할 때마다 $\mathbf{f}_{0}$에서 $\mathbf{f}_{T-1}$로 slide 하는 sliced input hidden vector를 condition으로 하여 next token을 autoregressively predict 함
- 구조적으로는 encoder, prediction network, joint network로 구성됨
3. Method
- Modularized Transducer는 generation task에 적용하기 까다로움
- 일반적으로 joint network는 few linear projection layer로 구성된 small network이고 prediction network는 LSTM이나 Transformer를 사용하기 때문
- 해당 architecture는 input condition이 joint network에 reach 할 때까지 generation process에 incorporate 되지 않고 input condition을 integrate 하기에 너무 작음
- 특히 modularized Transducer는 spcific position을 denote 하기 위해 slicing이 필요함 - 결과적으로 joint network는 input context를 explicitly perceive 할 수 없으므로, conditional generation task에서 활용하기 어려움
- 해당 architecture는 input condition이 joint network에 reach 할 때까지 generation process에 incorporate 되지 않고 input condition을 integrate 하기에 너무 작음
- 따라서 VALL-T는 encoder, prediction network, joint network를 single decoder-only Transformer architecture로 integrate 하고 relative position embedding을 적용하는 것을 목표로 함
- 일반적으로 joint network는 few linear projection layer로 구성된 small network이고 prediction network는 LSTM이나 Transformer를 사용하기 때문
- Training
- VALL-T는 decoder-only architecture를 기반으로 VALL-E를 따라 input phoneme과 output speech token을 time axis를 따라 concatenate 하여 unified sequence로써 model에 전달함
- 이때 Transformer는 input token에 대한 specific time order가 없으므로 position embedding을 사용함
- Input sequence에 대한 position index는 $[0,T-1]$ range를 가지고, sinusoidal function을 통해 position embedding으로 convert 됨
- Output sequence는 beginning에 additional $\text{<sos>}$ token을 include 하여 $[0,U]$의 position index를 가짐 - 여기서 논문은 output sequence에 triangular attention mask를 적용하여 autoregressive generation을 지원함
- 해당 mask는 각 speech token이 previous token만을 attend 하도록 보장하여 output의 proper sequential order를 maintain 함
- Input sequence에 대한 position index는 $[0,T-1]$ range를 가지고, sinusoidal function을 통해 position embedding으로 convert 됨
- 추가적으로 VALL-T는 input token에 대해 additional relative position index를 도입함
- 여기서 relative position index 0은 synthesis 중인 current phoneme을 specify 하고 left phoneme은 -1부터 시작하는 negative position index가 assign 됨
- Right phoneme은 1부터 시작하는 positive position index가 assign 됨 - 해당 relative position index는 absolute position embedding과 동일한 sinusoidal function을 통해 relative position embedding으로 convert 됨
- 결과적으로 absolute, relative position embedding은 input phoneme embedding에 add 된 다음, decoder-only Transformer에 전달됨
- 이를 통해 model은 relative position이 0인 current phoneme과 preceding, subsequent context에 해당하는 phoneme에 대한 awareness를 얻을 수 있음
- 여기서 relative position index 0은 synthesis 중인 current phoneme을 specify 하고 left phoneme은 -1부터 시작하는 negative position index가 assign 됨
- Blank token $\varnothing$은 각 phoneme end를 나타내는 marker로써 동작하고, decoder-only Transformer 이후의 output projection은 hidden sequence를 extended vocabulary size $\bar{V}$로 project 함
- 결과적으로 length $U+1$의 projected hidden sequence는 softmax function을 통해 output distribution을 represent 하는 sequence를 생성함 - Transducer loss는 $T\times (U+1)$ shape의 alignment grid로부터 compute 됨
- 특히 VALL-T는 decoder-only model의 output sequence를 relative position index 0으로 indicate 되는 grid 내의 column으로 처리함
- 이후 all possible relative position에 대해 iterating 하면서 alignment grid를 구성함
- 이를 기반으로 논문은 grid에서 probability $p(\mathbf{y}|\mathbf{x})$를 maximize 하는 Transducer loss를 compute 함
- 특히 VALL-T는 decoder-only model의 output sequence를 relative position index 0으로 indicate 되는 grid 내의 column으로 처리함
- 이때 Transformer는 input token에 대한 specific time order가 없으므로 position embedding을 사용함
- Monotonic Auto-Regressive Inference
- Speech prompt가 없는 autoregressive inference의 경우:
- 먼저 relative position 0이 first phoneme에 designate 되어 $\text{<sos>}$ token을 시작으로 speech generation을 수행함
- 이후 model은 blank token $\varnothing$이 emerge 할 때까지 input phoneme token과 previously generated speech token을 autoregressively produce 함
- 여기서 $\varnothing$은 first phoneme의 generation에 대한 completion을 의미하고 relative position의 shift를 trigger 함 - 결과적으로 last phoneme의 $\varnothing$이 나타날 때까지 위 과정을 iteratively conduct 하여 input phoneme sequence에 대한 entire generation을 수행함
- 이후 model은 blank token $\varnothing$이 emerge 할 때까지 input phoneme token과 previously generated speech token을 autoregressively produce 함
- 이때 VALL-T는 training 과정에서 Transducer loss를 통해 relative position 0에 assign 된 phoneme에 대한 speech token generation을 보장할 수 있음
- 따라서 decoding 과정의 step-by-step shifting operation은 monotonic generation을 facilitate 하므로, hallucination에 대한 robustness가 향상됨
- 먼저 relative position 0이 first phoneme에 designate 되어 $\text{<sos>}$ token을 시작으로 speech generation을 수행함
- Zero-shot speaker adaptation을 위한 speech prompt integration의 경우:
- Speech prompt의 phoneme transcript는 input sequence의 start에 추가되고 speech prompt 자체는 output sequence의 beginning에 추가됨
- 두 sequence 다음에는 각각 생성할 input phoneme과 output speech token이 이어짐 - 이때 speech prompt가 제공되므로, 논문은 prompt transcript 다음에 오는 first phoneme에 relative position 0을 assign 하여 speech continuation을 수행함
- 마찬가지로 relative position은 $\varnothing$이 emerge 할 때마다 shift 되고, final phoneme까지 repeat 됨
- Speech prompt의 phoneme transcript는 input sequence의 start에 추가되고 speech prompt 자체는 output sequence의 beginning에 추가됨
4. Experiments
- Settings
- Dataset : LibriTTS
- Comparisons : VALL-E
- Results
- 전체적으로 VALL-T가 우수한 성능을 보임
- Alignment Analysis
- Alignment analysis를 위해 speech $\mathbf{y}$와 transcript $\mathbf{x}$가 주어졌을 때, 모든 relative position을 iterate 하여 $T\times (U+1)$ shape의 alignment grid $\mathbf{p}$를 calculate 함
- 결과적으로 VALL-T는 relative position embedding을 사용하여 input/output sequence 간의 alignment를 correctly modeling 함
반응형
'Paper > TTS' 카테고리의 다른 글
댓글