GAN的介绍
1.GAN的思想
GAN模型由生成式模型(generative model)和判别式模型(discriminative model)组成,这里以生成图片为例进行说明。它们的功能分别是:
- 生成模型G是一个生成图片的网络,它接收一个随机的噪声z,通过这个噪声生成图片,记做G(z)。
- 判别模型D是用来判别一张图片是不是“真实的”。它的输入参数是x,x代表一张图片,输出D(x)代表x为真实图片的概率,如果为1,就代表100%是真实的图片,而输出为0,就代表不可能是真实的图片。
在训练过程中,生成网络G的目标就是尽量生成真实的图片去欺骗判别网络D。而D的目标就是尽量把G生成的图片和真实的图片分别开来。这样,G和D构成了一个动态的“博弈过程”。
2.原始GAN存在的主要问题
- 不收敛(non-convergence)的问题
- 难以训练
- 梯度消失(gradient vanishing)
- 崩溃问题(mode collapse)
- 模型过于自由不可控
参考
- Goodfellow Ian, Pouget-Abadie J, Mirza M, et al. Generative adversarial nets[C]//Advances in Neural Information Processing Systems. 2014: 2672-2680。
- 生成式对抗网络GAN研究进展(二)——原始GAN
主要发展
1.CGAN(条件生成对抗网络)
针对问题:模型过于自由不可控。
方法:输入更多信息到GAN模型学习,生成更好的样本。
效果:提高生成图像的质量,明确控制图像的某些方面。
参考:
- Mirza M, Osindero S. Conditional Generative Adversarial Nets[J]. Computer Science, 2014:2672-2680.
- 生成式对抗网络GAN研究进展(三)——条件GAN
2.DCGAN(深度卷积生成对抗网络)
结合了有监督学习的CNN和无监督的GAN
针对问题:GAN训练不稳定,经常生成无意义的输出。
方法:生成模型和判别模型均采用CNN模型,并在结构上做了一些改变。
参考:
- Radford A, Metz L, Chintala S. Unsupervised representation learning with deep convolutional generative adversarial networks[J]. arXiv preprint arXiv:1511.06434, 2015.
- 生成式对抗网络GAN研究进展(五)——Deep Convolutional Generative Adversarial Nerworks,DCGAN
WGAN的贡献
1.原始GAN训练困难的分析
1)训练目标:
x表示真实图片,z表示输入G网络的噪声,而G(z)表示G网络生成的图片。
- 判别器LOSS(最小化): −Ex∼Pr[logD(x)]−Ex∼Pg[1−logD(x)]
- 生成器LOSS(最小化):
Ex∼Pg[1−logD(x)]
Ex∼Pg[−logD(x)]
2)训练过程:
- 先固定生成器,训练判别器达到最优,然后训练生成器。
利用SGD训练判别器达到最优解为: D∗(x)=Pr(x)Pr(x)+Pg(x) - 训练生成器(在判别器最优时):
a. Ex∼Pg[1−logD(x)]
最终变换形式: KL(Pg||Pr)−2JS(Pr||Pg)
即最小化Pr和Pg之间的JS散度。有结论:由于 Pr 与 Pg 几乎不可能有不可忽略的重叠,所以无论它们相距多远JS散度都是常数 log2 ,最终导致生成器的梯度(近似)为0,梯度消失。
b. Ex∼Pg[−logD(x)]
最小化目标分析:
KL(P1||P2)=Ex∼P1logP1P2
JS(P1||P2)=12KL(P1||P1+P22)+12KL(P2||P1+P22)
- 最小化生成分布与真实分布的KL散度,却又要最大化两者的JS散度,在数值上则会导致梯度不稳定。
- KL散度会造成两种错误:生成器没能生成真实样本(缺乏多样性)
生成器生成不真实样本(缺乏准确性)
小结:
在原始GAN的(近似)最优判别器下,第一种生成器loss面临梯度消失问题,第二种生成器loss面临优化目标荒谬、梯度不稳定、对多样性与准确性惩罚不平衡导致mode collapse这几个问题。
2.WGAN 的内容
1)Wasserstein距离:
相比KL散度、JS散度的优越性:即便两个分布没有重叠,Wasserstein距离仍能反映它们的远近。KL散度和JS散度是突变的,Wasserstein距离却是平滑的,可以提供有意义的梯度。
2)WGAN形式
其对偶问题:
要求函数f的导函数绝对值不超过K的条件下,对所有可能满足条件的f取到上式的上界,然后再除以K。
进而,用该距离做GAN的LOSS函数,可得:
- 生成器loss函数: −Ex∼Pr[f(x)]
- 判别器loss函数: Ex∼Pg[f(x)]−Ex∼Pr[f(x)]
可以表示训练进程中,其数值越小,表示真实分布与生成分布的Wasserstein距离越小,GAN训练得越好。
- 判别器所近似的Wasserstein距离与生成器的生成图片质量高度相关:
3)总结
EM距离相对KL散度与JS散度具有优越的平滑特性,理论上可以解决梯度消失问题。在此近似最优判别器下优化生成器使得Wasserstein距离缩小,就能有效拉近生成分布与真实分布。WGAN既解决了训练不稳定的问题,也提供了一个可靠的训练进程指标,而且该指标确实与生成样本的质量高度相关。
参考:
- M. Arjovsky, S. Chintala, and L. Bottou. Wasserstein gan. ArXiv,2017.
- 令人拍案叫绝的Wasserstein GAN