GAN的介绍
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构成了一个动态的“博弈过程”。
原始GAN目前存在的主要问题
·不收敛(non-convergence)的问题
·难以训练
梯度消失(gradient vanishing)
崩溃问题(mode collapse)
·模型过于自由不可控
参考:
·Goodfellow Ian, Pouget-AbadieJ, Mirza M, et al. Generative adversarialnets[C]//Advances in NeuralInformation Processing Systems. 2014: 2672-2680.
·生成式对抗网络GAN研究进展(二)——原始GANhttp://blog.csdn.net/solomon1558/article/details/52549409
主要发展
CGAN(条件生成对抗网络)
针对问题:模型过于自由不可控。
方法:输入更多信息到GAN模型学习,生成更好的样本。
效果:提高生成图像的质量,明确控制图像的某些方面。
参考:【1】Mirza M, Osindero S.Conditional Generative Adversarial Nets[J]. Computer Science, 2014:2672-2680.
【2】生成式对抗网络GAN研究进展(三)——条件GAN
http://blog.csdn.net/solomon1558/article/details/52549409
DCGAN(深度卷积生成对抗网络)
结合了有监督学习的CNN和无监督的GAN
针对问题:GAN训练不稳定,经常生成无意义的输出。
方法:生成模型和判别模型均采用CNN模型,并在结构上做了一些改变。
参考:【1】Radford A, Metz L, Chintala S. Unsupervised representation learningwith deep convolutional generative adversarial networks[J]. arXiv preprintarXiv:1511.06434, 2015.
【2】生成式对抗网络GAN研究进展(五)——Deep Convolutional Generative
Adversarial Nerworks,DCGAN
http://blog.csdn.net/solomon1558/article/details/52573596
WGAN的贡献
原始GAN训练困难的分析
1)训练目标:
x表示真实图片,z表示输入G网络的噪声,而G(z)表示G网络生成的图片。
判别器LOSS(最小化):
生成器LOSS(最小化):
2)训练过程:
· 先固定生成器,训练判别器达到最优,然后训练生成器。
· 利用SGD训练判别器达到最优解为:
训练生成器(在判别器最优时):
A、
最终变换形式:即最小化Pr和Pg之间的JS散度。
结论:由于P_r与P_g几乎不可能有不可忽略的重叠,所以无论它们相距多远JS散度都是常数log 2,最终导致生成器的梯度(近似)为0,梯度消失。
B、
最终变换形式:
最小化目标分析:
u最小化生成分布与真实分布的KL散度,却又要最大化两者的JS散度,在数值上则会导致梯度不稳定。
uKL散度会造成两种错误:生成器没能生成真实样本(缺乏多样性)
生成器生成不真实样本(缺乏准确性)
小结:在原始GAN的(近似)最优判别器下,第一种生成器loss面临梯度消失问题,第二种生成器loss面临优化目标荒谬、梯度不稳定、对多样性与准确性惩罚不平衡导致mode collapse这几个问题。
WGAN的内容
Wasserstein距离:
(EM距离)
相比KL散度、JS散度的优越性:即便两个分布没有重叠,Wasserstein距离仍能反映它们的远近。KL散度和JS散度是突变的,Wasserstein距离却是平滑的,可以提供有意义的梯度。
WGAN形式
对偶问题:
要求函数f的导函数绝对值不超过K的条件下,对所有可能满足条件的f取到上式的上界,然后再除以K。
进而,用该距离做GAN的LOSS函数,可得:
生成器loss函数:
判别器loss函数:
可以表示训练进程中,其数值越小,表示真实分布与生成分布的Wasserstein距离越小,GAN训练得越好。
·判别器所近似的Wasserstein距离与生成器的生成图片质量高度相关
总结:EM距离相对KL散度与JS散度具有优越的平滑特性,理论上可以解决梯度消失问题。在此近似最优判别器下优化生成器使得Wasserstein距离缩小,就能有效拉近生成分布与真实分布。WGAN既解决了训练不稳定的问题,也提供了一个可靠的训练进程指标,而且该指标确实与生成样本的质量高度相关。
参考:
【1】M. Arjovsky, S.Chintala, and L. Bottou. Wasserstein gan. ArXiv,2017.
【2】令人拍案叫绝的Wasserstein GANhttps://zhuanlan.zhihu.com/p/25071913