扩散模型原理与实战:AI如何从噪声中"画"出图像

扩散模型是近年来生成式AI领域最具影响力的技术突破之一。从2020年DDPM论文首次证明扩散模型能生成高质量图像,到Stable Diffusion将其实用化,再到如今各种音视频、3D内容生成应用的爆发,扩散模型已经深刻改变了人工智能创作的方式。本专题将带读者从生成式AI的背景出发,系统建立对扩散模型核心原理的完整理解——从逐步加噪的前向扩散,到逐步去噪的反向生成,再到训练目标的数学推导、采样算法的设计取舍,最后以PyTorch实战收尾。 DDPM SDE ODE DDPM DDIM DDPM DDPM

为什么生成式AI需要建模数据分布?

理解扩散模型的价值,首先要理解生成式AI与判别式AI的本质区别。给定数据 ${X, Y}$($X$ 是数据点,$Y$ 是标签),两类模型学习的是完全不同的条件分布:判别式AI学习 $P(Y|X)$,即给定数据预测标签;生成式AI学习 $P(X|Y)$,即在给定标签下生成新数据。换句话说,判别模型回答"这是什么",而生成模型回答"这个标签下的数据是什么样子的"。

判别模型接收图像输入,输出类别标签

图注:判别模型将图像映射为类别标签,学习的是条件概率分布 $P(Y|X)$。Denoising Diffusion Probabilistic Models

生成模型接收噪声输入,输出图像

图注:生成模型从噪声出发重建图像,学习的是数据分布 $P(X)$,本质是学习数据的内在结构。Denoising Diffusion Probabilistic Models

判别模型只能分析已有数据,而生成模型能够创造全新的数据样本。这一能力带来的价值是深远的:规模化创作可以一次性生成大量多样化内容;个性化定制能根据不同用户偏好生成定制素材;科学发现领域可以探索分子、材料的生成空间,加速药物和材料设计;无障碍化则让更多人能够参与创作,降低了跨模态内容创作的门槛。

生成式AI有三大主流技术路线。VAE(变分自编码器)通过编码器-解码器结构在隐空间中学习数据分布,训练稳定且隐空间可解释,但生成的图像往往偏模糊。GAN(生成对抗网络)通过对抗训练生成锐利、真实的图像,但训练过程不稳定,容易出现模式坍缩(mode collapse)问题。扩散模型则通过逐步加噪和去噪的过程学习数据分布,训练稳定、生成质量高、多样性强,但采样速度较慢——这也是后续DDIM等加速方法诞生的直接原因。 DDIM

2013-2025年AI技术演进时间线

图注:线性调度(α_t 线性下降)与余弦调度(α_t 余弦下降)的噪声衰减曲线对比。两种调度形态不同,产生的去噪难度分布也不同。An overview of diffusion models for generative AI

理解扩散模型的关键洞察是:它不走"一步到位"生成数据的捷径,而是把生成过程建模为一个逐步"去噪声"的精细过程。这个过程从随机噪声开始,一步一步地将其转化为有意义的数据。听起来违反直觉——为什么要从噪声开始?答案在于:如果你能学会如何逆转噪声过程,你就学会了这个数据分布的本质。

前向扩散:为什么逐步加噪会收敛到高斯分布?

扩散模型的核心思想分为两个过程:前向扩散(Forward Process)和反向去噪(Reverse Denoising)。前向扩散向数据逐步添加高斯噪声,最终将任何图像转换为纯噪声;反向去噪则训练一个神经网络,学会逐步去除噪声,从噪声中恢复出真实图像。

直观上,想象一滴墨水落入清水杯中。最初墨水集中在中心,随着时间推移,墨水分子逐渐扩散,最终均匀分布在整个杯中——这是一个从有序到无序的不可逆过程。扩散模型的前向过程就是这样一个"有序到无序"的物理过程。

前向扩散过程:从清晰图像逐步变为纯噪声

图注:前向扩散过程将清晰图像逐步转化为纯噪声,是从数据分布到标准高斯分布的不可逆过程。Denoising Diffusion Probabilistic Models

用真实图像的噪声化序列更容易建立直观感受。以下是一张猫图像在前向扩散过程中逐步被噪声"吞噬"的渐变序列:

虎斑猫图像从前向扩散从清晰到完全噪声的渐变

图注:前向扩散逐步添加噪声,每一步都在向纯高斯噪声靠近,噪声化程度随时间步增加而加深。Denoising Diffusion Probabilistic Models

前向扩散的数学形式是一个马尔可夫链。设原始数据为 $x_0$,每一步通过添加高斯噪声得到新的状态:

$$q(x_t | x_{t-1}) = \mathcal{N}(x_t; \sqrt{1-\beta_t} x_{t-1}, \beta_t \mathbf{I})$$

其中 $\beta_t$ 是第 $t$ 步的噪声方差,$\alpha_t = 1 - \beta_t$。DDPM论文使用了 $T=1000$ 步,$\beta_1 = 10^{-4}$ 逐步增加到 $\beta_T = 0.02$。

这里有一个关键技巧——重参数化(Reparameterization)。当 $x_t \sim \mathcal{N}(\mu, \sigma^2)$ 时,可以等价地写作 $x_t = \mu + \sigma \varepsilon$,其中 $\varepsilon \sim \mathcal{N}(0, 1)$。这使得采样过程可微——神经网络可以端到端训练。

更重要的是,前向扩散有一个优雅的闭式性质:虽然每一步只添加少量噪声,但经过 $t$ 步后,可以直接写出 $x_t$ 与原始数据 $x_0$ 的关系,无需逐次迭代:

$$q(x_t | x_0) = \mathcal{N}(x_t; \sqrt{\bar{\alpha}_t} x_0, (1-\bar{\alpha}_t) \mathbf{I})$$

其中 $\bar{\alpha}t = \prod{s=1}^{t} \alpha_s$。当 $t \to T$ 时,$\bar{\alpha}_T \to 0$,$x_T \approx \mathcal{N}(0, \mathbf{I})$——即标准高斯噪声。

这个性质是前向扩散的精髓:任意时间步的噪声化结果可以直接计算。这意味着在训练时,我们可以随机选取任意时间步 $t$,直接计算该步的带噪声样本 $(x_t, t)$,而不需要模拟完整的1000步马尔可夫链。

条件前向扩散过程:ODE与SDE两种数学描述的统一

图注:给定时间网格和初始清晰样本 $X_0$,前向高斯路径逐步将样本噪声化。同一路径可以从ODE视角(确定性路径)或SDE视角(随机扰动)来看,两者最终收敛到相同结果。A Tutorial on Diffusion Theory

前向加噪公式图:单步公式与闭式采样公式

图注:单步前向公式 $q(x_t|x_{t-1})$ 定义了每一步的噪声添加,闭式公式 $q(x_t|x_0)$ 允许直接计算任意时间步的噪声化结果,两者通过累积乘积 $\bar{\alpha}_t$ 联系起来。Denoising Diffusion Probabilistic Models

从概率分布的角度看,$q(x_t|x_0)$ 给出了以原始数据为条件的高斯分布。但如果我们考虑边际分布——对所有可能的原始数据取平均——$p_t(x)$ 就不再是单一高斯分布,而是一个高斯混合分布。Fu & Wang(2026)的教程用ODE和SDE两种数学工具来描述这个过程:ODE视角下,同一条条件路径是确定性的;SDE视角下,由于每步的随机噪声扰动,路径具有随机性。但有趣的是,两种视角在边际分布上演化为相同的结果——这正是扩散模型数学优雅性的体现。

反向去噪:神经网络如何学会"去噪声"?

前向扩散是固定的——它不涉及任何可学习参数,完全由人工设定的噪声调度 $\beta_t$ 决定。但反向去噪就没这么简单了:我们需要找到一条从噪声回到数据的路径,而这条路径在数学上没有闭式解。

反向扩散过程:从噪声分布逐步恢复到真实图像

图注:反向扩散从纯高斯噪声出发,逐步恢复出清晰图像,方向与前向扩散相反。Denoising Diffusion Probabilistic Models

反向过程的数学形式也是一个马尔可夫链:

$$p_\theta(x_{t-1}|x_t) = \mathcal{N}(x_{t-1}; \mu_\theta(x_t, t), \Sigma_\theta(x_t, t))$$

但这里有个问题:$q(x_{t-1}|x_t)$ 本身没有闭式解。我们需要用一个神经网络来近似这个反向条件分布。

前向与反向扩散的方向对比

图注:黑色箭头表示前向扩散(逐步加噪),红色箭头表示反向去噪(逐步去噪)。两个过程互为逆向。Denoising Diffusion Probabilistic Models

关键技巧在于重参数化——不直接预测均值 $\mu_\theta$,而是让网络预测加入的噪声 $\varepsilon$。具体来说,给定 $x_t$ 和时间步 $t$,网络 $\varepsilon_\theta(x_t, t)$ 预测前向过程中在该步添加的噪声。那么均值可以通过以下公式恢复:

$$\mu_\theta(x_t, t) = \frac{1}{\sqrt{\alpha_t}}\left(x_t - \frac{\beta_t}{\sqrt{1-\bar{\alpha}t}} \varepsilon\theta(x_t, t)\right)$$

直观理解:$x_t = \sqrt{\bar{\alpha}_t} x_0 + \sqrt{1-\bar{\alpha}_t} \varepsilon$,所以 $\varepsilon = (x_t - \sqrt{\bar{\alpha}_t} x_0) / \sqrt{1-\bar{\alpha}_t}$。如果网络能准确预测 $\varepsilon$,我们就能反推出原始数据 $x_0$ 的估计。

这里引入了一个核心概念——Score函数:$\nabla_x \log p_t(x)$ 指向概率密度增长最快的方向。在扩散模型中,给定时刻 $t$ 的噪声化样本 $x_t$,score函数告诉我们"往哪个方向走能让样本更接近数据分布"。训练网络预测噪声 $\varepsilon_\theta(x_t, t)$ 实际上就是在近似score函数(两者只差一个缩放因子 $-\sigma_t$)。这就是为什么"预测噪声"和"学习score函数"本质上是同一件事。

反向过程图:反向时间动力学与生成方向

图注:边际反向过程从高斯噪声分布 $p_1 \approx \mathcal{N}(0,I)$ 出发,通过反向ODE/SDE逐步演化到数据分布 $p_0$。反向过程是学习的目标——我们用神经网络近似score函数来指导这一过程。A Tutorial on Diffusion Theory

Tweedie公式在这里提供了又一个关键洞察:给定噪声化样本 $x_t$,原始噪声 $\varepsilon$ 的条件期望等于 $-\sigma_t \nabla \log p_t(x_t)$。也就是说,去噪就是计算score函数。这建立了"预测噪声"与"score matching"之间的数学等价。

训练目标:为什么预测噪声就是在做score matching?

现在来到了扩散模型最核心的理论问题:训练目标是怎么来的?为什么"让网络预测噪声"这个看起来简单的目标,实际上做的是学习整个数据分布?

训练从数据集中随机选取一张图像 $x_0$,再随机选取一个时间步 $t$,然后采样噪声 $\varepsilon$ 并计算 $x_t = \sqrt{\bar{\alpha}_t} x_0 + \sqrt{1-\bar{\alpha}_t} \varepsilon$。网络接收 $(x_t, t)$ 并预测 $\varepsilon$。训练目标是最小化预测噪声与真实噪声之间的均方误差:

$$\mathcal{L}{\text{simple}}(\theta) = \mathbb{E}{t, x_0, \varepsilon}\left[|\varepsilon - \varepsilon_\theta(x_t, t)|^2\right]$$

这个目标简洁而优雅——它不涉及复杂的变分下界推导,网络端到端地学习去噪。

但为什么这样一个目标就足以学习数据分布?答案要从变分下界(ELBO)说起。扩散模型的训练实际上是在最大化一个变分下界。将前向过程 $q(x_{1:T}|x_0)$ 和反向过程 $p_\theta(x_{0:T})$ 之间的KL散度分解,可以得到一个下界。将这个下界在 $t=1$ 附近做一阶近似,并利用前向过程的马尔可夫结构,最终化简得到的正是 $\mathcal{L}_{\text{simple}}$——预测噪声的均方误差。

关键洞察在于:预测噪声等价于score matching。在噪声预测的参数化下,网络学到的 $\varepsilon_\theta(x_t, t)$ 满足 $\varepsilon_\theta(x_t, t) = -\sigma_t \nabla \log p_t(x_t) \cdot \sqrt{1-\bar{\alpha}t}$。也就是说,训练目标 $\mathbb{E}[|\varepsilon\theta - \varepsilon|^2]$ 实际上是在最小化score函数的预测误差。这不是巧合——它揭示了扩散模型与Langevin动力学之间的深刻联系。

UNet训练流程:噪声图像+时间步嵌入输入,预测噪声输出

图注:UNet接收带噪声图像 $x_t$ 和时间步嵌入 $t$,输出对添加噪声 $\varepsilon$ 的预测。训练时比较预测噪声与真实添加噪声的差异。Denoising Diffusion Probabilistic Models

DDPM使用U-Net作为 backbone网络,类似PixelCNN++的架构,在CIFAR-10规模上约有3570万参数。网络使用Group Normalization,用Transformer式的正弦位置嵌入编码时间步 $t$,在16×16分辨率使用自注意力机制。时间步嵌入告诉网络"现在处于噪声化的哪个阶段"——早期阶段图像还比较清晰,网络主要学习整体结构;晚期阶段图像几乎就是噪声,网络主要学习如何从高度噪声化的状态中恢复细节。 ACS

训练的两步流程:随机时间步采样与噪声添加

图注:训练的两个关键步骤——首先随机选取时间步并编码,然后根据闭式公式添加噪声得到训练样本 $(x_t, t)$。Denoising Diffusion Probabilistic Models

UNet训练架构细节图

图注:UNet架构包含残差块和注意力模块,用于处理不同分辨率的特征。时间步嵌入通过正弦编码注入每个残差块。Denoising Diffusion Probabilistic Models

在CIFAR-10(32×32,无条件生成)上,DDPM达到了FID=3.17的惊人成绩——这是当时无条件生成模型的最高水平。同等的Inception Score为9.46±0.11。训练使用了TPU v3-8,约10.6小时完成80万步训练。 SSC

采样方法:DDPM的慢与DDIM的快,本质差异在哪里?

训练完成后,如何用这个模型生成图像?DDPM的采样算法从纯噪声 $x_T \sim \mathcal{N}(0, \mathbf{I})$ 出发,逐步迭代去噪:

  1. $x_T \sim \mathcal{N}(0, \mathbf{I})$ ——从纯噪声开始
  2. For $t = T, T-1, \ldots, 1$:
    • 若 $t > 1$,采样 $z \sim \mathcal{N}(0, \mathbf{I})$;若 $t = 1$,令 $z = 0$
    • 计算 $x_{t-1} = \frac{1}{\sqrt{\alpha_t}}\left(x_t - \frac{1-\alpha_t}{\sqrt{1-\bar{\alpha}t}} \varepsilon\theta(x_t, t)\right) + \sigma_t z$
  3. 返回 $x_0$——生成的图像

UNet去噪:输入带噪图像,输出预测噪声

图注:UNet去噪模块接收当前带噪图像 $x_t$,结合时间步嵌入 $t$,输出对原始添加噪声 $\varepsilon$ 的预测。Denoising Diffusion Probabilistic Models

DDPM采样:从噪声开始,迭代去噪

图注:DDPM采样从纯高斯噪声出发,通过1000步迭代逐步去噪,最终得到生成的图像。Denoising Diffusion Probabilistic Models

UNet反向扩散去噪架构:残差块与注意力模块

图注:UNet在反向扩散中的去噪架构,包含残差连接和注意力模块,处理多分辨率特征并融合时间步信息。Denoising Diffusion Probabilistic Models

DDPM的致命问题是:需要1000步迭代才能生成一张图。每一步都要调用一次神经网络前向传播,这在实际应用中非常慢。DDIM(Song et al., ICLR 2021)的出现正是为了解决这个问题。

DDIM的核心洞察是:DDPM的训练目标只依赖于边缘分布 $q(x_t|x_0)$,而不直接依赖联合分布 $q(x_{1:T}|x_0)$。这意味着可以设计许多具有相同边缘分布的不同前向过程。DDIM利用这个自由度,构造了一类非马尔可夫前向过程,在保持与DDPM完全相同训练目标的同时,获得了更高效的反向采样过程。

马尔可夫结构(DDPM)与非马尔可夫结构(DDIM)的对比

图注:左图为马尔可夫链结构(DDPM),每个节点只与相邻节点相连;右图为非马尔可夫结构(DDIM),$x_{t-1}$ 同时连接到 $x_t$ 和 $x_0$。DDIM通过非马尔可夫结构获得采样灵活性。Denoising Diffusion Implicit Models

DDIM的采样公式引入了参数 $\sigma_t$ 来控制随机性。当 $\sigma_t = 0$ 时,采样过程完全确定性(纯ODE);当 $\sigma_t$ 匹配DDPM的噪声水平时,退化为标准DDPM采样。这种灵活性允许在速度和质量之间做权衡。

不同步数下DDPM与DDIM的采样时间对比

图注:CIFAR-10和Bedroom数据集上,不同采样步数下的时间开销对比。DDIM在20-100步即可达到DDPM 1000步相当的图像质量,时间节省10-50倍。Denoising Diffusion Implicit Models

实验数据印证了DDIM的强大:100步DDIM的FID为4.16,而同等步数的DDPM($\eta=1.0$)FID为5.78。在CelebA上,20步DDIM的FID与100步DDPM相当。这10-50倍的加速,使扩散模型从实验室走向实际应用成为可能。

更令人惊喜的是,DDIM的确定性采样使得语义级别的图像插值成为可能。因为相同的初始噪声 $x_T$ 每次都会产生相同的生成结果(没有随机扰动),所以对两个样本的 $x_T$ 做线性插值,就能得到语义上平滑的过渡效果——这在DDPM的随机采样中是无法实现的。

DDIM的确定性采样实际上等价于对概率流ODE做Euler积分。Song等人(2021)的SDE框架证明了:前向扩散可以用SDE描述 $dx = f(x,t)dt + g(t)dw$,其对应的反向SDE在去掉随机项后得到一个ODE。这个ODE的离散化就是DDIM。

然而,DDIM并非完美。2026年的研究(Why DDIM Hallucinates More Than DDPM)揭示了一个关键问题:DDIM在晚期收敛阶段容易卡在两个数据模式之间的中点,产生"模式插值"型幻觉。这是因为DDIM的反向ODE在模式间线段的中点处存在一个双曲不稳定平衡点——一旦进入该邻域,没有噪声驱动就无法逃离。而DDPM的反向SDE中内置的随机噪声($\sqrt{\beta_t} dW_t$)恰好可以帮助轨迹从中点邻域逃脱。

DDIM与DDPM收敛过程对比

图注:收敛率曲线显示DDIM和DDPM在晚期阶段的收敛行为差异。DDIM沿模式间线段收敛,容易卡在中点;DDPM的随机性帮助其逃离中点邻域。Why DDIM Hallucinates More Than DDPM

实践中,混合采样策略可以有效缓解DDIM的幻觉问题:在DDIM采样若干步后切换为DDPM采样步骤,让内置随机噪声帮助轨迹逃离中点邻域。这体现了速度(DDIM)与质量(DDPM)之间的工程权衡。

噪声调度:线性vs余弦,不只是超参数选择

噪声调度定义了每一步添加多少噪声——即 $\beta_t$ 的schedule。它直接决定了前向扩散过程中噪声的增长速度,也间接影响了反向去噪的学习难度和生成质量。

最简单的调度是线性调度(Linear):从 $\beta_1 = 10^{-4}$ 线性增长到 $\beta_T = 0.02$。DDPM原始论文采用的就是这种调度。但线性调度在早期噪声增长过快,导致早期时间步被浪费。

余弦调度(Cosine)应运而生:$\bar{\alpha}_t = \frac{1}{2}(1 + \cos(\frac{\pi t}{T}))$。余弦调度让噪声增长更缓慢、更均匀,Improved DDPM(Nichol & Dhariwal, 2021)证明了其优越性。

线性调度与余弦调度的噪声衰减曲线对比

图注:线性调度 $\alpha_t$ 随时间步线性下降,余弦调度随时间步余弦下降。两种调度形态不同,产生的去噪难度分布也不同。An overview of diffusion models for generative AI

最新的研究将噪声调度设计提升到了最优控制的高度。2026年的Noise Schedule Design论文证明,Fisher信息 $\mathcal{I}_t$ 的演化遵循一维ODE,而Fisher信息是KL采样误差的上界——最小化Fisher信息轨迹就等于最小化采样误差。基于此,论文提出了**ACS(Affine-Coupled Schedules)**族:$f(t) = \theta \cdot g(t) + \omega$。这个统一框架包含VE调度($\theta=0$)和VP调度($\theta=1/2$),并引入可调参数可以在不同NFE(Number of Function Evaluations)预算下系统优化调度。

四种噪声调度策略的视觉效果对比

图注:VP-Linear、VP-Cosine、VP-Sigmoid、ACS四种调度策略在CIFAR-10上生成64×64图像的视觉效果对比。ACS调度(论文提出方法)在低NFE预算下表现更优。Noise Schedule Design for Diffusion Models

2026年ICML的另一篇论文系统检验了一个从未被质疑过的假设:噪声水平单调递减是否必要?六年来所有扩散采样器都默认这一点,但这从未被系统验证。论文设计了四种非单调调度家族(Single Reheat、Sawtooth、Damped Oscillation、Adaptive Reheat),在三种架构(DDPM、EDM、Flow Matching)上进行了90种配置的实验。

结果令人意外:所有非单调配置在任意模型、任意NFE预算下都未能超越单调基准线。但惩罚幅度差异巨大:DDPM的Damped Oscillation惩罚为+1.31 FID,Flow Matching为+0.04 FID,而EDM几乎不受影响(-0.003 FID,统计上与零无异)。这说明单调性是一种有效的归纳偏置,不同去噪器对其依赖程度不同。

四类非单调调度设计的几何形态对比

图注:Monotonic、Single Reheat、Sawtooth、Damped Oscillation四种调度形态。黄色带标注临界噪声区($\sigma \in [0.40, 0.65]$),红色竖带标注重加热位置。非单调调度在此临界区施加向后跳跃,但均未能超越单调基准。Is Monotonic Sampling Necessary in Diffusion Models?

这些发现共同说明:噪声调度不只是超参数选择,它直接影响去噪难度分布、训练效率和生成质量。好的调度设计能让神经网络在关键噪声水平上学得更好,从而在更少的采样步数下达到更高的生成质量。

PyTorch实战:如何在CIFAR-10上训练扩散模型?

理解了原理之后,我们来看如何用PyTorch实现一个完整的扩散模型训练和采样流程。实战环境可以选择Google Colab——无需本地配置,直接在浏览器中运行。

扩散模型实战的核心组件:

1. 超参数:Timesteps=1000(扩散步数),epochs=20(训练轮数),learning_rate=1e-4(学习率)。

2. UNet模型:接收 $(x_t, t)$ 输入,输出 $\varepsilon_\theta$ 预测。CIFAR-10上约3570万参数。

3. 优化器:Adam优化器,学习率1e-4。

4. 训练循环:

for epoch in range(epochs):
    for batch in dataloader:
        x0 = batch.to(DEVICE)
        t = torch.randint(0, TIMESTEPS, (batch_size,), device=DEVICE)
        epsilon = torch.randn_like(x0)
        xt = torch.sqrt(alphabar[t]) * x0 + torch.sqrt(1 - alphabar[t]) * epsilon
        epsilon_theta = model(xt, t)
        loss = F.mse_loss(epsilon_theta, epsilon)
        optimizer.zero_grad()
        loss.backward()
        optimizer.step()

5. 采样:从 $x_T \sim \mathcal{N}(0, \mathbf{I})$ 出发,迭代T步去噪。

扩散模型训练过程:Epoch 1-20生成结果逐步改善

图注:训练过程中模型生成结果的演变——Epoch 1到Epoch 20,生成的动漫头像从模糊噪声逐渐变得清晰多样;下方展示Step 0-1000的加噪过程,帮助理解训练与推理的对称性。Denoising Diffusion Probabilistic Models

训练过程中值得观察的几个现象:初期生成的图像几乎是纯噪声(因为网络还没学到如何去噪);随着训练进行,网络逐渐学会在早期时间步恢复整体结构,在晚期时间步补充细节;到训练后期,FID等指标趋于稳定。

生成质量可以用FID(Fréchet Inception Distance)评估——衡量生成样本分布与真实样本分布在特征空间中的距离。DDPM在CIFAR-10上达到FID=3.17,DDIM在100步时达到FID=4.16(速度提升10倍但质量仅轻微下降)。

Google Colab在线编程环境

图注:Google Colab环境可直接运行扩散模型代码,无需配置本地GPU环境。Denoising Diffusion Probabilistic Models

实战中的几个关键经验:噪声调度的选择对最终质量影响显著,Improved DDPM等后续工作表明,在高NFE预算下余弦调度通常优于线性调度;时间步嵌入需要精心设计,DDPM使用Transformer式的正弦位置编码;残差连接和注意力机制在UNet中至关重要,它们帮助网络同时建模局部纹理和全局结构。

前沿扩展:扩散模型还能做哪些事?

扩散模型的能力远不止于无条件图像生成。几个重要方向正在快速推进:

Latent Diffusion Models(LDM,潜空间扩散模型) 是Stable Diffusion等图像生成应用的技术基础。其核心思想是:不在像素空间做扩散,而在预训练自编码器的潜空间(latent space)中做扩散。由于潜空间的维度远低于像素空间,计算成本大幅降低。文本条件通过cross-attention机制注入,实现文本到图像的生成。Rombach et al.(2022)发布的Stable Diffusion首次将高质量文本到图像生成带入消费级GPU时代。

多模态扩展是近年最激动人心的方向:音频扩散模型(如AudioLDM、MusicGen)生成音乐和音效;视频扩散模型(如Video Diffusion、_modelscope)生成短视频;3D内容扩散模型(如Point-E、DreamFusion)从文本生成3D资产。扩散模型的"一切皆可加噪、一切皆可去噪"框架具有天然的跨模态能力。

效率优化是扩散模型实用化的关键。算法层面:DDIM等采样调度、SDE/ODE求解器改进、知识蒸馏(Progressive Distillation)等;系统层面:Flash Attention、xFormers等算子优化、DeepSpeed等分布式训练框架;框架层面:Stable-Fast、Onediff等推理加速工具。一个完整的三层效率体系正在形成——算法层决定"用什么方法",系统层决定"如何高效执行",框架层决定"用什么工具"。

质量与速度的根本性改进仍在持续。2026年的多项研究揭示:噪声调度可以通过最优控制理论系统优化;非单调采样虽然未能超越单调基准,但揭示了不同去噪器对调度敏感度的深层原因;DDIM的幻觉问题可以通过混合采样策略缓解。这些研究共同指向一个方向——扩散模型的"最优使用方式"还没有被完全找到。

扩散模型已经从学术突破走向工业实用,并正在向多模态、高效率、高质量的方向快速演进。理解其核心原理——前向扩散如何将数据转化为噪声,反向去噪如何从噪声中恢复数据,训练目标如何将"预测噪声"转化为"学习分布",采样算法如何在速度与质量间权衡——是为后续深入研究和实践应用打下坚实基础的必经之路。

参考文献

本专题引用的核心资料如下,建议深入学习时阅读原文:

  1. Denoising Diffusion Probabilistic Models — arXiv:2006.11239
  2. Denoising Diffusion Implicit Models — arXiv:2010.02502
  3. Score-Based Generative Modeling through SDEs — arXiv:2011.13456
  4. A Tutorial on Diffusion Theory: From Differential Equations to Diffusion Models — arXiv:2605.22586
  5. A Mathematical Introduction to Diffusion Models — arXiv:2607.01693
  6. Noise Schedule Design for Diffusion Models: An Optimal Control Perspective — arXiv:2605.21911
  7. Why DDIM Hallucinates More Than DDPM: A Theoretical Analysis of Reverse Dynamics — arXiv:2605.06831
  8. An overview of diffusion models for generative AI — arXiv:2412.01371
  9. Is Monotonic Sampling Necessary in Diffusion Models? — arXiv:2605.11773
  10. Efficient Diffusion Models: A Survey — arXiv:2502.06805
扩散模型原理与实战:AI如何从噪声中“画”出图像