AiPaper
论文状态:已完成

Denoising Diffusion Probabilistic Models

发表:2020/06/20
原文链接PDF 下载
价格:0.10
价格:0.10
已有 1 人读过
本分析由 AI 生成,可能不完全准确,请以原文为准。

TL;DR 精炼摘要

本文提出了一种新型去噪扩散概率模型,灵感来源于非平衡热力学,实现了高质量图像合成。通过在加权变分下界上训练,建立了模型与去噪分数匹配之间的新联系。该模型支持渐进式有损解压缩方案,在CIFAR10数据集上达成9.46的Inception Score和3.17的Fréchet Inception Distance,展示出与当前最佳成果相媲美的样本质量。

摘要

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. Our implementation is available at https://github.com/hojonathanho/diffusion

思维导图

论文精读

中文精读

1. 论文基本信息

1.1. 标题

Denoising Diffusion Probabilistic Models (去噪扩散概率模型)

1.2. 作者

  • Jonathan Ho (加州大学伯克利分校)
  • Ajay Jain (加州大学伯克利分校)
  • Pieter Abbeel (加州大学伯克利分校)

1.3. 发表期刊/会议

34th Conference on Neural Information Processing Systems (NeurIPS 2020), Vancouver, Canada. NeurIPS 是机器学习领域顶级的会议之一,享有极高的学术声誉和影响力。

1.4. 发表年份

2020年

1.5. 摘要

本文使用扩散概率模型 (diffusion probabilistic models),一种受非平衡热力学启发而设计的潜在变量模型 (latent variable models),实现了高质量的图像合成结果。作者通过在加权变分下界 (weighted variational bound) 上训练模型,该下界是根据扩散概率模型与使用 Langevin 动力学 (Langevin dynamics) 的去噪分数匹配 (denoising score matching) 之间的新颖联系而设计的,从而获得了最佳结果。本文的模型自然地支持一种渐进式有损解压缩方案 (progressive lossy decompression scheme),这可以被解释为自回归解码 (autoregressive decoding) 的一种泛化。在无条件 CIFAR10 数据集上,模型取得了 9.46 的 Inception Score (IS) 和 3.17 的当前最佳 Fréchet Inception Distance (FID) 分数。在 256x256 LSUN 数据集上,模型获得了与 ProgressiveGAN 相似的样本质量。

1.6. 原文链接

2. 整体概括

2.1. 研究背景与动机

论文试图解决的核心问题: 深度生成模型 (deep generative models) 在图像合成等多种数据模态上已展现出高质量的样本生成能力,包括生成对抗网络 (GANs)、自回归模型 (autoregressive models)、流模型 (flows) 和变分自编码器 (VAEs)。然而,作为一类具有潜力的潜在变量模型,扩散概率模型 (diffusion probabilistic models) 虽然定义简单、训练高效,但在当时并未展示出生成高质量样本的能力。因此,论文的核心问题是:如何改进扩散概率模型,使其能够生成与现有最先进模型媲美甚至超越的高质量样本?

为什么这个问题在当前领域是重要的: 高质量的图像合成是计算机视觉和机器学习领域的一个重要研究方向,它在艺术创作、数据增强、虚拟现实、图像修复等众多应用中具有广泛潜力。如果扩散概率模型能够实现高质量生成,将为生成模型领域提供一个有竞争力的新范式,尤其考虑到其训练稳定性和理论基础(与非平衡热力学的联系)。

现有研究存在哪些具体的挑战或空白:

  • 扩散模型的能力未被充分发掘: 尽管扩散概率模型早在2015年就被提出,但由于当时其样本质量不如GANs等模型,因此未能引起广泛关注,其真正潜力尚未被证明。
  • 训练目标与样本质量的权衡: 传统的变分下界优化目标侧重于对数似然 (log likelihood),但这并不总能直接转化为最佳的样本质量(如FID分数)。如何在训练中更好地优化以提升样本质量是一个挑战。
  • 理论连接的挖掘: 扩散模型与去噪分数匹配、Langevin动力学等其他生成模型技术之间可能存在深层联系,但这些联系尚未被清晰地建立和利用。

这篇论文的切入点或创新思路: 本文的创新点在于:

  1. 证明扩散模型的潜力: 首次系统性地展示了扩散概率模型能够生成高质量的图像样本,甚至在某些指标上超越了当时最先进的其他类型生成模型。
  2. 建立理论连接: 发现了一种独特的反向过程 (reverse process) 参数化方法,揭示了扩散模型与多噪声水平去噪分数匹配以及退火 Langevin 动力学 (annealed Langevin dynamics) 之间的等价性。
  3. 优化训练目标: 基于上述理论连接,提出了一种简化的、加权的变分下界训练目标,该目标被经验性地证明能显著提高样本质量。
  4. 提供新视角: 将扩散模型的采样过程解释为一种渐进式有损解压缩 (progressive lossy decompression) 方案,并将其推广为自回归解码的一种泛化形式。

2.2. 核心贡献/主要发现

论文最主要的贡献:

  1. 实现了扩散模型的SOTA样本质量: 在无条件 CIFAR10 数据集上,实现了 3.17 的 FID 分数,超越了当时大多数同类模型,甚至包括一些条件生成模型。在 256x256 LSUN 数据集上,样本质量与 ProgressiveGAN 相当。
  2. 揭示了扩散模型与去噪分数匹配和Langevin动力学的深层联系: 通过特定的反向过程参数化,将扩散模型的变分下界目标与去噪分数匹配的目标形式联系起来,并表明其采样过程类似于 Langevin 动力学。这为扩散模型的理论理解和后续发展奠定了基础。
  3. 提出了一个有效的简化训练目标: 引入了 L_simple 目标,这是一个加权的变分下界,虽然牺牲了一定的对数似然,但显著提升了样本质量。这表明在生成模型中,直接优化样本质量可能比严格优化似然更重要。
  4. 将扩散模型解释为渐进式有损压缩和泛化自回归解码: 提出了扩散模型的采样过程可以看作是一种渐进式解码方案,能够从粗到细地生成图像,并暗示了其在数据压缩方面的潜力,同时提供了一个理解自回归模型新角度。

论文得出了哪些关键的结论或发现:

  • 扩散模型并非能力受限,通过适当的参数化和训练目标设计,可以成为非常强大的高质量图像生成器。
  • 将反向过程的均值参数化为预测前向过程中加入的噪声 ϵ\epsilon (即 epsilon-prediction 参数化) 能够获得最佳的样本质量。
  • 一个简化的、加权的变分下界 (L_simple),虽然对数似然表现不佳,但能带来卓越的样本质量。这说明了传统似然优化与生成质量之间可能存在脱节。
  • 扩散模型的采样过程本质上是一种多阶段的去噪过程,能够实现从模糊到清晰的渐进式生成,且中间潜在变量编码了图像的高级属性。
  • 扩散模型具有优秀的有损压缩 (lossy compressor) 归纳偏置 (inductive bias),大部分对数似然被用于描述人眼不可察觉的细节。

3. 预备知识与相关工作

3.1. 基础概念

3.1.1. 生成模型 (Generative Models)

概念定义: 生成模型是一类机器学习模型,旨在学习训练数据的内在分布,然后能够生成与训练数据相似的新数据样本。它们的核心任务是从学到的数据分布中进行采样,从而创造出新的、逼真的数据。 解释: 想象你给一个模型看成千上万张猫的图片,一个好的生成模型不仅能区分猫和狗(这是判别模型的任务),还能画出新的、看起来像是真猫的图片。常见的生成模型包括生成对抗网络 (GANs)、变分自编码器 (VAEs)、自回归模型 (autoregressive models) 和流模型 (flow models) 等。

3.1.2. 潜在变量模型 (Latent Variable Models)

概念定义: 潜在变量模型是指模型中包含一些不可观测的随机变量,这些变量被称为潜在变量 (latent variables)。它们被假设为影响观测数据的生成过程。通过对这些潜在变量的建模和推断,模型可以捕捉数据的复杂结构。 解释: 在图像生成中,我们可能无法直接理解一张图片是如何从“想法”产生的。潜在变量就像是这些“想法”或“抽象特征”的数学表示。模型学习如何将这些抽象的潜在变量映射到具体的像素,反之亦然。通过操纵潜在变量,我们可以生成不同的图像。扩散模型中的 x1,,xT\mathbf{x}_1, \ldots, \mathbf{x}_T 就是一系列潜在变量,它们代表了数据在不同噪声水平下的状态。

3.1.3. 扩散概率模型 (Diffusion Probabilistic Models, DPMs)

概念定义: 扩散概率模型是一类通过模拟非平衡热力学过程来学习复杂数据分布的潜在变量模型。它由一个固定的前向扩散过程 (forward diffusion process) 和一个可学习的反向去噪过程 (reverse denoising process) 组成。前向过程逐步向数据添加噪声,直到数据完全变成纯噪声;反向过程则学习如何逆转这个过程,从纯噪声中逐步恢复出清晰的数据样本。 解释: 想象你有一张清晰的图片。前向扩散过程就是你一步一步地往这张图片上泼墨水,直到图片变得完全模糊,只剩下一团随机的墨迹。这个泼墨水的步骤是固定的,由方差计划 (variance schedule) 控制。反向去噪过程就是你训练一个模型,让它学习如何一步一步地把墨水擦掉,从那团模糊的墨迹中逐渐还原出原来的清晰图片。通过这个反向过程,模型就可以从随机的噪声开始,一步步生成出全新的、逼真的图片。

3.1.4. 变分推断 (Variational Inference)

概念定义: 变分推断是一种近似推断方法,用于估计复杂概率模型中的后验分布。它通过将后验分布近似为一个更简单的、可处理的分布(称为变分分布),然后优化这个变分分布的参数,使其与真实后验分布之间的 Kullback-Leibler (KL) 散度最小化。这通常等价于最大化证据下界 (Evidence Lower Bound, ELBO)。 解释: 在很多复杂的模型中,直接计算或采样出我们感兴趣的概率分布(比如给定一张图片,它最可能由什么样的潜在变量生成)是非常困难的。变分推断就像是“猜”一个简单的分布来模仿那个复杂的分布。我们通过调整这个“猜”的分布的参数,让它尽可能地接近真实的复杂分布。这个“猜”的过程是通过最大化一个下界来实现的,这个下界通常被称为 ELBO,它既考虑了数据拟合程度,也考虑了变分分布与先验分布的接近程度。在扩散模型中,变分推断用于训练反向过程,使其能有效地从噪声中恢复数据。

3.1.5. Kullback-Leibler (KL) 散度 (Kullback-Leibler Divergence)

