티스토리 뷰

반응형

Light-TTS: Lightweight Multi-Speaker Multi-Lingual Text-to-Speech


  • Text-to-Speech 모델은 대부분 attention-based autoregressive model이므로 합성 속도가 느리고 model parameter가 크다는 한계가 있음
  • Light-TTS
    • Non-autoregressive model을 기반으로 빠른 음성 합성을 지원
    • 다양한 language의 code-switch가 가능한 multi-lingual system을 구성
  • 논문 (ICASSP 2021) : Paper Link

1. Introduction

  • 일반적으로 Text-to-Speech (TTS) 모델은 text-speech alignment를 학습하기 위해 attention mechanism에 기반한 autoregressive system을 활용하므로 낮은 training efficiency를 보임
    • 이를 해결하기 위해 FastSpeechpre-trained autoregressive model의 attention alignment matrix에서 phoneme duration을 추출하는 방식을 활용함
      1. 해당 duration predictor를 통해 time-consuming 한 alignement 학습에 대한 의존도를 제거할 수 있음
      2. 추가적으로 FastSpeech의 Feed-Forward Transformer 구조는 parallel 합성을 지원할 수 있음
        - BUT, Feed-Forward Transformer는 self-attention layer로 인해 input feature length의 제곱에 비례하는 많은 memory가 요구됨
    • 한편으로 multi-speaker TTS를 위해서는 빠른 합성 속도 외에도 높은 expressiveness가 필요함

-> 그래서 TTS 모델의 self-attention parameter를 줄이면서 expressiveness를 향상한 lightweight multi-speaker TTS 모델인 Light-TTS를 제안

 

  • Light-TTS
    • Self-attention layer를 통해 global information을 학습하고 convolution network로는 relative-offset-based local information을 학습한 다음, 두 information을 fusion 해 semantic representation ability를 향상
    • 추가적으로 multi-speaker를 위해 x-vector를 도입하고 speaker ID, language embedding을 통해 code-switching을 지원
    • 최종적으로 sequence-level knowledge distillation을 적용하여 parameter 수를 절감

< Overall of Light-TTS >

  • FastSpeech를 기반으로 multi-speaker, multi-lingual 합성을 지원하는 경량 TTS 모델
  • 결과적으로 기존의 합성 품질을 그대로 유지하면서 빠른 합성 속도를 달성 

2. Background

  • Light-TTS는 parameter와 complexity를 줄이면서 모델 성능을 보장하기 위해 sequence-level knowledge distillation을 적용하는 것을 목표로 함
    - 구조적으로는 x-vector, language ID, language embedding을 통해 multiple language의 음성을 합성

- Dynamic Convolution

  • Dynamic Convolution (DC)는 depthwise convolution과 group convolution을 통해 parameter 수를 절감하고 서로 다른 feature channel을 parallel하게 계산할 수 있는 lightweight convolutional network
    • 여기서 $K$를 lightweight convolution의 kernel size, $d$를 word embedding dimension, $H$를 group 수라고 하자
      1. 그러면 DC는 input text embedding을 channel dimension에 따라 서로 다른 group으로 나눈 다음 
      2. 동일한 group의 weight는 linear layer를 통해 current word embedding으로부터 dynamically predict하고, group convolution으로 share 함
    • 이후 DC는 각 group에 depthwise convolution을 적용하여 동일한 group 내의 서로 다른 channel을 parallel 하게 계산할 수 있음 

Dynamic Convnolution

- Relative Positional Encoding

  • 일반적으로 transformer는 absolute position encoding을 사용하여 finite length의 sequence만 encoding 하도록 sequence의 position information을 annotate 함
    • 따라서 long sequence의 경우, 각 segement 간의 interaction 없이 segement 되므로 representation ability가 제한됨
    • 이때 relative positional encoding을 활용하면 long sequence를 segmenting 하지 않고 relative position을 dynamically predict 할 수 있음
      - 이를 통해 self-attention module은 다양한 input length에 대해 generalize 될 수 있고, input length에 robustness 해짐

