Evolving Neural Networks Through Augmenting Topologies (2002)
An important question in neuroevolution is how to gain an advantage from evolving neural network topologies along with weights. We present a method, NeuroEvolution of Augmenting Topologies (NEAT) that outperforms the best fixed-topology method on a challenging benchmark reinforcement learning task. We claim that the increased efficiency is due to (1) employing a principled method of crossover of different topologies, (2) protecting structural innovation using speciation, and (3) incrementally growing from minimal structure. We test this claim through a series of ablation studies that demonstrate that each component is necessary to the system as a whole and to each other. What results is significantly faster learning. NEAT is also an important contribution to GAs because it shows how it is possible for evolution to both optimize and complexify solutions simultaneously, offering the possibility of evolving increasingly complex solutions over generations, and strengthening the analogy with biological evolution.

Outstanding Paper of the Decade (2002-2012) award of the International Society for Artificial Life
[ The pdf file is made available by MIT Press ]

View:
PDF
Citation:
Evolutionary Computation, 10(2):99-127, 2002.
Bibtex:

Risto Miikkulainen Faculty risto [at] cs utexas edu
Kenneth Stanley Postdoctoral Alumni kstanley [at] cs ucf edu
NEAT C++ The NEAT package contains source code implementing the NeuroEvolution of Augmenting Topologies method. The source code i... 2010

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

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