“雕像本来就在石头里,我只是把不要的部分去掉” — 米开朗基罗
扩散模型(Diffusion Models)的设计灵感源于非平衡热力学。其核心是定义一个前向的 马尔可夫链(Markov chain),逐步向数据中添加随机噪声,直至数据完全变为噪声;然后,模型学习逆转这一扩散过程,从纯粹的噪声中重建出目标数据样本。

在生成任务中,我们的目标是学习一个由训练数据所隐含的真实概率分布 ,其可以所有自然图像的分布,并从中采样生成新的数据。然而,这个分布通常未知且形式极其复杂,我们无法用一个明确的数学公式来描述它(即难以显式建模)。因此,如何从这个隐式定义的分布中有效地抽取新样本,便构成了生成模型的核心挑战。

扩散模型通过逐步去除高斯噪声来解决这一问题。其核心思路是:首先向图像中逐层注入极少量高斯噪声,逐步破坏其结构,直至多步之后图像退化为纯噪声;随后训练一个神经网络,使其学会逆向执行这一过程——从纯噪声出发,按相反的顺序一点点地去除噪声,逐步恢复并细化出清晰的图像。若模型训练得当,它便能够从随机噪声中逐步生成具有语义的高质量图像。
前向扩散过程
给定一个从真实数据分布中采样的数据点 ,我们定义一个前向扩散过程 (forward diffusion process),在 步中向样本添加少量高斯噪声 ,从而产生一系列加噪样本 。 每一步的噪声强度由一个标量值 控制。

在 逐步加噪过程 的简化设定中,我们采用如下递推形式:
由此可推导出 一步到位加噪的闭式表达:
该过程等价于从以原始图像 为中心、方差为 的高斯分布中采样。随着时间步数 的增加,方差线性增长会导致方差爆炸现象,因此被称为 方差爆炸扩散:
然而,我们需要最终能够收敛到 标准高斯分布 的扩散过程。这种 线性叠加噪声 的方式虽然直观,但并不是标准扩散模型中的马尔可夫加噪过程。
在 DDPM 的标准框架下,只需精心设计噪声调度系数,便能让前向过程兼具 方差保持(VP) 或 方差爆炸(VE) 的特性,均值随时间步增大逐渐衰减至 0,方差同步收敛到 1,从而保证
得益于重参数化技巧,我们无需逐步迭代,就能在任意时刻 以闭式一次性采样 。具体做法是为每一步引入可变噪声强度 ,令 ,并记累积乘积 ,可得:
其中每一步的噪声项 独立同分布,最终可合并为单个高斯噪声 。相邻两步的标准差满足合并关系 ,因此前向过程的条件分布可简洁地写成:
或等价地,
随着扩散步数 的推进,累积乘积 呈指数级衰减,的分布最终收敛于标准高斯 。 直观上,图像噪声逐层叠加,信噪比持续下降;因此调度策略通常令噪声强度单调递增,即 ,从而 。
根据马尔可夫假设,完整的前向过程可以分解为一系列条件独立的转移步骤:
由于马尔可夫性质,每步转移仅依赖于前一状态:
因此可简写为:
其中每一步的转移概率都是高斯分布:
而且,前向过程有一个很好的性质,可以通过 得到任意时刻 的分布,而无需烦琐的链式计算:
DDPM 逆向去噪过程
若能逆转扩散过程,即从条件分布 中采样,便可将纯高斯噪声 还原为真实样本。

然而,当 足够小时,虽然 仍近似服从高斯分布,但其均值与方差依赖于整个数据分布 ,在实际应用中无法直接计算。为此,我们引入可学习的参数化模型 来近似这些逆条件概率,从而驱动反向扩散并生成新数据。
相应地,我们使用参数化模型来表示完整的逆向生成过程:
其中 是标准高斯先验分布,逆向转移概率被建模为:
关键区别:逆向过程无需任何条件信息,可直接从标准高斯噪声开始生成;而前向过程则需要真实图像 作为起始条件。
虽然,我们无法直接计算无条件的逆向分布 ,但当以原始图像 为条件时,逆向条件概率具有解析解:
通过贝叶斯定理,我们可以将其转换为已知的前向过程分布:
其中 是与 无关的常数项。从最终结果看,同样服从高斯分布,根据标准形式 ,可得:
求解上述方程组,得到条件逆向分布的最终参数解:
综合以上结果,条件逆向分布的完整形式为:
其中,方差是固定且已知的,因此,我们只需重点关注对均值的预测即可。而且,均值是 和 的线性组合。
重参数化:从分布匹配到噪声预测
为了简化训练过程,我们可以利用前向过程的重参数化技巧,根据前向过程的一步加噪公式 ,我们可以反向求解得到原始图像的表达式 ,并将上述 的表达式代入条件逆向分布的均值 中:
这个结果表明,逆向过程可以重写为:
关键转换:逆向过程的均值完全由当前状态 和添加的噪声 决定。这意味着,对齐均值的问题可以转化为一个更直观的噪声预测任务。
我们用神经网络 来预测真实噪声 :
其中,表示神经网络预测的噪声,表示从标准正态分布采样的随机噪声,表示的是预测噪声和真实噪声的误差。
训练与采样
训练目标
扩散模型采用最大似然估计来训练,即寻找参数 使生成真实样本 的概率最大化。这等价于最小化负对数似然:
变分下界推导
由于直接优化上述目标函数困难,我们利用变分推断方法,通过引入前向过程 作为变分分布来获得证据下界(Evidence Lower Bound, ELBO)。
基于 KL 散度非负性的推导:
则变分下界(Variational Lower Bound, VLB)为:
Jensen 不等式的等价推导
使用 Jensen 不等式也可以得到相同结果,假设我们希望将交叉熵作为学习目标来最小化:
KL 散度分解:可计算的损失函数
为了将变分下界转换为可解析计算的形式,我们需要将其分解为多个 KL 散度项:
损失项的实际含义:
- :常数项,可忽略(因为 是纯噪声,无可学习参数)
- :核心损失,比较真实后验分布与模型预测分布
- :重建损失,数值很小,通常可忽略
简化训练损失
由于 和 可以忽略,我们主要关注 项即可。经之前证明,由于两个比较的分布都是高斯分布,KL 散度可以简化为均值差的平方:
将重参数化后得到的真实后验分布 与模型预测分布 的均值表达式代入,经推导可得:
通过进一步的数学分析和实验验证,作者发现使用忽略权重项的简化目标函数来训练扩散模型效果更好:
在实际实现中,虽然理论上需要对每个样本的所有时间步 计算噪声损失并求和,但这样的计算成本过于昂贵。因此,我们采用随机采样策略:对每个训练样本随机选择一个时间步来计算损失。根据大数定律,当训练样本数量足够大时,这种随机采样的期望值将收敛于完整的目标函数,既保证了训练效果,又大幅降低了计算复杂度。
DDPM 原文提供的训练和采样过程如下所示:

DDIM:非马尔可夫逆向过程
DDPM 的生成速度较慢,主要原因在于其依赖一阶马尔可夫假设,这导致重建过程需要较多的采样步数。实际上,DDPM 的训练过程主要依赖边际分布 ,可以直接从任意时间步 的边际分布中采样,而不需要显式地按马尔可夫链逐步采样。
然而,在逆向推理过程中,DDPM 引入 作为条件,所采用的真实后验分布 严格遵循马尔可夫性质,即每一步的去噪仅依赖于前一时间步的状态。这种马尔可夫约束虽然理论上严谨,但限制了采样的灵活性,必须逐步进行 次迭代才能完成生成。
DDIM 的核心思路在于:既然训练时只需要保持边际分布 不变,那么推理时也可以设计 非马尔可夫 的逆向过程。因此,DDIM 能够直接复用 DDPM 已训练好的噪声预测模型,无需重新训练。
待更新
参考文献 - References