티스토리 뷰

반응형

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를 수행할 수도 있음
      1. 특히 VALL-E, SPEAR-TTS와 같이 decoder-only large Transformer architecture를 채택하면 naturalness를 더욱 향상할 수 있음
        - 추가적으로 주어진 speech prompt로부터 in-context learning, autoregressive continuation을 통해 zero-shot speaker adaptation을 수행할 수 있음
      2. BUT, 해당 decoder-only model은 기존 non-autoregressive model과 달리 explicit duration modeling을 사용하지 않음
        - 결과적으로 monotonic alignment constraint가 부족하기 때문에 mispronunciation, word skipping, repeating 등의 문제가 발생함

-> 그래서 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로 구성됨
      1. 여기서 prediction network는 RNN, LSTM과 같은 autoregressive network를 사용함
      2. 특히 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}$를 생성함
      1. 이후 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$가 됨
      2. 그러면 Transducer의 training criterion은 all possible alignment path $\bar{\mathbf{y}}$의 probability summation $\mathbf{Pr}(\mathbf{y}|\mathbf{x})$를 maximize 하는 것과 같음
    • 추론 시 prediction network는 blank token $\varnothing$이 emerge 할 때마다 $\mathbf{f}_{0}$에서 $\mathbf{f}_{T-1}$로 slide 하는 sliced input hidden vector를 condition으로 하여 next token을 autoregressively predict 함

3. Method

  • Modularized Transducer는 generation task에 적용하기 까다로움
    • 일반적으로 joint network는 few linear projection layer로 구성된 small network이고 prediction network는 LSTM이나 Transformer를 사용하기 때문
      1. 해당 architecture는 input condition이 joint network에 reach 할 때까지 generation process에 incorporate 되지 않고 input condition을 integrate 하기에 너무 작음
        - 특히 modularized Transducer는 spcific position을 denote 하기 위해 slicing이 필요함
      2. 결과적으로 joint network는 input context를 explicitly perceive 할 수 없으므로, conditional generation task에서 활용하기 어려움
    • 따라서 VALL-T는 encoder, prediction network, joint network를 single decoder-only Transformer architecture로 integrate 하고 relative position embedding을 적용하는 것을 목표로 함

Overall of VALL-T

- 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을 사용함
      1. 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를 가짐
      2. 여기서 논문은 output sequence에 triangular attention mask를 적용하여 autoregressive generation을 지원함
        - 해당 mask는 각 speech token이 previous token만을 attend 하도록 보장하여 output의 proper sequential order를 maintain 함
    • 추가적으로 VALL-T는 input token에 대해 additional relative position index를 도입함
      1. 여기서 relative position index 0은 synthesis 중인 current phoneme을 specify 하고 left phoneme은 -1부터 시작하는 negative position index가 assign 됨
        - Right phoneme은 1부터 시작하는 positive position index가 assign 됨
      2. 해당 relative position index는 absolute position embedding과 동일한 sinusoidal function을 통해 relative position embedding으로 convert 됨
      3. 결과적으로 absolute, relative position embedding은 input phoneme embedding에 add 된 다음, decoder-only Transformer에 전달됨
        - 이를 통해 model은 relative position이 0인 current phoneme과 preceding, subsequent context에 해당하는 phoneme에 대한 awareness를 얻을 수 있음
    • 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 됨
      1. 특히 VALL-T는 decoder-only model의 output sequence를 relative position index 0으로 indicate 되는 grid 내의 column으로 처리함
      2. 이후 all possible relative position에 대해 iterating 하면서 alignment grid를 구성함
        - 이를 기반으로 논문은 grid에서 probability $p(\mathbf{y}|\mathbf{x})$를 maximize 하는 Transducer loss를 compute 함

- Monotonic Auto-Regressive Inference

  • Speech prompt가 없는 autoregressive inference의 경우:
    • 먼저 relative position 0이 first phoneme에 designate 되어 $\text{<sos>}$ token을 시작으로 speech generation을 수행함 
      1. 이후 model은 blank token $\varnothing$이 emerge 할 때까지 input phoneme token과 previously generated speech token을 autoregressively produce 함
        - 여기서 $\varnothing$은 first phoneme의 generation에 대한 completion을 의미하고 relative position의 shift를 trigger 함
      2. 결과적으로 last phoneme의 $\varnothing$이 나타날 때까지 위 과정을 iteratively conduct 하여 input phoneme sequence에 대한 entire generation을 수행함 
    • 이때 VALL-T는 training 과정에서 Transducer loss를 통해 relative position 0에 assign 된 phoneme에 대한 speech token generation을 보장할 수 있음
      - 따라서 decoding 과정의 step-by-step shifting operation은 monotonic generation을 facilitate 하므로, hallucination에 대한 robustness가 향상됨
  • 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 됨

4. Experiments

- Settings

  • Dataset : LibriTTS
  • Comparisons : VALL-E

- Results

  • 전체적으로 VALL-T가 우수한 성능을 보임

Model 성능 비교

  • 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 함

Alignment Analysis

 

반응형
댓글
최근에 올라온 글
최근에 달린 댓글
«   2025/06   »
1 2 3 4 5 6 7
8 9 10 11 12 13 14
15 16 17 18 19 20 21
22 23 24 25 26 27 28
29 30
Total
Today
Yesterday