Denoising Diffusion Probabilistic Models
原文:https://arxiv.org/abs/2006.11239
开源:
https://hojonathanho.github.io/diffusion/
https://github.com/hojonathanho/diffusion (official, tensorflow) 1.5k stars
https://github.com/lucidrains/denoising-diffusion-pytorch 3.2k stars
https://huggingface.co/blog/annotated-diffusion ★★★★★
一些讲解:
https://zhuanlan.zhihu.com/p/530602852
https://lilianweng.github.io/posts/2021-07-11-diffusion-models/ ★★★★★
https://zhuanlan.zhihu.com/p/563543020
秋刀鱼的炼丹工坊:https://www.bilibili.com/video/BV1yA41167Dg/?vd_source=6c013bf8c3402dcabbec8b4cab1f7919
苏剑林老师:https://kexue.fm/archives/9119
https://www.bilibili.com/video/BV1tY4y1Z7eR/?spm_id_from=333.337.search-card.all.click&vd_source=6c013bf8c3402dcabbec8b4cab1f7919 ★★★★★ (从diffusion到stable diffusion,也简要比较了GAN、VAE、流模型,将stable diffusion个dalle2做了一些对比)
https://web.cs.ucla.edu/~patricia.xiao/files/Win2023_Math_Reading_Group_Stable_Diffusion.pdf
https://huggingface.co/blog?tag=diffusion
https://huggingface.co/blog/stable_diffusion (这里有stable_diffusion的讲解,stable_diffusion的那页更新不了了,就更新在这里吧)
https://huggingface.co/blog/diffusers-2nd-month ★★★★★
摘要:我们使用扩散概率模型(一类受非平衡热力学考虑启发的潜在变量模型)给出了高质量的图像合成结果。我们的最佳结果是通过根据扩散概率模型和与Langevin动力学匹配的去噪分数之间的新联系设计的加权变分边界上的训练获得的,并且我们的模型自然地允许渐进有损解压缩方案,该方案可以被解释为自回归解码的推广。在无条件CIFAR10数据集上,我们获得了9.46的Inception分数和3.17的最新FID分数。在256x256 LSUN上,我们得到了与ProgressiveGAN类似的样本质量。我们的实施在https://github.com/hojonathanho/diffusion
(We present high quality image synthesis results using diffusion probabilistic models, a class of latent variable models inspired by considerations from nonequilibrium thermodynamics. Our best results are obtained by training on a weighted variational bound designed according to a novel connection between diffusion probabilistic models and denoising score matching with Langevin dynamics, and our models naturally admit a progressive lossy decompression scheme that can be interpreted as a generalization of autoregressive decoding. On the unconditional CIFAR10 dataset, we obtain an Inception score of 9.46 and a state-of-the-art FID score of 3.17. On 256x256 LSUN, we obtain sample quality similar to ProgressiveGAN.)
1 引言
各种深度生成模型最近在各种各样的数据模式中展示了高质量的样本。生成对抗网络(GAN)、自回归模型、流和变分自动编码器(VAE)已经合成了引人注目的图像和音频样本[14、27、3、58、38、25、10、32、44、57、26、33、45],并且在基于能量的建模和分数匹配方面取得了显著进展,产生了与GAN类似的图像[11、55]。
本文介绍了扩散概率模型的进展[53]。扩散概率模型(为简洁起见,我们将其称为“扩散模型”)是一个参数化的马尔可夫链,使用变分推理进行训练,以在有限时间后产生与数据匹配的样本。该链的转变被学习来逆转扩散过程,这是一个马尔可夫链,它在采样的相反方向上逐渐向数据添加噪声,直到信号被破坏。当扩散包含少量高斯噪声时,也可以将采样链转换设置为条件高斯,从而实现特别简单的神经网络参数化。
(Transitions of this chain are learned to reverse a diffusion process, which is a Markov chain that gradually adds noise to the data in the opposite direction of sampling until signal is destroyed. When the diffusion consists of small amounts of Gaussian noise, it is sufficient to set the sampling chain transitions to conditional Gaussians too, allowing for a particularly simple neural network parameterization.)
扩散模型易于定义,训练效率高,但据我们所知,还没有证据表明它们能够生成高质量的样本。我们表明,扩散模型实际上能够生成高质量的样本,有时比其他类型生成模型的已发布结果更好(第4节)。此外,我们表明,扩散模型的某些参数化揭示了训练期间多个噪声水平上的去噪分数匹配和采样期间退火Langevin动力学的等效性(第3.2节)[55,61]。我们使用该参数化(第4.2节)获得了最佳样本质量结果,因此我们认为该等效性是我们的主要贡献之一。
(In addition, we show that a certain parameterization of diffusion models reveals an equivalence with denoising score matching over multiple noise levels during training and with annealed Langevin dynamics during sampling.)
尽管我们的模型具有样本质量,但与其他基于似然性的模型相比,我们的模型不具有竞争性的对数似然性(然而,我们的模式的对数似然性,优于已报告的基于能量的模型和分数匹配的退火重要度抽样的大估计[11,55])。我们发现,我们的大多数模型的无损codelengths都用于描述难以察觉的图像细节(第4.3节)。我们用有损压缩(lossy compression)的语言对这一现象进行了更精细的分析,并表明扩散模型的采样过程是一种渐进式解码,类似于沿着比特排序的自回归解码,它极大地概括了自回归模型通常可能的情况。
(We find that the majority of our models' lossless codelengths are consumed to describe imperceptible image details. We present a more refined analysis of this phenomenon in the language of lossy compression, and we show that the sampling procedure of diffusion models is a type of progressive decoding that resembles autoregressive decoding along a bit ordering that vastly generalizes what is normally possible with autoregressive models.)
2 背景
扩散模型[53]是形式为的潜在变量模型,其中是与数据相同维度的latent。联合分布被称为反向过程(reverse process),它被定义为一个马尔可夫链,具有从开始的学习高斯transitions:
(1)
扩散模型与其他类型的潜在变量模型的区别在于,被称为前向过程或扩散过程的近似后验固定在(is fixed to)马尔可夫链上,该马尔可夫链根据方差表(variance schedule)将高斯噪声逐渐添加到数据中:
(2)
通过在对数似然上优化通常变分界限来执行训练(Training is performed by optimizing the usual variational bound on negative log likelihood):
(3)
前向过程方差可以通过重新参数化[33]来学习或作为超参数保持恒定,逆向过程的表示能力通过高斯条件在的选择来部分地保证(expressiveness of the reverse process is ensured in part by the choice of Gaussian conditionals in p_θ(\mathbf{x}_{t−1}|\mathbf{x}_t)),因为当较小时,两个过程具有相同的函数形式[53]。正向过程的一个显著特性是,它允许以封闭形式(closed form)在任意时间步长处采样:使用符号和,我们有:
(4)
因此,通过使用随机梯度下降优化的随机项( random terms),可以进行有效的训练。通过将改写为:
(5)
(详见附录A。项上标签在第3节中使用。)公式(5)使用KL散度直接比较和前向过程后验,当以为条件时是易处理的(which are tractable when conditioned on x0):
(6)
其中
(7)
因此,公式(5)中的所有KL散度都是高斯之间的比较,因此可以使用封闭形式表达式的Rao-Blackwell方式计算,而不是高方差蒙特卡罗估计。
(Consequently, all KL divergences in (5) are comparisons between Gaussians, so they can be calculated in a Rao-Blackwellized fashion with closed form expressions instead of high variance Monte Carlo estimates.)
3 扩散模型和去噪自动编码器
扩散模型可能看起来是一类受限制的潜在变量模型,但它们允许实现大量的自由度。必须选择正向过程的方差和反向过程的模型结构和高斯分布参数化。为了指导我们的选择,我们在扩散模型和去噪分数匹配之间建立了新的显式联系(第3.2节),这导致了扩散模型的简化、加权变分界限目标(第3.4节)。最终,我们的模型设计通过简单性和实证结果得到了证明(第4节)。我们的讨论根据等式(5)进行分类。
(Diffusion models might appear to be a restricted class of latent variable models, but they allow a large number of degrees of freedom in implementation. One must choose the variances βt of the forward process and the model architecture and Gaussian distribution parameterization of the reverse process. To guide our choices, we establish a new explicit connection between diffusion models and denoising score matching that leads to a simplified, weighted variational bound objective for diffusion models. )
3.1 前向过程和
我们忽略一个事实,即正向过程方差可以通过重新参数化来学习,反之,我们将其固定为常数(详见第4节)。因此,在我们的实现中,近似后验(approximate posterior)没有可学习的参数,因此在训练期间是一个常数,可以忽略。
3.2 反向过程和
现在我们讨论,对于,我们在上的选择。首先,我们设置为未训练时间相关的常数(untrained time dependent constants) 。实验上,和两者结果是相近的。第一个选择对是最优的,第二个对于确定为某个点是最优的(the second is optimal for x0 deterministically set to one point) 。这是两个极端选择,对应于具有坐标单位方差的数据的逆过程熵的上界和下界[53]。
第二,为了表示平均值,我们提出一个specific重参数化,这是由接下来的对的分析而启发的。有了,我们可以写出:
(8)
其中是不依赖于的常数。因此,我们看到的最直接的参数化是预测的模型,是前向过程后验均值( forward process posterior mean)。然而,我们可以通过将公式(4)重参数化为,for,并应用前向过程后验公式(7):
公式(10)表明,给定,必须预测。由于是模型的输入,是可得的,我们可以选择参数化:
(11)
其中是用于从预测的函数逼近器。采样就是计算,其中
完整的采样过程(算法2)类似于是数据密度的可学习梯度的Langevin动力学。此外,通过参数化(11),公式(10)简化为:
(12)
这类似于在由索引的多个噪声尺度上的去噪分数匹配[55]。由于等式(12)等于类Langevin逆过程(11)的变分界(的一项),我们看到优化类似于去噪分数匹配的目标等同于使用变分推理来拟合类似于Langevin动力学的采样链的有限时间边缘。
( which resembles denoising score matching over multiple noise scales indexed by t[55]. As Eq. (12) is equal to (one term of) the variational bound for the Langevin-like reverse process (11), we see that optimizing an objective resembling denoising score matching is equivalent to using variational inference to fit the finite-time marginal of a sampling chain resembling Langevin dynamics.)
总之,我们可以训练逆过程均值函数逼近器来预测,或者通过修改其参数化,我们可以将其训练为预测。(也有可能预测,但我们在实验早期发现这会导致样品质量变差。)我们已经表明,-预测参数化既类似于Langevin动力学,又将扩散模型的变分界限简化为类似于去噪分数匹配的目标。尽管如此,这只是的另一个参数化,因此我们在第4节消融中验证了其有效性,其中我们将预测与预测进行了比较。
3.3 数据缩放、逆过程解码器和
我们假设图像数据由{0,1,…,255}中的整数组成,线性缩放到[−1, 1] 。这确保了神经网络反向过程是在从标准正常先验开始的一致缩放输入上执行的。 (This ensures that the neural network reverse process operates on consistently scaled inputs starting from the standard normal prior p(xT).)为了获得离散对数似然,我们将逆过程的最后一项设置为从高斯导出的独立离散解码器:
其中是数据维度,上标表示提取一个坐标。(将更强大的解码器(如条件自回归模型)合并起来很简单,但我们将其留给未来的工作。)类似于VAE解码器和自回归模型中使用的离散化连续分布[34,52],我们在这里的选择确保了变分界限(variational bound)是离散数据的无损codelengths,而不需要向数据添加噪声或将缩放操作的雅可比(Jacobian)放到对数似然中。在采样结束时,我们无噪声地显示。
3.4 简化训练目标
使用上面定义的逆向过程和解码器,变分界限,由从公式(12)和(13)推导的项组成,很明显是关于可微的,并且可以用于训练。然而,我们发现对以下变分界限变体进行训练有利于样本质量(并且更容易实现):
(14)
其中是在1到之间均匀取值。对应于,离散解码器定义(13)的积分近似为高斯概率密度函数乘以bin宽,忽略和边界的影响。的情况对应于等式(12)的未加权版本,类似于NCSN去噪分数匹配模型使用的损失加权[55]。(不会出现,因为正向过程方差是固定的。)算法1显示了此简化目标的完整训练过程。
where is uniform between 1 and . The case corresponds to with the integral in the discrete decoder definition (13) approximated by the Gaussian probability density function times the bin width, ignoring and edge effects. The cases correspond to an unweighted version of Eq. (12), analogous to the loss weighting used by the NCSN denoising score matching model [55]. ( does not appear because the forward process variances are fixed.) Algorithm 1 displays the complete training procedure with this simplified objective.
由于我们的简化目标(14)放弃了等式(12)中的权重,因此它是一个加权变分界限,与标准变分界限18,22]相比,它强调了重建的不同方面[。特别是,我们在第4节中的扩散过程设置使简化的目标降低了与小相对应的损失项的权重。这些项训练网络对噪声很少的数据做去噪,因此降低它们的权重是有益的,从而使网络可以专注于更大项下更困难的去噪任务。我们将在实验中看到,这种重新加权会导致更好的样本质量。
4 实验
我们为所有实验设置=1000,以便采样期间所需的神经网络评估数量与之前的工作[53,55]相匹配。我们将正向过程方差设置为从线性增加到的常数。相比缩放至[−1,1]的数据,这些常数选得比较小,确保反向和正向过程具有近似相同的函数形式,同时保持处的信噪比尽可能小(在我们的实验中,bits per dimension)。
为了表示逆过程,我们使用了U-Net主干,类似于未屏蔽PixelCNN++[52,48],并在整个过程中进行了group normalization[66]。参数在时间维度上共享,使用Transformer正弦位置嵌入指定给网络[60]。我们使用16×16特征图分辨率的自注意[63,60]。详情见附录B。
4.1 样本质量
表1显示了CIFAR10上的Inception分数、FID分数和负对数似然(无损codelengths)。随着FID分数为3.17,我们的无条件模型比文献中的大多数模型(包括类条件模型)实现了更好的样本质量。我们的FID分数是根据训练集计算的,这是标准做法;当我们根据测试集计算时,分数为5.24,这仍然优于文献中的许多训练集FID分数。
我们发现,如预期的那样,在真实变分边界上训练我们的模型比在简化目标上训练产生更好的codelengths,但后者产生最佳样本质量。CIFAR10和CelebA HQ 256×256样品见图1,LSUN 256×256样本见图3和图4[71],更多信息见附录D。
4.2 逆过程参数化和训练目标消融
在表2中,我们展示了逆过程参数化和训练目标的样本质量效应(第3.2节)。我们发现,只有在真正的变分界而不是未加权的均方误差上进行训练时,预测的基线选项才能很好地工作,这是一个类似于等式(14)的简化目标。我们还发现,与固定方差相比,学习逆过程方差(通过将参数化对角纳入变分界)导致不稳定的训练和较差的样本质量。预测,正如我们所提出的,当在具有固定方差的变分界上进行训练时与预测大致相同,但当使用我们的简化目标进行训练时效果更好。
4.3 渐进式编码 Progressive coding
表1还显示了CIFAR10模型的codelengths。训练和测试之间的差距最多为0.03位/维(bits per dimension),这与其他基于似然的模型报告的差距相当,表明我们的扩散模型没有过拟合(最近邻可视化见附录D)。尽管如此,尽管我们的无损codelengths优于基于能量的模型和使用退火重要性采样的分数匹配所报告的大估计[11],但它们与其他类型的基于似然性的生成模型没有竞争力[7]。
尽管如此,由于我们的样品仍然具有高质量,我们得出结论,扩散模型具有归纳偏置,这使得它们成为优秀的有损压缩器。将变分界项视为率(rate),视为失真(distortion),我们的CIFAR10模型具有最高质量样本,其率为1.78 bits/dim,失真为1.97 bits/dim,在0到255的范围内,其均方根误差为0.95。超过一半的无损码长(lossless codelength)描述了不可察觉的失真。
渐进式有损压缩 我们可以进一步探讨我们模型的率-失真行为(rate-distortion behavior),通过引入一个反映公式(5)的渐进有损码(progressive lossy code),见Algorithms 3 and 4,其假设访问一个过程,例如最小随机编码[19,20],对于任何的分布和该过程可以使用近似bits on average 传输(transmit)样本,其中事先只有可用于接收器。当应用于,Algorithms 3 and 4使用等于等式(5)的总期望码长(total expected codelength)依次发送。接收器在任何时间都具有完全可用的部分信息,并且可以逐步估计
(15)
(We can probe further into the rate-distortion behavior of our model by introducing a progressive lossy code that mirrors the form of \cref{eq:vb}: see \cref{alg:sending,alg:receiving}, which assume access to a procedure, such as minimal random coding~\citep{harsha2007communication,havasi2018minimal}, that can transmit a sample \bx \sim q(\bx) using approximately \kl{q(\bx)}{p(\bx)} bits on average for any distributions p and q, for which only p is available to the receiver beforehand.)
由于等式(4),(随机重建也是有效的,但我们这里不考虑它,因为它使失真更难评估。)图5显示了CIFAR10测试集上产生的率-失真曲线。在每个时间,失真计算为均方根误差,率计算为,在时间,到目前为止接收的累积比特数。在率-失真曲线的低率区间(low-rate region),失真急剧下降,表明大多数比特bits确实分配给了难以察觉的失真。
渐进式生成 我们还运行了一个渐进式无条件生成过程,该过程由随机bits的渐进式解压缩给出。换言之,我们预测逆过程的结果,使用Algorithm 2从逆过程采样。图6和图10显示了逆过程中产生的样本质量。大的图像特征(Large scale image features)首先出现,细节最后出现。图7显示了随机预测,对于不同的,被冻结。当很小时,除了精细细节其它的都被保留,而当很大时,只有大特征被保留。也许这些是概念压缩的暗示[18]。
与自回归解码的连接 注意,变分界(5)可以改写为:
(关于推导,请参见附录A。)现在考虑将扩散过程长度设置为数据的维度,定义正向过程,使得将所有probability mass放在x0上,前个被屏蔽的坐标(即)屏蔽坐标,设置以将所有mass放置在空白图像上,为了便于论证,取是完全表达的条件分布。有了这些选择,,最小化训练以不变地复制坐标,并给定预测坐标。因此,用这种特定扩散训练就是训练自回归模型。
因此,我们可以将高斯扩散模型(2)解释为一种具有不能通过重新排序数据坐标来表达的广义比特排序的自回归模型。先前的工作表明,这种重新排序引入了对样本质量有影响的归纳偏置[38],因此我们推测高斯扩散具有类似的目的,可能会产生更大的影响,因为与掩蔽噪声相比,高斯噪声可能更自然地添加到图像中。此外,高斯扩散长度不限于等于数据维度;例如,我们使用T=1000,这小于我们实验中32×32×3或256×256×3图像的尺寸。高斯扩散可以更短,用来快速采样;也可以更长,用来更好的模型表现力。
We can therefore interpret the Gaussian diffusion model (2) as a kind of autoregressive model with a generalized bit ordering that cannot be expressed by reordering data coordinates. Prior work has shown that such reorderings introduce inductive biases that have an impact on sample quality [38]
4.4 内插
我们可以使用作为随机编码器在潜在空间中内插源图像为,然后通过逆过程解码线性内插的潜变量到图像空间,。实际上,我们使用逆过程从源图像的线性内插损坏版本中去除伪影,如图8(左)所示。我们修正了不同值的噪声,因此和保持不变。图8(右)显示了原始CelebA HQ 256×256图像(=500)的插值和重建。逆过程产生高质量的重建,以及平滑变化属性(如姿势、肤色、发型、表情和背景)的合理插值,但不包括眼镜。越大,插值越粗(coarser),变化越大,=1000时,得到新样本(附录图9)。
5 相关工作
虽然扩散模型可能类似于流[9,46,10,32,5,16,23]和VAE[33,47,37],但扩散模型的设计使得没有参数,并且top-level latent 与数据几乎没有互信息。我们的-预测的逆过程参数化在扩散模型和多个噪声水平上的去噪分数匹配之间建立了联系,并使用退火Langevin动力学进行采样[55,56]。然而,扩散模型允许直接的对数似然评估,并且训练程序使用变分推断明确训练Langevin动力学采样器(详见附录C)。这种联系还具有相反的含义,即某种加权形式的去噪分数匹配与变分推理相同,以训练类Langevin采样器。用于学习马尔可夫链的转移算子的其他方法包括灌输训练[2]、变分回溯[15]、生成随机网络[1]等[50、54、36、42、35、65]。
While diffusion models might resemble flows [9, 46, 10, 32, 5, 16, 23] and VAEs [33, 47, 37], diffusion models are designed so that q has no parameters and the top-level latent xT has nearly zero mutual information with the data x0. Our c-prediction reverse process parameterization establishes a connection between diffusion models and denoising score matching over multiple noise levels with annealed Langevin dynamics for sampling [55, 56]. Diffusion models, however, admit straightforward log likelihood evaluation, and the training procedure explicitly trains the Langevin dynamics sampler using variational inference (see Appendix C for details). The connection also has the reverse implication that a certain weighted form of denoising score matching is the same as variational inference to train a Langevin-like sampler. Other methods for learning transition operators of Markov chains include infusion training [2], variational walkback [15], generative stochastic networks [1], and others [50, 54, 36, 42, 35, 65].
通过分数匹配和基于能量的建模之间的已知联系,我们的工作可能会对基于能量的模型的其他最近工作产生影响[67–69,12,70,13,11,41,17,8]。我们的率-失真曲线是在一次变分边界评估中随时间计算的,这让人想起在一次退火重要度采样中如何计算率失真曲线和失真惩罚[24]。我们的渐进解码论证可以在卷积DRAW和相关模型[18,40]中看到,并且还可能导致自回归模型的subscale排序或采样策略的更通用设计[38,64]。
6 结论
我们已经使用扩散模型提供了高质量的图像样本,并且我们发现了扩散模型和用于训练马尔可夫链的变分推理、去噪分数匹配和退火Langevin动力学(以及扩展的基于能量的模型)、自回归模型和渐进有损压缩之间的联系。由于扩散模型似乎对图像数据具有极好的归纳偏置,我们期待着研究它们在其他数据模式中的效用,以及作为其他类型的生成模型和机器学习系统的组件。
更广泛的影响
我们在扩散模型方面的工作范围与其他类型的深度生成模型的现有工作类似,例如努力提高GAN、流、自回归模型等的样本质量。我们的论文代表了在使扩散模型成为这一系列技术中普遍有用的工具方面取得的进展,因此它可能有助于放大生成模型对更广泛世界的任何影响。
不幸的是,有许多众所周知的恶意使用生成模型。样本生成技术可用于制作政治目的的高知名人物的假图像和视频。虽然假图像早在软件工具出现之前就已经被人工创建了,但像我们这样的生成模型使这一过程更加容易。幸运的是,CNN生成的图像目前存在允许检测的细微缺陷[62],但生成模型的改进可能会使检测变得更加困难。生成模型还反映了它们所基于的数据集中的偏见。由于许多大型数据集是通过自动化系统从互联网收集的,因此很难消除这些偏见,尤其是当图像未标记时。如果在这些数据集上训练的生成模型的样本在互联网上激增,那么这些偏见只会进一步加剧。
另一方面,扩散模型可能对数据压缩有用,随着数据分辨率的提高和全球互联网流的增加,数据压缩可能对确保广大受众能够访问互联网至关重要。我们的工作可能有助于从图像分类到强化学习等一系列下游任务的未标记原始数据的表示学习,扩散模型也可能在艺术、摄影和音乐中的创造性应用中变得可行。
额外信息
LSUN
LSUN数据集的FID分数包括在表3中。标有∗ 的分数是作为基线被StyleGAN2报告,其他得分由其各自的作者报告。
渐进式压缩 我们在第4.3节中的有损压缩论证只是一个概念证明,因为算法3和4依赖于最小随机编码等程序[20],这对于高维数据是不可处理的。这些算法作为Sohl Dickstein等人[53]的变分界(5)的压缩解释,尚未作为实际的压缩系统。
A 额外的推导
下面是方程(5)的推导,即扩散模型的降方差变分界(reduced variance variational bound)。该材料来自Sohl Dickstein等人[53];我们在这里包括它只是为了完整。
以下是的替代版本。它不易于估计,但对我们在第4.3节中的讨论有用。
B 实验细节
我们的神经网络架构遵循PixelCNN++[52]的主干,它是基于Wide ResNet[72]的U-Net[48]。我们将weight normalization[49]替换为组归一化[66],以使实现更简单。我们的32×32模型使用四种特征图分辨率(32×32到4×4),我们的256×256模型使用六种。所有模型在每个分辨率级别上都有两个卷积残差块,卷积块之间具有16×16分辨率的自注意块[6]。扩散时间通过将Transformer正弦位置嵌入[60]添加到每个残差块中来指定。我们的CIFAR10模型有35.7 million个参数,我们的LSUN和CelebA HQ型号有114 million参数。我们还通过增加滤波器数量(filter count),训练了LSUN卧室模型的更大变体,其参数约为256 million。
我们使用TPU v3-8(类似于8个V100 GPU)进行所有实验。我们的CIFAR模型以每秒21步的速度进行训练,批量大小为128(训练完成需要10.6小时,800k步)对一批256幅图像进行采样需要17秒。
我们的CelebA HQ/LSUN(256^2)模型以每秒2.2步的速度训练,批量大小为64,对一批量128幅图像进行采样需要300秒。我们在CelebA HQ训练了0.5M步,LSUN Bedroom训练了2.4M步,LSUN Cat训练了1.8M步,而LSUN Church训练了1.2M步。较大的LSUN卧室模型训练了1.15M步。
除了最初选择超参数以使网络大小符合内存限制之外,我们执行了大部分超参数搜索以优化CIFAR10样本质量,然后将结果设置迁移到其他数据集:
• 我们从一组恒定、线性和二次计划中选择了计划,所有这些计划都受到约束,使。我们设置T=1000而不进行扫描,并选择从到的线性计划。
• 我们通过扫描值{0.1、0.2、0.3、0.4}将CIFAR10的dropout率设置为0.1。在CIFAR10上没有dropout的情况下,我们获得了更差的样本,这让人想起了未正则化PixelCNN++[52]中的过拟合伪影。我们将其他数据集的dropout率设置为零,而不进行扫描。
• 我们在CIFAR10训练期间使用了随机水平翻转;我们尝试了有和没有翻转的训练,发现翻转可以稍微提高样本质量。我们还对除LSUN Bedroom外的所有其他数据集使用了随机水平翻转。
• 我们在实验过程的早期尝试了Adam[31]和RMSProp,并选择了前者。我们将超参数保留为其标准值。我们将学习率设置为,没有任何扫描;对于256×256的图像,我们将其降低到,这对于以更大的学习率训练似乎是不稳定的。
• 对于CIFAR10,我们将批量大小设置为128,对于较大的图像,则设置为64。我们没有扫过这些值。
• 我们在衰减系数为0.9999的模型参数上使用EMA。我们没有扫过该值。
最终实验进行一次训练,并在整个训练过程中对样本质量进行评估。在训练过程中,样本质量分数和对数似然性报告在最小FID值上。在CIFAR10上,我们分别使用OpenAI[51]和TTUR[21]存储库中的原始代码计算了50000个样本的Inception和FID分数。在LSUN上,我们使用StyleGAN2[30]存储库中的代码计算了50000个样本的FID分数。CIFAR10和CelebA HQ按照TensorFlow数据集提供的加载(https://www.tensorflow.org/datasets),LSUN是使用StyleGAN的代码编写的。数据集拆分(或缺少数据集拆分)是介绍其在生成建模环境中使用的论文中的标准。所有详细信息都可以在源代码版本中找到。
C 相关工作讨论
我们的模型架构、前向过程定义和先验与NCSN[55,56]有细微但重要的区别,这改善l样本质量,并且值得注意的是,我们直接将采样器训练为潜在变量模型,而不是在训练后添加。更详细地说:
1. 我们使用具有自注意的U-Net;NCSN使用具有扩张卷积的RefineNet。我们用条件所有层(We condition all layers on t),通过添加Transformer正弦位置嵌入,而不是仅在归一化层(NCSNv1)或仅在输出(v2)处。
2. 扩散模型按在每个正向过程步骤scale down数据(以的因子),所以在加噪声时方差不会增长,从而为神经网络反向过程提供一致的缩放输入(thus providing consistently scaled inputs to the neural net reverse process)。NCSN省略了该比例因子。
3. 与NCSN不同,我们的前向过程破坏信号,确保的先验和聚合后验之间的紧密匹配。与NCSN不同,我们的非常小,这确保了前向过程可由具有条件高斯的马尔可夫链可逆(that the forward process is reversible by a Markov chain with conditional Gaussians)。这两个因素都防止了采样时的分布偏移。
4. 我们的Langevin-like 采样器具有严格从正向过程中的导出的 coefficients(学习率、噪声尺度等)。因此,我们的训练程序直接训练我们的采样器以匹配步后的数据分布:它使用变分推理将采样器训练为潜在变量模型。相比之下,NCSN的采样器系数是通过手工事后设置的,其训练过程不能保证直接优化采样器的质量度量。
D 样品
其他样本
图11、13、16、17、18和19显示了在CelebA HQ、CIFAR10和LSUN数据集上训练的扩散模型的未固化样本。
潜在结构和逆过程随机性 采样期间,先验和Langevin动力学是随机的。为了理解第二个噪声源的重要性,我们对CelebA 256×256数据集的多幅图像进行了采样,这些图像是在相同的中间潜变量上处理的。
图7显示了来自逆过程的多个抽样(multiple draws),它们共享潜在,对于。为了实现这一点,我们运行单个反向链from an initial draw from the prior。在中间时间步,链被切分以对多个图像进行采样。When the chain is split after the prior draw at ,样本差异显著。然而,当在更多步骤后切分链时,样本共享高级属性,如性别、头发颜色、眼镜、饱和度、姿势和面部表情。这表明像这样的中间latents编码了这些属性,尽管它们是不可察觉的。
从粗到细的插值 Figure 9 shows interpolations between a pair of source CelebA 256 × 256 images as we vary the number of diffusion steps to latent space interpolation. 增加扩散步骤的数量会破坏源图像中的更多结构,这是模型在反向过程中完成的。这允许我们在细粒度和粗粒度上进行插值。在0扩散步长的限制情况下,插值在像素空间中混合源图像。另一方面,在1000个扩散步骤之后,源信息dropout,插值是新的样本。