[ Home | Docs | News | Resources | Download]
GAUL Documentation: Evolving Neural Networks

Very Brief Neural Network Primer

Artificial neural networks are a wide class of algorithms based on simple models of the brain. Their main forte is in their ability to classify data and to make predictions by interpolation. Certain neural network models are suited towards associative learning, or characterisation, or non-linear clustering in high-dimensional space.

There is a huge variety of neural network models in use.

Further Information About Neural Networks

Try this link for a list of tutorials about Neural Networks.

Example NN

The particular NN model in this example is a very simple multilayer perceptron with a sigmodial activation function. This is trained using a Lamarckian GA, where the adaptation step is traditional back-propagation with momentum. Certian aspects of this NN model are definitely less than optimal, but is designed for illustrative purposes. In this case the topology of the NN is fixed, whilst the weights and certian learning parameters are optimised using the GA with the weights additionally modified via Lamarckian adaptation. One aspect which makes this interesting is that the neural networks' learning parameters are evolved along with the weights which side-steps the additional problem of selecting a reasonable set of learning parameters.

The code is in nnevolve.c, with the neural network functionality provided in util/nn_util.c and util/gaul/nn_util.h. This is a fairly straightforward example for GAUL. The majority of the code deals with the setup of a custom chromosome. This just consists of a simple neural network datastructure.


[ Home | Docs | News | Resources | Download]
Hosted by:
SourceForge Logo
GAUL Button Valid HTML 4.01!

© 2001-2003, "Stewart Adcock" <stewart@linux-domain.com> All rights reserved.
All trademarks on this page are probably owned by their respective companies. You can insert you own favourite disclaimer here.