티스토리 뷰
Paper/Vocoder
[Paper 리뷰] Multi-Band MelGAN: Faster Waveform Generation for High-Quality Text-to-Speech
feVeRin 2023. 11. 22. 11:01반응형
Multi-Band MelGAN: Faster Waveform Generation for High-Quality Text-to-Speech
- 고품질 음성 합성과 빠른 생성을 목표로 기존 MelGAN을 개선
- Multi-Band MelGAN
- MelGAN을 multi-band로 확장하고 generator의 receptive field를 확장
- Feature matching loss를 multi-resolution STFT loss로 대체
- 논문 (SLT 2021) : Paper Link
1. Introduction
- WaveNet, WaveRNN, SampleRNN과 같은 기존의 고품질 neural vocoder는 autoregressive (AR) 모델임
- AR 모델은 long-term dependecny를 모델링하기 위해 이전 sample을 통해 현재의 sample을 생성함
- 고품질 합성이 가능하지만 합성 효율성이 낮아 실시간 Text-to-Speech (TTS) 등에 활용하기 어려움
- WaveRNN을 변형하여 추론 속도를 향상하는 연구들이 최근에 이루어짐
- Non-AR 모델은 병렬성이 뛰어나고 AR 모델보다 빠른 합성 속도를 자랑함
- Knowledge Distillation, Flow-based, GAN 등의 방법들이 제시되었음
- 그중 GAN을 기반으로 한 MelGAN, Parallel WaveGAN 등의 방법들이 오디오 모델링에서 좋은 성능을 보임
- 특히 MelGAN의 경우 Parallel WaveGAN 보다 더 빠른 실시간 합성 능력을 보임
- But, 빠른 합성 속도에 비해 음성 품질은 만족스럽지 않음
-> 그래서 더 빠르고 고품질의 음성 합성을 위해 MelGAN을 확장한 Multi-Band MelGAN을 제안
- Multi-Band MelGAN (MB-MelGAN)
- 기존 MelGAN 보다 receptive field의 크기를 2배로 확장
- 음성 합성에 있어서 명백한 품질 개선 효과를 보임 - Feature matching loss를 Parallel WaveGAN의 multi-resolution STFT loss로 대체
- 학습과정에서 pre-training과 결합하여 합성 품질과 안정성을 향상 - 합성 속도 향상을 위해 multi-band 처리로 확장
- Neural network의 sparseness를 활용하고 sub-band 신호 예측에 single shared network를 도입
- 기존 MelGAN 보다 receptive field의 크기를 2배로 확장
< Overall of MB-MelGAN >
- 기존 MelGAN을 multi-band로 확장하여 더 빠른 합성을 가능하게 함
- Sub-band loss와 full-band loss를 결합함으로써 음성 합성 품질을 향상
2. Method
- MB-MelGAN의 generator $G$는 multiple frequency band signal을 생성하기 위해 mel-spectrogram을 입력으로 사용
- 각 frequency band에서 예측된 signal은 upsampling 된 다음 synthesis filter로 전달됨
- Synthesis filter를 통과한 다음, 각 frequency band signal은 full-band signal로 합산됨
- Discriminator $D$는 full-band signal을 입력으로 generator에서 생성한 특징들을 판별
- Basic MelGAN
- MelGAN generator는 waveform의 frequency와 일치하도록 mel-sequence를 upsample 하기 위해 convolution을 stack 하여 사용
- 각 transposed convolution 다음에는 receptive field를 증가시키기 위해 dilated convolution이 있는 residual block이 추가됨
- Multiple discriminator 역시 MelGAN의 핵심 구조
- 서로 다른 scale의 multiple discriminator는 각 discriminator가 서로 다른 frequency 범위의 특징들을 학습하도록 함
- $K$개의 discriminator에 대해, MelGAN의 objective는,
: (Eq.1) $min_{D_{k}} E_{x} [ (D_{k}(x)-1)^{2} ] + E_{s,z} [ D_{k}(G(s,z))^{2} ]$
: (Eq.2) $min_{G} E_{s,z} [ \sum^{K}_{k=1} D_{k}(G(s,z)-1)^{2}]$
- $D_{k}$ : $k$-th discriminator, $x$ : raw waveform, $s$ : input mel-spectorgram, $z$ : Gaussian Noise vector - MelGAN은 intermediate layer에서 discriminator feature map 간의 L1 distance를 최소화하기 위해 feature matching loss를 사용
: (Eq.3) $L(G,D_{k}) = E_{x,s} [ \sum^{T}_{i=1} \frac{1}{N_{i}} || D^{(i)}_{k} (x) - D^{(i)}_{k} (G(s))||_{1}]$
- $D^{(i)}_{k}$ : $k$-th discriminator의 $i$-th layer의 feature map output, $N_{i}$ : 각 layer의 unit 수 - MelGAN의 final loss는,
: (Eq.4) $min_{G} ( E_{s,z} [\sum^{K}_{k=1} (D_{k}(G(s,z)) -1)^{2}] + \lambda \sum^{K}_{k=1} L(G,D_{k}))$
- Proposed Multi-Band MelGAN
- MelGAN은 실제와 생성된 음성의 차이를 계산하기 위해 feature matching loss를 사용함
- Feature matching loss는 network 안정화에 도움이 되지만, 특징 차이를 계산하기 어렵기 때문에 수렴을 속도를 느리게 함
- 수렴 속도를 개선하기 위해 음성 차이 측정에 더 효과적인 multi-resolution STFT loss를 도입
- Single STFT loss의 경우,
- Target waveform $x$와 generator $G(s)$에서 예측된 오디오 $\tilde{x}$ 사이의 spectral conergence $L_{sc}$와 log STFT magnitude $L_{mag}$를 최소화
: (Eq.5) $L_{sc} (x, \tilde{x}) = \frac{|| \, |STFT(x)| - |STFT(\tilde{x})| \, ||_{F} } { || \, | STFT(x) | \, ||_{F}}$
: (Eq.6) $L_{mag}(x, \tilde{x}) = \frac{1}{N} || log |STFT(x)| - log |STFT(\tilde{x})| \, ||_{1}$
- $|| \cdot ||_{F}$, $|| \cdot ||_{1}$ : 각각 Frobenius, L1 norm
- $|STFT(\cdot)|$ : magnitude 계산을 위한 STFT function, $N$ : magnitude의 element 수
- Target waveform $x$와 generator $G(s)$에서 예측된 오디오 $\tilde{x}$ 사이의 spectral conergence $L_{sc}$와 log STFT magnitude $L_{mag}$를 최소화
- Multi-resolution STFT loss의 경우,
- Analysis parameter (i.e., FFT, window, hop size)가 서로 다른 $M$개의 single STFT loss가 있을 때, $M$을 다음과 같이 평균
: (Eq.7) $L_{mr\_stft}(G) = E_{x,\tilde{x}} [ \frac{1}{M} \sum^{M}_{m=1} (L^{m}_{sc} (x, \tilde{x}) + L^{m}_{mag} (x, \tilde{x}))]$ - Full-band MelGAN (FB-MelGAN)의 경우 feature matching loss를 multi-resolution STFT loss로 대체하고, 이때 FB-MelGAN의 final objective는,
: (Eq.8) $min_{G} E_{s,z} [\lambda \sum^{K}_{k=1} (D_{k} (G(s,z)) -1 )^{2}] + E_{s} [L_{mr\_stft}(G)]$ - Multi-Band MelGAN (MB-MelGAN)의 경우 full-band와 sub-band 모두에서 multi-resolution STFT를 계산, 이때 MB-MelGAN의 multi-resolution STFT loss는,
: (Eq.9) $L_{mr\_stft}(G) = \frac{1}{2} (L^{full}_{mr\_stft} (G) + L^{sub}_{mr\_stft} (G))$
- $L^{full}_{mr\_stft}, L^{sub}_{mr\_stft}$ : 각각 full-band, sub-ban multi-resolution STFT loss
- Analysis parameter (i.e., FFT, window, hop size)가 서로 다른 $M$개의 single STFT loss가 있을 때, $M$을 다음과 같이 평균
- MB-MelGAN은 모든 sub-band signal을 예측하기 위해 single generator를 사용
- Shared generator는 mel-spectorgram을 입력으로 하고, sub-band multi-resolution STFT 계산을 위해 모든 sub-band를 동시에 예측
- Sub-band target waveform은 analysis filter를 통해 얻어짐
- Synthesis network를 통해 모든 sub-band signal을 full-band scale로 결합하여 full-band multi-resolution STFT loss를 계산
3. Experiments
- Settings
- Dataset : Chinese Standard Mandarin Speech Corpus
- Comparisons : MelGAN, FB-MelGAN
- Evaluation
- Improvements on basic MelGAN
- Pre-train과 multi-resolution STFT loss를 도입했을 때 품질이 모두 향상했고 학습 시간은 1/3로 감소함
- ResStack을 통해 receptive field를 확장한 결과, 상당한 MOS 개선이 이루어짐
- Training strategy for MB-MelGAN
- Full-band와 sub-band multi-resolution STFT loss를 결합했을 때 큰 MOS 개선이 가능
- Complexity
- 모델 복잡도 측면에서도 제안하는 MB-MelGAN이 가장 적은 GFLOPS와 빠른 합성속도(RTF)를 보임
- Text-to-Speech
- TTS를 위한 neural vocoder로써 Tacotron2 모델과 결합하여 성능을 비교
- MB-MelGAN을 사용했을 때 가장 실제와 비슷한 음성 품질을 보임
반응형
'Paper > Vocoder' 카테고리의 다른 글
댓글