HaolingZHANG / ReverseEncodingTree

Evolving Neural Network through the Reverse Encoding Tree
Apache License 2.0
15 stars 0 forks source link

Evolving Neural Network through a Reverse Encoding Tree

News: Our Paper has been accepted to IEEE CEC 2020 for a lecture presentation. An updated version could be found out here. Feel free to contact us for experiement details. Video

Code for Python 3.7 implementation (in the PyCharm) of Reverse Encoding Tree from the paper.

Getting Started

The library is divided into two parts. In the benchmark part, you will easy easily understand the principle of our strategy and its difference from other strategies. In the evolution part, you can use it for many tasks of NeuroEvolution.

We have further integrated neat-python in evolution/bean. The files in the example folder describe how to use the original NEAT to finish the well-accepted tasks. tasks folder includes all the execution documents in the experiments mentioned in the paper.

Prerequisites

Building a Bi-NEAT

We have 6 additional hyper-parameters in the configure.

You need to create a configure before running, the document including original settings is shown in https://readthedocs.org/projects/neat-python/.

After creating the configure:

from neat import population, config, genome, reproduction, species, stagnation

task_config = config.Config(genome.DefaultGenome, reproduction.DefaultReproduction, species.DefaultSpeciesSet, stagnation.DefaultStagnation, "your configure path")
task_population = population.Population(task_config)

Continous Learning Environments

If you think this repo helps or being used in your research, please consider refer this paper. Thank you.

@inproceedings{zhang2020evolving,
  title={Evolving neural networks through a reverse encoding tree},
  author={Zhang, Haoling and Yang, Chao-Han Huck and Zenil, Hector and Kiani, Narsis A and Shen, Yue and Tegner, Jesper N},
  booktitle={2020 IEEE Congress on Evolutionary Computation (CEC)},
  pages={1--10},
  year={2020},
  organization={IEEE}
}

Haoling Zhang, Chao-Han Huck Yang, Hector Zenil, Narsis A. Kiani, Yue Shen, Jesper N. Tegner

Contributors for this library

Haoling Zhang, Chao-Han Huck Yang