深入浅出的Wasserstein GAN

在此Mark一下对经典WGAN进行了非常直观描述的一篇知乎文章:

标题:令人拍案叫绝的Wasserstein GAN
网址:https://zhuanlan.zhihu.com/p/25071913
作者:郑华滨 SenseTime(商汤科技)

该文章很好的讲述了WGAN的由来,过程和总结。以下是对该文章的摘取。

WGAN中做了很多的数学推理,最终得到了以下修改:

  • 判别器最后一层去掉sigmoid
  • 生成器和判别器的loss不取log
  • 每次更新判别器的参数之后把它们的绝对值截断到不超过一个固定常数c
  • 不要用基于动量的优化算法(包括momentum和Adam),推荐RMSProp,SGD也行

真正的深入浅出!较直观的描述可以看以上的链接,再具体的描述请看原文。WGAN成功的做到了以下爆炸性的几点:

  • 彻底解决GAN训练不稳定的问题,不再需要小心平衡生成器和判别器的训练程度
  • 基本解决了collapse mode的问题,确保了生成样本的多样性
  • 训练过程中终于有一个像交叉熵、准确率这样的数值来指示训练的进程,这个数值越小代表GAN训练得越好,代表生成器产生的图像质量越高
  • 以上一切好处不需要精心设计的网络架构,最简单的多层全连接网络就可以做到

精简总结:WGAN本作引入了Wasserstein距离,由于它相对KL散度与JS散度具有优越的平滑特性,理论上可以解决梯度消失问题。接着通过数学变换将Wasserstein距离写成可求解的形式,利用一个参数数值范围受限的判别器神经网络来最大化这个形式,就可以近似Wasserstein距离。在此近似最优判别器下优化生成器使得Wasserstein距离缩小,就能有效拉近生成分布与真实分布。WGAN既解决了训练不稳定的问题,也提供了一个可靠的训练进程指标,而且该指标确实与生成样本的质量高度相关。

WGAN的改进版,WGAN-GP,可以看这篇 https://zhuanlan.zhihu.com/p/52799555。

你可能感兴趣的:(GAN,深度学习经典网络,深度学习,机器学习,神经网络,python,算法)