User:ET4Eva/Neuroevolution

神经进化 Neuro-evolution,是一种人工智能,它使用进化算法来生成人工神经网络(ANN)、参数、拓扑和规则。[1] 它最常用于人工生命、一般游戏和进化机器人技术。[2] 主要的好处是,神经进化可以比监督式学习算法更广泛地应用,后者需要一个正确的输入输出对的大纲。 相比之下,神经进化只需要测量一个网络在一项任务中的表现。 例如,一个游戏的结果(比如一个玩家是赢了还是输了)可以很容易地衡量,而不需要提供被标记为所需策略的例子。 神经进化可以和传统的深度学习技术相比,后者在具有固定拓扑结构的神经网络上使用梯度下降法。

功能

编辑

许多神经进化算法已经被定义。 一个共同的区别在于只进化固定网络拓扑(有时称为传统神经进化)的连接权重的强度,而不是那些进化网络拓扑结构和权重的算法(称为 TWEANNs,用于拓扑和权重演化的人工神经网络算法)。

与其参数并行演化的方法(应用标准进化算法的方法)和单独演化的方法(通过 memetic 算法)之间可以有一个单独的区别。[3]

与梯度下降法的比较

编辑

大多数神经网络使用梯度下降法,而不是神经进化。 然而,大约2017年,Uber 的研究人员表示,他们发现简单的结构性神经进化算法与先进的现代工业标准梯度下降深度学习算法相竞争,部分原因是神经进化被发现不太可能被困在当地的极简中。 在《科学》杂志上,记者马修 · 赫特森推测,神经进化之所以能够在以前失败的领域取得成功,部分原因在于2010年代增加了可用的计算能力。[4]

直接和间接编码

编辑

进化算法对个基因型(也称为基因组)进行计算。 在神经进化过程中,一个基因型被映射到一个神经网络表型上,这个表型在一些任务中被评估以获得它的适应性。

在直接编码方案中,基因型直接映射到表型。 也就是说,神经网络中的每个神经元和连接在基因型中被直接而明确地指定。 相反,在间接编码方案中,基因型间接地指定了网络应该如何生成。[5]

间接编码通常用于实现几个目标:[5][6][7][8][9]

  • 模块化和其他规则;
  • 将表型压缩为较小的基因型,提供较小的搜索空间;
  • 将搜索空间(基因组)映射到问题域。

间接编码胚胎发生系统的分类

编辑

传统上使用人工胚胎发育的间接编码(也称为人工发育)已经按照语法方法和细胞化学方法进行分类。[10] 前者以语法重写系统的形式演化了一系列规则。 后者试图通过基因表达来模拟生物学中物理结构的出现。 间接编码系统经常使用这两种方法的各个方面。

Stanley 和 Miikkulainen 提出了一种胚性系统的分类方法,旨在反映它们潜在的特性。[10] 分类法确定了五个连续的维度,沿着这些维度可以放置任何胚胎体系:

  • 细胞(神经元)的命运: 最终的特点和作用的细胞在成熟表型。 该维度计算用于确定单元命运的方法的数量。
  • 目标: 将连接从源细胞导向目标细胞的方法。 这个范围从特定的目标(源和目标明确标识)到相对目标(例如基于单元之间的相对位置)。
  • 异养: 胚胎发育过程中发生的事件的时间和顺序。 计算用于更改事件时间的机制的数量。
  • 可分化: 基因组对突变的容忍程度(脆性)。 从要求精确的基因型指令到高度容忍不精确的突变。
  • 复化: 系统(包括进化算法和基因型到表型的映射)随着时间的推移允许基因组的复化(表型)。 从允许只有固定大小的基因组到允许高度可变长度的基因组的范围。

例子

编辑

神经进化方法的例子(那些直接编码的方法必然是非胚胎性的) :

