GAN 稳定训练
普通监督学习通常有一个固定目标:模型预测错了,就沿着损失函数下降。但 GAN 不是这样。生成器 $G$ 在学习生成样本,判别器 $D$ 同时也在学习识别真假;一个模型刚刚适应的目标,可能在另一个模型更新后立刻改变。Goodfellow 等人在原始 GAN 中把这个过程写成极小极大博弈,目标是让 $D$ 区分真实样本与生成样本,同时让 $G$ 生成能骗过 $D$ 的样本 #Goodfellow et al., 2014。
原始 GAN 的极小极大目标
最经典的写法是:
这个式子看起来像一个二分类损失,但它真正描述的是两个网络之间的动态系统。
训练不稳定主要来自三类现象。第一,判别器太强时,生成器可能拿不到有意义梯度。第二,生成器可能发现判别器的局部漏洞,只生成少数类型样本,也就是 mode collapse。第三,判别器 loss 和生成质量之间不一定有稳定对应关系,所以训练曲线并不总能告诉我们模型是否变好 #Goodfellow, 2016。
WGAN 的核心洞察是:早期 GAN 目标与 Jensen-Shannon divergence 等分布差异有关,当真实分布和生成分布几乎不重叠时,判别器可以很容易把二者分开,但生成器得到的梯度反而可能很差。Arjovsky、Chintala 和 Bottou 因此用 Wasserstein-1 distance 替换原始目标,并把判别器改称 critic,因为它不再输出真假概率,而是给样本打分 #Arjovsky et al., 2017。
Wasserstein-1 距离的直觉
Wasserstein 距离可以理解为“把一个分布搬运成另一个分布的最小成本”:
即使两个分布支撑集不重叠,它仍然能给出连续变化的距离信号。
WGAN 的经验价值在于,critic loss 更接近样本质量变化,训练时更容易观察模型是否真的在进步。论文报告 WGAN 在实验中减少了 mode collapse,并让训练曲线更有解释性 #Arjovsky et al., 2017。不过第一版 WGAN 依赖 weight clipping 来满足 Lipschitz 约束,这个做法粗糙:裁剪太严会限制 critic 表达能力,裁剪太松又可能破坏约束。
Gulrajani 等人指出,weight clipping 会导致 critic 容量不足、梯度异常和样本质量下降,于是提出 gradient penalty。它不再强行把权重压进固定区间,而是在真实样本和生成样本之间的插值点上,惩罚 critic 对输入的梯度范数偏离 1 的程度 #Gulrajani et al., 2017。
WGAN-GP 惩罚项
这相当于直接控制 critic 在样本空间附近的局部变化速度。
WGAN-GP 的意义不只是一个正则项。它把稳定训练从“调一个裁剪阈值”变成“约束判别函数几何性质”。论文展示了它能在多种架构上稳定训练,包括 101 层 ResNet 和语言模型设置,并在 CIFAR-10 与 LSUN bedrooms 上得到更好生成质量 #Gulrajani et al., 2017。
谱归一化进一步把 Lipschitz 约束变成轻量工程组件。Miyato 等人对判别器每层权重矩阵除以其最大奇异值,从而限制该层的谱范数。相比 gradient penalty,谱归一化不需要对输入额外求梯度,计算开销更小,也更容易嵌入常规卷积网络 #Miyato et al., 2018。
| 方法 | 控制对象 | 优点 | 风险 |
|---|---|---|---|
| Weight clipping | critic 权重范围 | 实现最简单 | 限制容量,阈值敏感 |
| Gradient penalty | 输入梯度范数 | 几何意义清晰,稳定性强 | 额外计算梯度,训练更慢 |
| Spectral normalization | 每层权重谱范数 | 开销小,易工程化 | 主要约束判别器,仍需配合架构与优化 |
GAN 稳定训练的悖论是:判别器太弱,生成器学不到真实数据结构;判别器太强,生成器拿不到可用梯度。WGAN、WGAN-GP 和谱归一化的共同目标,不是简单削弱判别器,而是让判别器强得“可控”。Kurach 等人的大规模研究也说明,GAN 的表现高度依赖正则化、归一化、架构和超参,单独比较某个 loss 往往不够 #Kurach et al., 2018。
参考来源
- Goodfellow, I. et al. (2014). Generative Adversarial Networks. arXiv:1406.2661.
- Goodfellow, I. (2016). NIPS 2016 Tutorial: Generative Adversarial Networks. arXiv:1701.00160.
- Arjovsky, M. et al. (2017). Wasserstein GAN. arXiv:1701.07875.
- Gulrajani, I. et al. (2017). Improved Training of Wasserstein GANs. arXiv:1704.00028.
- Miyato, T. et al. (2018). Spectral Normalization for Generative Adversarial Networks. arXiv:1802.05957.
- Kurach, K. et al. (2018). A Large-Scale Study on Regularization and Normalization in GANs. arXiv:1807.04720.