IDDPM论文阅读

论文链接:Improved Denoising Diffusion Probabilistic Models

摘要

去噪扩散概率模型(DDPM)是一类生成模型,最近被证明可以产生优秀的样本。本文表明,通过一些简单的修改,ddpm也可以在保持高样本质量的同时实现竞争对数似然。此外,发现反向扩散过程的学习方差允许以更少数量级的正向采样进行采样,而样本质量的差异可以忽略不计,这对于这些模型的实际部署很重要。使用精度和召回率来比较 DDPM 和 GAN 覆盖目标分布的程度。最后,展示了这些模型的样本质量和可能性随着模型容量和训练计算而平滑扩展,使其易于扩展。

引言

Deep Unsupervised Learning using Nonequilibrium Thermodynamics中引入了扩散概率模型,这是一类生成模型,它通过学习逆转渐进的多步噪声过程来匹配数据分布。最近,Denoising Diffusion Probabilistic Models论文表明去噪扩散概率模型 (DDPM) 和基于分数的生成模型 (Generative Modeling by Estimating Gradients of the Data Distribution) 之间是等价的,后者使用去噪分数匹配学习数据分布的对数密度梯度。最近表明,这类模型可以产生高质量的图像和音频(WaveGrad; DiffWave),但尚未证明 DDPM 可以实现与其他基于似然性的模型竞争的对数似然性,例如自回归模型和 VAE。这引发了各种问题,例如 DDPM 是否能够捕获分布的所有模式。此外,DDPM在CIFAR-10和LSUN数据集上显示了非常好的结果,但尚不清楚DDPM在具有更高多样性的数据集(如ImageNet)上的扩展性如何。最后,虽然WaveGrad发现DDPM可以使用少量采样步骤有效地生成音频,但尚未证明图像也是如此。

本文表明DDPM可以实现对数似然性,与其他基于似然性的模型竞争,即使在高多样性的数据集上,如ImageNet。为了更紧密地优化变分下限 (VLB),使用简单的重参数化和将VLB与DDPM的简化目标相结合的混合学习目标来学习逆过程方差

惊讶地发现,使用混合目标,模型比直接优化对数似然获得的模型获得更好的对数似然,并发现后一个目标在训练期间具有更多的梯度噪声。论文展示了一种简单的重要性采样技术可以减少这种噪声,并能够获得比混合目标更好的对数似然。

在将学习到的方差合并到模型中后,惊奇地发现,可以从模型中以更少的步骤进行采样,而样本质量几乎没有变化(DDPM中方差是固定的,不可学习的)。虽然 DDPM需要数百次前向传递才能产生良好的样本,但本模型只需50次前向传递即可获得良好的样本,从而加快采样速度以用于实际应用。在本工作的同时,Denoising Diffusion Implicit Models开发了一种不同的快速采样方法,在实验中与该方法DDIM进行了比较。

虽然likelihood是与其他基于likelihood的模型进行比较的一个很好的指标,但本文还将模型的distribution coverage与 GAN 进行比较。使用改进的precision和recall指标并发现扩散模型对于相似的 FID 实现了更高的召回率,这表明它们确实覆盖了目标分布的更大部分。

最后,由于预计机器学习模型在未来会消耗更多的计算资源,因此在增加模型大小和训练计算时评估这些模型的性能。观察到的趋势表明,随着增加训练计算,性能会得到可预测的改进。

去噪扩散概率模型

简要回顾DDPM的推导公式,该公式做出了各种简化假设,例如固定噪声过程q,在每个时间步添加对角高斯噪声。有关更一般的推导,请参见 Deep Unsupervised Learning using Nonequilibrium Thermodynamics。

定义

