Advertisement

生成对抗网络_生成式对抗网络1 - 基于遗传算法的生成对抗网络

阅读量:

本文章为生成式对抗网络学习笔记

Evolutionary Generative Adversarial Networks

生成对抗网络(GAN)是从复杂的真实数据中学习相关特征的一种重要的生成模型。生成对抗模型主要包含生成器与判别器两个深度神经网络。生成器的输入为合成图像,其目标是尽可能的学习真实数据中学习相关知识。判别器的输入为生成器的输出和真实图像这两类,其作用使最大可能的识别真实图像与生成图像之间的差距。于是,在模型的每次迭代中,生成器尽可能的想生成与真实图像的相似图像,从而骗过判别器。而判别器尽可能的想对真实图像与合成图像进行区分。两个网络相互博弈,即为生成对抗模型。

而在当前的GAN模型中,存在着很多问题。GAN在训练中,存在着不稳定的问题,往往需要平衡生成器和判别器的训练步数,不让判别器很快的收敛。此外,还存在模式坍塌的问题,即生成多种相似特征的数据。GAN的网络结构对应的超参数的调整往往也需要耗费大量的精力。因此,如何解决GAN对抗网络的以上三个主要缺陷成为当前的研究热点之一。

近年来,进化算法与深度学习结合的模型,取得的较好的结果。我们以(2018, Wang)的Evolutionary Generative Adversarial Networks一文为例,分析遗传算法运用在生成对抗网络中的性能提升。

在原始的GAN,如图1(a),生成器G和判别器D均为神经网络。而在E-GAN中,如图1(b),生成器变成以遗传算法为基础的模型。生成模型包含三个步骤:首先由噪声生成基础的种群;初始种群经过变异操作后产生不同的k个个体
;根据判别网络的返回结果,评估当前种群的适应度值
;根据适应度值,挑选合适的个体进入下一次迭代。
c36b2c8fdf1de7778fd47a93ac82ef9e.png

图1 原始GAN与E-GAN模型结构对比

模型细节

原始的GAN:

对于GAN,其解决的问题是如何使得生成图像的分布
尽可能的逼近真实图像的分布
。设生成器的输出为
,判别器的输出为
。将真实图像的标签设为正例,生成图像的标签设为负例。模型优化的目标为使判别器D尽可能的分离

的同时,生成器G保持和的JS散度尽可能的小。对抗网络的目标函数如下:

对于

,最小化其JS散度:

其中:

E-GAN的生成器模型:

在E-GAN中,生成器被遗传算法模型所代替,即期望通过遗传算法的改进,使得

尽可能接近。每步的遗传过程包含三个步骤:

  • 进化:通过一个个体
    变异操作后产生不同的k个子代个体

  • 评估:对于每一个产生的子代通过适应度函数对其进行评估,适应度函数即为鉴别器的loss。

  • 选择:根据适应度值挑选下一子代

在群落进化的过程中,主要选取了三种变异方法,分别为极大极小值变异,启发式变异,最小二乘变异,这三种变异方法直接体现在GAN网络loss函数的变化中。进化过程种三种变异算子的损失函数如图2所示。
4ef7a80a618c2cfe6c7ca526d6204bfc.png

图2 三种变异方式的损失函数

极大极小值变异 即为原始的GAN的loss函数。通过最小化

分布的JS散度,实现生成模型。若

存在重叠部分,判别器不能完全区分真实样本和生成样本,极小极大值loss可以提供梯度,并不断缩小数据分布和生成的分布之间的差距。但这种loss存在一个缺陷,即当

没有重叠部分,或存在其重叠的比例很小,则会出现loss恒为常数
,产生梯度均为0(梯度消失),网络无法训练的问题。极大极小值loss函数如下:

启发式变异 希望最大化判别器出错时的对数概率。启发式loss函数如下:

通过等式的变换,我们可以将最小化
等价为
。这种惩罚方法有效的避免了梯度消失的问题。而在这个损失函数中,优化目标是矛盾的,即通过KL散度期望

尽可能接近,而减去JS散度则期望

拉远。这会导致训练过程中出现不稳定的错误。

最小二乘变异 的损失函数为:

对于最小二乘变异的目标函数,判别器在有效识别生成数据时同样是不饱和的。随着判别器不断的训练,目标函数输出趋于0,逐渐饱和。相比启发式变异,最小二乘变异在生成器产生虚假图像时不会产生较大的惩罚,因此可以避免模式坍塌的问题。

对于群落适应度函数的评估,模型着重关注于生成器的两个性质:生成图片的质量与生成数据的多样性。模型的适应度函数为:

其中:


为图像质量评估分数,用于评估遗传算法每次迭代后,当前生成的种群图像的质量。图像质量得分越高,则说明生成器有效的学到了真实图像中的特征。
为图像多样性的评估分数。
为梯度正则化项。如果多样性分数高,则说明判别器的梯度
较小,避免了判别器训练的过好,从而使得生成器可以产生丰富的样本。

算法总结

对于E-GAN,生成器为一个种群的进化算法,生成器为种群当前所在的环境。在每一次的进化中,生成器根据几种不同的损失函数去适应当前的环境(判别器),挪去适应度较低的个体。相比单一的损失函数,采用多种损失函数(极大极小值变异,启发式变异,最小二乘变异)进行优化,可以相互取长补短,从而有效的避免模式崩溃的问题,实现生成数据与真实数据的逼近。

参考文献:

[1] C. Wang, C. Xu, X. Yao and D. Tao, "Evolutionary Generative Adversarial Networks," IEEE Transactions on Evolutionary Computation , vol. 23, no. 6, pp. 921-934, Dec. 2019.
[2] Martin, Arjovsky, and B. Lon. "Towards principled methods for training generative adversarial networks." NIPS 2016 Workshop on Adversarial Training. In review for ICLR. Vol. 2016. 2017.
[3] Arjovsky, Martin, Soumith Chintala, and Léon Bottou. "Wasserstein Generative Adversarial Networks." International Conference on Machine Learning. 2017.

全部评论 (0)

还没有任何评论哟~