Aprendizaje de redes neuronales con algoritmos genéticos multi-objetivo

  1. Lahoz Arnedo, David
Dirigida por:
  1. Pedro M. Mateo Collazos Director/a
  2. Beatriz Lacruz Casaucau Director/a

Universidad de defensa: Universidad de Zaragoza

Fecha de defensa: 01 de febrero de 2016

Tribunal:
  1. Joaquín Sicilia Rodríguez Presidente
  2. Isolina Alberto Moralejo Secretario/a
  3. Fermín Mallor Giménez Vocal

Tipo: Tesis

Teseo: 402838 DIALNET

Resumen

Desde la década de los 40, en la que nació y comenzó a desarrollarse la informática, el modelo neuronal la ha acompañado. De hecho, la aparición de los computadores digitales y el desarrollo de las teorías modernas acerca del aprendizaje y del procesamiento neuronal se produjeron aproximadamente al mismo tiempo, a finales de los años cuarenta. Los primeros ejemplos de estos sistemas aparecen al final de la década de los cincuenta. La referencia histórica más corriente es la que alude al trabajo realizado por Frank Rosenblatt en un dispositivo denominado perceptrón (Rosemblat 1958). Hay otros ejemplos, tales como el desarrollo del Adaline (Widrow 1960) por el profesor Bernard Widrow y su alumno M. Hoff. A partir de esas bases numerosos modelos de redes neuronales han aparecido y han demostrado su valía en numerosas aplicaciones y problemas con un número de variables y un número de datos importantes. Por otro lado, la computación evolutiva, en general, y los algoritmos genéticos, en particular, han acaparado un enorme interés desde su aparición a finales de los años 60 (Rechenberg 1973, Holland 1975 y Schwefel 1981). En la última década su aplicación se ha extendido a problemas multiobjetivo (en http://www.lania.mx/~ccoello/EMOO/EMOObib.html hay más de 3700 referencias) y han demostrado ser una herramienta eficaz en la resolución de problemas reales de muy diversos tipos, tanto en el campo uniobjetivo como multiobjetivo.. Habitualmente para el aprendizaje de redes neuronales se define una función de error que evalúa el error que la red comete al procesar los ejemplos (patrones) que se utilizan para su entrenamiento. El entrenamiento consiste entonces, en encontrar un conjunto de pesos y bias (parámetros) que minimicen la suma de los errores cometidos con los patrones de entrenamiento. En el proceso anterior surgen dos importantes problemas, por un lado el sobre-aprendizaje y por otro la convergencia de los métodos a mínimos locales. Cuando el primero aparece es porque la red se ha especializado tanto en los patrones de entrenamiento que en lugar de aprender las características de los datos como conjunto, lo que aprende es a reproducir dichos patrones. En esta situación la red pierde la principal característica deseable en el modelo, la capacidad de generalizar. Ésta se define como la capacidad de responder correctamente cuando se le presentan nuevos patrones, patrones que no han sido utilizados en el entrenamiento. Las redes con sobre-aprendizaje, en general, presentan muy mala capacidad de generalización y su utilidad resulta nula. El segundo problema habitual es la convergencia de los métodos de optimización utilizados para minimizar la función de error a mínimos locales. La utilización de algoritmos evolutivos multiobjetivo en el proceso de entrenamiento de las redes neuronales que se propone en este proyecto permite la mejora en ambas direcciones. En este proyecto se propone construir funciones de error de entrenamiento multiobjetivo de forma que las soluciones ‘optimas’ de dicha función son las denominadas soluciones óptimas en sentido Pareto. Estas soluciones comparten el hecho de no ser igualadas y mejoradas en al menos un objetivo por ninguna otra solución. De esta forma el objetivo es evolucionar la población de soluciones para al final del proceso de entrenamiento construir, con algunas de las soluciones Pareto óptimas de la última población, un conjunto denominado ensemble y utilizar éste como solución en lugar de una única red. El aumento de la capacidad de generalización al utilizar ensembles en lugar de una sola red se ha demostrado en numerosos trabajos (Liu et al. 2001, Chandra y Yao 2004, Abbas 2003). El problema multiobjetivo se define dividiendo el conjunto de entrenamiento en partes, cada una de las cuales tiene asociada una función de error que constituye una componente del vector de errores. En pruebas previas se ha comprobado que dicha estrategia proporciona redes con buenos errores de generalización. El aprendizaje mediante algoritmos evolutivos permitirá además trabajar con errores que no sean funciones continuas, por ejemplo con el porcentaje de mal clasificados. En problemas de clasificación los métodos clásicos utilizan habitualmente el error cuadrático o error cuadrático medio como error para guiar la optimización (debido principalmente a las limitaciones que dichos métodos de entrenamiento tienen en cuanto a las características de las funciones a minimizar). Sin embargo, esto no parece lo más indicado, en su lugar es más directo optimizar teniendo en cuenta directamente el error de clasificación cometido. Por otro lado el funcionamiento intrínseco de los algoritmos genéticos favorece que el proceso de aprendizaje/entrenamiento no se quede atrapado en óptimos locales.