方法 编码 进化算法 方方面面的发展
神经遗传进化》 ,e · 罗纳德,1994[11] 直接 遗传算法 网络权重
细胞编码(CE)作者: f. Gruau,1994年[7] 间接的,胚胎状的(使用 s 表达式的语法树) 基因编程 结构及参数(同步,复化)
作者: Angeline 等人,1994[12] 直接 进化编程 结构及参数(同步,复化)
姚和刘,1997[13] 直接 进化规划(结合反向传播和模拟退火) 结构和参数(混合、复化和简化)
2002年 Stanley 和 miikulainen 增强拓扑的神经进化[14][15] 直接 遗传算法。 追踪具有历史标记的基因,以允许不同拓扑之间的交叉,通过专业保护创新。 结构和参数
基于超立方体的神经进化增强拓扑(HyperNEAT)作者: Stanley,D'Ambrosio,Gauci,2008[6] 间接的、非胚胎性的(由超立方体内的组合产生模式网络产生的空间模式被解释为低维空间中的连接模式) 遗传算法。 整洁算法(上图)用于 CPPN 的演化。 参数,结构固定(功能完全连接)
增强拓扑的可演化基底超立方体神经进化(ES-HyperNEAT)作者: Risi,Stanley,2012[9] 间接的,非胚性的(空间模式生成网络(组合模式生成网络)超立方体被解释为连接模式在一个较低的维度空间) 遗传算法。 整洁算法(上图)用于 CPPN 的演化。 参数和网络结构
神经拓扑的进化习得(eant / eant2)作者: Kassahun and Sommer,2005 / Siebel and Sommer,2007[16][17] 直接和间接的,潜在胚胎性(共同遗传编码)[5] 进化编程 / 进化策略 结构和参数(分别,复化)
Interactiveconstrained Neuro-Evolution (ICONE)作者: Rempis,2012[18] 直接,包括约束口罩,以限制搜索到特定的拓扑 / 参数流形。 进化算法。 通过利用领域知识,使用约束掩码大大减少了搜索空间。 结构和参数(分别,复化,交互式)
神经网络(DXNN) ,Gene Sher,2012[19] 直接 / 间接,包括约束,局部调节,并允许演化集成新的传感器和驱动器。 模因算法。 在不同的时间尺度上演化网络结构和参数。 结构和参数(分别,复化,交互式)
光谱多样化的统一神经进化建筑(SUNA) ,作者: Danilo Vasconcellos Vargas,Junichi Murata (下载代码)[20] 直接,介绍了统一的神经网络表示法(表示法融合了大多数文献中的神经网络特征)。 遗传算法具有多样性保护机制,称为频谱多样性,与染色体大小相当,是问题独立的,更注重获得高水平行为 / 方法的多样性。 为了实现这种多样性,引入了染色体光谱的概念,并与 Novelty Map 种群一起使用。 结构及参数(混合、复化和简化)
模块化基于代理的 Evolver (MABE)的克利福德博姆,阿伦欣茨,等人。[21] (下载密码) 直接或间接编码马尔科夫网络、神经网络、遗传编程和其他任意自定义控制器的编码。 提供进化算法,遗传编程算法,并允许定制算法,以及任意约束的规范。 进化方面包括神经模型,并允许形态学进化和性选择等。
协方差矩阵自适应的超容量排序自适应网格算法(CMA-HAGA)[22][23] 直接的,包括一个 atavism 功能,使特征消失和重新出现在不同的世代。 具有偏好清晰度的多目标进化策略 结构、权重和偏见。
  • 自动机器学习(AutoML)
  • 进化计算
  • 使用超容量排序自适应网格算法(CMA-HAGA)进行协方差矩阵自适应
  • 增强拓扑的神经进化
  • 人类的起源
  • Hyperneat (生成版的 NEAT)
  • 超净(一个决定参数和网络结构的 NEAT 生成版本)
  • 神经拓扑的进化获取(eant / eant2)
  • 光谱多样统一神经进化体系结构(SUNA)

参考文献

