跳转到内容

扩散模型教程第4章:与 GAN、VAE 对照

本章是系列第 4 章:把第 1 章 §4 的”三家族直觉对比”深化成机制级对照——从目标函数、训练稳定性、算力账、适用边界四个维度,讲清扩散、GAN、VAE 各自的数学母题与失效根因。 前置:第 1 章(三家族直觉与选型)、第 2 章(DDPM 机制)。本章假设你已知道扩散”多步去噪”的基本框架。 系列内:机制族与替代路线见 第 5 章 五大机制族;隐空间扩散(VAE + 扩散的组合)见 隐空间扩散深入

第 1 章已经用一张表对比过三家族。本章要回答的是更深的”为什么”——为什么 GAN 会崩、为什么扩散慢、为什么 VAE 糊。学完本章,你应能:

  1. 写出或口述 VAE / GAN / 扩散三者的目标函数母题,并说清它们各自在优化什么。
  2. 解释 GAN 训练不稳定的根因(对抗博弈无单调损失),以及扩散为何稳定。
  3. 算一笔算力账:三家在训练成本、采样成本上的量级差异,以及这对生物高通量场景意味着什么。
  4. 给一个具体生物任务,判断该用三家中的哪一家,或哪种组合
  5. 说清为什么现代趋势是”三家融合”而非”一家独大”——尤其是 VAE + 扩散的隐空间扩散范式。

字数与深度定位:对照与选型章(约 8500–12000 汉字)。推导每个目标函数的完整数学、教任何一家的具体实现。


在深入对照前,先用一句话把三家的”造样本方式”钉住(第 1 章讲过,这里作为对照基准):

家族一句话机制生成一个样本要几次网络前向
VAE编码器把数据压进低维潜空间,解码器从潜变量重建;用 KL 把潜空间拉成简单分布1 次(采 z → 解码)
GAN生成器造假、判别器抓假,两者对抗到判别器分不清1 次(噪声 → 生成器)
扩散固定加噪过程 + 学去噪,从纯噪声多步还原几十到上千次(每步一次去噪网络)
三家族的生成路径对照

一个关键观察:VAE 和 GAN 都是”一步生成器”(一次前向出样本),扩散是”多步生成器”(把生成拆成一长串小步)。本章后面所有的质量、稳定性、速度差异,追根溯源几乎都能回到这个”一步 vs 多步”的分野上。


3. 维度一:目标函数——三家到底在优化什么

Section titled “3. 维度一:目标函数——三家到底在优化什么”

这是三家最本质的区别。目标函数决定了模型学什么、怎么失败、能到多好

3.1 VAE:最大化似然的下界(ELBO)

Section titled “3.1 VAE:最大化似然的下界(ELBO)”

VAE 想直接建模数据的概率 p(x)p(x),但真实似然算不出来,于是优化它的一个下界(Evidence Lower BOund,ELBO):

LVAE=Eq(zx)[logp(xz)]重建项DKL(q(zx)p(z))正则项\mathcal{L}_{\text{VAE}} = \underbrace{\mathbb{E}_{q(z|x)}[\log p(x|z)]}_{\text{重建项}} - \underbrace{D_{\text{KL}}(q(z|x)\,\|\,p(z))}_{\text{正则项}}

翻译成人话:第一项要求”从潜变量 z 能重建回原数据”(重建要准),第二项要求”编码出的潜分布要贴近简单先验 N(0,I)\mathcal{N}(0,I)“(潜空间要规整)。两项在打架——重建想保留所有细节(潜空间越复杂越好),正则想把潜空间压平(越简单越好)。

这个拉锯就是 VAE 偏糊的根源:为了让潜空间规整、可采样,解码器被迫牺牲高频细节。你调大重建项权重能锐一点,但潜空间会变乱、采样质量掉;调大 KL 权重潜空间干净了,但重建更糊。这是 VAE 绕不开的结构性妥协

3.2 GAN:最小化真假分布的散度(对抗博弈)

