Neuroevolution paper, software, and demo

Kenneth Owen Stanley kstanley at cs.utexas.edu
Fri Sep 7 17:08:06 EDT 2001


Dear Connectionists,

NeuroEvolution of Augmenting Topologies (NEAT) is a new approach to
evolving the topology and weights of artificial neural networks.
Neural network topologies in NEAT start minimally and grow
increasingly complex over generations.  A paper describing the
method (abstract below), source code, and animated demos in a robot
control domain are all available at:

http://www.cs.utexas.edu/users/nn/pages/research/ne-methods.html#NEAT

--Kenneth Stanley and Risto Miikkulainen

Paper:
-----------------------------------------------------------------------
EVOLVING NEURAL NETWORKS THROUGH AUGMENTING TOPOLOGIES 
Kenneth O. Stanley and Risto Miikkulainen 
Department of Computer Sciences,
The University of Texas at Austin Technical Report TR-AI-01-290, June 2001.

http://www.cs.utexas.edu/users/nn/pages/publications/abstracts.html#stanley.utcstr01.ps.gz

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.

Software:
-----------------------------------------------------------------------
NEAT C++ SOURCE CODE
http://www.cs.utexas.edu/users/nn/pages/software/abstracts.html#neat-cpp
Kenneth Stanley

The NEAT package contains source code implementing the NeuroEvolution
of Augmenting Topologies method. The source code is written in C++.
The package includes implementations of experiments for XOR, single pole 
balancing, and both Markovian and non-Markovian double pole balancing. A 
17-page postscript documentation file is included to make getting started
easier.

Demo:
-----------------------------------------------------------------------
COMPETITIVE COEVOLUTION ROBOT CONTROL DEMO
http://www.cs.utexas.edu/users/nn/pages/research/neatdemo.html
Kenneth Stanley

The page contains links to movies (in the form of GIF animations)
depicting evolved robot controllers controlling simulated Khepera-like 
robots in a real-time pursuit and evasion task. The controllers were 
evolved using the NEAT method. The movies show the robots' behavior in 
the task, and also the actual evolved neural network controllers with
neurons firing in real-time, so you can see what the robots are 
"thinking" as they compete.  The main point of the demo is to
demonstrate that NEAT establishes an evolutionary "arms race",
i.e. is able to discover increasingly complex behaviors in
competitive coevolution.




More information about the Connectionists mailing list