GAN公式原理推到

上一篇论文中介绍了GAN[1]的原理,这篇继续介绍下它的公式推导的具体的过程,如果需要原理介绍的,可以回到上一篇关于GAN的文章的介绍中。(http://blog.csdn.net/susanzhang1231/article/details/73604302

这里写图片描述
这张图给出了GAN训练的过程:首先固定G中的参数,训练一个可以用于分类的D,然后固定D的参数,调整G的参数,使其产生的图片送入当前的D中可以迷惑D认为它是真的图片(其实它是假的)。然后再固定此时的G,训练D,使得D可以区分当前的G产生的图片其实是假的。这样不断的提高G和D。

在正式推导GAN的公式之前,先加一点题外只是,KL散度(主要用于区分两个分布的一个评判方法)
这里写图片描述
这里写图片描述
这个过程的意思是在给定一个真实数据的分布的情况下,找到另外一个分布,使得这两个分布特别像,所以可以通过最大似然估计的方式进行。
因为最开始最大似然估计的公式中是乘积的形式,所以通过取log得到求和的方式,这近似等于对所有的x求期望,其中在倒数第三步多减去了一项,是因为后边的那一项是一个常数(因为Pdata(x)是真是数据的分布,这个是已知的),这样减去之后可以构建出KL散度。

下面是论文中的公式1
这里写图片描述
如果想要最大化最后的那个公式,可以使得积分中的每一项都最大,所以如下:如果想要求它的最大值,可以通过求导的方式:
这里写图片描述
这是文中公式2具体的得来方式

这里写图片描述

这里写图片描述
下边那个乘和除以1/2和2 主要是为了构建上边的JSD散度的形式,这个得到论文中公式5。
这里所说的JS散度也是用来度量两个分布差异的一种方式,比较与KL散度,它是一个对称的散度。

最后通过梯度下降的方式可以最小化最后的这个目标函数。

GAN存在的问题:
1) 评估训练好坏的问题:不能通过loss的大小来衡量
2)梯度消失问题 (D具有无限建模能力,由于没有对其建模的对象,真实样本的分布做任何的限定)
3)mode collapse

所以后续提出了各种各样的GAN,被大家用的比较多的有WGAN,以及LSGAN

其中WGAN[2]:
WGAN提出Earth-Mover(EM)距离取代JS散度来度量真实和生成样本密度之间的距离。该距离的特点:即便用具有无限能力的D-网络完美分割真实样本和生成样本,这个距离也不会退化成常数,仍然可以提供梯度来优化G-网络。

由于假设中的无限建模能力,使得D-网络可以完美分开真实样本和生成样本,进而JS散度为常数;而WGAN换JS散度为EM距离,解决了优化目标的梯度为零的问题。

训练过程中有一个像交叉熵、准确率这样的数值来指示训练的进程,这个数值越小代表GAN训练得越好,代表生成器产生的图像质量越高

LSGAN[3]:
WGAN仍然是基于D具有无限建模能力的假设,而LS-GAN通过限定D的能力,实现“按需分配”。

当一个生成样本非常接近某个真实样本时,LS-GAN就不会在过度地最大化他们之间L-函数地差值,从而LS-GAN可以更有效地集中优化那些距离真实样本还非常远地生成样本,提高LS-GAN模型优化和使用地效率。

reference:
[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 gan[J]. arXiv preprint arXiv:1701.07875, 2017.
[3]Qi G J. Loss-sensitive generative adversarial networks on lipschitz densities[J]. arXiv preprint arXiv:1701.06264, 2017.

猜你喜欢

转载自blog.csdn.net/SusanZhang1231/article/details/76906340
今日推荐