A linear genetic programming based approach for neural architecture search of deep neural networks. This work also makes use of surrogate models using the SMT toolkit
- Examples here are for CNNs on vision problems.
- Configurations of the files are controlled using the JSON files.
- Code is designed to be used with multiple GPUs in parallel and run using SLURM batch files but can be adapted in the neuroLGP.py for single GPU cases.
- Experimentation is also controlled in neuroLGP.py
Though some code has been writen for multi-objective optimisation the code has only been tested for single-objective cases.
For future researchers in the linearGenProgTree.py script it is possible to customize genotype to phenotype mappings in the generate model method of the Execute class.
For more information or if citing, please look at the following publications:
@inproceedings{stapleton2025surrogate,
title={Surrogate-assisted evolution for efficient multi-branch connection design in deep neural networks},
author={Stapleton, Fergal and Garc{\'\i}a N{\'u}{\~n}ez, Daniel and Sun, Yanan and Galv{\'a}n, Edgar},
booktitle={Proceedings of the Genetic and Evolutionary Computation Conference Companion},
pages={747--750},
year={2025}
}
@inproceedings{stapleton2024neurolgp,
title={Neurolgp-sm: Scalable surrogate-assisted neuroevolution for deep neural networks},
author={Stapleton, Fergal and Galv{\'a}n, Edgar},
booktitle={2024 IEEE Congress on Evolutionary Computation (CEC)},
pages={1--8},
year={2024},
organization={IEEE}
}
@inproceedings{stapleton2024neurolgp,
title={Neurolgp-sm: A surrogate-assisted neuroevolution approach using linear genetic programming},
author={Stapleton, Fergal and Cody-Kenny, Brendan and Galv{\'a}n, Edgar},
booktitle={International Conference on Optimization and Learning},
pages={67--81},
year={2024},
organization={Springer}
}