下载地址: https://github.com/WANG-Chaoyue/EvolutionaryGAN
1. 简介
生成对抗网络(GAN)在近些年中取得了快速的发展和广泛的关注,并被应用于一系列现实世界的任务中,例如图像生成,图像编辑,视频预测等等。具体来说,现有的GAN算法大多是在生成器G和判别器D之间执行一个two-player adversarial game。 在对抗过程中,生成器G致力于不断地‘骗过’判别器D,并最终生成服从真实分布的样本。虽然对抗学习在许多问题上都取得了不错的表现,但很多现有的GAN模型也都面临训练难的问题,例如梯度消失和模式崩溃(mode collapse)。在本文中,受到自然演化过程的启发,作者们提出了Evolutionary GAN (E-GAN),一个基于演化算法的GAN框架,以提升GAN训练的稳定性并期望得到更好的生成效果。
2. Evolutionary GAN
与以往的1vs1的对抗算法不同,E-GAN设计了一个判别器D与生成器‘种群’(population)之间的对抗框架。具体来说,作者假设生成器G不再以个体的形式存在,而是以‘种群’(population)的形态与判别器D进行对抗。从演化的角度,判别器D可以被视为演化过程中不断变化的环境,根据优胜劣汰的原则,生成器‘种群’中表现不好的个体(individual)被不断淘汰,只有表现优异的individual才会被保留以进一步的适应环境 (i.e., 与判别器D进行对抗)。这样,每次更新产生的生成器G都将是当下所有策略中最优的选项,从而我们不必再去小心翼翼的维持训练过程中D和G的平衡,避免了梯度消失,模式崩溃等一系列训练不稳定的问题。具体的训练方法入框架图所示:
在每一次对抗过程中,生成器的演化过程由三个步骤组成,分别是变异(Variation),评估(Evaluation)和选择(Selection)。
2.1. 变异(Variation)
在对抗过程中,为了可以持续更新并得到合适的生成器G,首先需要对现有的生成器‘种群’进行变异操作,并产生新的后代(offspring)。通过观察和对比现有的GAN training loss,作者发现不同的loss function具有不同的优势和劣势,因而采用他们作为不同的变异操作 (mutations)将可以得到不同的offspring。具体在试验中,三种变异操作被采纳,分别是 Minimax mutation,
Heuristic mutation,
和Least-squares mutation:
通过观察这三种变异的损失函数曲线,并辅助以理论分析,作者表示这三种mutations具有互补的优势,可以用于产生不同的特性的offspring。
2.2. 评估(Evaluation)
对变异后得到的新offspring, 先要对其生成性能进行评估,并量化为相应的适应性分数 (Fitness score ):
在提出的E-GAN框架中,适应性分数(i.e.,生成性能)主要有两方面决定,生成样本的质量:Quality fitness score , 和生成样本的多样性:Diversity fitness score , 是平衡他们所占比重的超参。其中,质量分数衡量了候选生成器所生成的样本能否成功的‘骗过’判别器D,
给定当下的判别器D,如果生成的样本能够取得较高的,则可假定其生成的样本质量更高。另外,多样性分数衡量了根据候选生成器,再次更新判别器D时所产生梯度的大小。如果候选生成器生成的样本相对集中(i.e., 缺乏多样性),则相应在更新判别器D时更容易引起大幅度的梯度波动。因此,
被用以衡量生成样本的多样性。
2.3. 选择(Selection)
在衡量过所有offspring的生成性能后,作者们根据优胜劣汰的原则择优选取更新过后的生成器G进行新一轮的训练。综上所说,整个演化训练过程总结在下表中:
3. 实验
E-GAN在混合高斯分布,cifar10,LSUN bedroom,SVNH等多个数据集上进行了实验。先后验证了E-GAN网络的生成多样性,生成质量,训练效率,结构鲁棒性和生成连续性的各项性能。结合定性的生成样本感官和定量的Inception score, FID, E-GAN均表现出了优于已有two-player GAN模型的性能。部分实验结果如下所示: