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模型学习,生成更好的样本。 效果:提高生成图像的质量,明确控制图像的某些方面。 参考:
Mirza M, Osindero S. Conditional Generative Adversarial Nets[J]. Computer Science, 2014:2672-2680.生成式对抗网络GAN研究进展(三)——条件GAN结合了有监督学习的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,DCGANminGmaxDV(D,G)=Ex∼Pr[logD(x)]+Ez∼Pg[1−logD(G(z))] 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)]
最终变换形式: KL(Pg||Pr)−2JS(Pr||Pg)
即最小化Pr和Pg之间的JS散度。有结论:由于 Pr 与 Pg 几乎不可能有不可忽略的重叠,所以无论它们相距多远JS散度都是常数 log2 ,最终导致生成器的梯度(近似)为0,梯度消失。
最小化目标分析:
KL(P1||P2)=Ex∼P1logP1P2 JS(P1||P2)=12KL(P1||P1+P22)+12KL(P2||P1+P22)
最小化生成分布与真实分布的KL散度,却又要最大化两者的JS散度,在数值上则会导致梯度不稳定。KL散度会造成两种错误:生成器没能生成真实样本(缺乏多样性) 生成器生成不真实样本(缺乏准确性)在原始GAN的(近似)最优判别器下,第一种生成器loss面临梯度消失问题,第二种生成器loss面临优化目标荒谬、梯度不稳定、对多样性与准确性惩罚不平衡导致mode collapse这几个问题。
W(Pr,Pg)=infγ∼∏(Pr,Pg)E(x,y)∼γ[||x−y||] (EM距离)
相比KL散度、JS散度的优越性:即便两个分布没有重叠,Wasserstein距离仍能反映它们的远近。KL散度和JS散度是突变的,Wasserstein距离却是平滑的,可以提供有意义的梯度。
其对偶问题:
W(Pr,Pg)=1Ksup||f||L≤KEx∼Pr[f(x)]−Ex∼Pg[f(x)] 要求函数f的导函数绝对值不超过K的条件下,对所有可能满足条件的f取到上式的上界,然后再除以K。
进而,用该距离做GAN的LOSS函数,可得:
生成器loss函数: −Ex∼Pr[f(x)] 判别器loss函数: Ex∼Pg[f(x)]−Ex∼Pr[f(x)]可以表示训练进程中,其数值越小,表示真实分布与生成分布的Wasserstein距离越小,GAN训练得越好。
判别器所近似的Wasserstein距离与生成器的生成图片质量高度相关:EM距离相对KL散度与JS散度具有优越的平滑特性,理论上可以解决梯度消失问题。在此近似最优判别器下优化生成器使得Wasserstein距离缩小,就能有效拉近生成分布与真实分布。WGAN既解决了训练不稳定的问题,也提供了一个可靠的训练进程指标,而且该指标确实与生成样本的质量高度相关。