티스토리 뷰

반응형

AILTTS: Adversarial Learning of Intermediate Acoustic Feature for End-to-End Lightweight Text-to-Speech


  • 기존의 text-to-speech는 mel-spectrogram과 같은 pre-defined feature에 의존하여 intermediate latent representation을 학습하므로 생성 품질의 한계가 있음
  • AILTTS
    • Latent representation에 prosody embedding을 추가하여 합성 품질을 향상
    • Training 중에 mel-spectrogram에서 reference prosody embedding을 추출하고, 추론 시에는 Generative Adversarial Network를 사용하여 text에서 해당 embedding을 추정
  • 논문 (INTERSPEECH 2023) : Paper Link

1. Introduction

  • Text-to-Speech (TTS)는 크게 autoregressive (AR), non-autoregressive (non-AR) 방식으로 나눌 수 있음
    • AR 방식은 고품질 합성이 가능하지만 parallel manner로 동작하기 어렵기 때문에 추론 속도가 느림
    • 반면 non-AR 방식은 parallel 합성이 가능하므로 빠른 추론 속도를 가짐
      1. 대표적으로 FastSpeech2는 mel-spectrogram과 같은 intermediate feature를 활용하여 acoustic information을 학습함
      2. BUT, mel-spectrogram에 충분한 speech variance information을 반영하기 어려우므로 합성 품질의 한계가 있음 

-> 그래서 text-to-waveform mapping에 필요한 variance information을 제공할 수 있는 lightweight TTS 모델인 AILTTS를 제안

 

  • AILTTS
    • Speech variance를 represent 하는 prosody-related acoustic feature를 추출하기 위해 prosody encoder를 도입
      - Prosody encoder의 output을 text-to-waveform conversion process를 위해 condition 되는 reference prosody embedding으로 구성함
    • 추론 시에는 text input에서 reference prosody embedding을 추정하는 prosody predictor를 채택
      - 이때 estimation power를 향상하기 위해 Generative Adversarial Network (GAN)을 prosody predictor에 적용

< Overall of AILTTS >

  • Prosody-related acoustic embedding을 conditioning 하여 single-stage TTS에 speech variance를 효과적으로 반영
  • Text에서 reference prosody embedding을 효과적으로 추정할 수 있도록 adversarial training을 도입
  • 결과적으로 prosody embedding을 통해 빠른 수렴 뛰어난 합성 품질을 달성

2. Method

- Overview

  • AILTTS는 LiteTTS를 baseline으로 하여 phoneme encoder, prosody encoder (posterior), prosody predictor (prior), internal aligner, auxiliary predictor, vocoder로 구성됨
    • Training process에서는 prosody encoder output (key, value)와 phoneme encoder output (query)에 attention을 적용하여 phoneme-scale prosody embedding $h_{pr}$을 얻음
    • 이후 internal aligner를 사용하여 joint embedding $h_{ph}+h_{pr}$을 mel-spectrogram으로 time-align 함
    • 최종적으로 얻어진 aligned embedding $I$를 conditioning 한 다음, vocoder를 통해 waveform을 생성함

Overall of AILTTS

- Prosody Predictor with Conditional Discriminator

  • Prosody predictor는 input phonetic embedding $h_{ph}$로부터 target prosody embedding $h_{pr}$을 예측하는 것을 목표로 함
    • 이때 논문은 prosody embedding의 dynamic nature를 반영하기 위해 discriminator를 활용함
      1. 해당 discriminator는 prosody predictor를 generator로 하여 phonetic information을 condition으로 target prosody embedding $h_{pr}$과 predicted embedding $\tilde{h}_{pr}$을 distinguish 함
        - Phonetic embbeding $h_{ph}$를 condition으로 하는 projection-based conditional discriminator를 사용
      2. 생성된 feature map과 target 간에 feature matching loss를 적용하여 GAN-based training을 stabilize 함
        - 여기서 feature map은 PostConv1D layer 이전의 모든 1D convolution layer의 output으로 정의됨
        - 1개의 PreConv1D layer와 나머지 6개 1D convolution block으로부터 총 7개의 feature map을 추출함
    • 논문은 discriminator를 설계하기 위해 2가지의 additional trick을 적용함 
      1. 먼저 phoneme domain 대신 aligned domain에서 2개의 prosody embedding을 distinguish 하는 discriminator를 사용
        - Mel-spectrogram의 timing information으로 align 된 $I$가 vocoder의 input으로 사용되기 때문

        - 이때 internal aligner에서 추정된 duration을 활용하여 phoneme-wise embedding의 time scale을 mel-spectrogram의 time scale에 align 함
      2. GPU memory constraint로 인해 vocoder와 동일한 receptive field를 가지도록 discriminator를 구축
    • 최종적으로 Least-Squares GAN의 loss를 기반으로 reconstruction loss $\mathcal{L}_{recon}$, feature matching loss $\mathcal{L}_{fm}$을 포함한 prosody predictor loss를 정의:
      (Eq. 1) $\mathcal{L}_{G}=\mathbb{E}_{(\tilde{H}_{pr},H_{pr})}[(D(\tilde{H}_{pr},H_{pr})-1)^{2}]+ \mathcal{L}_{recon}+\mathcal{L}_{fm}$
      (Eq. 2) $\mathcal{L}_{D}=\mathbb{E}_{(H_{pr},\tilde{H}_{pr},H_{ph})}[(D(H_{pr},H_{ph})-1)^{2}+( D(\tilde{H}_{ph},H_{ph}))^{2}]$
      - $\mathcal{L}_{recon}=||\tilde{H}_{pr}-H_{pr}||_{1}, \,\,\, \mathcal{L}_{fm}=\sum_{i=1}^{7}|| \tilde{F}_{pr}^{i}-F^{i}_{pr}||_{1}$
      - $H_{(\cdot)}$ : mel-spectrogram의 time-scale에 mapping 된 embedding
      - $F^{i}$ : discriminator의 $i$-th feature map