Section titled “3.2 GAN:最小化真假分布的散度(对抗博弈)”

GAN 不显式建模概率,而是让两个网络对抗。原始 GAN 的目标是一个 min-max 博弈

minGmaxD  Expdata[logD(x)]+Ez[log(1D(G(z)))]\min_G \max_D \; \mathbb{E}_{x\sim p_{\text{data}}}[\log D(x)] + \mathbb{E}_{z}[\log(1 - D(G(z)))]

翻译:判别器 DD 想最大化”正确区分真假”的能力,生成器 GG 想最小化”被识破”的概率。在理论最优点,这等价于最小化真实分布与生成分布之间的 Jensen-Shannon 散度

关键在于这是一个”没有静态目标”的优化GGDD 互为对手,GG 的损失地形随 DD 变化而不断改变。没有一个”一路下降就到最优”的标量损失——这与 VAE、扩散的”单调下降式”训练有本质区别,也是 GAN 一切不稳定的数学根源(§4 详说)。

3.3 扩散:最小化各噪声水平下的去噪误差

Section titled “3.3 扩散:最小化各噪声水平下的去噪误差”

扩散的目标函数是三家里最简单、最稳的(第 2、3 章讲过):

Ldiff=Et,x0,ε[εεθ(xt,t)2]\mathcal{L}_{\text{diff}} = \mathbb{E}_{t, x_0, \varepsilon}\big[\, \|\varepsilon - \varepsilon_\theta(x_t, t)\|^2 \,\big]

翻译:随机抽一个样本、一个噪声水平 tt、一份噪声,合成带噪样本,让网络预测这份噪声。就是一个加了时间条件的回归(MSE)

它为什么能等价于建模分布:可以证明,“预测噪声”和”估计数据分布的分数 xlogp(x)\nabla_x \log p(x)“只差一个已知系数(第 2 章 §8)。所以扩散虽然长得像个普通回归,实际在学整条数据分布——但它把这件难事拆成了无数个简单的、有监督的小回归,每个噪声水平一个。

VAEGAN扩散
数学母题最大化似然下界 ELBO最小化真假分布散度(博弈)最小化去噪误差(≈分数匹配)
是否显式建模概率是(有下界)否(隐式)是(可连接分数/SDE)
损失是否单调可降(min-max)
一句话学”压缩+重建”学”骗过裁判”学”逐步去噪”
天生的软肋重建 vs 规整的拉锯 → 糊无静态目标 → 不稳定多步 → 慢

这张表是本章的骨架。后面三个维度(稳定性、算力、边界)全都是这三个目标函数母题的直接后果


4. 维度二:训练稳定性——为什么 GAN 难调、扩散好训

Section titled “4. 维度二:训练稳定性——为什么 GAN 难调、扩散好训”

GAN 的不稳定不是”调参没调好”,而是目标函数结构决定的。三种最常见的失败:

崩法现象根因
模式崩塌(mode collapse)生成器只会产少数几种样本(比如永远画同一张脸)生成器发现”骗过判别器”只需覆盖部分模式,就偷懒不覆盖全分布
训练发散生成质量先升后崩,loss 剧烈震荡GGDD 强弱失衡,一方碾压另一方,梯度失去意义
梯度消失判别器太强,生成器学不动DD 完美区分真假时,GG 的梯度趋近于 0

共同根源:博弈没有一个”越走越好”的方向。GGDDDDGG,就像两个人互相追逐,可能永远绕圈(震荡)、可能一方彻底放弃(崩塌)。理论上的纳什均衡存在,但梯度下降不保证能到达它

扩散把”一次生成整个样本”这个难题,拆成了”在每个噪声水平上预测噪声”这一串简单的有监督回归。每一步都有:

  • 明确的真值(前向过程加进去的那份噪声就是 label);
  • 单调可降的损失(MSE,梯度方向明确);
  • 没有对手(不存在另一个网络跟它博弈)。

