작심삼일

[Hifi-GAN 리뷰] HiFi-GAN: Generative Adversarial Networks for Efficient and High Fidelity Speech Synthesis (NIPS 20) 본문

Deep Learning/Text-to-Speech

[Hifi-GAN 리뷰] HiFi-GAN: Generative Adversarial Networks for Efficient and High Fidelity Speech Synthesis (NIPS 20)

yun_s 2021. 10. 14. 17:25
728x90
반응형

My Opinion

발화 음성이 다양한 주기의 신호로 이루어져 있기 때문에 discriminator를 여러 개의 sub-discriminator로 구성했다.

Generator는 MRF, discriminator는 MPD와 MSD로 이루어져 있다.또한, 성능을 높이기위해 3종류의 loss를 사용했다.

(GAN loss, Mel-spectrogram loss, Feature Matching loss)이 loss들은 자주 사용되는 loss인데도 불구하고 21년이 된 지금까지, 20년에 만들어진 이 HiFI-GAN보다 성능이 좋은 모델이 없다는 것이 대단하다.

그 이유는 아마 discriminator를 sub-discriminators로 만든 것에 있지 않을까 싶다.

 


Introduction

최근 neural network의 발전에 따라 음성 합성 기술은 급격한 발전을 겪었다.

대부분의 음성 합성 네트워크는 두 단계로 이루어진다: 1) Mel-spectrogram 생성, 2) waveform 생성

이 논문에서는, mel-spectrogram에서 waveform을 생성하는, 2번째 단계의 모델에 초점을 맞췄다.

 

이전에는 autoregressive(AR)이나 flow-based 모델들이 사용됐다.

제안하는 HiFi-GAN은 앞서 언급한 두 가지 종류의 모델들보다 속도도 빠르고 그 성능도 더 뛰어나다.

발화 음성은 다양한 주기의 sinusoidal 신호로 이루어져 있기 때문에 realistic 한 발화 음성을 만들기 위해서는 periodic pattern을 생성하는 것이 중요하다.

그래서 우리는 raw waveform에서 각각 특정한 periodic 부분을 맡는 sub-discriminator로 구성된 discriminator를 제안한다.

이 구조는 우리 모델이 realistic한 발화를 만드는 데 매우 중요하다.


HiFi-GAN

1. Overview

HiFi-GAN은 generator 한 개와 discriminator 두 개로 이루어져 있다.

Generator와 discriminators는 additional loss 두 개를 이용해서 adversarial 하게 학습된다.

 

2. Generator

Generator는 fully convolutional neural network이다.

Mel-spectrogram을 입력으로 받은 후 transposed convolution을 통해 raw waveform의 temporal resolution까지 upsampling을 진행한다.

모든 transposed convolution 뒤에는 multi-receptive field fusion(MRF) 모듈이 붙는다.

 

Multi-Receptive Field Fusion

MRF는 병렬적으로 다양한 길이의 패턴을 관찰한다.

특히, MRF 모듈은 multiple residual block의 출력의 합을 출력으로 한다.

다양한 receptive filed pattern을 형성하기 위해 각 residual block의 kernel size나 dilation rate를 다양하게 한다.

 

3. Discriminator

Realistic한 발화 음성을 만들기 위해서 long-term dependency를 아는 것은 중요하다.

이 문제는 generator와 discriminator의 receptive fields를 증가하는 방식으로 해결했다.

또 다른 문제는, 발화 음성은 다양한 주기를 가진 sinusoidal 신호들로 구성되기 때문에 음성 데이터의 기저에 있는 다양한 주기의 패턴을 아는 것이다.

 

우리는 음성의 periodic signal을 나눠 각각 다루기 위해 여러 개의 sub-discriminator로 이루어진 multi-period discriminator(MPD)를 제안한다.

그리고, 연속되는 패턴과 long-term dependency를 잡기 위해 MelGAN에서 사용된 multi-scale discriminator(MSD)도 사용했다.

 

Multi-Period Discriminator

MPD는 p 주기로 일정하게 나뉜 입력 음성을 다루는 sub-discriminators로 이루어져 있다.

Sub-discriminator들은 각각 입력 음성의 다른 부분을 맡아 다른 implicit structure를 찾기 위해 설계됐다.

 

아래 그림(Fig. 2b)을 보면 알 수 있다시피, 먼저 T 길이의 1D raw audio를 높이 T/p와 너비 p의 2D 데이터로 바꾼다.

Periodic samples를 독립적으로 처리하기 위해 MPD의 모든 conv layer의 kernel size는 1로 했다.

입력 데이터를 2D로 바꿈으로써, MPD에서 나온 gradient는 입력 음성의 모든 time step에 전달될 수 있다.

Multi-Scale Discriminator

MPD의 각 sub-discriminator는 분해된 sample만 사용하기 때문에 연속된 음성을 평가하기 위해 MSD를 추가했다.

MSD의 구조는 MelGAN에서 가져왔는데, 다른 input scale(×1,×1/2,×1/4)에서 동작하는 sub-discriminator 3개로 이루어진다.


Training Loss Terms

GAN Loss

Generator와 discriminator는 LS-GAN처럼 non-vanishing gradient flow를 하기 위해 기본적인 GAN의 binary cross-entropy 부분을 Least square loss function로 바꿔서 학습했다.

Discriminator는 GT sample을 1, generator로 만들어진 sample을 0으로 구분하도록 학습됐다.

Generator는 sample quality를 높여서 discriminator를 속이도록 학습됐다.

Generator G와 discriminator D의 loss는 다음과 같이 정의된다.

 

LAdv(D;G)=E(x,s)[(D(x)1)2+(D(G(s)))2]

LAdv(G;D)=E[(D(G(s))1)2]

x: GT audio, s: mel-spectrogram of GT audio

 

Mel-Spectrogram Loss

Generator의 training efficiency를 높이고 생성된 음성의 품질을 높이기 위해 mel-spectrogram loss를 추가했다.

이전 연구들에 따르면 time-frequency distribution은 multi-resolution spectrogram과 adversarial loss function에 효과적이다.

Mel-spectrogram loss는 generator가 만들어낸 waveform의 mel-spectrogram과 GT waveform의 L1 distance다.

 

LMel(G)=E(x,s)[||ϕ(x)ϕ(G(s))||1]

ϕ: function that transforms a waveform into the corresponding mel-spectrogram

 

Feature Matching Loss

Feature matching loss는 GT sample과 generated sample 사이의 feature of the discriminator의 차이로 측정하는 학습된 similarity metric이다.

Generator에 사용했다.

Feature matching loss는 GT sample과 각 feature space에서 생성된 sample 간의 L1 distance다.

Feature matching loss는 다음과 같이 정의된다.

 

LFM(G;D)=E(x,s)[Ti=1||Di(x)Di(G(s))||1]

T: number of layers in the discriminator, Di,Ni: features and the number of features in the $i4-th layer of the discriminator

 

Final Loss

LG=LAdv(G;D)+λfmLFM(G;D)+λmelLMel(G)

LD=LAdv(D;G)

λfm=2, λmel=45


Experiments

LJSpeech dataset을 이용해서 학습시켰다.

Unseen speaker에 대해서 평가하기 위해 VCTK multi-speaker dataset을 사용했다.


Results


Conclusion

본 논문에서는 좋은 품질의 발화 음성을 만들 수 있는 HiFi-GAN을 제안한다.

제안하는 모델은 human level에 견줄 수 있을 정도로 성능이 뛰어날 뿐 아니라 속도도 빠르다.

Unseen speaker에 대해서도 잘한다.


Reference

Kong, Jungil, Jaehyeon Kim, and Jaekyoung Bae. "HiFi-GAN: Generative Adversarial Networks for Efficient and High Fidelity Speech Synthesis." Advances in Neural Information Processing Systems 33 (2020).

 

 

728x90
반응형
Comments