概念定义: Kullback-Leibler (KL) 散度,也称为相对熵 (relative entropy),是衡量两个概率分布 PPQQ 之间差异的非对称度量。它量化了当使用分布 QQ 来近似分布 PP 时所损失的信息量。 数学公式: 对于离散分布: DKL(PQ)=iP(i)logP(i)Q(i) D_{\mathrm{KL}}(P \parallel Q) = \sum_{i} P(i) \log \frac{P(i)}{Q(i)} 对于连续分布: DKL(PQ)=P(x)logP(x)Q(x)dx D_{\mathrm{KL}}(P \parallel Q) = \int_{-\infty}^{\infty} P(x) \log \frac{P(x)}{Q(x)} dx 符号解释:

  • P(i)P(x): 真实分布。
  • Q(i)Q(x): 近似分布。
  • i\sum_i: 对所有可能的离散值求和。
  • dx\int_{-\infty}^{\infty} dx: 对所有可能的连续值进行积分。
  • log\log: 自然对数。 解释: KL 散度越大,表示两个分布之间的差异越大。在变分推断中,我们通常希望最小化变分分布与真实后验之间的 KL 散度,从而使变分分布尽可能地接近真实后验。需要注意的是,KL 散度不是对称的,即 DKL(PQ)DKL(QP)D_{\mathrm{KL}}(P \parallel Q) \neq D_{\mathrm{KL}}(Q \parallel P)

3.1.6. 高斯分布 (Gaussian Distribution/Normal Distribution)

概念定义: 高斯分布,或称正态分布,是一种常见的连续概率分布,其概率密度函数呈钟形曲线。它由两个参数完全决定:均值 (μ\mu) 和方差 (σ2\sigma^2)。 数学公式: 一维高斯分布的概率密度函数为: f(xμ,σ2)=12πσ2e(xμ)22σ2 f(x | \mu, \sigma^2) = \frac{1}{\sqrt{2\pi\sigma^2}} e^{-\frac{(x-\mu)^2}{2\sigma^2}} 多维高斯分布(多元正态分布)的概率密度函数为: f(xμ,Σ)=1(2π)Ddet(Σ)exp(12(xμ)TΣ1(xμ)) f(\mathbf{x} | \pmb{\mu}, \mathbf{\Sigma}) = \frac{1}{\sqrt{(2\pi)^D \det(\mathbf{\Sigma})}} \exp\left(-\frac{1}{2}(\mathbf{x}-\pmb{\mu})^T \mathbf{\Sigma}^{-1}(\mathbf{x}-\pmb{\mu})\right) 符号解释:

  • xx: 随机变量。
  • μ\mu: 均值 (mean),分布的中心位置。
  • σ2\sigma^2: 方差 (variance),衡量分布的离散程度。
  • x\mathbf{x}: 多维随机向量。
  • μ\pmb{\mu}: 均值向量。
  • Σ\mathbf{\Sigma}: 协方差矩阵 (covariance matrix)。
  • DD: 数据的维度。
  • det(Σ)\det(\mathbf{\Sigma}): 协方差矩阵的行列式。 解释: 在扩散模型中,噪声通常被建模为高斯噪声,前向过程和反向过程中的条件概率分布也常被设定为高斯分布,这使得许多计算具有闭式解,简化了模型的数学处理。

3.1.7. 去噪分数匹配 (Denoising Score Matching, DSM)

概念定义: 去噪分数匹配是一种无监督学习方法,用于估计数据分布的对数概率密度梯度(称为分数函数)。它通过训练一个模型来预测被噪声损坏的数据样本上的噪声,从而间接学习分数函数。 解释: 分数函数 xlogp(x)\nabla_{\mathbf{x}} \log p(\mathbf{x}) 提供了数据密度最高的方向,对于采样非常有用(例如结合 Langevin 动力学)。直接估计分数函数通常很困难。DSM 的核心思想是,如果你能准确地从一个被噪声污染的样本中恢复出原始样本(即执行去噪),那么你实际上就学到了一些关于数据分布形状的信息。DSM 训练一个神经网络来预测加到数据上的噪声 ϵ\epsilon,通过最小化预测噪声和真实噪声之间的差异,来优化分数函数的估计。

3.1.8. Langevin 动力学 (Langevin Dynamics)

概念定义: Langevin 动力学是一种马尔可夫链蒙特卡罗 (Markov Chain Monte Carlo, MCMC) 算法,用于从难以直接采样的复杂概率分布中生成样本。它通过结合目标分布的梯度信息(分数函数)和随机噪声来模拟粒子的运动,使其最终收敛到目标分布。 数学公式: Langevin 采样器的迭代更新规则为: xnew=xold+α2xlogp(xold)+αz \mathbf{x}_{\text{new}} = \mathbf{x}_{\text{old}} + \frac{\alpha}{2} \nabla_{\mathbf{x}} \log p(\mathbf{x}_{\text{old}}) + \sqrt{\alpha} \mathbf{z} 符号解释:

  • xold\mathbf{x}_{\text{old}}: 当前的样本。
  • xnew\mathbf{x}_{\text{new}}: 下一个迭代生成的样本。
  • α\alpha: 步长 (step size),也称为学习率。
  • xlogp(xold)\nabla_{\mathbf{x}} \log p(\mathbf{x}_{\text{old}}): 在 xold\mathbf{x}_{\text{old}} 处的目标分布 p(x)p(\mathbf{x}) 的分数函数。
  • z\mathbf{z}: 从标准正态分布 N(0,I)\mathcal{N}(\mathbf{0}, \mathbf{I}) 中采样的随机噪声。 解释: Langevin 动力学可以看作是梯度上升(沿着密度增高的方向移动)和随机扰动(探索空间)的结合。分数函数引导样本向高概率区域移动,而随机噪声则帮助算法跳出局部最优并探索整个分布。在生成模型中,如果能估计出数据分布的分数函数,就可以用 Langevin 动力学来生成新样本。本文指出扩散模型的采样过程与退火 Langevin 动力学 (annealed Langevin dynamics) 类似。

3.1.9. U-Net

概念定义: U-Net 是一种卷积神经网络 (Convolutional Neural Network, CNN) 架构,最初为生物医学图像分割而设计。其名称来源于其网络结构在可视化时呈现的“U”形。它包含一个下采样路径(编码器)用于捕捉上下文信息,和一个上采样路径(解码器)用于精确定位。编码器和解码器之间通过跳跃连接 (skip connections) 连接,以保留空间细节。 解释: U-Net 的编码器部分逐渐减小特征图的空间尺寸,同时增加特征通道数量,以提取高级语义信息。解码器部分则通过上采样和卷积操作逐步恢复特征图的空间尺寸。关键的跳跃连接将编码器中相应尺寸的特征图直接传递给解码器,这有助于解码器在恢复细节时利用编码器保留的精细空间信息,避免在下采样过程中丢失重要的局部特征。这种结构使其在需要高分辨率输出的任务(如图像分割、图像生成、超分辨率)中表现出色。

3.2. 前人工作

  • 早期的扩散概率模型 [53]: 本文的工作建立在 Sohl-Dickstein 等人在 2015 年提出的扩散概率模型的基础之上。该原始工作首次提出了前向和反向扩散过程的框架,并使用变分推断进行训练。然而,当时的模型在样本质量上未能达到最先进水平。
  • 生成对抗网络 (GANs) [14, 27, 3, 28, 29, 30]: GANs 是当时生成模型领域的主流,通过生成器和判别器之间的对抗训练生成高质量样本。ProgressiveGAN [27] 和 StyleGAN [28, 30] 是其中代表,实现了图像生成领域的巨大突破。本文将自己的模型与这些GANs的样本质量进行比较。
  • 自回归模型 (Autoregressive Models) [25, 58, 59]: 这类模型通过按顺序预测数据点的每个分量来生成样本,例如 PixelRNN、PixelCNN 等,它们在建模对数似然方面表现出色。本文将扩散模型与自回归解码建立联系。
  • 流模型 (Flow-based Models) [9, 10, 32]: 流模型通过可逆变换将简单先验分布映射到复杂数据分布,允许精确的对数似然计算和高效采样。
  • 变分自编码器 (VAEs) [33]: VAEs 通过编码器将数据映射到潜在空间,并通过解码器从潜在空间重构数据,同时优化 ELBO。
  • 基于能量的模型 (Energy-Based Models, EBMs) 和分数匹配 (Score Matching) [11, 55]: 近年来,基于能量的模型和分数匹配方法也取得了显著进展。特别是 Song 和 Ermon 提出的 NCSN [55] 和 NCSNv2 [56] 通过分数匹配和退火 Langevin 动力学生成了高质量图像,与本文的理论联系密切。本文的 epsilon-prediction 参数化正是在去噪分数匹配的背景下被发现的。

3.3. 技术演进

深度生成模型的发展历程大致可以概括为从早期的 VAEs 和 GANs 逐步走向更多样化、理论基础更丰富的模型。

  1. 早期尝试 (VAEs, GANs): VAEs 提供了强大的变分推断框架,但有时生成样本模糊;GANs 带来了极其逼真的样本,但训练不稳定且模式坍塌 (mode collapse) 问题突出。
  2. 自回归与流模型: 自回归模型在对数似然建模上表现出色,但采样速度慢;流模型结合了精确似然和可逆性,但架构设计复杂。
  3. 基于能量和分数匹配的复兴: 近年来,随着对分数匹配和 Langevin 动力学的深入研究,基于能量和分数匹配的模型(如 NCSN)重新受到关注,它们提供了一种新的高质量生成途径,并且通常训练更稳定。
  4. 扩散模型的突破: 本文的工作标志着扩散模型在高质量图像生成领域的一个重大突破。它将扩散模型与分数匹配、Langevin 动力学等现有技术联系起来,并通过优化的训练目标和网络架构设计,克服了早期扩散模型样本质量不佳的问题,使其成为当前最先进的生成模型之一。

3.4. 差异化分析

