티스토리 뷰
Paper/TTS
[Paper 리뷰] Eden-TTS: A Simple and Efficient Parallel Text-to-Speech Architecture with Collaborative Duration-Alignment Learning
feVeRin 2024. 5. 8. 11:03반응형
Eden-TTS: A Simple and Efficient Parallel Text-to-Speech Architecture with Collaborative Duration-Alignment Learning
- Text-to-Speech에서 빠른 추론 속도는 non-autoregressive model를 통해 달성될 수 있고, 이때 parallel synthesis를 위해 text-speech alignment를 학습하는 것이 중요함
- BUT, 기존 방식들은 복잡한 training procedure나 external aligner가 필요 - Eden-TTS
- Single fully-differentiable model에서 duration prediction, text-speech alignment, speech generation을 jointly learning 하는 parallel synthesis model
- 빠르고 안정적인 수렴을 가능하게 하는 alignment guidance를 위해 energy-modulated attention mechanism을 도입
- 논문 (INTERSPEECH 2023) : Paper Link
1. Introduction
- Text-to-Speech (TTS) 모델은 learning target으로 주로 mel-spectrogram을 사용함
- Tacotron2와 같은 autoregressive model은 in-domain text에 대해 고품질의 음성을 합성할 수 있지만, 상당히 느린 추론 속도를 가지고, long utterance에 대해 missing/repeated word가 나타남
- TTS 합성 속도를 높이기 위해서는 non-autoregressive 모델과 같은 parallel architecture를 활용할 수 있고, 이때 모델은 input text와 output speech의 alignment를 학습할 수 있어야 함
- 대표적으로 FastSpeech, FastPitch 등은 alignment guidance를 위해 pre-trained autoregressive 모델이나 Montreal Forced Aligner와 같은 external aligner를 사용
- 이러한 방식은 aligner를 training하고 추출하는 과정이 time-consuming 하고 추출된 alignment가 sub-optimal 할 수 있다는 한계가 있음 - Flow-TTS, EfficientTTS 등과 같이 external aligner를 사용하지 않고 alignment와 speech prediction을 jointly learning 할 수도 있음
- 이러한 방식은 대부분 non-differentiable하고 scheduled training process가 필요하다는 단점이 있음
- 대표적으로 FastSpeech, FastPitch 등은 alignment guidance를 위해 pre-trained autoregressive 모델이나 Montreal Forced Aligner와 같은 external aligner를 사용
-> 그래서 빠르고 안정적인 parallel TTS를 위한 non-autoregressive 모델인 Eden-TTS를 제안
- Eden-TTS
- External aligner 없이도 duration, alignment 등을 jointly learning할 수 있는 fully differentiable feed-forward TTS architecture를 활용
- Monotonic alignment learning을 guide할 수 있는 energy-modulated attention mechanism을 제시
- Text-mel alignment에 대한 direct modulation을 통해 빠른 수렴을 가능하게 함
< Overall of Eden-TTS >
- Single fully-differentiable model에서 duration prediction, text-speech alignment, speech generation을 jointly learning 하는 parallel synthesis model
- 빠르고 안정적인 수렴을 가능하게 하는 alignment guidance를 위해 energy-modulated attention mechanism을 도입
- 결과적으로 기존 보다 우수한 합성 품질과 빠른 추론 속도를 달성
2. Method
- TTS에서는 input token duration과 text-speech alignment가 밀접하게 관련되어 있음
- 특히 대부분의 parallel TTS 모델은 추론 시 alignment를 위해 duration에 의존함
- 따라서 이를 위해 Eden-TTS는 collaborative duarion-alignment learning process를 제시
- 먼저 text, speech feature의 monotonic guidance를 사용하여 initial alignment를 계산함
- 이후 guided alignment에서 token duration을 계산하고
- 최종적으로 speech prediction을 위한 duration을 사용하여 monotonic alignment를 구성
- Text-speech alignment, duration, speech prediction은 위 과정을 통해 jointly learning 됨
- Architecture
- Eden-TTS의 전체 architecture는 아래 그림과 같음
- Training stage에서,
- Text encoder는 text token sequence를 hidden feature로 encode 하고, mel encoder는 mel-spectrogram을 처리하여 해당 hidden sequence를 output 함
- 이후 guided aligner는 text와 mel feature 간의 적절한 initial alignment를 계산하고, duration extractor에 의해 token duration을 추출함
- 추출된 duration은 duration predictor의 target으로 사용됨 - Monotonic aligner는 duration으로부터 hard text-mel alignment를 구성하고 time-aligned text feature를 계산
- 최종적으로 aligned-feature는 speech prediction을 위해 decoder로 전달됨
- Inference stage에서,
- Duration predictor는 encoded text feature로부터 token duration을 예측
- Monotonic aligner는 예측된 duration을 기반으로 alignment를 구성하고 time-aligned feature를 output 한 다음, mel prediction에 사용함
- Training stage에서,
- Text and Mel Encoder
- Text encoder는 embedding layer, linear layer, Feed-Forward Transformer (FFT) block으로 구성됨
- 이때 FastSpeech와 같이 self-attention과 1D convolution으로 이루어진 FFT block을 사용
- Self-attention network는 cross-position information을 추출하기 위한 multi-head attention으로 구성됨 - 결과적으로 text encoder는 length $N$의 token sequence $\mathbf{x}=(x_{0},x_{1},...,x_{N-1})$을 hidden representation $\mathbf{h}=(\mathbf{h}_{0},\mathbf{h}_{1},...,\mathbf{h}_{N-1})$로 처리함
- Mel encoder는 length $T$의 mel-spectrogram을 처리하고 해당 hidden representation $\mathbf{m}=(\mathbf{m}_{0},\mathbf{m}_{1},...,\mathbf{m}_{T-1})$을 output 함
- 구조적으로는 linear layer 다음에 residual connection, Leaky ReLU를 포함하는 convolution layer로 구성된 CNN block을 활용
- 이때 FastSpeech와 같이 self-attention과 1D convolution으로 이루어진 FFT block을 사용
- Guided Aligner
- Guided aligner는 training 중에 적절한 initial text-speech alignment를 제공하여 token duration을 얻을 수 있도록 함
- 이때 guided aligner로써 scaled-dot product attention을 활용할 수 있음:
(Eq. 1) $\alpha_{n,t}=\frac{e^{-(\mathbf{h}_{n}\cdot\mathbf{m}_{t})/\sqrt{D}}}{\sum_{i=0}^{N-1}e^{-(\mathbf{h}_{i}\cdot\mathbf{m}_{t})/\sqrt{D}}}$
- $\mathbf{m}, \mathbf{h}$ : 각각 mel-spectrogram과 text의 encoded feature, $D$ : dimensionality - TTS에서 text-speech alignment는 monotonic 하고 surjective 해야 함
- 즉, $\alpha$는 diagonal 근처에서는 큰 값을 가져야 하고, diagonal 바깥에서는 작은 값을 가져야 함 - 특히 token duration과 alignment는 밀접하게 관련되어 있음
- BUT, scaled-dot attention은 alignment에 대한 constraint가 없기 때문에 duration extractor로부터 reasonable 한 token duration을 얻기 어려움
- 한편으로 해당 attention을 monotonic 하게 guide 하기 위해서 기존에 제시된 guided loss function이나 attention matrix에 대한 diagonal prior의 사용을 고려할 수 있음
- BUT, guided loss의 constraint가 충분히 강력하지 않기 때문에 Eden-TTS에서 해당 방식은 효과적으로 동작하지 않음
- Diagonal prior 방식도 non-differentiable 하기 때문에 적합하지 않음
- 따라서 Eden-TTS는 alignment score $\alpha_{n,t}$가 해당 energy $\mathbf{h}_{n}\cdot\mathbf{m}_{t}$에 의해 결정된다는 것을 기반으로 하여, weighting을 통해 energy term을 modulate 하는 방식을 제안:
(Eq. 2) $\alpha_{n,t}=\frac{e^{-(w_{n,t}\mathbf{h}_{n}\cdot\mathbf{m}_{t})/\sqrt{D}}}{\sum_{i=0}^{N-1}e^{-(w_{i,t}\mathbf{h}_{i}\cdot\mathbf{m}_{t})/\sqrt{D}}}$
- 여기서 weight $w_{n,t}$ 는:
(Eq. 3) $w_{n,t}=e^{-(n/(N-1)-t/(T-1))^{2}/(2g^{2})}$
- $g$ : $\mathbf{w}$의 diagonal form을 control하는 hyperparameter, 논문에서는 $g=0.2$로 설정 - 아래 그림과 같이 weight matrix $\mathbf{w}$의 값들을 시각화하면,
- $\mathbf{w}$의 값이 diagonal 근처에서는 크고 바깥에서는 작기 때문에, diagonal을 벗어나는 energy는 penalize 되고 diagnoal 근처의 energy는 거의 그대로 유지되므로 attention을 기존과 유사하게 유지됨
- 즉, 단순한 weighting만으로 Eden-TTS는 training 중에 alignment를 directly constraint 할 수 있음 - 모델이 수렴되면 text와 speech 간의 guided alignment는 아래의 (b)와 같이 monotonic 하게 나타남
- 특히 energy weight를 제거하는 경우에도 alignment는 (c)와 같이 monotonic하게 나타남
- 이는 guided aligner가 monotonic alignment를 생성하는 방법을 학습한다는 것을 의미 - 결과적으로 guided alignment를 기반으로 Eden-TTS는 (d)의 monotonic alignment를 얻을 수 있음
- $\mathbf{w}$의 값이 diagonal 근처에서는 크고 바깥에서는 작기 때문에, diagonal을 벗어나는 energy는 penalize 되고 diagnoal 근처의 energy는 거의 그대로 유지되므로 attention을 기존과 유사하게 유지됨
- 이때 guided aligner로써 scaled-dot product attention을 활용할 수 있음:
- Duration Extractor and Predictor
- 각 token의 duration은 해당 token에 attend 된 mel-spectrogram의 수로 정의할 수 있지만, 이는 non-differentiable 하므로 한계가 있음
- 따라서 Eden-TTS의 duration extractor는 alignment score와 speech feature를 summing 하여 각 token의 duration을 계산함:
(Eq. 4) $d_{n}=\sum_{i=0}^{T-1}\alpha_{n,i},\,\,\,n=0,1,...,N-1$
- $d_{n}$ : $n$-th token의 duration
- 이때 (Eq. 4)의 계산이 reasonable 하려면 alignment guidance와 architecture의 full differentiability에 의해 달성되는 alignment는 monotonic 해야 함 - 한편으로 duration은 training 중에 duration predictor의 learning target으로 사용되고 이때 duration predictor는 FastSpeech의 architecture를 따름
- ReLU activation이 포함된 2개의 convolution layer로 구성되고, 각 convolution은 layer normalization, logarithmic duration $\ln \hat{d}$을 output 하는 linear layer로 구성됨 - 여기서 duration loss는:
(Eq. 5) $L_{dur}=\frac{1}{N}\sum_{n=0}^{N-1}| \ln d_{n}-\ln \hat{d}_{n}|$
- 따라서 Eden-TTS의 duration extractor는 alignment score와 speech feature를 summing 하여 각 token의 duration을 계산함:
- Monotonic Aligner
- Monotonic Aligner는 duration으로부터 monotonic text-mel alignment를 구성한 다음, decoder에 대한 time-aligned text feature를 계산함
- 먼저, 각 token의 end position $e_{n}=\sum_{i=0}^{n}d_{i}$과 center position $c_{n}=e_{n}-0.5d_{n}$을 계산하자
- 그러면 monotonic alignment는:
(Eq. 6) $\beta_{t,n}=\frac{e^{-\sigma^{-2}(t-c_{n})^{2}}}{\sum_{i=0}^{N-1}e^{-\sigma^{-2}(t-c_{i})^{2}}}$
- 논문에서는 $\sigma^{-2} = 0.2$로 설정 - 최종적으로 time-aligned text representation은:
(Eq. 7) $\gamma_{t}=\sum_{n=0}^{N-1}\beta_{t,n}\mathbf{h}_{n}, \,\,\, t=0,...,T-1$
- 먼저, 각 token의 end position $e_{n}=\sum_{i=0}^{n}d_{i}$과 center position $c_{n}=e_{n}-0.5d_{n}$을 계산하자
- Decoder
- Decoder는 aligned text feature를 처리하여 mel-spectrogram을 output 함
- 구조적으로는 linear layer, mel encoder와 동일한 CNN block, mel-spectrogram output을 위한 linear layer, tacotron2-style postnet으로 구성됨
- 이때 mel-spectrogram 예측에 대한 loss는 $L_{mel}=(\text{mel}-\hat{\text{mel}})^{2}$이고, Eden-TTS의 total loss는 duration loss와 mel loss의 합, $L_{tot}=L_{mel}+L_{dur}$으로 정의됨
- 결과적으로 Eden-TTS arhchitecture의 모든 계산은 differentiable 함
- 특히 EfficientTTS와 비교하여 제안된 Eden-TTS는 guided alignment에 대한 간단한 summation으로 token duration을 계산할 수 있음
3. Experiments
- Settings
- Dataset : LJSpeech
- Comparisons : Tacotron2, Glow-TTS, EfficientTTS
- Results
- Eden-TTS는 MOS와 time cost 측면에서 가장 합리적인 성능을 보임
- Ablation study 측면에서, energy-modulated attention은 training stability와 빠른 수렴에 큰 영향을 주는 것으로 나타남
반응형
'Paper > TTS' 카테고리의 다른 글
댓글