©PaperWeekly 原创 · 作者 | 鬼谷子
引言
在上一篇基于流的深度生成模型中详解介绍了有关流的生成模型理论和方法。目前为止,基于 GAN 生成模型,基于 VAE 的生成模型,以及基于 flow 的生成模型它们都可以生成较高质量的样本,但每种方法都有其局限性。GAN 在对抗训练过程中会出现模式崩塌和训练不稳定的问题;VAE 则严重依赖于目标损失函数;流模型则必须使用专门的框架来构建可逆变换。
本文主要介绍关于扩散模型,其灵感来自于非平衡热力学。它们定义了扩散步骤的马尔可夫链,将随机噪声缓慢地添加到数据中,然后学习逆向扩散过程以从噪声中构造所需的数据样本。
与 VAE 或流模型不同,扩散模型是通过固定过程学习的,并且中间的隐变量与原始数据具有高维数维度。
优点:扩散模型既易于分析又很灵活。要知道易处理性和灵活性是生成建模中两个相互冲突的目标。易于处理的模型可以进行分析评估和拟合数据,但它们不能轻易地描述丰富数据集中的结构。灵活的模型可以拟合数据中的任意结构,但是从这些模型中评估、训练或采样的成本会很高。
缺点:扩散模型依赖于长马尔可夫扩散步骤链来生成样本,因此在时间和计算方面成本会很高。目前已经提出了新的方法来使该过程更快,但采样的整体过程仍然比 GAN 慢。
前向扩散过程
给定从真实数据分布 中采样的数据点,在一个前向扩散过程,在 步里逐步向样本中添加少量高斯噪声,从而产生一系列噪声样本 ,其步长由方差计划 来控制,则有:
在扩散过程进行的时候,随着时长步长 的增大,数据样本 逐渐失去其可区分的特征。最终,当 , 等价于各向同性高斯分布(各向同性的高斯分布即球形高斯分布,特指的是各个方向方差都一样的多维高斯分布,协方差为正实数与单位矩阵相乘)。
上述过程的一个很好的特性是可以使用重新参数化技巧以封闭形式在任意时间步长 对 进行采样。令 和 ,进而则有:
其中 , 融合两个高斯分布。当合并两个具有不同方差 和 的高斯分布时,得到的新的高斯分布是 ,其中合并的标准差为:
通常情况下,