类比:GAN 像让一个学生和一个不断进步的考官对抗答题——考官越来越刁钻,学生可能被逼疯(发散)或干脆背几道标准答案应付(崩塌)。扩散像给学生一本有标准答案的习题册,每道题都能对答案、逐步进步。没有对手,就没有博弈的不稳定。

VAE 也是单目标优化(ELBO 单调可降),训练稳定性介于两者之间。它的问题不是”崩”,而是”后验崩塌(posterior collapse)“——当解码器太强时,模型会忽略潜变量 z(KL 项直接压到 0),退化成一个不看 z 的普通自编码器,生成的多样性就没了。这不是训练发散,而是学歪了

4.4 稳定性对生物任务的现实意义

Section titled “4.4 稳定性对生物任务的现实意义”

实验室的算力和人力都有限,训练稳定性直接等于”能不能出结果”

  • GAN 调参往往需要大量试错(学习率、GG/DD 更新比例、正则),一次训练可能白跑;对没有专职炼丹工程师的生物课题组不友好。
  • 扩散”配置对了基本能训出来”,这种确定性在数据稀缺、试错成本高的生物场景里是巨大加分。
  • 这也是近几年蛋白、分子、组学生成大量转向扩散的工程性原因之一(不只是质量,更是”训得出来”)。

5. 维度三:算力账——三家的成本量级

Section titled “5. 维度三:算力账——三家的成本量级”

质量和稳定性之外,算力成本是生物高通量场景绕不开的现实约束。要分开算”训练成本”和”采样成本”。

5.1 采样成本:扩散的阿喀琉斯之踵

Section titled “5.1 采样成本:扩散的阿喀琉斯之踵”
家族生成 N 个样本的网络前向次数相对速度
VAEN×1N \times 1
GANN×1N \times 1
扩散(原生 DDPM)N×1000N \times 1000慢约 1000 倍
扩散(DDIM/DPM++ 加速后)N×20N \times 20慢约 20 倍

这是扩散唯一真正的硬伤。当你要生成百万级候选分子做虚拟筛选,“每个样本 20 次前向 vs 1 次前向”就是 20 倍的电费和时间差。第 6 章的采样加速、第 5/7 章的少步范式(一致性模型、LCM),本质都在和这笔账搏斗。

5.2 训练成本:三家其实同一量级

Section titled “5.2 训练成本:三家其实同一量级”

一个常见误解是”扩散训练也贵”。其实扩散的单步训练和 VAE/GAN 差不多——都是跑一次网络 + 反向传播。扩散训练时每个样本只随机抽一个 tt(第 2 章讲的闭式跳步),不需要跑完整条链。所以:

  • 训练成本:三家同量级(扩散因为要覆盖所有噪声水平,可能需要更多训练步数,但单步不贵);
  • 采样成本:扩散显著更贵(多步)。

结论:扩散的成本痛点在推理/采样,不在训练。这对”训一次、反复采样做高通量筛选”的生物场景尤其关键——你的成本大头在采样端。

5.3 一笔具体的账(虚拟筛选场景)

Section titled “5.3 一笔具体的账(虚拟筛选场景)”

假设要生成 100 万个候选分子:

  • GAN:100 万次前向,可能几小时。
  • 扩散(DDIM 20 步):2000 万次前向,可能几十小时甚至几天。

这就是为什么在”只要质量过得去、要极致吞吐”的粗筛阶段,有人仍会考虑 GAN 或 VAE;而在”要高质量、多样、可控的精筛候选”阶段,才上扩散。算力账驱动了流水线的分工

这笔账还有两个容易被忽略的维度。其一是摊销:训练成本是一次性的,采样成本却随你要的样本数线性增长。如果你只需要生成几百个高价值候选(比如蛋白 binder 设计,每个候选后面跟着昂贵的湿实验),那扩散多花的采样时间根本不值一提——瓶颈在湿实验,不在 GPU。反过来,若你要为下游训练生成千万级增强样本,采样成本就会主导整个项目预算,这时少步范式(第 7 章)或干脆换更快的家族才有意义。其二是”废样本”的隐藏成本:GAN 快,但如果它模式崩塌、大量输出重复或无效,你实际拿到的”有效候选数”远低于名义生成数,折算下来单位有效样本的成本未必比扩散低。算力账要算的是”单位可用候选的总成本”,不是”单次前向的耗时”——这一点在生物场景(后面还有对接、合成、实验层层过滤)尤其重要。

