先看效果:图像在噪声中消失,又从噪声中还原

点「加噪」观察图像逐步变成随机噪声;点「去噪」看它从噪声中被还原出来。

t = 0 / 60
原始图像
← t=0 原始图像   t=T 纯噪声 →
前向过程:每步加入一点点高斯噪声,T 步后图像完全消失
逆向过程:神经网络学会预测并去除每步的噪声,逐步还原

01 大白话讲扩散模型

照片在雪地里消失的故事

想象一张清晰的照片,你每隔一秒往上面撒一点点沙子。100 秒后,照片完全被沙子盖住,只剩一堆随机的颗粒。

扩散模型的核心问题是:能不能训练一个神经网络,让它学会"一次去掉一粒沙子"?

如果这个网络学会了,就可以从一堆随机噪声开始,一步步去掉"沙子",最终还原出一张图片——甚至生成一张全新的图片。

两个过程

前向过程(加噪):人为定义,不需要学习

每步往图像上叠加一点高斯噪声。这个过程是固定的数学公式,可以直接从 x₀ 一步跳到任意时间步 x_t,不需要逐步计算。

逆向过程(去噪):神经网络学习

从纯噪声 x_T 出发,神经网络每步预测"这张图里混入的噪声是什么",减去噪声后得到稍微干净的 x_{t-1},重复 T 步还原出 x₀。

训练时做什么?

1
随机选一张真实图片和一个时间步 t

用前向公式直接生成 x_t(带 t 步噪声的版本)

2
让网络猜"加入的噪声是什么"

网络输入 x_t 和时间步 t,输出预测噪声 ε̂

3
最小化预测噪声与真实噪声的差距

Loss = ‖ε - ε̂‖²,非常简单的 MSE 损失

就这三步,反复训练百万张图片,网络就学会了"去噪"。

为什么比 GAN 更好?

训练稳定

只需最小化 MSE,不存在 GAN 的两个网络对抗博弈不稳定问题

多样性好

每次从不同随机噪声出发,生成结果多样,不会模式崩塌

可控生成

在去噪时加入文字条件(Stable Diffusion),就能做文生图

缺点:慢

生成需要几十到几百步去噪,比 GAN 的一次前向传播慢很多

现实中的扩散模型

Stable Diffusion

在压缩的"潜空间"做扩散,速度更快,开源可本地运行

DALL-E 3

OpenAI 的文生图模型,理解复杂文字提示

Sora

将扩散模型扩展到视频生成,时间维度上也做扩散

音频/蛋白质

WaveGrad(语音合成)、RoseTTAFold(蛋白质结构预测)

一步步构建扩散过程

从噪声调度到前向扩散可视化,逐步搭建。

第一步 噪声调度(β 序列)

线性调度从小到大逐步增加噪声,ᾱ_t 是累积信号保留率。

第二步 前向扩散(封闭公式)

不用逐步迭代,直接用公式一步算出任意时间步 t 的噪声信号。

第三步 可视化关键时间步

观察 t=0(原始正弦波)到 t=99(纯噪声)的信号演变过程。

02 代码

03 学术性讲解

扩散概率模型(DDPM)(Ho et al., 2020)通过定义马尔科夫链加噪过程和学习其逆转过程,在图像生成质量上超越了 GAN,并具有更稳定的训练特性。

前向过程(Fixed Forward Process)

前向过程定义为马尔科夫链,每步叠加高斯噪声:

q(x_t | x_{t-1}) = N(x_t; √(1-β_t)·x_{t-1}, β_t·I)

由于高斯分布的可重参数化性质,可以直接从 x₀ 采样任意步 x_t:

x_t = √ᾱ_t · x₀ + √(1-ᾱ_t) · ε,其中 ε ~ N(0,I),ᾱ_t = ∏ᵢ₌₁ᵗ αᵢ

当 t→T 时,ᾱ_T→0,x_T 退化为标准高斯噪声。

逆向过程(Learned Reverse Process)

逆向转移 q(x_{t-1}|x_t) 难以直接计算,但在给定 x₀ 时有闭合形式:

q(x_{t-1} | x_t, x₀) = N(x_{t-1}; μ̃_t, β̃_t·I)

神经网络 ε_θ 学习在给定 x_t 和 t 时预测噪声 ε,从而估计均值 μ̃_t。

训练目标

原始 ELBO 目标经化简后等价于:

L = E_{x₀,ε,t} [ ‖ε - ε_θ(√ᾱ_t·x₀ + √(1-ᾱ_t)·ε, t)‖² ]

即:随机采样时间步 t 和噪声 ε,加噪得到 x_t,让网络预测噪声 ε,最小化 MSE。

网络架构

U
U-Net 骨干

编码器逐步降分辨率提取特征,解码器逐步升分辨率还原,跳跃连接保留细节。适合处理图像的噪声预测任务。

t
时间步嵌入

用正弦位置编码将标量 t 映射到高维向量,注入到 U-Net 各层,让网络知道"现在处于第几步"。

c
条件信息注入(文生图)

用 Cross-Attention 将文本编码(CLIP)注入 U-Net 中间层,引导去噪方向。Classifier-Free Guidance (CFG) 进一步增强条件控制强度。

改进方向

DDIM

非马尔科夫采样,步数从 1000 减到 50 步,大幅提速

Latent Diffusion

在 VAE 压缩后的潜空间扩散,分辨率降 8 倍,Stable Diffusion 的基础

流匹配(Flow Matching)

用直线路径替代扩散路径,训练更稳定,Stable Diffusion 3 / Flux 采用

一致性模型

OpenAI 提出,训练网络直接从任意 x_t 一步跳到 x₀,极速生成

总结

前向

逐步加噪,马尔科夫链

逆向

神经网络预测噪声

训练

MSE 噪声预测,简单稳定

生成

从纯噪声 T 步去噪到图像