资讯

非饱和博弈是什么?让生成器在起步阶段也能学得动的 GAN 目标

2026-11-053 分钟阅读百科
TL;DR非饱和博弈(Non-Saturating Game)是 Goodfellow 等人在 2014 年 GAN 论文中提出的生成器训练目标,把“最小化判别器识破的概率”改为“最大化判别器被骗的对数概率”,避免训练初期判别器太强时生成器梯度消失(饱和),是实践中最常用的 GAN 损失形式。

非饱和博弈(Non-Saturating Game)是训练生成对抗网络(GAN)时,为生成器设计的一种改进的训练目标。它由 Ian Goodfellow 等人在 2014 年提出生成对抗网络的原始论文中给出,用来解决生成器在训练初期学不动的问题,至今仍是训练生成对抗网络最常用的方式之一。

生成对抗网络的原始目标

生成对抗网络由两个网络组成:生成器负责生成假的数据,比如假的图片;判别器负责判断一张图片是真的还是生成器造出来的。两者相互对抗:判别器要尽量把真图片和假图片区分开,生成器要尽量生成能骗过判别器的图片。在原始的理论表述中,这是一个“极小极大博弈”:判别器要最大化一个目标函数,生成器要最小化同一个目标函数。对于生成器来说,它的目标是最小化“判别器认为假图片是假的”这个事件的对数概率,也就是最小化“1 减去判别器给假图片打的分数”的对数。

“饱和”的问题

这个原始的目标在理论上很优雅,但在实践中有一个严重的问题。在训练刚开始的时候,生成器还很差,生成的图片一眼就能看出是假的,判别器很容易就能识破它们,给假图片打的分数非常接近于零。这时,生成器的目标函数处在一个非常平坦的区域:判别器的分数接近零时,“1 减去分数”的对数接近零,曲线几乎是平的,导数非常小。这意味着生成器得到的梯度非常微弱,几乎无法知道应该如何改进自己,学习进展极其缓慢甚至停滞。这种现象就叫作“饱和”:就像海绵吸满了水再也吸不进去一样,梯度在这里“饱和”了,不再提供有用的信号。而训练初期正是生成器最需要学习、最需要强烈信号的时候。

非饱和的改进

Goodfellow 等人提出了一个简单而有效的改动:不再让生成器去最小化“判别器识破假图片”的对数概率,而是改为最大化“判别器被骗过、把假图片当成真的”的对数概率,也就是最大化判别器给假图片打的分数的对数。这两个目标的方向是一致的,都是希望判别器把假图片当成真图片,最终的平衡点也相同;但它们的梯度特性截然不同。在新的目标下,当判别器给假图片打的分数接近零时,对数函数在接近零的地方非常陡峭,梯度很大。这样,在训练初期生成器表现很差的时候,反而能得到强烈的学习信号,迅速地改进。随着生成器越来越好,梯度会逐渐变得平缓。由于这个目标在生成器表现差时不会饱和,所以叫作“非饱和”的博弈。这个技巧在实践中极大地改善了生成对抗网络的训练,被几乎所有早期的生成对抗网络实现所采用。

后续的发展

非饱和博弈虽然解决了训练初期梯度消失的问题,但生成对抗网络的训练仍然存在不稳定、模式崩溃等困难。研究者后来提出了多种其他的损失函数:比如 WGAN 使用 Wasserstein 距离来衡量真实分布与生成分布之间的差异,提供更平滑、更有意义的梯度;最小二乘 GAN 使用平方误差作为损失;合页损失形式的 GAN 也被 BigGAN 等模型采用。Lucic 等人在 2018 年进行的一项大规模比较研究发现,在仔细调节超参数之后,很多改进的损失函数并不总是明显优于原始的非饱和损失,这说明非饱和博弈至今仍然是一个简单而可靠的选择。