常见问题

GAN 有许多常见的失败模式。所有这些常见问题都是进行中的研究领域。虽然所有问题都无法完全解决,但我们还是会提及人们尝试过的一些方法。

渐变梯度

研究表明,如果判别器太合适,生成器训练可能会因梯度消失而失败。事实上,最佳判别器无法提供足够的信息供生成器使用。

补救措施

模式收起

通常情况下,您希望 GAN 能够生成各种各样的输出。例如,您希望为人脸生成器的每个随机输入使用不同的人脸。

不过,如果生成程序生成了特别合理的输出,该生成器可能会学习仅生成该输出。事实上,生成器始终会尝试查找对判别器而言最合理的输出。

如果生成器一次又一次地产生相同的输出(或一小部分输出),判别器最好的策略是学习如何始终拒绝该输出。但是,如果新一代判别器陷入局部极限,并且找不到最佳策略,那么下一次生成器迭代将很难为当前判别器找到最合理的输出。

生成器对特定判别器的每次迭代都会过度优化,而判别器绝不会设法离开陷阱。因此,生成器会旋转一小组输出类型。这种形式的 GAN 故障称为模式收起

补救措施

以下方法尝试阻止生成器针对单个固定判别器进行优化,从而强制生成器扩大范围:

  • Wasserstein 损失Wasserstein 损失功能允许您训练判别器至最优状态,从而缓解模式崩溃问题,而无需担心梯度消失。如果判别器未卡在局部最低值,它会学会拒绝生成器稳定使用的输出。因此,该生成器必须尝试新事物。
  • 展开的 GAN展开的 GAN 使用生成器损失函数,整合了当前判别器的分类,还包括未来判别器版本的输出。因此,生成器无法针对单个判别器进行过度优化。

收敛失败

GAN 通常无法收敛,如介绍训练的模块中所述。

补救措施

研究人员曾尝试采用各种形式的正则化来改善 GAN 收敛,其中包括: