티스토리 뷰
Paper/TTS
[Paper 리뷰] GANSpeech: Adversarial Training for High-Fidelity Multi-Speaker Speech Synthesis
feVeRin 2024. 6. 19. 09:26반응형
GANSpeech: Adversarial Training for High-Fidelity Multi-Speaker Speech Synthesis
- Multi-speaker text-to-speech 모델을 fine-tuning 하여 limited training data로 다양한 speaker의 음성을 합성할 수 있음
- BUT, 여전히 real speech sample과 비교하여 합성 결과의 품질이 떨어짐 - GANSpeech
- Non-autoregressive Text-to-Speech 모델에 adversarial training을 적용
- 추가적으로 adversarial training에서 사용되는 feature matching loss에 대한 automatic scaling method를 도입
- 논문 (INTERSPEECH 2021) : Paper Link
1. Introduction
- Text-to-Speech (TTS)는 일반적으로 주어진 text에서 mel-spectrogram을 생성하고, vocoder를 통해 mel-spectrogram에서 speech waveform을 합성함
- 최근의 non-autoregressive TTS 모델은 기존 autoregressive TTS 모델보다 빠르게 동작하면서 고품질의 합성을 지원하고 있음
- 특히 multi-speaker TTS (MS-TTS)는 각 speaker 마다 single-speaker 모델을 구축하는 것보다 효율적이고, limited data만으로도 다양한 음성을 합성할 수 있다는 장점이 있음
- 이때 MS-TTS 모델에서 zero-/few-shot speaker adaptation을 사용하면 few-minutes의 speech data를 사용해 multi-speaker synthesis가 가능함
- 해당 zero-/few-shot adaptation 성능을 향상하기 위해서는 well pre-trained MS-TTS 모델이 필수적임
- 이를 위해 기존에는 automatic speaker verification (ASV) 모델을 사용했지만, additional domain knowledge가 필요하다는 단점이 있음
- MS-TTS 모델을 target speaker-specific dataset에 fine-tuning하는 방법을 사용할 수도 있지만, real speech sample 간의 gap이 여전히 존재하므로 합성 품질이 떨어짐
- 이때 MS-TTS 모델에서 zero-/few-shot speaker adaptation을 사용하면 few-minutes의 speech data를 사용해 multi-speaker synthesis가 가능함
- 한편으로 Generative Adversarial Network (GAN)은 음성 합성에서 우수한 성능을 보이고 있음
- 대표적으로 MelGAN, Parallel WaveGAN, HiFi-GAN, VocGAN 등의 neural vocoder는 discriminator와 feature matching loss 등을 활용하여 합성 성능을 크게 개선함
- 비슷하게 TTS에서도 reconstruction loss를 통해 실제와 예측된 mel-spectrogram 간의 차이를 줄임으로써 over-smoothing 문제를 해결하는 방식을 사용하고 있음
-> 그래서 고품질의 multi-speaker 합성을 위해 GAN을 도입한 GANSpeech를 제안
- GANSpeech
- MS-TTS 모델을 reconstruction loss만으로 training한 다음, discriminator와 adversarial loss를 통해 jointly training 하는 two-phase training을 활용
- Discriminator로써 speaker embedding을 condition으로하는 Joint Conditional and Unconditional (JCU) Discriminator를 채택해 speaker-specific characteristic과 mel-spectrogram의 general characteristic을 학습
- Stable 한 GAN training을 위해 scaled feature matching loss를 도입하고 additional hyperparameter searching 비용을 줄임
< Overall of GANSpeech >
- MS-TTS 모델에 adversarial training을 적용하고, stability를 향상하는 scaled feature matching loss를 도입
- 결과적으로 기존보다 뛰어난 합성 성능을 달성
2. Baseline Model
- Baseline으로써 논문은 non-autoregressive 모델인 FastSpeech와 FastSpeech2를 채택하여 GAN의 generator로 사용함
- 먼저 FastSpeech는 6개의 Feed-Forward Transformer (FFT) block에 기반한 encoder-decoder 구조를 활용
- 여기서 각 block은 self-attention과 1D convolution으로 구성됨
- Encoder에서 decoder로 hidden state를 전달하는 length regulator는 character (phoneme)에 해당하는 mel-spectrogram의 frame length 만큼 hidden state를 expand 함
- FastSpeech2는 FastSpeech를 확장하여 pitch, energy 등의 variance information을 반영해 one-to-many mapping 문제를 해결함
- 논문은 multi-speaker를 목표로 하므로, FastSpeech, FastSpeech2를 MS-TTS 모델로 확장하기 위해 encoder 다음에 speaker embedding을 추가함
- 여기서 learnable lookup table을 통해 speaker embedding을 얻음 - Baseline 모델은 reconstruction loss로 training 됨
- FastSpeech는 mel-spectrogram loss와 duration prediction loss의 합을 reconstruction loss로 활용
- Mel-spectrogram loss는 예측된 mel-spectrogram과 ground-truth 간의 $L^{1}$ loss
- Duration prediction loss는 예측된 duration과 ground-truth 간의 $L^{2}$ loss - FastSpeech2는 추가적으로 pitch, energy 등의 acoustic feature에 대한 additional prediction loss를 활용
- Additional prediction loss는 예측된 acoustic feature와 ground-truth 간의 $L^{2}$ loss - 결과적으로 FastSpeech2의 reconstruction loss는:
(Eq. 1) $L_{recon}(G)=L_{mel}(x,\hat{x})+\lambda_{d}L_{duration}(d,\hat{d})+\lambda_{p}L_{pitch}(p,\hat{p})+\lambda_{e}L_{energy}(e,\hat{e})$
- $x,d,p,e$ : 각각 target mel-spectrogram, duration, pitch, energy
- $\hat{x},\hat{d},\hat{p},\hat{e}$ : 각각 예측된 mel-spectrogram, duration, pitch, energy
- $\lambda_{d}, \lambda_{p},\lambda_{e}$ : 각각 duration, pitch, energy prediction loss의 weight
- FastSpeech는 mel-spectrogram loss와 duration prediction loss의 합을 reconstruction loss로 활용
- 먼저 FastSpeech는 6개의 Feed-Forward Transformer (FFT) block에 기반한 encoder-decoder 구조를 활용
3. GANSpeech
- GANSpeech는 다음의 two-stage training을 활용해 stability와 수렴 속도를 향상함
- Pre-training Phase
- Baseline MS-TTS model인 generator $G$를 pre-training 함 - Adversarial Training Phase
- Speaker embedding에 의해 condition 된 mel-spectrogram discriminator $D$를 사용하여 adversarial loss를 추가하고, reconstruction loss와 jointly training 함
- 이때 feature matching loss와 reconstruction loss 간의 적절한 weight ratio를 automatically find 하는 scaled feature matching loss를 도입
- Pre-training Phase
- Discriminator
- GANSpeech는 앞서 구성된 baseline의 generator를 그대로 활용하면서 discriminator를 추가하여 adversarial training을 통해 성능을 개선함
- 이를 위해 VocGAN과 유사한 JCU discriminator를 채택
- 대신 hierarchically-nested structure나 multi-scale structure는 사용하지 않음 - 구조적으로 discriminator는 1D convolution과 Leaky ReLU activation ($\alpha=0.2$)를 사용하여 구성됨
- Discriminator의 unconditional part에서는 $[64, 128,512,128,1]$의 1D convolution channel을 사용
- Kernel size는 $[3,5,5,5,3]$, stride는 $[1,2,2,1,1]$ - Conditional part는 unconditional part와 3개의 1D convolution을 share 하고, speaker embedding을 condition으로 사용
- Speaker embedding은 Leaky ReLU를 사용하여 fully-connected layer 이후에 time-axis로 expand 되고, unconditional output vector는 마지막 2개의 1D convolution에 jointly fed 됨
- Discriminator의 unconditional part에서는 $[64, 128,512,128,1]$의 1D convolution channel을 사용
- 이를 위해 VocGAN과 유사한 JCU discriminator를 채택
- Adversarial Loss
- Reconstruction loss를 통해 mel-spectrogram의 major information을 학습한 다음, adversarial loss와 reconstruction loss를 jointly use 함
- 여기서 adversarial training을 위해 least-square loss와 JCU loss를 사용
- 각 training iteration에서 discriminator는 (Eq. 2)를 사용하여 먼저 training 되고 generator는 (Eq. 3)을 통해 training 됨:
(Eq. 2) $L_{D}^{JCU}(G,D)=\frac{1}{2}\mathbb{E}_{s}[D(\hat{x})^{2}+D(\hat{x},s)^{2}]+\frac{1}{2}\mathbb{E}_{(x,s)}[(D(x)-1)^{2}+(D(x,s)-1)^{2}]$
(Eq. 3) $L_{G}^{JCU}(G,D)=\frac{1}{2}\mathbb{E}_{s}[(D(\hat{x})-1)^{2}+(D(\hat{x},s)-1)^{2}]$
- $s$ : speaker embedding
- Scaled Feature Matching Loss
- 논문은 training stability와 quality를 향상하기 위해 feature matching loss를 활용함
- 이때 feature matching loss는:
(Eq. 4) $L_{FM}(G,D)=\mathbb{E}_{(x,s)}\left[\sum_{t=1}^{T}\frac{1}{N_{t}}||D^{(t)}(x)-D^{(t)}(\hat{x}) ||_{1}\right]$
- $T$ : discriminator의 총 layer 수, $N_{t}$ : 각 layer의 element 수 - 위의 objective는 경험적으로는 좋은 성능과 stability를 보이지만, fixed point에 도달한다는 보장이 없음
- 특히 discriminator의 intermediate layer를 사용하므로 각 step에서 discriminator를 training 하는 동안 loss가 증가하는 경향이 있음- 즉, loss의 magnitude가 점진적으로 증가하므로 reconstruction loss로부터 key information을 학습하는 것에 방해가 됨 - 한편으로 MelGAN에서는 feature matching loss의 ratio $\lambda_{FM}$을 fixed hyperparameter $10$으로 결정하여 사용함
- BUT, additional loss를 jointly use 하는 경우 training 중에 loss를 balance 하는 것이 어려움 - 이를 해결하기 위해, GANSpeech에서는 training 중에 feature matching loss의 magnitude를 dynamically scale 하는 scaled feature matching loss를 도입함
- 이때, 위 [Algorithm 1]의 line 13과 같이 feature matching loss는 각 step에서 reconstruction loss와 feature matching loss의 ratio인 $\lambda_{FM}$에 따라 adjust 됨
- 결과적으로 total loss는 reconstruction loss, scaled feature matching loss, adversarial loss의 합으로 구성됨:
(Eq. 5) $L_{G}^{total}(G,D)=L_{G}^{JCU}(G,D)+\lambda_{FM}L_{FM}(G,D)+L_{recon}(G)$
- 이때 feature matching loss는:
4. Experiments
- Settings
- Dataset : Korean Speech Dataset (internal)
- Comparisons : FastSpeech, FastSpeech2
- Results
- Mel-spectrogram Comparison
- 다음에 대해 mel-spectrogram을 비교
- (a) FastSpeech, (b) GANSpeech w/o feature matching loss,
- (c) GANSpeech w/ feature matching loss, (d) GANSpeech w/ scaled feature matching loss - (a)의 경우 mel-spetrogram은 smooth 되어 나타나고 harmonic structure는 high-frequency까지 잘 유지되지 못함
- (b)의 경우 high-frequency range까지 harmonic structure를 가지지만, unknown artifact가 나타남
- (c)의 경우 artifact의 발생을 줄일 수 있지만, training 중에 rapidly collapse 하는 것으로 나타남
- 결과적으로 제안하는 (d)의 방법을 사용했을 때, clear mel-spectrogram을 생성하고 training 중에 안정적으로 수렴함
- 다음에 대해 mel-spectrogram을 비교
- Subjective Evaluation
- MOS 측면에서도 GANSpeech가 가장 우수한 성능을 보임
- Adopting Scaled Feature Matching Loss to VocGAN
- Vocoder로 사용한 VocGAN에 scaled feature matching loss를 적용해 보면, 기존보다 VocGAN의 성능이 향상됨
- 특히 voice의 short trembling을 효과적으로 제거하여 perceptually clear 한 음성을 생성함
반응형
'Paper > TTS' 카테고리의 다른 글
댓글