赞
踩
GAN模型中有两个分布,一个是生成器,一个是判别器,根据他们的名字就可以看出,生成器是生成和真数据相似的分布来欺骗判别器,二判别器是判断出假数据从而不让生成器得逞,原文中作者举了一个很形象的例子,生成器就如假币的贩子,判别器就如警察,假币贩子制造假币,警察识别假币找出假币贩子,是一个对抗的过程。
其实,原始的生成器和判别器很简单,就是一些全连接网络组成,可以通过反向传播进行端到端的训练,训练过程相当于一个不断学习和对抗的过程。
整个过程大概如下图所示,将随机噪音输入到生成器,这里的随机噪音例如可以服从的是高斯分布,生成器根据输入的噪声生成一张假图像,判别器将真实图像和生成的假图像作为输入进行训练,这里的判别器其实就是一个二分类模型,输出为真或假。
式中,z是随机噪声,是随机噪声z的分布,是生成器,输入为z,其中有一个权重参数,是判别器,输入为图像x,他的权重参数为,所以对于GAN来说他训练的是两个模型,是一个对抗的过程,所以在他的目标函数中有一个求最大max和一个求最小min的过程。
GAN的目标函数包括两部分,如图中的红框和绿框:
判别器D要最大化,的含义是将真实图像输入到判别器D中,判别器认为是真图的概率,判别器希望真实图像的概率越大越好,这就对应了式中的maxD,绘制出图像如下
生成器要最小化函数,的含义是将噪声z输入到生成器G中得到一个假图,然后将输入到判别器D中,输出判别器认为假图是真图的概率,即。绘制出图像如下,生成器的目标是让判别器认为假图是真图的概率越大越好,即接近于1,而是一个递减的过程,即越大越小,所以生成器的目标变成了让越小越好,这就对应了式中的minG。
如图,详细和展示了GAN整个训练过程
图中, Z为噪声空间,噪声空间中为均匀分布的随机数,生成器将噪声空间的随机数z映射到图像空间x,随机点映射到图像空间的分布就是绿色曲线所示的高斯分布,而图像中的黑色曲线为真实图像的数据分布,蓝色曲线为判别器预测x为真实数据的概率,蓝色曲线在真实数据的分布出偏高,在生成器生成的数据分布处偏低。
这部分就是详细说明了GAN的训练过程,包括给定生成器训练判别器,和给定判别器训练生成器,将会涉及到大量的计算公式以及推导。
训练过程对应的伪代码如图,训练过程包括两个,第一个是首先训练k次判别器,然后再训练一次生成器。
首先采样m个随机噪声,生成m个假图像,
然后再采样m个真图像,
最后由损失函数和梯度,更新判别器的权重参数,
其中目标函数和我们之前说的是一样的,只不过是将期望换成了均值。
首先采样m个随机噪声,生成m个假图像,
然后由损失函数和梯度,更新生成器的权重参数,
注意再生成器的目标函数中,不会收到判别器的影响,所以只有生成器的部分。
首先给出结论,再进行证明:
对于给定的生成器G,最优的判别器为
其中为真实图像的概率,为假图像的概率
当且仅当时,生成器的目标函数取得最小值 -log4
DCGAN把上述的G和D用了两个卷积神经网络(CNN)。同时对卷积神经网络的结构做了一些改变,以提高样本的质量和收敛的速度,这些改变有:
WGAN也是一篇经典,WGAN主要从损失函数的角度对GAN做了改进,损失函数改进之后的WGAN即使在全链接层上也能得到很好的表现结果,具体的来说,WGAN对GAN的改进有:
之前的WGAN虽然理论上有极大贡献,但在实验中却发现依然存在着训练困难、收敛速度慢的问题,这个时候WGAN-GP就出来了,它的贡献是:
因为原始的GAN过于自由,训练会很容易失去方向,从而导致不稳定又效果差。而Conditional GAN就是在原来的GAN模型中加入一些先验条件,使得GAN变得更加的可控制。具体的来说,我们可以在生成模型G和判别模型D中同时加入条件约束y来引导数据的生成过程。条件可以是任何补充的信息,如类标签,其它模态的数据等。然后这样的做法应用也很多,比如图像标注,利用text生成图片等等。
比之前的目标函数,Conditional GAN的目标函数其实差不多:
就是多了把噪声z和条件y作为输入同时送进生成器火热把数据x和条件y作为输入同时送进判别器(如上整体架构图)。这样在外加限制条件的情况下生成图片
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。