WaveNet 分析和实现-WaveNet: AGenerative Model for Raw Audio

参考文献:
WaveNet: AGenerative Model for Raw Audio. Aaron van den Oord, Sander Dieleman, Heiga Zen,Karen Simonyan, Oriol Vinyals, Alex Graves, Nal Kalchbrenner, Andrew Senior,Koray Kavukcuoglu, ICLR 2017, open review

应用:

语音生成、tts(text to speech)、音乐合成
把機器生成不自然的語音訊號,透過層層堆疊的延時卷積單元轉換成更通暢流利的語音作為輸出。

技术点:

dilate convolution 可以使用较少的计算就能 cover 到较大的 receptive field,而且由于 dilate 本身的原因, 还可以防止 overfitting。

文章讲解:https://zhuanlan.zhihu.com/p/24317897
知乎讲解:https://www.zhihu.com/question/56017966/answer/253599651

关键问题:

1、因果卷积与LPC区别:

卷积可以分为线性和非线性的,其中线性的因果卷积应该是和LPC一样的。

2、为什么使用dilate卷积?

对于因果卷积,存在的一个问题是需要很多层或者很大的filter来增加卷积的感受野。本文中,我们通过大小排列来的扩大卷积来增加感受野。扩大卷积(dilated convolution)是通过跳过部分输入来使filter可以应用于大于filter本身长度的区域。等同于通过增加零来从原始filter中生成更大的filter。

3、文本是如何转语音的?

利用Transpose Conv. (Deconv.) 反卷积。
其作法是先訓練一個CNN的語音轉文字模型(STT) h = F(y),然後轉換成反卷積模型y = f(h),透過這個反卷積模型,將文字轉換成語音。 但反卷積產生出來的語音品質非常悲劇,因此不直接拿來使用,而是做為WaveNet的條件引入。因此,可以把WaveNet看做一個修飾器,將人工產生的語音修飾成更接近人類的聲音(字句連貫通暢)。



那么原始input x 是什么?
我们猜测可能是一段人声范本,帮助矫正语音。

下图(上)为有原始输入x和附加输入y(经过TTS model得到的语音)的网络结构图,下图(下)为只有原始输入x的网络。两者的区别在于是否加入了conditionnal input y。


WaveNet 分析和实现-WaveNet: AGenerative Model for Raw Audio_第1张图片

WaveNet 分析和实现-WaveNet: AGenerative Model for Raw Audio_第2张图片

4、residual learning能加速收敛

http://blog.csdn.net/solomonlangrui/article/details/52455638
residual learning 设计的初衷是为了解决梯度消失的问题,只是从结果论上看,也起到了加速作用,没有说原因。
18层普通/残差网络是相对接近的,但18层残差网络的收敛速度更快(下图右与左)。当网络“不深”(18层以下)的时候,目前的SGD算法仍然能在平凡网络上找到较好的解决方案。在这种情况下,残差网络能加速优化,在训练初期提供更快的收敛速度。

WaveNet 分析和实现-WaveNet: AGenerative Model for Raw Audio_第3张图片

5、为什么先用casual convolution,再用dilated convolution

WaveNet 分析和实现-WaveNet: AGenerative Model for Raw Audio_第4张图片
image

根据代码来看,它的dilated convolution的dilation是2、4、8...512,而外面的causal convolution的dilation是1,所以不构成重复,这样实现了dilation为1、2、4...512。

6、为什么CNN中反卷积也叫transport convolution

卷积一般转化为矩阵的乘积,则有F=A∗H。
那么,反向传播过程中。假如,我们已经有从更深层的网络中得到的,根据矩阵微分公式



那么有



从中可以看出,在求误差bp的过程,是与A的转置的乘积。
而,反卷积(deconvolution)与卷积的正好相反——前向传播,与A的转置的乘积,反向传播,则是与A的转置。这就是为什么反卷积其实叫transport convolution更为合适的原因了。

你可能感兴趣的:(WaveNet 分析和实现-WaveNet: AGenerative Model for Raw Audio)