主题
第 13 章 深度生成模型
第三部分 · 进阶模型课件 64 页讲义约 32 分钟Deep Generative Models
学习目标
- 理解概率生成模型的两个基本功能(密度估计与生成样本)以及隐变量建模的思路;
- 掌握变分自编码器的结构、目标函数(ELBO)和再参数化技巧;
- 掌握生成对抗网络的极小极大目标和交替训练过程,了解 DCGAN 的设计要点;
- 理解原始 GAN 的理论缺陷:JS 散度导致的梯度消失、逆向 KL 导致的模型坍塌;
- 理解 Wasserstein 距离与 WGAN 的动机,了解 LSGAN、f-GAN 及条件生成的各种扩展。
课件幻灯片

1 / 64
提示:点击幻灯片左右两侧或使用 ← → 键翻页,手机上左右滑动;按 F 全屏。
讲义
13.1 概率生成模型
机器学习有两种范式:判别模型直接学习
- 概率密度估计:给定样本,估计
; - 生成样本:从估计的分布中生成新的样本,例如生成图像、文本、语音。
高维数据(如图像)的分布非常复杂,各维之间存在复杂的依赖关系,很难直接建模。一种思路是引入低维的隐变量
flowchart LR
G["深度生成模型"] --> E["显式密度模型<br/>建模 p(x)"]
G --> I["隐式密度模型<br/>只学习采样过程"]
E --> V["变分自编码器 VAE<br/>近似推断 + 最大化 ELBO"]
E --> O["自回归模型 / 流模型 / 扩散模型 …"]
I --> GAN["生成对抗网络 GAN<br/>对抗训练"]
13.2 变分自编码器
含隐变量的生成模型:
但当
- 推断网络(编码器)
:输出近似后验 的参数。通常假设它是对角高斯分布 ,网络输出 和 ;幻灯片 13 - 生成网络(解码器)
:输出 的参数——二值数据用伯努利分布,连续数据用高斯分布。隐变量先验取标准正态 。幻灯片 14
VAE 的目标是最大化 ELBO:幻灯片 15
第一项鼓励解码器能从
再参数化。重构项中的期望需要采样
这样
13.3 生成对抗网络
VAE 等显式密度模型需要构建
- 判别网络
:判断样本来自真实分布还是生成网络,输出 为真实样本的概率,用交叉熵训练;幻灯片 23 - 生成网络
:目标是让判别网络把它生成的样本误判为真实样本。
训练过程:交替训练判别网络和生成网络——每次迭代中,先固定
DCGAN:一个经典的卷积 GAN 结构。其要点包括:用带步长的卷积(判别网络)和转置卷积(生成网络)代替汇聚层;除生成网络输出层与判别网络输入层外都使用批量归一化;去掉全连接隐藏层;生成网络用 ReLU(输出层 Tanh),判别网络用 LeakyReLU。DCGAN 的隐空间还表现出有趣的“向量算术”性质(如“戴眼镜的男人 − 男人 + 女人 = 戴眼镜的女人”)。幻灯片 31 幻灯片 32 幻灯片 51
在一维数据上实时训练一个小型 GAN,观察生成分布逼近真实分布、判别器输出趋于 0.5,以及双峰目标下的模式坍塌:
在单独页面中打开:一维 GAN 训练
13.4 模型分析
最优判别网络。固定
代入目标函数,生成网络的目标变为
因此当判别网络最优时,训练生成网络等价于最小化真实分布与生成分布的 JS 散度,在
不稳定性:生成网络的梯度消失。真实分布和生成分布通常都是高维空间中的低维流形,二者几乎没有重叠。此时无论它们相距多远,JS 散度都恒为常数
模型坍塌:使用改进的生成网络目标
其中 JS 项为负,会“推开”两个分布;而逆向 KL 散度
| 前向 KL | 逆向 KL | |
|---|---|---|
| 惩罚 | ||
| 结果 | 覆盖所有模态(模态覆盖),可能生成模糊样本 | 只集中于少数模态(模态寻找) |
逆向 KL 使生成网络倾向于只生成“安全”的少数几种样本,缺乏多样性——这就是模型坍塌。
13.5 改进模型
- LSGAN:用最小二乘损失代替交叉熵,对远离决策边界但被判为真的生成样本也给予惩罚,缓解梯度消失。幻灯片 41
- f-GAN:把 GAN 推广到任意
散度 (如 KL、逆 KL、JS),通过凸共轭得到可优化的变分下界。幻灯片 42 幻灯片 43 - Wasserstein GAN:用 Wasserstein 距离(推土机距离)度量两个分布的差异:幻灯片 44 幻灯片 45
即把一个分布“搬运”成另一个分布的最小代价。即使两个分布没有重叠,Wasserstein 距离也能随距离平滑变化,提供有意义的梯度。幻灯片 46 根据 Kantorovich–Rubinstein 对偶,幻灯片 47
上确界取遍所有 1-Lipschitz 连续函数(
13.6 GAN 的扩展
条件生成:在生成网络和判别网络的输入中都加入条件
- InfoGAN:把隐变量分为无结构噪声
和隐编码 ,并最大化 与生成样本之间的互信息,从而在无监督的情况下学到可解释的表示(如数字类别、倾斜、粗细)。幻灯片 59 - AC-GAN:判别网络除了判断真假,还要预测样本的类别,提高了条件生成的质量。幻灯片 62
- BiGAN:同时学习生成网络
和编码器 ,判别网络对 和 进行判别,使 GAN 也能做推断。幻灯片 63
本章介绍的是第一版教材的内容。近几年,扩散模型和基于 Transformer 的自回归模型在图像、视频和文本生成上取得了更大的成功,第二版教材对生成模型部分做了相应扩充。
本章小结
- 深度生成模型用神经网络把简单分布的隐变量映射到复杂的数据分布。
- VAE:推断网络近似后验、生成网络建模似然,最大化 ELBO = 重构项 − KL 正则项;再参数化
使采样可导。 - GAN:生成网络与判别网络的极小极大博弈,最优判别器下等价于最小化 JS 散度;存在梯度消失与模型坍塌问题。
- WGAN 用 Wasserstein 距离提供平滑梯度;条件 GAN、InfoGAN、AC-GAN、BiGAN 扩展了可控性与推断能力。
思考题与习题
- (推导) 推导两个对角高斯分布
与 之间 KL 散度的解析式。 - (分析) 如果 VAE 的 KL 项权重过大或过小(如
-VAE),生成样本和隐空间会有什么变化? - (推导) 固定生成网络,推导最优判别网络
,并证明此时生成网络的目标为 。 - (计算) 设
是 处的点质量分布, 是 处的点质量分布( )。分别计算 JS 散度和 Wasserstein 距离,说明为什么 WGAN 能提供更好的梯度。 - (概念) 用前向 / 逆向 KL 散度的性质解释:为什么 VAE 生成的图像通常比较模糊,而 GAN 容易出现模型坍塌?
- (编程) 在 MNIST 上分别训练一个 VAE 和一个 DCGAN(隐变量维数均为 2 或 16),比较生成样本的清晰度与多样性;对 VAE 画出二维隐空间的流形。
部分提示
- 第 1 题:
。 - 第 3 题:目标对每个
是 ,对 求导令其为 0。 - 第 4 题:
(与 无关,梯度为 0); (梯度指向 )。 - 第 5 题:最大似然对应前向 KL(模态覆盖,倾向“平均”);GAN 的改进目标包含逆向 KL(模态寻找)。
延伸阅读
- 教材:邱锡鹏《神经网络与深度学习》第 13 章「深度生成模型」。
- Kingma D P, Welling M. Auto-encoding variational Bayes, ICLR 2014;Goodfellow I, et al. Generative adversarial nets, NeurIPS 2014;Radford A, et al. DCGAN, ICLR 2016;Arjovsky M, et al. Wasserstein GAN, ICML 2017。
- Ho J, et al. Denoising diffusion probabilistic models, NeurIPS 2020(扩散模型入门)。
- 实践:nndl-practice 中的生成模型相关章节。
- 交互:一维 GAN 训练。
- 第二版对应章节:第 16 章「深度生成模型」。