本文的扩散模型与相关工作中的主要方法相比,核心区别和创新点在于:

  • 与早期扩散模型 [53] 的区别:
    • 样本质量: 早期扩散模型未能展示出生成高质量样本的能力,本文通过改进模型参数化、训练目标和网络架构,将样本质量提升到 SOTA 水平。
    • 理论连接: 本文建立了扩散模型与去噪分数匹配和 Langevin 动力学之间明确的数学联系,这是早期工作所没有的。
  • 与基于分数匹配的模型 (如 NCSN [55]) 的区别:
    • 训练范式: NCSN 旨在通过分数匹配估计数据分布的梯度,并使用退火 Langevin 动力学进行采样,其训练过程不直接优化采样器的质量。本文的扩散模型则是一个完整的潜在变量模型,其训练过程(通过变分推断)直接训练了 Langevin 样式的采样器,使其在 TT 步后能匹配数据分布,因此具有更强的理论保证和采样过程的严谨性。
    • 前向过程设计: 本文的扩散模型在前向过程中引入了数据缩放因子 1βt\sqrt{1-\beta_t},确保了添加噪声时信号噪声比的一致性,防止了分布漂移。NCSN 省略了这一缩放因子。
    • 先验匹配: 本文的扩散过程确保了 q(xTx0)q(\mathbf{x}_T|\mathbf{x}_0) 与标准正态先验 p(xT)p(\mathbf{x}_T) 紧密匹配(DKL(q(xTx0)N(0,I))0D_{\mathrm{KL}}(q(\mathbf{x}_T|\mathbf{x}_0) \parallel \mathcal{N}(\mathbf{0}, \mathbf{I})) \approx 0),这避免了采样时的分布失配问题。
    • 采样器参数: 本文的 Langevin 样式的采样器参数(如学习率、噪声尺度)是严格从前向过程的 βt\beta_t 计划中推导出来的,而非像 NCSN 那样部分手动设置。
  • 与 GANs 的区别:
    • 训练稳定性: 扩散模型通常比 GANs 训练更稳定,不易出现模式坍塌等问题。
    • 目标函数: GANs 采用对抗性训练,而扩散模型基于变分推断,优化似然下界。
    • 生成机制: GANs 通常一步生成样本,而扩散模型是渐进式、多步去噪生成。
  • 与自回归模型的区别:
    • 采样速度: 自回归模型通常采样速度较慢(像素逐个生成)。扩散模型虽然也需要多步,但每一步都是并行处理整个图像。
    • 条件建模: 本文将扩散模型的采样过程解释为一种具有广义比特序的自回归解码,拓展了对自回归模型的理解。

4. 方法论

4.1. 方法原理

扩散概率模型的核心思想是通过一个固定的马尔可夫链(前向过程)逐步向数据添加高斯噪声,直到数据完全变为纯高斯噪声。然后,模型学习一个反向马尔可夫链(反向过程),该过程能够从纯噪声中逐步地去噪,最终恢复出原始数据分布中的样本。训练目标是最大化数据的对数似然,这通过优化变分下界 (variational bound) 来实现。

本文的关键创新在于:

  1. 特定的反向过程参数化: 通过对反向过程的均值函数进行重新参数化,使其预测前向过程中添加到数据上的噪声 ϵ\epsilon。这种参数化揭示了扩散模型与去噪分数匹配之间的深层联系,并使得采样过程类似于 Langevin 动力学。
  2. 简化的加权变分下界: 作者发现,直接优化传统的变分下界不一定能得到最佳的样本质量。因此,他们提出了一种简化的加权目标函数 L_simple,它本质上是一个去噪分数匹配损失,但经过了加权处理,更注重高噪声水平下的去噪任务,从而显著提升了生成样本的视觉质量。

4.2. 核心方法详解

4.2.1. 扩散模型定义

扩散模型是一类潜在变量模型,其形式为 pθ(x0):=pθ(x0:T)dx1:Tp_\theta(\mathbf{x}_0) := \int p_\theta(\mathbf{x}_{0:T}) d\mathbf{x}_{1:T},其中 x1,,xT\mathbf{x}_1, \ldots, \mathbf{x}_T 是与数据 x0q(x0)\mathbf{x}_0 \sim q(\mathbf{x}_0) 具有相同维度的潜在变量。

反向过程 (Reverse Process): 联合分布 pθ(x0:T)p_\theta(\mathbf{x}_{0:T}) 称为反向过程,它被定义为一个马尔可夫链,具有学习到的高斯转移,从 p(xT)=N(xT;0,I)p(\mathbf{x}_T) = \mathcal{N}(\mathbf{x}_T; \mathbf{0}, \mathbf{I}) 开始: pθ(x0:T):=p(xT)t=1Tpθ(xt1xt),pθ(xt1xt):=N(xt1;μθ(xt,t),Σθ(xt,t)) p_\theta(\mathbf{x}_{0:T}) := p(\mathbf{x}_T) \prod_{t=1}^T p_\theta(\mathbf{x}_{t-1}|\mathbf{x}_t), \qquad p_\theta(\mathbf{x}_{t-1}|\mathbf{x}_t) := \mathcal{N}(\mathbf{x}_{t-1}; \pmb{\mu}_\theta(\mathbf{x}_t, t), \mathbf{\Sigma}_\theta(\mathbf{x}_t, t)) 符号解释:

  • pθ(x0:T)p_\theta(\mathbf{x}_{0:T}): 整个反向过程的联合概率分布,其中 θ\theta 是模型参数。
  • p(xT)=N(xT;0,I)p(\mathbf{x}_T) = \mathcal{N}(\mathbf{x}_T; \mathbf{0}, \mathbf{I}): 最终时间步 TT 的先验分布,是一个标准正态分布。
  • t=1T\prod_{t=1}^T: 表示从 t=1t=1t=Tt=T 的乘积。
  • pθ(xt1xt)p_\theta(\mathbf{x}_{t-1}|\mathbf{x}_t): 从时间步 ttt-1 的反向转移概率,表示给定 xt\mathbf{x}_t 预测 xt1\mathbf{x}_{t-1} 的分布。
  • N(;μθ(xt,t),Σθ(xt,t))\mathcal{N}(\cdot; \pmb{\mu}_\theta(\mathbf{x}_t, t), \mathbf{\Sigma}_\theta(\mathbf{x}_t, t)): 一个高斯分布,其均值 μθ(xt,t)\pmb{\mu}_\theta(\mathbf{x}_t, t) 和协方差 Σθ(xt,t)\mathbf{\Sigma}_\theta(\mathbf{x}_t, t) 由神经网络参数化(依赖于 xt\mathbf{x}_t 和时间步 tt)。

前向过程 (Forward Process) / 扩散过程 (Diffusion Process): 区分扩散模型与其他潜在变量模型的特点是,近似后验 q(x1:Tx0)q(\mathbf{x}_{1:T}|\mathbf{x}_0) 被固定为一个马尔可夫链,它根据方差计划 (variance schedule) β1,,βT\beta_1, \ldots, \beta_T 逐步向数据添加高斯噪声: q(x1:Tx0):=t=1Tq(xtxt1),q(xtxt1):=N(xt;1βtxt1,βtI) q(\mathbf{x}_{1:T}|\mathbf{x}_0) := \prod_{t=1}^T q(\mathbf{x}_t|\mathbf{x}_{t-1}), \qquad q(\mathbf{x}_t|\mathbf{x}_{t-1}) := \mathcal{N}(\mathbf{x}_t; \sqrt{1-\beta_t}\mathbf{x}_{t-1}, \beta_t\mathbf{I}) 符号解释:

  • q(x1:Tx0)q(\mathbf{x}_{1:T}|\mathbf{x}_0): 整个前向过程的联合概率分布,以初始数据 x0\mathbf{x}_0 为条件。

  • q(xtxt1)q(\mathbf{x}_t|\mathbf{x}_{t-1}): 从时间步 t-1tt 的前向转移概率,表示给定 xt1\mathbf{x}_{t-1} 预测 xt\mathbf{x}_t 的分布。

  • N(;1βtxt1,βtI)\mathcal{N}(\cdot; \sqrt{1-\beta_t}\mathbf{x}_{t-1}, \beta_t\mathbf{I}): 一个高斯分布,其均值为 1βtxt1\sqrt{1-\beta_t}\mathbf{x}_{t-1},方差为 βtI\beta_t\mathbf{I}

  • βt\beta_t: 在时间步 tt 添加的噪声的方差,是一个超参数,通常随时间步 tt 逐渐增大(从小噪声到大噪声)。

  • I\mathbf{I}: 单位矩阵,表示噪声是各向同性的。

    前向过程的一个显著特性是,它允许在任意时间步 tt 闭式采样 xt\mathbf{x}_t:使用符号 αt:=1βt\alpha_t := 1 - \beta_tαˉt:=s=1tαs\bar{\alpha}_t := \prod_{s=1}^t \alpha_s,我们有: q(xtx0)=N(xt;αˉtx0,(1αˉt)I) q(\mathbf{x}_t|\mathbf{x}_0) = \mathcal{N}(\mathbf{x}_t; \sqrt{\bar{\alpha}_t}\mathbf{x}_0, (1-\bar{\alpha}_t)\mathbf{I}) 符号解释:

  • αt:=1βt\alpha_t := 1 - \beta_t: 在时间步 tt 信号保留的比例。

  • αˉt:=s=1tαs\bar{\alpha}_t := \prod_{s=1}^t \alpha_s: 从 t=0t=0tt 信号累积保留的比例。

  • 这个公式表示,给定原始数据 x0\mathbf{x}_0,任何时间步 tt 的加噪数据 xt\mathbf{x}_t 都可以通过一个均值为 αˉtx0\sqrt{\bar{\alpha}_t}\mathbf{x}_0、方差为 (1αˉt)I(1-\bar{\alpha}_t)\mathbf{I} 的高斯分布直接采样得到。这使得训练可以高效地优化 LL 的随机项。

4.2.2. 变分下界 (Variational Bound)

训练是通过优化负对数似然的常用变分下界进行的: E[logpθ(x0)]Eq[logpθ(x0:T)q(x1:Tx0)]=Eq[logp(xT)t1logpθ(xt1xt)q(xtxt1)]=:L \mathbb{E}\left[ -\log p_\theta(\mathbf{x}_0) \right] \leq \mathbb{E}_q \left[ -\log \frac{p_\theta(\mathbf{x}_{0:T})}{q(\mathbf{x}_{1:T}|\mathbf{x}_0)} \right] = \mathbb{E}_q \left[ -\log p(\mathbf{x}_T) - \sum_{t \ge 1} \log \frac{p_\theta(\mathbf{x}_{t-1}|\mathbf{x}_t)}{q(\mathbf{x}_t|\mathbf{x}_{t-1})} \right] =: L 为了降低方差,可以将 LL 重新表示为: L=Eq[DKL(q(xTx0)p(xT))LT+t>1DKL(q(xt1xt,x0)pθ(xt1xt))Lt1logpθ(x0x1)L0] L = \mathbb{E}_q \left[ \underbrace{D_{\mathrm{KL}}(q(\mathbf{x}_T|\mathbf{x}_0) \parallel p(\mathbf{x}_T))}_{L_T} + \sum_{t>1} \underbrace{D_{\mathrm{KL}}(q(\mathbf{x}_{t-1}|\mathbf{x}_t, \mathbf{x}_0) \parallel p_\theta(\mathbf{x}_{t-1}|\mathbf{x}_t))}_{L_{t-1}} \underbrace{- \log p_\theta(\mathbf{x}_0|\mathbf{x}_1)}_{L_0} \right] 符号解释:

  • LL: 负对数似然的变分上界(我们希望最小化它)。
  • DKL()D_{\mathrm{KL}}(\cdot \parallel \cdot): Kullback-Leibler (KL) 散度。
  • LTL_T: 最后一层潜在变量 q(xTx0)q(\mathbf{x}_T|\mathbf{x}_0) 与先验分布 p(xT)p(\mathbf{x}_T) 之间的 KL 散度。
  • Lt1L_{t-1}: 每个中间时间步 t>1t>1 的后向近似 pθ(xt1xt)p_\theta(\mathbf{x}_{t-1}|\mathbf{x}_t) 与真实后验 q(xt1xt,x0)q(\mathbf{x}_{t-1}|\mathbf{x}_t, \mathbf{x}_0) 之间的 KL 散度。
  • L0L_0: 初始数据 x0\mathbf{x}_0 的重构损失,通常是负对数似然。

真实后验 q(xt1xt,x0)q(\mathbf{x}_{t-1}|\mathbf{x}_t, \mathbf{x}_0) 由于 q(xtxt1)q(\mathbf{x}_t|\mathbf{x}_{t-1})q(xtx0)q(\mathbf{x}_t|\mathbf{x}_0) 都是高斯分布,前向过程的后验概率 q(xt1xt,x0)q(\mathbf{x}_{t-1}|\mathbf{x}_t, \mathbf{x}_0) 也是一个高斯分布,并且可以闭式计算: q(xt1xt,x0)=N(xt1;μ~t(xt,x0),β~tI),whereμ~t(xt,x0):=αˉt1βt1αˉtx0+αt(1αˉt1)1αˉtxtandβ~t:=1αˉt11αˉtβt \begin{array}{r l} & q(\mathbf{x}_{t-1}|\mathbf{x}_t, \mathbf{x}_0) = \mathcal{N}(\mathbf{x}_{t-1}; \widetilde{\pmb{\mu}}_t(\mathbf{x}_t, \mathbf{x}_0), \widetilde{\beta}_t\mathbf{I}), \\ \mathrm{where} \quad & \widetilde{\pmb{\mu}}_t(\mathbf{x}_t, \mathbf{x}_0) := \displaystyle \frac{\sqrt{\bar{\alpha}_{t-1}}\beta_t}{1 - \bar{\alpha}_t} \mathbf{x}_0 + \frac{\sqrt{\alpha_t} \left( 1 - \bar{\alpha}_{t-1} \right)}{1 - \bar{\alpha}_t} \mathbf{x}_t \quad \mathrm{and} \quad \widetilde{\beta}_t := \frac{1 - \bar{\alpha}_{t-1}}{1 - \bar{\alpha}_t} \beta_t \end{array} 符号解释:

  • μ~t(xt,x0)\widetilde{\pmb{\mu}}_t(\mathbf{x}_t, \mathbf{x}_0): 给定 xt\mathbf{x}_tx0\mathbf{x}_0 时,xt1\mathbf{x}_{t-1} 的真实后验均值。

  • β~t\widetilde{\beta}_t: 给定 xt\mathbf{x}_tx0\mathbf{x}_0 时,xt1\mathbf{x}_{t-1} 的真实后验方差。

    这个闭式形式使得 KL 散度项(高斯分布之间的比较)可以直接计算,避免了高方差的蒙特卡罗估计。

4.2.3. 前向过程和 LTL_T

在本文的实现中,前向过程的方差 βt\beta_t 被固定为超参数,而不是可学习的。这意味着近似后验 qq 没有可学习参数,因此 LTL_T 项(KL 散度 DKL(q(xTx0)p(xT))D_{\mathrm{KL}}(q(\mathbf{x}_T|\mathbf{x}_0) \parallel p(\mathbf{x}_T)))在训练过程中是一个常数,可以被忽略。作者设置 T=1000T=1000,并使用线性递增的 βt\beta_t 计划,从 β1=104\beta_1 = 10^{-4}βT=0.02\beta_T = 0.02

4.2.4. 反向过程和 L1:T1L_{1:T-1}

反向过程的转移概率为 pθ(xt1xt)=N(xt1;μθ(xt,t),Σθ(xt,t))p_\theta(\mathbf{x}_{t-1}|\mathbf{x}_t) = \mathcal{N}(\mathbf{x}_{t-1}; \pmb{\mu}_\theta(\mathbf{x}_t, t), \mathbf{\Sigma}_\theta(\mathbf{x}_t, t))

协方差 Σθ(xt,t)\mathbf{\Sigma}_\theta(\mathbf{x}_t, t) 的选择: 作者将协方差设定为不含训练参数的时间相关常数 Σθ(xt,t)=σt2I\mathbf{\Sigma}_\theta(\mathbf{x}_t, t) = \sigma_t^2\mathbf{I}。实验中,他们尝试了两种选择:σt2=βt\sigma_t^2 = \beta_tσt2=β~t=1αˉt11αˉtβt\sigma_t^2 = \tilde{\beta}_t = \frac{1 - \bar{\alpha}_{t-1}}{1 - \bar{\alpha}_t} \beta_t。这两种选择分别对应了反向过程熵的上下界。

均值 μθ(xt,t)\pmb{\mu}_\theta(\mathbf{x}_t, t) 的参数化: 关键的创新在于均值的参数化。Lt1L_{t-1} 项的 KL 散度可以展开为: Lt1=Eq[12σt2μ~t(xt,x0)μθ(xt,t)2]+C L_{t-1} = \mathbb{E}_q \bigg[ \frac{1}{2\sigma_t^2} \| \widetilde{\pmb{\mu}}_t(\mathbf{x}_t, \mathbf{x}_0) - \pmb{\mu}_\theta(\mathbf{x}_t, t) \|^2 \bigg] + C 符号解释:

  • CC: 不依赖于 θ\theta 的常数项。 这个表达式表明,最直接的 μθ\pmb{\mu}_\theta 参数化是让模型预测 μ~t\widetilde{\pmb{\mu}}_t,即前向过程的后验均值。然而,通过对 Eq. (4) 进行重新参数化,我们有 xt=αˉtx0+1αˉtϵ\mathbf{x}_t = \sqrt{\bar{\alpha}_t}\mathbf{x}_0 + \sqrt{1-\bar{\alpha}_t}\epsilon,其中 ϵN(0,I)\epsilon \sim \mathcal{N}(\mathbf{0}, \mathbf{I})。利用这个关系和 Eq. (7) 的后验均值公式,可以推导出: μ~t(xt,x0)=1αt(xtβt1αˉtϵ) \widetilde{\pmb{\mu}}_t(\mathbf{x}_t, \mathbf{x}_0) = \frac{1}{\sqrt{\alpha_t}} \left( \mathbf{x}_t - \frac{\beta_t}{\sqrt{1-\bar{\alpha}_t}}\epsilon \right) 因此,如果 μθ(xt,t)\pmb{\mu}_\theta(\mathbf{x}_t, t) 能够预测 μ~t(xt,x0)\widetilde{\pmb{\mu}}_t(\mathbf{x}_t, \mathbf{x}_0),那么它也必须能够预测 1αt(xtβt1αˉtϵ)\frac{1}{\sqrt{\alpha_t}} \left( \mathbf{x}_t - \frac{\beta_t}{\sqrt{1-\bar{\alpha}_t}}\epsilon \right)。 由于 xt\mathbf{x}_t 作为模型的输入是可用的,作者提出一种特定的参数化,让神经网络 ϵθ(xt,t)\epsilon_\theta(\mathbf{x}_t, t) 来预测噪声 ϵ\epsilonμθ(xt,t)=1αt(xtβt1αˉtϵθ(xt,t)) \pmb{\mu}_\theta(\mathbf{x}_t, t) = \frac{1}{\sqrt{\alpha_t}} \left( \mathbf{x}_t - \frac{\beta_t}{\sqrt{1-\bar{\alpha}_t}} \epsilon_\theta(\mathbf{x}_t, t) \right) 符号解释:
  • ϵθ(xt,t)\epsilon_\theta(\mathbf{x}_t, t): 一个函数近似器(神经网络),旨在预测在给定 xt\mathbf{x}_t 和时间步 tt 的情况下,前向过程中添加的真实噪声 ϵ\epsilon。 采用这种 ϵ\epsilon-预测参数化后,Eq. (8) 中的 Lt1L_{t-1} 损失项简化为: Ex0,ϵ[βt22σt2αt(1αˉt)ϵϵθ(αˉtx0+1αˉtϵ,t)2] \mathbb{E}_{\mathbf{x}_0, \epsilon} \left[ \frac{\beta_t^2}{2\sigma_t^2\alpha_t(1-\bar{\alpha}_t)} \left\| \epsilon - \epsilon_\theta \left( \sqrt{\bar{\alpha}_t}\mathbf{x}_0 + \sqrt{1-\bar{\alpha}_t}\epsilon, t \right) \right\|^2 \right] 符号解释:
  • 这便是 ϵ\epsilon-预测参数化下的 Lt1L_{t-1} 损失项。它显示出模型实际上在学习预测添加到 x0\mathbf{x}_0 上的噪声 ϵ\epsilon。 这个简化形式类似于多噪声尺度去噪分数匹配 [55] 的损失函数。同时,采用这种 μθ\pmb{\mu}_\theta 参数化后,从 pθ(xt1xt)p_\theta(\mathbf{x}_{t-1}|\mathbf{x}_t) 采样的过程变为: xt1=1αt(xtβt1αˉtϵθ(xt,t))+σtz \mathbf{x}_{t-1} = \frac{1}{\sqrt{\alpha_t}} \left( \mathbf{x}_t - \frac{\beta_t}{\sqrt{1-\bar{\alpha}_t}} \epsilon_\theta(\mathbf{x}_t, t) \right) + \sigma_t \mathbf{z} 其中 zN(0,I)\mathbf{z} \sim \mathcal{N}(\mathbf{0}, \mathbf{I})。这个采样过程类似于 Langevin 动力学,其中 ϵθ\epsilon_\theta 扮演了数据密度梯度的学习角色。

