Neuroevolution, or neuro-evolution, is a form of artificial intelligence that uses evolutionary algorithms to generate artificial neural networks (ANN), parameters, and rules.[1] It is most commonly applied in artificial life, general game playing[2] and evolutionary robotics. The main benefit is that neuroevolution can be applied more widely than supervised learning algorithms, which require a syllabus of correct input-output pairs. In contrast, neuroevolution requires only a measure of a network's performance at a task. For example, the outcome of a game (i.e., whether one player won or lost) can be easily measured without providing labeled examples of desired strategies. Neuroevolution is commonly used as part of the reinforcement learning paradigm, and it can be contrasted with conventional deep learning techniques that use gradient descent on a neural network with a fixed topology.
Features
Many neuroevolution algorithms have been defined. One common distinction is between algorithms that evolve only the strength of the connection weights for a fixed network topology (sometimes called conventional neuroevolution), and algorithms that evolve both the topology of the network and its weights (called TWEANNs, for Topology and Weight Evolving Artificial Neural Network algorithms).
A separate distinction can be made between methods that evolve the structure of ANNs in parallel to its parameters (those applying standard evolutionary algorithms) and those that develop them separately (through memetic algorithms).[3]
Comparison with gradient descent
Most neural networks use gradient descent rather than neuroevolution. However, around 2017 researchers at Uber stated they had found that simple structural neuroevolution algorithms were competitive with sophisticated modern industry-standard gradient-descent deep learning algorithms, in part because neuroevolution was found to be less likely to get stuck in local minima. In Science, journalist Matthew Hutson speculated that part of the reason neuroevolution is succeeding where it had failed before is due to the increased computational power available in the 2010s.[4]
It can be shown that there is a correspondence between neuroevolution and gradient descent.[5]
Direct and indirect encoding
Evolutionary algorithms operate on a population of genotypes (also referred to as genomes). In neuroevolution, a genotype is mapped to a neural network phenotype that is evaluated on some task to derive its fitness.
In direct encoding schemes the genotype directly maps to the phenotype. That is, every neuron and connection in the neural network is specified directly and explicitly in the genotype. In contrast, in indirect encoding schemes the genotype specifies indirectly how that network should be generated.[6]
Indirect encodings are often used to achieve several aims:[6][7][8][9][10]
- modularity and other regularities;
- compression of phenotype to a smaller genotype, providing a smaller search space;
- mapping the search space (genome) to the problem domain.
Taxonomy of embryogenic systems for indirect encoding
Traditionally indirect encodings that employ artificial embryogeny (also known as artificial development) have been categorised along the lines of a grammatical approach versus a cell chemistry approach.[11] The former evolves sets of rules in the form of grammatical rewrite systems. The latter attempts to mimic how physical structures emerge in biology through gene expression. Indirect encoding systems often use aspects of both approaches.
Stanley and Miikkulainen[11] propose a taxonomy for embryogenic systems that is intended to reflect their underlying properties. The taxonomy identifies five continuous dimensions, along which any embryogenic system can be placed:
- Cell (neuron) fate: the final characteristics and role of the cell in the mature phenotype. This dimension counts the number of methods used for determining the fate of a cell.
- Targeting: the method by which connections are directed from source cells to target cells. This ranges from specific targeting (source and target are explicitly identified) to relative targeting (e.g., based on locations of cells relative to each other).
- Heterochrony: the timing and ordering of events during embryogeny. Counts the number of mechanisms for changing the timing of events.
- Canalization: how tolerant the genome is to mutations (brittleness). Ranges from requiring precise genotypic instructions to a high tolerance of imprecise mutation.
- Complexification: the ability of the system (including evolutionary algorithm and genotype to phenotype mapping) to allow complexification of the genome (and hence phenotype) over time. Ranges from allowing only fixed-size genomes to allowing highly variable length genomes.
Examples
Examples of neuroevolution methods (those with direct encodings are necessarily non-embryogenic):
Method | Encoding | Evolutionary algorithm | Aspects evolved |
---|---|---|---|
Neuro-genetic evolution by E. Ronald, 1994[12] | Direct | Genetic algorithm | Network Weights |
Cellular Encoding (CE) by F. Gruau, 1994[8] | Indirect, embryogenic (grammar tree using S-expressions) | Genetic programming | Structure and parameters (simultaneous, complexification) |
GNARL by Angeline et al., 1994[13] | Direct | Evolutionary programming | Structure and parameters (simultaneous, complexification) |
EPNet by Yao and Liu, 1997[14] | Direct | Evolutionary programming (combined with backpropagation and simulated annealing) | Structure and parameters (mixed, complexification and simplification) |
NeuroEvolution of Augmenting Topologies (NEAT) by Stanley and Miikkulainen, 2002[15][16] | Direct | Genetic algorithm. Tracks genes with historical markings to allow crossover between different topologies, protects innovation via speciation. | Structure and parameters |
Hypercube-based NeuroEvolution of Augmenting Topologies (HyperNEAT) by Stanley, D'Ambrosio, Gauci, 2008[7] | Indirect, non-embryogenic (spatial patterns generated by a Compositional pattern-producing network (CPPN) within a hypercube are interpreted as connectivity patterns in a lower-dimensional space) | Genetic algorithm. The NEAT algorithm (above) is used to evolve the CPPN. | Parameters, structure fixed (functionally fully connected) |
Evolvable Substrate Hypercube-based NeuroEvolution of Augmenting Topologies (ES-HyperNEAT) by Risi, Stanley 2012[10] | Indirect, non-embryogenic (spatial patterns generated by a Compositional pattern-producing network (CPPN) within a hypercube are interpreted as connectivity patterns in a lower-dimensional space) | Genetic algorithm. The NEAT algorithm (above) is used to evolve the CPPN. | Parameters and network structure |
Evolutionary Acquisition of Neural Topologies (EANT/EANT2) by Kassahun and Sommer, 2005[17] / Siebel and Sommer, 2007[18] | Direct and indirect, potentially embryogenic (Common Genetic Encoding[6]) | Evolutionary programming/Evolution strategies | Structure and parameters (separately, complexification) |
Interactively Constrained Neuro-Evolution (ICONE) by Rempis, 2012[19] | Direct, includes constraint masks to restrict the search to specific topology / parameter manifolds. | Evolutionary algorithm. Uses constraint masks to drastically reduce the search space through exploiting domain knowledge. | Structure and parameters (separately, complexification, interactive) |
Deus Ex Neural Network (DXNN) by Gene Sher, 2012[20] | Direct/Indirect, includes constraints, local tuning, and allows for evolution to integrate new sensors and actuators. | Memetic algorithm. Evolves network structure and parameters on different time-scales. | Structure and parameters (separately, complexification, interactive) |
Spectrum-diverse Unified Neuroevolution Architecture (SUNA) by Danilo Vasconcellos Vargas, Junichi Murata[21] (Download code) | Direct, introduces the Unified Neural Representation (representation integrating most of the neural network features from the literature). | Genetic Algorithm with a diversity preserving mechanism called Spectrum-diversity that scales well with chromosome size, is problem independent and focus more on obtaining diversity of high level behaviours/approaches. To achieve this diversity the concept of chromosome Spectrum is introduced and used together with a Novelty Map Population. | Structure and parameters (mixed, complexification and simplification) |
Modular Agent-Based Evolver (MABE) by Clifford Bohm, Arend Hintze, and others.[22] (Download code) | Direct or indirect encoding of Markov networks, Neural Networks, genetic programming, and other arbitrarily customizable controllers. | Provides evolutionary algorithms, genetic programming algorithms, and allows customized algorithms, along with specification of arbitrary constraints. | Evolvable aspects include the neural model and allows for the evolution of morphology and sexual selection among others. |
Covariance Matrix Adaptation with Hypervolume Sorted Adaptive Grid Algorithm (CMA-HAGA) by Shahin Rostami, and others.[23][24] | Direct, includes an atavism feature which enables traits to disappear and re-appear at different generations. | Multi-Objective Evolution Strategy with Preference Articulation (Computational Steering) | Structure, weights, and biases. |
See also
- Automated machine learning (AutoML)
- Evolutionary computation
- NeuroEvolution of Augmenting Topologies (NEAT)
- HyperNEAT (A Generative version of NEAT)
- Evolutionary Acquisition of Neural Topologies (EANT/EANT2)
References
- ↑ Stanley, Kenneth O. (2017-07-13). "Neuroevolution: A different kind of deep learning". O'Reilly Media. Retrieved 2017-09-04.
- ↑ Risi, Sebastian; Togelius, Julian (2017). "Neuroevolution in Games: State of the Art and Open Challenges". IEEE Transactions on Computational Intelligence and AI in Games. 9: 25–41. arXiv:1410.7326. doi:10.1109/TCIAIG.2015.2494596. S2CID 11245845.
- ↑ Togelius, Julian; Schaul, Tom; Schmidhuber, Jürgen; Gomez, Faustino (2008). "Countering Poisonous Inputs with Memetic Neuroevolution". Parallel Problem Solving from Nature – PPSN X. Lecture Notes in Computer Science. Vol. 5199. pp. 610–619. doi:10.1007/978-3-540-87700-4_61. ISBN 978-3-540-87699-1.
- ↑ Hutson, Matthew (11 January 2018). "Artificial intelligence can 'evolve' to solve problems". Science. doi:10.1126/science.aas9715.
- ↑ Whitelam, Stephen; Selin, Viktor; Park, Sang-Won; Tamblyn, Isaac (2 November 2021). "Correspondence between neuroevolution and gradient descent". Nature Communications. 12 (1): 6317. arXiv:2008.06643. Bibcode:2021NatCo..12.6317W. doi:10.1038/s41467-021-26568-2. PMC 8563972. PMID 34728632.
- 1 2 3 Kassahun, Yohannes; Sommer, Gerald; Edgington, Mark; Metzen, Jan Hendrik; Kirchner, Frank (2007), "Common genetic encoding for both direct and indirect encodings of networks", Genetic and Evolutionary Computation Conference, ACM Press, pp. 1029–1036, CiteSeerX 10.1.1.159.705
- 1 2 Gauci, Stanley (2007), "Generating Large-Scale Neural Networks Through Discovering Geometric Regularities" (PDF), Genetic and Evolutionary Computation Conference, New York, NY: ACM
- 1 2 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 (1994). Neural Network Synthesis Using Cellular Encoding And The Genetic Algorithm. CiteSeerX 10.1.1.29.5939.
- ↑ Clune, J.; Stanley, Kenneth O.; Pennock, R. T.; Ofria, C. (June 2011). "On the Performance of Indirect Encoding Across the Continuum of Regularity". IEEE Transactions on Evolutionary Computation. 15 (3): 346–367. CiteSeerX 10.1.1.375.6731. doi:10.1109/TEVC.2010.2104157. ISSN 1089-778X. S2CID 3008628.
- 1 2 Risi, Sebastian; Stanley, Kenneth O. (October 2012). "An Enhanced Hypercube-Based Encoding for Evolving the Placement, Density, and Connectivity of Neurons". Artificial Life. 18 (4): 331–363. doi:10.1162/ARTL_a_00071. PMID 22938563. S2CID 3256786.
- 1 2 Stanley, Kenneth O.; Miikkulainen, Risto (April 2003). "A Taxonomy for Artificial Embryogeny". Artificial Life. 9 (2): 93–130. doi:10.1162/106454603322221487. PMID 12906725. S2CID 2124332.
- ↑ Ronald, Edmund; Schoenauer, March (1994), "Genetic Lander: An experiment in accurate neuro-genetic control", PPSN III 1994 Parallel Programming Solving from Nature, pp. 452–461, CiteSeerX 10.1.1.56.3139
- ↑ Angeline, P.J.; Saunders, G.M.; Pollack, J.B. (January 1994). "An evolutionary algorithm that constructs recurrent neural networks". IEEE Transactions on Neural Networks. 5 (1): 54–65. CiteSeerX 10.1.1.64.1853. doi:10.1109/72.265960. PMID 18267779. S2CID 44767.
- ↑ Yao, X.; Liu, Y. (May 1997). "A new evolutionary system for evolving artificial neural networks". IEEE Transactions on Neural Networks. 8 (3): 694–713. doi:10.1109/72.572107. PMID 18255671.
- ↑ Stanley, Kenneth O.; Bryant, Bobby D.; Miikkulainen, Risto (December 2005). "Real-Time Neuroevolution in the NERO Video Game" (PDF).
- ↑ Stanley, Kenneth O.; Miikkulainen, Risto (June 2002). "Evolving Neural Networks through Augmenting Topologies". Evolutionary Computation. 10 (2): 99–127. CiteSeerX 10.1.1.638.3910. doi:10.1162/106365602320169811. PMID 12180173. S2CID 498161.
- ↑ Kassahun, Yohannes; Sommer, Gerald (April 2005), "Efficient reinforcement learning through evolutionary acquisition of neural topologies" (PDF), 13th European Symposium on Artificial Neural Networks, Bruges, Belgium, pp. 259–266
{{citation}}
: CS1 maint: location missing publisher (link) - ↑ Siebel, Nils T.; Sommer, Gerald (17 October 2007). "Evolutionary reinforcement learning of artificial neural networks". International Journal of Hybrid Intelligent Systems. 4 (3): 171–183. doi:10.3233/his-2007-4304.
- ↑ Rempis, Christian Wilhelm (2012). Evolving Complex Neuro-Controllers with Interactively Constrained Neuro-Evolution (Thesis).
- ↑ Sher, Gene I. (2013). Handbook of Neuroevolution Through Erlang. doi:10.1007/978-1-4614-4463-3. ISBN 978-1-4614-4462-6. S2CID 21777855.
- ↑ Vargas, Danilo Vasconcellos; Murata, Junichi (2019). "Spectrum-Diverse Neuroevolution With Unified Neural Models". IEEE Transactions on Neural Networks and Learning Systems. 28 (8): 1759–1773. arXiv:1902.06703. Bibcode:2019arXiv190206703V. doi:10.1109/TNNLS.2016.2551748. PMID 28113564. S2CID 206757620.
- ↑ Edlund, Jeffrey; Chaumont, Nicolas; Hintze, Arend; Koch, Christof; Tononi, Giulio; Adami, Christoph (2011). "Integrated Information Increases with Fitness in the Evolution of Animats". PLOS Computational Biology. 7 (10): e1002236. arXiv:1103.1791. Bibcode:2011PLSCB...7E2236E. doi:10.1371/journal.pcbi.1002236. PMC 3197648. PMID 22028639.
- ↑ Rostami, Shahin; Neri, Ferrante (June 2017). "A fast hypervolume driven selection mechanism for many-objective optimisation problems". Swarm and Evolutionary Computation. 34: 50–67. doi:10.1016/j.swevo.2016.12.002. hdl:2086/13102.
- ↑ Shenfield, Alex; Rostami, Shahin (2017). "Multi-objective evolution of artificial neural networks in multi-class medical diagnosis problems with class imbalance" (PDF). 2017 IEEE Conference on Computational Intelligence in Bioinformatics and Computational Biology (CIBCB). pp. 1–8. doi:10.1109/CIBCB.2017.8058553. ISBN 978-1-4673-8988-4. S2CID 22674515.
External links
- "Evolution 101: Neuroevolution | BEACON". beacon-center.org. Retrieved 2018-01-14.
- "NNRG Areas - Neuroevolution". nn.cs.utexas.edu. University of Texas. Retrieved 2018-01-14. (has downloadable papers on NEAT and applications)
- "SharpNEAT Neuroevolution Framework". sharpneat.sourceforge.net. Retrieved 2018-01-14. mature Open Source neuroevolution project implemented in C#/.Net.
- ANNEvolve is an Open Source AI Research Project (Downloadable source code in C and Python with a tutorial & miscellaneous writings and illustrations
- "Nils T Siebel – EANT2 – Evolutionary Reinforcement Learning of Neural Networks". siebel-research.de. Retrieved 2018-01-14. Web page on evolutionary learning with EANT/EANT2] (information and articles on EANT/EANT2 with applications to robot learning)
- NERD Toolkit. The Neurodynamics and Evolutionary Robotics Development Toolkit. A free, open source software collection for various experiments on neurocontrol and neuroevolution. Includes a scriptable simulator, several neuro-evolution algorithms (e.g. ICONE), cluster support, visual network design and analysis tools.
- "CorticalComputer (Gene)". GitHub. Retrieved 2018-01-14. Source code for the DXNN Neuroevolutionary system.
- "ES-HyperNEAT Users Page". eplex.cs.ucf.edu. Retrieved 2018-01-14.