티스토리 뷰

반응형

DCTTS: Discrete Diffusion Model with Contrastive Learning for Text-to-Speech Generation


  • Text-to-Speech에서 latent diffusion model을 우수한 성능을 보이고 있지만, resource consumption이 크고 추론 속도가 느림
  • DCTTS
    • Discrete diffusion model과 contrastive learning을 결합한 text-to-speech 모델
    • 간단한 text encoder와 VQ model을 사용하여 raw data를 discrete space로 compress 한 다음, discrete space에서 diffusion model을 training 함
    • 이때 diffusion step 수를 줄이기 위해 contrastive learning loss를 적용
  • 논문 (ICASSP 2024) : Paper Link

1. Introduction

  • Text-to-Speech (TTS)는 input text로부터 자연스러운 음성을 생성하는 것을 목표로 함
    • 특히 Diffusion Probabilistic Model (DPM)은 powerful TTS backbone으로써 우수한 성능을 보이고 있음
      - 이러한 DPM은 variational lower bound에 prior를 추가하여 음성과 text 간의 연결성을 implicit 하게 학습함
      - BUT, diffusion model은 우수한 품질을 얻을 수 있지만, 여전히 느린 추론 속도의 한계가 있음
    • Diffusion model의 느린 추론 속도 문제는 mel-spectrogram과 같은 high-dimensional raw speech feature와 과도한 diffusion step으로 인해 발생함
      - 이를 근본적으로 해결하기 위해서는 data space를 일반적인 continuous latent가 아닌 discrete space로 compress 할 수 있어야 함

-> 그래서 expensive prediction cost를 줄이고, 더 적은 diffusion step으로도 고품질의 음성을 합성할 수 있는 DCTTS를 제안

 

  • DCTTS
    • TTS 작업에서 discrete diffusion model과 contrastive learning을 결합
      - Diffusion model의 data dimension을 compress 하고 computational efficiency를 향상
    • Text와 음성의 alignment를 위해 discrete space에 대해 Text-wise Contrastive Learning Loss (TCLL)를 적용
      - 더 적은 step으로 high-fidelity의 sample을 생성
    • Parameter 수와 computation cost를 더욱 줄이기 위해 efficient text encoder를 도입

< Overall of DCTTS >

  • Discrete diffusion model과 contrastive learning을 결합한 text-to-speech 모델
  • 간단한 text encoder와 VQ model을 사용하여 raw data를 discrete space로 compress 하고 contrastive learning loss를 적용함
  • 결과적으로 기존 모델들보다 빠르고 고품질의 합성이 가능

2. Method

  • DCTTS는 spectrogram VQ model, text encoder, discrete contrastive diffusion model의 3 부분으로 구성됨
    1. High-dimensional raw spectrogram을 discrete space로 compress 하기 위해 spectrogram VQ model을 pre-train 함
    2. 이후 text encoder는 input text에서 text feature를 추출함
    3. Conditional diffusion model은 text feature에 따라 discrete token sequence를 예측하는 데 사용되고, discrete token sequence는 spectrogram VQ decoder에 의해 mel-spectrogram으로 decoding 됨

- Spectrogram VQ Model

  • Diffusion model의 computational cost를 줄이는 것은 data dimension을 줄이는 것으로 해결할 수 있음 
    • 따라서 DCTTS는 vector quantization을 위한 spectrogram VQ model을 도입해 raw spectrogram을 discrete space에 mapping 함 
      1. 이때 spectrogram은 spectrogram token group으로 represent 될 수 있으므로 spectrogram 생성은 discrete token sequence 예측으로 transfer 됨
      2. 이를 통해 computation cost를 크게 줄일 수 있고, 이후의 diffusion model이 expensive 한 raw spectrogram 예측 대신 discrete space에서 동작하도록 함
    • Spectrogram VQ model은 discrete codebook에서 retrieve 된 compressed intermediate representation을 사용하여 spectrogram input을 근사하도록 training 됨 
      - 구조적으로는 encoder $E_{vq}$, decoder $G$, codebook $Z=\{z_{k}\}_{k=1}^{K}\in \mathbb {R}^{K\times d}$로 구성
      - $K$ : codebook size, $d$ : code dimension
    • Frequency dimension $F$, time dimension $L$을 가지는 spectrogram $s\in\mathbb{R}^{F\times L}$이 주어지면,
      1. 먼저 input $s$는 small-scale representation $z\in E_{vq}(s)\in\mathbb{R}^{f\times l \times d}$으로 encoding 됨
        - $f\times l$ : reduced frequency, time dimension ($f\times l \ll F\times L$), $d$ : embedding dimension
      2. 이후 $(f,l)$의 모든 $(i,j)$에 대해, 각 spatial feature $z_{ij}$를 가장 가까운 codebook entry $z_{k}$에 mapping 하는 spatial-wise quantizer $Q(.)$을 사용하여 spectrogram token의 spatial collection $z_{q}$를 얻음:
        (Eq. 1) $z_{q}=Q(z):=\left(\arg \min_{z_{k}\in z}|| z_{ij}-z_{k}||_{2}^{2}\right)$
      3. 다음으로 해당 spectrogram은 decoder를 통해 $\hat{s}=G(z_{q})$와 같이 reconstruction 될 수 있음
        - 여기서 smaller-scale representation에서 upsampling 할 때 reconstruction 품질을 유지하기 위해 추가적인 discriminator를 사용하는 VQGAN을 활용

Overall of DCTTS

- Text Encoder

  • Text encoder는 input text에서 text representation을 추출하는 것을 목표로 함
    • 기존에는 CLIP이나 BERT 같은 large pre-trained model을 사용하므로 parameter 수가 증가하고 expensive 함
      - 따라서 cost를 줄이기 위해서는 보다 효율적인 text encoder 구성이 필요함
      - 특히 최근의 EfficientSpeechFastSpeech2를 기반으로 하여 효율적이고 고품질의 합성 성능을 제시했음
    • 따라서 DCTTS는 EfficientSpeech의 architecture를 활용하여 phoneme encoder와 acoustic feature extractor로 구성된 efficient text encoder를 도입함
      1. 먼저 phoneme encoder는 g2p를 통해 얻은 input phoneme에서 content feature를 추출함
      2. Acoustic feature extractor는 content feature로부터 energy $y_{e}$, pitch $y_{p}$, duration $y_{d}$를 예측함
        - 이때 acoustic feature를 series로 예측하는 대신 parallel 하게 생성하여 빠른 추론 속도를 달성
      3. 이후 content, acoustic feature는 text feature와 concatenate 되어 diffusion model의 input으로 사용됨

- Discrete Diffusion Model with Contrastive Learning

  • Data dimension은 VQ model을 사용하여 compress 되므로, text feature에 따라 discrete token sequence를 예측하도록 diffsuion model을 training 하여 추론을 수행할 수 있음
    • 여기서 diffusion model의 training은 forward/reverse process로 구성
      1. 먼저 text-spectrogram pair가 주어지면 pre-trained spectrogram VQ model을 사용하여 discrete spectrogram token sequence $z\in \mathbb{Z}^{N}$를 얻음
        - $N=f\times l$ : token sequence length
        - 이때 codebook size가 $K$라고 하면 location $i$의 spectrogram token $z_{i}$는 codebook의 entry를 지정하는 index를 specify 함 (즉, $z_{i}\in\{1,2,...,k\}$)
      2. Forward phase에서는 Mask-and-Replace diffusion strategy를 사용하여 spectrogram token을 corrupt 함
        - 이때 diffusion strategy는 Markov chain을 따르면서, 각 token은 $[MASK]$ token에 의해 masking 될 확률 $\gamma_{t}$를 가지고 모든 $K$ category에 대해 uniformly resample 될 확률 $K\beta_{t}$를 가짐
        - 이때 $\alpha_{t}=1-k\beta_{t}-\gamma_{t}$의 확률은 변경되지 않고 $[MASK]$ token은 fix 된 상태로 유지됨 
      3. Reverse phase에서 transformer DPM block은 condition input을 기반으로 corrupted token sequence를 예측하고 recover 하도록 training 됨
        - Condition $c$를 text encoder의 text feature라고 하면, 전체 TTS framework는 conditional transition distribution $q(x|c)$를 최대화하는 것으로 볼 수 있음
        - 여기서 network $p_{\theta}(x_{t-1}|x_{t},y)$는 posterior transition distribution $q_{\theta}(x_{t-1}|x_{t},x_{0})$을 추정하도록 training 되고, 해당 network는 variational lower bound를 최소화하는 것으로 최적화됨
    • TTS에서는 text와 음성 간의 correspondence가 매우 중요하고, 합성 품질과 직접적으로 관련되어 있음
      - Text와 음성이 misalign 되어 있으면 reapeating, dragging과 같은 mispronunciation 문제가 발생함

      - 따라서 DCTTS의 text feature 역시 discrete spectrogram token과 good correspondence를 유지해야 함
    • 이러한 alignment connection을 향상하기 위해 DCTTS는 contrastive learning을 도입함 
      1. 여기서 $I(z_{0};c)=\sum_{z_{0}}p_{\theta}(z_{0},c)\log \frac{p_{\theta}(z_{0}|c)}{p_{\theta}(z_{0})}$로 정의된 mutual information을 최대화하여 $c$와 생성된 data $z_{0}$ 간의 connection을 향상하는 것을 목표로 함 
      2. $N$개의 negative sample $X'=\{x_{1},x_{2},...,x_{N}\}$에서 quantify된 spectrogram sequence $Z'=\{z_{1},z_{2},...,z_{N}\}$이 있다고 하자
      3. 그러면 similar text는 similar spectrogram token을 가져야하고, contrastive learning의 degree를 control하기 위해 $f(z_{0},c)$를 정의하여 text feature의 similarity를 계산할 수 있음
      4. 결과적으로 DCTTS에 적용되는 Text-wise Contrastive Learning Loss (TCLL)은:
        (Eq. 2) $L_{TCLL}:=-\mathbb{E}\left[\log \frac{f(z_{0},c)}{f(z_{0},c)+\sum_{z_{j}\in Z'}\{f(z_{j},c)(1-\mathrm{sim}(c,c_{j})) \}}\right]$
        - $\mathrm{sim}(c,c_{j})$ : $c, c_{j}$ 간의 Cosine similarity
    • 결과적으로 위 TCLL을 최적화함으로써 $I(z_{0};c)$를 최대화할 수 있고, 논문에서는 step-wise parallel diffusion을 기반으로 diffusion model에 TCLL을 추가함

3. Experiments

- Settings

- Results

  • MOS 측면에서 합성 품질을 비교해 보면, DCTTS가 가장 우수한 것으로 나타남

성능 비교 결과

  • DCTTS는 효율성 측면에서도 다른 모델들보다 더 적은 parameter와 GFLOP을 보임
    - 결과적으로 DCTTS는 GPU에서 73.9 mRTF와 CPU에서 17.6 mRTF를 달성함

합성 속도 비교

  • 한편으로 Text-aware Contrastive Learning Loss (TCLL)이 제거되는 경우, DCTTS의 성능은 저하되는 것으로 나타남

Ablation Study 결과

 

반응형
댓글
최근에 올라온 글
최근에 달린 댓글
«   2024/12   »
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 31
Total
Today
Yesterday