2020-NIPS-Denoising Diffusion Probabilistic Models
去噪扩散概率模型
作者:Jonathan Ho, Ajay Jain, Pieter Abbeel
单位:UC Berkeley
论文地址:2020-NIPS-Denoising Diffusion Probabilistic Models
摘要
我们使用扩散概率模型呈现了高质量的图像合成结果,扩散概率模型
是一类受非平衡热力学启发的潜在变量模型。我们的最佳结果是通过对加权变分界限进行训练获得的,该界限是根据扩散概率模型与与朗之万动力学匹配的去噪分数之间的新联系而设计的,并且我们的模型自然地承认渐进式有损解压缩方案,该方案可以解释为自回归解码的泛化。在无条件 CIFAR10 数据集上,我们获得了 9.46 的初始分数和 3.17 的最先进的 FID 分数。在 256x256 LSUN 上,我们获得了与 ProgressiveGAN 类似的样本质量。我们的实现可在 https://github.com/hojonathanho/diffusion 上找到。
1. 引言
各种深度生成模型最近在各种数据模态中都展示了高质量的样本。生成对抗网络(GAN)、自回归模型、流和变分自动编码器(VAE)合成了引人注目的图像和音频样本 [14, 27, 3, 58, 38, 25, 10, 32, 44, 57, 26, 33, 45],并且基于能量的建模和评分匹配方面取得了显着的进步,产生了与 GAN 相当的图像 [11, 55]。
本文介绍了扩散概率模型的进展 [53]。扩散概率模型(为简便起见,我们将其称为 “扩散模型”)是一个参数化的马尔可夫链,使用变分推理进行训练,以在有限时间后产生与数据匹配的样本。学习此链的转换可以逆转扩散过程,这是一个马尔可夫链,它会在与采样相反的方向上逐渐向数据添加噪声,直到信号被破坏。当扩散由少量高斯噪声组成时,将采样链转换也设置为条件高斯就足够了,从而可以实现特别简单的神经网络参数化。
扩散模型定义简单,训练效率高,但据我们所知,尚无证据表明它们能够生成高质量样本。我们表明,扩散模型实际上能够生成高质量样本,有时甚至比其他类型的生成模型的已发表结果更好(第 4 节)。此外,我们表明,扩散模型的某种参数化与训练期间多个噪声水平上的去噪分数匹配以及采样期间退火朗之万动力学具有等价性(第 3.2 节)[55, 61]。我们使用此参数化获得了最佳样本质量结果(第 4.2 节),因此我们认为这种等价性是我们的主要贡献之一。
尽管我们的模型具有良好的样本质量,但与其他基于似然的模型相比,我们的模型的对数似然并不具有竞争力(但是,我们的模型的对数似然确实比据报道的退火重要性抽样(annealed importance sampling)对基于能量(energy based)的模型和分数匹配产生的大估计值(the large estimates)要好 [11, 55])。我们发现,我们模型的大多数无损代码长度都用于描述难以察觉的图像细节(第 4.3 节)。我们用有损压缩(lossy compression)的语言对这一现象进行了更精细的分析,并表明扩散模型的采样过程是一种渐进式解码,类似于自回归解码,其位排序极大地概括了自回归模型通常可能实现的功能。
2. 背景
扩散模型 [53] 是形式为 p θ ( x 0 ) : = ∫ p θ ( x 0 : T ) d x 1 : T p_\theta\left(x_0\right):=\int p_\theta\left(\mathbf{x}_{0:T}\right)d\mathbf{x}_{1:T} pθ(x0):=∫pθ(x0:T)dx1:T 的隐变量模型,其中 x 1 , ⋯ , x T \mathbf{x}_1,\ \cdots,\ \mathbf{x}_T x1, ⋯, xT 是与数据 x 0 ∼ q ( x 0 ) \mathbf{x}_0\sim q\left(\mathbf{x}_0\right) x0∼q(x0) 同维的隐变量。联合分布 p θ ( x 0 : T ) p_\theta\left(\mathbf{x}_{0:T}\right) pθ(x0:T) 被称为逆过程,它被定义为一个马尔可夫链,具有从 p ( x T ) = N ( x T ; 0 ; I ) p\left(\mathbf{x}_T\right)=\mathcal{N}\left(\mathbf{x}_T;\mathbf{0};\mathbf{I}\right) p(xT)=N(xT;0;I) 开始的学习高斯转移(Gaussian transitions):
扩散模型与其他类型的潜在变量模型的区别在于,近似后验 q ( x 1 : T | x 0 ) q\left(\mathbf{x}_{1:T}\middle|\mathbf{x}_0\right) q(x1:T∣x0)(称为前向过程或扩散过程)固定在马尔可夫链上,该链根据方差表(variance schedule)逐渐将高斯噪声添加到数据中 β 1 , ⋯ , β T \beta_1,\ \cdots,\ \beta_T β1, ⋯, βT:
训练是通过优化负对数似然的通常变分界限(variational bound)来进行的:
前向过程方差 β t \beta_t βt 可以通过重新参数化 [33] 来学习,也可以作为超参数保持不变,而逆向过程的表达能力部分由 p θ ( x t − 1 | x t ) p_\theta\left(\mathbf{x}_{t-1}\middle|\mathbf{x}_t\right) pθ(xt−1∣xt) 中高斯条件的选择来保证,因为当 β t \beta_t βt 很小时,两个过程具有相同的函数形式 [53]。前向过程的一个显著特性是,它允许以闭式在任意时间步 t t t 对 x t \mathbf{x}_t xt 进行采样:使用符号 α t ≔ 1 − β t \alpha_t≔1-\beta_t αt:=1−βt 和 α ˉ t ≔ ∏ s = 1 t α s {\bar{\alpha}}_t≔\prod_{s=1}^{t}\alpha_s αˉt:=∏s=1tαs,我们有
因此,通过使用随机梯度下降优化 L L L 的随机项,可以实现高效训练。通过将 L L L (3) 重写为:
(详情见附录 A。术语的标签在第 3 节中使用。)等式 (5) 使用 KL 散度直接将 p θ ( x t − 1 | x t ) p_\theta\left(\mathbf{x}_{t-1}\middle|\mathbf{x}_t\right) pθ(xt−1∣xt) 与前向过程后验进行比较,当以 x 0 \mathbf{x}_0 x0 为条件时,后验是易于处理的:
其中
因此,公式 (5) 中的所有 KL 散度都是高斯之间的比较,因此它们可以采用 Rao-Blackwellized 方式用闭式表达式来计算,而不是高方差蒙特卡洛估计(high variance Monte Carlo estimates)。
3. 扩散模型和去噪自动编码器
扩散模型可能看起来是一类受限的隐变量模型,但它们在实施过程中允许大量的自由度。必须选择正向过程的方差 β t \beta_t βt 以及反向过程的模型架构和高斯分布参数化。为了指导我们的选择,我们在扩散模型和去噪分数匹配之间建立了一种新的明确联系(第 3.2 节),从而为扩散模型提供了简化的加权变分边界目标(第 3.4 节)。最终,我们的模型设计通过简单性和实证结果得到证明(第 4 节)。我们的讨论按方程 (5) 的术语进行分类。
3.1 正向过程和 L T L_{T} LT
我们忽略了前向过程方差 β t \beta_t βt 可以通过重新参数化来学习的事实,而是将它们固定为常数(详情见第 4 节)。因此,在我们的实现中,近似后验 q q q 没有可学习的参数,因此 L T L_T LT 在训练期间是一个常数,可以忽略不计。
3.2 逆过程与 L 1 : T − 1 L_{1:T-1} L1:T−1
现在我们讨论当 1 < t ≤ T 1<t\le T 1<t≤T 时 p θ ( x t − 1 | x t ) = N ( x t − 1 ; μ θ ( x t , t ) , ∑ θ ( x t , t ) ) p_\theta\left(\mathbf{x}_{t-1}\middle|\mathbf{x}_t\right)=\mathcal{N}\left(\mathbf{x}_{t-1};\ \boldsymbol{\mu}_\theta\left(\mathbf{x}_t,\ t\right),\ \sum_{\theta}\left(\mathbf{x}_t,\ t\right)\right) pθ(xt−1∣xt)=N(xt−1; μθ(xt, t), ∑θ(xt, t)) 中的选择。首先,我们将 ∑ θ ( x t , t ) = σ t 2 I \sum_{\theta}\left(\mathbf{x}_t,\ t\right)=\sigma_t^2\mathbf{I} ∑θ(xt, t)=σt2I 设置为未训练的时间相关常数。实验上, σ t 2 = β t \sigma_t^2=\beta_t σt2=βt 和 σ t 2 = β ~ t = 1 − α ˉ t − 1 1 − α ˉ t β t \sigma_t^2={\widetilde{\beta}}_t=\frac{1-{\bar{\alpha}}_{t-1}}{1-{\bar{\alpha}}_t}\beta_t σt2=β t=1−αˉt1−αˉt−1βt 均有相似的结果。第一个选择对于 x 0 ∼ N ( 0 ; I ) \mathbf{x}_0\sim \mathcal{N}\left(\mathbf{0};\ \mathbf{I}\right) x0∼N(0; I) 是最优的,第二个选择对于 x 0 \mathbf{x}_0 x0 确定性地设置为一个点是最优的。这两个极端选择对应于具有坐标单位方差的数据的逆过程熵的上限和下限 [53]。
其次,为了表示平均值 μ θ ( x t , t ) \boldsymbol{\mu}_\theta\left(\mathbf{x}_t,\ t\right) μθ(xt, t),我们提出了一个特定的参数化方法,其动机是对 L T L_T LT 进行以下分析。其中 p θ ( x t − 1 | x t ) = N ( x t − 1 ; μ θ ( x t , t ) , σ t 2 I ) p_\theta\left(\mathbf{x}_{t-1}\middle|\mathbf{x}_t\right)=\mathcal{N}\left(\mathbf{x}_{t-1};\ \boldsymbol{\mu}_\theta\left(\mathbf{x}_t,\ t\right),\ \sigma_t^2\mathbf{I}\right) pθ(xt−1∣xt)=N(xt−1; μθ(xt, t), σt2I),我们可以写成:
其中 C C C 是一个与 θ \theta θ 无关的常数。因此,我们看到, μ θ \boldsymbol{\mu}_\theta μθ 最直接的参数化是一个预测前向过程后验均值 μ ~ t {\widetilde{\boldsymbol{\mu}}}_t μ t 的模型。但是,我们可以进一步扩展方程 (8),方法是将方程 (4) 重新参数化为 x t ( x 0 , ϵ ) = α ˉ t x 0 + 1 − α ˉ t ϵ \mathbf{x}_t\left(\mathbf{x}_0,\ \boldsymbol{\epsilon}\right)=\sqrt{{\bar{\alpha}}_t}\mathbf{x}_0+\sqrt{1-{\bar{\alpha}}_t}\boldsymbol{\epsilon} xt(x0, ϵ)=αˉtx0+1−αˉtϵ,其中 ϵ ∼ N ( 0 , I ) \boldsymbol{\epsilon}\sim\mathcal{N}\left(\mathbf{0},\ \mathbf{I}\right) ϵ∼N(0, I),并应用前向过程后验公式 (7):
等式 (10) 表明,给定 x t \mathbf{x}_t xt, μ θ \boldsymbol{\mu}_\theta μθ 必须预测 1 α t ( x t − β t 1 − α ˉ t ϵ ) \frac{1}{\sqrt{\alpha_t}}\left(\mathbf{x}_t-\frac{\beta_t}{\sqrt{1-{\bar{\alpha}}_t}}\boldsymbol{\epsilon}\right) αt1(xt−1−αˉtβtϵ)。由于 x t \mathbf{x}_t xt 可作为模型的输入,我们可以选择参数化
其中 ϵ θ \boldsymbol{\epsilon}_{\theta} ϵθ 是一个函数逼近器,用于根据 x t \mathbf{x}_t xt 预测 。对 x t − 1 ∼ p θ ( x t − 1 | x t ) \mathbf{x}_{t-1}\sim p_\theta\left(\mathbf{x}_{t-1}\middle|\mathbf{x}_t\right) xt−1∼pθ(xt−1∣xt) 进行采样就是计算 x t − 1 = 1 α t ( x t − β t 1 − α ˉ t ϵ ( x t , t ) ) + σ t z \mathbf{x}_{t-1}=\frac{1}{\sqrt{\alpha_t}}\left(\mathbf{x}_t-\frac{\beta_t}{\sqrt{1-{\bar{\alpha}}_t}}\boldsymbol{\epsilon}\left(\mathbf{x}_t,\ t\right)\right)+\sigma_t\mathbf{z} xt−1=αt1(xt−1−αˉtβtϵ(xt, t))+σtz,其中 z ∼ N ( 0 , I ) \mathbf{z}\sim\mathcal{N}\left(\mathbf{0},\ \mathbf{I}\right) z∼N(0, I)。完整的采样过程,即算法 2,类似于朗之万动力学,其中 θ \theta θ 是数据密度的学习梯度。此外,通过参数化 (11),等式 (10) 简化为:
它类似于在以 t t t 为指标的多个噪声尺度上进行去噪得分匹配 [55]。由于方程 (12) 等于类朗之万逆过程(Langevin-like reverse process) (11) 的变分界限(的一个项),我们看到优化一个类似于去噪得分匹配的目标等同于使用变分推理来拟合类似于朗之万动力学(Langevin dynamics)的采样链(sampling chain)的有限时间边际(finite-time marginal)。
总而言之,我们可以训练逆过程均值函数逼近器 μ θ \boldsymbol{\mu}_\theta μθ 来预测 μ ~ t {\widetilde{\boldsymbol{\mu}}}_t μ t,或者通过修改其参数化,我们可以训练它来预测。(还有预测 x 0 \mathbf{x}_0 x0 的可能性,但我们在实验初期发现这会导致样本质量下降。)我们已经证明 ϵ \boldsymbol{\epsilon} ϵ- 预测参数化既类似于朗之万动力学,又将扩散模型的变分界限简化为类似于去噪分数匹配的目标。尽管如此,它只是 p θ ( x t − 1 | x t ) p_\theta\left(\mathbf{x}_{t-1}\middle|\mathbf{x}_t\right) pθ(xt−1∣xt) 的另一种参数化,因此我们在第 4 节中通过比较预测 ϵ \boldsymbol{\epsilon} ϵ 和预测 μ ~ t {\widetilde{\boldsymbol{\mu}}}_t μ t 来验证其有效性。
3.3 数据缩放、逆过程解码器和 L 0 L_{0} L0
我们假设图像数据由 { 0 , 1 , ⋯ , 255 } \left\{0,\ 1,\ \cdots,\ 255\right\} {0, 1, ⋯, 255} 中的整数组成,并线性缩放到 [ − 1 , 1 ] \left[-1,\ 1\right] [−1, 1]。这确保了神经网络逆过程从标准正态先验 p ( x T ) p\left(\mathbf{x}_T\right) p(xT) 开始对一致缩放的输入进行操作。为了获得离散对数似然,我们将逆过程的最后一项设置为从高斯 N ( x 0 ; μ θ ( x 1 , 1 ) , σ 1 2 I ) \mathcal{N}\left(\mathbf{x}_0;\ \mu_\theta\left(\mathbf{x}_1,\ 1\right),\sigma_1^2\mathbf{I}\right) N(x0; μθ(x1, 1),σ12I) 派生的独立离散解码器:
其中 D D D 是数据维数,上标 i i i 表示提取一个坐标。(其实,直接使用更强大的解码器(如条件自回归模型)也很简单,但我们将其留待以后研究。)与 VAE 解码器和自回归模型 [34, 52] 中使用的离散化连续分布类似,我们在此的选择确保变分界限是离散数据的无损码长,无需向数据添加噪声或将缩放操作的雅可比(Jacobian)矩阵合并到对数似然中。在采样结束时,我们无噪声地显示 μ θ ( x 1 , 1 ) \boldsymbol{\mu}_\theta\left(\mathbf{x}_1,\ 1\right) μθ(x1, 1)。
3.4 简化的训练目标
通过上面定义的逆过程和解码器,由方程 (12) 和 (13) 得出的变分界限显然关于 θ \theta θ 可微,可以用于训练。然而,我们发现,在变分界限的以下变体上进行训练有利于提高样本质量(并且更易于实现):
其中 t t t 在 1 1 1 和 T T T 之间是均匀的。 t = 1 t=1 t=1 的情况对应于离散解码器定义 (13) 中的 L 0 L_0 L0 积分,该积分由高斯概率密度函数乘以箱宽近似,忽略 σ 1 2 \sigma_1^2 σ12 和边缘效应。 t > 1 t>1 t>1 的情况对应于方程 (12) 的未加权版本,类似于 NCSN 去噪分数匹配模型 [55] 使用的损失加权。( L T L_T LT 未出现,因为前向过程方差 β t \beta_t βt 是固定的。)算法 1 显示了具有此简化目标的完整训练过程。
由于我们的简化目标 (14) 放弃了方程 (12) 中的权重,因此它是一个加权变分界限,与标准变分界限 [18, 22] 相比,它强调了重建的不同方面。具体来说,我们在第 4 节中设置的扩散过程使简化目标降低了与小 t t t 相对应的权重损失项。这些项训练网络对噪声量非常小的数据进行去噪,因此降低它们的权重是有益的,这样网络就可以专注于更大 t t t 项下更困难的去噪任务。我们将在实验中看到,这种重新加权可以提高样本质量。
4. 实验
我们将所有实验的 T = 1000 T=1000 T=1000 设置为与之前的工作 [53, 55] 相匹配的神经网络评估次数。我们将正向过程方差设置为从 β 1 = 10 − 4 \beta_1={10}^{-4} β1=10−4 线性增加到 β T = 0.02 \beta_T=0.02 βT=0.02 的常数。这些常数相对于缩放到 [ − 1 , 1 ] \left[-1,\ 1\right] [−1, 1] 的数据较小,确保反向和正向过程具有大致相同的函数形式,同时将 x T \mathbf{x}_T xT 处的信噪比保持在尽可能小的水平(在我们的实验中, L T = D K L ( q ( x T | x 0 ) | ∣ N ( 0 , I ) ) ≈ 10 − 5 ) L_T=D_{\rm KL}\left(q\left(\mathbf{x}_T\middle|\mathbf{x}_0\right)\middle|\left|\mathcal{N}\left(\mathbf{0},\ \mathbf{I}\right)\right)\approx{10}^{-5}\right) LT=DKL(q(xT∣x0) ∣N(0, I))≈10−5) 位/维)。
为了表示逆向过程,我们使用了类似于未掩蔽的 PixelCNN++ [52, 48] 的 U-Net 主干(backbone),并在整个过程中进行组归一化 [66]。参数跨时间共享,使用 Transformer 正弦位置嵌入 [60] 指定给网络。我们在 16×16 特征图分辨率下使用自注意力 [63, 60]。详细信息见附录 B。
4.1 样本质量
表 1 显示了 CIFAR10 上的 Inception 分数、FID 分数和负对数似然(无损代码长度)。我们的无条件模型的 FID 分数为 3.17,其样本质量优于文献中的大多数模型,包括类条件模型。我们的 FID 分数是根据训练集计算的,这是标准做法;当我们根据测试集计算时,分数为 5.24,这仍然比文献中的许多训练集 FID 分数要好。
我们发现,在真实变分界限上训练我们的模型产生的代码长度比在简化目标上训练的更好,这正如预期的那样,但后者产生的样本质量最好。请参阅图 1(CIFAR10 和 CelebA-HQ 256×256 样本)、图 3 和图 4(LSUN 256×256 样本)[71],以及附录 D 了解更多信息。
4.2 逆向过程参数化与训练目标消融
在表 2 中,我们展示了逆过程参数化和训练目标对样本质量的影响(第 3.2 节)。我们发现,预测 μ ~ \widetilde{\boldsymbol{\mu}} μ 的基线选项仅在对真实变分界限而不是未加权均方误差进行训练时效果良好,这是一个类似于公式 (14) 的简化目标。我们还看到,学习逆过程方差(通过将参数化的对角线 ∑ θ ( x t ) \sum_{\theta}\left(\mathbf{x}_t\right) ∑θ(xt) 纳入变分界限)会导致训练不稳定,并且与固定方差相比样本质量更差。正如我们所提出的,当在具有固定方差的变分界限上进行训练时,预测 ϵ \boldsymbol{\epsilon} ϵ 的表现大致与预测 μ ~ \widetilde{\boldsymbol{\mu}} μ 一样好,但当使用我们的简化目标进行训练时,效果要好得多。
4.3 渐进编码
表 1 还显示了我们的 CIFAR10 模型的码长。训练和测试之间的差距最多为每维 0.03 位,这与其他基于似然的模型报告的差距相当,表明我们的扩散模型没有过度拟合(请参阅附录 D 了解最近邻可视化)。尽管如此,虽然我们的无损码长优于基于能量的模型和使用退火重要性采样的得分匹配报告的较大估计值 [11],但它们与其他类型的基于似然的生成模型相比并不具有竞争力 [7]。
尽管如此,由于我们的样本质量很高,我们得出结论,扩散模型具有归纳偏差,这使得它们成为出色的有损压缩器(lossy compressors)。将变分边界项 L 1 + ⋯ + L T L_1+\cdots+L_T L1+⋯+LT 视为速率,将 L 0 L_0 L0 视为失真(distortion),我们的 CIFAR10 模型具有最高质量的样本,其速率为 1.78 \mathbf{1}.\mathbf{78} 1.78 位/维,失真为 1.97 \mathbf{1}.\mathbf{97} 1.97 位/维,这相当于 0 到 255 范围内的均方根误差为 0.95。超过一半的无损码长描述了不可察觉的失真。
渐进有损压缩。我们可以通过引入与公式 (5) 形式相似的渐进有损编码来进一步探究我们模型的率失真行为:参见算法 3 和 4,它们假设可以访问诸如最小随机编码 [19, 20] 之类的程序,该程序可以对任何分布 p p p 和 q q q 平均使用大约 D K L ( q ( x ) ∣ ∣ p ( x ) ) D_{\rm KL}\left(q\left(\mathbf{x}\right)||p\left(\mathbf{x}\right)\right) DKL(q(x)∣∣p(x)) 位传输样本 x ∼ q ( x ) \mathbf{x}\sim q\left(\mathbf{x}\right) x∼q(x),其中接收方事先只能获得 p p p。当应用于 x 0 ∼ q ( x 0 ) \mathbf{x}_0\sim q\left(\mathbf{x}_0\right) x0∼q(x0) 时,算法 3 和 4 使用等于公式 (5) 的总预期码长按顺序传输 x T , ⋯ , x 0 \mathbf{x}_T,\ \cdots,\ \mathbf{x}_0 xT, ⋯, x0。接收方在任何时间 t t t 都拥有完全可用的部分信息 x t \mathbf{x}_t xt,并可以渐进地估计:
根据等式 (4)。(随机重构 x 0 ∼ p θ ( x 0 | x t ) \mathbf{x}_0\sim p_\theta\left(\mathbf{x}_0\middle|\mathbf{x}_t\right) x0∼pθ(x0∣xt) 也有效,但我们在此不考虑它,因为它会使失真更难评估。)图 5 显示了 CIFAR10 测试集上得到的速率失真图。在每个时间 t t t,失真计算为均方根误差 ∣ ∣ x 0 − x ^ 0 ∣ ∣ 2 D \sqrt{\frac{\left|\left|\mathbf{x}_0-{\hat{\mathbf{x}}}_0\right|\right|^2}{D}} D∣∣x0−x^0∣∣2,速率计算为时间 t t t 迄今为止接收的累计位数。失真在速率失真图的低速率区域急剧下降,表明大多数比特确实分配给了不可察觉的失真。
渐进式生成。我们还运行了一个渐进式无条件生成过程,该过程由随机位的渐进式解压缩给出。换句话说,我们预测逆过程的结果 x ^ 0 {\hat{\mathbf{x}}}_0 x^0,同时使用算法 2 从逆过程中采样。图 6 和图 10 显示了逆过程中 x ^ 0 {\hat{\mathbf{x}}}_0 x^0 的样本质量。大规模图像特征首先出现,细节最后出现。图 7 显示了随机预测 x 0 ∼ p θ ( x 0 | x t ) \mathbf{x}_0\sim p_\theta\left(\mathbf{x}_0\middle|\mathbf{x}_t\right) x0∼pθ(x0∣xt),其中 x t \mathbf{x}_t xt 在不同 t t t 下冻结。当 t t t 较小时,除了精细细节之外的所有细节都会保留下来,而当 t t t 较大时,只有大规模特征才会保留下来。也许这些是概念压缩的暗示 [18]。
与自回归解码的联系。注意变分界限(5)可以重写为:
(请参阅附录 A 中的推导。)现在考虑将扩散过程长度 T T T 设置为数据的维数,定义前向过程,使得 q ( x t | x 0 ) q\left(\mathbf{x}_t\middle|\mathbf{x}_0\right) q(xt∣x0) 将所有概率质量放在 x 0 \mathbf{x}_0 x0 上,并屏蔽前 t t t 个坐标(即 q ( x t | x t − 1 ) q\left(\mathbf{x}_t\middle|\mathbf{x}_{t-1}\right) q(xt∣xt−1) 屏蔽第 t t t 个坐标),设置 p ( x T ) p\left(\mathbf{x}_T\right) p(xT) 将所有质量放在空白图像上,并且为了论证的目的,将 p θ ( x t − 1 | x t ) p_\theta\left(\mathbf{x}_{t-1}\middle|\mathbf{x}_t\right) pθ(xt−1∣xt) 视为完全表达的条件分布。通过这些选择, D K L ( q ( x T ) ∣ ∣ p ( x T ) ) = 0 D_{\rm KL}\left(q\left(\mathbf{x}_T\right)||p\left(\mathbf{x}_T\right)\right)=0 DKL(q(xT)∣∣p(xT))=0,并且最小化 D K L ( q ( x ( t − 1 ) ∣ x t ) ∣ ∣ p ( x T ) ) D_{\rm KL}\left(q\left(\mathbf{x}_(t-1)\ |\mathbf{x}_t\right)||p\left(\mathbf{x}_T\right)\right) DKL(q(x(t−1) ∣xt)∣∣p(xT)) 训练 p θ p_\theta pθ 复制坐标 t + 1 , ⋯ , T t+1,\cdots,\ T t+1,⋯, T 不变,并预测给定 t + 1 , ⋯ , T t+1,\cdots,\ T t+1,⋯, T 的第 t t t 个坐标 T T T。因此,用这种特殊的扩散训练 p θ p_\theta pθ 就是训练自回归模型。
因此,我们可以将高斯扩散模型 (2) 解释为一种具有广义位排序的自回归模型,而这种排序无法通过重新排序数据坐标来表达。先前的研究表明,这种重新排序会引入归纳偏差,从而影响样本质量 [38],因此我们推测高斯扩散也有类似的用途,而且效果可能更好,因为与掩蔽噪声相比,将高斯噪声添加到图像中可能更自然。此外,高斯扩散长度不限于等于数据维数;例如,我们在实验中使用 T = 1000 T=1000 T=1000,它小于 32×32×3 或 256×256×3 图像的维数。高斯扩散可以做得更短以实现快速采样,也可以做得更长以实现模型表达能力。
4.4 插值
我们可以使用 q q q 作为随机编码器, x 0 , x 0 ′ ∼ q ( x t | x 0 ) \mathbf{x}_0,\ \mathbf{x}_0^\prime\sim q\left(\mathbf{x}_t\middle|\mathbf{x}_0\right) x0, x0′∼q(xt∣x0),在潜在空间中插值源图像 x t , x t ′ ∼ q ( x t | x 0 ) \mathbf{x}_t,\ \mathbf{x}_t^\prime\sim q\left(\mathbf{x}_t\middle|\mathbf{x}_0\right) xt, xt′∼q(xt∣x0),然后通过逆过程将线性插值的潜在 x ˉ t = ( 1 − λ ) x 0 + λ x 0 ′ {\bar{\mathbf{x}}}_t=\left(1-\lambda\right)\mathbf{x}_0+\lambda\mathbf{x}_0^\prime xˉt=(1−λ)x0+λx0′ 解码到图像空间, x ˉ 0 ∼ q ( x t | x 0 ) {\bar{\mathbf{x}}}_0\sim q\left(\mathbf{x}_t\middle|\mathbf{x}_0\right) xˉ0∼q(xt∣x0)。实际上,我们使用逆过程从线性插值损坏的源图像版本中去除伪影,如图 8(左)所示。我们固定了不同 λ \lambda λ 值的噪声,因此 x t 和 x t ′ \mathbf{x}_t 和 \mathbf{x}_t^\prime xt和xt′ 保持不变。图 8(右)展示了原始 CelebA-HQ 256×256 图像( t = 500 t=500 t=500)的插值和重建。逆向过程可产生高质量的重建和合理的插值,这些插值可以平滑地改变姿势、肤色、发型、表情和背景等属性,但不会改变眼镜。 t t t 越大,插值越粗糙,变化也越多, t = 1000 t=1000 t=1000 时会出现新的样本(附录图 9)。
5. 相关工作
虽然扩散模型可能类似于流 [9, 46, 10, 32, 5, 16, 23] 和 VAE [33, 47, 37],但扩散模型的设计使得 q q q 没有参数,并且顶层潜在 x T \mathbf{x}_T xT 与数据 x 0 \mathbf{x}_0 x0 几乎没有互信息。我们的 ϵ \boldsymbol{\epsilon} ϵ- 预测逆过程参数化建立了扩散模型与使用退火朗之万动力学进行采样的多个噪声水平上的去噪分数匹配之间的联系 [55, 56]。然而,扩散模型允许直接进行对数似然评估,并且训练过程使用变分推理明确训练朗之万动力学采样器(详情见附录 C)。这种联系也有相反的含义,即某种加权形式的去噪分数匹配与训练类似朗之万的采样器的变分推理相同。学习马尔可夫链转换算子的其他方法包括注入训练 [2]、变分回溯 [15]、生成随机网络[1]等[50, 54, 36, 42, 35, 65]。
根据分数匹配和基于能量的建模之间的已知联系,我们的工作可能对其他近期基于能量的模型的研究产生影响 [67–69, 12, 70, 13, 11, 41, 17, 8]。我们的率失真曲线是在一次变分界限评估中随时间计算的,这让人想起了如何在一次退火重要性抽样中计算失真惩罚下的率失真曲线 [24]。我们的渐进解码论证可以在卷积 DRAW 和相关模型 [18, 40] 中看到,也可能为自回归模型的子尺度排序或采样策略提供更通用的设计 [38, 64]。
6. 结论
我们已经使用扩散模型展示了高质量的图像样本,并且我们发现了扩散模型与变分推理之间的联系,用于训练马尔可夫链、去噪分数匹配和退火朗之万动力学(以及基于能量的模型)、自回归模型和渐进有损压缩。由于扩散模型似乎对图像数据具有出色的归纳偏差,我们期待研究它们在其他数据模式中的效用以及作为其他类型的生成模型和机器学习系统的组件。
更广泛的影响
我们对扩散模型的研究与现有的其他类型的深度生成模型的研究范围相似,例如努力提高 GAN、流、自回归模型等的样本质量。我们的论文代表了在使扩散模型成为此类技术中普遍有用的工具方面取得的进展,因此它可能有助于放大生成模型对更广阔的世界产生的影响(以及将产生的影响)。
不幸的是,生成模型有许多众所周知的恶意用途。样本生成技术可用于制作知名人物的假图像和视频,以达到政治目的。虽然假图像早在软件工具出现之前就已手动创建,但像我们这样的生成模型使这一过程变得更容易。幸运的是,CNN 生成的图像目前存在一些细微的缺陷,可以被检测到 [62],但生成模型的改进可能会使检测变得更加困难。生成模型还反映了它们所训练的数据集中的偏见。由于许多大型数据集都是由自动化系统从互联网上收集的,因此很难消除这些偏见,尤其是在图像未标记的情况下。如果在这些数据集上训练的生成模型的样本在整个互联网上激增,那么这些偏见只会进一步加强。
另一方面,扩散模型可能对数据压缩有用,随着数据的分辨率越来越高,全球互联网流量不断增加,数据压缩可能对确保广大受众能够访问互联网至关重要。我们的工作可能有助于对未标记的原始数据进行表征学习,以用于从图像分类到强化学习等大量下游任务,扩散模型也可能适用于艺术、摄影和音乐领域的创意用途。
资金确认和披露
这项工作得到了 ONR PECASE 和 NSF 研究生奖学金的支持,资助编号为 DGE-1752814。Google 的 TensorFlow 研究云 (TFRC) 提供了云 TPU。
参考文献
[1] Guillaume Alain, Yoshua Bengio, Li Yao, Jason Yosinski, Eric Thibodeau-Laufer, Saizheng Zhang, and Pascal Vincent. GSNs: generative stochastic networks. Information and Inference: A Journal of the IMA, 5(2):210–249, 2016.
[2] Florian Bordes, Sina Honari, and Pascal Vincent. Learning to generate samples from noise through infusion training. In International Conference on Learning Representations, 2017.
[3] Andrew Brock, Jeff Donahue, and Karen Simonyan. Large scale GAN training for high fidelity natural image synthesis. In International Conference on Learning Representations, 2019.
[4] Tong Che, Ruixiang Zhang, Jascha Sohl-Dickstein, Hugo Larochelle, Liam Paull, Yuan Cao, and Yoshua Bengio. Your GAN is secretly an energy-based model and you should use discriminator driven latent sampling. arXiv preprint arXiv:2003.06060, 2020.
[5] Tian Qi Chen, Yulia Rubanova, Jesse Bettencourt, and David K Duvenaud. Neural ordinary differential equations. In Advances in Neural Information Processing Systems, pages 6571–6583, 2018.
[6] Xi Chen, Nikhil Mishra, Mostafa Rohaninejad, and Pieter Abbeel. PixelSNAIL: An improved autoregressive generative model. In International Conference on Machine Learning, pages 863–871, 2018.
[7] Rewon Child, Scott Gray, Alec Radford, and Ilya Sutskever. Generating long sequences with sparse transformers. arXiv preprint arXiv:1904.10509, 2019.
[8] Yuntian Deng, Anton Bakhtin, Myle Ott, Arthur Szlam, and Marc’Aurelio Ranzato. Residual energy-based models for text generation. arXiv preprint arXiv:2004.11714, 2020.
[9] Laurent Dinh, David Krueger, and Yoshua Bengio. NICE: Non-linear independent components estimation. arXiv preprint arXiv:1410.8516, 2014.
[10] Laurent Dinh, Jascha Sohl-Dickstein, and Samy Bengio. Density estimation using Real NVP. arXiv preprint arXiv:1605.08803, 2016.
[11] Yilun Du and Igor Mordatch. Implicit generation and modeling with energy based models. In Advances in Neural Information Processing Systems, pages 3603–3613, 2019.
[12] Ruiqi Gao, Yang Lu, Junpei Zhou, Song-Chun Zhu, and Ying Nian Wu. Learning generative ConvNets via multi-grid modeling and sampling. In Proceedings of the IEEE Conference on Computer Vision and Pattern Recognition, pages 9155–9164, 2018.
[13] Ruiqi Gao, Erik Nijkamp, Diederik P Kingma, Zhen Xu, Andrew M Dai, and Ying Nian Wu. Flow contrastive estimation of energy-based models. In Proceedings of the IEEE/CVF Conference on Computer Vision and Pattern Recognition, pages 7518–7528, 2020.
[14] Ian Goodfellow, Jean Pouget-Abadie, Mehdi Mirza, Bing Xu, David Warde-Farley, Sherjil Ozair, Aaron Courville, and Yoshua Bengio. Generative adversarial nets. In Advances in Neural Information Processing Systems, pages 2672–2680, 2014.
[15] Anirudh Goyal, Nan Rosemary Ke, Surya Ganguli, and Yoshua Bengio. Variational walkback: Learning a transition operator as a stochastic recurrent net. In Advances in Neural Information Processing Systems, pages 4392–4402, 2017.
[16] Will Grathwohl, Ricky T. Q. Chen, Jesse Bettencourt, and David Duvenaud. FFJORD: Free-form continuous dynamics for scalable reversible generative models. In International Conference on Learning Representations, 2019.
[17] Will Grathwohl, Kuan-Chieh Wang, Joern-Henrik Jacobsen, David Duvenaud, Mohammad Norouzi, and Kevin Swersky. Your classifier is secretly an energy based model and you should treat it like one. In International Conference on Learning Representations, 2020.
[18] Karol Gregor, Frederic Besse, Danilo Jimenez Rezende, Ivo Danihelka, and Daan Wierstra. Towards conceptual compression. In Advances In Neural Information Processing Systems, pages 3549–3557, 2016.
[19] Prahladh Harsha, Rahul Jain, David McAllester, and Jaikumar Radhakrishnan. The communication complexity of correlation. In Twenty-Second Annual IEEE Conference on Computational Complexity (CCC’07), pages 10–23. IEEE, 2007.
[20] Marton Havasi, Robert Peharz, and José Miguel Hernández-Lobato. Minimal random code learning: Getting bits back from compressed model parameters. In International Conference on Learning Representations, 2019.
[21] Martin Heusel, Hubert Ramsauer, Thomas Unterthiner, Bernhard Nessler, and Sepp Hochreiter. GANs trained by a two time-scale update rule converge to a local Nash equilibrium. In Advances in Neural Information Processing Systems, pages 6626–6637, 2017.
[22] Irina Higgins, Loic Matthey, Arka Pal, Christopher Burgess, Xavier Glorot, Matthew Botvinick, Shakir Mohamed, and Alexander Lerchner. beta-VAE: Learning basic visual concepts with a constrained variational framework. In International Conference on Learning Representations, 2017.
[23] Jonathan Ho, Xi Chen, Aravind Srinivas, Yan Duan, and Pieter Abbeel. Flow++: Improving flow-based generative models with variational dequantization and architecture design. In International Conference on Machine Learning, 2019.
[24] Sicong Huang, Alireza Makhzani, Yanshuai Cao, and Roger Grosse. Evaluating lossy compression rates of deep generative models. In International Conference on Machine Learning, 2020.
[25] Nal Kalchbrenner, Aaron van den Oord, Karen Simonyan, Ivo Danihelka, Oriol Vinyals, Alex Graves, and Koray Kavukcuoglu. Video pixel networks. In International Conference on Machine Learning, pages 1771–1779, 2017.
[26] Nal Kalchbrenner, Erich Elsen, Karen Simonyan, Seb Noury, Norman Casagrande, Edward Lockhart, Florian Stimberg, Aaron van den Oord, Sander Dieleman, and Koray Kavukcuoglu. Efficient neural audio synthesis. In International Conference on Machine Learning, pages 2410–2419, 2018.
[27] Tero Karras, Timo Aila, Samuli Laine, and Jaakko Lehtinen. Progressive growing of GANs for improved quality, stability, and variation. In International Conference on Learning Representations, 2018.
[28] Tero Karras, Samuli Laine, and Timo Aila. A style-based generator architecture for generative adversarial networks. In Proceedings of the IEEE Conference on Computer Vision and Pattern Recognition, pages 4401–4410, 2019.
[29] Tero Karras, Miika Aittala, Janne Hellsten, Samuli Laine, Jaakko Lehtinen, and Timo Aila. Training generative adversarial networks with limited data. arXiv preprint arXiv:2006.06676v1, 2020.
[30] Tero Karras, Samuli Laine, Miika Aittala, Janne Hellsten, Jaakko Lehtinen, and Timo Aila. Analyzing and improving the image quality of StyleGAN. In Proceedings of the IEEE/CVF Conference on Computer Vision and Pattern Recognition, pages 8110–8119, 2020.
[31] Diederik P Kingma and Jimmy Ba. Adam: A method for stochastic optimization. In International Conference on Learning Representations, 2015.
[32] Diederik P Kingma and Prafulla Dhariwal. Glow: Generative flow with invertible 1x1 convolutions. In Advances in Neural Information Processing Systems, pages 10215–10224, 2018.
[33] Diederik P Kingma and Max Welling. Auto-encoding variational Bayes. arXiv preprint arXiv:1312.6114, 2013.
[34] Diederik P Kingma, Tim Salimans, Rafal Jozefowicz, Xi Chen, Ilya Sutskever, and Max Welling. Improved variational inference with inverse autoregressive flow. In Advances in Neural Information Processing Systems, pages 4743–4751, 2016.
[35] John Lawson, George Tucker, Bo Dai, and Rajesh Ranganath. Energy-inspired models: Learning with sampler-induced distributions. In Advances in Neural Information Processing Systems, pages 8501–8513, 2019.
[36] Daniel Levy, Matt D. Hoffman, and Jascha Sohl-Dickstein. Generalizing Hamiltonian Monte Carlo with neural networks. In International Conference on Learning Representations, 2018.
[37] Lars Maaløe, Marco Fraccaro, Valentin Liévin, and Ole Winther. BIVA: A very deep hierarchy of latent variables for generative modeling. In Advances in Neural Information Processing Systems, pages 6548–6558, 2019.
[38] Jacob Menick and Nal Kalchbrenner. Generating high fidelity images with subscale pixel networks and multidimensional upscaling. In International Conference on Learning Representations, 2019.
[39] Takeru Miyato, Toshiki Kataoka, Masanori Koyama, and Yuichi Yoshida. Spectral normalization for generative adversarial networks. In International Conference on Learning Representations, 2018.
[40] Alex Nichol. VQ-DRAW: A sequential discrete VAE. arXiv preprint arXiv:2003.01599, 2020.
[41] Erik Nijkamp, Mitch Hill, Tian Han, Song-Chun Zhu, and Ying Nian Wu. On the anatomy of MCMC-based maximum likelihood learning of energy-based models. arXiv preprint arXiv:1903.12370, 2019.
[42] Erik Nijkamp, Mitch Hill, Song-Chun Zhu, and Ying Nian Wu. Learning non-convergent non-persistent short-run MCMC toward energy-based model. In Advances in Neural Information Processing Systems, pages 5233–5243, 2019.
[43] Georg Ostrovski, Will Dabney, and Remi Munos. Autoregressive quantile networks for generative modeling. In International Conference on Machine Learning, pages 3936–3945, 2018.
[44] Ryan Prenger, Rafael Valle, and Bryan Catanzaro. WaveGlow: A flow-based generative network for speech synthesis. In ICASSP 2019-2019 IEEE International Conference on Acoustics, Speech and Signal Processing (ICASSP), pages 3617–3621. IEEE, 2019.
[45] Ali Razavi, Aaron van den Oord, and Oriol Vinyals. Generating diverse high-fidelity images with VQVAE-2. In Advances in Neural Information Processing Systems, pages 14837–14847, 2019.
[46] Danilo Rezende and Shakir Mohamed. Variational inference with normalizing flows. In International Conference on Machine Learning, pages 1530–1538, 2015.
[47] Danilo Jimenez Rezende, Shakir Mohamed, and Daan Wierstra. Stochastic backpropagation and approximate inference in deep generative models. In International Conference on Machine Learning, pages 1278–1286, 2014.
[48] Olaf Ronneberger, Philipp Fischer, and Thomas Brox. U-Net: Convolutional networks for biomedical image segmentation. In International Conference on Medical Image Computing and Computer-Assisted Intervention, pages 234–241. Springer, 2015.
[49] Tim Salimans and Durk P Kingma. Weight normalization: A simple reparameterization to accelerate training of deep neural networks. In Advances in Neural Information Processing Systems, pages 901–909, 2016.
[50] Tim Salimans, Diederik Kingma, and Max Welling. Markov Chain Monte Carlo and variational inference: Bridging the gap. In International Conference on Machine Learning, pages 1218–1226, 2015.
[51] Tim Salimans, Ian Goodfellow, Wojciech Zaremba, Vicki Cheung, Alec Radford, and Xi Chen. Improved techniques for training gans. In Advances in Neural Information Processing Systems, pages 2234–2242, 2016.
[52] Tim Salimans, Andrej Karpathy, Xi Chen, and Diederik P Kingma. PixelCNN++: Improving the PixelCNN with discretized logistic mixture likelihood and other modifications. In International Conference on Learning Representations, 2017.
[53] Jascha Sohl-Dickstein, Eric Weiss, Niru Maheswaranathan, and Surya Ganguli. Deep unsupervised learning using nonequilibrium thermodynamics. In International Conference on Machine Learning, pages 2256–2265, 2015.
[54] Jiaming Song, Shengjia Zhao, and Stefano Ermon. A-NICE-MC: Adversarial training for MCMC. In Advances in Neural Information Processing Systems, pages 5140–5150, 2017.
[55] Yang Song and Stefano Ermon. Generative modeling by estimating gradients of the data distribution. In Advances in Neural Information Processing Systems, pages 11895–11907, 2019.
[56] Yang Song and Stefano Ermon. Improved techniques for training score-based generative models. arXiv preprint arXiv:2006.09011, 2020.
[57] Aaron van den Oord, Sander Dieleman, Heiga Zen, Karen Simonyan, Oriol Vinyals, Alex Graves, Nal Kalchbrenner, Andrew Senior, and Koray Kavukcuoglu. WaveNet: A generative model for raw audio. arXiv preprint arXiv:1609.03499, 2016.
[58] Aaron van den Oord, Nal Kalchbrenner, and Koray Kavukcuoglu. Pixel recurrent neural networks. International Conference on Machine Learning, 2016.
[59] Aaron van den Oord, Nal Kalchbrenner, Oriol Vinyals, Lasse Espeholt, Alex Graves, and Koray Kavukcuoglu. Conditional image generation with PixelCNN decoders. In Advances in Neural Information Processing Systems, pages 4790–4798, 2016.
[60] Ashish Vaswani, Noam Shazeer, Niki Parmar, Jakob Uszkoreit, Llion Jones, Aidan N Gomez, Łukasz Kaiser, and Illia Polosukhin. Attention is all you need. In Advances in Neural Information Processing Systems, pages 5998–6008, 2017.
[61] Pascal Vincent. A connection between score matching and denoising autoencoders. Neural Computation, 23(7):1661–1674, 2011.
[62] Sheng-Yu Wang, Oliver Wang, Richard Zhang, Andrew Owens, and Alexei A Efros. Cnn-generated images are surprisingly easy to spot…for now. In Proceedings of the IEEE Conference on Computer Vision and Pattern Recognition, 2020.
[63] Xiaolong Wang, Ross Girshick, Abhinav Gupta, and Kaiming He. Non-local neural networks. In Proceedings of the IEEE Conference on Computer Vision and Pattern Recognition, pages 7794–7803, 2018.
[64] Auke J Wiggers and Emiel Hoogeboom. Predictive sampling with forecasting autoregressive models. arXiv preprint arXiv:2002.09928, 2020.
[65] Hao Wu, Jonas Köhler, and Frank Noé. Stochastic normalizing flows. arXiv preprint arXiv:2002.06707, 2020.
[66] Yuxin Wu and Kaiming He. Group normalization. In Proceedings of the European Conference on Computer Vision (ECCV), pages 3–19, 2018.
[67] Jianwen Xie, Yang Lu, Song-Chun Zhu, and Yingnian Wu. A theory of generative convnet. In International Conference on Machine Learning, pages 2635–2644, 2016.
[68] Jianwen Xie, Song-Chun Zhu, and Ying Nian Wu. Synthesizing dynamic patterns by spatial-temporal generative convnet. In Proceedings of the IEEE Conference on Computer Vision and Pattern Recognition, pages 7093–7101, 2017.
[69] Jianwen Xie, Zilong Zheng, Ruiqi Gao, Wenguan Wang, Song-Chun Zhu, and Ying Nian Wu. Learning descriptor networks for 3d shape synthesis and analysis. In Proceedings of the IEEE Conference on Computer Vision and Pattern Recognition, pages 8629–8638, 2018.
[70] Jianwen Xie, Song-Chun Zhu, and Ying Nian Wu. Learning energy-based spatial-temporal generative convnets for dynamic patterns. IEEE Transactions on Pattern Analysis and Machine Intelligence, 2019.
[71] Fisher Yu, Yinda Zhang, Shuran Song, Ari Seff, and Jianxiong Xiao. LSUN: Construction of a large-scale image dataset using deep learning with humans in the loop. arXiv preprint arXiv:1506.03365, 2015.
[72] Sergey Zagoruyko and Nikos Komodakis. Wide residual networks. arXiv preprint arXiv:1605.07146, 2016.