Abstract
Neural networks (NN) have become immensely popular for their effectiveness and flexibility in learning complicated patterns. Despite this success, they are often considered difficult to design because of the wide variety of parameters they require. Determining the most optimal selection of parameters has become tedious and costly, and neural architecture search (NAS) methods have been employed to try and take the guesswork out of the process. A common NAS approach is the genetic algorithm (GA); however, its usage is often exclusively tied to either the learnable parameters, or the meta-parameters that augment the learning. This work proposes an experimental approach for optimizing both real-valued weights and discrete meta-parameters simultaneously. Experimental results have shown that the current approach evolves both parameter sets effectively for simple problems like Iris, but still struggles in finding an optimal model for more rigorous problems.













Similar content being viewed by others
References
Abadi M et al (2015) TensorFlow: arge-scale machine learning on heterogeneous systems. https://www.tensorflow.org
Abed-alguni BH (2019) Island-based cuckoo search with highly disruptive polynomial mutation. Int J Artif Intell 17(1):57–82
Berner C, Brockman G, Chan B et al (2019) Dota 2 with large scale deep reinforcement learning. arXiv:1912.06680
Blank J, Deb K (2020) pymoo: multi-objective optimization in python. IEEE Access 8:89,497-89,509. https://doi.org/10.1109/ACCESS.2020.2990567
Caltagirone L, Bellone M, Svensson L et al (2019) Lidar-camera fusion for road detection using fully convolutional neural networks. Robot Auton Syst 111:125–131. https://doi.org/10.1016/j.robot.2018.11.002
Carvalho ED, Silva RR, Araújo FH et al (2021) An approach to the classification of covid-19 based on ct scans using convolutional features and genetic algorithms. Comput Biol Med 136(104):744. https://doi.org/10.1016/j.compbiomed.2021.104744
Tm C, Rz Y (2009) Integrating messy genetic algorithms and simulation to optimize resource utilization. Comput Aided Civ Infrastruct Eng 24(6):401–415. https://doi.org/10.1111/j.1467-8667.2008.00588.x
Chollet F et al (2015) Keras. https://keras.io
Datta L (2020) A survey on activation functions and their relation with xavier and he normal initialization. arXiv:2004.06632
Deb K (2000) An efficient constraint handling method for genetic algorithms. Comput Methods Appl Mech Eng 186(2–4):311–338. https://doi.org/10.1016/S0045-7825(99)00389-8
Deb K, Agrawal RB (1995) Simulated binary crossover for continuous search space. Complex Syst 9
Deb K, Pratap A, Agarwal S et al (2002) A fast and elitist multiobjective genetic algorithm: Nsga-ii. IEEE Trans Evol Comput 6(2):182–197. https://doi.org/10.1109/4235.996017
Deb K, Sindhya K, Okabe T (2007) Self-adaptive simulated binary crossover for real-parameter optimization. In: Proceedings of the 9th annual conference on genetic and evolutionary computation, pp 1187–1194. https://doi.org/10.1145/1276958.1277190
Ding S, Su C, Yu J (2011) An optimizing bp neural network algorithm based on genetic algorithm. Artif Intell Rev 36(2):153–162. https://doi.org/10.1007/s10462-011-9208-z
Goldberg DE, Holland JH (1988) Genetic algorithms and machine learning. Mach Learn 3:95–99. https://doi.org/10.1023/A:1022602019183
Goldberg DE, Deb K, Kargupta H, et al (1993) Rapid, accurate optimization of difficult problems using messy genetic algorithms. In: Proceedings of the Fifth International Conference on Genetic Algorithms,(Urbana, USA), Proceedings of the Fifth International Conference on Genetic Algorithms, pp 59–64
Gupta JN, Sexton RS (1999) Comparing backpropagation with a genetic algorithm for neural network training. Omega 27(6):679–684. https://doi.org/10.1016/S0305-0483(99)00027-4
Harris CR et al (2020) Array programming with NumPy. Nature 585(7825):357–362. https://doi.org/10.1038/s41586-020-2649-2
Hunter JD (2007) Matplotlib: a 2d graphics environment. Comput Sci Eng 9(3):90–95. https://doi.org/10.1109/MCSE.2007.55
Kantardzic M (2011) Data mining: concepts, models, methods, and algorithms. Wiley, Amsterdam
Keith JA, Vassilev-Galindo V, Cheng B et al (2021) Combining machine learning and computational chemistry for predictive insights into chemical systems. Chem Rev 121(16):9816–9872. https://doi.org/10.1021/acs.chemrev.1c00107
Lam SK, Pitrou A, Seibert S (2015) Numba: A llvm-based python jit compiler. In: Proceedings of the second workshop on the llvm compiler infrastructure in HPC, pp 1–6. https://doi.org/10.1145/2833157.2833162
Liashchynskyi P, Liashchynskyi P (2019) Grid search, random search, genetic algorithm: a big comparison for nas. arXiv:1912.06059
Lipowski A, Lipowska D (2012) Roulette-wheel selection via stochastic acceptance. Phys A 391(6):2193–2196. https://doi.org/10.1016/j.physa.2011.12.004
Masi F, Stefanou I, Vannucci P et al (2021) Thermodynamics-based artificial neural networks for constitutive modeling. J Mech Phys Solids 147(104):277. https://doi.org/10.1016/j.jmps.2020.104277
Miller GF, Todd PM, Hegde SU (1989) Designing neural networks using genetic algorithms. In: ICGA, pp 379–384
Nikbakht S, Anitescu C, Rabczuk T (2021) Optimizing the neural network hyperparameters utilizing genetic algorithm. J Zhejiang Univ Sci A 22(6):407–426. https://doi.org/10.1631/jzus.A2000384
NVIDIA, Vingelmann P, Fitzek FH (2020) Cuda, release: 10.2.89. https://developer.nvidia.com/cuda-toolkit
O’Shea K, Nash R (2015) An introduction to convolutional neural networks. arXiv:1511.08458
Pedregosa F et al (2011) Scikit-learn: machine learning in python. J Mach Learn Res 12:2825–2830
Pham TD (2021) Classification of covid-19 chest X-rays with deep learning: new models or fine tuning? Health Inf Sci Syst 9(1):1–11. https://doi.org/10.1007/s13755-020-00135-3
Raschka S, Mirjalili V (2017) Python machine learning: machine learning and deep learning with python. Scikit-Learn, and TensorFlow Second edition ed
Real E, Moore S, Selle A, et al (2017) Large-scale evolution of image classifiers. In: Proceedings of the 34th international conference on machine learning, proceedings of machine learning research, vol 70. PMLR, pp 2902–2911
Shinners P (2011) Pygame. http://www.pygame.org
Silver D, Hubert T, Schrittwieser J, et al (2017) Mastering chess and shogi by self-play with a general reinforcement learning algorithm. arXiv:1712.01815
Smith LN (2018) A disciplined approach to neural network hyper-parameters: part 1–learning rate, batch size, momentum, and weight decay. arXiv:1803.09820
Wirsansky E (2020) Hands-on genetic algorithms with python: applying genetic algorithms to solve real-world deep learning and artificial intelligence problems. Packt Publishing Ltd, Brimingham
Xiao X, Yan M, Basodi S, et al (2018) Efficient hyperparameter optimization in deep learning using a variable length genetic algorithm. arXiv:1803.09820
Yu X, Gen M (2010) Introduction to evolutionary algorithms. Springer, New York
Author information
Authors and Affiliations
Corresponding author
Ethics declarations
Conflict of interest
The authors declare that they have no known competing financial interests or personal relationships that could have appeared to influence the work reported in this paper.
Code, Data Availability
All code, data, and results described in this work are available at https://github.com/kspurlock/GAAP.
Additional information
Publisher's Note
Springer Nature remains neutral with regard to jurisdictional claims in published maps and institutional affiliations.
Rights and permissions
About this article
Cite this article
Spurlock, K., Elgazzar, H. A genetic mixed-integer optimization of neural network hyper-parameters. J Supercomput 78, 14680–14702 (2022). https://doi.org/10.1007/s11227-022-04475-7
Accepted:
Published:
Issue Date:
DOI: https://doi.org/10.1007/s11227-022-04475-7