扩散模型是近年来生成式 AI 领域最具突破性的技术之一,从图像生成到视频、音频乃至科学计算,扩散模型正在重塑 AI 生成内容的边界。本文系统梳理扩散模型的核心原理、关键架构演进、训练与采样技术,以及实践应用。
扩散模型(Diffusion Models)是一类基于概率扩散过程的生成模型,其核心思想源自非平衡热力学:通过逐步向数据添加噪声(正向扩散过程),然后学习逆向过程来从噪声中恢复数据。自 2020 年 Denoising Diffusion Probabilistic Models(DDPM)被提出以来,扩散模型在图像生成领域迅速超越了传统的生成对抗网络(GAN),成为主流 paradigm。
扩散模型的工作流程可以分解为两个互逆的马尔可夫链:
- 正向扩散过程(Forward Diffusion Process):逐渐向真实数据 x0 添加高斯噪声,经过 T 步后将其转化为纯噪声 xT∼N(0,I)。
- 逆向去噪过程(Reverse Denoising Process):学习一个参数化的神经网络 pθ(xt−1∣xt),从噪声 xT 逐步去除噪声,还原出数据 x0。
这种设计使得扩散模型的目标函数简洁优美:训练一个网络来预测添加到数据上的噪声。
| 特性 |
说明 |
| 训练稳定性 |
相比 GAN 的对抗训练,扩散模型使用简单的均方误差损失,训练极其稳定 |
| 模式覆盖 |
不依赖模式坍塌问题,能够完整覆盖数据分布 |
| 可控生成 |
通过引导机制(如 Classifier-Free Guidance)实现精细控制 |
| 数学优美 |
理论基础扎实,源于统计物理和概率论 |
DDPM(Denoising Diffusion Probabilistic Models)由 Ho 等人在 2020 年提出,是扩散模型领域奠基性的工作。
给定真实数据分布 x0∼q(x),正向扩散过程定义一个马尔可夫链,每一步添加少量高斯噪声:
q(xt∣xt−1)=N(xt;1−βtxt−1,βtI)
其中 βt∈(0,1) 是预定义的噪声调度(variance schedule),通常随着 t 增加而递增。
利用高斯分布的重参数化技巧,我们可以直接写出任意时刻 t 的带噪数据:
xt=αˉtx0+1−αˉtϵ,ϵ∼N(0,I)
其中 αt=1−βt,αˉt=∏s=1tαs。当 T 足够大时,αˉT→0,xT 趋近于标准正态分布。
逆向过程同样定义为马尔可夫链,从纯噪声 xT∼N(0,I) 开始,逐步生成数据:
pθ(xt−1∣xt)=N(xt−1;μθ(xt,t),Σθ(xt,t))
在实际实现中,Σθ(xt,t) 通常固定为 σt2I(不学习),而 μθ(xt,t) 则由神经网络预测。
DDPM 的训练目标是一个简化的变分下界(ELBO)。核心思想是:预测添加到 x0 上的噪声 ϵ。
完整训练目标:
Lsimple=Et,x0,ϵ[∥∥∥ϵ−ϵθ(αˉtx0+1−αˉtϵ,t)∥∥∥2]
这本质上是一个去噪自编码器(denoising autoencoder)目标——给定带噪图像 xt 和时刻 t,预测添加的噪声。
1: 重复以下步骤直至收敛
2: x_0 ~ q(x) # 从数据分布采样
3: t ~ Uniform({1, 2, ..., T}) # 随机采样时间步
4: ε ~ N(0, I) # 采样噪声
5: 取梯度下降步:
6: ∇_θ ‖ ε - ε_θ(√α̅_t · x_0 + √(1-α̅_t) · ε, t) ‖²
1: x_T ~ N(0, I) # 从纯噪声开始
2: for t = T, T-1, ..., 1:
3: z ~ N(0, I) if t > 1 else z = 0
4: x_{t-1} = (1/√α_t) · (x_t - (1-α_t)/√(1-α̅_t) · ε_θ(x_t, t)) + σ_t · z
5: return x_0
DDPM 使用线性调度(linear schedule),β1=10−4 到 βT=0.02,T=1000。后续工作发现:
- 余弦调度(cosine schedule):在图像质量上优于线性调度
- 余弦+(cosine++):进一步优化了调度曲线,避免末端噪声过大
DDPM 采用改进的 U-Net 架构,包含:
- 残差块(ResNet blocks):每个残差块包含组归一化(GroupNorm)、SiLU 激活和卷积
- 自注意力层(Self-Attention):在低分辨率特征图上应用,捕获长距离依赖
- 时间嵌入(Time Embedding):使用正弦位置编码表示 t,通过 MLP 注入到每个残差块
DDPM 需要 1000 步采样,推理速度极慢。以下方法大幅提升了采样效率:
DDIM 将马尔可夫扩散过程重新表述为非马尔可夫过程,允许跳步采样:
xt−1=αˉt−1⋅αˉtxt−1−αˉtϵθ(xt,t)+1−αˉt−1−σt2⋅ϵθ(xt,t)+σtϵt
关键特性:
- 可以在 50-100 步内完成采样(相比原来的 1000 步)
- 支持确定性的前向/逆向映射(当 σt=0 时),实现图像插值和编辑
- DDIM 的存在性表明扩散模型本质上学习的是数据的得分场(score field),而非固定的采样轨迹
DPM-Solver 将扩散 ODE 用数值方法精确求解,进一步将采样步数减少到 10-20 步:
- 将逆向扩散过程视为一个**常微分方程(ODE)**的求解
- 使用指数积分器(exponential integrator)技术,在 10 步内达到接近 1000 步的质量
- DPM-Solver++ 增加了数据端噪声处理,进一步提升质量
| 方法 |
采样步数 |
质量(FID ↓) |
适用场景 |
| DDPM |
1000 |
3.17 |
高质量离线生成 |
| DDIM |
50 |
4.67 |
中等速度采样 |
| DDIM |
100 |
4.04 |
标准推理 |
| DPM-Solver |
10 |
4.20 |
快速推理 |
| DPM-Solver++ |
15 |
2.99 |
高质量快速推理 |
通过分类器引导条件生成,由 Dhariwal & Nichol 在 《Diffusion Models Beat GANs on Image Synthesis》中提出:
ϵ~θ(xt,t)=ϵθ(xt,t)−s⋅σt∇xtlogpϕ(y∣xt)
其中 pϕ(y∣xt) 是一个训练好的分类器,s 是引导强度。
优点:可控性强,能显著提升生成质量。
缺点:需要额外训练一个分类器,且无法处理开放域条件(如文本描述)。
CFG 由 Ho & Salimans 在 2022 年提出,是目前最广泛使用的引导方法:
ϵ~θ(xt,t,c)=ϵθ(xt,t)+s⋅(ϵθ(xt,t,c)−ϵθ(xt,t))
其中 c 是条件(如文本嵌入),s>1 是引导尺度。
核心原理:在训练时随机以一定概率丢弃条件(如设 c=∅),使模型同时学会条件生成和无条件生成。采样时外推条件方向。
CFG 的特点:
- 不需要额外的分类器
- 支持任意形式的条件(文本、图像、语义地图等)
- 引导尺度 s 控制生成多样性与保真度的权衡
- 实践中 s=7.5 是 Stable Diffusion 的默认值
Stable Diffusion 由 Rombach 等人于 2022 年提出,将扩散过程从像素空间迁移到潜空间(Latent Space),极大地降低了计算成本。

Stable Diffusion 的架构分为三个核心模块:
1. 变分自编码器(VAE)
- 编码器 E:将 H×W×3 的图像压缩为 h×w×d 的潜表示(空间尺寸缩小 8 倍)
- 解码器 D:将潜表示重建为图像
- 使用 KL 正则化或 VQ 正则化避免潜空间过于离散
2. U-Net 去噪网络
- 在潜空间执行扩散过程:zt=αˉtz0+1−αˉtϵ
- 输入:潜噪声 zt + 时间步 t + 条件 c
- 输出:预测的噪声 ϵθ(zt,t,c)
3. 条件编码器
- CLIP Text Encoder:将文本描述映射为嵌入向量
- 通过交叉注意力层注入到 U-Net 中
| 方面 |
像素扩散 |
潜空间扩散 |
| 计算复杂度 |
O(H⋅W) |
O(H⋅W/64) |
| GPU 内存 |
高(1024px 图像需要 24GB+) |
低(1024px 仅需 4-8GB) |
| 大图像支持 |
困难 |
易于扩展到更大分辨率 |
| 质量上限 |
极高 |
受限于 VAE 重建质量 |
- 图像经 VAE 编码:z0=E(x)
- 随机采样噪声和时刻:t∼Uniform(1,T), ϵ∼N(0,I)
- 添加噪声:zt=αˉtz0+1−αˉtϵ
- U-Net 预测噪声:L=∥ϵ−ϵθ(zt,t,τθ(c))∥2
- 从随机噪声 zT∼N(0,I) 开始
- 文本经 CLIP 编码为条件 τθ(c)
- 使用 CFG + DDIM/Solver 迭代去噪
- VAE 解码生成图像:x0=D(z0)
| 版本 |
发布时间 |
参数量 |
基础分辨率 |
关键改进 |
| SD 1.4 |
2022-08 |
0.98B |
512×512 |
初始公开版本 |
| SD 1.5 |
2022-10 |
0.98B |
512×512 |
微调版本,社区标准 |
| SD 2.0 |
2022-11 |
0.98B |
768×768, 512×512 |
改进 CLIP,移除 NSFW 过滤 |
| SD 2.1 |
2022-12 |
0.98B |
768×768 |
2.0 的改进版本 |
| SD XL |
2023-07 |
3.5B |
1024×1024 |
双级联模型,更大特征图 |
| SD 3 |
2024-03 |
8B |
1024×1024 |
Rectified Flow,MMDiT |
| SD 3.5 |
2024-10 |
2.5B-8B |
1024×1024 |
开源高质量版本 |
传统 U-Net 结合交叉注意力的架构在处理多模态条件(文本+图像)时存在限制:同一层需要同时处理自注意力和交叉注意力,计算效率低。
DiT 由 Peebles 等人于 2023 年提出,用 Transformer 块替代 U-Net:
- 图像被切分成 patches,类似 ViT 的做法
- 使用 adaLN(adaptive layer norm)注入时间步和条件
- 在 ImageNet 256×256 上取得了 SOTA(FID 2.27)
- Scalability:随着模型和数据规模增长,DiT 展现出良好的扩展性
MMDiT 是 Stable Diffusion 3 中使用的核心架构,全称为多模态扩散 Transformer(Multimodal Diffusion Transformer):
- 使用两套独立的注意力参数处理文本和图像两种模态
- 通过共享注意力计算实现模态交互
- 提供比 U-Net 更好的跨模态对齐
Rectified Flow 是 SD 3 使用的理论框架,替代了传统的扩散过程:
- 将正向过程定义为线性插值:xt=(1−t)x0+tϵ
- 模型学习预测速度场 vθ(xt)=x1−x0
- 训练目标:L=∥(x1−x0)−vθ(xt)∥2
- 优势:更直连的采样路径,更少的推理步数
Flux 是 Black Forest Labs 于 2024 年发布的先进模型,在 DiT 基础上进一步优化:
- 融合 Rectified Flow + MMDiT 架构
- 支持高达 1440×1440 分辨率
- 在文本理解、提示遵循和图像质量上全面超越 SD 3
文本到图像的生成是扩散模型最广为人知的应用。关键技术点:
- Text Alignment:模型需要准确理解文本中的实体、属性、空间关系和数量
- CLIP Embedding:使用 CLIP 文本编码器将自然语言转换为语义嵌入
- Attention Control:通过调节交叉注意力图来改善文本对齐
常见问题与解决方案:
- 漏画属性(Attribute Binding):如"红色帽子"被生成"蓝色帽子" → 使用注意力控制
- 遗漏物体:如"一只猫和一只狗"只生成了猫 → 增加 CFG 尺度
- 概念混淆:如"郁金香在花瓶中"被生成为"花瓶中的苹果" → 改进训练数据
通过 img2img 技术实现图像编辑和风格迁移:
- 输入图像 x 通过 VAE 编码为 z0
- 添加部分噪声:zt0=αˉt0z0+1−αˉt0ϵ
- 使用文本提示引导去噪过程
- t0 控制编辑强度(t0 越大,编辑越强,保真越低)
图像修补技术允许用户指定区域进行局部重绘:
- 使用 mask m 标记需要修复的区域
- 仅在 masked 区域添加噪声,保留 unmasked 区域
- 每步采样后将 unmasked 区域还原为原图
Stable Diffusion 提供了专门的 inpainting 模型,在 U-Net 中额外输入 mask 通道。
ControlNet 由 Zhang 等人于 2023 年提出,为扩散模型增加了空间条件控制:
- 支持 Canny 边缘线、深度图、法线图、姿态骨架、涂鸦、人像分割等条件输入
- 通过复制 U-Net 编码器并加入零卷积实现训练效率化
- 仅添加 7% 的参数,训练快速且保持原模型能力
视频扩散模型将时序建模引入扩散过程:
- 时空注意力:在空间注意力之外增加时间注意力
- VQ-VAE + 时序压缩:需要对时序维度也进行压缩
- 代表性模型:Sora(OpenAI)、Stable Video Diffusion、AnimateDiff
AnimateDiff 使用独立的运动模块,可插入到任何文本到图像模型中,使其具备视频生成能力。
扩散模型也被应用于 3D 内容生成:
- Point-E / Shap-E(OpenAI):直接生成 3D 点云或隐式场
- DreamFusion / SJC:使用 2D 扩散模型作为先验,通过 Score Distillation Sampling(SDS)优化 3D 表示
- Zero-1-to-3:学习视角条件扩散,实现单张图像到 3D
| 维度 |
扩散模型 |
GAN |
| 训练稳定性 |
稳定 |
不稳定,需要精心调参 |
| 模式覆盖 |
完整 |
容易模式坍塌 |
| 推理速度 |
慢(需多步) |
快(单步) |
| 多样性 |
高 |
对截断参数敏感 |
| 分辨率灵活 |
容易扩展到高分辨率 |
高分辨率训练困难 |
| 维度 |
扩散模型 |
VAE |
| 生成质量 |
目前最优 |
存在模糊问题 |
| 采样复杂度 |
高(多步) |
低(单步) |
| 训练复杂度 |
低(简单 MSE) |
低(ELBO) |
| 潜在表示 |
无原生潜在空间 |
有平滑潜在空间 |
自回归模型(如 DALL-E、Parti):
- 将图像量化为 tokens,用 Transformer 自回归生成
- 优势:利用成熟的语言模型架构
- 劣势:生成从左到右、从上到下,生成大图时效率低
Mask Token 模型(如 MaskGIT、Muse):
- 使用双向 Transformer 和非自回归并行解码
- 在速度上超过自回归方法
- 质量仍略逊于扩散模型
流匹配(Flow Matching):
- Rectified Flow 是其在图像生成领域的应用
- 提供更简单的理论框架和更短的采样轨迹
- 在 SD 3 和 Flux 中证明了其有效性
| 技术 |
加速比 |
质量影响 |
说明 |
| TensorRT / TensorRT-LLM |
2-3× |
无/微小 |
图编译和计算图优化 |
| xFormers |
1.5-2× |
无 |
高效注意力实现 |
| Flash Attention |
2-4× |
无 |
IO 感知注意力 |
| 模型量化(FP16/INT8) |
1.5-2× |
微小 |
减少精度换取速度 |
| 步数减少(LCM/LoRA) |
10-20× |
中等 |
训练专门的少步模型 |
Low-Rank Adaptation(LoRA) 是社区广泛使用的轻量级微调方法:
- 在 U-Net 交叉注意力层的权重矩阵上添加低秩分解:ΔW=BA
- 仅训练 B 和 A(秩通常为 4-64),冻结原权重
- 单个 LoRA 模型仅 5-100MB
- 可以组合多个 LoRA 实现概念混合
实际部署的关键考量:
- Pipeline 模块化:HuggingFace Diffusers 库提供了标准化的 Pipeline
- Scheduler 选择:根据质量/速度需求选择 DDIM、PNDM、DPM-Solver 等
- 内存管理:支持 CPU 卸载、激活检查点(activation checkpointing)
- 批处理:同一提示批量生成多张,充分利用 GPU 并行
- Score-based Generative Models:扩散模型与 score matching 的等效性已从理论上得到解释
- 概率流 ODE(Probability Flow ODE):将离散的扩散过程转换为连续的确定性 ODE
- 流匹配的数学基础:提供了比 ELBO 更直接的目标函数
- 图像+文本共同条件:Stable Diffusion XL 的双编码器结构
- 音频生成:AudioLDM、MusicGen 等用扩散模型生成音乐和音效
- 视频生成:从短片到长视频,时序一致性是主要挑战
- LCM(Latent Consistency Models):将扩散过程蒸馏为 1-4 步
- Adversarial Diffusion Distillation:结合对抗训练实现单步生成
- 实时推理系统:使扩散模型达到 30fps 以上的生成速度
- HuggingFace Diffusers:最完善的扩散模型生态系统,支持多种模型和调度器
- ComfyUI / WebUI:节点化工作流工具,适合创意探索
- AUTOMATIC1111 Stable Diffusion WebUI:社区最流行的 Stable Diffusion 界面
- Diffusers + Accelerate:官方推荐的训练方案
- Kohya's GUI:LoRA 和 Dreambooth 的图形化训练工具
- InvokeAI:集推理和训练于一体的开源工具
| 任务 |
最低 GPU |
推荐 GPU |
显存需求 |
| SD 1.5 推理 |
GTX 1060 6GB |
RTX 3060 12GB |
4-8GB |
| SD XL 推理 |
RTX 2060 8GB |
RTX 4090 24GB |
8-16GB |
| SD 3 / Flux |
RTX 3090 24GB |
RTX 4090 / A100 |
16-48GB |
| LoRA 微调 |
RTX 3060 12GB |
RTX 4090 24GB |
8-16GB |
| 全参数训练 |
A100 80GB |
H100 |
80GB+ |
扩散模型已经从一个学术概念发展为生成式 AI 的基础技术设施。从 DDPM 的奠基,到 Stable Diffusion 的普及,再到 DiT、MMDiT 和 Rectified Flow 的架构革新,这一领域在过去四年间经历了爆发式发展。
关键技术节点:
- 2020:DDPM 提出
- 2021:Diffusion 超越 GAN(ImageNet)
- 2022:Latent Diffusion -> Stable Diffusion
- 2023:ControlNet、SD XL、DiT
- 2024:SD 3、Flux、视频扩散模型
未来,扩散模型将继续向更高效(更少推理步数)、更可控(更强的条件化能力)、更多模态(视频、3D、科学数据) 的方向演进。理解扩散模型的核心原理,对于把握 AI 生成内容的技术前沿至关重要。
此页面为 AI 知识体系 的一部分,内容持续更新中。