GANs学习(GAN、wGAN)

GANs学习(GAN、wGAN)

原始GAN

GANs (Generative Adversarial Networks) [1]是2014年 Goodfellow 提出的,一种zero-sum博弈过程:生成器[generator] 和判别器[discriminator]之间的此消彼长

GANs学习(GAN、wGAN)

D和G play a two-player minimax game:

minGmaxDV(D,G)=Expdata(x)[logD(x)]+Ezpz(z)[log(1D(G(z)))]

上式可以看出,判别器尽可能将来自真实数据的样本判别为1,将来自生成器的样本判别为0,即:尽可能的从生成数据中区分出真实的数据;生成器,最小化log(1D(G(z)),也就是说最小化生成数据和真实数据的样本,也可以理解为最大化log(D(G(z)),最大化判别器犯错误的概率。生成器相当于对输入noise进行非线性变换(Noise或者先验一般是 均匀分布或正太分布)

训练时,交替更新Discriminator 和 Generator。论文中的伪代码:
GANs学习(GAN、wGAN)

生成器函数采用最小化log(1D(G(z)),当判别器训练好的时候,生成器函数梯度几乎为0;因而,原文中作者提出使用最大化log(D(G(z))


Global Optimality pdata=pg

  • G fixed, optimal discriminator D :
    V(G,D)=xpdata(x)log(D(x))dx+zpz(z)log(1D(G(z)))dz=xpdata(x)log(D(x))+pg(x)log(1D(x))dx

    两边求导,可得最优的Discriminator D is:
    DG(x)=pdata(x)pdata(x)+pg(x)
    Thus
    C(G)=Expdata(x)log(pdata(x)pdata(x)+pg(x))+Expg(x)log(pg(x)pdata(x)+pg(x))
  • D fixed, optimal generator G:
    Theorem 1. The global minimum of the virtual training criterion C(G) is achieved if and only if pg=pdata. At that point, C(G) achieves the value −log 4。
    证明:
    已知 pg=pdata, 那么 DG=12。 C(G) = log12+log12=log4 。C(G)=V(DG,D)减去它得到:

    C(G)=log(4)+KL(pdata||pdata+pg2)+KL(pg||pdata+pg2)=log(4)+2×JSD(pdata||pg)

    两个分布之间的Jensen–Shannon 距离总是非负的,且当pdata=pg时JSD为0。因而C(G)的全局最小值为 C=log(4)

    wGAN

原始GAN存在着训练困难、生成样本缺乏多样性、生成器和判别器loss函数无法指示训练过程等问题,Wasserstein GAN通过简单的改变,实现了巨大的突破。主要改变有以下几点:
1. 判别器最后一层去掉sigmoid(这是由Wasserstein 距离决定的)
2. 生成器和判别器的loss不取log
3. 每次更新判别器的参数之后,把他们的绝对值限制到不超过一个常数c
4. 不要用基于动量的优化算法(Adam etc.),推荐RMSProp, 简单的SGD也可以
论文中的伪代码:
GANs学习(GAN、wGAN)


Wasserstein距离又叫 Earth-Mover(EM)距离,“推土机”距离。

W(Pr,Pg)=infγ(Pr,Pg)E(x,y)γ[||xy||]

直观上可以理解为:在γ “路径规划下”,把Pr 这堆”沙土”挪到 Pg “位置”所需要的“消耗”。而W(Pr,Pg) 表示 “最优路径规划”下的“最小消耗”。参考https://zhuanlan.zhihu.com/p/25071913

Wasserstein距离相比KL散度、JS散度的优势在于,即使两个分布没有重叠,Wasserstein距离任然能够反应他们的远近。

[1] Goodfellow I, Pouget-Abadie J, Mirza M, et al. Generative adversarial nets[C]//Advances in neural information processing systems. 2014: 2672-2680.
[2]Arjovsky M, Chintala S, Bottou L. Wasserstein generative adversarial networks[C]//International Conference on Machine Learning. 2017: 214-223.