본문 바로가기

음성&오디오처리/Text-to-Speech

[논문리뷰] Parallel Wavegan: A Fast Waveform Generation Model Based on Generative Adversarial Networks with Multi-Resolution Spectrogram

R. Yamamoto, E. Song and J. -M. Kim, "Parallel Wavegan: A Fast Waveform Generation Model Based on Generative Adversarial Networks with Multi-Resolution Spectrogram," ICASSP 2020 - 2020 IEEE International Conference on Acoustics, Speech and Signal Processing (ICASSP), 2020, pp. 6199-6203, doi: 10.1109/ICASSP40776.2020.9053795.

 

 

세줄 요약

- Parallel Wavegan은 multi-resolution STFT loss와 waveform-domain adversarial loss를 사용하며, distillation-based vocoder model과 비슷한 성능을 보이지만 훨씬 빠른 inference 속도를 가지고 있는 모델이다.

- Multi-resolution STFT loss는 다양한 analysis parameters로 STFT loss를 계산한 후 평균을 내는 loss이다.

- Parallel Wavegan의 generator는 conditional GAN이며, conditional variable로 mel-spectrogram과 같은 auxiliary feature을 받는다.

 

 

1. Introduction

Wavenet은 기존 parametric 보코더들보다 훨씬 좋은 성능을 보였으나, autoregressive model이기 때문에 엄청 느린 inference 속도를 가지고 있었다. 이후 knowledge distillation (teacher-student)를 활용한 Parallel WaveNet과 ClariNet이 inference의 속도를 개선시켰으나, 잘 학습된 teacher model이 필요했을 뿐만 아니라 복잡한 density distillation process를 최적화할 수 있는 trial and error methodology가 필요했다고 한다. (knowledge distillation 잘 몰라서 직역했습니다.)

이런 문제를 해결하기 위해, 저자는 Parallel WaveGAN이라는 GAN-based vocoder를 제안한다. 본 논문의 contribution은 다음과 같다. 

(1) 저자는 multi-resolution STFT loss와 waveform-domain adversarial loss를 jointly training 하는 방법을 제안하고 있다.

(2) 제안된 Parallel WaveGAN은 teacher-studen framework를 사용하지 않고도, training과 inference timed을 크게 줄일 수 있었다.

(3) Parallel Wavegan을 TTS acoustic model과 붙여 음성합성 실험을 진행했을 때, distilation-based ClariNet model보다 훨씬 빠른 inference 속도 결과와 비슷한 MOS 결과를 보였다.

 

 

2. Method

전체적인 구조는 다음과 같다.

2.1 Parallel waveform generation based on GAN

GAN 구조는 generator과 discriminator로 이루어져 있다.

Parallel wavegan의 generator는 random noise와 auxiliary feature(mel-spectrogram)을 condition으로 받아 condition에 따른 waveform을 (parallel 하게) 생성하는 WaveNet-based model이다. 기존 WaveNet과 다른 점은 다음과 같다.

(1) WaveNet의 causal convolution이 아닌 noncausal convolution, 즉 일반적인 convolution을 사용하였다.

(2) Input이 random noise이다.

(3) Model이 training과 inference 과정 모두에서 non-autoregressive 하다.

 

Adversarial loss는 일반적인 LSGAN의 loss를 사용하였다. Generator의 adversarial loss($L_{adv}(G, D)$)와 discriminator의 adversarial loss($L_D(G,D)$)는 아래와 같으며, conditional variable은 수식의 단순화를 위해 생략되었다고 한다.

 

2.2 Multi-resolution STFT auxiliary loss

음성의 STFT 기반의 time-frequency representation에서는 time resolution과 frequency resolution 간의 trade-off가 존재한다. 따라서 딥러닝 학습을 위해 서로 다른 analysis parameters를 가진 여러 STFT loss를 섞어 쓰게 되면 generator가 speech의 time-frequency characteristics를 훨씬 더 잘 학습할 수 있다고 한다. 또한, 여러 STFT loss를 함께 사용하게 되면 특정 파라미터의 STFT representation으로 generator가 overfitting 되는 상황을 방지할 수 있다고도 한다.

 

우선 single STFT loss를 살펴보면, spectral convergence loss($L_{sc}$)와 log STFT magnitude loss($L_{mag}$)의 합으로 이루어져 있다.

Spectral convergence loss($L_{sc}$)와 log STFT magnitude loss($L_{mag}$)는 각각 다음과 같이 정의된다. $|| · ||_F$는 Frobenius norm이며 $|| · ||_1$은 $L_1$ norm이다. 같은 저자의 이전 논문에 따르면 spectral convergence loss는 spectral peaks을 강조하며, log STFT magnitude loss는 spectral valleys를 강조한다고 한다. 즉 spectral convergence loss는 spectral components가 큰 frequency band에 대한 fitting을, log STFT magnitude loss는 spectral components가 작은 frequency band에 대한 fitting을 용이하게 한다.

Multi STFT loss 계산을 위해서는 서로 다른 analysis parameters로 single STFT loss를 계산한 후, 아래 식과 같이 평균을 내게 된다.

본 논문에서 사용한 analysis parameters는 다음과 같다.

 

최종적으로 Generator에 대한 loss는 adversarial loss와 multi-resolution STFT loss의 합이 된다. Discriminator은 2.1에서 이미 언급한 adversarial loss만 사용한다.

 

 

3. Experiments

Table 2는 Mel-spectrogram에서 waveform을 생성하는 실험의 결과이다. 

- System 2 vs System 6: Parallel WaveGAN이 기존 ClariNet과 비교하면 더 좋은 MOS와 동시에 더 좋은 inference speed를 보임을 확인할 수 있다.

- System 5 vs System 6: Parallel WaveGAN에서 multi-resolution STFT loss의 효과가 굉장히 크다는 점을 MOS 차이를 통해 확인할 수 있다.

- System 3 vs 4 vs 5: 기존 distillation-based model인 ClariNet에서도 본 논문에서 제안하고 있는 multi-resolution STFT loss를 사용했을 때 MOS score가 상승함을 확인할 수 있다. Adversarial Loss는 본 실험에서는 효과가 없었다.

 

Table 3는 WaveNet과 ClariNet, Parallel WaveGAN의 training 속도를 보여준다. Parallel WaveGAN이 Training time에서 상당히 유리함을 알 수 있다.

 

Table 4는 TTS acoustic model과 보코더를 붙여 TTS를 진행했을 때의 MOS 결과이다. 이 실험에서는 Parallel WaveGAN이 ClariNet에 adversarial loss를 사용한 모델과 유사한 MOS 결과를 보이고 있다.

 

 

총평

Vocoder에 adversarial loss를 도입한 첫 모델. 이후 나오는 GAN-based Vocoder들은 Parallel WaveGAN과 전반적으로 유사한 구조를 가지고 있으며, 본 논문에서 제안한 multi-resolution STFT loss는 Synthesis 뿐만 아니라 seperation이나 enhancement 등 다양한 분야에서 종종 활용되고 있다.

반응형