从GAN到WGAN再到WGAN-GP

2019-07-16  本文已影响0人  长安逸魂

从GAN到WGAN再到WGAN-GP

基本理论知识

GAN

GAN

定理:上述训练过程存在全局最优,即 p_g = p_{data}

\begin{eqnarray*} V(G,D) &=& \int_xp_{data}(x)\log D(x)dx +\int_zp_z(z) \log(1-D(G(z)))dz\\ &=& \int_xp_{data}(x)\log D(x) + p_g(x) \log(1-D(x))dx \end{eqnarray*}

上式对于判别器D求导,可知当
D_G^{*}(x)=\frac{p_{data}}{p_{data}+p_g} \tag{6}
上式求得最大值。

此时(4)可以重新写为(因为对于任意给定G,均可求出对应的最优的D,因此(1)变为关于D求最大值)
\begin{eqnarray*} C(G) &=& \max_{D} V(G,D)\\ &=& E_{x\sim p_{data}}[\log D_G^{*}(x)] + E_{x\sim p_g}[1-\log D_G^{*}(x)]\\ &=& E_{x\sim p_{data}}[\frac{p_{data}(x)}{p_{data}(x)+p_g(x)}] + E_{x\sim p_g}[\frac{p_{g}(x)}{p_{data}(x)+p_g(x)}]\\ &=& -\log 4 +KL(p_{data}||\frac{p_{data}+p_g}{2})+KL(p_g||\frac{p_{data}+p_g}{2})\\ &=& -\log 4 + 2 JS(p_{data}||p_g) \end{eqnarray*}
因此,只有当p_g=p_{data}时,此目标函数取得全局最优解

WGAN

本节先介绍GAN的不足之处,而后,WGAN的引入

GAN的问题

综上,GAN存在两点不合理的地方

  • 生成器初始化的分布与真实分布重叠部分测度为0的概率为1,导致第一个生成器版本的梯度消失
  • 等价优化目标(第二个版本的目标函数)存在不合理的距离度量

解决方案

总结下来,相比于GAN,WGAN的改进有以下几点

  • 判别器最后一层去掉sigmoid
  • 生成器和判别器中的loss不取对数
  • 每次更新判别器的参数,将他们的绝对值截断到不超过一个固定常数c
  • 不用基于动量的优化算法(momentum Adam),推荐采用RMSProp,SGD也可以(作者实验发现Adam等基于动量的优化算法梯度不稳定)

WGAN-GP

本文主要参考 https://zhuanlan.zhihu.com/p/25071913
https://www.zhihu.com/question/52602529/answer/158727900

上一篇 下一篇

猜你喜欢

热点阅读