4.2.5. 数据缩放、反向过程解码器和 L0L_0

  • 数据缩放: 图像数据被线性缩放到 [1,1][-1, 1] 范围。这确保了神经网络反向过程在一致缩放的输入上操作,从标准正态先验 p(xT)p(\mathbf{x}_T) 开始。
  • 离散解码器: 为了获得离散对数似然,反向过程的最后一项 pθ(x0x1)p_\theta(\mathbf{x}_0|\mathbf{x}_1) 被设置为一个独立的离散解码器,源自高斯分布 N(x0;μθ(x1,1),σ12I)\mathcal{N}(\mathbf{x}_0; \pmb{\mu}_\theta(\mathbf{x}_1, 1), \sigma_1^2\mathbf{I})pθ(x0x1)=i=1Dδ(x0i)δ+(x0i)N(x;μθi(x1,1),σ12)dx p_\theta(\mathbf{x}_0|\mathbf{x}_1) = \prod_{i=1}^D \int_{\delta_-(x_0^i)}^{\delta_+(x_0^i)} {\mathcal{N}}(x; \mu_\theta^i(\mathbf{x}_1, 1), \sigma_1^2) dx 其中 δ+(x)\delta_+(x)δ(x)\delta_-(x) 定义为: δ+(x)={if x=1x+1255if x<1δ(x)={if x=1x1255if x>1 \delta_+(x) = { \left\{ \begin{array}{l l} {\infty} & { {\mathrm{if ~}} x = 1} \\ {x + { \frac{1}{255} }} & { {\mathrm{if ~}} x < 1} \end{array} \right. } \qquad \delta_-(x) = { \left\{ \begin{array}{l l} {-\infty} & { {\mathrm{if ~}} x = -1} \\ {x - { \frac{1}{255} }} & { {\mathrm{if ~}} x > -1} \end{array} \right. } 符号解释:
  • DD: 数据维度。
  • ii: 坐标索引。
  • x0ix_0^i: x0\mathbf{x}_0 的第 ii 个坐标(像素值)。
  • μθi(x1,1)\mu_\theta^i(\mathbf{x}_1, 1): 神经网络预测的 x0\mathbf{x}_0ii 个坐标的均值。
  • σ12\sigma_1^2: 最终解码步的方差。
  • δ+(x)\delta_+(x)δ(x)\delta_-(x): 定义了离散像素值的积分区间边界。由于像素值是离散的(例如 0-255),为了计算离散数据的似然,将连续的高斯分布在每个离散值对应的区间上积分。

4.2.6. 简化训练目标 (Simplified Training Objective)

尽管上述变分下界是可微分的,但作者发现使用以下变体目标函数进行训练可以获得更好的样本质量: Lsimple(θ):=Et,x0,ϵ[ϵϵθ(αˉtx0+1αˉtϵ,t)2] L_{\mathrm{simple}}(\theta) := \mathbb{E}_{t, \mathbf{x}_0, \epsilon} \Big[ \big\| \epsilon - \epsilon_\theta \big( \sqrt{\bar{\alpha}_t}\mathbf{x}_0 + \sqrt{1-\bar{\alpha}_t}\epsilon, t \big) \big\| ^2 \Big] 符号解释:

  • Lsimple(θ)L_{\mathrm{simple}}(\theta): 简化的训练目标函数。
  • Et,x0,ϵ\mathbb{E}_{t, \mathbf{x}_0, \epsilon}: 期望值,对均匀采样的时间步 tt (1 到 TT)、数据 x0\mathbf{x}_0 和噪声 ϵ\epsilon 求平均。
  • ϵϵθ(,t)\epsilon - \epsilon_\theta(\ldots, t): 真实噪声 ϵ\epsilon 与神经网络预测的噪声 ϵθ\epsilon_\theta 之间的差异。
  • 2\|\cdot\|^2: L2 范数(均方误差)。 这个简化的目标函数忽略了原始变分下界中的某些权重,特别是在 Eq. (12) 中的权重。它类似于 NCSN 去噪分数匹配模型使用的无加权损失。这种加权方式强调了不同时间步的去噪任务,特别地,它降低了对应于小 tt 值(噪声量很小)的损失项的权重,使得网络能更专注于大 tt 值(噪声量大,去噪更困难)的任务,从而改善了样本质量。

4.2.7. 训练算法 (Algorithm 1: Training)

以下是论文中描述的训练算法: 算法 1: 训练 (Training)

  1. 重复 (repeat)

  2.  从数据分布中采样 x0q(x0)\mathbf{x}_0 \sim q(\mathbf{x}_0)
    
  3. {1,,T}\{1, \dots, T\} 中均匀采样时间步 tUniformt \sim \mathrm{Uniform}
    
  4.  从标准正态分布中采样噪声 ϵN(0,I)\epsilon \sim \mathcal{N}(\mathbf{0}, \mathbf{I})
    
  5.  根据简化的目标函数进行梯度下降步骤:
     θϵϵθ(αˉtx0+1αˉtϵ,t)2
            \nabla_\theta \left\| \epsilon - \epsilon_\theta \left( \sqrt{\bar{\alpha}_t}\mathbf{x}_0 + \sqrt{1-\bar{\alpha}_t}\epsilon, t \right) \right\|^2
            
    
  6. 直到收敛 (until converged)

    解释: 训练过程是一个迭代优化,在每一步中,它:

  • 随机选择一个真实数据样本 x0\mathbf{x}_0
  • 随机选择一个时间步 tt(从 1 到 TT)。
  • 生成一个随机噪声 ϵ\epsilon
  • 使用前向过程的闭式形式 q(xtx0)q(\mathbf{x}_t|\mathbf{x}_0) 来计算 xt=αˉtx0+1αˉtϵ\mathbf{x}_t = \sqrt{\bar{\alpha}_t}\mathbf{x}_0 + \sqrt{1-\bar{\alpha}_t}\epsilon
  • 训练神经网络 ϵθ\epsilon_\theta 来预测这个 ϵ\epsilon。损失函数是预测噪声和真实噪声之间的均方误差。

4.2.8. 采样算法 (Algorithm 2: Sampling)

以下是论文中描述的采样算法: 算法 2: 采样 (Sampling)

  1. 从标准正态分布中采样初始噪声 xTN(0,I)\mathbf{x}_T \sim \mathcal{N}(\mathbf{0}, \mathbf{I})

  2. 对于 (for) t=T,,1t = T, \dots, 1 do

  3.  如果 t>1t > 1,则从标准正态分布中采样 zN(0,I)\mathbf{z} \sim \mathcal{N}(\mathbf{0}, \mathbf{I}),否则 z=0\mathbf{z} = \mathbf{0}
    
  4.  计算 xt1\mathbf{x}_{t-1}xt1=1αt(xt1αt1αˉtϵθ(xt,t))+σtz
            \mathbf{x}_{t-1} = \frac{1}{\sqrt{\alpha_t}} \left( \mathbf{x}_t - \frac{1 - \alpha_t}{\sqrt{1 - \bar{\alpha}_t}} \mathbf{\epsilon}_\theta(\mathbf{x}_t, t) \right) + \sigma_t \mathbf{z}
            
    
  5. 结束循环 (end for)

  6. 返回 (return) x0\mathbf{x}_0

    解释: 采样过程从一个纯噪声向量 xT\mathbf{x}_T 开始,然后逐步地通过反向过程进行去噪,直到生成清晰的图像 x0\mathbf{x}_0

  • t=Tt=T 开始,迭代到 t=1t=1
  • 在每个时间步 tt,使用训练好的神经网络 ϵθ\epsilon_\theta 来预测当前加噪图像 xt\mathbf{x}_t 中的噪声。
  • 根据这个预测的噪声,以及前向过程的方差计划参数,计算出更少噪声的 xt1\mathbf{x}_{t-1}
  • 在除了最后一步 (t=1t=1) 之外的所有步骤中,都添加一个小的随机噪声 σtz\sigma_t \mathbf{z},以确保生成的多样性。在最后一步,通常不添加噪声,以得到确定性的最终图像。

4.2.9. 网络架构

  • 骨干网络 (Backbone): 使用类似于 PixelCNN++ [52] 的 U-Net 架构 [48],它基于 Wide ResNet [72]。
  • 归一化 (Normalization): 将权重归一化 (weight normalization) [49] 替换为组归一化 (group normalization) [66],以简化实现。
  • 特征图分辨率 (Feature Map Resolutions):
    • 32x32 模型:使用四个特征图分辨率(从 32x32 到 4x4)。
    • 256x256 模型:使用六个特征图分辨率。
  • 残差块 (Residual Blocks): 每个分辨率级别包含两个卷积残差块。
  • 自注意力 (Self-Attention): 在 16x16 特征图分辨率处,卷积块之间引入了自注意力模块 [63, 60]。
  • 时间条件 (Time Conditioning): 通过将 Transformer 正弦位置嵌入 (Transformer sinusoidal position embedding) [60] 添加到每个残差块中,将扩散时间步 tt 指定给网络。
  • 参数量:
    • CIFAR10 模型:3570 万参数。
    • LSUN 和 CelebA-HQ 模型:1.14 亿参数。
    • LSUN Bedroom 的大型变体:约 2.56 亿参数。

5. 实验设置

5.1. 数据集

实验使用了以下数据集来评估扩散模型的性能:

  • CIFAR10:

    • 来源: 由 TensorFlow Datasets 提供。

    • 特点: 包含 60000 张 32x32 像素的彩色图像,分为 10 个类别,每个类别有 6000 张图像。其中 50000 张用于训练,10000 张用于测试。类别包括飞机、汽车、鸟、猫、鹿、狗、青蛙、马、船和卡车。

    • 领域: 自然图像。

    • 用途: 常用作图像生成模型的基准测试数据集,因为它规模适中,且图像多样性足以挑战模型生成能力。

    • 样本示例:

      Figure 1: Generated samples on CelebA-HQ \(2 5 6 \\times 2 5 6\) (left) and unconditional CIFAR10 (right) 该图像是图像合成的结果,左侧展示了 CelebA-HQ 数据集中的人脸样本,右侧则显示了无条件 CIFAR10 数据集中的图像样本。这些样本展示了高质量的生成效果。 Figure 1 的右侧展示了无条件 CIFAR10 数据集中的生成样本。

      Figure 13: Unconditional CIFAR10 generated samples 该图像是一个展示从无条件CIFAR10生成的样本大图,包含多个图像块,展示了多种类别的图像,如动物和交通工具。这些生成样本展示了模型在图像合成方面的高质量表现。 Figure 13 进一步展示了无条件 CIFAR10 生成样本。

  • CelebA-HQ (CelebFaces Attributes Dataset High-Quality):

    • 来源: 由 TensorFlow Datasets 提供。

    • 特点: 包含 30000 张高分辨率 (1024x1024) 的人脸图像,其中 256x256 版本常用于生成任务。图像涵盖了广泛的面部属性和姿态。

    • 领域: 人脸图像。

    • 用途: 常用于生成高分辨率人脸图像,评估模型生成真实感人脸的能力以及对细粒度特征的控制。

    • 样本示例:

      Figure 1: Generated samples on CelebA-HQ \(2 5 6 \\times 2 5 6\) (left) and unconditional CIFAR10 (right) 该图像是图像合成的结果,左侧展示了 CelebA-HQ 数据集中的人脸样本,右侧则显示了无条件 CIFAR10 数据集中的图像样本。这些样本展示了高质量的生成效果。 Figure 1 的左侧展示了 CelebA-HQ 256×256256 \times 256 数据集中的生成样本。

      Figure 11: CelebA-HQ \(2 5 6 \\times 2 5 6\) generated samples 该图像是一个由 CelebA-HQ 数据集生成的 256 imes 256 的人脸样本集合,展示了多个人物的特征和细节。 Figure 11 进一步展示了 CelebA-HQ 256×256256 \times 256 生成样本。

  • LSUN (Large-scale Scene UNderstanding) [71]:

    • 来源: 使用 StyleGAN 提供的代码进行准备。

    • 特点: 大规模场景理解数据集,包含多个类别的场景图像,如卧室 (Bedroom)、教堂 (Church) 和猫 (Cat)。实验中使用了 256x256 像素的图像。

    • 领域: 室内和室外场景、动物图像。

    • 用途: 挑战模型生成复杂场景和特定物体(如猫)的能力,评估模型在不同图像结构和纹理上的表现。

    • 样本示例:

      Figure 3: LSUN Church samples. \(\\mathrm { F I D } { = } 7 . 8 9\) 该图像是多幅教堂建筑的样例,展示了不同风格的建筑设计和环境。图中的建筑各具特色,适合观察建筑美学和风格演变。 Figure 3 展示了 LSUN Church 数据集的生成样本。

      Figure 4: LSUN Bedroom samples. \(\\mathrm { F I D = 4 . 9 0 }\) 该图像是一个展示不同风格卧室的插图,包含多种床铺和室内布置样式,整体呈现了舒适宜人的居住环境。 Figure 4 展示了 LSUN Bedroom 数据集的生成样本。

      Figure 16: LSUN Church generated samples. \(\\mathrm { F I D } { = } 7 . 8 9\) 该图像是多张教堂建筑的生成样本拼贴,展示了不同风格的教堂。图中有多个建筑,突出其各异的设计和色彩,同时表现出良好的图像合成效果。 Figure 16 进一步展示了 LSUN Church 生成样本。

      Figure 17: LSUN Bedroom generated samples, large model. \(\\mathrm { F I D = 4 . 9 0 }\) 该图像是一个展示生成的LSUN卧室样本的图表,包含多个房间场景。图中展示了不同风格和布局的卧室,以评估图像合成质量。图表中标注了FID分数为4.90。 Figure 17 展示了大型模型生成的 LSUN Bedroom 样本。

      Figure 18: LSUN Bedroom generated samples, small model. \(\\mathrm { F I D { = } 6 . 3 6 }\) 该图像是LSUN卧室生成样本的小模型。图中展示了多个风格各异的卧室场景,表现出生成模型的样本质量,FID值为6.36。 Figure 18 展示了小型模型生成的 LSUN Bedroom 样本。

      Figure 19: LSUN Cat generated samples. FID \(\\mathord { = } 1 9 . 7 5\) 该图像是LSUN数据集中生成的猫咪样本,展示了不同品种和表情的猫咪,FID为19.75。 Figure 19 展示了 LSUN Cat 生成样本。

选择这些数据集是为了全面评估模型在不同分辨率、不同复杂度和不同内容(物体、人脸、场景)图像生成任务上的性能,涵盖了图像生成领域常用的基准。

5.2. 评估指标

对论文中出现的每一个评估指标,详细说明如下:

5.2.1. Inception Score (IS)

概念定义: Inception Score (IS) 是一种用于评估生成图像质量的指标,特别关注生成样本的清晰度(清晰可辨)和多样性(覆盖多种类别)。它利用预训练的 Inception V3 分类模型对生成的图像进行分类,然后计算两个部分:条件类别分布 p(yx)p(y|x) 的熵(衡量图像的清晰度)和边缘类别分布 p(y) 的熵(衡量图像的多样性),最后计算两者之间的 KL 散度。高 IS 值表示生成图像既清晰又多样。 数学公式: IS=eExpg[DKL(p(yx)p(y))] \mathrm{IS} = e^{\mathbb{E}_{\mathbf{x} \sim p_g} [D_{\mathrm{KL}}(p(y|\mathbf{x}) \parallel p(y))]} 符号解释:

  • pgp_g: 生成模型生成的图像分布。
  • Expg[]\mathbb{E}_{\mathbf{x} \sim p_g}[\cdot]: 对从生成模型 pgp_g 中采样的图像 x\mathbf{x} 求期望。
  • p(yx)p(y|\mathbf{x}): 预训练 Inception V3 模型对生成图像 x\mathbf{x} 的预测类别分布。高熵表示图像模糊,分类不确定;低熵表示图像清晰,分类置信度高。
  • p(y): 边缘类别分布,即所有生成图像的平均类别分布。它通过对 p(yx)p(y|\mathbf{x}) 进行平均 Expg[p(yx)]\mathbb{E}_{\mathbf{x} \sim p_g}[p(y|\mathbf{x})] 得到。
  • DKL()D_{\mathrm{KL}}(\cdot \parallel \cdot): Kullback-Leibler (KL) 散度。
  • e()e^{(\cdot)}: 自然指数函数。

5.2.2. Fréchet Inception Distance (FID)

概念定义: Fréchet Inception Distance (FID) 是另一种广泛用于评估生成图像质量的指标,它被认为比 IS 更好地反映了人类对图像质量的感知。FID 通过计算生成图像分布和真实图像分布在预训练 Inception V3 模型激活层特征空间中的 Fréchet 距离(也被称为 Wasserstein-2 距离)来衡量它们的相似性。FID 值越低,表示生成图像的质量越高,与真实图像的分布越接近。 数学公式: 假设真实数据分布和生成数据分布在 Inception 网络的某一中间层提取的特征是多元高斯分布,分别由均值和协方差 (μr,Σr)(\pmb{\mu}_r, \mathbf{\Sigma}_r)(μg,Σg)(\pmb{\mu}_g, \mathbf{\Sigma}_g) 描述。 FID=μrμg22+Tr(Σr+Σg2(ΣrΣg)1/2) \mathrm{FID} = ||\pmb{\mu}_r - \pmb{\mu}_g||^2_2 + \mathrm{Tr}(\mathbf{\Sigma}_r + \mathbf{\Sigma}_g - 2(\mathbf{\Sigma}_r\mathbf{\Sigma}_g)^{1/2}) 符号解释:

  • μr\pmb{\mu}_r: 真实图像在 Inception 特征空间中的均值向量。
  • μg\pmb{\mu}_g: 生成图像在 Inception 特征空间中的均值向量。
  • Σr\mathbf{\Sigma}_r: 真实图像在 Inception 特征空间中的协方差矩阵。
  • Σg\mathbf{\Sigma}_g: 生成图像在 Inception 特征空间中的协方差矩阵。
  • 22||\cdot||^2_2: L2 范数的平方。
  • Tr()\mathrm{Tr}(\cdot): 矩阵的迹 (trace)。
  • ()1/2(\cdot)^{1/2}: 矩阵的平方根。

5.2.3. 负对数似然 (Negative Log Likelihood, NLL) / bits/dim

概念定义: 负对数似然 (NLL) 是衡量一个概率模型拟合数据程度的直接指标。对于生成模型,它量化了模型对给定真实数据样本分配的概率。NLL 越低,表示模型对数据的拟合越好,即模型认为这些真实数据样本出现的可能性越大。bits/dim (bits per dimension) 是 NLL 的一个常见单位,它表示平均每个数据维度(例如每个像素的每个颜色通道)需要多少比特来编码数据,越低越好。 数学公式: 对于一个数据集 D={x1,,xN}D = \{\mathbf{x}_1, \ldots, \mathbf{x}_N\} 和一个参数为 θ\theta 的模型 pθ(x)p_\theta(\mathbf{x})NLL=1Ni=1Nlogpθ(xi) \mathrm{NLL} = -\frac{1}{N} \sum_{i=1}^N \log p_\theta(\mathbf{x}_i) 当单位是 bits/dim 时,如果数据维度是 DD,则: bits/dim=1NDi=1Nlog2pθ(xi) \mathrm{bits/dim} = -\frac{1}{N \cdot D} \sum_{i=1}^N \log_2 p_\theta(\mathbf{x}_i) 符号解释:

  • NN: 数据集中的样本数量。
  • DD: 每个数据样本的维度(例如,对于一张 32×3232 \times 32 像素的 RGB 图像,维度 D=32×32×3=3072D = 32 \times 32 \times 3 = 3072)。
  • pθ(xi)p_\theta(\mathbf{x}_i): 模型 pθp_\theta 对第 ii 个数据样本 xi\mathbf{x}_i 的概率密度(或概率质量)。
  • log\log: 自然对数(用于 NLL),log2\log_2: 以 2 为底的对数(用于 bits/dim)。

5.2.4. 均方根误差 (Root Mean Squared Error, RMSE)

概念定义: 均方根误差 (RMSE) 是一种衡量预测值与真实值之间差异的常用指标。它计算预测误差的平方的均值的平方根。RMSE 值越小,表示预测越准确。在图像处理中,它可以用于衡量生成图像与原始图像之间的像素级差异(失真)。 数学公式: 对于一个具有 DD 个像素点的图像,其中 x0\mathbf{x}_0 是真实图像,x^0\hat{\mathbf{x}}_0 是预测图像: RMSE=1Di=1D(x0,ix^0,i)2 \mathrm{RMSE} = \sqrt{\frac{1}{D} \sum_{i=1}^D (x_{0,i} - \hat{x}_{0,i})^2} 符号解释:

  • DD: 图像的像素总数(或维度)。
  • x0,ix_{0,i}: 真实图像 x0\mathbf{x}_0 的第 ii 个像素值。
  • x^0,i\hat{x}_{0,i}: 预测图像 x^0\hat{\mathbf{x}}_0 的第 ii 个像素值。

5.3. 对比基线

论文将自己的方法与以下类型的基线模型进行了比较:

  • 生成对抗网络 (GANs) 及其变体:

    • BigGAN [3]: 大规模 GAN 训练,以生成高保真自然图像而闻名。
    • StyleGAN2 + ADA [29]: StyleGAN 的改进版本,在有限数据情况下结合自适应判别器增强 (ADA) 实现了极高质量的生成。
    • SNGAN [39]: 使用谱范数归一化 (Spectral Normalization) 提高 GAN 训练稳定性。
    • SNGAN-DDLS [4]: SNGAN 的变体,可能引入了判别器驱动的潜在采样。
    • ProgressiveGAN [27]: 通过渐进式增长网络结构来训练 GAN,提高了生成质量和稳定性。
    • StyleGAN [28] 和 StyleGAN2 [30]: 在 StyleGAN 架构基础上进行改进,进一步提升了生成质量。
    • 这些基线为什么具有代表性: GANs 是当时高质量图像生成领域的主流,它们代表了图像生成能力的“黄金标准”。与这些模型的比较直接证明了扩散模型在样本质量上的竞争力。
  • 自回归模型 (Autoregressive Models):

    • Gated PixelCNN [59]: 基于 PixelCNN 的自回归模型,用于条件图像生成。
    • Sparse Transformer [7]: 适用于生成长序列(包括图像)的自回归模型。
    • PixelIQN [43]: 用于生成建模的自回归分位数网络。
    • 这些基线为什么具有代表性: 自回归模型在对数似然方面通常表现优异,与它们的比较可以展示扩散模型在似然和样本质量之间的权衡。
  • 基于能量的模型 (Energy-Based Models, EBMs) 和分数匹配模型 (Score Matching Models):

    • EBM [11]: 使用能量函数建模数据分布的隐式生成模型。
    • JEM [17]: 将分类器视为 EBM 的方法。
    • NCSN [55]: 通过估计数据分布的梯度(分数函数)并使用 Langevin 动力学进行采样的生成模型。
    • NCSNv2 [56]: NCSN 的改进版本。
    • 这些基线为什么具有代表性: 这些模型与本文的扩散模型在理论上(通过分数匹配和 Langevin 动力学)存在紧密联系,因此是直接且重要的比较对象。
  • 原始扩散模型 (Diffusion (original) [53]): Sohl-Dickstein 等人在 2015 年提出的原始扩散模型。

    • 代表性: 这是本文工作的直接前身,与它的比较直接展示了本文在提升扩散模型性能上的贡献。

      这些基线涵盖了当时主流的生成模型范式,通过与它们的比较,论文能够全面地评估其扩散模型在样本质量、对数似然以及与其他生成机制的理论联系方面的表现。

6. 实验结果与分析

6.1. 核心结果分析

本文通过在多个图像数据集上的实验,有力地验证了其去噪扩散概率模型在高质量图像生成方面的有效性,并揭示了其训练目标和参数选择的关键影响。

1. CIFAR10 数据集上的最先进样本质量: 本文提出的无条件扩散模型在 CIFAR10 数据集上取得了令人印象深刻的样本质量。

  • Inception Score (IS): 9.46 ± 0.11
  • Fréchet Inception Distance (FID): 3.17 这个 FID 分数在当时是最先进的 (state-of-the-art),甚至超越了许多条件生成模型和主流的 GAN 模型,如 StyleGAN2 + ADA (3.26)。这直接反驳了扩散模型无法生成高质量样本的普遍看法,并将其确立为图像生成领域的强大竞争者。

2. LSUN 数据集上的高质量生成: 在 256x256 的 LSUN 数据集上,模型生成了与 ProgressiveGAN 类似质量的样本。

  • LSUN Bedroom (大型模型):FID = 4.90
  • LSUN Church:FID = 7.89 虽然在 FID 上仍略高于 StyleGAN 家族,但考虑到扩散模型的训练稳定性和理论基础,其样本质量已非常有竞争力。

3. 简化训练目标 L_simple 的有效性: 实验结果明确指出,尽管传统的变分下界 LL 在负对数似然 (NLL) 上表现更好(例如,LL 训练的模型 NLL 为 ≤ 3.70 bits/dim,而 L_simple 训练的模型 NLL 为 ≤ 3.75 bits/dim),但简化的目标函数 L_simple 却能带来最佳的样本质量(FID 为 3.17)。这表明:

  • 对数似然与样本质量的权衡: 严格优化对数似然并不总是能直接转化为最佳的感知质量(FID)。L_simple 损失通过加权(下调了小 tt 值,即噪声少时的去噪任务的权重),使得模型更专注于处理更高噪声水平下的去噪任务,这被证明对生成高质量样本更为关键。
  • 归纳偏置 (Inductive Bias): 扩散模型似乎具有优秀的有损压缩 (lossy compressor) 归纳偏置。即使对数似然不够“完美”,但它能有效地捕捉图像的关键视觉特征,而将大部分比特用于描述人眼不可察觉的微小失真。

4. 反向过程参数化和方差选择的消融研究: 消融实验(如 Table 2 所示)验证了论文提出的 ϵ\epsilon-预测参数化和固定各向同性方差的优越性:

  • 均值预测参数化: 预测 ϵ\epsilon 的参数化,结合 L_simple 目标,表现最佳(FID = 3.17)。预测 μ~\tilde{\pmb{\mu}} 的参数化在 L_simple 下表现很差,但在原始 LL 目标下效果尚可,但仍不如 ϵ\epsilon-预测。
  • 方差选择: 固定各向同性方差 (fixedisotropicΣfixed isotropic Σ) 比学习对角方差 (learneddiagonalΣlearned diagonal Σ) 表现更好,后者在训练中不稳定且样本质量更差。这简化了模型,避免了学习复杂方差带来的挑战。

5. 渐进式生成和有损压缩:

  • 渐进式生成 (Progressive Generation): 论文展示了扩散模型能够进行从模糊到清晰的渐进式图像生成(Figure 6)。在采样过程中,图像的宏观特征(如形状、布局)首先出现,细节则在后期逐步填充。这类似于自回归模型中的逐像素生成,但以一种更全局的方式进行。
  • 渐进式有损压缩 (Progressive Lossy Compression): 扩散模型的采样过程可以被解释为一种渐进式有损解压缩方案。率失真曲线(Figure 5)显示,在低比特率区域,失真急剧下降,说明模型能用很少的信息编码图像的主要视觉内容,而大部分比特则用于编码人眼难以察觉的细节。这表明扩散模型是优秀的有损压缩器。

6. 潜在空间的属性编码: 实验表明,扩散模型中间时间步的潜在变量 xt\mathbf{x}_t 能够编码图像的高级属性。例如,在 CelebA-HQ 上,当在同一个 xt\mathbf{x}_t (如 x750\mathbf{x}_{750}) 条件下生成多张图像时,它们会共享性别、发色、眼镜、姿态和面部表情等高层次属性,而低层次细节则有所不同(Figure 7)。这表明扩散模型能够学习到有意义的、可解释的潜在表示。

7. 图像插值: 扩散模型能够生成高质量的图像插值(Figure 8),通过在潜在空间中对加噪的图像进行线性插值,然后使用反向过程解码,可以平滑地过渡图像属性,如姿态、肤色、发型和表情。增加扩散步长 (tt) 会破坏更多的原始图像结构,从而允许在更粗的粒度上进行插值,甚至生成全新的样本(Figure 9)。

6.1.1. CIFAR10 样本示例

Figure 1: Generated samples on CelebA-HQ \(2 5 6 \\times 2 5 6\) (left) and unconditional CIFAR10 (right) 该图像是图像合成的结果,左侧展示了 CelebA-HQ 数据集中的人脸样本,右侧则显示了无条件 CIFAR10 数据集中的图像样本。这些样本展示了高质量的生成效果。 Figure 1: 生成样本,左侧为 CelebA-HQ 256×256256 \times 256,右侧为无条件 CIFAR10。

Figure 6: Unconditional CIFAR10 progressive generation \(\\hat { \\mathbf { x } } _ { 0 }\) over time, from left to right). Extended samples and sample quality metrics over time in the appendix (Figs. 10 and 14). 该图像是图表,展示了无条件CIFAR10数据集的渐进生成过程 ilde{ extbf{x}}_0,从左到右依次展示图像生成的不同阶段。每一行代表不同的生成步长,整体展示了样本质量随时间的演变。 Figure 6: 无条件 CIFAR10 渐进式生成 x^0\hat{\mathbf{x}}_0 随时间变化(从左到右)。

Figure 10: Unconditional CIFAR10 progressive sampling quality over time 该图像是图表,展示了反向过程步骤 (Tt)(T - t) 与无条件CIFAR10生成图像的Inception分数和FID分数之间的关系。左侧图表显示Inception分数随反向过程步骤的增加而增长,右侧图表则显示FID分数随着反向过程步骤增加而逐渐降低。 Figure 10: 无条件 CIFAR10 渐进式采样质量随时间变化。

6.2. 数据呈现 (表格)

以下是原文 Table 1 的结果:

ModelISFIDNLL Test (Train)
Conditional
EBM [11]8.3037.9
JEM [17]8.7638.4
BigGAN [3]9.2214.73
StyleGAN2 + ADA (v1) [29]10.062.67
Unconditional
Diffusion (original) [53]≤ 5.40
Gated PixelCNN [59]4.6065.933.03 (2.90)
Sparse Transformer [7]2.80
PixelIQN [43]5.2949.46
EBM [11]6.7838.2
NCSNv2 [56]31.75
NCSN [55]8.87±0.1225.32
SNGAN [39]8.22±0.0521.7
SNGAN-DDLS [4]9.09±0.1015.42
StyleGAN2 + ADA (v1) [29]9.74 ± 0.053.26
Ours (L, fixed isotropic ∑)7.67±0.1313.51≤ 3.70 (3.69)
Ours (Lsimple)9.46±0.113.17≤ 3.75 (3.72)

以下是原文 Table 2 的结果:

ObjectiveISFID
μ~\tilde{\mu} prediction (baseline)
L, learned diagonal Σ\Sigma7.28±0.1023.69
L, fixed isotropic Σ\Sigma8.06±0.0913.22
μ~μθ2\|\tilde{\mu} - \mu_\theta\|^2
ϵ\epsilon prediction (ours)
L, learned diagonal Σ\Sigma
L, fixed isotropic Σ\Sigma7.67±0.1313.51
ϵϵθ2\|\epsilon - \epsilon_\theta\|^2 (Lsimple)9.46±0.113.17

以下是原文 Table 3 的结果:

ModelLSUN BedroomLSUN ChurchLSUN Cat
ProgressiveGAN [27]8.346.4237.52
StyleGAN [28]2.654.21*8.53*
StyleGAN2 [30]-3.866.93
Ours (Lsimple)6.367.8919.75
Ours (Lsimple, large)4.90--

以下是原文 Table 4 的结果:

Reverse process time (T − t + 1)Rate (bits/dim)Distortion (RMSE [0, 255])
10001.775810.95136
9000.1199412.02277
8000.0541518.47482
7000.0286624.43656
6000.0150730.80948
5000.0071638.03236
4000.0028246.12765
3000.0008154.18826
2000.0001360.97170
1000.0000067.60125

6.3. 消融实验/参数分析

本文进行了一系列消融实验来理解不同设计选择对模型性能的影响,主要集中在反向过程的参数化和训练目标上(Table 2)。

1. 反向过程均值参数化的影响:

  • 预测 μ~\tilde{\pmb{\mu}} (baseline): 这种参数化直接让模型预测前向过程的后验均值。当使用完整的变分下界 LL 并固定各向同性方差时,它取得了 8.06 的 IS 和 13.22 的 FID。这表明它是一种可行的参数化。然而,当与无加权的均方误差目标(类似于 L_simple)结合时,它无法稳定训练或产生有意义的结果。
  • 预测 ϵ\epsilon (ours): 这是本文提出的参数化,模型训练一个神经网络 ϵθ\epsilon_\theta 来预测添加到数据上的噪声 ϵ\epsilon
    • 当与完整的变分下界 LL 和固定各向同性方差结合时,它取得了 7.67 的 IS 和 13.51 的 FID,性能与预测 μ~\tilde{\pmb{\mu}} 相似甚至略逊。

    • 然而,当与简化的 L_simple 目标结合时,它取得了 9.46 的 IS 和 3.17 的 FID,这是所有设置中最好的结果。

      分析: 这一结果是本文的关键发现之一。它表明,虽然预测 μ~\tilde{\pmb{\mu}} 在理论上更直接地优化了变分下界,但预测 ϵ\epsilon 并结合 L_simple 目标在实践中更能产生高质量的样本。这可能是因为 L_simple 目标(均方误差)与预测噪声 ϵ\epsilon 更为匹配,或者其权重策略(强调高噪声水平的去噪)更适合高质量生成。

2. 反向过程方差参数化的影响:

  • 学习对角协方差 (learneddiagonalΣlearned diagonal Σ): 当尝试让模型学习反向过程的对角协方差矩阵时(无论是预测 μ~\tilde{\pmb{\mu}} 还是预测 ϵ\epsilon),训练变得不稳定,并且产生了较差的样本质量。例如,在预测 μ~\tilde{\pmb{\mu}} 结合 LL 目标下,FID 达到 23.69。

  • 固定各向同性协方差 (fixedisotropicΣfixed isotropic Σ): 固定方差(即 Σθ(xt,t)=σt2I\mathbf{\Sigma}_\theta(\mathbf{x}_t, t) = \sigma_t^2\mathbf{I},其中 σt2\sigma_t^2 是固定的常数 βt\beta_tβ~t\tilde{\beta}_t)带来了更稳定的训练和更好的样本质量。在预测 ϵ\epsilon 结合 L_simple 目标下,FID 达到 3.17。

    分析: 这一结果表明,学习复杂的反向过程方差可能导致训练困难或引入不必要的复杂度。简单地固定方差(特别是各向同性的)可能提供更稳定的优化路径,并足以生成高质量样本。这简化了模型设计,并暗示了对协方差的精确建模可能不如对均值的精确建模对样本质量的影响大。

3. 训练目标的影响:

  • 完整的变分下界 LL 理论上能提供更紧的似然下界,在 NLL 方面表现更好。但在样本质量方面,即使结合了有效的 ϵ\epsilon-预测参数化,其 FID 仍为 13.51。

  • 简化的 L_simple 目标: 忽略了原始变分下界中的某些权重项。虽然其 NLL 略高(≤ 3.75 bits/dim),但它在样本质量上实现了突破性的 FID (3.17)。

    分析: 这是本文最重要的发现之一。它挑战了传统观念,即最大化对数似然总是能带来最佳的生成样本质量。L_simple 目标通过调整不同时间步的损失权重,有效地将模型的学习重点从低噪声细节转移到高噪声去噪任务,这在经验上被证明对生成高质量的视觉样本更为有效。这表明对生成模型而言,感知质量和似然之间可能存在一个权衡,而 L_simple 成功地找到了一个优化感知质量的有效路径。

关键超参数和设计选择:

  • 时间步 TT 设置为 1000,与之前的工作保持一致。

  • βt\beta_t 计划: 线性递增,从 10410^{-4}0.02。作者发现这个计划在保持信号噪声比的同时,确保了 LTL_T 项近似为零。

  • U-Net 架构: 带有 Transformer 正弦位置嵌入和自注意力模块,被证明对处理时间依赖性和捕捉图像细节至关重要。

  • ** dropout rate 和水平翻转:** 在 CIFAR10 上使用 0.1 的 dropout 和随机水平翻转,以避免过拟合并提高样本质量。

    这些消融实验和参数分析有效地解释了为什么本文提出的去噪扩散概率模型能够实现 SOTA 的样本质量,并为理解扩散模型的设计原理提供了宝贵的见解。

7. 总结与思考

7.1. 结论总结

本文《Denoising Diffusion Probabilistic Models》在扩散概率模型领域取得了开创性进展,首次证明了这类模型能够生成与当时最先进的生成对抗网络 (GANs) 媲美甚至超越的高质量图像样本。核心贡献在于:

  1. 实现 SOTA 样本质量: 在无条件 CIFAR10 数据集上,模型取得了 9.46 的 Inception Score 和 3.17 的 FID 分数,创下了当时的新纪录,并在 256x256 LSUN 数据集上达到了与 ProgressiveGAN 相似的视觉质量。

  2. 建立理论连接: 通过对反向过程均值函数进行 ϵ\epsilon-预测参数化,揭示了扩散模型与多噪声水平去噪分数匹配以及退火 Langevin 动力学之间的深刻数学等价性。

  3. 提出优化训练目标: 引入了简化的加权变分下界 L_simple,该目标通过强调高噪声水平下的去噪任务,显著提升了生成样本的感知质量,尽管其对数似然略低于传统的变分下界。

  4. 提供多维解读: 将扩散模型的采样过程解释为一种渐进式有损解压缩方案,并将其泛化为自回归解码的一种新形式,展示了模型从粗到细生成图像的能力以及在中间潜在变量中编码高级语义属性的特性。

    这项工作不仅为扩散模型在生成任务中的应用打开了大门,也加深了我们对不同生成模型范式之间内在联系的理解。

7.2. 局限性与未来工作

论文作者指出的局限性:

  1. 对数似然不具竞争力: 尽管模型在样本质量上表现出色,但其无损编码长度(负对数似然)与某些其他似然模型(如自回归模型)相比并不具有竞争力。作者指出,这是因为模型的大部分无损编码长度用于描述人眼不可察觉的图像细节,而非宏观视觉质量。
  2. 渐进式压缩的实践性: 论文中提出的渐进式有损压缩方案(算法 3 和 4)依赖于如最小随机编码 (minimal random coding) 等程序,这对于高维数据来说目前尚不实用。它更多是作为变分下界的一种解释,而非一个实际的压缩系统。
  3. 解码器的简单性: 最后一层反向过程的离散解码器相对简单,作者提到可以考虑使用更强大的解码器(如条件自回归模型)作为未来工作。

作者提出的未来研究方向:

  1. 其他数据模态: 鉴于扩散模型在图像数据上的出色表现,未来可以探索它们在其他数据模态(如音频、文本、视频等)上的应用。
  2. 作为其他生成模型的组件: 将扩散模型作为组件集成到其他类型的生成模型或更广泛的机器学习系统中。
  3. 子尺度排序或采样策略: 结合渐进式解码的发现,探索自回归模型中更通用的子尺度排序或采样策略。

7.3. 个人启发与批判

个人启发:

  1. 似然与感知质量的脱钩: 本文最核心的启发在于,严格优化变分下界(最大化对数似然)不一定能带来最佳的感知质量。L_simple 损失的成功表明,在生成任务中,通过经验性地调整损失函数来聚焦于对人类感知更重要的特征(例如,高噪声下的去噪),可以取得更好的视觉效果。这促使我们重新思考生成模型的评估指标和优化目标,可能需要更直接地关注样本的感知质量。
  2. 扩散模型的潜力: 本文彻底改变了对扩散模型的认知。在此之前,扩散模型更多是理论概念或性能平平的模型。本文的工作将其推向了 SOTA,并开启了后续一系列扩散模型的研究热潮,奠定了其在生成式 AI 领域的重要地位。
  3. 理论与实践的结合: 论文巧妙地将扩散模型与去噪分数匹配、Langevin 动力学等现有理论建立了联系,这不仅为模型提供了坚实的理论基础,也指导了关键的实践设计(如 ϵ\epsilon-预测参数化)。这种理论与实践的紧密结合是高质量研究的典范。
  4. 渐进式生成与可控性: 扩散模型的渐进式生成过程提供了天然的可控性,允许从粗到细地操纵生成过程,并在不同时间步的潜在空间中编码不同层次的语义信息。这为图像编辑、风格迁移等任务提供了新的思路。

批判与可以改进的地方:

  1. 计算成本: 扩散模型的采样过程是迭代的,通常需要数百甚至上千步才能生成一个高质量样本。虽然本文使用的 T=1000T=1000 步与某些 MCMC 方法相似,但与 GANs 的一步生成相比,采样速度仍然是其主要瓶颈。未来的工作需要进一步研究加速采样的方法。

  2. 对数似然的“低”: 尽管作者解释了NLL不具竞争力的原因(用于描述不可察觉细节),但在某些需要精确概率建模的应用(如数据压缩、异常检测)中,较低的NLL仍然是一个重要的指标。如何同时优化感知质量和对数似然是一个挑战。

  3. 超参数敏感性: 扩散模型的性能可能对噪声计划 (βt\beta_t)、时间步 TT 以及学习率等超参数比较敏感。虽然作者进行了详尽的实验,但这些选择背后的理论指导仍可进一步加强。

  4. 泛化性: 虽然在图像生成上表现出色,但扩散模型在其他模态上的表现如何,以及如何适应非连续数据(如文本)或结构化数据,仍是需要深入探索的问题。

  5. 模型复杂度: 尽管训练过程相对稳定,但用于预测噪声的 U-Net 模型通常参数量较大(例如 LSUN 模型有 1.14 亿参数),对计算资源的需求较高。

    总而言之,本文是扩散模型发展史上的一座里程碑,它以严谨的实验和深刻的理论洞察力,将扩散模型从边缘推向了生成式 AI 的前沿,为后续研究奠定了坚实的基础。

相似论文推荐

基于向量语义检索推荐的相关论文。

暂时没有找到相似论文。