Table Of ContentGENERACIÓ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:Generación automática de redes neuronales con ajuste de parámetros basado en algoritmos genéticos. 118. Bibliografía. Abel Fiszelew. Holland, J. H. (1986) Escaping brittleness: The possibilities of general purpose learning algorithms applied in parallel rule-based systems. Morgan Kaufmann.