Skip to content
Genetically evolves neural networks to match a specific function
Python
Branch: master
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Permalink
Type Name Latest commit message Commit time
Failed to load latest commit information.
.gitignore
LICENSE
README.md
Result.png
grapher.py
helpers.py
main.py
mainShort.py
neural_network.py

README.md

Genetically Evolved Neural Network

Results from approximating an arbitrary 1D function

What is this program ? Why is it there ?

This program is a small project designed to get used to DEAP, a genetic algorithm Python framework that greatly eases the developping process by providing a structure to populations, individuals and genetic operators handling.

This program also follows my multiple failed attempts at implementing the CoSyNE algorithm by hand in vanilla NumPy. In the future, I'm planning on modifying this program to incorporate the changes specific to the CoSyNE algorithm.

What does it do ?

But as for now, I have this program that can - with a simple genetic algorithm - evolve the weights and biases necessaries to build a network that will mimic the defined targetFunc for x in [0, 1] and y in [0, 1]. These intervals can easily be extended to include negative values as well but I'm not interested in doing that for now.

It can graph in live the evolution of the fitness, which is the same as the cost here, as we're trying to minimise it. Furthermore, when Ctrl+C is pressed or that the maximum numbre of generations n_gen is reached, it displays the best individual's weights and biases as well as the graphs of the best hof_size functions (by default 5) along with the targetFunc's graph.

So this can be used for educational purposes.

You can’t perform that action at this time.