醒刻 Logo
← 返回文章列表

GAN、VAE 与扩散模型入门:三种生成模型一次讲清楚

GAN、VAE 和扩散模型经常一起出现,但它们的思路完全不同。这篇文章从直觉、结构、优缺点和应用场景出发,把三者一次讲清楚。

2026年3月31日 · 1753 · 更新于 2026年3月31日

这是从《深度学习知识框架》里拆出来的专题文章,专门讲生成模型

很多人第一次接触生成模型时,最容易混乱的地方是:

  • GANVAEDiffusion 都是在“生成”,但到底差在哪?
  • 为什么以前大家老提 GAN,现在又经常聊 Stable Diffusion
  • 三者是替代关系,还是各有适用场景?

这篇文章就按“核心思想 → 结构 → 优缺点 → 应用场景”的顺序,把它们梳理清楚。

目录

  1. 先建立总印象
  2. GAN:靠对抗博弈学会生成
  3. VAE:先学压缩空间,再从空间里采样
  4. 扩散模型:从纯噪声一步步去噪成图
  5. 三者对比
  6. 怎么选、怎么学

1. 先建立总印象

这三类模型虽然都能“生成新图片”,但方法完全不同:

  • GAN:两个网络对抗,越斗越强
  • VAE:先把数据压到一个有规律的潜在空间,再从里面采样生成
  • 扩散模型:先把图像加噪声毁掉,再学会一步步去噪恢复

如果只记一句话,可以先记这个:

GAN 靠“对抗”,VAE 靠“压缩+采样”,Diffusion 靠“逐步去噪”。


2. GAN:靠对抗博弈学会生成

GAN 全称是 Generative Adversarial Network(生成对抗网络)

它最有名的地方,是把“生成”这件事变成了一个对抗游戏

2.1 基本结构

随机噪声 z → 生成器 G → 假图片
                              ↓
真实图片 ────────────→ 判别器 D → 判断真假
  • 生成器 G:负责“造假图”
  • 判别器 D:负责“分真假”

2.2 它是怎么学的?

训练时,两边目标相反:

  • 判别器想把真图和假图区分开
  • 生成器想骗过判别器

于是两者不断拉扯,最后的理想状态是:

生成器造出来的图,连判别器都很难分辨真假。

2.3 GAN 的优点和难点

优点:

  • 生成结果很锐利
  • 推理很快,通常一次前向传播就能出图

难点:

  • 训练不稳定
  • 容易出现模式崩塌(mode collapse)

模式崩塌的意思是:生成器学会了少数几种“足够像”的样本,但不会覆盖整个数据分布。比如它只会画几种固定角度的人脸,看起来很像,但变化不够丰富。

2.4 典型应用

StyleGAN 就是 GAN 家族里非常经典的代表,常用来生成人脸、头像、艺术图像等。


3. VAE:先学压缩空间,再从空间里采样

VAE 全称是 Variational Autoencoder(变分自编码器)

它和 GAN 最大的不同是:不对抗,而是先学习一个“有结构的压缩空间”。

3.1 基本结构

原始图片 x → 编码器 E → 潜在分布 N(μ, σ)
                           ↓ 采样 z
                    解码器 D ← z → 重建图片

3.2 关键思想

普通自编码器是“压缩后再还原”,而 VAE 更进一步:

  • 编码器输出的不是一个固定点
  • 而是一个概率分布(均值 μ 和方差 σ

这样做的好处是,潜在空间会更连续、更平滑,方便我们直接采样生成新样本。

3.3 损失函数怎么理解?

VAE 的损失通常分成两部分:

  1. 重建损失:让还原出来的图尽量接近原图
  2. KL 散度:让潜在分布尽量靠近标准正态分布 N(0, 1)

这样一来,生成阶段就很方便了:

直接从 N(0, 1) 里随机采样一个 z,交给解码器,就能生成一张新图。

3.4 VAE 的特点

优点:

  • 训练稳定
  • 潜在空间连续,适合插值和表示学习

缺点:

  • 图像常常比 GAN 模糊一些

所以 VAE 很适合用来做:

  • 特征学习
  • 降维
  • 可控生成
  • 图像压缩

4. 扩散模型:从纯噪声一步步去噪成图

扩散模型这几年特别火,像 Stable DiffusionDALL·EMidjourney,背后都离不开这条思路。

它的核心想法非常直观:

先把一张清晰图逐步加噪声,最后毁成纯噪声;再训练模型学会反过来一步步去噪,把图恢复出来。

4.1 正向过程:加噪

清晰图片 x₀ → x₁ → x₂ → ... → x_T(纯噪声)

这个过程通常是固定的,不需要学习。

4.2 反向过程:去噪

纯噪声 x_T → 去一点噪 → 再去一点噪 → ... → 清晰图片 x₀

模型真正要学的,就是每一步“该去掉多少噪声”。

4.3 为什么它这么强?

因为这种“逐步修复”的方式,通常比 GAN 那种一次性生成更稳定,也更容易和文本条件结合。

比如输入一句:

  • “一只坐在窗边看雨的橘猫”
  • “赛博朋克风格的城市夜景”

模型就能在去噪的每一步里,把文本语义不断注入进去。

4.4 扩散模型的优缺点

优点:

  • 生成质量高
  • 训练相对稳定
  • 文本控制能力很强

缺点:

  • 推理慢,需要多步去噪
  • 计算开销通常更大

5. 三者对比

维度GANVAE扩散模型
核心机制对抗博弈压缩 + 采样逐步去噪
生成质量高,但不稳定往往偏模糊目前通常最高
训练稳定性较差,容易崩较稳定稳定,但训练慢
可控性一般潜在空间可插值文本条件控制很强
生成速度很快很快较慢
代表应用StyleGAN表示学习、压缩Stable Diffusion、DALL·E

如果只从“直观感受”来记:

  • GAN:像高手造假,出图利落但训练脾气大
  • VAE:像先学坐标系,再从坐标里采样生成
  • Diffusion:像雕刻家,从一团噪声里一点点雕出清晰图像

6. 怎么选、怎么学

6.1 如果你只是想建立理解框架

建议顺序:

  1. 先懂 VAE,因为结构最容易讲清
  2. 再看 GAN,理解“对抗训练”为什么难
  3. 最后看 Diffusion,理解为什么它成为现在主流

6.2 如果你想做项目

  • 想做高质量图像生成:优先了解扩散模型
  • 想做潜在空间分析、插值、压缩:VAE 很合适
  • 想理解经典生成思路,或者做人脸生成类实验:GAN 仍然值得学

6.3 和 CV 的关系

如果你后面准备学图像分类、检测和分割,可以继续看这篇:

👉 计算机视觉学习路线图:从图像分类到检测与分割


生成模型最重要的不是死记公式,而是理解“它到底怎么生成”的直觉。只要这层想明白,再看论文和代码就不会那么抽象。

评论区