Denoising Diffusion Probabilistic Models
NeurlPS 2020
https://arxiv.org/pdf/2006.11239.pdf
DALL E 2
https://openai.com/dall-e-2/
Abstract
我们提出了使用扩散概率模型的高质量图像合成结果,这是一类受非平衡热力学启发的潜在变量模型。我们的最佳结果是通过在加权变异约束上的训练获得的,该约束是根据扩散概率模型与朗文动力学的去噪分数匹配之间的一种新的联系而设计的,我们的模型自然地承认一种渐进的有损解压方案,可以解释为自回归解码的一般化。在无条件的CIFAR10数据集上,我们获得了9.46的Inception分数和3.17的最先进的FID分数。在256x256的LSUN上,我们得到的样本质量与ProgressiveGAN相似。我们的实现在https://github.com/hojonathanho/diffusion。
1 Introduction
各类深度生成模型最近在各种数据模式中都表现出了高质量的样本。生成对抗网络(GANs)、自回归模型、流和变异自编码器(VAEs)已经合成了引人注目的图像和音频样本[14, 27, 3, 58, 38, 25, 10, 32, 44, 57, 26, 33, 45],而且基于能量的建模和分数匹配也有显著的进步,产生了与GANs相媲美的图像[11, 55]。
图1:在CelebA-HQ 256×256(左)和无条件CIFAR10(右)上生成的样本
本文介绍了扩散概率模型的进展[53]。扩散概率模型(为简洁起见,我们称之为 "扩散模型")是一个参数化的马尔可夫链,使用变异推理训练,在有限时间后产生与数据匹配的样本。这个链的转换被学习为逆扩散过程,这是一个马尔科夫链,它以采样的相反方向逐渐向数据添加噪声,直到信号被破坏。当扩散由少量的高斯噪声组成时,将采样链的转换也设置为条件高斯就足够了,这样就可以实现特别简单的神经网络参数化。
图2:本工作中考虑的有向图形模型
扩散模型的定义很简单,训练也很有效,但据我们所知,还没有人证明它们能够产生高质量的样本。我们表明,扩散模型实际上能够产生高质量的样本,有时比其他类型的生成模型的公布结果更好(第4节)。此外,我们表明,扩散模型的某种参数化揭示了与训练期间多个噪声水平的去噪分数匹配和采样期间的退火Langevin动力学的等同性(第3.2节)[55, 61]。我们使用这个参数化获得了最好的样本质量结果(第4.2节),所以我们认为这个等价性是我们的主要贡献之一。
尽管他们的样本质量很高,但与其他基于似然的模型相比,我们的模型没有竞争性的对数似然(不过,我们的模型的对数似然比退火重要性采样对基于能量的模型和分数匹配产生的大估计要好[11,55])。我们发现,我们的模型的大部分无损编码长度被消耗在描述不可感知的图像细节上(第4.3节)。我们用有损压缩的语言对这一现象进行了更精细的分析,我们表明扩散模型的采样程序是一种渐进式解码,它类似于沿着比特排序的自回归解码,极大地概括了自回归模型通常可以做到的。
2 背景
扩散模型[53]是潜变量模型,其形式为$p_θ(x_0) :=\int p_θ(x_{0:T} ) dx_{1:T}$ ,其中$x_1, . . . ,x_T$是与数据$x_0∼q(x_0)$具有相同维度的潜变量。联合分布$p_θ(x_{0:T} )$被称为反向过程,它被定义为一个马尔科夫链,具有从$p(x_T )=N (x_T ; 0, I)$开始的学习高斯转换:
扩散模型与其他类型的潜变量模型的区别在于,近似的后验$q(x_{1:T} |x_0)$,称为前向过程或扩散过程,被固定为马尔可夫链,根据方差表$β_1, . . . , β_T$:
训练是通过对负对数似然的通常变异约束进行优化:
正向过程的方差$β_t$可以通过重新参数化来学习[33],或者作为超参数保持不变,反向过程的可表达性部分由$p_θ(x_{t-1}|x_t)$中高斯条件的选择来保证,因为当$β_t$较小时,两个过程具有相同的函数形式[53]。正向过程的一个值得注意的特性是,它允许在任意时间步长$t$下以闭合形式对$x_t$进行采样:使用符号$α_t := 1 - β_t$和$\overline{α}t := \prod^t{s=1} α_s$,我们有:
因此,通过用随机梯度下降法优化$L$的随机项,可以实现高效的训练。进一步的改进来自于通过将L(3)重写为的方差减少:
(详见附录A。术语上的标签在第3节中使用)方程(5)使用$KL$发散来直接比较$p_θ(x_{t-1}|x_t)$与前向过程后验,当以$x_0$为条件时,它是可行的:
因此,公式(5)中的所有$KL$发散都是高斯之间的比较,所以它们可以用Rao-Blackwellized方式计算,用封闭式表达式代替高方差蒙特卡洛估计。
一、前向过程
$α_t := 1 - β_t,\overline{α}t := \prod^t{s=1} α_s$
$x_t=\sqrt{α_t}x_{t-1}+\sqrt{1-α_t}z_1$,$z_1$是标准正态分布。
$x_{t-1}=\sqrt{α_{t-1} }x_{t-2}+\sqrt{1-α_{t-1}}z_2$
$x_t=\sqrt{α_t}(\sqrt{α_{t-1} }x_{t-2}+\sqrt{1-α_{t-1}}z_2)+\sqrt{1-α_t}z_1$,$z_1,z_2...z_t-N(0,I)$
$=\sqrt{α_tα_{t-1}}x_{t-2}+(\sqrt{α_t(1-α_{t-1})}z_2+\sqrt{1-α_t}z_1)$
$\sqrt{α_t(1-α_{t-1})}z_2-N(0,α_t(1-α_{t-1})),\sqrt{1-α_t}z_1-N(0,1-α_{t})$ $\rightarrow$ $(\sqrt{α_t(1-α_{t-1})}z_2+\sqrt{1-α_t}z_1)-N(0,1-α_tα_{t-1})$
$=\sqrt{α_tα_{t-1}}x_{t-2}+\sqrt{1-α_tα_{t-1}}z_2$
$...$
$=\sqrt{\overline{α}_t}x_0+\sqrt{1-\overline{α}_t}z_t$
$x_t=\sqrt{\overline{α}_t}x_0+\sqrt{1-\overline{α}_t}z_t$
二、逆向过程
贝叶斯公式
正态分布:$f(x)=\frac{1}{\sigma\sqrt{2\pi}}e^{-\frac{(x-\mu)^2}{2\sigma^2}}=\frac{1}{\sigma\sqrt{2\pi}}exp(-\frac{1}{2}(\frac{1}{\sigma^2}x^2-\frac{2\mu}{\sigma^2}x+\frac{\mu^2}{\sigma^2}))$
$q(x_{t-1}|x_t,x_0)=q(x_{t}|x_{t-1},x_0)\frac{q(x_{t-1}|x_0)}{q(x_{t}|x_0)}$
$q(x_{t-1}|x_0)\rightarrow$ $(\sqrt{\overline{α}{t-1}}x_0+\sqrt{1-\overline{α}{t-1}}z)-N(\sqrt{\overline{α}{t-1}}x_0,1-\overline{α}{t-1})$
$q(x_{t}|x_0)\rightarrow$ $(\sqrt{\overline{α}_t}x_0+\sqrt{1-\overline{α}_t}z_t)-N(\sqrt{\overline{α}_t}x_0,\sqrt{1-\overline{α}_t})$
$q(x_{t}|x_{t-1},x_0)\rightarrow$ $\sqrt{α_t}x_{t-1}+\sqrt{1-α_t}z-N(\sqrt{α_t}x_{t-1},1-α_t)$
$q(x_{t-1}|x_t,x_0)\varpropto exp(-\frac{1}{2}(\frac{(x_t-\sqrt{α_t}x_{t-1})^2}{β_t}+\frac{(x_{t-1}-\sqrt{\overline{α}{t-1}}x_0)^2}{1-\overline{α}{t-1}}-\frac{(x_t-\sqrt{\overline{α}_t}x_0)^2}{1-\overline{α}_t}))$
$=exp(-\frac{1}{2}((\frac{α_t}{β_t}+\frac{1}{1-\overline{α}{t-1}})x^2{t-1}-(\frac{2\sqrt{α_t}}{β_t}x_t+\frac{2\sqrt{\overline{α}{t-1}}}{1-\overline{α}{t-1}}x_0)x_{t-1}+C(x_t,x_0)))$
得到:
$\widetilde{\mu}t=\frac{\sqrt{α_t}(1-α{t-1})}{1-α_{t}}x_t+\frac{\sqrt{\overline{α}{t-1}}β_t}{1-α{t}}x_0$ $\rightarrow$ $x_0?$
$x_t=\sqrt{\overline{α}_t}x_0+\sqrt{1-\overline{α}_t}z_t$ $\rightarrow$ $x_0=\frac{1}{\sqrt{\overline{α}_t}}(x_t-\sqrt{1-\overline{α}_t}z_t)$
$\widetilde{\mu}_t=\frac{1}{\sqrt{α_t}}(x_t-\frac{β_t}{\sqrt{1-\overline{α}_t}}z_t)$
3 扩散模型和去噪自编码器
扩散模型可能看起来是一类受限制的潜变量模型,但它们在实施中允许有大量的自由度。我们必须选择正向过程的方差$β_t$以及反向过程的模型结构和高斯分布参数化。为了指导我们的选择,我们在扩散模型和去噪分数匹配之间建立了一个新的明确联系(第3.2节),这导致了扩散模型的简化、加权变异约束目标(第3.4节)。最终,我们的模型设计被简单性和经验结果所证明(第4节)。我们的讨论按公式(5)的条款进行分类。
3.1 前向过程和$L_T$
我们忽略了前向过程方差$β_t$是可以通过重新参数化来学习的,而是将其固定为常数(详见第4节)。因此,在我们的实现中,近似后验$q$没有可学习的参数,所以$L_T$在训练期间是一个常数,可以被忽略。
3.2 反向过程和$L_{1:T−1}$
现在我们讨论一下我们在$p_θ(x_{t-1}|x_t)=N(x_{t-1}; µ_θ(x_t, t), \sum_θ(x_t, t))$中的选择,$1 < t ≤ T$ 。首先,我们将$\sum_θ(x_t, t) = σ^2_tI$设为未训练的时间依赖常数。实验中,$σ^2_t = β_t$和$σ^2_t = \hat{β}t = \frac{1-\overline{α}_{t-1}}{ 1-\overline{α}_t} β_t$都有类似的结果。第一个选择对于$x_0∼N(0,I)$来说是最优的,第二个选择对于$x_0$确定地设置为一点来说是最优的。这是两个极端的选择,对应于具有坐标上单位方差的数据的反向过程熵的上界和下界[53]。
算法一为训练过程,算法二为通过模型进行推理的过程。
2:采样 1:$X_t$为初始输入,随机采样得到
3:生成序列t,对每个样本t值不同 4:根据前一时刻值得到上一时刻的预测结果。
4:生成噪声 6:得到生成的图像
5:损失,$\epsilon$为噪声
第二,为了表示均值$μ_θ(x_t,t)$,我们提出了一个具体的参数化,其动机是对$L_t$的以下分析。用$$,pastiness-1}|x_t)=N(x_{t-1};μ_θ(x_t,t),σ^2_t I)我们可以写为:
其中$C$是不依赖于$θ$的常数。因此,我们看到$μ_θ$最直接的参数化是一个预测$\widetilde{μ}_t$的模型,即正向过程的后验均值。然而,我们可以通过将公式(4)重新参数化为$x_t(x_0, \epsilon) = \sqrt{\overline{α_t}}x_0 + \sqrt{1 - \overline{α}_t}\epsilon $对于 $\epsilon∼ N (0, I) $并应用前向过程后验公式(7)进一步扩展公式(8):
方程(10)显示,$μ_θ$预测$\frac{1}{\sqrt{{{\alpha }{t}}}}({{x}{t}}-\frac{{{\beta }{t}}}{\sqrt{1-{{{\bar{a}}}{t}}}}\epsilon)$必须给定$x_t$。由于$x_t$可以作为模型的输入,我们可以选择参数化的方式:
其中$θ$是一个函数近似器,旨在从$x_t$预测$\epsilon$对$x_{t-1}~p_θ(x_{t-1}|x_t)$进行抽样是为了计算${{x}{t-1}}=\frac{1}{\sqrt{{{\alpha }{t}}}}({{x}{t}}-\frac{{{\beta }{t}}}{\sqrt{1-{{{\bar{a}}}{t}}}}{{\epsilon }{\theta }}({{x}{t}},t))+{{\sigma }{t}}z$,其中$z∼N(0,I)$。完整的抽样程序,算法2,类似于Langevin动力学,$θ$是数据密度的学习梯度。此外,通过参数化(11),公式(10)简化为:
这类似于以$t$为索引的多个噪声尺度上的去噪分数匹配[55]。由于公式(12)等于类似Langevin的反向过程(11)的变分约束(其中一项),我们看到优化类似去噪分数匹配的目标相当于使用变分推理来拟合类似Langevin动力学的采样链的有限时间边缘。
总而言之,我们可以训练反向过程平均函数近似器$\mu_θ$来预测$\widetilde{\mu}t$,或者通过修改其参数化,我们可以训练它来预测$\epsilon$ (也有可能预测$x_0$,但我们发现这在实验的早期会导致更差的样本质量)。我们已经表明,预测参数化既类似于Langevin动力学,又将扩散模型的变异约束简化为类似于去噪分数匹配的目标。尽管如此,它只是$p_θ(x{t-1}|x_t)$的另一个参数化,所以我们在第4节中验证了它的有效性,在这里我们比较了预测$\epsilon$与$\widetilde{\mu}_t$预测的效果。
3.3 数据缩放、反向过程解码器和$L_0$
我们假设图像数据是由${0, 1, . . . , 255}$中的整数,线性缩放为$[-1, 1]$。这确保了神经网络反向过程从标准正态先验$p(x_T)$开始,对一致缩放的输入进行操作。为了获得离散的对数似然,我们将反向过程的最后一项设置为从高斯$N(x_0;μ_θ(x_1,1),σ^2_1I)$导出的独立离散解码器。
其中$D$是数据维度,$i$的上标表示提取一个坐标。 (直接将一个更强大的解码器如条件自回归模型纳入其中,但我们将此留给未来的工作)。与VAE解码器和自回归模型中使用的离散连续分布相似[34, 52],我们在这里的选择确保了变异约束是离散数据的无损编码长度,不需要在数据中加入噪声或将缩放操作的雅可比系数纳入对数似然。在采样结束时,我们无噪音地显示$μ_θ(x_1, 1)$。
3.4 简化训练目标
有了上面定义的反向过程和解码器,由公式(12)和(13)得出的条款组成的变分约束显然是可以相对于$θ$进行微分的,并且可以被用于训练。然而,我们发现在以下变异约束的基础上进行训练有利于提高样本质量(而且实施起来更简单):
其中$t$在1和$T$之间是均匀的。$t = 1$的情况对应于$L_0$,离散解码器定义(13)中的积分由高斯概率密度函数乘以$bin$宽度近似,忽略了$σ^2_1$和边缘效应。$t>1$的情况对应于公式(12)的非加权版本,类似于NCSN去噪分数匹配模型[55]所使用的损失加权。 ($L_T$没有出现,因为前向过程的方差$β_t$是固定的。) 算法1显示了这个简化目标的完整训练过程。
由于我们的简化目标(14)放弃了公式(12)中的加权,它是一个加权的变异约束,与标准的变异约束相比,强调了重建的不同方面[18, 22]。特别是,我们在第4节中的扩散过程设置导致简化目标降低了与小$t$相对应的损失项的权重。这些项训练网络对具有非常小量噪声的数据进行去噪,因此降低权重是有益的,这样网络就可以在较大的$t$项中专注于更困难的去噪任务。在我们的实验中,我们将看到这种重新加权导致更好的样本质量。
4 实验
我们为所有的实验设置了$T=1000$,这样在采样过程中所需要的神经网络评估的数量与以前的工作相匹配[53, 55]。我们将前向过程的变数设定为从$β_1=10-4$到$β_T=0.02$的线性增加的常数。这些常数被选择为相对于缩放为[-1, 1]的数据而言的小常数,确保反向和正向过程具有大致相同的功能形式,同时保持$x_T$处的信噪比尽可能小(在我们的实验中,$L_T = D_{KL}(q(x_T |x_0) || N (0, I)) ≈ 10……{-5}$比特/维)。
为了表示反向过程,我们使用了一个类似于未屏蔽的PixelCNN++[52, 48]的U-Net主干,并在整个过程中进行分组归一化[66]。参数是跨时间共享的,这是用Transformer正弦波位置嵌入[60]向网络指定的。我们在16×16的特征图分辨率下使用自我注意[63,60]。详情见附录B。
4.1 Sample quality
表1显示了CIFAR10上的Inception分数、FID分数和负对数似然(无损编码长度)。我们的FID分数为3.17,我们的无条件模型比文献中的大多数模型(包括类条件模型)取得了更好的样本质量。我们的FID得分是相对于训练集计算的,这是标准做法;当我们相对于测试集计算时,得分是5.24,这仍然比文献中的许多训练集FID得分要好。
我们发现,在真正的变异约束上训练我们的模型比在简化目标上训练产生更好的编码长度,正如预期的那样,但后者产生的样本质量最好。参见CIFAR10和CelebA-HQ 256×256样本的图1,LSUN 256×256样本的图3和图4[71],以及附录D的内容。
4.2 反向过程参数化和训练目标消融
在表2中,我们显示了反向过程参数化和训练目标(第3.2节)的样本质量影响。我们发现,只有在对真正的变异边界而不是未加权的平均平方误差进行训练时,预测$\widetilde{\mu}$的基线选项才能很好地发挥作用,这是一个类似于公式(14)的简化目标。我们还看到,与固定方差相比,学习反向过程方差(通过将参数化的对角线$\sum_θ(x_t)$纳入变异边界)会导致不稳定的训练和较差的样本质量。按照我们的建议,在用固定方差的变异约束训练时,预测$\epsilon$的表现与预测$\widetilde{\mu}$的表现差不多,但在用我们的简化目标训练时,表现要好得多。
4.3 渐进式编码
表1还显示了我们CIFAR10模型的编码长度。训练和测试之间的差距最多只有0.03比特,这与其他基于似然的模型所报告的差距相当,表明我们的扩散模型没有过度拟合(见附录D的近邻可视化)。尽管如此,虽然我们的无损编码长度比基于能量的模型和使用退火重要性采样的分数匹配的大估计值要好[11],但它们与其他类型的基于似然的生成模型[7]相比没有竞争力。
由于我们的样本仍然是高质量的,我们得出结论,扩散模型有一个归纳的偏差,使它们成为优秀的有损压缩器。将变异约束项$L_1 +- -+L_T$视为速率,$L_0$视为失真,我们的CIFAR10模型与最高质量的样本的速率为1.78比特/分米,失真为1.97比特/分米,这相当于在0到255的范围内的平均平方根误差为0.95。超过一半的无损编码长度描述了难以察觉的失真。
渐进式有损压缩我们可以通过引入反映公式(5)形式的渐进式有损编码来进一步探究我们模型的速率-失真行为:见算法3和4,它假定可以获得一个程序,如最小随机编码[19,20],它可以在任何分布$p$和$q$的情况下平均使用约$D_{KL}(q(x)|| p(x))$比特来传输样本$x∼q(x)$,而接收器事先只有$p$可用。当应用于$x_0∼q(x_0)$时,算法3和4将$x_T, . . . ,x_0$依次使用总的预期编码长度等于公式(5)。接收者在任何时间$t$,都有完全可用的部分信息$x_t$,可以逐步估计。
由于公式(4)。(随机重建$x_0∼p_θ(x_0|x_t)$也是有效的,但我们在此不考虑它,因为它使失真更难评估)。图5显示了CIFAR10测试集上产生的额定失真图。在每个时间t,失真被计算为均方根误差$\sqrt{||x_0 - \hat{x}_0||^2/D}$,而速率被计算为到目前为止在时间$t$收到的累积比特数。在速率-失真图的低速率区域,失真陡然减少,表明大部分比特确实被分配到不可感知的失真。
图5:无条件CIFAR10测试集速率失真与时间。失真以[0255]标度的均方根误差测量。详见表4。
渐进式生成我们还运行一个渐进式无条件生成过程,由随机比特的渐进式解压给出。换句话说,我们预测反向过程的结果,$\hat{x}_0$,同时使用算法2从反向过程中采样。图6和图10显示了反向过程中$\hat{x}_0$的采样质量结果。大规模的图像特征首先出现,细节最后出现。图7显示了随机预测$x_0∼p_θ(x_0|x_t)$,$x_t$被冻结在不同的$t$下。当$t$小的时候,除了精细的细节,所有的细节都被保留下来,而当$t$大的时候,只有大尺度的特征被保留下来。也许这些是概念压缩的暗示[18]。
图6:无条件的CIFAR10渐进式生成($\hat{x}_0$随时间变化,从左到右)。附录中的扩展样本和样本质量指标随时间变化(图10和14)。
图7:当以同一潜质为条件时,CelebA-HQ 256×256样本共享高层属性。 右下角的象限是$x_t$,其他象限是$p_θ(x_0|x_t)$的样本。
与自回归解码的联系 注意,变分约束(5)可以改写为:。
(见附录A的推导。)现在考虑将扩散过程的长度$T$设置为数据的维度,定义前向过程,使$q(x_t|x_0)$将所有的概率质量放在$x_0$上,并屏蔽掉前$t$个坐标(即$q(x_t|x_{t-1})$屏蔽掉第$t$个坐标),将$p(x_T )$设置为将所有质量放在一个空白图像上,并且,为了便于讨论,将$p_θ(x_{t-1}|x_t)$作为一个充分表达的条件分布。有了这些选择,$D_{KL}(q(x_T )|| p(x_T ))=0$,而最小化$D_{KL}(q(x_{t-1}|x_t) || p_θ(x_{t-1}|x_t))$训练$p_θ$复制坐标$t+1, . . , T$不变,并预测给定的第$t+1, . . . , T$ . 因此,用这种特殊的扩散训练$p_θ$就是在训练一个自回归模型。
图8:CelebA HQ 256x256图像的插值,具有500个时间步长的扩散。
因此,我们可以把高斯扩散模型(2)解释为一种自回归模型,具有广义的比特排序,不能通过重新排列数据坐标来表达。之前的工作表明,这种重新排序引入了对样本质量有影响的归纳偏差[38],因此我们推测高斯扩散也有类似的作用,也许效果更好,因为高斯噪声与掩蔽噪声相比,加入到图像中可能更自然。此外,高斯扩散的长度并不局限于等于数据维度;例如,我们使用T=1000,这比我们实验中的32×32×3或256×256×3图像的维度还小。高斯扩散可以做得更短以实现快速采样,也可以做得更长以实现模型的表现力。
5 Related Work
虽然扩散模型可能类似于流[9, 46, 10, 32, 5, 16, 23]和VAE[33, 47, 37],但扩散模型的设计使$q$没有参数,顶层的潜质$x_T$与数据$x_0$的相互信息几乎为零。我们的${\epsilon}$预测反向过程参数化在扩散模型和多级噪声上的去噪分数匹配与退火朗文动力学的采样之间建立了联系[55, 56]。然而,扩散模型承认直接的对数似然评价,训练程序明确地使用变异推理来训练Langevin动力学采样器(详见附录C)。这种联系也有相反的含义,即某种加权形式的去噪分数匹配与变分推理训练一个类似Langevin的采样器是一样的。其他学习马尔科夫链过渡算子的方法包括灌注训练[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 Conclusion
我们利用扩散模型提出了高质量的图像样本,我们发现了扩散模型和训练马尔科夫链的变异推理之间的联系,去噪分数匹配和退火Langevin动力学(以及扩展的基于能量的模型),自回归模型,以及渐进式有损压缩。由于扩散模型似乎对图像数据有很好的归纳偏差,我们期待着研究它们在其他数据模式中的效用,并作为其他类型的生成模型和机器学习系统的组成部分。
标签:frac,概率模型,模型,sqrt,overline,扩散,我们 From: https://blog.51cto.com/u_16346809/8305181