高斯扩散模型_基于扩散概率模型 (Diffusion Probabilistic Model ) 的音频生成模型

高斯扩散模型_基于扩散概率模型 (Diffusion Probabilistic Model ) 的音频生成模型_第1张图片
近两年音频生成是一个非常火热的研究课题,其目的主要在于如何将低维度、低帧率的输入特征转换成高采样率的语音信号。针对该任务,现有的技术,比如自回归网络和GAN,都处于瓶颈阶段,无法同时满足高音质和高实时率的要求。扩散概率模型的提出,为该问题提出了新的解决方向。

简述

在条件音频生成任务中,比如神经声码器 (neural vocoder),端到端TTS,其大体框架都是将同样长度的高斯噪声通过一个生成模型映射到目标波形信号。扩散概率模型也是如此,但具体操作方法,包括训练和解码,都与其他方案不同。

扩散概率模型是一种基于马尔可夫链的概率模型,它将噪声和目标波形的映射关系分成了

个步骤,形成了一条马尔可夫链。 我们针对该链的扩散过程(从目标音频到噪声)进行训练,然后通过反向过程(从噪声到目标音频)进行解码。接下来,我将首先介绍扩散概率模型,包括训练和解码,然后介绍其在音频生成相关方向上的具体应用。

扩散概率模型

首先定义

是目标变量,
是目标变量的数据分布,
是一系列和
同等维度的变量,
则为扩散步数。一个扩散模型有两个过程组成,扩散过程和反向过程。

扩散过程的目的是通过一条马尔可夫链将

逐渐映射到多维正态分布(高斯噪声),即:

其中

被定义为和常数
有关的高斯分布
。该过程相当于迭代的添加少量的高斯噪声,最终将目标转换为不同维度间相互独立的多维正态分布。

反向过程则是希望进行基于正态分布的采样进行生成:

其中,

我们将其定义为
。通过该过程,我们可以逐渐的消除高斯噪声,最终生成符合目标分布的数据。因此,只要通过某种方式训练模型
,我们就可以进行采样生成。

在训练前,首先要剖析模型的训练目标,即最大似然度

,公式为:

(该公式来源于[1], 更具体的推导可见[2])

但在训练过程中,我们只有目标数据分布和高斯噪声,无法得知

相关信息,因此该公式还无法直接用于训练。为解决该问题,作者首先提出了
的近似公式:

该公式具体推导并未给出,但它是使整个模型可训练的关键公式。拥有这个公式以后,我们便可以对损失函数近一步改写,最终得到:

对于

, 作者又提出了这样一个公式 (同未给出具体推导):

这样,我们就可以通过该近似表达的公式的三个部分对模型进行训练。因为

是我们预先设定的, 所以
不包含要更新的参数,是一个常量,在训练中可以被忽略。对于
,我们定义
,其中
,即只和时间有关的常量。根据
,可将
解析为

其中,

是和参数无关的常量。结合之前给出的公式,可以将其进一步解析为:

其中,根据

的公式可以得到
,
。在反向过程中,
是已知的,但
未知,因此我们可以将
改写为

代入公式中可以得到最终的

忽略权重系数部分,我们可以发现,训练的目的是让模型可以在给定原数据

,噪声
和时刻
的情况下,将在
时刻添加的噪声从信号中抽离出来。为了达到该目的,模型需要从信号、噪声、时刻
学习有效的信息,才能让原信号按照指定的规则逐渐的映射到对应的噪声值,并且在反向过程中根据噪声值生成真实的信号。

现在只剩下

部分,我们可以通过积分的方式对
进行计算,但作者认为,该部分可由
近似。作者对此又做了进一步简化,将权重系数全部抹去,形成了最终的损失函数:

作者通过实验发现,这种去掉权重的简化版公式训练效果更佳。最终的训练和解码的算法为:

高斯扩散模型_基于扩散概率模型 (Diffusion Probabilistic Model ) 的音频生成模型_第2张图片

扩散概率模型在音频生成中的应用 -- DiffWave

最近有两个相关的工作,DiffWave [3] 和 WaveGrad [4],本质都是通过扩散概率模型进行语音波形的生成。这里简单介绍一下 DiffWave 的工作。

该工作使用了类似于 WaveNet 的网络结构,包含了双向的长感知域,可以很好的从长波形序列中提取有效的特征。模型以信号和扩散轮数

为输入,预测噪声

高斯扩散模型_基于扩散概率模型 (Diffusion Probabilistic Model ) 的音频生成模型_第3张图片

和 WaveNet 类似,该模型也有一个 Conditioner 来编码条件信息,比如梅尔谱,说话人标记等等。在训练和解码的时候,提前设置好扩散总轮数

,和
。比如效果最好的
, 即初始
,每次迭代增加0.02。
越大,迭代的次数也就越多,生成效果也就更好。从下表中可以看到,效果已经超过了WaveNet、WaveGlow,并且这些模型的参数量都很小,唯一的缺陷在于,需要大量的迭代次数。在WaveGrad中,最佳模型的迭代次数达到了1000之多。

高斯扩散模型_基于扩散概率模型 (Diffusion Probabilistic Model ) 的音频生成模型_第4张图片

扩散概率模型在声音转换中的应用 -- VoiceGrad[5]

该工作使用了扩散概率模型进行声音转换。核心思想一致,只是输入特征不同,将波形信号换成了声学特征梅尔倒谱(MCCs)、和说话人标志。该模型结构基于U-Net,是一种较为成熟的,常用于增强和其他语音任务的模型结构。

高斯扩散模型_基于扩散概率模型 (Diffusion Probabilistic Model ) 的音频生成模型_第5张图片

最后该模型也是取得了比VAE和StarGAN更好的效果。在此就不过多赘述,感兴趣的同学可以去看看这篇论文。

高斯扩散模型_基于扩散概率模型 (Diffusion Probabilistic Model ) 的音频生成模型_第6张图片

总结

扩散概率模型为生成模型提出了一条新的非常好的思路。目前这套方案已经证明了它的价值和潜能,接下来的趋势可能就在于如何缩小迭代轮数,加速生成效率,并继续扩张其在不同领域的影响。不过这套方案的理论发展也十分值得关注,目前的理论推导仍然存在很多令我费解的地方(我数学不好),很多公式我并没推明白,而且大量的 close form 的公式让我无法完全相信这套理论。说不定有一套更严谨的,更简洁的理论推导能够解释它。

Reference

[1] Ho J, Jain A, Abbeel P. Denoising diffusion probabilistic models[J]. arXiv preprint arXiv:2006.11239, 2020.

[2] Sohl-Dickstein J, Weiss E A, Maheswaranathan N, et al. Deep unsupervised learning using nonequilibrium thermodynamics[J]. arXiv preprint arXiv:1503.03585, 2015.

[3] Kong Z, Ping W, Huang J, et al. DiffWave: A Versatile Diffusion Model for Audio Synthesis[J]. arXiv preprint arXiv:2009.09761, 2020.

[4] Chen N, Zhang Y, Zen H, et al. WaveGrad: Estimating Gradients for Waveform Generation[J]. arXiv preprint arXiv:2009.00713, 2020.

[5] Kameoka H, Kaneko T, Tanaka K, et al. VoiceGrad: Non-Parallel Any-to-Many Voice Conversion with Annealed Langevin Dynamics[J]. arXiv preprint arXiv:2010.02977, 2020.

你可能感兴趣的:(高斯扩散模型)