Skip to content

扩散模型与生成式 AI

本页速览 扩散模型通过「前向加噪、反向去噪」学习数据分布,是文生图/文生视频的主流技术。本文讲清 DDPM 原理、潜空间扩散、条件控制与采样加速,并与 GAN/VAE/自回归对比,梳理应用版图与风险。

本页含时效性内容,数据截止于 2025-06;JD、榜单、产品功能等信息可能已变化,引用前请核对原始出处。

扩散模型与生成式 AI ​

扩散模型(diffusion model)是一类通过「前向逐步加噪、反向逐步去噪」来学习数据分布并生成新样本的生成式模型,是当下文生图与文生视频的绝对主流技术。2022 年 8 月开源的 Stable Diffusion 让"输入一句话、生成一张图"成为普通人的日常;2024 年 OpenAI 的 Sora 又把这种能力延伸到"输入一句话、生成一段视频"。从 Midjourney 到 DALL·E 3,从 Imagen 到可灵,几乎所有一线图像/视频生成模型都跑在这套机制之上。

为什么扩散模型能击败此前的霸主 GAN?一句话:训练更稳定、质量更高、可控性更强。它不依赖两个网络互相博弈的对抗训练,而是把"生成"化成一个朴素的回归问题——预测噪声;它的采样过程天然接受各种条件注入(文本、图像、姿态、深度),让"可控生成"成为可能。本文从核心原理讲起,沿"像素空间 → 潜空间 → 条件生成 → 应用与风险"的路径把它拆解透彻。想先建立生成式 AI 的整体图景,可读什么是 AI 热门概念;想了解它在整套技术栈中的位置,可看总体架构解剖。

一、核心思想:把"破坏"倒放 ​

扩散模型的想法来自统计物理,最早由 Sohl-Dickstein 等人于 2015 年提出,2020 年 Ho 等人的 去噪扩散概率模型(Denoising Diffusion Probabilistic Models, DDPM) 让它一跃成为能碾压 GAN 的实用工具。

它的核心洞察可以用一个比喻讲清:把一张照片逐步加噪到面目全非是容易的,那么能不能训练一个网络,学会把这个过程倒放?

前向过程(破坏,训练时完成,成本极低)
  真实图像 x₀ ──加噪──▶ x₁ ──加噪──▶ … ──加噪──▶ x_T ≈ 纯高斯噪声

反向过程(重建,模型要学的)
  纯噪声 x_T ──去噪──▶ x_{T-1} ──去噪──▶ … ──去噪──▶ 全新图像 x₀

三个关键性质让这个想法成立:

  1. 前向破坏"易得":任意时刻的带噪图都可以从原图一步闭式采样得到(见第二节),训练时不需要真的逐步迭代;
  2. 前向破坏"易逆":虽然单步加噪的逆过程未知,但可以训练一个神经网络去预测"混入了什么噪声",从而把破坏倒放;
  3. 生成即去噪:从纯噪声出发逐步去噪,得到的图像天然符合训练数据的分布 P(x)——这就是"学会了数据分布,就能生成新样本"。

这里的数学根基是"得分匹配(score matching)"视角:去噪网络学到的其实是数据对数密度梯度 ∇_x log p(x),从任意噪声出发沿该梯度走,最终都会落到数据流形上。三种主流生成路线(VAE/GAN/扩散)的本质差异,见第五节。

二、核心原理:DDPM 的数学骨架 ​

1. 前向加噪:有闭式解 ​

设 x₀ 是真实图像,噪声调度(noise schedule)给出每步的方差 β₁, β₂, …, β_T(DDPM 取 T=1000,β 从 1e-4 线性升到 0.02)。前向过程是一个马尔可夫链:

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

由于高斯分布的可加性,第 t 步的状态无需逐次迭代,可以直接从 x₀ 一步写出:

x_t = √(ᾱ_t)·x₀ + √(1−ᾱ_t)·ε,   ε ~ N(0, I)

其中 α_t = 1 − β_t,ᾱ_t = ∏_{s=1}^{t} α_s。把上式画出来:

x_t = √(ᾱ_t) · x₀ + √(1−ᾱ_t) · ε
      └─原图成分─┘   └────噪声成分────┘
      t=0:纯原图      t=T:纯噪声(ᾱ_T→0)

√(ᾱ_t) 控制"还剩多少原图",√(1−ᾱ_t) 控制"已混入多少噪声"。当 T 足够大时 ᾱ_T → 0,x_T 收敛为标准高斯噪声 N(0, I)。训练时对每个样本随机抽一个 t,套公式瞬间得到带噪图——这是扩散模型训练"便宜"的原因之一。

2. 反向去噪:训练目标就是"预测噪声" ​

我们训练一个神经网络 ε_θ(骨干是 UNet 或 DiT,见第三节)来预测 x_t 里混入的噪声 ε。DDPM 的简化训练目标是一个简单的均方误差(MSE):

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

翻译成人话:随机挑一个时刻 t,加好噪声,让网络从"带噪图 + 时刻 t"预测"混入的噪声",用均方误差衡量误差。网络同时接收时刻 t(时间步嵌入)作为输入,因为"去噪力度"随时间变化——t 越大噪声越多,越要大胆去噪。

为什么"预测噪声"而不是"直接预测图像"?

两者在数学上等价:知道 x_t 和 ε 就能反推出 x₀。但实验发现"预测噪声"的训练信号更稳定、方差更小——这是 DDPM 相对早期扩散模型的关键工程改进。想从更深的得分匹配 / SDE 视角理解,可读 Song 等人的统一框架(arXiv:2011.13456),见文末参考资料。

3. 采样:DDPM 逐步采样与 DDIM 加速 ​

训练完成后,生成就是从 x_T ~ N(0,I) 出发反复执行反向步:

x_{t-1} = (1/√α_t)·( x_t − (β_t/√(1−ᾱ_t))·ε_θ(x_t, t) ) + σ_t·z,  z ~ N(0, I)
          └─────── 去掉预测出的噪声,还原更干净的状态 ───────┘   └─随机扰动─┘

σ_t 是每步的随机抖动,保证反向过程是真正扩散的逆过程。肉眼观察采样过程:前几十步从混沌噪声里浮现轮廓,后几十步在精修纹理——所以 num_inference_steps(采样步数)直接决定生成质量与耗时。

DDIM(去噪扩散隐式模型,Denoising Diffusion Implicit Models,2021) 改写了采样轨迹:构造一个非马尔可夫的反向过程,支持两件事:

  • 确定性采样:把随机扰动系数置零后,同样的噪声种子永远得到同样的图——这是"图生图""图像修复"等功能的基石;
  • 大步跳跃:只在 20–50 个选定的时间步上采样,质量损失很小。

一句话判断:DDPM 是理论基座,DDIM 是把文生图从"一分钟一张"推到"几秒一张"的第一个量产加速器。 训练与采样的完整骨架,用伪代码写出来不到二十行:

python
# 训练(伪代码)
for x₀ in train_batch:                # 取一张真实图像
    t ~ Uniform({1, ..., T})          # 随机采样时刻(T=1000)
    ε ~ N(0, I)                       # 采样随机噪声
    x_t = √ᾱ_t * x₀ + √(1−ᾱ_t) * ε   # 前向闭式加噪
    loss = MSE(ε_θ(x_t, t), ε)        # 让网络预测噪声
    optimizer.step(loss)

# 采样(伪代码)
x_T ~ N(0, I)                         # 从纯高斯噪声出发
for t in reversed(时间步序列):          # DDPM 为 T→1;DDIM 可只取 20~50 步
    ε_pred = ε_θ(x_t, t)              # 网络预测当前噪声
    x_{t-1} = 去噪更新(x_t, ε_pred, t)  # 去噪 + 随机扰动(DDIM 可置零)
return x₀                             # 生成的图像

三、从像素空间到潜空间:Latent Diffusion 与 Stable Diffusion ​

DDPM 有一个致命缺点:慢。在 512×512×3 的像素空间里迭代 1000 步,训练和推理都贵得无法商用。潜空间扩散模型(Latent Diffusion Model, LDM,2022) 用一招化解:不在像素空间扩散,而是先在 VAE 潜空间里扩散——这正是 Stable Diffusion 的直接前身。

1. 为什么是潜空间 ​

图像高度冗余:相邻像素高度相关,真正的语义信息远少于像素数。先用变分自编码器(Variational Autoencoder, VAE) 把图像压进低维潜空间再扩散,计算量直接降一个数量级:

像素空间扩散(DDPM)潜空间扩散(LDM/SD)
操作维度512×512×3 ≈ 78 万维64×64×4 ≈ 1.6 万维
相对计算量~1约 1/50
生成分辨率难以突破 128×128轻松 512×512、1024×1024

更妙的是,VAE 的潜空间是有语义的连续空间:在潜空间里插值、混合、编辑,对应到图像上就是平滑自然的变化——它为第四节的所有条件控制技术提供了舞台。

2. 架构:文本编码器 + UNet/DiT + VAE ​

Stable Diffusion 的生成管线由三大模块协作完成,文字图画出来是这样的:

                    ┌──────────────────────────────────────────┐
  文字提示 ──▶ CLIP 文本编码器 ──▶ 文本嵌入(77 token × 768 维)
   "a red fox..."                                           │
                                                            ▼
  随机噪声 z_T ──▶ UNet/DiT(潜空间去噪)──▶ 潜变量 z₀ ──▶ VAE 解码器 ──▶ 图像
                        ▲  ▲                                   │
                        │  └── cross-attention 注入文本条件     │
                        └────── timestep 嵌入(当前时刻 t)     ┘

各组件分工:

组件作用备注
VAE 编码器图像 → 潜空间(压缩 8 倍)训练时造训练样本用
VAE 解码器潜变量 → 像素图像生成流程的最后一步
UNet / DiT在潜空间预测噪声(逐步去噪)模型的"大脑",SD 1.5 的 UNet 约 8.6 亿参数
CLIP 文本编码器提示词 → 文本嵌入SD 1.x 用 CLIP ViT-L/14,SDXL 用双编码器
Cross-Attention把文本条件注入去噪网络各层文生图能力的核心机制

UNet 是带跳跃连接(skip connection)的编码器-解码器卷积网络:编码器逐层下采样提取多尺度特征,解码器逐层上采样还原,跳跃连接保住细节。它先在医学图像分割领域被验证,随后被扩散模型改造:每层加入时间步嵌入,并在中间层加入文本的交叉注意力。

交叉注意力(Cross-Attention) 是文生图的魔法所在:把 UNet 的中间特征作为查询(Query),文本嵌入作为键值(Key/Value),让"图像的每个位置去关注它相关的文字"——这正是Transformer 与注意力机制的思想被移植到图像生成中,图像与文本第一次在特征级深度耦合。

骨干正在向 Transformer 收敛

扩散模型的骨干最初是 CNN 的 UNet,但最新一代(SD3、SD3.5、Sora、FLUX)越来越多地采用 DiT(Diffusion Transformer):把图像切成 patch 序列,直接用 Transformer 处理。生成式 AI 的骨架正在收敛到同一个架构——Transformer。这也是大语言模型与图像生成殊途同归的技术注脚。

四、条件生成:让生成可控 ​

无条件扩散只能"随机画一张图",真正可用的是条件生成(conditional generation)——给定提示词、参考图或结构约束,生成符合意图的内容。三个层次由浅入深:

1. 文本条件:CLIP 与文本编码器 ​

最基础的条件是文本。CLIP(Contrastive Language-Image Pre-training,对比语言-图像预训练) 通过对比学习把图像与文本嵌入到同一语义空间,让文本嵌入与图像内容可对齐;SD 用 CLIP 的文本编码器把提示词转成嵌入向量,再经交叉注意力注入去噪网络。条件与无条件之间的权衡由无分类器引导(Classifier-Free Guidance, CFG) 控制:

ε_θ = ε_θ_uncond + guidance_scale · (ε_θ_cond − ε_θ_uncond)

guidance_scale 越大输出越贴提示词,但多样性越低(典型取值 7~8)。文本-图像对齐的完整机制,见多模态模型。

2. ControlNet:结构控制 ​

文本只能描述"是什么",难以描述"在哪里、什么姿势"。ControlNet(2023) 把边缘图、深度图、骨架姿态、线稿等条件图直接注入去噪网络:

 输入图 ─▶ 边缘/深度/姿态提取 ─▶ 条件图
                                        │
                              ControlNet(主干的可训练副本)
                                        │
  提示词 ─▶ 文本编码 ─▶ 主干 UNet(权重冻结)◀── 条件特征注入

ControlNet 的思路是在冻结主干旁边加一个可训练的分支,让条件信号"零成本"接入既有的强大模型。实际效果:给定一张人物骨架,就能在保持姿态不变的前提下换装、换背景——构图控制从此成为设计师的日常工具。

3. LoRA:风格与角色的低成本定制 ​

想生成"特定画师风格"或"特定角色",不必重新训练整个模型。LoRA(Low-Rank Adaptation,低秩适配) 只训练插入到主干里的低秩矩阵,用几十张图片、单张消费级显卡就能完成风格定制,推理时几十 MB 的权重文件随插随卸:

维度全量微调LoRA 适配
需调整参数十亿级百万级(约 1/1000)
训练显存多卡 A100单卡 12~24GB
训练数据需求数万张20~100 张
可组合性每模型一个多个 LoRA 可叠加混用

LoRA 已从 LLM 微调范式演化为扩散生态的"风格插件"标准。想深入微调方法论,见微调与 PEFT(LoRA);想了解它的工程落地,可读从零微调你自己的 LLM。

五、与 GAN / VAE / 自回归的路线对比 ​

扩散模型不是凭空出现的,它站在 VAE 与 GAN 的肩膀上,又与自回归路线各司其职。放在一张表里看:

维度GANVAE扩散模型自回归
核心思想生成器骗判别器压缩-重建加噪-去噪逐个预测下一个 token/patch
生成质量好,易崩偏模糊当前最佳文本最佳,图像慢
多样性差(模式崩塌)好好好
训练稳定性差(对抗不稳定)稳定稳定稳定
可控性(条件注入)中中强(文本/结构/图)强(指令式)
采样速度快快慢(需加速)中(逐 token 长)

一句话判断:要图像/音频/视频的"高保真生成",扩散是当前事实标准;要文本的"灵活生成",自回归是霸主;VAE 是理论基石与潜空间基础设施;GAN 在实时小模型与部分科学任务中仍有存在感。 各路线在技术演进中的位置,还可参考演进简史。

六、应用版图:从文生图到世界模拟器 ​

扩散模型已经渗透到几乎每一种内容模态:

  • 文生图(text-to-image):Midjourney、Stable Diffusion、DALL·E 3、FLUX 等。Midjourney 以美学风格见长,SD 以开源生态见长,详见Midjourney 与图像生成;
  • 文生视频(text-to-video):Sora、Runway Gen-3、可灵、Veo、Luma 等。视频是"空间+时间"双重任务,对一致性与算力的要求高一个量级。Sora 用时空 patch + DiT 在视频上做扩散,其技术报告直接称视频生成模型为"世界模拟器(world simulators)",详见Sora 与视频生成;
  • 音频生成:文生音乐(Stable Audio、AudioLDM)、TTS 中的扩散模型(DiffWave 等)、音效与声音克隆;
  • 3D 生成:DreamFusion、Point-E、TripoSR、TRELLIS 等,从"文生 3D 模型"到"图生 3D 资产",正在改写游戏与影视资产管线;
  • 图像编辑与修复:图生图、局部重绘(inpainting)、超分辨率——全部依赖 DDIM 的确定性采样与条件注入;
  • 科学生成:分子构象生成、蛋白质结构生成、材料设计——扩散在连续空间建模上的优势被逐步迁移到科学领域。
模态代表系统骨干成熟度
图像Midjourney / SD / DALL·E 3UNet → DiT商用成熟
视频Sora / Veo / 可灵DiT + 时空 patch快速追赶中
音频Stable Audio / AudioLDMUNet/DiT商用起步
3DDreamFusion / TRELLIS3D 表示 + 扩散研究→落地

七、局限与争议 ​

扩散模型并非银弹,五个问题绕不开:

  1. 算力成本高:训练要在潜空间迭代数千步,推理也要数十步去噪,视频生成的单次推理成本更是远超文本模型。这让"少步采样 + 蒸馏"(LCM、SDXL Turbo、ADD)成为工业界竞相攻关的方向;
  2. 版权与数据合规:Stable Diffusion 训练自 LAION-5B——一个从互联网抓取的海量图文对数据集,其中包含大量受版权保护的图片,由此引发 Getty Images 诉 Stability AI、艺术家集体诉讼等标志性案件。核心争议至今未定:训练行为是否构成侵权?模型输出是否算"衍生作品"?行业回应是"授权数据"路线(Adobe Firefly 只用授权图训练),而机制层面"模型到底记住了什么"仍是开放问题。合规框架见AI 安全与治理;
  3. "手部/文字渲染"等高频细节难题:早期 SD 画手指、画文字经常翻车。原因包括:潜空间压缩会丢弃高频细节、UNet 的注意力对局部小结构建模不足、训练数据中特定姿态与字体的样本稀少。改善靠更大更强的模型(SDXL 手部明显进步)、更强的 VAE、DiT 的全局建模以及针对性数据清洗;
  4. 评估难:生成没有"标准答案"。FID(Fréchet Inception Distance) 衡量生成分布与真实分布的特征距离,却可被"记忆训练图"作弊;CLIP Score 衡量图文对齐度,却与美学无关;最终仍要靠人工双盲对比。评估体系见评估与验证;
  5. 深度伪造与真实性危机:换脸、伪造视频让"眼见为实"失效,C2PA、SynthID 等水印方案与检测技术持续博弈。从业者需要在部署层加内容过滤与标注规范。

生成 ≠ 真实

扩散模型的优化目标是"分布相似",不是"事实正确"。AI 生成的图像/视频既可能是创作工具,也可能是误导与侵权工具。工程定位上请始终把它当作"需要验证与治理的创造性产物"。

八、与 LLM 的关系:像素归扩散,语言归 LLM ​

一个常见误区是把"生成式 AI"等同于"大语言模型"。实际上在主流多模态系统里,二者分工明确:

  • 扩散模型管"生成像素":把语义条件翻译成高保真的图像、视频、音频;
  • LLM 管"语言理解与指令":解析用户意图、改写/优化提示词、规划生成任务,是"调度大脑";
  • 文本编码器是桥梁:CLIP、T5 等把语言侧的表示转成扩散侧可注入的条件向量。

几个真实协作案例:

  • Sora:用 DALL·E 3 同款的重描述(recaptioning)技术把视频数据"翻译"成高质量文本标注,再以文本为条件做视频扩散;
  • Stable Diffusion 3 / FLUX:改用 T5 等更强的文本编码器,显著提升复杂提示词(多物体、多关系)的遵循能力;
  • Agent 化的工作流:LLM 规划"先画什么、用什么风格、迭代几次",扩散模型执行生成,二者通过工具调用组合成完整的AI 智能体(Agent)系统。

架构上的殊途同归

图像侧骨干从 UNet 走向 DiT,文本侧本就是 Transformer;训练范式上,扩散的"预测噪声"与 LLM 的"预测下一个 token"都指向"从扰动中恢复结构"。两者正在同一个 Transformer 基座上汇合——理解Transformer 与注意力机制与大语言模型,就掌握了多模态生成时代的共同底座。

九、权衡与取舍 ​

实践者常在这四组张力中做选择:

  • 速度 vs 质量:采样步数、模型规模、蒸馏程度构成一个三角。LCM/Turbo 换来实时性,代价是细节与多样性;要"又快又好"只能加算力;
  • 可控性 vs 多样性:CFG 引导越强、ControlNet 约束越紧,输出越贴意图但越趋同。艺术创作要多样性,产品落地要一致性——参数按场景调;
  • 开源自部署 vs 闭源 API:SD 系列可控、可定制、无按量计费,但要自己管 GPU、显存与安全过滤;Midjourney、DALL·E 3 开箱即用,但缺乏底层控制。这是成本结构问题,不是技术偏好问题;
  • 基础模型 vs 微调生态:通用底座覆盖面广但专项不精;社区微调模型(DreamShaper、写实系)在某类内容上更优但泛化变窄。生产环境常见组合是"一个底座 + 若干 LoRA"。

十、延伸阅读 ​

参考资料 ​