3. Light-TTS

  • Light-TTS는 빠른 음성 합성과 controllability를 지원하는 FastSpeech를 기반으로 구성됨
    • 구조적으로 encoder, decoder는 다음과 같이 lightweight transformer-like feed-forward block을 활용함
      1. 먼저 input을 channel dimension을 따라 동일한 length의 두 부분으로 나눈 다음, dynamic convolution을 사용하여 local context $t$를 추출함
      2. 이후 self-attention이나 relative self-attention을 적용하여 global context를 얻고, model characterization capability를 향상하기 위해 해당 context를 fusion 함
      3. 최종적으로 기존의 feed-forward network 대신, depthwise convolution과 group convolution을 도입하여 parameter 수와 complexity를 줄임
    • 각 character의 duration을 예측하기 위해 Light-TTS는 duration prediction network를 도입함
      - 이때 self-attention mechanism 없이 time-dimension을 따라 length regulator를 통해 mel-spectrogram과 동일한 length로 encoder output을 expand 함
    • Encoder의 경우 input은 short text embedding sequence로 구성되므로 absolute positional encoding을 사용하고, decoder의 input은 legnth expansion으로 인해 long sequence가 되므로 relative positional encoding을 사용
    • 추가적으로 논문은 multi-speaker TTS를 위해 x-vector를 도입함
      1. 즉, 서로 다른 speaker identity를 distinguish 하는 additional condition으로써 x-vector를 추출하고
      2. x-vector를 $z$-score로 normalize 하여 encoder output과 concatenate 함
      3. 이때 language embedding과 language ID를 반영하여 multi-lingual TTS를 지원함
    • 최종적으로 PostNet은 5-layer convolutional network로 구성되어 mel-spectrogram을 refine 하는 additional residual information을 반영함

Overall of Light-TTS

- Language Embedding and Language ID

  • English, Chinese를 각각 represent 하기 위한 language ID로써, 논문은 $\text{<EN>}, \text{<ZH>}$의 special symbol을 사용함
    • 이때 아래 그림과 같이 다양한 language의 음성을 합성할 수 있도록 input text에 language ID를 삽입함
    • Code-switch의 경우, 두 language ID는 language switching point에 삽입됨
    • 구조적으로 language embedding은 2-dimensional one-hot embedding을 사용하고, text embedding의 각 vector와 concatenate 하여 다양한 language를 finely control 함

Language ID 예시

- Low-Rank Approximation

  • Light-TTS의 dictionary는 English letter와 Chinese pinyin을 결합한 large embedding matrix로 구성됨
    • 이때 논문은 low-rank approximation을 도입해 해당 parameter를 $M*N$에서 $M*k+k*N, \,\, (k <M, N)$으로 줄임
    • $M$ : dictionary size, $N$ : word embedding dimension, $k$ : intermediate vector dimension

- Sequence-Level Knowledge Distillation

  • Non-autoregressive model은 autoregressive model보다 빠르게 동작하지만, decoder의 parallel computation으로 인해 output에 context-dependency가 부족하므로 unnatural 한 음성이 생성될 수 있음
    • 이를 해결하기 위해 논문은 sequence-level knowledge distillation을 채택함
    • 이때 Teacher model로써 FastSpeech와 비슷하게 TransformerTTS를 사용하지만, 다음의 차이점을 가짐
      1. 더 나은 Text-Speech alignment를 위해 guided attention loss를 적용
      2. 생성된 mel-spectrogram의 contextual relevance와 semantic integrity를 향상하기 위해, decoder가 각 time step에서 2개의 mel-spectrogram frame을 output 하도록 하는 multi-frame output strategy를 채택
      3. Multi-speaker TTS를 위해 encoder output과 concatenate 되는 x-vector를 도입
      4. Pitch, energy information을 additional prosodic information으로 사용하고, pitch/energy pre-network를 통해 high-level representation을 TransformerTTS에 반영
    • 위 과정을 통해 TransformerTTS로부터 pitch/energy information은 Light-TTS로 implicitly pass 됨
      - 결과적으로 Light-TTS는 추가적인 pitch/energy prediction network를 사용하지 않고도 teacher model과 유사한 수준의 음성을 합성할 수 있음
    • 이때 Light-TTS의 training objective는:
      (Eq. 1) $\mathcal{L}_{light}=L1(y,y')+MSE(d,d')$
      - $y$ : teacher model로 생성된 target mel-spectrogram, $y'$ : Light-TTS로 예측된 mel-spectrogram
      - $d$ : teacher model에서 추출된 duration, $d'$ : Light-TTS에서 예측된 duration
      - $L1$ : Mean Absolute Error, $MSE$ : Mean Squared Error

Teacher Model 구성

4. Experiments

- Settings

  • Dataset : LibriTTS, THCHS30, AIdatatang-200zh
  • Comparisons : TransformerTTS, FastSpeech

- Results

  • Light-TTS는 최대 2.5배의 추론 속도 향상과 34.74배의 parameter 절감 효과를 보임

전체 성능 비교

  • MOS 측면에서도 기존 FastSpeech와 동일한 수준의 합성 품질을 유지함

합성 품질 비교

 

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