一个实用的决策顺序:先估算你真正需要多少个可用候选,再乘以每类模型的”生成一个可用候选的期望成本”(含无效率折算),最后才比总账。很多人一上来就纠结”扩散是不是太慢”,却没算过自己其实只需要 200 个候选——那这个问题根本不存在。


6. 维度四:适用边界——什么时候该用哪一家

Section titled “6. 维度四:适用边界——什么时候该用哪一家”

把前三个维度合起来,就能给出选型逻辑。

你的需求首选理由
高质量 + 多样 + 可控的候选(分子、蛋白骨架、病理图)扩散质量、稳定、条件控制三者兼得,慢可以用加速缓解
极致采样速度、质量要求一般(超大批量粗筛)GAN一步出图,吞吐之王
需要平滑可插值的潜空间(表示学习、降维、异常检测)VAE潜空间连续规整,天生适合做表示
需要显式似然/密度估计VAE 或扩散GAN 无显式似然
数据极少、算力紧张看情况可能都不该用生成模型,先看传统方法
三家族选型直觉

6.3 边界的动态性:加速正在改变账本

Section titled “6.3 边界的动态性:加速正在改变账本”

要注意上面的边界不是静态的。扩散”慢”这个软肋正在被快速侵蚀:

  • DDIM / DPM++ 把 1000 步压到 20 步(第 6 章);
  • 一致性模型、LCM、SDXL Turbo 把它压到 1–4 步(第 5、7 章);
  • 少步扩散一旦稳定,“GAN 速度优势”这个选型理由就会大幅缩小。

所以选型时要看”当前”的账本:如果你的扩散模型能用少步范式做到 4 步出样,那 GAN 的速度优势就没那么诱人了——这时质量和稳定性会让天平进一步偏向扩散。


本章最重要的一个认知升级:不要把三家看成”谁取代谁”,现代最强的生成系统往往是三家的组合

7.1 VAE + 扩散 = 隐空间扩散(LDM)

Section titled “7.1 VAE + 扩散 = 隐空间扩散(LDM)”

最典型的融合就是 Stable Diffusion:它先用一个 VAE 把高分辨率图像压进低维潜空间,再在潜空间里跑扩散。这样:

  • 借了 VAE 的压缩能力(在小得多的潜空间上算,省显存省算力);
  • 借了扩散的生成质量与稳定性(在潜空间里多步去噪)。

换句话说,你用的 Stable Diffusion 本质是”VAE + 扩散”的合体,不是纯扩散。隐空间扩散的完整设计见 隐空间扩散深入。这套思路在生物里也在用——潜空间蛋白扩散、潜空间单细胞扩散都是同一个母题。

  • 对抗损失做后处理:一些扩散工作在训练里加一点对抗损失来锐化细节(借 GAN 的”锐”补扩散在少步时的”糊”)。
  • 蒸馏出一步生成器:把训好的多步扩散模型蒸馏成一步(如一致性模型),得到的其实就是一个”一步生成器”——形式上向 GAN/VAE 靠拢,但训练稳定性来自扩散。
三家融合的现代格局

给你的实践建议:学扩散不等于要否定 VAE 和 GAN。理解三家各自的目标函数母题,你才能看懂现代系统”哪一块用了谁、为什么这么拼”。读一篇新论文时,先问”它的骨架是纯扩散,还是 VAE+扩散,还是掺了对抗损失”——这比记模型名字有用得多。


  • 能写出或口述 VAE(ELBO)、GAN(min-max 博弈)、扩散(去噪 MSE)三者的目标函数母题
  • 能解释 GAN 三种崩法(模式崩塌 / 发散 / 梯度消失)的共同根因是”无静态目标的博弈”
  • 能说清扩散为什么稳定(多步有监督回归、无对手)
  • 能区分”训练成本”和”采样成本”,知道扩散的痛点在采样而非训练
  • 能给一个生物任务选出三家中合适的一家或组合
  • 理解 Stable Diffusion 本质是 VAE + 扩散,而非纯扩散
  • 知道扩散”慢”的边界正在被少步范式侵蚀,选型要看当前账本

