GAN网络的模型坍塌和不稳定的分析

众所周知,GAN异常强大,同时也非常难以训练。主要有以下亮点原因:

  • 模型坍塌(mode collapse)
  • 难以收敛和训练不稳定(convergence and instability)
    GAN网络的一般表达式可以表示为:
    利用minmax获得公式1
    原始公式
    给定G,求D的最优化2
    损失函数
    针对D进行求导:
    gan3
    获取最优解:
    gan4
    最优解结果:
    D最优解
    原有公式
    KL和JS散度表达式:
    KL和JS散度表达式
    GAN表达式:
    在这里插入图片描述
    增加一项,表示生成网络G的损失函数:
    G
    简化:
    简化
    结合公式(6)和公式(8)可以得出:
    生成模型的结果
    公式(12)中的KL散度使得两个分布尽可能的小,而JS的负号使得两个分布近可能的大。
    两种情况:
    在这里插入图片描述
    第一种情况,生成了不真实的样本,惩罚很大;第二种情况,未能产生真实的样本,惩罚很小。第一种生成的样本不准确,第二种生成的样本不够多样。基于这个原理,G 倾向于生成重复但是安全的样本,而不愿意冒险生成不同但不安全的样本,这会导致模式坍塌(mode collapse)问题。
    当然很有可能出现两个分布不相关的情况3,这种情况就会导致称为一个常数,也就出现了梯度消失的情况。 所以判别器训练得太好,生成器梯度消失,生成器loss降不下去;判别器训练得不好,生成器梯度不准,四处乱跑。只有判别器训练得不好不坏才行,但是这个火候又很难把握。
    对于另外一种G网络的表现形式,可以总结为:D表现越好,G的梯度消失越严重。

  1. Generative Adversarial Networks (GANs): Challenges, Solutions, and Future Directions ↩︎

  2. A Review on Generative Adversarial Networks: Algorithms, Theory, and Applications ↩︎

  3. 令人拍案叫绝的Wasserstein GAN/https://zhuanlan.zhihu.com/p/25071913 ↩︎

猜你喜欢

转载自blog.csdn.net/xinxiang7/article/details/107182825