给定一个数据分布 x 0 ∼ q ( x 0 ) x_0∼q(x_0) x0q(x0),定义了一个前向噪声过程 q q q,它通过在时间 t t t加入方差 β t ∈ ( 0 , 1 ) β_t∈ (0, 1) βt(0,1)的高斯噪声来产生潜在 x 1 x_1 x1 x T x_T xT,如下所示:
在这里插入图片描述
给定足够大的 T T T和良好的 β t β_t βt调度方案,潜在的 x T x_T xT几乎是各向同性的高斯分布。因此,如果知道精确的反向分布 q ( x t − 1 ∣ x t ) q(x_{t−1}|x_t) q(xt1xt),可以采样 x T ∼ N ( 0 , I ) x_T ∼ N (0, I) xTN(0,I)并反向运行该过程以从 q ( x 0 ) q(x_0) q(x0)中获取样本。然而,由于 q ( x t − 1 ∣ x t ) q(x_{t−1}|x_t) q(xt1xt)取决于整个数据分布,使用神经网络对其进行近似,如下所示:
在这里插入图片描述
q q q p p p的组合是变分自动编码器,可以将变分下界 (VLB) 写成如下:
在这里插入图片描述
除了 L 0 L_0 L0,等式4的每一项都是两个高斯之间的KL 散度,因此可以以封闭形式进行评估。为了评估图像的 L 0 L_0 L0,假设每个颜色分量被分成 256个bin,计算 p θ ( x 0 ∣ x 1 ) p_θ(x_0|x_1) pθ(x0x1)落在正确bin中的概率(这可以使用高斯分布的 CDF 处理)。另请注意,虽然 L T L_T LT不依赖于 θ θ θ,但如果前向噪声过程充分破坏了数据分布,使得 q ( x T ∣ x 0 ) ≈ N ( 0 , I ) q(x_T |x_0) ≈ N (0, I) q(xTx0)N(0,I),它将接近于零。

如DDPM论文中所述,等式2中定义的噪声过程允许对直接以输入 x 0 x_0 x0为条件的噪声潜在值的任意步骤进行采样。设 α t : = 1 − β t , α ˉ t : = ∏ s = 0 t α s \alpha_t := 1-\beta_t, \bar{\alpha}_t := \prod_{s=0}^t{\alpha_s} αt:=1βt,αˉt:=s=0tαs,可推导以下公式:
在这里插入图片描述
其中 ϵ ∼ N ( 0 , I ) \epsilon \sim N(0, I) ϵN(0,I)这里, 1 − α t 1−α_t 1αt告诉任意时间步噪声的方差,可以等效地用它来定义噪声调度,而不是 β t β_t βt

使用贝叶斯定理,可以计算 β ~ t 、 μ ~ t ( x t , x 0 ) \tilde{β}_t、\tilde{μ}_t(x_t, x_0) β~tμ~t(xt,x0)及后验 q ( x t − 1 ∣ x t , x 0 ) q(x_{t−1}|x_t, x_0) q(xt1xt,x0),它们的定义如下:
在这里插入图片描述

实际训练

等式4中的目标是独立项 L t − 1 L_{t-1} Lt1的总和,等式9提供了一种有效的方法,从正向噪声过程的任意步骤中采样,并使用后验(公式12)和先验(公式3)估计 L t − 1 L_{t-1} Lt1。因此,可以随机抽取 t t t,并使用期望 E t , x 0 , ϵ [ L t − 1 ] E_{t,x_0,\epsilon}[L_{t−1}] Et,x0,ϵ[Lt1]来估计 L v l b L_{vlb} Lvlb。DDPM中对每个小批中的每个图像均匀采样 t t t

先验中 μ θ ( x t , t ) μ_θ(x_t, t) μθ(xt,t)的参数化有很多不同的方法。最明显的方法是用神经网络直接预测 μ θ ( x t , t ) μ_θ(x_t, t) μθ(xt,t)。或者,网络可以预测 x 0 x_0 x0,这个输出可以用在公式11中产生 μ θ ( x t , t ) μ_θ(x_t, t) μθ(xt,t)。网络也可以预测噪声,用公式9和11推导。
在这里插入图片描述
DDPM发现,预测效果 ϵ \epsilon ϵ最好,特别是在与重加权损失函数结合时:
在这里插入图片描述
这个目标可以看作是 L v l b L_{vlb} Lvlb的重新加权形式(没有影响 Σ θ Σ_θ Σθ 的项)。研究发现优化这个重新加权的目标比直接优化 L v l b L_{vlb} Lvlb产生更好的样本质量。

一个微妙之处是 L s i m p l e L_{simple} Lsimple没有为 Σ θ ( x t , t ) Σ_θ(xt, t) Σθ(xt,t)提供学习信号。然而,这无关紧要,因为DDPM通过将方差固定为 σ t 2 I σ^2_tI σt2I而不是学习它,取得了最好的结果;其发现使用 σ t 2 = β t σ^2_t = β_t σt2=βt σ t 2 = β ~ t σ^2_t = \tilde{β}_t σt2=β~t可以实现相似的样本质量,它们分别是 q ( x 0 ) q(x_0) q(x0)给出的方差的上限和下限, q ( x 0 ) q(x_0) q(x0)是各向同性高斯噪声或delta函数。

对数似然改善

尽管DDPM能基于FID和Inception Score生成高保真图像,但是无法实现有竞争的对数似然。对数似然是生成建模中广泛使用的度量,一般认为优化对数似然会迫使生成模型捕获数据分布的所有模式。此外,最近的工作表明,对数似然的微小改进可以对样本质量和学习到的特征表示产生显著影响。因此,探索为什么DDPM在这个度量上表现很差是很重要的,因为这可能意味着一个基本的缺点,比如糟糕的模式覆盖。本节探讨对上一节描述的算法的一些修改,当它们组合时,允许DDPM在图像数据集上实现更好的对数似然,这表明这些模型与其他基于似然的生成模型具有相同的好处。

为了研究不同修改的效果,在ImageNet 64 × 64和数据集上训练具有固定超参数的固定模型架构。虽然CIFAR-10对此类模型有更多用途是公认的,但也选择研究ImageNet 64 × 64,因为它在多样性和分辨率之间提供了良好的权衡,能够快速训练模型而不必担心过度拟合。此外,ImageNet 64×64 已在生成建模的背景下进行了广泛的研究,使能够直接将 DDPM与许多其他生成模型进行比较。

基于DDPM论文中的设置( σ t 2 = β t , T = 1000 \sigma^2_t= \beta_t, T=1000 σt2=βt,T=1000,优化 L s i m p l e L_{simple} Lsimple),在ImageNet 64 × 64上迭代训练200k个周期实现3.99(bits/dim)的对数似然。在早期的实验中发现,可以通过将 T T T从1000增加到4000来提高对数似然;通过此更改,对数似然提高到 3.77。对于本节的其余部分,使用 T = 4000,在下一节中探讨这个选择。

可学习的 ∑ θ ( x t , t ) \sum_{\theta}(x_t, t) θ(xt,t)

在DDPM中,设置 ∑ θ ( x t , t ) = σ t 2 I \sum_{\theta}(x_t, t)=\sigma^2_tI θ(xt,t)=σt2I,其中 σ t \sigma_t σt是不能学习的。奇怪的是,他们发现将 σ t 2 \sigma_t^2 σt2固定为 β t β_t βt产生的样本质量与将其固定为 β ~ t \tilde{β}_t β~t的样本质量大致相同。考虑到 β t β_t βt β ~ t \tilde{β}_t β~t代表两个相反的极端,有理由问为什么这个选择不会影响样本。图1给出了一条线索,它表明 β t β_t βt β ~ t \tilde{β}_t β~t几乎相等,除非在t = 0附近,即模型正在处理难以察觉的细节。此外,当增加扩散步骤的数量时, β t β_t βt β ~ t \tilde{β}_t β~t在更多的扩散过程中似乎保持彼此接近。这表明,在无限扩散步骤的限制下, σ t σ_t σt的选择可能对样本质量根本不重要。换句话说,随着添加更多的扩散步骤,模型均值 μ θ ( x t , t ) μ_θ(x_t, t) μθ(xt,t) Σ θ ( x t , t ) Σ_θ(x_t, t) Σθ(xt,t)更能确定分布
在这里插入图片描述
图1 不同扩散总步数中 β ~ / β \tilde{\beta}/\beta β~/β比值随扩散步数的变化曲线

