第十一讲 · 生成对抗网络 GAN
前面的分类、检测和分割都在理解已有图像;GAN 把问题转了过来:机器能否学会真实图像的分布,再生成一张从未存在过、却像真的一样的图?
一、判别模型与生成模型
判别模型直接学习从输入到标签的关系,例如 或分类边界;生成模型试图描述数据本身怎样产生,例如 或联合分布 。
| 类型 | 核心问题 | 例子 |
|---|---|---|
| 判别模型 | 给定样本,它属于哪一类 | Logistic、SVM、分类 CNN |
| 生成模型 | 真实样本整体服从什么分布 | VAE、GAN、Diffusion |
生成比分类更难,因为输出不再是少数几个标签,而是一张包含大量相关像素的完整图像。
二、生成器与判别器的二元博弈
GAN 包含两个神经网络:
- 生成器 :把随机噪声 映射为假样本 ;
- 判别器 :输入一个样本,输出它来自真实数据的概率。
可以把 看作造假者,把 看作鉴别者。 越擅长找出假样本, 就越必须生成更逼真的样本; 越逼真, 又越必须学到更细微的真假差别。
三、极小极大目标函数
经典 GAN 的价值函数是
从判别器视角看:
- 对真样本,希望 ;
- 对假样本,希望 ;
- 因此 要最大化整个目标。
从生成器视角看,它只能改变 ,希望假样本最终让 ,因此与判别器方向相反。
四、理想均衡是什么
固定生成器时,最优判别器为
若生成分布已经等于真实分布,即 ,则
这不是说判别器“坏掉了”,而是因为真假分布完全相同,它再也没有任何依据可以区分。
五、为什么要交替训练
实际训练无法一次求出整个博弈的均衡,只能轮流更新:
- 固定 ,采样真数据和假数据,更新 ,提高真假区分能力;
- 固定 ,重新采样噪声,更新 ,让假样本更容易被判真;
- 重复这两个步骤。
判别器常训练 次后再训练一次生成器,但两边不能失衡:判别器太弱,生成器收不到有用反馈;判别器过强,生成器又可能得到几乎为零的梯度。

六、生成器为什么常换一个等价目标
原始生成器最小化
训练早期 往往非常小,此时上式可能饱和,生成器梯度太弱。实践中常改为最大化
两者理想最优点相同,但后者在训练早期能够提供更强梯度,这称为 non-saturating loss。
七、GAN 为什么不稳定
GAN 并不是单个模型最小化固定损失,而是两个不断变化的模型相互追逐,因此容易出现:
- 梯度消失:判别器过强,生成器得不到有效更新;
- 模式崩溃:生成器只会产生少数几类看似真实的样本;
- 训练振荡:双方围绕均衡旋转,难以真正收敛;
- 对超参数和更新比例敏感。
从分布角度看,当真实分布和生成分布支撑集几乎不重合时,原始 GAN 使用的 JS 散度会饱和,无法告诉生成器“应该朝哪个方向移动”。WGAN 等后续方法尝试用更平滑的距离改善这个问题。
八、怎样评价生成模型
课件目录列出了 GAN 变体和评价指标,但当前正式页面没有继续展开对应内容。理解评价时至少要区分两个维度:
- 质量:单张生成图是否清晰、逼真;
- 多样性:模型是否覆盖了真实数据的各种模式。
只看清晰度会纵容模式崩溃,只看多样性又可能包含大量低质量样本。生成模型评价必须兼顾二者。
本讲速记
- GAN 是生成模型,包含生成器 和判别器 。
- 最大化真判真、假判假; 让假样本被判真,形成 minimax 博弈。
- 理想收敛时 ,最优判别器对任何样本都输出 。
- 训练时先更新判别器,再更新生成器,双方能力需要保持平衡。
- non-saturating 目标与原目标最优点相同,但早期梯度更强。
- GAN 的典型问题是训练不稳定和模式崩溃。