NeuroEvolution
Neuroevolution, or neuro-evolution, is a form of machine learning that uses evolutionary algorithms to train artificial neural networks.
© wikipedia
The best introduction to this specific form of machine learning is The NeuroEvolution of Augmenting Topologies (NEAT) Users Page by Kenneth O. Stanley.
Another useful resource is SharpNEAT project at SourceForge (unfortunately this C# code seems to be deserted).
My NeuroEvolution research series would consist of posts on efficient usage of this machine learning technology. I'm currently interested in:
- taking advantage of the latest .NET features while reimplementing the algorithms;
- optimizing the performance;
- taking advantage of the distributed computing services for .NET - Windows Azure Cloud Computing.
You may subscribe to the entire journal or just the posts on NeuroEvolution.
NeuroEvolution series currently feature these posts:
- On AI, Neuro-Evolution and Azure - introduction (2008-12-22).
- Caching Activation Function Is Not Worth It - on improving performance of neural networks in .NET C# (2009-01-05).
- F# Has Better Performance than C# in Math - reimplementing algorithms from the previous post in F# made them as fast as C (2009-01-06).
- Strategy Pattern in .NET NeuroEvolution Algorithms - making it easier to write mutation and cross-over heuristics (2009-01-08).
To be continued...