티스토리 뷰
Paper/TTS
[Paper 리뷰] MSMC-TTS: Multi-Stage Multi-Codebook VQ-VAE based Neural TTS
feVeRin 2024. 6. 8. 13:28반응형
MSMC-TTS: Multi-Stage Multi-Codebook VQ-VAE based Neural TTS
- Vector-quantized, compact speech representation을 도입하여 neural text-to-speech의 성능을 향상할 수 있음
- MSMC-TTS
- Vector-Quantized Variational AutoEncoder based feature를 채택하여 acoustic feature를 서로 다른 time resolution의 sequence로 encoding 하고, 이를 multiple codebook으로 quantize 함
- Prediction 과정에서는 multi-stage predictor는 Euclidean distance와 triplet loss를 최소화하여 input text sequence를 Multi-Stage Multi-Codebook Representation에 stage-wise로 mapping 함
- 논문 (TASLP 2023) : Paper Link
1. Introduction
- Text-to-Speech (TTS)는 text를 해당하는 speech audio로 변환하는 것을 목표로 하고, 특히 neural network를 활용하는 neural TTS는 high-fidelity의 성능을 보이고 있음
- 일반적으로 neural TTS framework는 아래 그림과 같이 analysis, prediction, synthesis로 구성됨
- Analysis에서 raw waveform은 signal processing을 통해 pitch, line spectrum, mel-cepstra 등의 acoustic feature sequence로 compress 됨
- Waveform과 비교하여 해당 feature는 더 짧은 sequence length와 더 적은 parameter로 speech를 나타낼 수 있으므로 text에서 더 쉬운 prediction이 가능함 - 이후 해당 feature로부터 waveform을 reconstruct 하기 위해 nerual vocoder를 적용함
- 대표적으로 WaveGlow, MelGAN 등을 사용할 수 있고, 이를 통해 acoustic model로부터 예측된 acoustic feature를 처리하여 TTS를 수행할 수 있음
- Analysis에서 raw waveform은 signal processing을 통해 pitch, line spectrum, mel-cepstra 등의 acoustic feature sequence로 compress 됨
- BUT, 예측된 acoustic feature로부터 합성된 audio는 ground-truth acoustic feature로 합성된 audio와 동일한 수준의 fidelity를 달성할 수 없음
- Acoustic model의 prediction error로 인해 예측된 feature는 낮은 품질을 가지기 때문 - 특히, prediction error는 ground-truth의 distribution과 차이를 만들기 때문에, ground-truth feature 만으로 training 된 vocoder에서 out-of-domain data에 대한 generalization 문제를 일으킴
- 한편으로 해당 문제를 해결하기 위해 기존에는 다음의 방법들이 도입됨
- Self-attention based model을 도입하여 sequential modeling 성능을 향상하는 방법
- Generative Adversarial Network (GAN), Flow-based 등의 generative model을 활용하는 방법
- Target waveform과 예측된 acoustic feature를 align 하고 fine-tuned vocoder를 사용하는 방법
- Acoustic feature를 사용하지 않고 text representation을 waveform에 직접 mapping 하는 end-to-end 방법 - BUT, 이러한 기존의 model-oriented approach들은 modeling complexity가 높고 training/inference를 위한 많은 computing resource가 필요함
- 따라서, speech feature representation 측면에서 해당 문제들을 접근하는 것이 필요함
- 한편으로 해당 문제를 해결하기 위해 기존에는 다음의 방법들이 도입됨
- 일반적으로 neural TTS framework는 아래 그림과 같이 analysis, prediction, synthesis로 구성됨
- 일반적으로 speech representation은 richer information을 반영하기 위해 higher dimension이나 larger space volume으로 할당되지만, overly large space는 input/output으로 사용될 때 overfit 또는 underfit 될 수 있음
- 즉, large representation은 acoustic model의 prediction error를 증가시키고 vocoder의 generalization을 약화시킴
- 따라서 고품질 TTS를 보장하기 위해 좋은 speech representation은 다음을 고려해야 함:
- Completeness : target speech는 speech representation으로부터 well-reconstruct 될 수 있어야 함 (self-consistency)
- Compactness : target speech는 적은 parameter와 small space volume으로 represent 될 수 있어야 함
- 즉, speech representation은 high completness를 통해 high-fidelity의 reconstruction을 달성하면서 효과적인 prediction을 위한 high compactness를 보장해야 함
- 이때 representation learning에서 주로 활용되는 autoencoder는 encoder-decoder architecture를 기반으로 target data의 latent representation을 학습할 수 있음
- 여기서 input feature는 encoder에 의해 latent representation으로 변환되고, decoder에 의해 reconstruct 됨
- 즉, reconstruction 품질이 좋을수록 representation의 completness가 높아짐 - 한편으로 latent representation의 sparsity와 compactness를 control 하기 위해 다양한 constraint를 적용할 수 있음
- 특히 vector-quantized variational autoencoder (VQ-VAE)를 통한 discrete latent representation은 뛰어난 compactness를 보임

-> 그래서 completeness, compactness를 모두 만족하는 speech representation을 얻기 위해 VQ-VAE를 채택한 MSMC-TTS를 제안
- MSMC-TTS
- 먼저 neural vocoder에서 일반적으로 사용되면서 충분한 completeness를 가지는 mel-spectrogram을 기반으로 compact speech representation을 construct 하는 feature analyzer를 training
- 이후, 해당 high-compactness representation의 completeness를 보완하기 위해 Multi-Stage Multi-Codebook (MSMC) approach를 도입
- 이때 multi-codebook은 richer representation을 얻기 위해 vector를 quantize 하고, 서로 다른 time resolution에서 speech information을 equally preserve 하기 위해 speech sequence를 multiple sub-sequence로 quantize 함 - 결과적으로 MSMC-TTS는 위 과정을 통해 얻어지는 Multi-Stage Multi-Codebook Representation (MSMCR)을 통해 text로부터 speech audio를 생성
- 여기서 MSMCR은 feature analyzer로 추출되고, nerual vocoder에 의해 audio로 reconstruct 됨
- 추가적으로 multi-stage predictor는 input text의 resolution에서 MSMCR을 예측하는 acoustic model로써, MSE와 triplet loss를 결합한 loss function으로 training 됨
< Overall of MSMC-TTS >
- Completeness, compactness를 만족하는 speech representation을 얻기 위해 VQ-VAE 기반의 MSMC approach를 도입하고, 해당 MSMCR을 활용하여 reconstruction을 수행
- 결과적으로 기존보다 고품질의 TTS 성능을 달성
2. Vector Quantization-based Compact Speech Representation
- Vector Quantized Variational AutoEncoder
- VQ-VAE는 encoder-decoder architecture를 기반으로 target data로부터 discrete latent representation을 학습하는 것을 목표로 함
- 아래 그림과 같이 VQ-VAE는 encoder, decoder, VQ operation으로 구성됨
- 먼저, input speech sequence
은 encoderx={x1,x2,...,xL} 를 통해 encoding됨:E
(Eq. 1)˜z=E(x) - 그러면 vector-quantized latent representation
는:z
(Eq. 2)z=Q(˜z;c)
- :c dimension을 가지는N 개의 codeword를 포함하는 codebookM - 각 latent vector
에 대해 quantizer˜zi 는 representation을 모든 codeword와 compare 하고, Euclidean distance에 따라 가장 가까운 것을 quantized outputQ 로 선택함:zi
(Eq. 3)zi=cj∗wherej∗=argmin - 최종적으로, output speech sequence
는 decoder 를 통해 reconstruct 됨:
(Eq. 4)
- 먼저, input speech sequence
- Training 시 VQ-VAE는
간의 Euclidean distance를 최소화하여 speech reconstruction을 학습함
- BUT, non-differentiable VQ operation으로 인해 decoder의 gradient는 encoder로 backpropagate 되지 않음 - 따라서 논문은 encoder training을 위해,
사이의 Euclidean distance를 최소화하는 additional loss term을 도입하고, 이때 complete loss function은:
(Eq. 5)
- : Euclidean distance, : stop-gradient operation, : coefficient - Codebook 내의 codeword는 exponential moving average를 사용해 update 됨:
(Eq. 6)
- : 각각 -th training iteration에서 mini-batch 로 quantize 된 hidden vector 의 수와 합
- : 0~1 사이의 coefficient로 논문에서는 0.99로 설정
- 아래 그림과 같이 VQ-VAE는 encoder, decoder, VQ operation으로 구성됨

- Compactness of Vector-Quantized Representation
- Acoustic feature sequence는 index sequence로 represent 될 수 있음
개의 number로 구성된 vector (number 당 bits)를 에서 range를 가지는 하나의 integer로 compress 할 때의 compression rate 은:
(Eq. 7)
- 이를 통해, 80-dim Mel-spectrogram (32-bit float-point number)을 배로 compress 할 수 있음- Compression ratio가 높을수록 feature compactness는 높아지지만, information loss도 증가하므로 feature completeness는 낮아짐
- 따라서 고품질 reconstruction을 위해, 논문은 해당 VQ-representation (VQR)을 더욱 최적화할 수 있는 multi-stage multi-codebook approach를 도입함
3. Multi-Stage Multi-Codebook VQ-VAE
- MSMC-VQ-VAE based feature analyzer는 speech sequence를 Multi-Stage Multi-Codebook Representation (MSMCR)로 stage-wise로 encode 하는 것을 목표로 함
- 즉, 서로 다른 time resolution의 sub-sequence set은 multiple codebook에 의해 각각 quantize 됨
- 이를 위해 논문은 multi-head vector quantization과 multi-stage autoencoder를 활용
- Multi-Head Vector Quantization
- VQR에서 compression rate를 줄이면 richer representation을 얻을 수 있지만, 이를 VQ-VAE에서 계산하기는 어려움
- 예시로, compression ratio를 절반으로 줄이기 위해서는 (Eq. 7)의
연산으로 인해 codebook size는 제곱으로 커져야 함
- 즉, 각 codeword를 training 하기 위한 computational requirement는 exponential 하게 증가함 - 따라서 논문은 quantization 계산을 위해 Multi-Head Attention Mechanism을 응용한 Multi-Head Vector Quantization (MHVQ)을 도입함
- 먼저 아래 그림처럼 MHVQ에서 하나의 VQ codebook
은 개의 sub-codebook 으로 evenly chunk 됨 - 이때 input vector
은 다음과 같이 quantize 됨:
(Eq. 8)
- 는 dimensionality를 가지는 개의 sub-vector로 chunck 된 후, 해당하는 codebook으로 quantize 됨
- 이후 quantized sub-vector는 output vector 와 concatenate 됨 - 여기서 compression ratio는:
(Eq. 9)
- 먼저 아래 그림처럼 MHVQ에서 하나의 VQ codebook
- 위 방식을 통해 codebook 수를 doubling 하면서도,
로 인해 발생하는 requirement를 회피해 compression rate를 효과적으로 줄일 수 있음
- 예시로, compression ratio를 절반으로 줄이기 위해서는 (Eq. 7)의

- Multi-Stage AutoEncoder
- Completeness를 향상하는 것뿐만 아니라, segmental pronunciation과 같은 다양한 time resolution의 speech attribute를 well-represent 하는 것도 중요함
- 그렇지 않으면 Cannikin Law에 따라 overly compressed attribute는 전체 품질에 심각한 영향을 줄 수 있음
- 따라서 논문은 다양한 time resolution에서 speech sequence를 모델링하는 multi-stage autoencoder를 도입함
- 먼저 multi-stage autoencoder는 codebook group
를 사용하여 input sequence 를 multi-stage vector-quantized representation 로 encoding 함
- : stage 수
- 특히 MHVQ가 적용되는 경우, codebook 는 sub-codebook group 를 나타냄 - 이후 encoder는 input speech sequence
를 encoding sequence 로 encoding 함:
(Eq. 10) - 각 encoder block 이전의 strided convolution layer는 sequence를 lower time resolution으로 downsampling 하고, sequence는 highest stage에서부터 단계적으로 quantize 됨:
(Eq. 11)
- : no input, : codebook (MVHQ가 적용된 경우, )
- 즉, quantizer block 에서 는 higher-stage decoder의 hidden sequence 과 concatenate 되고, projection layer에 의해 변환되어 다음 quantization에 대한 를 얻음
- 먼저 multi-stage autoencoder는 codebook group
- Quantized sequence
는 decoder 에 의해 처리되어 다음 quantization과 decoding을 위한 를 얻음- 여기서 next-stage quantized sequence
이나 speech sequence 를 예측하려면:
(Eq. 12) - Decoder
는 quantized sequence 를 projection을 통해 변환하고, 일 때 을 추가함
- Residual convolutional layer는 이를 처리한 다음, 로 repitition 하여 upsampling 함
- Output sequence는 예측을 위해, 다른 neural network module 에서도 처리됨
- 여기서 next-stage quantized sequence
- 결과적으로, loss function은:
(Eq. 13)
- : weight coefficient
- (Eq. 13)은 와 유사하지만, 두 번째 term은 모든 latent sequence에 대해 를 계산하고 세 번째 term은 예측된 latent sequence가 target에 가까워지도록 함 - Multi-stage modeling에서 deep network는 lower-stage module에 대한 overfitting에 취약하므로 higher-stage latent sequence는 meaningless 함
- 따라서 MSMC-TTS는 high-stage sequence에서 low-stage representation을 예측하도록 training 됨

4. MSMC-TTS
- System Framework
- MSMC-TTS는 아래 그림과 같이, analysis/prediction/synthesis의 3가지 module로 구성됨
- 먼저 analysis module에서 speech signal
는 MSMCR 로 변환됨- 이때 feature analyzer MSMC-VQ-VAE는
를 직접 모델링하지 않고, mel-spectrogram과 같은 acoustic feature 를 모델링함 - 해당 module은 loss function
를 최소화하도록 training 된 다음, synthesis와 prediction을 위한 MSMCR 와 codebook group 를 제공함
- 이때 feature analyzer MSMC-VQ-VAE는
- Synthesis에서 neural vocoder는 MSMCR을 해당하는 speech waveform으로 변환하는 것을 목표로 함
- 이때 MSMCR sequence는 서로 다른 time resolution을 가지므로 repetition을 통해 동일한 resolution으로 up-sample 된 다음, concatenate 되어 input sequence를 형성함
- 해당 module은 training set에서 추출된 ground-truth data로 training 된 다음, prediction module에서 예측된 MSMCR
로부터 audio를 생성함
- Prediction에서 acoustic model은 text sequence
를 multiple sequence의 MSMCR 로 변환하는 것을 목표로 함- 이때 one-to-one mapping의 기존 acoustic model 보다는 one-to-many acoustic model을 사용해야 함
- 특히 MSMCR의 latent sequence는 higher stage에서 lower stage로 추출되므로, generation process에서도 해당 pattern을 고려하여 timescale에서 sequence 간의 correlation을 추출해야 함
- 결과적으로, MSMC-TTS는 text로부터 해당 sequence를 예측하는 acoustic model로써 Multi-Stage Predictor (MSP)를 채택하여 사용
- 먼저 analysis module에서 speech signal

- Multi-Stage Predictor
- MSP는 non-autoregressive acoustic model인 FastSpeech를 기반으로 함
- Model Architecture
- MSP는 크게 encoder와 decoder로 구성됨
- 먼저 text (phoneme) sequence
는 hidden vector 로 encoding 된 다음, duration sequence 에 따라 repition을 통해 upsampling 됨
- 이때 는 non-negative integer sequence이고, 각 integer는 해당 phoneme이 에서 지속되는 frame 수
- 는 strided convolution layer를 통해 해당하는 stage 에 따라 stage-wise로 downsampling 됨 - Decoder는 highest stage에서
를 예측함- 먼저
는 decoder 에 전달되어 predicted sequence 를 얻은 다음, 해당하는 codebook 에 의해 로 quantize됨 - Decoder의 last hidden output sequence와
는 repetition에 의해 upsampling 되고, 다음 decoder 의 input으로써 과 concatenate 됨 - 나머지 sequence는 예측된 MSMCR
를 형성하기 위해 동일한 방식으로 recursive 하게 생성됨
- 먼저
- Training 중에는 ground-truth MSMCR
와 ground-truth duration 를 사용할 수 있음
- 따라서 MSP training을 forcing 하는 teacher를 채택해 를 로 대체하고, 를 decoder에 input 함
- Loss Function
- Input text를 expected codeword에 mapping 하기 위해, MSP는 continuous space에서 직접 codeword를 추정하도록 학습됨
- 이를 위해, VQ-VAE와 마찬가지로 Euclidean distance를 최소화함:
(Eq. 14) - 여기서 input vector
와 target codeword 사이의 Euclidean distance를 다른 codeword 보다 작게 만들기 위해, triplet loss를 추가적으로 채택함
- 이를 통해 예측된 vector가 expected codeword로 quantize되는 것을 보장할 수 있음 - 결과적으로, MHVQ와 결합된 triplet loss는:
(Eq. 15)
- : margin number로써 constant value
- 이를 통해 output vector는 target과는 가까워지고, non-target codeword와는 멀리 떨어질 수 있음 - 그러면 MSP의 final loss function은:
(Eq. 16)
- : weight coefficient

