-
WaveNet - A Generative Model for Raw Audio논문_리뷰 2021. 1. 26. 00:53
WaveNet - A Generative Model for Raw Audio
Aaron van den Oord, Sander Dieleman Heiga Zen, Karen Simonyan, Oriol Vinyals, Alex Graves, Nal Kalchbrenner, Andrew Senior, Koray KavukcuogluAbstract
- raw audio waveform을 생성하기 위한 DNN 제안 논문
- WaveNet은 완전히 확률적이고 autoregressive하며, 각 오디오 샘플에 대한 예측 분포를 이전 모든 샘플에 맞춰 조정한다.
- 단일 WaveNet을 사용해서 화자의 특징을 잡아낼 수 있으며, 화자의 identity에 따른 상태따라 전환하여 사용할 수 있다.
- 음악을 학습했을 때, 음악적 요소 또한 잘 생성한다.
- phoneme recognition에 대해 좋은 결과를 보여주는 Discriminative model로 사용 가능하다.
Introdctuion
- AutoRegressive generative model인 PixelCNN 아키텍처 기반으로 만들어진 오디오 생성 모델
- Long-range temporal dependency를 해결하기 위해 dilated causal convolutions 기반의 아키텍처 개발하여 receptive field를 넓혔다.
- WaveNet은 일반적이고 유연한 오디오 생성 모델로 TTS, Music, voice conversion 등에 사용될 수 있다.
WaveNet
- WaveNet은 t 시점의 오디오 샘플을 t-1 시점까지의 샘플들의 조건부 확률 분포로 모델링한다.
- categorical classification 문제로 다루며, 최적화는 Minimize negative-log-likelihood (Minimize Cross-Entropy)를 사용한다.
Dilated Causal Convolution
- PixelCNN와 유사하게 조건부 확률 분포는 Stack of Convolutional layers에 의해 모델링된다. 이 때, 네트워크에는 Pooling layer가 없으며 입력과 동일한 차원의 출력을 내보낸다.
- causal convolutional는 receptive field를 증가시키기 위해서는 많은 레이어 혹은 필터가 필요하다는 문제가 있다.
ex) Fig2의 receptive field는 (# of layers + filter length - 1 = 5) 밖에 되지 않는다.
- dilated causal convolutional을 사용한다면 매우 넓은 receptive field를 제공할 수 있으며 오디오 신호의 long-range temporal dependency를 어느정도 해결할 수 있다.
- Fig3은 dilation이 [1,2,4,8]로 설정했을 때 dilated causal convolution을 나타낸 그림이다.
- WaveNet 논문에서는 매 레이어 마다 dilation을 정해진 limit까지 두배 증가시키는 것을 3번 주어서 총 30개의 레이어를 쌓았다.
[출처] Google DeepMind Softmax Distributions
- 네트워크의 출력을 모델링할 때 softmax를 사용한다. 이는 categorical distribution이 형태에 대한 가정이 없기 때문에 더 유연하다는 장점 때문이다.
- 대부분의 audio 신호는 16-bit quantization --> softmax로 표현 --> 65,536개 output 필요 --> 연산량 많음
- 논문에서는 $\mu$-law companding transformation을 적용하여 256개의 non-linear한 값으로 quantize한다.
$f(x_t) = sign(x_t)\frac{ln(1+\mu * abs(x_t)}{ln(1+\mu)}$ // $ -1 < x_t < 1 , \mu = 255 $
Gated Activation Units
- dialted Conv 뒤에 Gate activation units ($ z = tanh(W_{f,k} * x) \odot \sigma(W_{g,k} * x) $) 을 사용한다.
- $*$= convolution 연산, $\odot$= element-wise multiplication 연산, $\sigma$= sigmoid, $k$= layer index, $f,g$=filter and gate
Residual & Skip connection
- 보다 깊은 네트워크를 학습이 가능하고 빠르게 학습하기 위해 skip conntection을 사용
'논문_리뷰' 카테고리의 다른 글
BiDAF - Bidirectional Attention Flow for Machine Comprehension (0) 2021.01.25 ConvBERT:Improving BERT with Span-based Dynamic Convolution (0) 2021.01.18