Diffusion 稳定、可控、生成质量高但慢;
GAN 快,但不稳定、易崩、难训练。
Diffusion vs GAN 总对比表
| 维度 | Diffusion Model | GAN |
|---|---|---|
| 训练稳定性 | 非常稳定,几乎不崩 | 极不稳定,容易 mode collapse |
| 生成质量 | 高质量 + 多样性强 | 质量高但常牺牲多样性 |
| 可控性 | 强(Classifier-Free Guidance、条件控制很成熟) | 弱(条件 GAN 容易崩) |
| 潜在空间可解释性 | 连续可逆、多步骤,可解释性强 | 较弱,黑盒、不可逆 |
| 训练/推理速度 | 慢(多步采样) | 快 |
| 训练难度 | 简单(不对抗,无崩) | 难(生成器/判别器博弈) |
| 模式覆盖(diversity) | 优秀,不会 collapse | 易 mode collapse |
| 内存与算力需求 | 高 | 较低 |
| 是否支持统一大模型(如 Stable Diffusion) | 是,生态已经成熟 | 较弱,很少形成大模型生态 |
Diffusion 模型的优势
1. 训练极其稳定,不需要博弈
-
没有 GAN 的生成器 vs 判别器对抗
-
不会出现:
-
discriminator overpower
-
mode collapse
-
unstable gradients
-
→ 这是所有工业应用选 Diffusion 的关键原因
2. 生成质量高、一致性强
Diffusion 可以逐步精炼图像 → 细节质量更高。
Stable Diffusion, DALLE-3, Midjourney 都依赖扩散说明质量已被验证。
3. 多样性好,不会 mode collapse
GAN 经常只会生成几种模式,而 Diffusion 天然避免。
4. 可控性强(ControlNet、DreamBooth 等)
Diffusion 原生支持条件引导(CFG),可构建:
-
ControlNet
-
Inpainting / Outpainting
-
LoRA、DreamBooth
GAN 做同样的事成本极高。
5. 物理可逆性强,可解释性更好
它是:
-
前向添加噪声(可解释)
-
反向去噪(可解释)
GAN 的 feature maps 难解释得多。
Diffusion 的缺点
1. 推理太慢(最大短板)
需要几十~几百步采样,这是最常被问的问题。
2. 计算量大,显存需求高
-
模型大
-
多步传播成本高
GAN 推理往往只要一次 forward。
3. 训练和推理的时间成本大
在同样资源下,GAN 更快产生成果。
4. 难用于实时生成
如游戏、实时视频生成 → GAN 仍占优势。
如果我需要高质量、可控、多样性强的生成,我会选 Diffusion;
如果需要实时或轻量部署,我会选 GAN。
用于图像生成 → Diffusion
用于超分辨率/风格迁移/实时应用 → 轻量 GAN 仍更优
总结
Diffusion 最大优势:稳定、高质量、多样性强、可控性强,不会 collapse。
最大缺点:慢、算力大、推理成本高。
GAN 最大优势:快,但很不稳定,训练难,容易 mode collapse。
所以 SOTA 图像生成全面被 Diffusion 取代,但实时应用仍用 GAN。