编辑
  1. ^ Stanley, Kenneth O. Neuroevolution: A different kind of deep learning. O'Reilly Media. 2017-07-13 [2017-09-04] (英语). 
  2. ^ Risi, Sebastian; Togelius, Julian. Neuroevolution in Games: State of the Art and Open Challenges (PDF). IEEE Transactions on Computational Intelligence and AI in Games. 2017. 
  3. ^ Togelius, Julian; Schaul, Tom; Schmidhuber, Jurgen; Gomez, Faustino, Countering poisonous inputs with memetic neuroevolution (PDF), Parallel Problem Solving from Nature, 2008 
  4. ^ Artificial intelligence can ‘evolve’ to solve problems. Science | AAAS. 10 January 2018 [7 February 2018] (英语). 
  5. ^ 5.0 5.1 5.2 Kassahun, Yohannes; Sommer, Gerald; Edgington, Mark; Metzen, Jan Hendrik; Kirchner, Frank, Common genetic encoding for both direct and indirect encodings of networks, Genetic and Evolutionary Computation Conference, ACM Press: 1029–1036, 2007 
  6. ^ 6.0 6.1 Gauci, Stanley, Generating Large-Scale Neural Networks Through Discovering Geometric Regularities (PDF), Genetic and Evolutionary Computation Conference, New York, NY: ACM, 2007 
  7. ^ 7.0 7.1 Gruau, Frédéric; I, L'universite Claude Bernard-lyon; Doctorat, Of A. Diplome De; Demongeot, M. Jacques; Cosnard, Examinators M. Michel; Mazoyer, M. Jacques; Peretto, M. Pierre; Whitley, M. Darell. Neural Network Synthesis Using Cellular Encoding And The Genetic Algorithm.. 1994. 
  8. ^ Clune, J.; Stanley, Kenneth O.; Pennock, R. T.; Ofria, C. On the Performance of Indirect Encoding Across the Continuum of Regularity. IEEE Transactions on Evolutionary Computation. June 2011, 15 (3): 346–367. ISSN 1089-778X. doi:10.1109/TEVC.2010.2104157. 
  9. ^ 9.0 9.1 Risi, Sebastian; Stanley, Kenneth O. An Enhanced Hypercube-Based Encoding for Evolving the Placement, Density and Connectivity of Neurons (PDF). Artificial Life journal (Cambridge, Massachusetts: MIT Press). 2012. 
  10. ^ 10.0 10.1 Stanley, Kenneth O.; Miikkulainen, Risto. A Taxonomy for Artificial Embryogeny (PDF). The MIT Press Journals. 2003. 
  11. ^ Ronald, Edmund; Schoenauer, March, Genetic Lander: An experiment in accurate neuro-genetic control, PPSN III 1994 Parallel Programming Solving from Nature 
  12. ^ Angeline, Peter J.; Saunders, Gregory M.; Pollack, Jordan B. An evolutionary algorithm that constructs recurrent neural networks (PDF). IEEE Transactions on Neural Networks. 1994, (5). 
  13. ^ Yao, Xin; Liu, Yong. A new evolutionary system for evolving artificial neural networks (PDF). IEEE Transactions on Neural Networks. May 1997, 8 (3). 
  14. ^ Stanley, Kenneth O. Real-Time Neuroevolution in the NERO Video Game (PDF). December 2005. 
  15. ^ Stanley, Kenneth O.; Miikkulainen, Risto. Evolving Neural Networks through Augmenting Topologies (PDF). Evolutionary Computation (MIT Press). 2002, 10 (2). 
  16. ^ Kassahun, Yohannes; Sommer, Gerald, Efficient reinforcement learning through evolutionary acquisition of neural topologies (PDF), 13th European Symposium on Artificial Neural Networks, Bruges, Belgium, April 2005 
  17. ^ Siebel, Nils T.; Sommer, Gerald. Evolutionary reinforcement learning of artificial neural networks (PDF). International Journal of Hybrid Intelligent Systems. October 2007, 4 (3). (原始内容 (PDF)存档于2008-09-05). 
  18. ^ Rempis,, Christian W. Evolving Complex Neuro-Controllers with Interactively Constrained Neuro-Evolution. Osnabrück University. October 2012. 
  19. ^ Sher, Gene I. Handbook of Neuroevolution Through Erlang. Springer Verlag. November 2012. 
  20. ^ Vargas, Danilo Vasconcellos; Murata, Junichi. Spectrum-Diverse Neuroevolution With Unified Neural Models. IEEE Transactions on Neural Networks and Learning Systems. 
  21. ^ Edlund, Jeffrey; Chaumont, Nicolas; Hintze, Arend; Koch, Christof; Tononi, Giulio; Adami, Christoph. Integrated Information Increases with Fitness in the Evolution of Animats. PLOS Computational Biology. 
  22. ^ Rostami, Shahin; Neri, Ferrante. A fast hypervolume driven selection mechanism for many-objective optimisation problems. Swarm and Evolutionary Computation. 2017-06-01, 34 (Supplement C): 50–67. doi:10.1016/j.swevo.2016.12.002. 
  23. ^ Multi-objective evolution of artificial neural networks in multi-class medical diagnosis problems with class imbalance - IEEE Conference Publication. ieeexplore.ieee.org. [2017-11-28] (美国英语). 

外部链接

编辑
  • Evolution 101: Neuroevolution | BEACON. beacon-center.org. [2018-01-14] (美国英语). 
  • NNRG Areas - Neuroevolution. nn.cs.utexas.edu. University of Texas. [2018-01-14].  / ref (有关整洁及应用的可供下载的文件)
  • SharpNEAT Neuroevolution Framework. sharpneat.sourceforge.net. [2018-01-14] (英语).  成熟的开源神经进化项目在 c # / 。净额。
  • ANNEvolve是一个开源人工智能研究项目(可下载的源代码在 c 和 Python 中,附带一个教程和杂项文字和插图
  • Nils T Siebel - EANT2 - Evolutionary Reinforcement Learning of Neural Networks. www.siebel-research.de. [2018-01-14].  / ref 关于进化学习与 eant / eant2]的网页(关于 eant / eant2与机器人学习应用程序的信息和文章)
  • 书呆子工具箱。 神经动力学和进化机器人开发工具包。 一个免费的,开放源码软件收集神经控制和神经进化的各种实验。 包括一个脚本模拟器,几个神经进化算法(如。 Icone) ,集群支持,视觉网络设计和分析工具。
  • CorticalComputer (Gene). GitHub. [2018-01-14].  Dxnn 神经进化系统源代码。
  • ES-HyperNEAT Users Page. eplex.cs.ucf.edu. [2018-01-14] (英语).