【问题标题】:Training stability of Wasserstein GANsWasserstein GAN 的训练稳定性
【发布时间】:2020-04-06 18:00:15
【问题描述】:

我正在开展一个使用 Wasserstein GAN 的项目,更具体地说,是实施 Wasserstein GAN 的改进版本。关于 wGAN 的稳定性和训练过程,我有两个理论问题。首先,众所周知,损失函数的结果与生成样本(that is stated here)的结果质量相关。是否有一些额外的参考书目支持这一论点?

其次,在我的实验阶段,我注意到使用 wGAN 训练我的架构比使用简单版本的 GAN 快得多。这是一种常见的行为吗?是否也有相关文献分析?

此外,还有一个关于使用 Wasserstein 损失保证的连续函数的问题。我在实践中理解这个概念时遇到了一些问题,这意味着正常的 GAN 损失不是连续函数?

【问题讨论】:

    标签: python keras neural-network


    【解决方案1】:
    1. 您现在可以查看Inception ScoreFrechet Inception Distance。还有here。问题是 GAN 没有统一的目标函数(有两个网络),没有一致的方式来评估和比较 GAN 模型。相反,人们设计了将图像分布和生成器分布相关联的指标。

    2. wGAN 可能会更快,因为它具有比普通 GAN 更稳定的训练程序(Wasserstein 度量、权重裁剪和梯度惩罚(如果您正在使用它))。我不知道是否有关于速度的文献分析,而且 WGAN 可能并不总是比简单的 GAN 更快。 WGAN 无法像 GAN 那样找到最好的纳什均衡。

    3. 考虑两个分布:p 和 q。如果这些分布重叠,即它们的域重叠,则 KL 或 JS 散度是可微的。当 p 和 q 不重叠时,就会出现问题。如在 WGAN 论文示例中,假设 2D 空间上的两个 pdf,V = (0, Z) , Q = (K , Z),其中 K 不同于 0,Z 是从均匀分布中采样的。如果您尝试对这两个 pdf 的 KL/JS 散度进行导数,则不能。这是因为这两个背离将是一个二元指标函数(相等或不相等),我们不能对这些函数求导。但是,如果我们使用 Wasserstein 损失或 Earth-Mover 距离,我们可以采用它,因为我们将其近似为空间上两点之间的距离。 简短的故事:如果分布有重叠,正常的 GAN 损失函数是连续的,否则是离散的。

    希望对你有帮助

    【讨论】:

      【解决方案2】:

      稳定 WGAN 训练的最常见方法是将早期 W-GAN 中使用的 梯度裁剪 技术替换为 梯度惩罚 (WGAN-GP)强>。这种技术似乎优于原始 WGAN。可以在此处找到描述 GP 是什么的论文: https://arxiv.org/pdf/1704.00028.pdf

      另外,如果您需要有关如何实现此功能的任何帮助,您可以查看我在这里找到的一个不错的存储库: https://github.com/kochlisGit/Keras-GAN

      您还可以使用其他技巧来提高生成图像的整体质量,如存储库中所述。例如:

      1. 在随时间衰减的鉴别器的输入端添加随机高斯噪声
      2. 随机/自适应数据增强
      3. 分开假/真批次

      等等

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2021-11-20
        • 2020-06-24
        • 1970-01-01
        • 2018-12-06
        • 1970-01-01
        • 1970-01-01
        • 2021-06-30
        • 1970-01-01
        相关资源
        最近更新 更多