Neuroevolution, or neuro-evolution, is a form of
artificial intelligence
Artificial intelligence (AI) is the capability of computer, computational systems to perform tasks typically associated with human intelligence, such as learning, reasoning, problem-solving, perception, and decision-making. It is a field of re ...
that uses
evolutionary algorithm
Evolutionary algorithms (EA) reproduce essential elements of the biological evolution in a computer algorithm in order to solve "difficult" problems, at least Approximation, approximately, for which no exact or satisfactory solution methods are k ...
s to generate
artificial neural network
In machine learning, a neural network (also artificial neural network or neural net, abbreviated ANN or NN) is a computational model inspired by the structure and functions of biological neural networks.
A neural network consists of connected ...
s (ANN), parameters, and rules. It is most commonly applied in
artificial life
Artificial life (ALife or A-Life) is a field of study wherein researchers examine systems related to natural life, its processes, and its evolution, through the use of simulations with computer models, robotics, and biochemistry. The discipline ...
,
general game playing and
evolutionary robotics. The main benefit is that neuroevolution can be applied more widely than
supervised learning
In machine learning, supervised learning (SL) is a paradigm where a Statistical model, model is trained using input objects (e.g. a vector of predictor variables) and desired output values (also known as a ''supervisory signal''), which are often ...
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
Reinforcement learning (RL) is an interdisciplinary area of machine learning and optimal control concerned with how an intelligent agent should take actions in a dynamic environment in order to maximize a reward signal. Reinforcement learnin ...
paradigm, and it can be contrasted with conventional deep learning techniques that use
backpropagation (
gradient descent
Gradient descent is a method for unconstrained mathematical optimization. It is a first-order iterative algorithm for minimizing a differentiable multivariate function.
The idea is to take repeated steps in the opposite direction of the gradi ...
on a neural network) with a fixed topology.
Features
Many neuroevolution
algorithm
In mathematics and computer science, an algorithm () is a finite sequence of Rigour#Mathematics, mathematically rigorous instructions, typically used to solve a class of specific Computational problem, problems or to perform a computation. Algo ...
s 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).
Comparison with gradient descent
Most neural networks use gradient descent rather than neuroevolution. However, around 2017 researchers at
Uber
Uber Technologies, Inc. is an American multinational transportation company that provides Ridesharing company, ride-hailing services, courier services, food delivery, and freight transport. It is headquartered in San Francisco, California, a ...
stated they had found that simple structural neuroevolution algorithms were competitive with sophisticated modern industry-standard gradient-descent
deep learning
Deep learning is a subset of machine learning that focuses on utilizing multilayered neural networks to perform tasks such as classification, regression, and representation learning. The field takes inspiration from biological neuroscience a ...
algorithms, in part because neuroevolution was found to be less likely to get stuck in local minima. In ''
Science
Science is a systematic discipline that builds and organises knowledge in the form of testable hypotheses and predictions about the universe. Modern science is typically divided into twoor threemajor branches: the natural sciences, which stu ...
'',
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.
It can be shown that there is a correspondence between neuroevolution and gradient descent.
Direct and indirect encoding
Evolutionary algorithms operate on a population of
genotype
The genotype of an organism is its complete set of genetic material. Genotype can also be used to refer to the alleles or variants an individual carries in a particular gene or genetic location. The number of alleles an individual can have in a ...
s (also referred to as
genome
A genome is all the genetic information of an organism. It consists of nucleotide sequences of DNA (or RNA in RNA viruses). The nuclear genome includes protein-coding genes and non-coding genes, other functional regions of the genome such as ...
s). In neuroevolution, a genotype is mapped to a neural network
phenotype
In genetics, the phenotype () is the set of observable characteristics or traits of an organism. The term covers the organism's morphology (physical form and structure), its developmental processes, its biochemical and physiological propert ...
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.
Indirect encodings are often used to achieve several aims:
* 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''.
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
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):
See also
*
Automated machine learning (AutoML)
*
Evolutionary computation
Evolutionary computation from computer science is a family of algorithms for global optimization inspired by biological evolution, and the subfield of artificial intelligence and soft computing studying these algorithms. In technical terms ...
*
NeuroEvolution of Augmenting Topologies (NEAT)
*
HyperNEAT (A Generative version of NEAT)
*
Evolutionary Acquisition of Neural Topologies (EANT/EANT2)
References
External links
*
* (has downloadable papers on NEAT and applications)
* mature
open source
Open source is source code that is made freely available for possible modification and redistribution. Products include permission to use and view the source code, design documents, or content of the product. The open source model is a decentrali ...
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
* 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.
* Source code for the DXNN Neuroevolutionary system.
*
{{Neuroscience
Evolutionary algorithms and artificial neuronal networks