티스토리 뷰

반응형

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를 도입

< 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에서 생성한 특징들을 판별

MB-MelGAN의 구조

- 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 수
  • 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
  • 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를 계산

MB-MelGAN의 학습 과정

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 개선이 가능

Training Strategy 비교

  • Complexity
    - 모델 복잡도 측면에서도 제안하는 MB-MelGAN이 가장 적은 GFLOPS와 빠른 합성속도(RTF)를 보임

Complexity 비교

  • Text-to-Speech
    • TTS를 위한 neural vocoder로써 Tacotron2 모델과 결합하여 성능을 비교
    • MB-MelGAN을 사용했을 때 가장 실제와 비슷한 음성 품질을 보임

TTS 모델에 적용했을 때의 성능

 

반응형
댓글
최근에 올라온 글
최근에 달린 댓글
«   2024/09   »
1 2 3 4 5 6 7
8 9 10 11 12 13 14
15 16 17 18 19 20 21
22 23 24 25 26 27 28
29 30
Total
Today
Yesterday