GENERACIÓN AUTOMÁTICA DE REDES NEURONALES CON AJUSTE DE PARÁMETROS BASADO EN ALGORITMOS GENÉTICOS TESIS DE GRADO EN INGENIERIA INFORMATICA FACULTAD DE INGENIERIA UNIVERSIDAD DE BUENOS AIRES TESISTA: Sr. Abel FISZELEW DIRECTOR: Prof. Dr. Ramón GARCIA-MARTINEZ Laboratorio de Sistemas Inteligentes FEBRERO 2002 GENERACIÓN AUTOMÁTICA DE REDES NEURONALES CON AJUSTE DE PARÁMETROS BASADO EN ALGORITMOS GENÉTICOS TESIS DE GRADO EN INGENIERIA INFORMATICA Laboratorio de Sistemas Inteligentes FACULTAD DE INGENIERIA UNIVERSIDAD DE BUENOS AIRES Sr. Abel Fiszelew Dr. Ramón García Martínez Tesista Director FEBRERO 2002 Resumen Este trabajo trata con métodos para encontrar arquitecturas óptimas de red neuronal para aprender problemas particulares. Se utiliza un algoritmo genético para encontrar las ar- quitecturas adecuadas específicas de un dominio, este algoritmo evolutivo emplea codifi- cación directa y usa el error de la red entrenada como medida de desempeño para guiar la evolución. El entrenamiento de la red se lleva a cabo mediante el algoritmo de retro- propagación o back-propagation; se aplican técnicas como la repetición del entrenamien- to, la detención temprana y la regularización de la complejidad para mejorar los resulta- dos del proceso evolutivo. El criterio de evaluación se basa en las habilidades de aprendi- zaje y la precisión para la generalización de las arquitecturas generadas. Los resultados también se comparan con arquitecturas halladas por otros métodos. Palabras clave: computación evolutiva, redes neuronales, algoritmos genéticos, méto- dos de codificación. 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 ar- chitectures; this evolutionary algorithm applies direct codification and uses the error from the trained network as a performance measure to guide the evolution. The network train- ing is accomplished by the back-propagation algorithm; techniques such as training repe- tition, early stopping and complex regulation are employed to improve the evolutionary process results. The evaluation criteria are based on learning skills and classification ac- curacy of generated architectures. The results are also compared to those found by other methods. Keywords: evolutionary computation, neural networks, genetic algorithms, codification methods. Generación automática de redes neuronales con ajuste de parámetros basado en algoritmos genéticos Índice de contenidos 1. Introducción...............................................................................................................5 1.1. Ubicación de este trabajo dentro de la inteligencia artificial........................7 1.2. Plan general de este trabajo.............................................................................8 2. Redes neuronales artificiales...................................................................................11 2.1. Modelo de una neurona..................................................................................11 2.2. Arquitecturas...................................................................................................15 2.3. Aprendizaje......................................................................................................16 3. Entrenamiento de la red neuronal...........................................................................19 3.1. Introducción.....................................................................................................19 3.2. Algunos preliminares......................................................................................20 3.2.1. Notación....................................................................................................22 3.3. El algoritmo back-propagation......................................................................23 3.3.1. El Cómputo de Doble Pasada....................................................................30 3.3.2. Función de Activación..............................................................................31 3.3.3. Tasa de Aprendizaje..................................................................................33 3.3.4. Modos de Entrenamiento Secuencial y Batch...........................................35 3.3.5. Criterios de Finalización...........................................................................37 3.4. Resumen del algoritmo back-propagation....................................................37 3.5. Heurísticas para hacer que el back-propagation se desempeñe mejor......39 3.6. Generalización.................................................................................................43 3.6.1. Validación Cruzada...................................................................................46 3.6.2. Entrenamiento con Detención Temprana (Early Stopping)......................46 3.6.3. Variantes a la Validación Cruzada............................................................49 3.6.4. Poda de la Red (Pruning)..........................................................................50 4. Cómo trabajan los Algoritmos Genéticos (AG).......................................................53 4.1. Introducción.....................................................................................................53 4.2. Representación genética.................................................................................55 4.3. Función de aptitud..........................................................................................56 4.4. Población..........................................................................................................56 4.5. Selección...........................................................................................................57 4.6. Recombinación (Reproducción).....................................................................59 4.7. Mutación..........................................................................................................60 4.8. Reemplazo........................................................................................................61 Abel Fiszelew 1 Generación automática de redes neuronales con ajuste de parámetros basado en algoritmos genéticos 4.9. Convergencia....................................................................................................62 4.10. Análisis de la población...............................................................................63 5. Diseño evolutivo de arquitecturas neuronales.........................................................65 5.1. Descripción del proceso evolutivo..................................................................65 5.2. Representación del genotipo...........................................................................66 5.2.1. Miller, Todd y Hedge................................................................................67 5.2.2. Kitano........................................................................................................69 5.3. Estructura del fenotipo....................................................................................72 5.4. Evaluación del fenotipo...................................................................................73 5.5. Variables sometidas a la evolución.................................................................74 5.6. Dominio de aplicación.....................................................................................74 5.7. El algoritmo híbrido........................................................................................75 6. Descripción del problema.........................................................................................77 6.1. El problema de la generalización...................................................................77 6.2. El problema de la permutación......................................................................78 6.3. El problema de la evaluación ruidosa de la aptitud.....................................79 6.4. Cuestiones a resolver.......................................................................................80 7. Solución propuesta...................................................................................................81 7.1. Disminución del ruido en la evaluación de la aptitud.................................81 7.2. Atenuación de los efectos del problema de la permutación.........................81 7.3. Mejoras a la capacidad de generalización.....................................................84 7.4. Evaluación del proceso evolutivo...................................................................84 7.4.1. El set de datos............................................................................................84 7.4.2. Evaluación de la performance del algoritmo híbrido AG/RN..................84 7.4.3. Evaluación de la performance del AG.......................................................85 7.4.4. Evaluación de la performance de una red neuronal resultante..................85 7.4.5. Extensión de la validación cruzada............................................................87 8. Experimentación.......................................................................................................89 8.1. Diseño experimental........................................................................................89 8.1.1. Inicio del algoritmo híbrido.......................................................................90 8.1.2. Cruza de la tasa de mutación y del rango de inicialización de pesos........90 8.1.3. El set de datos utilizado.............................................................................91 8.1.4. Significado del error..................................................................................91 8.1.5. La representación directa utilizada............................................................91 8.1.6. Tipos de gráfico.........................................................................................91 8.1.7. Variables independientes...........................................................................91 8.1.8. Variables dependientes..............................................................................91 2 Abel Fiszelew Generación automática de redes neuronales con ajuste de parámetros basado en algoritmos genéticos 8.2. Experimentos...................................................................................................91 8.2.1. Constantes de Aprendizaje y Momentum óptimos...................................91 8.2.2. Número de capas ocultas óptimo..............................................................91 8.2.3. Tamaño de torneo óptimo.........................................................................91 8.2.4. Número de repeticiones de entrenamiento óptimo....................................91 8.2.5. Regularización de la complejidad óptima.................................................91 8.2.6. Detención temprana óptima......................................................................91 8.2.7. Comparación de la red neuronal óptima con otras redes..........................91 9. Conclusiones, limitaciones y planes futuros...........................................................91 Bibliografía.......................................................................................................................91 Apéndice A: Sobre la programación...............................................................................91 Descripción de los archivos.........................................................................................91 Índice de funciones......................................................................................................91 Apéndice B: Datos numéricos experimentales................................................................91 Abel Fiszelew 3
Description: