扩散模型教程第4章:与 GAN、VAE 对照
本章是系列第 4 章:把第 1 章 §4 的”三家族直觉对比”深化成机制级对照——从目标函数、训练稳定性、算力账、适用边界四个维度,讲清扩散、GAN、VAE 各自的数学母题与失效根因。 前置:第 1 章(三家族直觉与选型)、第 2 章(DDPM 机制)。本章假设你已知道扩散”多步去噪”的基本框架。 系列内:机制族与替代路线见 第 5 章 五大机制族;隐空间扩散(VAE + 扩散的组合)见 隐空间扩散深入。
1. 本章目标与验收标准
Section titled “1. 本章目标与验收标准”第 1 章已经用一张表对比过三家族。本章要回答的是更深的”为什么”——为什么 GAN 会崩、为什么扩散慢、为什么 VAE 糊。学完本章,你应能:
- 写出或口述 VAE / GAN / 扩散三者的目标函数母题,并说清它们各自在优化什么。
- 解释 GAN 训练不稳定的根因(对抗博弈无单调损失),以及扩散为何稳定。
- 算一笔算力账:三家在训练成本、采样成本上的量级差异,以及这对生物高通量场景意味着什么。
- 给一个具体生物任务,判断该用三家中的哪一家,或哪种组合。
- 说清为什么现代趋势是”三家融合”而非”一家独大”——尤其是 VAE + 扩散的隐空间扩散范式。
字数与深度定位:对照与选型章(约 8500–12000 汉字)。不推导每个目标函数的完整数学、不教任何一家的具体实现。
2. 三家族的一句话机制回顾
Section titled “2. 三家族的一句话机制回顾”在深入对照前,先用一句话把三家的”造样本方式”钉住(第 1 章讲过,这里作为对照基准):
| 家族 | 一句话机制 | 生成一个样本要几次网络前向 |
|---|---|---|
| VAE | 编码器把数据压进低维潜空间,解码器从潜变量重建;用 KL 把潜空间拉成简单分布 | 1 次(采 z → 解码) |
| GAN | 生成器造假、判别器抓假,两者对抗到判别器分不清 | 1 次(噪声 → 生成器) |
| 扩散 | 固定加噪过程 + 学去噪,从纯噪声多步还原 | 几十到上千次(每步一次去噪网络) |
flowchart TB subgraph VAE v1["数据 x"] --> v2["Encoder → z"] v2 --> v3["Decoder → 重建 x'"] v2 -.KL.-> v4["N(0,I)"] end subgraph GAN g1["噪声 z"] --> g2["Generator"] g2 --> g3["假样本"] g4["真样本"] --> g5["Discriminator"] g3 --> g5 g5 --> g6["真/假判别 → 对抗"] end subgraph Diffusion d1["噪声 x_T"] --> d2["去噪 · 步 T"] d2 --> d3["去噪 · 步 ..."] d3 --> d4["去噪 · 步 1 → x_0"] end
一个关键观察:VAE 和 GAN 都是”一步生成器”(一次前向出样本),扩散是”多步生成器”(把生成拆成一长串小步)。本章后面所有的质量、稳定性、速度差异,追根溯源几乎都能回到这个”一步 vs 多步”的分野上。
3. 维度一:目标函数——三家到底在优化什么
Section titled “3. 维度一:目标函数——三家到底在优化什么”这是三家最本质的区别。目标函数决定了模型学什么、怎么失败、能到多好。
3.1 VAE:最大化似然的下界(ELBO)
Section titled “3.1 VAE:最大化似然的下界(ELBO)”VAE 想直接建模数据的概率 ,但真实似然算不出来,于是优化它的一个下界(Evidence Lower BOund,ELBO):
翻译成人话:第一项要求”从潜变量 z 能重建回原数据”(重建要准),第二项要求”编码出的潜分布要贴近简单先验 “(潜空间要规整)。两项在打架——重建想保留所有细节(潜空间越复杂越好),正则想把潜空间压平(越简单越好)。
这个拉锯就是 VAE 偏糊的根源:为了让潜空间规整、可采样,解码器被迫牺牲高频细节。你调大重建项权重能锐一点,但潜空间会变乱、采样质量掉;调大 KL 权重潜空间干净了,但重建更糊。这是 VAE 绕不开的结构性妥协。
3.2 GAN:最小化真假分布的散度(对抗博弈)
Section titled “3.2 GAN:最小化真假分布的散度(对抗博弈)”GAN 不显式建模概率,而是让两个网络对抗。原始 GAN 的目标是一个 min-max 博弈:
翻译:判别器 想最大化”正确区分真假”的能力,生成器 想最小化”被识破”的概率。在理论最优点,这等价于最小化真实分布与生成分布之间的 Jensen-Shannon 散度。
关键在于这是一个”没有静态目标”的优化: 和 互为对手, 的损失地形随 变化而不断改变。没有一个”一路下降就到最优”的标量损失——这与 VAE、扩散的”单调下降式”训练有本质区别,也是 GAN 一切不稳定的数学根源(§4 详说)。
3.3 扩散:最小化各噪声水平下的去噪误差
Section titled “3.3 扩散:最小化各噪声水平下的去噪误差”扩散的目标函数是三家里最简单、最稳的(第 2、3 章讲过):
翻译:随机抽一个样本、一个噪声水平 、一份噪声,合成带噪样本,让网络预测这份噪声。就是一个加了时间条件的回归(MSE)。
它为什么能等价于建模分布:可以证明,“预测噪声”和”估计数据分布的分数 “只差一个已知系数(第 2 章 §8)。所以扩散虽然长得像个普通回归,实际在学整条数据分布——但它把这件难事拆成了无数个简单的、有监督的小回归,每个噪声水平一个。
3.4 三个目标函数的母题对照
Section titled “3.4 三个目标函数的母题对照”| VAE | GAN | 扩散 | |
|---|---|---|---|
| 数学母题 | 最大化似然下界 ELBO | 最小化真假分布散度(博弈) | 最小化去噪误差(≈分数匹配) |
| 是否显式建模概率 | 是(有下界) | 否(隐式) | 是(可连接分数/SDE) |
| 损失是否单调可降 | 是 | 否(min-max) | 是 |
| 一句话 | 学”压缩+重建” | 学”骗过裁判” | 学”逐步去噪” |
| 天生的软肋 | 重建 vs 规整的拉锯 → 糊 | 无静态目标 → 不稳定 | 多步 → 慢 |
这张表是本章的骨架。后面三个维度(稳定性、算力、边界)全都是这三个目标函数母题的直接后果。
4. 维度二:训练稳定性——为什么 GAN 难调、扩散好训
Section titled “4. 维度二:训练稳定性——为什么 GAN 难调、扩散好训”4.1 GAN 的三种典型崩法
Section titled “4.1 GAN 的三种典型崩法”GAN 的不稳定不是”调参没调好”,而是目标函数结构决定的。三种最常见的失败:
| 崩法 | 现象 | 根因 |
|---|---|---|
| 模式崩塌(mode collapse) | 生成器只会产少数几种样本(比如永远画同一张脸) | 生成器发现”骗过判别器”只需覆盖部分模式,就偷懒不覆盖全分布 |
| 训练发散 | 生成质量先升后崩,loss 剧烈震荡 | 、 强弱失衡,一方碾压另一方,梯度失去意义 |
| 梯度消失 | 判别器太强,生成器学不动 | 完美区分真假时, 的梯度趋近于 0 |
共同根源:博弈没有一个”越走越好”的方向。 追 、 躲 ,就像两个人互相追逐,可能永远绕圈(震荡)、可能一方彻底放弃(崩塌)。理论上的纳什均衡存在,但梯度下降不保证能到达它。
4.2 扩散为什么天生稳定
Section titled “4.2 扩散为什么天生稳定”扩散把”一次生成整个样本”这个难题,拆成了”在每个噪声水平上预测噪声”这一串简单的有监督回归。每一步都有:
- 明确的真值(前向过程加进去的那份噪声就是 label);
- 单调可降的损失(MSE,梯度方向明确);
- 没有对手(不存在另一个网络跟它博弈)。
类比:GAN 像让一个学生和一个不断进步的考官对抗答题——考官越来越刁钻,学生可能被逼疯(发散)或干脆背几道标准答案应付(崩塌)。扩散像给学生一本有标准答案的习题册,每道题都能对答案、逐步进步。没有对手,就没有博弈的不稳定。
4.3 VAE 的稳定性:稳,但有代价
Section titled “4.3 VAE 的稳定性:稳,但有代价”VAE 也是单目标优化(ELBO 单调可降),训练稳定性介于两者之间。它的问题不是”崩”,而是”后验崩塌(posterior collapse)“——当解码器太强时,模型会忽略潜变量 z(KL 项直接压到 0),退化成一个不看 z 的普通自编码器,生成的多样性就没了。这不是训练发散,而是学歪了。
4.4 稳定性对生物任务的现实意义
Section titled “4.4 稳定性对生物任务的现实意义”实验室的算力和人力都有限,训练稳定性直接等于”能不能出结果”:
- GAN 调参往往需要大量试错(学习率、/ 更新比例、正则),一次训练可能白跑;对没有专职炼丹工程师的生物课题组不友好。
- 扩散”配置对了基本能训出来”,这种确定性在数据稀缺、试错成本高的生物场景里是巨大加分。
- 这也是近几年蛋白、分子、组学生成大量转向扩散的工程性原因之一(不只是质量,更是”训得出来”)。
5. 维度三:算力账——三家的成本量级
Section titled “5. 维度三:算力账——三家的成本量级”质量和稳定性之外,算力成本是生物高通量场景绕不开的现实约束。要分开算”训练成本”和”采样成本”。
5.1 采样成本:扩散的阿喀琉斯之踵
Section titled “5.1 采样成本:扩散的阿喀琉斯之踵”| 家族 | 生成 N 个样本的网络前向次数 | 相对速度 |
|---|---|---|
| VAE | 快 | |
| GAN | 快 | |
| 扩散(原生 DDPM) | 慢约 1000 倍 | |
| 扩散(DDIM/DPM++ 加速后) | 慢约 20 倍 |
这是扩散唯一真正的硬伤。当你要生成百万级候选分子做虚拟筛选,“每个样本 20 次前向 vs 1 次前向”就是 20 倍的电费和时间差。第 6 章的采样加速、第 5/7 章的少步范式(一致性模型、LCM),本质都在和这笔账搏斗。
5.2 训练成本:三家其实同一量级
Section titled “5.2 训练成本:三家其实同一量级”一个常见误解是”扩散训练也贵”。其实扩散的单步训练和 VAE/GAN 差不多——都是跑一次网络 + 反向传播。扩散训练时每个样本只随机抽一个 (第 2 章讲的闭式跳步),不需要跑完整条链。所以:
- 训练成本:三家同量级(扩散因为要覆盖所有噪声水平,可能需要更多训练步数,但单步不贵);
- 采样成本:扩散显著更贵(多步)。
结论:扩散的成本痛点在推理/采样,不在训练。这对”训一次、反复采样做高通量筛选”的生物场景尤其关键——你的成本大头在采样端。
5.3 一笔具体的账(虚拟筛选场景)
Section titled “5.3 一笔具体的账(虚拟筛选场景)”假设要生成 100 万个候选分子:
- GAN:100 万次前向,可能几小时。
- 扩散(DDIM 20 步):2000 万次前向,可能几十小时甚至几天。
这就是为什么在”只要质量过得去、要极致吞吐”的粗筛阶段,有人仍会考虑 GAN 或 VAE;而在”要高质量、多样、可控的精筛候选”阶段,才上扩散。算力账驱动了流水线的分工。
这笔账还有两个容易被忽略的维度。其一是摊销:训练成本是一次性的,采样成本却随你要的样本数线性增长。如果你只需要生成几百个高价值候选(比如蛋白 binder 设计,每个候选后面跟着昂贵的湿实验),那扩散多花的采样时间根本不值一提——瓶颈在湿实验,不在 GPU。反过来,若你要为下游训练生成千万级增强样本,采样成本就会主导整个项目预算,这时少步范式(第 7 章)或干脆换更快的家族才有意义。其二是”废样本”的隐藏成本:GAN 快,但如果它模式崩塌、大量输出重复或无效,你实际拿到的”有效候选数”远低于名义生成数,折算下来单位有效样本的成本未必比扩散低。算力账要算的是”单位可用候选的总成本”,不是”单次前向的耗时”——这一点在生物场景(后面还有对接、合成、实验层层过滤)尤其重要。
一个实用的决策顺序:先估算你真正需要多少个可用候选,再乘以每类模型的”生成一个可用候选的期望成本”(含无效率折算),最后才比总账。很多人一上来就纠结”扩散是不是太慢”,却没算过自己其实只需要 200 个候选——那这个问题根本不存在。
6. 维度四:适用边界——什么时候该用哪一家
Section titled “6. 维度四:适用边界——什么时候该用哪一家”把前三个维度合起来,就能给出选型逻辑。
6.1 三家各自的甜点区
Section titled “6.1 三家各自的甜点区”| 你的需求 | 首选 | 理由 |
|---|---|---|
| 高质量 + 多样 + 可控的候选(分子、蛋白骨架、病理图) | 扩散 | 质量、稳定、条件控制三者兼得,慢可以用加速缓解 |
| 极致采样速度、质量要求一般(超大批量粗筛) | GAN | 一步出图,吞吐之王 |
| 需要平滑可插值的潜空间(表示学习、降维、异常检测) | VAE | 潜空间连续规整,天生适合做表示 |
| 需要显式似然/密度估计 | VAE 或扩散 | GAN 无显式似然 |
| 数据极少、算力紧张 | 看情况 | 可能都不该用生成模型,先看传统方法 |
6.2 一个决策直觉图
Section titled “6.2 一个决策直觉图”flowchart TD
Q1{"要一个平滑可操作的<br/>潜空间表示?"} -->|"是"| VAE["VAE(或 VAE+扩散)"]
Q1 -->|"否"| Q2{"要极致采样速度<br/>且质量要求一般?"}
Q2 -->|"是"| GAN["GAN"]
Q2 -->|"否"| Q3{"要高质量+多样+可控<br/>能接受多步采样?"}
Q3 -->|"是"| DIFF["扩散"]
Q3 -->|"否"| Rethink["回头想想是否真需要生成模型"]
6.3 边界的动态性:加速正在改变账本
Section titled “6.3 边界的动态性:加速正在改变账本”要注意上面的边界不是静态的。扩散”慢”这个软肋正在被快速侵蚀:
- DDIM / DPM++ 把 1000 步压到 20 步(第 6 章);
- 一致性模型、LCM、SDXL Turbo 把它压到 1–4 步(第 5、7 章);
- 少步扩散一旦稳定,“GAN 速度优势”这个选型理由就会大幅缩小。
所以选型时要看”当前”的账本:如果你的扩散模型能用少步范式做到 4 步出样,那 GAN 的速度优势就没那么诱人了——这时质量和稳定性会让天平进一步偏向扩散。
7. 三家不是竞争,而是融合
Section titled “7. 三家不是竞争,而是融合”本章最重要的一个认知升级:不要把三家看成”谁取代谁”,现代最强的生成系统往往是三家的组合。
7.1 VAE + 扩散 = 隐空间扩散(LDM)
Section titled “7.1 VAE + 扩散 = 隐空间扩散(LDM)”最典型的融合就是 Stable Diffusion:它先用一个 VAE 把高分辨率图像压进低维潜空间,再在潜空间里跑扩散。这样:
- 借了 VAE 的压缩能力(在小得多的潜空间上算,省显存省算力);
- 借了扩散的生成质量与稳定性(在潜空间里多步去噪)。
换句话说,你用的 Stable Diffusion 本质是”VAE + 扩散”的合体,不是纯扩散。隐空间扩散的完整设计见 隐空间扩散深入。这套思路在生物里也在用——潜空间蛋白扩散、潜空间单细胞扩散都是同一个母题。
7.2 GAN 的思想也在被吸收
Section titled “7.2 GAN 的思想也在被吸收”- 对抗损失做后处理:一些扩散工作在训练里加一点对抗损失来锐化细节(借 GAN 的”锐”补扩散在少步时的”糊”)。
- 蒸馏出一步生成器:把训好的多步扩散模型蒸馏成一步(如一致性模型),得到的其实就是一个”一步生成器”——形式上向 GAN/VAE 靠拢,但训练稳定性来自扩散。
7.3 融合趋势对你的启示
Section titled “7.3 融合趋势对你的启示”flowchart LR VAE["VAE 压缩<br/>潜空间"] --> LDM["隐空间扩散 LDM<br/>现代主流"] DIFF["扩散 生成质量"] --> LDM GAN["GAN 对抗锐化<br/>一步蒸馏"] -.思想吸收.-> LDM LDM --> APP["Stable Diffusion / FLUX<br/>潜空间蛋白/分子扩散"]
给你的实践建议:学扩散不等于要否定 VAE 和 GAN。理解三家各自的目标函数母题,你才能看懂现代系统”哪一块用了谁、为什么这么拼”。读一篇新论文时,先问”它的骨架是纯扩散,还是 VAE+扩散,还是掺了对抗损失”——这比记模型名字有用得多。
8. 本章 Checklist
Section titled “8. 本章 Checklist”- 能写出或口述 VAE(ELBO)、GAN(min-max 博弈)、扩散(去噪 MSE)三者的目标函数母题
- 能解释 GAN 三种崩法(模式崩塌 / 发散 / 梯度消失)的共同根因是”无静态目标的博弈”
- 能说清扩散为什么稳定(多步有监督回归、无对手)
- 能区分”训练成本”和”采样成本”,知道扩散的痛点在采样而非训练
- 能给一个生物任务选出三家中合适的一家或组合
- 理解 Stable Diffusion 本质是 VAE + 扩散,而非纯扩散
- 知道扩散”慢”的边界正在被少步范式侵蚀,选型要看当前账本
9. 自测 4 问
Section titled “9. 自测 4 问”Q1. 有人说”GAN 训练崩了,加大判别器学习率就能修好”。这个思路对吗?
参考要点
不一定,甚至常常更糟。GAN 不稳定的根因是”对抗博弈没有单调下降的目标”,是结构性的,不是单个超参没调好。盲目加大 的学习率可能让判别器碾压生成器,导致梯度消失( 学不动)。正确思路是平衡 / 的强弱(更新比例、正则如谱归一化、梯度惩罚),而不是单方面加强一边。
Q2. 为什么说扩散训练成本和 VAE/GAN 是同一量级,但采样成本高得多?
参考要点
训练时扩散每个样本只随机抽一个噪声水平 ,用闭式一步造带噪样本,跑一次网络(第 2 章闭式跳步),单步成本和 VAE/GAN 一次前向差不多。但采样时必须从纯噪声多步去噪(原生 1000 步、加速后 20 步),每步一次网络前向,所以采样成本是 VAE/GAN 的几十上千倍。痛点在推理端,不在训练端。
Q3. 你的课题要生成 500 万个候选分子做初筛,质量要求不高但要快;随后从初筛结果里精选 5000 个做高质量优化。这两个阶段分别更适合哪一家?
参考要点
初筛阶段(500 万、要快、质量一般):GAN 或 VAE 的一步生成更划算,扩散的多步采样在这个量级会很贵。精选阶段(5000 个、要高质量+多样+可控):扩散更合适,此时样本量小,多步采样的成本可以接受,换来质量和可控性。这正是”算力账驱动流水线分工”的典型例子。
Q4. 为什么说”学扩散不应该否定 VAE”?举一个它们协同的具体例子。
参考要点
因为现代主流的隐空间扩散(LDM,如 Stable Diffusion)本质就是 VAE + 扩散的组合:先用 VAE 把高维数据压进低维潜空间,再在潜空间里跑扩散,兼得 VAE 的压缩效率和扩散的生成质量。生物里的潜空间蛋白扩散、潜空间单细胞扩散同理。理解 VAE 的潜空间,才能看懂这类系统”为什么先压缩再扩散”。
10. 与其他章节的关系
Section titled “10. 与其他章节的关系”- 第 1 章 生成直觉:本章把第 1 章 §4 的三家族直觉对比表,深化为目标函数、稳定性、算力、边界四维度的机制级对照。
- 第 2 章 前向加噪与反向去噪:本章 §3.3 的去噪目标函数、§5.2 的闭式跳步训练成本,都建立在第 2 章的机制上。
- 第 5 章 五大机制族:本章讲”扩散 vs 其他家族”,第 5 章讲”扩散内部的机制族分化”。
- 隐空间扩散深入:本章 §7.1 提到的 VAE + 扩散组合,在这里有完整设计。
11. 延伸阅读
Section titled “11. 延伸阅读”| 文献 / 资源 | 为什么看 | 阅读深度建议 |
|---|---|---|
| Dhariwal & Nichol, Diffusion Models Beat GANs, 2021 | 扩散首次系统超过 GAN 的转折点 | 读实验对比与 classifier guidance 动机 |
| Ho & Salimans, Classifier-Free Guidance, 2022 | 条件控制成为扩散标配的关键 | 第 6 章配合读 |
| Rombach et al., Latent Diffusion (LDM), 2022 | VAE + 扩散融合的代表 | 读”为什么先压缩再扩散” |
| Kingma & Welling, VAE, 2013 | ELBO 目标函数的原始出处 | 读目标函数推导直觉 |
| Goodfellow et al., GAN, 2014 | 对抗博弈目标的原始出处 | 读 min-max 与理论最优点 |
说明:本章以机制对照与选型逻辑为主;三家融合的具体系统设计在隐空间扩散页与第 5 章展开。
主题色
字体
字号
视觉效果
即将离开本站
你将前往外部网站:
该网站与本站无关,本站不对其内容、安全性或可用性负责。确定后将在新标签页打开。