© S. Torres, I. Lopez, H. Calvo. (Eds.)
Advances in Computer Science and Engineering
Research in Computing Science 27, 2007, pp. 15-24
Received 09/02/07
Accepted 08/04/07
Final version 20/04/07
Finding Optimal Neural Network Architecture Using
Genetic Algorithms
Fiszelew, A., Britos, P., Ochoa, A., Merlino, H., Fernández, E., García-Martínez, R.
Software & Knowledge Engineering Center. Buenos Aires Institute of Technology.
Intelligent Systems Laboratory. School of Engineering. University of Buenos Aires.
rgm@itba.edu.ar
Abstract. This work deals with methods for finding optimal neural network
architectures to learn particular problems. A genetic algorithm is used to
discover suitable domain specific architectures; this evolutionary algorithm
applies direct codification and uses the error from the trained network as a
performance measure to guide the evolution. The network training is
accomplished by the back-propagation algorithm; techniques such as training
repetition, early stopping and complex regulation are employed to improve the
evolutionary process results. The evaluation criteria are based on learning skills
and classification accuracy of generated architectures
1. Introduction
The artificial neural networks offer an attractive paradigm for the design and the
analysis of adaptive intelligent systems for a wide range of applications in artificial
intelligence [1, 2]. Despite the great activity and investigation in this area during last
years, that led to the discovery of relevant theoretical and empirical results, the design
of neural networks for specific applications under certain designing constrains (for
instance, technology) is still a test and error process, depending mainly on previous
experience in similar applications [3]. The performance (and cost) of a neural network
for particular problems is critically dependant on, among others, the choice of the
processing elements (neurons), the net architecture and the learning algorithm [4, 5, 6,
7, 8, 9]. This work is focused in the development of methods for the evolutionary
design of architectures for artificial neural networks. Neural networks are usually seen
as a method to implement complex non-linear mappings (functions) using simple
elementary units interrelated through connections with adaptive weights [10, 11]. We
focus in optimizing the structure of connectivity for these networks.