GAN
基础思想
WGAN
解决的问题:
1.彻底解决GAN训练不稳定的问题,不再需要小心平衡生成器和判别器的训练程度
2.基本解决了collapse mode的问题,确保了生成样本的多样性
3.训练过程中终于有一个像交叉熵、准确率这样的数值来指示训练的进程,这个数值越小代表GAN训练得越好,代表生成器产生的图像质量越高(如题图所示)
4.以上一切好处不需要精心设计的网络架构,最简单的多层全连接网络就可以做到
改进的地方:
- 判别器最后一层去掉sigmoid
- 生成器和判别器的loss不取log
- 每次更新判别器的参数之后把它们的绝对值截断到不超过一个固定常数c
- 不要用基于动量的优化算法(包括momentum和Adam),推荐RMSProp,SGD也行
原本的GAN:
WGAN算法:
Wasserstein distance
KL散度和JS散度是突变的,要么最大要么最小,Wasserstein距离却是平滑的,如果我们要用梯度下降法优化\theta这个参数,前两者根本提供不了梯度,Wasserstein距离却可以。类似地,在高维空间中如果两个分布不重叠或者重叠部分可忽略,则KL和JS既反映不了远近,也提供不了梯度,但是Wasserstein却可以提供有意义的梯度。
WGAN with Wassertein