NeuroEvolution of Augmented Topologies
The NeuroEvolution (NE) is an artificial evolution of Neural Networks (NN) using genetic algorithms in order to find optimal NN parameters and topology. NeuroEvolution of NN may assume search for optimal weights of connections between NN nodes as well as search for optimal topology of resulting NN. The NEAT algorithm implemented in this work do search for both: optimal connections weights and topology for given task (number of NN nodes per layer and their interconnections). The basic system's performance is evaluated by two kind of experiments: • The XOR experiment which test whether topology augmenting actually happens by NEAT algorithm evaluation. To build XOR solving network the NEAT algorithm should grow new hidden unit in the provided start genome. • The pole balancing experiments which is classic Reinforcement Learning experiment allowing us to estimate performance of NEAT algorithm against proven results by many of other algorithms. I.e. we can benchmark NEAT performance against other algorithms and find out if it performs better or worse.
This article presents how to build and train Artificial Neural Networks by NEAT algorithm. It will consider weakness of current Gradient Descent based training methods and shows a way to improve it. (Original article was published by author at Medium: https://medium.com/@io42/neuroevolution-evolving-artificial-neural-networks-topology-from-the-scratch-d1ebc5540d84)