Conditional Discriminator, Auxiliary Predictor

- Prosody-Conditioned Internal Aligner

  • External aligner를 사용하지 않고 phoneme, mel-spectrogram 간의 time-alignment를 학습하기 위해 likelihood-based internal aligner를 채택함
    • 이때 encoded feature 간의 $L2$ distance로 계산된 probability matrix에 대해 monotonic alignment의 likelihood를 최대화함
      1. 이후 probability matrix에서 most probable path를 select 하고, phoneme duration (binary matrix)를 얻음
      2. 두 matrix 간의 gap은 KL-divergence를 최소화하여 reduce 됨
    • AILTTS의 aligner는 joint embedding $h_{ph}+h_{pr}$을 phonetic feature로, mel-spectrogram을 acoustic feature로 사용함
      - $h_{pr}$에는 attention module에 의해 phoneme-level로 mapping 된 local acoustic information이 포함되어 있으므로 $h_{ph}$만 사용하는 것보다 alignment를 학습하는 것이 쉬워짐
    • 논문에서는 FastSpeech2를 따라 stop-gradient를 적용하여 phonetic embedding $h_{ph}$를 accept 하는 duration predictor를 joint training 함
      - 결과적으로 해당 aligner를 통해 alignment accuracy를 향상하여 duration predictor가 duration을 정확하게 추정하도록 함

- Final Training Loss

  • 전체적인 training loss는:
    (Eq. 3) $\mathcal{L}_{total}=\mathcal{L}_{var}+\mathcal{L}_{align}+\mathcal{L}_{pred}+\mathcal{L}_{voc}+\mathcal{L}_{aux}$
    - $\mathcal{L}_{var}$ : prosody encoder의 output에 적용되는 pitch/energy prediction loss
    - $\mathcal{L}_{align}$ : duration predictor를 포함한 internal aligner에 대한 loss
    - $\mathcal{L}_{pred}, \mathcal{L}_{voc}$ : 각각 prosody predictor, vocoder에 대한 loss
    - $\mathcal{L}_{aux}$ : target mel-spectrogram과 auxiliary predictor의 output으로 얻어지는 predicted mel-spectrogram 간의 $L1$ loss
  • Auxiliary Predictor
    • Aligned embedding $I$에 acoustic information을 추가적으로 제공하기 위해, input이 $I$인 auxiliary predictor를 도입함
    • 해당 architecture는:
      1. PostConv1D layer의 output channel 수는 mel-spectrogram dimension으로 설정
      2. 모든 residual 1D convolutional block의 마지막 stage에 layer normalization을 적용
    • 이때 receptive field는 vocoder의 receptive field와 동일하므로 auxiliary predictor는 vocoder input $I$에 acoustic information을 효율적으로 제공할 수 있음
      - 특히 auxiliary predictor는 training stage에서만 사용되므로 parameter 수와 complexity는 증가하지 않음

3. Experiments

- Settings

- Results

  • 전체적으로 AILTTS는 LiteTTS 수준의 적은 parameter 수와 빠른 추론 속도를 가지면서 가장 높은 MOS를 달성함

모델 성능 비교

  • Ablation study 측면에서 discriminator와 aligner를 제거하면 성능 저하가 발생함

Ablation Study

  • 특히 $h_{ph}+h_{pr}$을 aligner input으로 사용하는 경우 early stage 동안 기존보다 빠르게 수렴함

모델 수렴 비교

 

반응형
댓글
최근에 올라온 글
최근에 달린 댓글
«   2025/01   »
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