© 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.