티스토리 뷰
Paper/TTS
[Paper 리뷰] Light-TTS: Lightweight Multi-Speaker Multi-Lingual Text-to-Speech
feVeRin 2024. 7. 10. 09:43반응형
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를 보임
- 이를 해결하기 위해 FastSpeech는 pre-trained autoregressive model의 attention alignment matrix에서 phoneme duration을 추출하는 방식을 활용함
- 해당 duration predictor를 통해 time-consuming 한 alignement 학습에 대한 의존도를 제거할 수 있음
- 추가적으로 FastSpeech의 Feed-Forward Transformer 구조는 parallel 합성을 지원할 수 있음
- BUT, Feed-Forward Transformer는 self-attention layer로 인해 input feature length의 제곱에 비례하는 많은 memory가 요구됨
- 한편으로 multi-speaker TTS를 위해서는 빠른 합성 속도 외에도 높은 expressiveness가 필요함
- 이를 해결하기 위해 FastSpeech는 pre-trained autoregressive model의 attention alignment matrix에서 phoneme duration을 추출하는 방식을 활용함
-> 그래서 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 수라고 하자
- 그러면 DC는 input text embedding을 channel dimension에 따라 서로 다른 group으로 나눈 다음
- 동일한 group의 weight는 linear layer를 통해 current word embedding으로부터 dynamically predict하고, group convolution으로 share 함
- 이후 DC는 각 group에 depthwise convolution을 적용하여 동일한 group 내의 서로 다른 channel을 parallel 하게 계산할 수 있음
- 여기서 $K$를 lightweight convolution의 kernel size, $d$를 word embedding dimension, $H$를 group 수라고 하자
- 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을 활용함
- 먼저 input을 channel dimension을 따라 동일한 length의 두 부분으로 나눈 다음, dynamic convolution을 사용하여 local context $t$를 추출함
- 이후 self-attention이나 relative self-attention을 적용하여 global context를 얻고, model characterization capability를 향상하기 위해 해당 context를 fusion 함
- 최종적으로 기존의 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를 도입함
- 즉, 서로 다른 speaker identity를 distinguish 하는 additional condition으로써 x-vector를 추출하고
- x-vector를 $z$-score로 normalize 하여 encoder output과 concatenate 함
- 이때 language embedding과 language ID를 반영하여 multi-lingual TTS를 지원함
- 최종적으로 PostNet은 5-layer convolutional network로 구성되어 mel-spectrogram을 refine 하는 additional residual information을 반영함
- 구조적으로 encoder, decoder는 다음과 같이 lightweight transformer-like feed-forward block을 활용함
- 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 함
- 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를 사용하지만, 다음의 차이점을 가짐
- 더 나은 Text-Speech alignment를 위해 guided attention loss를 적용
- 생성된 mel-spectrogram의 contextual relevance와 semantic integrity를 향상하기 위해, decoder가 각 time step에서 2개의 mel-spectrogram frame을 output 하도록 하는 multi-frame output strategy를 채택
- Multi-speaker TTS를 위해 encoder output과 concatenate 되는 x-vector를 도입
- 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
4. Experiments
- Settings
- Dataset : LibriTTS, THCHS30, AIdatatang-200zh
- Comparisons : TransformerTTS, FastSpeech
- Results
- Light-TTS는 최대 2.5배의 추론 속도 향상과 34.74배의 parameter 절감 효과를 보임
- MOS 측면에서도 기존 FastSpeech와 동일한 수준의 합성 품질을 유지함
반응형
'Paper > TTS' 카테고리의 다른 글
댓글