本文为2018年发表于于IEEE Transactions on Evolutionary Computation的Evolutionary Generative Adversarial Networks,作者: Chaoyue Wang ; Chang Xu ; Xin Yao ; Dacheng Tao 主要特点是将传统的进化算法与对抗生成网络相结合,从何解决了GAN网络的训练不稳定以及模式崩溃的问题,原文:
click here:Wang C , Xu C , Yao X , et al. Evolutionary Generative Adversarial Networks[J]. IEEE Transactions on Evolutionary Computation, 2018.
GANs的基本原理:click here
GANs目前面临的挑战:click here
GANs模型的简单TensorFlow实现:click here
简介 : 受自然进化的启发,进化算法的本质是将可能的解决方案等同于群体中的个体,通过变异产生后代,并根据适应度选择适当的解决方案。遵循的基本原则:survival of the fittest;
应用 :进化算法主要应用在包括建模,优化和设计在内的各种计算任务中。
进化算法+深度学习:通过进化搜索来优化深度学习超参数和设计深度网络架构;优化神经网络。
框图:
现有GANs方法存在的问题:随着生成任务变得越来越具有挑战性,现有的GANs系统(GAN及其变体)容易出现各种训练问题,如不稳定性和模式崩溃等。
E-GAN将原始GANs的对抗训练过程转换成了进化问题,使得整个训练过程更加的稳定同时提高了生成器的性能;
•通过在GAN框架中引入简单有效的进化算法用于优化生成器,从而提高GAN训练过程的稳定性,这也是首次在GAN模型中引入进化学习;
•通过对E-GAN训练过程的分析,进一步探讨了现有GANs目标函数的一些性质。
•通过在大型数据集上的测试,结果显示本文所提出的的方法能够实现性能上的提升。
2.2 E-GAN框架
通过对比可以发现E-GANs与GANs的差别主要在于右半部分的生成器,E-GAN的生成器采取了类似进化算法的方式进行迭代更新,其每次迭代过程由三步完成:
Variation: 变异环节,就是通过一个个体G_θ,通过变异算子来产生子代{G_θ1 G_(θ2……..) G_θn}的过程;
Evaluation: 对于每一个产生的子代通过适应度函数对其进行评估,且该适应度函数取决于当前环境(即鉴别器);
Selection: 根据适应度值挑选优秀子代进入到下一次进化迭代过程
每次迭代完成后,进行鉴别器的更新环节:
鉴别器根据真实样本x以及进化后生成器生成的样本y进行更新,从而保证鉴别网络的训练不落后于生成网络,同时给生成器不断提供自适应的损失,以推动其种群进化,以产生更好的结果。
变异操作主要是指对上一次迭代结果得到的生成器模型,在此次更新过程中赋予其不同的目标函数,让神经网络根据不同的损失函数进行参数更新,从而试图从不同的角度缩小生成的分布与数据分布之间的距离;文章所用的目标函数有三种:
第一种是与原始GAN相同的目标函数,称为Minimax mutation:
第二种称之为Heuristic mutation:
第三种称之为Least-squares mutation:
三种目标函数有什么区别?看图:
由图,当鉴别器的训练进度领先于生成器,即鉴别器能将生成器所生成的图像识别出来,D(G(z))--->0,此时通过图中绿色线圈区域可以看出:
Minimax mutation在此处的梯度很小,且趋近于0,所以该目标函数在这种情况下存在梯度消散问题,而其他两种方法能够提供有效的梯度用于生成网络的更新环节;同时Least-squares mutation梯度小于Heunstic mutation, 更新速率低但是在一定情况下可避免模式崩塌。
同理,当鉴别器的训练进度落后于生成器,即鉴别器不能将生成器所生成的图像识别出来,D(G(z))--->1,此时通过图中红色线圈区域可以看出:
Least-squares mutation与Heunstic mutation在这种情况下存在梯度消散问题。
由于GAN的训练过程是一个对抗博弈训练过程,所以两种情况都是有可能出现的,所以采用单一的目标函数显然无法解决训练不稳定的问题,所以文章提出了E-GAN,利用进化算法的原理在每次迭代更新过程中选择最合适的目标函数进行更新生成器,从而保证生成器模型训练的稳定性。
那么任何选择最合适的目标函数,这就涉及到进化算法的适应度函数计算,根据适应度分数选择最适应当前“环境”的个体。
评估指标主要有两项:
the quality: 评价变异环节生成的子代的质量,即如果子代质量很好,说明其能够生成足够真实以至于欺骗鉴别器的图像;
the diversity of generated samples: 多样性衡量的是生成器是否能够将生成的样本充分分散,从而在很大程度上避免了模式崩溃。
质量适应得分:
多样性得分:
总的适应度分数函数:
相对高的适应度分数表示该个体(生成器)有着更高的训练效率以及更好地生成效能
优胜略汰,根据适应度得分进行排序,选择得分高的子代作为下一次迭代的父本;
总的来说,解决了模式崩溃的问题,到达了预期的效果,同时提高了生成器的性能,具体略