虽然上述论证表明固定 σ t σ_t σt是为了样本质量的合理选择,但它并没有说明对数似然。事实上,图2显示了扩散过程的前几个步骤对变分下界的贡献最大。因此,似乎可以通过更好地选择 Σ θ ( x t , t ) Σ_θ(x_t, t) Σθ(xt,t)来提高对数似然性。为了实现这一点,必须学习 Σ θ ( x t , t ) Σ_θ(x_t, t) Σθ(xt,t)而不会遇到DDPM中的不稳定性。
在这里插入图片描述

图2 前几个扩散步骤对训练损失的影响

由于图1表明 Σ θ ( x t , t ) Σ_θ(x_t, t) Σθ(xt,t)的合理范围非常小,因此神经网络很难直接预测 Σ θ ( x t , t ) Σ_θ(x_t, t) Σθ(xt,t),即使在对数域中,正如DDPM所观察到的那样。 相反,本文发现最好将方差参数化为对数域中 β t β_t βt β ~ t \tilde{β}_t β~t之间的插值。具体是,本文的模型输出一个向量 v,每个维度包含一个分量,将这个输出转换为方差,如下所示:
在这里插入图片描述
没有对 v v v施加任何约束,理论上允许模型预测插值范围之外的方差。然而,并没有观察到网络在实践中这样做,这表明 Σ θ ( x t , t ) Σ_θ(x_t, t) Σθ(xt,t)的边界确实足够表达。

由于 L s i m p l e L_{simple} Lsimple不依赖于 Σ θ ( x t , t ) Σ_θ(x_t, t) Σθ(xt,t),定义了一个新的混合目标:
在这里插入图片描述
对于实验,设置 λ = 0.001 λ = 0.001 λ=0.001以防止 L v l b L_{vlb} Lvlb压倒 L s i m p l e L_{simple} Lsimple。沿着同样的推理思路,还对 L v l b L_{vlb} Lvlb项的 μ θ ( x t , t ) μ_θ(x_t, t) μθ(xt,t)输出应用stop-gradient。这样, L v l b L_{vlb} Lvlb可以引导 Σ θ ( x t , t ) Σ_θ(x_t, t) Σθ(xt,t) L s i m p l e L_{simple} Lsimple仍然是影响 μ θ ( x t , t ) μ_θ(x_t, t) μθ(xt,t)的主要来源

噪声添加方式改善

发现,虽然DDPM使用的线性噪声方案对于高分辨率图像效果很好,但对于分辨率为 64 × 64 和 32 × 32 的图像效果不佳。特别是,前向噪声过程的结束噪声太大,因此对样本质量的贡献不大。这可以在图3中直观地看到。在图4中研究了这种效应的结果,可看到,当跳过高达 20% 的反向扩散过程时,使用线性计划训练的模型并没有变得更糟(由 FID 测量)。
在这里插入图片描述

图3 针对扩散范围[0, T]以t为间隔线性采样(上面是线性加噪,下面是cosine加噪);线性加噪最后四分之一的潜在值几乎是纯噪声,而余弦加噪的速度较慢

在这里插入图片描述

图4 在 ImageNet 64 × 64 上跳过反向扩散过程的前缀时的 FID

为了解决这个问题,根据 α ~ t \tilde{α}_t α~t构造了一个不同的噪声表:
在这里插入图片描述
从这个定义到方差 β t β_t βt,注意到 β t = 1 − α ˉ t α ˉ t − 1 β_t = 1-\frac{\bar{\alpha}_t}{\bar{\alpha}_{t-1}} βt=1αˉt1αˉt。在实践中,将 β t β_t βt裁剪为不大于 0.999,以防止在 t = T t = T t=T附近的扩散过程结束时出现奇点。

本文的余弦schedule设计为在过程中间线性下降 α ˉ t \bar{\alpha}_t αˉt,同时在 t = 0 t = 0 t=0 t = T t = T t=T 的极值附近变化很小,以防止噪声水平的突然变化。图 5 显示了两个schedule的 α ˉ t \bar{\alpha}_t αˉt进展情况;可以看到DDPM的线性schedule下 α ˉ t \bar{\alpha}_t αˉt更快地下降到零,比必要更快地破坏信息。
在这里插入图片描述
图5 线性schedule和cosine schedule下扩散过程中 α ˉ t \bar{\alpha}_t αˉt变化曲线

使用一个小的偏移量 s s s来防止 β t β_t βt t = 0 t = 0 t=0附近太小,因为发现在过程开始时有少量噪声使得网络难以足够准确地预测。特别的,选择s为 β 0 \sqrt{\beta_0} β0 这样略微比一个像素bin尺寸(1/127.5)小的值,从而 s = 0.008 s=0.008 s=0.008。特别选择 c o s 2 cos^2 cos2,因为它是一个常见的数学函数,具有想要的形状。这个选择是随意的,希望许多具有类似形状的其他函数也可以工作。

减少梯度噪声

本文期望通过直接优化 L v l b L_{vlb} Lvlb而不是通过优化 L h y b r i d L_{hybrid} Lhybrid来获得最佳对数可能性。然而,惊讶地发现,至少在不同的ImageNet64 × 64数据集上, L v l b L_{vlb} Lvlb实际上很难优化。图6显示了 L v l b L_{vlb} Lvlb L h y b r i d L_{hybrid} Lhybrid的学习曲线。这两条曲线都是有噪声的,但混合目标显然在训练集上获得了更好的对数似然,给定相同的训练时间。
在这里插入图片描述

图6 ImageNet 64 × 64上不同目标的对数似然比较学习曲线

本文假设 L v l b L_{vlb} Lvlb的梯度比 L h y b r i d L_{hybrid} Lhybrid的梯度噪声大得多。通过评估用两个目标训练的模型的梯度噪声尺度来证实这一点,如图7所示。因此,寻找一种方法来减少 L v l b L_{vlb} Lvlb的方差,以直接优化对数似然。
在这里插入图片描述
图7 ImageNet 64 × 64 上 L v l b L_{vlb} Lvlb L h y b r i d L_{hybrid} Lhybrid目标的梯度噪声尺度

注意到 L v l b L_{vlb} Lvlb的不同项具有很大不同的幅度(如图 2),假设均匀采样 t t t会在 L v l b L_{vlb} Lvlb目标中引起不必要的噪声。为了解决这个问题,采用重要性抽样
在这里插入图片描述
由于 E [ L t 2 ] E[L^2_t ] E[Lt2]事先是未知的,并且可能在整个训练过程中发生变化,因此保留每个损失项的前 10 个值的历史记录,并在训练期间动态更新它。在训练开始时,对 t t t进行统一采样,直到对每个 t ∈ [ 0 , T − 1 ] t∈[0,T−1] t[0,T1]抽取10个样本。有了这个重要抽样目标,可以通过优化 L v l b L_{vlb} Lvlb来实现最佳对数可能性,这可以在图6中的 L v l b L_{vlb} Lvlb(重采样)曲线中看到。图6中还显示,重要采样目标比原始的、均匀采样目标的噪声要小得多;还发现,在直接优化低噪声混合目标时,重要抽样技术并没有帮助。

结果和消融

在本节中,消除了为获得更好的对数可能性所做的更改。表1总结了在ImageNet 64 × 64上消融的结果,表2显示了CIFAR-10的结果。还为 150 万次迭代训练了最好的 ImageNet 64 × 64 模型,并报告了这些结果。 L v l b L_{vlb} Lvlb L h y b r i d L_{hybrid} Lhybrid使用参数化学习的 ∑ θ ( x t , t ) \sum_{\theta}(x_t, t) θ(xt,t)进行训练;对于 L v l b L_{vlb} Lvlb,使用了重要性重采样方案。
在这里插入图片描述

表1 ImageNet 64 × 64上的消融实验

在这里插入图片描述

表2 CIFAR-10上的消融实验

基于消融实验可知,使用 L h y b r i d L_{hybrid} Lhybrid和余弦schedule加噪提高了对数似然性,同时保持与DDPM的基线相似的FID。优化 L v l b L_{vlb} Lvlb以更高的FID为代价进一步提高了对数似然性。通常更倾向使用 L h y b r i d L_{hybrid} Lhybrid而不是 L v l b L_{vlb} Lvlb,因为它可以在不牺牲样本质量的情况下提高可能性

