Neuroevolution (2022)
Neuroevolution is a method for modifying aspects of neural network design in order to learn a specific task. Evolutionary computation is used to discover designs that maximize a fitness function that measures performance in the task. Compared to other neural-network learning methods, neuroevolution is highly general, allowing learning without explicit targets, and modifying both differentiable and nondifferentiable aspects of the design, such as the architecture, weights, activation and loss functions, and learning algorithms. Neuroevolution thus serves three roles: First, it is a policy search method for reinforcement learning problems, where it is well suited to continuous domains and to domains where the state is only partially observable. Second, it is an automatic method for discovering effective deep learning architectures. Third, especially when combined with learning in individual networks, it is a model of biological adaptation.
View:
PDF
Citation:
To Appear In Dinh Phung, Claude Sammut and Geoffrey I. Webb, editors, Encyclopedia of Machine Learning and Data Science, 3rd Edition, New York, 2022. Springer.
Bibtex:

Risto Miikkulainen Faculty risto [at] cs utexas edu
     [Expand to show all 18][Minimize]
MARLEDA Markovian Learning Estimation of Distribution Algorithm (MARLEDA) is an Estimation of Distribution Algorithm (EDA) that ... 2013

mMARLEDA The mMarleda package extends the MARLEDA software to multiobjective optim... 2013

CoSyNE C++ CoSyNE is a neuroevolution method where synapses of the network are evolved in separate subpopulations in a cooperative ... 2011

ENSO This package contains software implementing the ENSO approach for evolving symmetric modular neural networks. It also in... 2010

NEAT C++ The NEAT package contains source code implementing the NeuroEvolution of Augmenting Topologies method. The source code i... 2010

OpenNERO OpenNERO is a general research and education platform for artificial intelligence. The platform is based on a simulatio... 2010

rtNEAT C++ The rtNEAT package contains source code implementing the real-time NeuroEvolution of Augmenting Topologies method. In ad... 2006

NEAT: ANJI (Another NEAT Java Implementation) The ANJI package contains Java source code for the NeuroEvolution of Augmenting Topologies method (see the original 2004

NEAT C# The SharpNEAT package contains C# source code for the NeuroEvolution of Augmenting Topologies method (see the original <... 2003

NEAT Delphi The Delphi NEAT package contains Delphi source code for the NeuroEvolution of Augmenting Topologies method (see the orig... 2003

NEAT Matlab The Matlab NEAT package contains Matlab source code for the NeuroEvolution of Augmenting Topologies method (see the orig... 2003

ESP JAVA 1.1 The ESP package contains the source code for the Enforced Sup-Populations system written in Java. This package is a near... 2002

NEAT C++ for Microsoft Windows The Windows NEAT package contains C++ source code for the NeuroEvolution of Augmenting Topologies method (see the origin... 2002

NEAT Java (JNEAT) The JNEAT package contains Java source code for the NeuroEvolution of Augmenting Topologies method (see the original 2002

TEAM The TEAM package contains C++ implementations of both EuA (The Eugenic Algorithm) and TEAM (The Eugenic Algorithm with M... 2002

ESP C++ The ESP package contains the source code for the Enforced Sup-Populations system written in C++. ESP is an extension t... 2000

JavaSANE The JavaSANE package contains the source code for the Hierarchical SANE system, based on SANE-C, but rewritten extensive... 1998

SANE-C The SANE-C package contains the source code for the Hierarchical SANE system, written in C. This package has been rewrit... 1997