Q1. 有人说”GAN 训练崩了,加大判别器学习率就能修好”。这个思路对吗?

参考要点

不一定,甚至常常更糟。GAN 不稳定的根因是”对抗博弈没有单调下降的目标”,是结构性的,不是单个超参没调好。盲目加大 DD 的学习率可能让判别器碾压生成器,导致梯度消失(GG 学不动)。正确思路是平衡 GG/DD 的强弱(更新比例、正则如谱归一化、梯度惩罚),而不是单方面加强一边。

Q2. 为什么说扩散训练成本和 VAE/GAN 是同一量级,但采样成本高得多?

参考要点

训练时扩散每个样本只随机抽一个噪声水平 tt,用闭式一步造带噪样本,跑一次网络(第 2 章闭式跳步),单步成本和 VAE/GAN 一次前向差不多。但采样时必须从纯噪声多步去噪(原生 1000 步、加速后 20 步),每步一次网络前向,所以采样成本是 VAE/GAN 的几十上千倍。痛点在推理端,不在训练端。

Q3. 你的课题要生成 500 万个候选分子做初筛,质量要求不高但要快;随后从初筛结果里精选 5000 个做高质量优化。这两个阶段分别更适合哪一家?

参考要点

初筛阶段(500 万、要快、质量一般):GAN 或 VAE 的一步生成更划算,扩散的多步采样在这个量级会很贵。精选阶段(5000 个、要高质量+多样+可控):扩散更合适,此时样本量小,多步采样的成本可以接受,换来质量和可控性。这正是”算力账驱动流水线分工”的典型例子。

Q4. 为什么说”学扩散不应该否定 VAE”?举一个它们协同的具体例子。

参考要点

因为现代主流的隐空间扩散(LDM,如 Stable Diffusion)本质就是 VAE + 扩散的组合:先用 VAE 把高维数据压进低维潜空间,再在潜空间里跑扩散,兼得 VAE 的压缩效率和扩散的生成质量。生物里的潜空间蛋白扩散、潜空间单细胞扩散同理。理解 VAE 的潜空间,才能看懂这类系统”为什么先压缩再扩散”。


  • 第 1 章 生成直觉:本章把第 1 章 §4 的三家族直觉对比表,深化为目标函数、稳定性、算力、边界四维度的机制级对照。
  • 第 2 章 前向加噪与反向去噪:本章 §3.3 的去噪目标函数、§5.2 的闭式跳步训练成本,都建立在第 2 章的机制上。
  • 第 5 章 五大机制族:本章讲”扩散 vs 其他家族”,第 5 章讲”扩散内部的机制族分化”。
  • 隐空间扩散深入:本章 §7.1 提到的 VAE + 扩散组合,在这里有完整设计。

文献 / 资源为什么看阅读深度建议
Dhariwal & Nichol, Diffusion Models Beat GANs, 2021扩散首次系统超过 GAN 的转折点读实验对比与 classifier guidance 动机
Ho & Salimans, Classifier-Free Guidance, 2022条件控制成为扩散标配的关键第 6 章配合读
Rombach et al., Latent Diffusion (LDM), 2022VAE + 扩散融合的代表读”为什么先压缩再扩散”
Kingma & Welling, VAE, 2013ELBO 目标函数的原始出处读目标函数推导直觉
Goodfellow et al., GAN, 2014对抗博弈目标的原始出处读 min-max 与理论最优点

说明:本章以机制对照与选型逻辑为主;三家融合的具体系统设计在隐空间扩散页与第 5 章展开。