5. Experiments
- Settings
- Dataset : Nancy, CSMSC
- Comparisons : FastSpeech, VITS
- Results
- Standard TTS
- 기본적인 MOS 품질 측면에서 MSMC-TTS는 가장 우수한 성능을 보임

- 각 모델에서 생성된 audio를 비교해 보면 Mel-FS로 생성된 audio는 fuzzy spectrogram을 보임
- 반면, MSMC-TTS로 생성된 audio는 low-/middle-frequency에서 smooth 하고 clear 한 harmonics를 가짐

- 다양한 loss function으로 acoustic model을 training 해보면
- Cross Entropy는 3.79 MOS로 가장 낮은 성능을 보임
- 이는 continuous space에서 서로 다른 codework 간의 관계를 고려할 수 없으므로 classification fail 시 smothness의 문제가 나타나기 때문 - 한편 MSE를 사용하는 경우, 4.13 MOS로 continuous space에서 codeword 추정에 적합함
- 특히 weight 1의 triplet loss는 4.23 MOS를 달성하여 expressive speech를 합성할 수 있음
- 여기서 과 같이 large weight를 선택하는 경우, 오히려 품질 저하가 발생할 수 있음
- Cross Entropy는 3.79 MOS로 가장 낮은 성능을 보임

- Multi-codebook VQ와 multi-stage modeling의 효과를 확인해 보면, One-stage One-codebook (S1C1), One-stage Four-codebook (S1C4), Two-stage Four-codebook (S2C4) 중에서 S2C4가 가장 우수한 성능을 보임

- 추가적으로 S1C1, S2C4로 합성된 audio의 spectrogram을 확인해 보면,
- Singel-stage TTS의 경우 syllable switching에서 unstable 한 pitch generation이 나타남
- S2C4의 경우, multi-stage modeling을 통해 다양한 time resolution에서 short-/long-time contextual information을 얻을 수 있음
- 결과적으로 더 smooth 하고 natural 한 prosody로 이어짐

- Resource-Limited Scenarios
- 먼저 다음의 모델을 구성해 비교해 보면,
- M1 : 4 layer의 600-dim Transformer block
- M2 : 3 layer의 128-dim Transformer block
- M3 : 4 layer의 128-dim 1D convolution block - 일반적으로 parameter 수가 줄어들거나 transformer block이 1D CNN으로 대체되는 경우 상당한 MOS 저하가 나타남
- 반면 MSMC-TTS는 parameter 수가 감소하여도 큰 성능 저하를 보이지 않음
- 먼저 다음의 모델을 구성해 비교해 보면,

- Low-resource 측면에서
- 다음의 dataset을 활용해 비교해 보면
- D1 : 1000 text-audio pair
- D2 : 1000 text-audio pair + 10000 audio (w/o transcript) - 일반적으로 D1 보다 D2를 사용했을 때 더 나은 성능을 보이지만, MSMC-TTS는 D1만을 사용해도 4.59 MOS의 높은 TTS 성능을 보임
- 즉, MSMC-TTS는 기존 TTS에 비해 data requirement가 더 낮음
- 다음의 dataset을 활용해 비교해 보면

- Synthesis Evaluation
- VQ-VAE
- Single-codebook singe-stage
은 높은 compactness를 보이지만, reconstruction 측면에서 낮은 성능을 보임 과 같이 codebook size를 증가시키면 completeness 측면에서 보다 소폭 향상된 결과를 얻을 수 있음
- 즉, codebook size만을 변경하는 것으로는 completness를 control 하는데 한계가 있음
- Single-codebook singe-stage
- MHVQ
- MVHQ를 적용하면 head 수에 따라 bitrate가 증가하지만, completness를 크게 향상할 수 있음
- Codebook size만 증가시킨
에 비해 2-head vector quantization을 사용하는 는 더 높은 MCD를 달성함
- VQ-VAE

- 추가적으로 multi-stage representation을 사용하면 target speech에 대한 많은 information을 전달할 수 있음

- 다양한 representation으로 reconstruct 된 mel-spectrogram을 비교해 보면,
- High-stage sequence는 coarse-grained, abstract information을 preserve 하는 경향이 있음
- Low-stage modeling은 low-level, local information을 capture 하는데 중점을 둠

반응형