My project is to create neural networks that can evolve like living organisms. This mechanism of evolution is inspired by real-world biology and is heavily focused on biochemistry, which contribute to creating a complex gene regulatory network and an indirect encoding mechanism for neural networks, where even a single letter mutation can cause dramatic changes to a model.
GITHUB: GitHub - Danil-Kutnyy/Neuroevolution: Simulation of neural network evolution
The code for this project consists of three parts:
- Genpiler (a genetical compiler) - the heart of the evolution code, which simulates many known biochemistry processes of living organisms, transforming a sequence of “ACGT” letters (the genetic code) into a mature neural network with complex interconnections, defined matrix operations, activation functions, training parameters and meta parameters.
- Tensorflow_model.py transcribes the resulting neural network into a TensorFlow model.
- Population.py creates a population of neural networks, evaluates them with MNIST dataset and creates a new generation by taking the best-performed networks, recombining their genomes (through sexual reproduction) and mutating them.