티스토리 뷰

반응형

FastFit: Towards Real-Time Iterative Neural Vocoder by Replacing U-Net Encoder with Multiple STFTs


  • U-Net encoder를 multiple Short-Time Fourier Transform (STFT)로 대체하여 sample 품질을 유지하면서 더 빠른 합성 속도를 얻을 수 있음
  • FastFit
    • 각 encoder block을 STFT로 대체하고 decoder block의 temporal resolution과 동일한 parameter를 사용해 skip connection으로 연결
    • 이를 통해 high-fidelity의 sample을 유지하면서 parameter 수와 생성 속도를 절반으로 줄임
  • 논문 (INTERSPEECH 2023) : Paper Link

1. Introduction

  • Neural vocoder는 short-/long-term dependency를 모델링하여 주어진 input condition을 따르는 음성을 생성함
    • Vocoder에서 Generative Adversarial Network (GAN)과 Denoising Diffusion Probabilistic Model (DDPM)의 도입은 큰 성공을 보이고 있음
      - 특히 DDPM은 GAN 보다 훨씬 뛰어난 합성 품질을 보이지만, 반복적인 denoising으로 인해 느린 속도를 보임
    • U-Net과 같은 symmetric architecture는 이러한 iteration-style 모델에 자주 활용
      - WaveGrad의 경우 skip connection을 활용한 encoder를 추가하여 품질을 향상했음
      - BUT, 모델의 size가 2배로 늘어나고 합성 속도가 절반 이상 저하되는 문제가 있음

-> 그래서 vocoder의 효율성을 향상하기 위해, U-Net encoder를 multiple STFT로 대체하는 FastFit를 제안

 

  • FastFit
    • iSTFTNet에서 영감을 받아 GAN-based vocoder를 U-Net으로 확장한 다음,
    • 각 encoder block을 skip connection shape에 해당하는 parameter가 있는 STFT로 대체
    • 이러한 모델 수정을 통해 U-Net의 skip connection 이점을 유지하면서 STFT의 낮은 계산 비용을 활용

< Overall of FastFit >

  • 각 encoder block을 STFT로 대체하고 parameter를 skip connection으로 연결
  • WaveFit의 iteration-style principle을 도입하여 U-Net의 이점과 STFT의 효율성을 모두 활용
  • 결과적으로 기존 대비 절반 수준의 parameter 수만으로 우수한 합성 품질과 2배 이상의 추론 가속 효과를 얻음

2. Method

  • FastFit은 initial point $y_{T}$에서 시작함
    • 여기서 각 iteration step $t=T, T-1, ..., 1$에서 denoising mapping이 $y_{t}$에 적용되어 denoised signal $y_{t-1}$을 얻음
    • 이때 $\theta$로 parameterize된 모델 $\mathcal{F}$는 $y_{t}$의 noise component를 예측하도록 training 됨
      - $\mathcal{F}_{\theta}$는 $\mathcal{F}_{\theta}(y_{t}, c, z, t)$로써, log mel-spectrogram $c$, latent noise $z\sim\mathcal{N}(0,I)$, current step $t$로 condition 됨
    • 결과적으로 objective는 final output $y_{0}$를 포함하여 각 iteration에서 $y_{t}$를 target waveform $x$에 가깝게 만드는 것

FastFit architecture

- Improving the Architecture of the Residual Block

  • FastFit의 U-Net 모델은 intermediate latent $w$에 대한 mapping, step embedding $t_{emb}$에 대한 step embedding network를 갖춘 $N$개의 encoder/decoder block으로 구성됨
    • 각 $n$-th decoder block은 $h_{t}[N+n-1], c,w,t_{emb}$와 $h_{t}[N-n]$을 input으로 사용하여 $h_{t}[N+n]$을 계산
      - $t_{emb}$는 broadcast 되도록 condition 되고, $c$와 각 dilated convolution 다음에 add 됨
    • 구조적으로, 각 decoder block은 UnivNet generator를 기반으로 3가지 수정 사항을 반영함
      1. Noise $z$를 inject 하기 위해 각 residual connection 다음에 Adaptive Layer Normalization (AdaLN)을 추가함
      2. Snake activation function을 활용
        - Periodic frequency form으로 각 layer output을 제어하고 out-of-distribution robustness를 확보할 수 있음
      3. 생성 속도 향상을 위해 gated activation unit을 제거함
        - UnivNet에서 해당 layer는 품질 향상에 큰 영향이 없는 대신, layer의 channel 수를 2배로 늘리는 경향이 있음
    • Encoder block은 구조적으로 decoder block과 유사하지만,
      - Residual connection이 없고 upsampling layer가 stride convolution을 사용하는 downsampling으로 대체됨

- Replacing U-Net Encoder with Multiple STFTs

  • Real-time iterative vocoder를 구현하기 위해, U-Net encoder를 multiple STFT로 대체함
    • 각 decoder block의 temporal resolution과 동일한 frame shift interval을 사용하여 각 STFT에 대한 parameter로 skip connection을 연결함
      - iSTFTNet과 같이 Fourier transform의 point 수와 Hann window length는 해당 frame shift interval의 4배로 설정
      - Channel size를 일치시키기 위해, 각 encoder/decoder block 사이에 convolution layer를 사용함
    • STFT의 계산 속도는 neural encoder의 계산 속도 보다 빠르기 때문에 FastFit은 parameter 수를 거의 절반으로 줄이고, 생성 속도를 2배로 높일 수 있음
      - 이때 U-Net architecture를 통한 high performance skip connection은 여전히 유지되기 때문에, 해당 대체로 인한 음성 품질 저하는 크게 발생하지 않음
    • 이때 STFT의 optimal representation으로써 Cartesian form을 활용함
      - 실수/허수 channel을 concatenation 한 것

- Denoising Mapping and Training Losses

  • WaveFit에서 사용된 denoising mapping과 loss function을 활용함
    • 먼저 denoised signal $y_{t-1}$은 다음과 같이 계산됨:
      (Eq. 1) $\tilde{y}_{t}=y_{t}-\mathcal{F}_{\theta}(y_{t},c,z,t) $
      (Eq. 2) $y_{t-1}=(P_{c}/(P_{\tilde{y}_{t}}+s))\tilde{y}_{t}$
      - $s=10^{-8}$ : numerical error를 방지하기 위한 constant
    • Denoising mapping은 $y_{t}$에서 $\mathcal{F}_{\theta}$에 의해 예측된 noise component를 substracting 하여 $\tilde{y}_{t}$를 얻고, $\tilde{y}_{t}$의 power를 $P_{c}$로 adjust 함
      1. $P_{\tilde{y}_{t}}$와 $P_{c}$는 각각 $\tilde{y}_{t}$와 $c$의 power spectrogram을 계산한 다음, element-wise mean을 취하여 얻어짐
        - $c$의 power spectrogram은 $c$에 mel-compression matrix의 pseudo-inverse를 곱하고, 이를 제곱하여 얻어짐
      2. 각 step에서 signal의 power를 $c$의 constant power로 scaling 함으로써 모든 $t$에 대해 denoising이 repeat 되고, final output $y_{0}$가 얻어질 때까지 $y_{t-1}$의 power를 constant 하게 유지할 수 있음
    • FastFit은 least squares GAN (LSGAN)의 GAN loss와 discriminator $D$를 사용하여 adversarilly train 되고, 이때 overall loss $\mathcal{L}_{disc}, \mathcal{L}_{gen}$은 다음과 같이 정의됨:
      (Eq. 3) $\mathcal{L}_{disc}=\frac{1}{TK}\sum_{t=0}^{T-1}\sum_{k=0}^{K-1}\left[ \mathbb{E}_{x}[(D_{k}(x)-1)^{2}]+\mathbb{E}_{y_{t}}[D_{k}(y_{t})^{2}]\right]$
      (Eq. 4) $\mathcal{L}_{gen}=\frac{1}{T}\sum_{t=0}^{T-1}\left[ \lambda_{aux}\mathcal{L}_{aux}(y_{t},x)+\frac{1}{K}\sum_{k=0}^{K-1}\left[ \mathbb{E}_{y}[(D_{k}(y_{t})-1)^{2}]+\lambda_{fm}\mathcal{L}_{fm}(D_{k};y_{t},x) \right]\right]$
      - $K$ : sub-discriminator의 수
      - Auxiliary loss $\mathcal{L}_{aux}$로써 MR-STFT loss를 사용하고, $\lambda_{aux}=2.5$로 설정
      - $\mathcal{L}_{fm}$은 scaled feature matching loss로써, $\lambda_{fm}=\lambda_{aux} \frac{\mathcal{L}_{aux}}{\mathcal{L}_{fm}}$
    • Initial point $y_{T}$는 아래와 같이 정의된 SpecGrad의 noise generation algorithm을 통해 sampling 됨:
      (Eq. 5) $y_{T}=\mathbf{G}^{+}\mathbf{M}\mathbf{G}_{\epsilon}$
      - $\epsilon \sim \mathcal{N}(0,I)$, $\mathbf{G}, \mathbf{G}^{+}$ : 각각 STFT, iSTFT, $\mathbf{M}$ : prior adaptation을 위해 $c$로부터 계산된 filter
      - SpecGrad의 경우 $c$에 mel-compression matrix의 pseudo-inverse를 곱하여 얻은 spectrogram에서 cepstrum-based spectral envelope를 추정하여 $\mathbf{M}$으로 사용함
      - 이와 달리, FastFit은 $c$의 spectrogram을 $\mathbf{M}$으로 직접 사용함

3. Experiments

- Settings

- Results

  • Ablation Study
    • FastFit은 AdaLN 없이 training 되는 경우, 성능이 저하되는 것으로 나타남
    • Skip connection을 제거하는 경우에도 마찬가지로 성능 저하가 발생
    • Representation으로 사용된 magnitude spectrogram은 FastFit에서 사용된 Cartesian form과 정량적인 metric 측면에서는 큰 차이를 보이지 않음
      - 다만 주관적인 품질 측면에서 일부 저하가 발생함
      - Polar form의 경우 training이 초기에 collapse 되는 경향이 나타남

Ablation Study 결과

  • Comparison with Baselines
    • 제안된 FastFit은 parameter 수가 기존 대비 절반임에도 불구하고 2배 이상의 합성 속도를 보임
    • 합성 품질 측면에서도 큰 차이를 보이지 않음

성능 비교 결과

  • Application to Text-to-Speech Synthesis
    • TTS 모델에 각 vocoder를 적용해 보았을 때, 합성 결과를 비교해 보면
    • 마찬가지로 FastFit이 가장 우수한 합성 품질을 보임

 

반응형
댓글
최근에 올라온 글
최근에 달린 댓글
«   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