在表 3 中,将本文的最佳似然模型与之前的工作进行了比较,表明这些模型在对数似然方面与最佳传统方法具有竞争力。
在这里插入图片描述

表3 在 CIFAR-10 和无条件 ImageNet 64 × 64 上将DDPM与其他基于似然的模型进行比较;NLL以bits/dim报告;在 ImageNet 64 × 64 上,本文的模型与最好的卷积模型具有竞争力,但比完全基于Transformer的架构差

采样速度改善

本文所有的模型都经过了4000个扩散步骤的训练,因此在现代GPU上生成单个样本需要几分钟时间。本节将探讨如果减少采样期间使用的步骤,性能如何扩展,并发现预训练 L h y b r i d L_{hybrid} Lhybrid模型可以生成高质量的样本,其扩散步骤比训练时少得多(无需任何微调)。以这种方式减少步骤可以在几秒钟而不是几分钟内从模型中采样,并大大提高了图像DDPMs的实际适用性。

对于使用 T T T个扩散步骤训练的模型,通常会使用与训练期间相同的 t t t值序列( 1 、 2 、 . . . 、 T 1、2、...、T 12...T)进行采样。但是,也可以使用 t t t值的任意子序列 S S S进行采样。给定训练噪声添加调度 α ~ t \tilde{α}_t α~t,对于给定的序列 S S S,可以获得采样噪声调度 α ~ S t \tilde{α}_{S_t} α~St,然后可以使用它来获得相应的采样方差
在这里插入图片描述
现在,由于 Σ θ ( x S t , S t ) Σ_θ(x_{S_t} , S_t) Σθ(xSt,St)被参数化为 β S t β_{S_t} βSt β ~ S t \tilde{β}_{S_t} β~St之间的范围,它会自动重新调整以适应更短的扩散过程。因此,可以将 p ( x S t − 1 ∣ x S t ) p(x_{S_{t−1}}|x_{S_t}) p(xSt1xSt)计算为 N ( μ θ ( x S t , S t ) , Σ θ ( x S t , S t ) ) N(μ_θ(x_{S_t}, S_t), Σ_θ(x_{S_t}, S_t)) N(μθ(xSt,St),Σθ(xSt,St))

为了减少从 T T T K K K的采样步数,本文使用1到 T T T(含 T T T)之间的 K K K个均匀间隔的实数,然后将每个结果数字四舍五入到最接近的整数。在图8中,评估了 L h y b r i d L_{hybrid} Lhybrid模型和 L s i m p l e L_{simple} Lsimple模型的 FID,这些模型使用25、50、100、200、400、1000和4000个采样步骤进行了4000个扩散步骤的训练。对经过全面训练的检查点和训练中途的检查点都这样做。对于CIFAR-10,使用200K和500K训练迭代,对于ImageNet64,使用500K和1500K训练迭代。发现,具有固定 ∑ θ ( x t , t ) \sum_{\theta}(x_t, t) θ(xt,t) L s i m p l e L_{simple} Lsimple模型(具有较大的 σ t 2 = β t σ^2_t = β_t σt2=βt和较小的 σ t 2 = β ~ t σ^2_t = \tildeβ_t σt2=β~t)在使用减少的采样步骤数时在样本质量方面受到更多影响,而具有学习 ∑ θ ( x t , t ) \sum_{\theta}(x_t, t) θ(xt,t) L h y b r i d L_{hybrid} Lhybrid模型保持高样本质量。对于这个模型,100个采样步骤足以为完全训练模型实现接近最优的FID。
在这里插入图片描述

图8 FID与采样步骤数的关系,对于在ImageNet 64 × 64(上)和CIFAR-10(下)上训练的模型;所有模型训练了4000个扩散步骤

与本工作同时的一个工作,DDIM提出了一种DDPM的快速采样算法,方法是生成一种新的隐式模型,该模型具有相同的边缘噪声分布,但确定地将噪声映射到图像。在图8中包含了DDIM,发现DDIM在少于50个抽样步骤时产生的样本更好,但在使用50或更多步骤时产生的样本更差。有趣的是,DDIM在训练开始时表现较差,但随着训练的继续,它缩小了与其他采样器的差距。发现本文的步幅技术大大降低了DDIM的性能,因此图8的DDIM结果使用该论文的恒定步幅,其中最终的时间步长是T−T /K + 1而不是T;其他采样器在本文的步幅技术下表现得稍好一些。

与GANs对比

虽然likelihood是模式覆盖的一个很好的表征,但很难用这个指标与GANs进行比较。相反,转向使用precision和recall。由于在GAN文献中训练类条件模型是很常见的,本文对这个实验做同样的事情。为了使本文的模型具有类条件,通过与时间步 t t t相同的路径注入类信息。具体是,将类嵌入 v i v_i vi添加到时间步嵌入 e t e_t et中,并将此嵌入传递给整个模型的残差块。使用 L h y b r i d L_{hybrid} Lhybrid目标进行训练并使用250个采样步骤。训练了两个模型:一个具有100M参数的“小型”模型,用于170万个训练步骤,另一个是具有2.7亿个参数的大型模型,用于250K次迭代。在生成器和判别器上训练了一个具有100M参数的BigGAN-deep模型。

在计算此任务的指标时,生成了50K样本(而不是10K),以便与其他工作直接进行比较。这是报告的唯一一个使用50K样本计算的ImageNet 64 × 64 FID。对于 FID,参考分布特征是在整个训练集上计算的。图 9 显示了来自本文大模型的样本,表4总结了实验结果;发现BigGAN-deep在FID方面优于本文的较小模型,但在召回方面却很挣扎。这表明扩散模型比可比的 GAN 更擅长覆盖分布模式。
在这里插入图片描述

表4 类条件 ImageNet 64 × 64 上的样本质量比较;精度和召回率使用Inception-V3特性进行测量,K = 5;训练BigGAN-deep进行125K迭代,并没有使用截断采样来最大化GAN的召回率

在这里插入图片描述
图9 基于类条件的ImageNet 64 × 64样本,使用 L h y b r i d L_{hybrid} Lhybrid模型(FID 2.92)的250个采样步骤生成;类别分别是9-鸵鸟,11-金翅雀,130-火烈鸟,141-红脚鹬,154-哈巴狗,157-巴比龙,97-德雷克和28-斑点蝾螈;可看到每个类都有很高的多样性,这表明目标分布的覆盖范围很好

扩展模型尺寸

在前几节中,展示了改进对数似然和FID的算法,而不改变训练计算量。然而,现代机器学习的一个趋势是,更大的模型和更多的训练时间往往会提高模型的性能。鉴于这一观察结果,研究了FID和NLL如何作为训练计算的函数进行扩展。实验的结果虽然是初步的,但表明随着训练计算的增加,DDPM以一种可预测的方式提高。

为了衡量训练计算对性能的影响,在ImageNet 64 × 64上用 L h y b r i d L_{hybrid} Lhybrid混合目标训练4个不同的模型。为了改变模型容量,在所有层上应用深度倍增器,这样第一层就有64、96、128或192个通道。注意,之前的实验在第一层中使用了128个通道。由于每一层的深度影响初始权重的比例,将每个模型的Adam学习率按 1 / 通 道 倍 增 器 1/\sqrt{通道倍增器} 1/ 进行缩放,因此128通道模型的学习率为0.0001(与其他实验一样)。

图10显示了FID和NLL相对于理论训练计算的改进情况。FID 曲线在对数图上看起来近似线性,表明 FID 根据幂律进行缩放(绘制为黑色虚线)。NLL 曲线并不完全符合幂律,这表明验证 NLL 的扩展方式不如 FID 有利。这可能是由多种因素引起的,例如:1) 这种类型的扩散模型具有出乎意料的高不可约损失,或 2) 模型过度拟合训练分布。本文还注意到,这些模型通常没有达到最佳对数似然,因为它们是使用 L h y b r i d L_{hybrid} Lhybrid目标训练的,而不是直接使用 L v l b L_{vlb} Lvlb来保持良好的对数似然和样本质量。

相关工作

WaveGrad和Diffwave是最近的两项工作,使用DDPM在mel谱图条件下产生高保真音频。与本工作同时,WaveGrad结合了改进的schedule和 L 1 L_1 L1损失,使采样步骤更少,样品质量下降很少。然而,与本文的无条件图像生成任务相比,该工作的生成任务具有由梅尔谱图提供的强输入调节信号,本文认为这使得使用更少的扩散步骤更容易采样。

Adversarial score matching and improved sampling for image generation探索了图像域中的分数匹配,并构建了一个对抗性训练目标以产生更好的 x 0 x_0 x0预测。然而,他们发现选择更好的网络架构消除了对这种对抗性目标的需求,这表明对抗性目标对于强大的生成建模不是必需的。

与本工作同期的工作,DDIM和Score-Based Generative Modeling through Stochastic Differential Equations通过利用不同的采样过程,为使用DDPM目标训练的模型提出了快速采样算法。DDIM通过推导隐式生成模型来做到这一点,该模型具有与DDPM相同的边际噪声分布,同时将噪声确定性地映射到图像。Score-Based Generative Modeling through Stochastic Differential Equations将扩散过程建模为连续SDE的离散化,并观察到存在对应于反向SDE采样的ODE。通过改变ODE求解器的数值精度,可以使用更少的函数评估进行采样。然而,这种技术在直接使用时获得的样本比常规采样更差,并且只有在 Langevin校正步骤结合使用时才能获得更好的FID。这反过来需要手动调整Langevin步骤的信噪比。本文的方法允许直接从常规过程中进行快速采样,从而无需额外的超参数。

Learning Energy-Based Models by Diffusion Recovery Likelihood 开发了一种扩散模型,该模型具有由基于能量的模型建模的反向扩散步骤。这种方法的一个潜在含义是需要更少的扩散步骤来获得良好的样品。

结论

本文证明,通过一些修改,DDPM可以更快地采样并实现更好的对数似然,而对样本质量的影响很小。通过使用本文的参数化和 L h y b r i d L_{hybrid} Lhybrid目标学习 Σ θ Σ_θ Σθ来提高可能性。这使扩散模型的likelihood更接近于其他基于likelihood的模型。实验发现,这种变化还允许以更少的步骤从这些模型中采样。

还发现DDPMs可以与GANs的样本质量相匹配,同时通过召回率测量获得更好的模式覆盖率。此外,研究了DDPMs如何随可用的训练计算量扩展,并发现更多的训练计算会带来更好的样本质量和对数似然。

这些结果的结合使DDPMs成为生成建模的一个有吸引力的选择,因为它们结合了良好的对数似然、高质量的样本和合理快速的采样,以及一个有充分理由的、固定的训练目标,可以通过训练计算轻松扩展。这些结果表明,DDPMs是未来研究的一个有希望的方向。

  • 43
    点赞
  • 51
    收藏
    觉得还不错? 一键收藏
  • 3
    评论
IDDPM是基于DPM的目标检测算法,可以用于训练自己的数据集。根据引用\[1\]中的描述,训练自己的数据集主要需要修改pascal_data文件,该文件负责读取参与训练的正负样本。正样本的数据格式为1.jpg 2 x1 y1 x2 y2 x2_1 y2_1 x2_2 y2_2。这里的1.jpg表示正样本的图像文件名,后面的数字和坐标表示目标的位置信息。你可以根据自己的数据集格式修改pascal_data文件,将你的正负样本数据添加到其中,然后使用该文件进行训练。另外,根据引用\[2\]中的描述,IDDPM的官方仓库使用PyTorch实现,你可以参考该仓库中的代码来理解算法的实现细节,并根据需要进行修改和调整。仓库中的image_sample.py和respace.py文件涉及采样部分的代码,你可以详细阅读和理解这些代码,以便在训练自己的数据集时进行适当的采样操作。 #### 引用[.reference_title] - *1* [DPM检测模型 训练自己的数据集 读取接口修改](https://blog.csdn.net/weixin_30363981/article/details/99615354)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^insert_down28v1,239^v3^insert_chatgpt"}} ] [.reference_item] - *2* [IDDPM官方gituhb项目--采样](https://blog.csdn.net/zzfive/article/details/128061767)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^insert_down28v1,239^v3^insert_chatgpt"}} ] [.reference_item] [ .reference_list ]

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值