[解读] COEGAN Evaluating the Coevolution Effect in Generative Adversarial Networks
链接: https://arxiv.org/abs/1912.06172v1, https://arxiv.org/abs/1912.06180v1
本文提出一种协同进化的生成式对抗网络(COEGAN), 将进化和协同训练应用到 GAN 中, 该方法将能够克服 GAN 训练中遇到的梯度消失和模型崩溃问题, 能够生成更有效的网络结构. 试验结果表明该方法训练稳定并且表现优秀.
相关的工作
NeuroEvolution of Augmenting Topologies
(NEAT) [23] 是一个著名的进化算法, 能够对权重和网络的拓扑结构进行进化, 它将结构和权重编码为基因组, 基因代表着神经元和其之间的连接.
DeepNEAT [16] 将 NEAT 扩展到深度神经网络, 每一个基因代表神经网络中的一个完整的层, 这有利于探索更深的网络结构. 本文的模型将把 DeepNEAT 展到 GAN 中去.
方法
模型的结构即基因组被表示为基因的数组, 它可以用来转换成网络结构.
本模型中有三种基因类型: 线性, 卷积, 转置卷积. 每一个基因有几种损失函数: ReLU, LeakyReLU, ELU, Sigmoid and Tanh.
种群分为两个子群: 生成器群 和鉴别器群 . 在每一个子群里都有一个物种形成机制. 这个机制基于 NEAT 做的改进, 能够确保添加了新的网络层的后代个体能够像他们父辈一样具有生命力从而生存下来, 换句话说就是能够继承父辈的优良传统.
本模型将聚焦于对网络结构的进化. 由于计算量太大, 所以网络参数将使用梯度下降算法进行学习.
每一个个体需要一个标准来衡量它的适应度(Fitness), 对于鉴别器来说, 使用经典的 GAN 中的鉴别器损失来衡量:
而生成器则使用 FID 准则来衡量, 即
注意这里的 分别是真是样本和生成样本的特征表达向量, 获得方法是使用训练好的 Inception Net 网络对样本进行编码得到. FID对模型崩溃更加敏感, 相比较 Inception Score 来说, 它对噪声有更好的鲁棒性, 因而能够生成更真实多样的样本.
一般情况下IS评价指标的使用很少,因为它只考虑了GAN生成样本的质量,并没有考虑真实数据的影响。IS用Inception V3直接输出类别,而FID则用其输出特征。借用原博主的博文—— IS 无法反映真实数据和样本之间的距离,IS 判断数据真实性的依据,源于 Inception V3 的训练集—— ImageNet,在 Inception V3 的“世界观”下,凡是不像 ImageNet 的数据,都是不真实的,都不能保证输出一个 sharp 的 predition distribution。而FID距离计算真实样本,生成样本在特征空间之间的距离。首先利用Inception网络来提取特征,然后使用高斯模型对特征空间进行建模,再去求解两个特征之间的距离,较低的FID意味着较高图片的质量和多样性。
相比于IS,FID对噪声更加鲁棒,但仍未解决大规模数据集上过拟合的问题,并且基于特征提取的方法只能根据特征的有无进行评价,而不能评价特征的相对空间位置。“GAN的论文中经常使用FID作为IS的补充,特别是在多样性和mode collapse问题上,FID有更好地评价表现,但也有和IS同样的缺陷,比如不适合在内部差异较大的数据集上使用,无法区分过拟合等。”(原谅我多次引用原博主的博文,因为数学公式和推导实在太少,并且原博主已经总结得很不错啦,为何不站在巨人的肩膀上眺望远方呢~嘿嘿。)
————————————————
版权声明:本文为****博主「纵心似水」的原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.****.net/S20144144/article/details/102565990
生成一个新个体的操作使用变异算子(Variation Operator)来进行. 具体来说是突变算子(Mutation Operator). 它包含以下几个操作: 添加一个新层, 移除一个层, 改变一个存在的层. 添加的新层是从预先设定的所有基因类型中随机挑选. 移除也是随机从已有的层中移除. 改变也是随机改的, 层的大小等属性都可以改变. 在突变过程中有些没有变动的层可以继承父辈的权重, 改变的只能随机初始化重新训练.
在进化过程中, 生成器和鉴别器需要两两配对来计算适应度.
生成器和鉴别器的种群基于基因的相似性被划分为几个物种. 这个相似性度量由两个基因组的距离表示, 这个距离定义为仅存在于某一个基因组的基因数目.
可能的改进
可以从优化训练速度上进行改进.
参考
- [16] RistoMiikkulainen,JasonLiang,ElliotMeyerson,AdityaRawal,DanFink,Olivier Francon, Bala Raju, Arshak Navruzyan, Nigel Duffy, and Babak Hodjat. 2017. Evolving Deep Neural Networks. arXiv preprint arXiv:1703.00548 (2017).
- [23] Kenneth O Stanley and Risto Miikkulainen. 2002. Evolving neural networks through augmenting topologies. Evolutionary computation 10, 2 (2002), 99–127.
补充
Inception Score 定义为
配对方案
Fitness and Select
https://blog.****.net/weixin_30239361/article/details/101540896
个体的适应度(fitness)指的是个体在种群生存的优势程度度量,用于区分个体的“好与坏”。适应度使用适应度函数(fitness function)来进行计算。适应度函数也叫评价函数,主要是通过个体特征从而判断个体的适应度。
选择操作就是用来确定如何从父代群体中按某种方法选取哪些个体作为父母,然后进行交配(重组/交叉)操作,生成新的个体的过程。
NEAT: https://www.cnblogs.com/bonelee/p/7725264.html,
代码: https://github.com/vfcosta/coegan
本人才疏学浅, 如有遗漏或错误之处, 请多多指教!