演化神经网络(NeuroEvolution)是一种用演化算法来生成神经网络的人工智能算法。这个领域的研究其实很早,姚新老师早在1999年就发表过相关领域的综述(Evolving Artificial Neural Networks)。在这篇文章中,他详细的介绍了各种不同的演化算法与神经网络结合的方法,包括演化神经网络中参数、拓扑结构、学习规则和输入特征。并且,还讨论了这些演化算法中运用到的不同类型的算子。这篇详尽的综述其实也从侧面表现出学者们对于演化神经网络这一研究领域的热情。但是,跟神经网络研究的情况类似,由于硬件的限制,当时的计算机计算能力相当有限,致使对于演化神经网络和神经网络研究一样的陷入僵局。近年,大量高效的计算设备和技术的更新,神经网络的研究以深度网络形式重新进入人们的视野,并且诞生了一批振奋人心的工作。在这种情况下,演化神经网络研究的深入似乎又成了一种可能。极客SethBling就曾在Youtube上发布过基于演化神经网络来挑战超级马里奥游戏的实验成果(Youtube视频链接国内转载链接)。

往期的AAEO中,我们也曾多次讨论过演化优化在神经网络中的应用:AAEO第3期分享了早期演化神经网络中两个经典的工作以及近年一些将演化优化用于深度学习中的尝试;AAEO第92期则分享了最近提出的一种针对图像分类的深度神经网络的分布式演化算法。AAEO第94期则主要侧重于分享近期基于多目标演化优化深度神经网络的工作。本期AAEO侧重分享关于直接使用演化算法来生成整个神经网络的工作。由于笔者能力有限,如果分享过程中存在疏忽,还请大家不吝赐教与指正。

  • 发表在IEEE Transactions on Evolutionary Computation 2002,来自 Kenneth O. Stanley 和 Risto Miikkulainen的文章Evolving Neural Networks through Augmenting Topologies提出一种在学习神经网络连接权重的同时,又能优化神经网络结构的方法。首先,文章采用一种能利用交叉变异来产生新的拓扑结构的策略。然后,提出了一种能保护结构特异性的方法。最后,又加入了允许现有结构生成新的节点和连接的策略。在实验中,这一算法分别在XORs和Pole Balancing问题上进行了测试,并证明了它优于当时的其它演化神经网络。此外,作者还通过只移除上述三种策略中的一种的控制变量方法,证明了这三种策略是相辅相成不可分割的。文章的主要贡献在于,它展现了演化神经网络在优化网络参数的同时又能优化网络复杂程度的能力。(文章链接
  • 发表在The Genetic and Evolutionary Computation Conference 2016,来自Google DeepMind团队的Chrisantha Fernando, Dylan Banarse, Malcolm Reynolds, Frederic Besse, David Pfau, Max Jaderberg, Marc Lanctot, Daan Wierstra的文章Convolution by Evolution: Differentiable Pattern Producing Networks提出一种用演化神经网络来压缩降噪自动编码器中的参数方法,将157684个参数压缩到了大概200个参数。这种压缩之所以能实现,是因为这个演化神经网络拥有能逼近全连接的卷积神经网络的能力。在大部分目前应用卷积神经网络的工作中这个演化神经网络可能是一个更佳的选择,因为它不用通过专门的人工设计来适应不同的挑战。在实验比较中,文章使用了手写体数字的数据集MNIST,通过分析实验结果文章证明了经过演化神经网络生成的降噪自动编码器比直接编码的全连接自动编码器表现的更优秀。(文章链接
陈 翼

陈 翼

华东师范大学计算机科学与软件工程学院—计算机科学技术系—博士生

© 2019 ECOLE