Improved Denoising Diffusion Probabilistic Models
文章目录
- Improved Denoising Diffusion Probabilistic Models
- 概述
- Improving the Log-likelihood
- Learning ∑ θ ( x t , t ) \sum_{\theta}(x_{t}, t) ∑θ(xt,t)
- Improving the Noise Schedule
- Reducing Gradient Noise
- Improving Sampling Speed
- Scaling Model Size
- 实验
- 参考文献
引用: Nichol A Q, Dhariwal P. Improved denoising diffusion probabilistic models[C]//International conference on machine learning. PMLR, 2021: 8162-8171.
论文链接: https://arxiv.org/abs/2102.09672
代码链接: https://github.com/openai/improved-diffusion
概述
去噪扩散概率模型 (DDPM) 是一类生成模型,最近已被证明可以产生出色的样本。实验表明,通过一些简单的修改,DDPM还可以在保持高样品质量的同时实现竞争性的对数似然。为了更紧密地优化变分下界 (VLB),我们使用简单的重新参数化和混合学习目标来学习逆向过程方差,该目标将 VLB 与 Ho 等人[1]的简化目标相结合,允许采样前向传递减少一个数量级,样本质量差异可以忽略不计,这对于这些模型的实际部署非常重要。使用混合目标,模型获得了比直接优化对数似然获得的对数似然更好的对数似然,并发现后一个目标在训练过程中具有更多的梯度噪声。与混合目标相比,一个简单的重要性采样技术可以减少这种噪声,并能够获得更好的对数似然。此外,论文还使用精确度和召回率来比较 DDPM 和 GAN 对目标分布的覆盖程度。最后,我们表明,这些模型的样本质量和可能性可以随着模型容量和训练计算而平滑扩展,使其易于扩展。
Improving the Log-likelihood
虽然Ho等人[1]发现DDPM可以根据FID[2]和Inception Score[3]生成高保真样本,但他们无法通过这些模型实现竞争对数可能性。对数似然是生成建模中广泛使用的指标,人们普遍认为,优化对数似然会迫使生成模型捕获数据分布的所有模式。此外,最近的工作[4]表明,对数似然的微小改进可以对样本质量和学习的特征表示产生巨大影响。因此,重要的是要探讨为什么 DDPM 似乎在这个指标上表现不佳,因为这可能表明一个根本性的缺点,例如模式覆盖率差。
为了研究不同修改的影响,在ImageNet 64×64和CIFAR-10数据集上训练具有固定超参数的固定模型架构。虽然 CIFAR-10 在此类模型中的应用更多,但论文选择研究 ImageNet 64 × 64,因为它在多样性和分辨率之间提供了良好的权衡,能够快速训练模型而不必担心过度拟合。此外,ImageNet 64×64 已在生成建模的背景下进行了广泛研究,能够将 DDPM 直接与许多其他生成模型进行比较。
Ho等人[1]的设置(在设置 σ t 2 = β t σ^2_t = β_t σt2=βt 和 T = 1000 T = 1000 T=1000 的同时优化 L s i m p l e L_{simple} Lsimple )在 200K 训练迭代后,在 ImageNet 64 × 64 64 × 64 64×64 上实现了 3.99 3.99 3.99 ( b i t s / d i m bits/dim bits/dim) 的对数似然。论文在早期的实验中发现,可以通过将 T T T 从 1000 1000 1000 增加到 4000 4000 4000 来提高对数似然;通过此更改,对数似然提高到 3.77 3.77 3.77。
Learning ∑ θ ( x t , t ) \sum_{\theta}(x_{t}, t) ∑θ(xt,t)
Ho等人[1]将 ∑ θ ( x t , t ) = σ t 2 I \sum_{\theta}(x_{t}, t) = \sigma_{t}^{2}I ∑θ(xt,t)=σt2I,其中 σ t σ_t σt 不是学习的。奇怪的是,他们发现将 σ t 2 σ^2_t σt2 固定到 β t β_t βt 产生的样品质量与将其固定到 β ~ t \tilde { \beta } _ { t } β~t 大致相同。考虑到 β t β_t βt 和 β ~ t \tilde { \beta } _ { t } β~t 代表两个相反的极端,有理由问为什么这种选择不会影响样本。图 1 给出了一个线索,**它表明 β t β_t βt 和 β ~ t \tilde { \beta } _ { t } β~t 几乎相等(除了接近 t = 0 t = 0 t=0),即模型正在处理难以察觉的细节。此外,随着扩散步骤数量的增加, β t β_t βt和β ̃t似乎在更多的扩散过程中彼此靠近。这表明,在无限扩散步骤的极限下, σ t σ_t σt的选择对样品质量可能完全无关紧要。换句话说,当添加更多的扩散步骤时,模型平均值 μ θ ( x t , t ) \mu _ { \theta } ( x _ { t } , t ) μθ(xt,t)比 ∑ θ ( x t , t ) \sum_{\theta}(x_{t}, t) ∑θ(xt,t)更能决定分布。虽然上述论点表明,为了样本质量,固定 σ t σ_t σt 是一个合理的选择,但它并没有说明对数似然性。事实上,图2显示,扩散过程的前几步对变分下限的贡献最大。因此,似乎可以通过使用更好的 ∑ θ ( x t , t ) \sum_{\theta}(x_{t}, t) ∑θ(xt,t) 选择来提高对数似然。为了实现这一目标,必须学习 ∑ θ ( x t , t ) \sum_{\theta}(x_{t}, t) ∑θ(xt,t),而不会遇到 Ho 等人遇到的不稳定性。
由于图 1 显示 ∑ θ ( x t , t ) \sum_{\theta}(x_{t}, t) ∑θ(xt,t)的理想范围非常小,因此神经网络很难直接预测 ∑ θ ( x t , t ) \sum_{\theta}(x_{t}, t) ∑θ(xt,t),即使在对数域中也是如此。相反,我们发现最好将方差参数化为在log域 β t β_t βt 和 β ~ t \tilde { \beta } _ { t } β~t之间的插值。具体而言,模型输出一个向量 v v v,每个维度包含一个分量,将此输出转换为方差,如下所示:
∑ θ ( x t , t ) = e x p ( v log β t + ( 1 − v ) log β ~ t ) \sum _ { \theta } ( x _ { t } , t ) = e x p ( v \log \beta _ { t } + ( 1 - v ) \log \tilde { \beta } _ { t } ) θ∑(xt,t)=exp(vlogβt+(1−v)logβ~t)
没有对 v v v 施加任何约束,理论上允许模型预测插值范围之外的方差。由于 Lsimple 不依赖于 ∑ θ ( x t , t ) \sum_{\theta}(x_{t}, t) ∑θ(xt,t),因此定义了一个新的混合目标:
L h y b r i d = L s i m p l e + λ L v l b L _ { h y b r i d } = L _ { s i m p l e } + \lambda L _ { v l b } Lhybrid=Lsimple+λLvlb
对于实验,设置 λ = 0.001 λ = 0.001 λ=0.001 以防止 L v l b L_{vlb} Lvlb 压倒 L s i m p l e L_{simple} L