RED NEURONAL ARTIFICIAL

“Año del Dialogo y la Reconciliación Nacional” UNIVERSIDAD NACIONAL DE PIURA FACULTAD DE INGENIERÍA DE MINAS ESCUELA PR

Views 83 Downloads 2 File size 3MB

Report DMCA / Copyright

DOWNLOAD FILE

Recommend stories

Citation preview

“Año del Dialogo y la Reconciliación Nacional”

UNIVERSIDAD NACIONAL DE PIURA FACULTAD DE INGENIERÍA DE MINAS ESCUELA PROFESIONAL DE INGENIERÍA DE MINAS

MODELOS Y SIMULACIÓN DE MINAS INTELIGENCIA ARTIFICIAL Y RED NEURONAL ARTIFICIAL DOCENTE: Ing. Martín Zeta Farfán ALUMNOS: Puse Ayala Edith Thalia CICLO: X GRUPO: G-04

1

INDICE INTRODUCCIÓN ................................................................................................................................ 8 CAPITULO I: INTRODUCCION ...................................................................................................... 9 1.

MODELAMIENTO DE SISTEMAS INTELIGENTES ....................................................... 9

2.

INTELIGENCIA ARTIFICIAL ............................................................................................ 10

3.

HISTORIA DE LA INTELIGENCIA ARTIFICIAL .......................................................... 14

4.

EL ALGORITMO INDUCTIVO C4.5 ................................................................................. 19

CAPITULO II: REDES NEURONALES ARTIFICIALES ........................................................... 21 1.

REDES NEURONALES......................................................................................................... 21

2.

MODELO BIOLÓGICO........................................................................................................ 22

3.

MODELO NEURONAL......................................................................................................... 25

4.

3.1.

Funciones de Activación ................................................................................................. 27

3.2.

Umbrales e Inclinación ................................................................................................... 28

3.3.

El Comienzo: McCulloch-Pitts....................................................................................... 29

3.4.

Problemas Linealmente Separables y Capas Neurales ................................................ 31

3.4.1.

Problemas Linealmente Separables....................................................................... 31

3.4.2.

Capas Neutrales....................................................................................................... 34

APRENDIZAJE O ENTRENNAMIENTO .......................................................................... 37 4.1.

Aprendizaje con Profesor o Supervisado ...................................................................... 37

4.2.

Regla de Hebb ................................................................................................................. 39

4.3.

Aprendizaje para redes Unicapa ................................................................................... 39

4.3.1.

Regla de Aprendizaje perceptrónico ..................................................................... 39

4.3.2.

Regla Delta, o corrección de error ......................................................................... 46

4.4.

Aprendizaje para Redes Multicapa ............................................................................... 48

4.4.1. 5.

RED BACKPROPAGATION................................................................................................ 50 5.1.

6.

7.

Estructura y Notación General .............................................................................. 48

Funcionamiento de las Redes Backpropagation........................................................... 53

REDES SELF ORGANIZING MAPS (S.O.M.) ................................................................... 54 6.1.

Parámetros de las Redes S.O.M. .................................................................................... 56

6.2.

Campos de Aplicación .................................................................................................... 58

SISTEMAS TUTORES INTELIGENTES ........................................................................... 60 7.1.

Arquitectura y Componentes ......................................................................................... 61

7.2.

Módulo del Alumno ........................................................................................................ 64

7.2.1.

Estilo de Aprendizaje .............................................................................................. 66

7.2.2.

Planilla de Estilos de Aprendizaje ......................................................................... 66

CAPITULO III: EXPERIMENTACION-EJEMPLOS .................................................................. 68 2

1.

DISEÑO EXPERIMENTAL .................................................................................................. 68 1.1.

El algoritmo Backpropagation ....................................................................................... 69

1.2.

El algoritmo Genético ..................................................................................................... 70

1.3.

El set de Entrenamiento ................................................................................................. 71

1.4.

Evaluación del Método ................................................................................................... 73

1.5.

Parámetros de los Algoritmos ........................................................................................ 74

1.5.1.

Parámetros Fijos ..................................................................................................... 74

1.5.2.

Variables Independientes ....................................................................................... 75

1.5.3.

Variables Dependientes .......................................................................................... 75

1.6. 2.

Tipos de Gráficos ............................................................................................................ 76

EXPERIMENTOS .................................................................................................................. 77 2.1.

Red Neuronal ................................................................................................................... 77

2.1.1.

Tasas de Aprendizaje y Momento Óptimos .......................................................... 77

2.1.2.

Valores de inicialización Óptimos.......................................................................... 81

2.2.

Algoritmos genéticos ....................................................................................................... 83

2.2.1.

Función de Selección ............................................................................................... 83

2.2.2.

Función de Cruza .................................................................................................... 85

2.2.3.

Función de Mutación .............................................................................................. 88

2.2.4.

Valores de Inicialización ......................................................................................... 93

2.3.

Comparación de Ambos Métodos .................................................................................. 97

CAPITULO IV: CONCLUSIONES ................................................................................................ 103 1.

CONCLUSIONES................................................................................................................. 103

2.

BIBLIOGRAFIA................................................................................................................... 104

3

IMAGENES Imagen 01: Relación entre la Inteligencia Artificial (IA), LA Ingeniería del Conocimiento (INCO) y otras áreas. Fuente: Universidad de Buenos Aires -Fernando Sagueiro. ........................................... 11 Imagen 02: Salto Sináptico. Fuente: Fernando Izaurieta y Carlos Saavedra Departamento de Física, Universidad de Concepción, Concepción, Chile. ................................................................................. 23 Imagen 03: Cuadro comparativo entre el cerebro humano y una computadora. Fuente: Universidad de Buenos Aires -Fernando Sagueiro. ............................................................................. 25 Imagen 04: Esquema de Neurona. Fuente: Fernando Izaurieta y Carlos Saavedra Departamento de Física, Universidad de Concepción, Concepción, Chile. ...................................................................... 26 Imagen 05: Escalón. Fuente: Fernando Izaurieta y Carlos Saavedra Departamento de Física, Universidad de Concepción, Concepción, Chile. ................................................................................. 27 Imagen 06: Sigmoidea. Fuente: Fernando Izaurieta y Carlos Saavedra Departamento de Física, Universidad de Concepción, Concepción, Chile. ................................................................................. 27 Imagen 07: Esquema con inclinación. Fuente: Fernando Izaurieta y Carlos Saavedra Departamento de Física, Universidad de Concepción, Concepción, Chile. ................................................................. 28 Imagen 08: Función And. Fuente: Fernando Izaurieta y Carlos Saavedra Departamento de Física, Universidad de Concepción, Concepción, Chile. ................................................................................. 29 Imagen 09: Función Or. Fuente: Fernando Izaurieta y Carlos Saavedra Departamento de Física, Universidad de Concepción, Concepción, Chile. ................................................................................. 30 Imagen 10: Función xOr. Fuente: Fernando Izaurieta y Carlos Saavedra Departamento de Física, Universidad de Concepción, Concepción, Chile. ................................................................................. 30 Imagen 11: Función Lógica “simple”. Fuente: Fernando Izaurieta y Carlos Saavedra Departamento de Física, Universidad de Concepción, Concepción, Chile. ................................................................. 31 Imagen 12: And sobre el plano. Fuente: Fernando Izaurieta y Carlos Saavedra Departamento de Física, Universidad de Concepción, Concepción, Chile. ...................................................................... 32 Imagen 13: xOr sobre el plano. Fuente: Fernando Izaurieta y Carlos Saavedra Departamento de Física, Universidad de Concepción, Concepción, Chile. ...................................................................... 33 Imagen 14: Separabilidad Lineal. Fuente: Fernando Izaurieta y Carlos Saavedra Departamento de Física, Universidad de Concepción, Concepción, Chile. ...................................................................... 34 Imagen 15: Red Unicapa. Fuente: Fernando Izaurieta y Carlos Saavedra Departamento de Física, Universidad de Concepción, Concepción, Chile. ................................................................................. 35 Imagen 16: Red Multicapa. Fuente: Fernando Izaurieta y Carlos Saavedra Departamento de Física, Universidad de Concepción, Concepción, Chile. ................................................................................. 36 Imagen 17: Aprendizaje con Profesor o Supervisado. Fuente: Fernando Izaurieta y Carlos Saavedra Departamento de Física, Universidad de Concepción, Concepción, Chile. ........................................ 38 Imagen 18: Funcionamiento de un Perceptrón. Fuente: Fernando Izaurieta y Carlos Saavedra Departamento de Física, Universidad de Concepción, Concepción, Chile. ........................................ 41 Imagen 19: Infinitas Soluciones. Fuente: Fernando Izaurieta y Carlos Saavedra Departamento de Física, Universidad de Concepción, Concepción, Chile. ...................................................................... 43 Imagen 20: Patrones de Entrenamiento para el Experimento 1. Fuente: Fernando Izaurieta y Carlos Saavedra Departamento de Física, Universidad de Concepción, Concepción, Chile. ........................ 43 Imagen 21: Reconocimiento de letras del Patrones de Entrenamiento para el Experimento 1. Fuente: Fernando Izaurieta y Carlos Saavedra Departamento de Física, Universidad de Concepción, Concepción, Chile. ................................................................................................................................ 44 Imagen 22: Patrones de Entrenamiento 2. Fuente: Fernando Izaurieta y Carlos Saavedra Departamento de Física, Universidad de Concepción, Concepción, Chile. ........................................ 45

4

Imagen 23: Reconocimiento en Patrones de Entrenamiento 2. Fuente: Fernando Izaurieta y Carlos Saavedra Departamento de Física, Universidad de Concepción, Concepción, Chile. ........................ 45 Imagen 24: Sinapsis para X, O e I. Fuente: Fernando Izaurieta y Carlos Saavedra Departamento de Física, Universidad de Concepción, Concepción, Chile. ...................................................................... 45 Imagen 25: Otras Sinapsis para X, O e I. Fuente: Fernando Izaurieta y Carlos Saavedra Departamento de Física, Universidad de Concepción, Concepción, Chile. ........................................ 46 Imagen 26: Predictor Lineal. Fuente: Fernando Izaurieta y Carlos Saavedra Departamento de Física, Universidad de Concepción, Concepción, Chile. ................................................................................. 47 Imagen 27: Experimento de Predicción. Fuente: Fernando Izaurieta y Carlos Saavedra Departamento de Física, Universidad de Concepción, Concepción, Chile. ........................................ 48 Imagen 28: Red Multicapa. Fuente: Fernando Izaurieta y Carlos Saavedra Departamento de Física, Universidad de Concepción, Concepción, Chile. ................................................................................. 49 Imagen 29: Etapas hacia adelante y hacia atrás. Fuente: Fernando Izaurieta y Carlos Saavedra Departamento de Física, Universidad de Concepción, Concepción, Chile. ........................................ 50 Imagen 30: Modelo Backpropagation [Rumelhart et al., 1986] de red neuronal artificial (NN). Es una red multicapa, con conexiones hacia adelante y sin conexiones recurrentes. Fuente: Universidad de Buenos Aires -Fernando Sagueiro. ............................................................................. 52 Imagen 31: Modelo S.O.M. [Kohonen, 2001] de red neuronal artificial (NN). Es una red multicapa, con conexiones hacia adelante y con conexiones recurrentes. Fuente: Universidad de Buenos Aires -Fernando Sagueiro. ............................................................................................................................. 55 Imagen 32: Pasaje de una grilla de 3 dimensiones a una región patrón del tipo triángulo equilátero en el plano utilizando un mapa de 25x25 puntos y una red del tipo S.O.M. Se muestran los resultados para las iteraciones 20 (32.a), 250 (32.b), 500 (32.c), 1000 (32.d), 10000 (32.e), 25000 (32.f), 50000 (32.g) y 100000 (32.h).Fuente: Universidad de Buenos Aires -Fernando Sagueiro. .... 58 Imagen 32: Campos de aplicación de las redes neuronales artificiales Fuente: Universidad de Buenos Aires -Fernando Sagueiro........................................................................................................ 59 Imagen 33: Topologías de redes e hitos ordenados cronológicamente. Fuente: Universidad de Buenos Aires -Fernando Sagueiro........................................................................................................ 60 Imagen 34: Estructura clásica de un Sistema Tutor Inteligente propuesta por Carbonell [Carbonell, 1970]. Fuente: Universidad de Buenos Aires -Fernando Sagueiro. .................................................... 64 Imagen 35: Distribución de los tiempos de entrenamiento Fuente: Universidad de Buenos Aires Fernando Sagueiro. .............................................................................................................................. 69 Imagen 36: Características de los sets de datos. Fuente: Universidad de Buenos Aires -Fernando Sagueiro. ............................................................................................................................................... 73 Imagen 37: Tiempos de entrenamiento. Tasa de aprendizaje=0.01 Fuente: Universidad de Buenos Aires -Fernando Sagueiro. .................................................................................................................... 77 Imagen 38: Tendencias de error de entrenamiento. Tasa de aprendizaje=0.01 Fuente: Universidad de Buenos Aires -Fernando Sagueiro................................................................................................... 78 Imagen 39: Tiempos de entrenamiento. Tasa de aprendizaje=0.05 Fuente: Universidad de Buenos Aires -Fernando Sagueiro. .................................................................................................................... 78 Imagen 40: Tendencia del error de entrenamiento. Tasa de aprendizaje=0.05 Fuente: Universidad de Buenos Aires -Fernando Sagueiro................................................................................................... 78 Imagen 41: Tiempos de entrenamiento. Tasa de aprendizaje=0.1 Fuente: Universidad de Buenos Aires -Fernando Sagueiro. .................................................................................................................... 79 Imagen 42: Tendencia del error de entrenamiento. Tasa de aprendizaje=0.1 Fuente: Universidad de Buenos Aires -Fernando Sagueiro................................................................................................... 79 Imagen 43: Tiempos de entrenamiento. Tasa de aprendizaje=0.25 Fuente: Universidad de Buenos Aires -Fernando Sagueiro. .................................................................................................................... 79 5

Imagen 44: Tendencia del error de entrenamiento. Tasa de aprendizaje=0.25 Fuente: Universidad de Buenos Aires -Fernando Sagueiro................................................................................................... 80 Imagen 45: Mejores tiempos individuales de entrenamiento. Tasa de aprendizaje=0.25 Fuente: Universidad de Buenos Aires -Fernando Sagueiro. ............................................................................. 80 Imagen 46: Tiempos de entrenamiento. Valor de Iniciación de la Red Neuronal. Fuente: Universidad de Buenos Aires -Fernando Sagueiro. ............................................................................. 82 Imagen 47: Tiempos del error de entrenamiento. Valor de Iniciación de la Red Neuronal. Fuente: Universidad de Buenos Aires -Fernando Sagueiro. ............................................................................. 82 Imagen 48: Mejores tiempos individuales de entrenamiento. Fuente: Universidad de Buenos Aires -Fernando Sagueiro. ............................................................................................................................. 82 Imagen 49: Tiempo de Entrenamiento. Función de Selección. Fuente: Universidad de Buenos Aires -Fernando Sagueiro. ............................................................................................................................. 84 Imagen 50: Tendencia del Error de Entregamiento. Función de Selección Fuente: Universidad de Buenos Aires -Fernando Sagueiro........................................................................................................ 84 Imagen 51: Mejores tiempos individuales de entrenamiento. Fuente: Universidad de Buenos Aires -Fernando Sagueiro. ............................................................................................................................. 84 Imagen 52: Tiempos de Entrenamiento. Función de Cruza. Fuente: Universidad de Buenos Aires Fernando Sagueiro. .............................................................................................................................. 86 Imagen 53: Tendencia del Error de entrenamiento. Fuente: Universidad de Buenos Aires -Fernando Sagueiro. ............................................................................................................................................... 86 Imagen 54: Mejores tiempos individuales de entrenamiento. Fuente: Universidad de Buenos Aires -Fernando Sagueiro. ............................................................................................................................. 87 Imagen 55: Tiempo de Entrenamiento. Función de mutación numérica. Fuente: Universidad de Buenos Aires -Fernando Sagueiro........................................................................................................ 88 Imagen 56: Tendencias del Error de entrenamiento. Función de mutación numérica lineal creciente. Fuente: Universidad de Buenos Aires -Fernando Sagueiro. .............................................. 89 Imagen 57: Tendencias del Error de entrenamiento. Función de mutación numérica lineal decreciente. Fuente: Universidad de Buenos Aires -Fernando Sagueiro. .......................................... 89 Imagen 58: Tendencias del Error de entrenamiento. Función de mutación numérica uniforme. Fuente: Universidad de Buenos Aires -Fernando Sagueiro. ............................................................... 90 Imagen 59: Tiempos de entrenamiento. Función de mutación binaria. Fuente: Universidad de Buenos Aires -Fernando Sagueiro........................................................................................................ 90 Imagen 60: Tendencias del Error de entrenamiento. Función de mutación binaria lineal creciente. Fuente: Universidad de Buenos Aires -Fernando Sagueiro. ............................................................... 91 Imagen 61: Tendencias del Error de entrenamiento. Función de mutación binaria lineal decreciente. Fuente: Universidad de Buenos Aires -Fernando Sagueiro. .......................................... 91 Imagen 62: Tendencias del Error de entrenamiento. Función de mutación binaria uniforme. Fuente: Universidad de Buenos Aires -Fernando Sagueiro. ............................................................... 92 Imagen 63: Tiempos de entrenamiento. Iniciación Random. Fuente: Universidad de Buenos Aires Fernando Sagueiro. .............................................................................................................................. 94 Imagen 64: Mejores tiempos individuales de entrenamiento. Fuente: Universidad de Buenos Aires -Fernando Sagueiro. ............................................................................................................................. 94 Imagen 65: Tendencias del Error de Entrenamiento. Iniciación Random. Fuente: Universidad de Buenos Aires -Fernando Sagueiro........................................................................................................ 94 Imagen 66: Tiempos de entrenamiento. Iniciación Random selectiva. Fuente: Universidad de Buenos Aires -Fernando Sagueiro........................................................................................................ 95 Imagen 67: Mejores tiempos individuales de entrenamiento. Fuente: Universidad de Buenos Aires -Fernando Sagueiro. ............................................................................................................................. 95 6

Imagen 68: Tendencias del Error de entrenamiento. Iniciación Random selectiva. Fuente: Universidad de Buenos Aires -Fernando Sagueiro. ............................................................................. 95 Imagen 69: Comparación de tiempos de entrenamiento. Fuente: Universidad de Buenos Aires Fernando Sagueiro. .............................................................................................................................. 97 Imagen 70: Comparación de la tendencia del error de entrenamiento. Fuente: Universidad de Buenos Aires -Fernando Sagueiro........................................................................................................ 97 Imagen 71: Comparación de error de entrenamiento. Fuente: Universidad de Buenos Aires Fernando Sagueiro. .............................................................................................................................. 98 Imagen 72: Mejores tiempos individuales de entrenamiento. Fuente: Universidad de Buenos Aires -Fernando Sagueiro. ............................................................................................................................. 98 Imagen 73: Tiempos individuales de entrenamiento. Fuente: Universidad de Buenos Aires Fernando Sagueiro. .............................................................................................................................. 99 Imagen 74: Comparación de la cantidad de aciertos. Fuente: Universidad de Buenos Aires Fernando Sagueiro. .............................................................................................................................. 99 Imagen 75: Comparación de la cantidad de aciertos. Fuente: Universidad de Buenos Aires Fernando Sagueiro. .............................................................................................................................. 99 Imagen 76: Mejores Porcentajes de aciertos sobre el set de entrenamiento. Fuente: Universidad de Buenos Aires -Fernando Sagueiro................................................................................................. 100 Imagen 77: Mejores porcentajes de aciertos sobre el set de validación. Fuente: Universidad de Buenos Aires -Fernando Sagueiro...................................................................................................... 100

7

INTRODUCCIÓN

El hombre se ha caracterizado siempre por su búsqueda constante de nuevas vías para mejorar sus condiciones de vida. Estos esfuerzos le han servido para reducir el trabajo en aquellas operaciones en las que la fuerza juega un papel primordial. Los progresos obtenidos han permitido dirigir estos esfuerzos a otros campos, como por ejemplo, a la construcción de máquinas calculadoras que ayuden a resolver de forma automática y rápida determinadas operaciones que resultan tediosas cuando se realizan a mano. Estas máquinas permiten implementar fácilmente algoritmos para resolver multitud de problemas que antes resultaban engorrosos de resolver. Sin embargo, se observa una limitación importante: ¿qué ocurre cuando el problema que se quiere resolver no admite un tratamiento algorítmico, como es el caso, por ejemplo, de la clasificación de objetos por rasgos comunes? Este ejemplo demuestra que la construcción de nuevas máquinas más versátiles requiere un enfoque del problema desde otro punto de vista. Los desarrollos actuales de los científicos se dirigen al estudio de las capacidades humanas como una fuente de nuevas ideas para el diseño de las nuevas máquinas. Así, la inteligencia artificial es un intento por descubrir y describir aspectos de la inteligencia humana que pueden ser simulados mediante máquinas. Esta disciplina se ha desarrollado fuertemente en los últimos años teniendo aplicación en algunos campos como visión artificial, demostración de teoremas, procesamiento de información expresada mediante lenguajes humanos... etc.

8

CAPITULO I: INTRODUCCION

1. MODELAMIENTO DE SISTEMAS INTELIGENTES Algunas tecnologías como los agentes inteligentes, las redes neuronales, los sistemas expertos y los Sistemas Tutores Inteligentes, que hace unos años solo existían en forma teórica o en los ámbitos universitarios, se utilizan a diario en aplicaciones de uso relativamente sencillo que se encuentran en la etapa de producción y no son solo casos de estudio en los laboratorios universitarios. Además, estas tecnologías están disponibles para las grandes empresas y los centros de alta tecnología, así como también para aplicaciones pequeñas y medianas, que pueden utilizarlas a diario.

En los últimos años las tecnologías han evolucionado muy rápidamente y la Inteligencia Artificial (IA) surge como una de las ramas de estudio más recientes y promisorias en el campo de las Ciencias de la Computación. Ello hace que existan muchas aplicaciones poco exploradas lo cual torna a este campo en un área interesante para los investigadores, estudiantes y administradores que puedan utilizar en forma directa los resultados de las investigaciones.

A finales del siglo XIX se realizaron estudios sistemáticos, basados en distintas ciencias, como la psicología, la educación, la sociología, la medicina, etc., para explicar el proceso de aprendizaje y el funcionamiento de la mente humana.

Se crearon muchas teorías a partir de estas investigaciones, desde las fisiológicas, que explican el funcionamiento del cerebro humano en función de intercambio de neuroreceptores y diferencias de potencial hasta las filosóficas que intentan explicar el funcionamiento del cerebro humano a partir de los estímulos externos.

9

Se observa que cada autor da una definición de la inteligencia: desde la enunciación muy general de Maturama, que la ve como “un tributo o propiedad distintiva de algunos organismos” [Maturama, 1998], pasando por investigadores como Piaget [Piaget, 1989] que plantea que la inteligencia “es la capacidad de adaptación de un organismo a una situación nueva”.

Es aquí donde la investigación sobre Inteligencia Artificial (IA) intenta asimilar estas definiciones dentro de sus propias estructuras, incorporándolas en los Sistemas Tutores Inteligentes (STI) que contemplan el aprendizaje humano y como la enseñanza con base pedagógica. Es por ello, que el objetivo de este capítulo es presentar un marco conceptual que dé lugar al Estado del Arte de la Inteligencia Artificial (AI) y los Sistemas Tutores Inteligentes (STI). 2. INTELIGENCIA ARTIFICIAL A diferencia de la filosofía y la psicología, que tratan de entender cómo funciona la inteligencia en abstracto, la Inteligencia Artificial (IA) es un intento por descubrir y aplicar los aspectos de la inteligencia humana que pueden ser simulados mediante construcciones artificiales. Se observa que hasta en las etapas tempranas de su desarrollo, la Inteligencia Artificial (IA) ha presentado productos sorprendentes en sus aplicaciones [Stuart et al., 1995]. Hoy en día, el campo de la Inteligencia Artificial (IA) enmarca varias subáreas tales como los sistemas expertos, la demostración automática de teoremas, el juego automático, el reconocimiento de la voz y de patrones, el procesamiento del lenguaje natural, la visión artificial, la robótica, las redes neuronales, etc [Castillo et al., 1998].

10

Imagen 01: Relación entre la Inteligencia Artificial (IA), LA Ingeniería del Conocimiento (INCO) y otras áreas. Fuente: Universidad de Buenos Aires Fernando Sagueiro. La inteligencia artificial (IA) surge, así como una disciplina cuyo objetivo es proveer técnicas para el desarrollo de programas capaces de simular la inteligencia que utilizan los humanos para solucionar problemas en una gran cantidad de dominios [Krishnamoorthy et al, 1996], por lo que la IA provee un conjunto de formalismos que pueden representar los problemas, las herramientas y técnicas para resolverlos. Según diversos autores [Krishnamoorthy et al, 1996; Newell, 1969] las actividades esenciales asociadas con la inteligencia son: •

Responder de manera flexible a una gran variedad de situaciones.



Dar sentido a los mensajes contradictorios y/o ambiguos.



Reconocer la importancia relativa de los diferentes elementos de la situación problemática planteada.



Encontrar similitudes entre situaciones, sin importar las diferencias que las separan.



Encontrar las diferencias entre situaciones, sin importar lo similares que puedan

11



parecer.

Por su amplio contenido, es difícil definir a la Inteligencia Artificial (IA), pero resulta de interés para este trabajo arribar a un concepto esclarecedor, por lo que se expondrán diferentes posiciones acerca de la IA. Si bien existen muchas definiciones de Inteligencia Artificial (IA) en las que cada autor la presenta de una manera ligeramente diferente, aquí se resumirán las más representativas, agrupadas como lo propone Stuart [Stuart et al., 1995] en dos categorías: •

Las que conciernen a los procesos de pensamiento y razonamiento.



Las que conciernen al comportamiento

En general, estas definiciones miden el éxito de la implementación de herramientas de la Inteligencia Artificial (IA) de dos maneras diferentes: •

En términos de performance humana: Es decir, capacidad de resolución de problemas, capacidad de razonamiento abstracto, etc.



En términos de “racionalidad” o concepto ideal de inteligencia: Como establece Stuart [Stuart et al., 1995] quien define a un sistema como racional “si hace lo correcto”, es decir, una acción a la que llega por medio de procesos lógicos mesurables.

Aclaradas las posibles distinciones en las definiciones, se las enumerará cronológicamente: •

Bellman en 1978 la definió como: “La automatización de las actividades que asociamos con el pensamiento humano, actividades como la toma de decisiones, la solución de problemas y el aprendizaje”. Esta definición también es aplicada por Villareal Goulat [Villareal Goulat, 2001].

12



Haugeland en 1985 la definió como: “El nuevo y excitante esfuerzo de hacer pensar a las computadoras “…” computadoras con mente, en el sentido completo y literal de la frase”.



Según Charniak y McDermott en 1985 es: “El estudio de las facultades mentales a través del uso de modelos computacionales”.



Para Kurzweil en 1990 es: “El arte de crear máquinas que realicen funciones que requieran una cierta inteligencia cuando estas tareas son desempeñadas por personas”.



Schalkoff en 1990 la definió como: “Un campo de estudio que busca explicar y emular el comportamiento inteligente en términos de procesos computacionales”.



Para Rich y Knight en 1991 es: “El estudio para hacer a las computadoras realizar tareas, en las que por el momento los humanos son mejores”.



Según Winston en 1992 es: “El estudio de la computación para hacer posible el percibir, razonar y actuar”.



Luger y Stubblefield en 1993 la definieron como: “La rama de la ciencia de la computación que se encarga de la automatización del comportamiento inteligente”.

Por último, se considera a los dos pioneros de la investigación en Inteligencia Artificial, Barr y Feigenbaum, quienes la definen de la siguiente manera: “La Inteligencia Artificial es la parte de la Ciencia que se ocupa del diseño de sistemas de computación inteligentes, es decir, sistemas que exhiben las características que asociamos a la inteligencia en el comportamiento humano que se refiere a la comprensión del lenguaje, el aprendizaje, el razonamiento, la resolución de problemas, etc.” [Barr et al., 1981].

13

Todas estas definiciones mencionadas son válidas y cada una agrega un aspecto al amplio campo de estudio que es la Inteligencia Artificial (IA).

3. HISTORIA DE LA INTELIGENCIA ARTIFICIAL En este apartado se presenta una reseña histórica de la investigación en el campo de la Inteligencia Artificial (IA) cronológicamente ordenados de manera de obtener un panorama general de su evolución. Esta evolución permitirá observar cómo van surgiendo las nuevas herramientas y aplicaciones que facilitarán los diseños de los Sistemas Tutores Inteligentes (STI). Stuart [Stuart et al., 1995] reconoce que los primeros trabajos en Inteligencia Artificial fueron realizados por Culloch y Pitts en 1943, quienes centraron sus investigaciones en tres áreas fundamentales: •

El conocimiento de la fisiología y las funciones básicas de las neuronas.



El análisis formal de la lógica proposicional



La teoría de computación de Turing.

Ellos propusieron la primera simulación de una neurona que funcionaba como un interruptor (encendido/apagado) con respecto al valor de las neuronas vecinas. Seis años después, en 1949 Hebb [Hebb, 1949] creó una regla simple para modificar el peso (o intensidad) de estas conexiones. Un año más tarde, Shannon [Shannon, 1950] y Turing en 1953 [Turing et al., 1953] escribieron programas que jugaban al ajedrez ejecutados en computadoras que seguían el paradigma de Von Newmann. Para esta misma época se creó SNARC [Minsky, 1954], una red neuronal que simulaba 40 neuronas utilizando 3000 tubos de vacío y partes de un bombardero B-24.

14

Según Stuart [Stuart, 1995] en 1954 Newell y Simon ya tenían programas que podían utilizar razonamiento lógico, utilizando la teoría lógica. Simon declaró haber inventado un programa computacional capaz de pensar de manera no numérica. Pero fue, según Stuart [Stuart et al., 1995], en los finales de la década de los cincuenta en la que se adoptó el nombre que McCarthy le había dado a este campo de la computación por más de 20 años: Inteligencia Artificial.

Si bien en los comienzos de la década de los cincuenta el poder computacional era muy limitado, se desarrollaron teorías que hoy son básicas en el campo de la Inteligencia Artificial, sobre todo en el campo del pensamiento humano y los protocolos que las personas utilizan a lo largo de la resolución de un dado problema [Stuart et al., 1995]. En el año 1958, McCarthy en el MIT (Massachussets Institute of Technology), definió el lenguaje de alto nivel denominado LISP, que se convertiría en el lenguaje dominante en el campo de la IA; si bien el uso de tiempo de CPU era difícil de encontrar, en ese mismo año otros investigadores en el MIT inventaron la política de “time sharing”. En 1959 Gelernter construye el Geometry Theorem Prover [Gelernter, 1959], que, como la lógica teórica, se utiliza para probar teoremas utilizando representaciones explícitas de axiomas. Stuart [Stuart et al., 1995] resalta que, luego de más de 45 años, muchos de los trabajos escritos entre 1958 y 1959 permanecen vigentes a la fecha de hoy. También en esta época, Friedberg [Friedberg et al., 1959], comenzó a experimentar con la idea de evolución en la computadora, ahora llamada Algoritmos Genéticos (AG). Ya en la década de sesenta, existían laboratorios de Inteligencia Artificial y robótica en las universidades más grandes del mundo (como el Massachussets Institute of Technology y Standford University, entre otras) y el programa de Slagle llamado SAINT creado en 1963 [Slagle, 1963] era capaz de solucionar problemas de cálculo que se les entregaban a los

15

estudiantes del primer año. Para 1968 Bertram con su SIR (Semantic Information Retrieval) era capaz de contestar preguntas formuladas directamente en inglés (utilizando un subconjunto de palabras de este idioma). Luego fue mejorado por un programa que entendía el lenguaje natural, en 1972, por Winograd [Winograd, 1972]. En 1873 Woods construyó el sistema LUNAR [Woods, 1973], que permitía a los geólogos realizar preguntas, en inglés, acerca de muestras de rocas traídas por el programa espacial norteamericano Apollo desde la luna. Este fue el primer programa de lenguaje natural en ser realmente utilizado. El trabajo de Winograd [Winograd, 1972] mostró cómo una gran cantidad de elementos pueden unirse colectivamente para representar un concepto individual, incrementando el paralelismo y haciendo más robustas las aplicaciones [Stuart et al., 1995]. Recién en esta época, todos los trabajos expuestos respondían de manera satisfactoria a un pequeño conjunto de elementos de prueba, pero fallaban a la hora de trabajar con el universo completo de posibilidades: esto se debe a que la “IA” representaba los hechos de un problema de una manera determinada y establecía una serie de pasos a seguir para resolverlos. Antes de que la teoría NP (nondeterministic polynomial time) estuviera completamente desarrollada se suponía que la escalabilidad de los problemas era solo cuestión de mejorar el hardware. En 1979 se publicó el informe Lighthill [Lighthill, 1973] que contenía grandes críticas a la “IA” y por el cual el gobierno británico suspendió el apoyo a la investigación en el área de la “IA”. A este informe se le suma que las posibles aplicaciones de los algoritmos desarrollados hasta la fecha era muy pocas, poniendo el ejemplo de que un Perceptron [Rosenblatt, 1958] (originalmente implementado como una simulación en una IBM® 704) de únicamente 2 entradas, solo podía representar un conjunto muy limitado de situaciones, y no fue hasta 1980 en que se desarrolló el algoritmo de Backpropagation [Werbos, 1990] para redes complejas multicapa.

16

En este período Buchanan desarrolla el programa Dendral [Buchanan et al., 1969] que realizaba la tarea de resolver la estructura molecular de una sustancia a partir de la información que provenía de un espectrómetro de masa. Este programa, según Stuart [Stuart et al., 1995] funcionaba de forma aceptable para moléculas complejas, probando con esto que las técnicas de la “IA” pueden ser aplicadas a dominios reales y no solamente a casos de laboratorio. Este fue el primer programa utilizado que contenía información sobre el dominio y las reglas para resolverlas, además se lo puede ver como uno de los precursores de los KBES (Knowledge Based Expert Systems.). Una de las primeras aplicaciones útiles fue MyCin de Feigenbaum, Buchanan, y Shortliffe [Buchanan et al., 1984], para el diagnóstico de las infecciones sanguíneas. Constaba de aproximadamente 450 reglas y se comportaba tan bien como un experto, y considerablemente mejor que un doctor recién recibido. Es una de las primeras aplicaciones que integra las incertezas dentro del dominio como una forma de emular la complejidad del dominio médico, ya que varias enfermedades pueden tener los mismos síntomas, o una enfermedad puede casi no presentar síntomas mesurables. A su vez, el sistema de razonamiento llamado Prospector creado por Duda en 1979 [Duda et al., 1980] generó una gran publicidad cuando recomendó una exploración en profundidad de un sitio geológico, dando por resultado el descubrimiento de uno de los más grandes depósitos de molibdeno. También se realizaron grandes avances en el lenguaje natural en los que participaron Schank y Abelson en 1977, Schank y Riesbeck en 1981 y Dyer en 1983 A su vez, se intentó describir la organización de la memoria del cuerpo humano, por Rieger, 1976 y Kolodner, 1983 entre otros. A partir del comienzo de la década de los ochenta, la Inteligencia Artificial dejó los laboratorios para convertirse en una industria. Un ejemplo de ello es el Sistema Experto (SE) “R1” utilizado por la Digital Equipment Corporation. Con este sistema la organización

17

conformaba órdenes y pedidos de los nuevos sistemas de computadora, logrando ahorros para 1986 de cuarenta millones de dólares al año. También, a partir de la década de los ochenta, se anunció el proyecto de la “quinta generación de computadoras”, ejecutable en 10 años en el cual las máquinas interpretarían el lenguaje Prolog (o un lenguaje similar) como si fuese lenguaje de máquina, pudiendo realizar millones de inferencias por segundo. Esto impulsó el interés por la “IA”, haciéndola avanzar sobre pasos firmes. Además, condujo al rediseño de algunos algoritmos, como el de Backpropagation [Werbos, 1990], el procesamiento distribuido, planteado por Rumelhart y McClelland en 1986 [Rumelhart et al., 1986] refuerza el impulso de la industria de la Inteligencia Artificial (IA). Más tarde, comenzó el período que Stuart [Stuart et al., 1995] ubica de la década de los ochenta a la actualidad, donde no se desarrollaron nuevas teorías revolucionarias, pero se intentó refinar las teorías ya existentes para su correcto funcionamiento. Por ejemplo, Tate (1977) y Chapman (1987), realizaron una síntesis de un programa planificador dentro de un framework para facilitar el trabajo, el que fue utilizado incluso para programar las misiones espaciales. También se vio un resurgimiento del razonamiento probabilístico dentro de los sistemas inteligentes, como plantea Pearl (1978) y defiende Cheeseman [Cheeseman, 1985]. A principios de la década de los noventa, se vislumbró la aplicación nuevo paradigma de programación. Se deja atrás la programación estructurada con la que se armaron las primeras redes neuronales [Rosenblatt, 1958], quedando atrás la programación orientada a objetos (OOP), que en el caso de la IA se ve representada por la teoría de los marcos o “frames” [Minsky, 1974] y se encamina hacia la programación por agentes. En 1987 se creó SOAR de Laird, Newell y Rosenbloom [Laird. et al, 1987] que fue una de las primeras implementaciones de agentes que se utilizaba para procesar las entradas de un sistema de

18

sensores, pero en una visión más general se comportaba como una arquitectura de resolución de problemas basada en reglas. A finales de la década de los noventa e inicio del siglo XXI, con el advenimiento del mayor poder computacional y de las grandes capacidades de almacenamiento de datos con costos de hardware más reducidos, se terminó por aceptar a la Inteligencia Artificial (IA) como un campo práctico y no solo teórico, en el cual los desarrollos aplicables son posibles más allá de los laboratorios. Esto llevó a continuar la tendencia de menor investigación en nuevas teorías, refinamiento de las teorías actuales, y la generación de miles de productos que se utilizan hoy en día, a nivel masivo como en actual “clippo”, el asistente de Microsoft Word, que utiliza una red bayesiana para satisfacer las necesidades del usuario del procesador de texto. La Inteligencia Artificial (IA) comprende otras áreas que son: los sistemas basados en conocimiento (KBES), las redes neuronales, la ingeniería del conocimiento (INCO), los sistemas expertos y los Sistemas Tutores Inteligentes (STI). En lo que sigue, se describen someramente cada una de ellas para lograr una idea completa del ámbito de la Inteligencia Artificial (IA). 4. EL ALGORITMO INDUCTIVO C4.5 Es un algoritmo ideado por Quinlan [Quinlan, 1993], dentro de los métodos inductivos del Aprendizaje Automático, que aprende a partir de ejemplos preclasificados y se utilizan para modelar las clasificaciones en los datos mediante árboles de decisión. Estos algoritmos han tenido gran impacto en la Minería de Datos.

El C4.5 [Quinlan, 1993] junto con antecesor el ID3 [Quinlan, 1987] forman parte de la familia de los Top Down Induction Trees (TDIDT). La idea de ambos algoritmos es de considerar todas las pruebas posibles que pueden dividir el conjunto de datos de entrada y seleccionar la prueba que resulta con mayor ganancia de información.

19

Para cada atributo discreto, se considera una prueba con n resultados, siendo n el número de valores posibles que puede tomar el atributo. Para cada atributo continuo, se realiza una prueba binaria sobre cada uno de los valores que toma el atributo en los datos. Existen dos tipos de ejemplos: ❖ Positivos: Fuerzan la generalización de las reglas generadas, que en casos extremos, donde la población tiene una varianza muy baja a reglas que se adapten muy bien a las muestras y muy mal a los ejemplos negativos. ❖ Negativos: Se utilizan para prevenir que la generalización sea excesiva. Se debe encontrar la relación justa de ejemplos negativos y positivos para el entrenamiento del algoritmo y la generación de cada una de las reglas

Se pretende entonces que el conocimiento adquirido cubra todos los ejemplos positivos y ningún ejemplo negativo, manteniendo que los ejemplos sean representativos de los conceptos que se están tratando de enseñar. Además, la distribución de las clases en el conjunto de ejemplos de entrenamiento, a partir de los que el sistema aprende, debe ser similar a la distribución existente para los datos en los cuales se aplicará el sistema.

20

CAPITULO II: REDES NEURONALES ARTIFICIALES 1. REDES NEURONALES

Las actividades de investigación desarrolladas en torno al estudio de redes neuronales artificiales, simplemente redes neuronales o neuroredes, están motivadas en modelar la forma de procesamiento de la información en sistemas nerviosos biológicos. Especialmente, por la forma de funcionamiento del cerebro humano, que es completamente distinta al funcionamiento de un computador digital convencional. El cerebro humano corresponde al de un sistema altamente complejo, no-lineal y paralelo. En términos sencillos lo anterior equivale a decir que puede realizar muchas operaciones simultáneamente a diferencia de los computadores comunes que son de tipo secuencial, o sea, realizan sólo una operación a la vez. En este sentido, una neurored es un procesador de información, de distribución altamente paralela, constituido por muchas unidades sencillas de procesamiento llamadas neuronas. La neuroredes se caracterizan principalmente por: •

Tener una inclinación natural a adquirir el conocimiento a través de la experiencia, el cual es almacenado, al igual que en el cerebro, en el peso relativo de las conexiones interneuronales.



Tienen una altísima plasticidad y gran adaptabilidad, son capaces de cambiar dinámicamente junto con el medio.



Poseen un alto nivel de tolerancia a fallas, es decir, pueden sufrir un daño considerable y continuar teniendo un buen comportamiento, al igual como ocurre en los sistemas biológicos.



Tener un comportamiento altamente no-lineal, lo que les permite procesar información procedente de otros fenómenos no-lineales.

21

Entre las motivaciones principales para el estudio del funcionamiento de las redes neuronales se encuentran los fenómenos neurológicos. Nuestro cerebro es un procesador de información muchísimo más eficiente que un computador. La clave de esto se encuentra en la inmensa plasticidad del cerebro, existen tareas cotidianas para el cerebro que sería impensable realizar mediante computación tradicional. Un ejemplo de esto es la capacidad reconocer a una persona en un tiempo de 100 a 200 ms. En ese breve lapso, el cerebro es capaz de procesar un patrón de información tridimensional, por ejemplo, de una persona que quizás ha cambiado de aspecto (luce distinto o simplemente envejeció) en un paisaje cambiante (que puede contener muchos otros rostros). En la actualidad, tareas mucho más simples consumen días de trabajo de los computadores más veloces. La plasticidad se percibe también en la capacidad de responder de forma correcta frente a un estímulo nunca antes recibido. Esa capacidad hace que cuando nos presentan por primera vez a alguien, sepamos automáticamente que es una persona y no un objeto u otro ser biológico. Debido a estas características y muchas otras, las neuroredes se han convertido en una gran ayuda en el procesamiento de datos experimentales de comportamiento complejo. Además, su comportamiento iterativo no lineal las une de modo natural al caos y teorías de la complejidad. De hecho, las posibilidades son tan amplias que se empieza a hablar de un nuevo campo, a parte de la Biología, la Matemática y la Física: las Neurociencias. Como ya lo dijimos, lo que se desea inicialmente es imitar, al menos parcialmente, el funcionamiento del cerebro. Para hacerlo revisaremos, superficialmente, algunos conceptos básicos de neurobiología.

2. MODELO BIOLÓGICO Una neurona es una célula viva que consta de un cuerpo celular relativamente esférico de 5 a 10 micrones de diámetro, denominado soma, del que se desprende una rama principal o

22

axón y varias ramas más cortas llamadas dendritas. A su vez, el axón presenta ramas en torno a su punto de arranque, y se ramifica extensamente en su extremo. Típicamente, las neuronas son 6 ó 5 órdenes de magnitud más lentas que una compuerta lógica de silicio, los eventos en un chip de silicio toman alrededor de nanosegundos (109 s), mientras que en una neurona este tiempo es del orden de los milisegundos (103 ). Sin embargo, el cerebro compensa en forma excepcional la lentitud relativa en el funcionamiento neuronal con un número inmenso de neuronas con interconexiones masivas entre ellas. Se estima que el número de neuronas en el cerebro es del orden de 10, y que el número de conexiones sinápticas es 6x10. La red resultante que es el cerebro es una estructura enormemente eficiente. Específicamente, la eficiencia energética del cerebro es aproximadamente de 106 J=(operaciones £ s), la cual es del orden de 1010 computadores en la actualidad. La mayoría de las neuronas codifican sus salidas como una serie de breves pulsos periódicos, llamados potenciales de acción, que se originan cercanos al soma de la célula y se propagan a través del axón. Luego, este pulso llega a las sinapsis y de ahí a las dendritas de la neurona siguiente. Una sinapsis es una interconexión entre dos neuronas, un dibujo esquemático de ella se incluye en la siguiente imagen. En ella, el botón sináptico corresponde al término del axón de una neurona pre-sináptica, y la dendrita es la correspondiente a una neurona post-sináptica.

Imagen 02: Salto Sináptico. Fuente: Fernando Izaurieta y Carlos Saavedra Departamento de Física, Universidad de Concepción, Concepción, Chile. 23

Una de las características que diferencia a las neuronas de otras células, es la capacidad de comunicarse, denominada en el campo de la biología como sinapsis neuronal. Las dendritas y el cuerpo celular reciben señales de entrada, el cuerpo celular las combina e integra y emite señales de salida. Estas señales pertenecen a dos naturalezas:

❖ Química: La señales que se transmiten entre los terminales axónicos y las dendritas se realiza mediante moléculas de sustancias químicas llamadas neurotransmisores que fluyen a través de unos contactos denominados sinapsis, estando estos localizados entre los terminales axónicos y las dendritas de las neuronas siguientes, dejando entre estos un espacio sináptico entre 50 y 200 Å.

❖ Eléctrica: La señal generada por la neurona, que se transporta a lo largo del axón es un impulso eléctrico La neurona contiene interiormente un líquido cuya composición defiere de la del líquido del exterior, con una concentración diez veces mayor de iones potasio, mientras que el medio externo contiene diez veces más iones sodio. Esta diferencia de concentraciones genera una diferencia de potencial entre el interior y el exterior de la membrana celular del orden de los 70 mV que se conoce con el nombre de potencial de reposo. La recepción de neurotransmisores actúa acumulativamente bajando, o subiendo, ligeramente el valor del potencial de reposo. El resultado de todo esto es la emisión por parte de la neurona, de trenes de impulsos cuya frecuencia varía en función de la cantidad de neurotransmisores recibidos. Existen dos tipos de sinapsis: Excitadoras (Cuyos neurotransmisores provocan disminución de potencial en la membrana celular, facilitando la generación de impulsos) e Inhibidoras (Cuyos neurotransmisores tienden a estabilizar el potencial, dificultando la emisión de trenes de impulsos).

24

Imagen 03: Cuadro comparativo entre el cerebro humano y una computadora. Fuente: Universidad de Buenos Aires -Fernando Sagueiro. Esta imagen muestra una comparación entre las unidades fundamentales informáticas y su similitud con las células del cerebro humano. Esta tabla se basa en el libro Artificial Intelligence A Modern Approach de Stuart [Stuart et al., 1995] pero los datos computacionales son llevados al año 2004.

3. MODELO NEURONAL Aquí se desea introducir un modelo sencillo de la neurona, para construir redes, nuestro fin último es modelar correctamente el comportamiento global de toda la red. No se pretende modelar exactamente el comportamiento fisiológico de la neurona, sino más bien sólo sus características más relevantes, que entran en juego en su interacción con toda la red. Tenemos un esquema de neurona en la imagen 04. En él nuestra neurona de interés es la yj. Las n neuronas xi están enviando señales de entradas, que son los valores numéricos de “algo”. Los valores wji representan los pesos sinápticos en las dendritas de yj. Obsérvese la notación: el primer índice denota a la neurona hacia donde se dirige la información, el segundo índice denota de qué neurona procede la información.

25

Imagen 04: Esquema de Neurona. Fuente: Fernando Izaurieta y Carlos Saavedra Departamento de Física, Universidad de Concepción, Concepción, Chile.

Lo que hace cada peso sináptico es simplemente multiplicar a su entrada correspondiente y define la importancia relativa de cada entrada. Recordemos que en el soma de la neurona biológica se sumaban las entradas provenientes de todas las dendritas. Entonces tenemos que la entrada total a la neurona yj es: 𝒏

𝒚𝒋(𝒊𝒏) ∑ 𝒘𝒋 𝒊 𝒙𝒊 𝒊:𝟏

(1) En donde el índice (in) denota “input” o entrada. Como mencionamos la neurona se activa si la entrada total supera un cierto umbral. Lo que se hace para esto es aplicar una función de activación φ sobre 𝑦𝑗 (𝑖𝑛) , que puede ser, por ejemplo, una función tipo escalón o sigmoidea, como la tangente hiperbólica. Entonces tenemos que la señal de output o salida de la neurona yj es: 𝒚𝒋 = 𝛗(𝒚𝒋(𝒊𝒏) ) (2)

26

3.1. Funciones de Activación Algunas funciones de activación típicas, no lineales, se presentan en las siguientes imágenes.

Imagen 05: Escalón. Fuente: Fernando Izaurieta y Carlos Saavedra Departamento de Física, Universidad de Concepción, Concepción, Chile.

Imagen 06: Sigmoidea. Fuente: Fernando Izaurieta y Carlos Saavedra Departamento de Física, Universidad de Concepción, Concepción, Chile. Estas funciones evidentemente transmiten la idea de “disparar sobre un umbral”. Las neuronas y sus funciones de activación se dividen en dos tipos: bipolares o antisimétricas y binarias. En las primeras, -a yj a, siendo generalmente a =1, y en las segundas, 0 yj 1. Además, a veces se suele usar como función de activación una relación lineal, generalmente la función identidad. Esta se usa por lo general para neuronas de entrada a la red o sensores. Esto se debe a que evidentemente, lo que esperamos de un sensor es que indique precisamente lo que está percibiendo.

27

Si la función de activación de una neurona es lineal, decimos que es una neurona lineal, en caso contrario, decimos que es una neurona no lineal. Aquí, las neuronas lineales se las representa por un cuadrado, y a las no lineales por un círculo.

3.2.Umbrales e Inclinación Anteriormente, se explicó que una neurona se activa o “dispara” si su entrada total supera un cierto umbral. Ahora bien, muchas veces es deseable modificar este umbral, haciendo más difícil que la neurona dispare (subir el umbral) o más fácil (bajar el umbral). Es posible hacer esto directamente. Sin embargo, esto suele ser un poco engorroso al programar.

Imagen 07: Esquema con inclinación. Fuente: Fernando Izaurieta y Carlos Saavedra Departamento de Física, Universidad de Concepción, Concepción, Chile. Resulta mucho más compacto y práctico añadir lo que se llama una neurona de inclinación, xo, a la que se asigna un valor fijo de 1, y un peso sináptico wjo. A la neurona yj le asignamos un umbral fijo de cero. Se ve claramente que esto es equivalente a que la neurona yj tenga un umbral de -wj0. Entonces se tiene que: 𝒏

𝒚𝒋(𝒊𝒏) = ∑ 𝒘𝒋 𝒊 𝒙𝒊 ; 𝒄𝒐𝒏 𝒙𝒐 = 𝟏 𝒊=𝟎

(3)

28

3.3.El Comienzo: McCulloch-Pitts Después de las definiciones previas, es conveniente revisar un ejemplo sencillo, pero muy instructivo, sobre el tema. Este consiste en el primer modelo que se creó de red neural, el año 1943, antes de que se construyeran los primeros computadores. McCulloch era un siquiatra y neuroanatomista y Pitts un matemático. El primero pasó 20 años estudiando sobre cuál era la representación de un evento en el sistema nervioso. Su modelo tiene las siguientes características: •

Las neuronas son del tipo binario, [0; 1].



Los umbrales y las sinapsis se mantienen fijas.



La función de activación es del tipo escalón.

Ellos demostraron que todas las funciones lógicas se pueden describir mediante combinaciones apropiadas de neuronas de este tipo, y que por lo tanto, se podía crear, en principio, una red capaz de resolver cualquier función computable. Además, el modelo sirve para explicar algunos fenómenos biológicos sencillos. De esta forma es posible describir algunas funciones lógicas como:

Imagen 08: Función And. Fuente: Fernando Izaurieta y Carlos Saavedra Departamento de Física, Universidad de Concepción, Concepción, Chile.

29

Imagen 09: Función Or. Fuente: Fernando Izaurieta y Carlos Saavedra Departamento de Física, Universidad de Concepción, Concepción, Chile. En todos estos ejemplos, se supone que el umbral de cada neurona no lineal es 2. O sea, 𝒚={

𝟎 𝒔𝒊 𝒚𝒊𝒏 < 𝟐 𝟏 𝒔𝒊 𝒚𝒊𝒏 ≥ 𝟐 (4)

Ahora es muy fácil comprobar que las tablas de verdad efectivamente se cumplen (Se asume que 1=Verdadero y 0=Falso.), por ejemplo, la primera línea de la tabla de verdad para el And: 𝟏𝒙𝟏 + 𝟏𝒙𝟏 = 𝟐 = 𝒚𝒊𝒏 → 𝒚 = 𝟏 (5) Veamos una función lógica más: el xOr u Or excluyente.

Imagen 10: Función xOr. Fuente: Fernando Izaurieta y Carlos Saavedra Departamento de Física, Universidad de Concepción, Concepción, Chile. 30

Es fácil comprobar que la red mostrada efectivamente cumple con la tabla de verdad. Sin embargo, llama la atención el que su red sea más compleja que la de las funciones And u Or, pese a que sólo se diferencia de la función Or en la primera línea. Pudiéramos darnos el trabajo de buscar una red diferente para representar xOr, buscando algo más sencillo. Existen varias otras redes que también la representan, pero ninguna de ellas sencillas como la para And u Or. Fijémonos primero en que consiste la “complejidad”. En las redes And u Or las neuronas de entrada y la de salida están conectadas directamente, en cambio, se puede demostrar que para la función xOr habrá siempre por lo menos, una conexión indirecta. Para entender esta diferencia se debe incorporar dos nuevos conceptos: Problemas linealmente separables y Capas Neurales.

3.4.Problemas Linealmente Separables y Capas Neurales 3.4.1. Problemas Linealmente Separables Volvamos a una red simple, como la del And u Or, pero más general, como la de la siguiente figura. En ella, hemos añadido una neurona de inclinación, en vez de un umbral.

Imagen 11: Función Lógica “simple”. Fuente: Fernando Izaurieta y Carlos Saavedra Departamento de Física, Universidad de Concepción, Concepción, Chile. 31

Sabemos que la entrada 𝑦 (𝑖𝑛) estará dada por: 𝒚(𝒊𝒏) = 𝒘𝒐 + 𝒘𝟏𝒙𝟏 + 𝒘𝟐𝒙𝟐 (6) y la respuesta, por:

𝒚={

𝟎 𝒔𝒊 𝒚𝒊𝒏 < 𝟎 𝟏 𝒔𝒊 𝒚𝒊𝒏 ≥ 𝟎 (7)

Esto divide al plano formado por x1 y x2 en dos regiones: en una, se tendrá que y =0 e 𝑦 (𝑖𝑛) 𝟎 (10)

donde las capas de neuronas xi e yj están distribuidas como en la imagen 15. A la constante de proporcionalidad 𝜼 se le llama “razón de aprendizaje”. Para ver cómo funciona, supongamos que xi e yj son bipolares o antisimétricas, con a =1. Si xi toman ambas simultáneamente el valor de 1 (o de -1), ∆wj i (n)= 𝜼, y esa sinapsis se reforzará. En cambio, si una tomase el valor -1 y la otra el de 1, ∆wj i (n)= - 𝜼, y esa sinapsis se debilitará. Este aprendizaje explica el famoso experimento de PavlovÉl le daba alimento a un perro y simultáneamente tocaba una campanilla. Después de repetir esto muchas veces, Pavlov tocó sólo la campanilla, sin alimento. Y el perro, sólo oyendo la campanilla, salivaba. La explicación es muy simple. Al activarse simultáneamente las neuronas que controlan la salivación y las que perciben la campanilla, las sinapsis entre ellas se refuerzan. 4.3.Aprendizaje para redes Unicapa 4.3.1. Regla de Aprendizaje perceptrónico Objetivo y funcionamiento general: Esta regla de aprendizaje está diseñada especialmente para el reconocimiento de patrones, pero por ser red Unicapa, sólo se pueden usar patrones linealmente separables. El perceptrón nació como un primer intento de modelar la retina, en 1958, por Rosenblatt. Es usual pensar que la retina es simplemente un receptor (como el detector CCD de una cámara de vídeo), pero en realidad es una red altamente compleja. Sólo

39

ha podido ser reproducida en ojos para robots y retinas artificiales para ciegos en la última década, mediante los llamados circuitos neuromórficos. La retina, además de ser un receptor, es capaz de reconocer el movimiento y bordes, y puede adaptarse a cambios locales en el brillo. Un perceptrón es una red de una sola capa, como la de la imagen 15. Las neuronas de salida son no lineales, con función de activación tipo escalón. En nuestros experimentos numéricos, utilizamos funciones de activación bipolares o antisimétricas, como la siguiente: −𝟏 𝒔𝒊 𝒚𝒋(𝒊𝒏) < 𝟎 𝒚𝒋 = { 𝟎 𝒔𝒊 𝒚𝒋(𝒊𝒏) = 𝟎 𝟏 𝒔𝒊 𝒚𝒋(𝒊𝒏) > 𝟎 (11) Nótese que se incluyó un punto neutro. A este se le suele llamar punto de indeterminación. A veces incluso se usa una región en torno al origen que produce una salida de cero, a la cual se le llama banda de indeterminación. Simplemente dice que la neurona no sabe que responder. Cada neurona de salida representa a una clase determinada, si una de ellas se activa con una entrada, significa que pertenece a esa clase, si está desactiva, que no pertenece. Aquí, incluimos dos experimentos al respecto, clasificando imágenes de letras.

La entrada x corresponde al i-ésimo píxel de la imagen. Digamos por ejemplo que tenemos una red que nos clasifica una entrada como X u O. Lo que queremos es que funcione como se muestra en la siguiente imagen, en donde la neurona marcada con X reconoce a la clase X, y la con O, a la clase O:

40

Imagen 18: Funcionamiento de un Perceptrón. Fuente: Fernando Izaurieta y Carlos Saavedra Departamento de Física, Universidad de Concepción, Concepción, Chile. Algoritmo Perceptrónico. Veamos ahora como entrenar esta red que cuenta mo y m1 número de neuronas de entrada y salida respectivamente. Además, existen N pares de entrenamiento 𝑁 {𝑥𝑖 (𝑛); 𝑑𝑗 (𝑛)} 𝑛=1 . De esta forma el algoritmo es:

Paso 0: Inicializar las sinapsis de la red, se puede elegir wj i (0) = 0 ó valores aleatorios. se elige una razón de aprendizaje 𝜼, 0 < 𝜼 1. Paso 1: Mientras la condición de parada del paso 5 sea falsa, realizar los pasos del 2 al 5. Paso 2: Para cada par de entrenamiento, (xi (n); dj (n)) ;n=1; …; N, hacer los pasos del 3 y 4. Paso 3: j =1; …; m1 𝒎𝟎

𝒚𝒋

(𝒊𝒏)

(𝒏) = ∑ 𝒘𝒋 𝒊 (𝒏)𝒙𝒊 (𝒏) 𝒊=𝟎

(12)

41

−𝟏 𝒔𝒊 𝒚𝒋(𝒊𝒏) < 𝟎 𝒚𝒋 (𝒏) = { 𝟎 𝒔𝒊 𝒚𝒋(𝒊𝒏) = 𝟎 𝟏 𝒔𝒊 𝒚𝒋(𝒊𝒏) > 𝟎 (13) Paso 4: Si yj (n) ≠ dj (n), para algún j entre 1 y m1, entonces: 𝒘𝒋 𝒊 (𝒏 + 𝟏) = 𝒘𝒋 𝒊 (𝒏) + 𝜼𝒅𝒋 (𝒏) 𝒙𝒊 (𝒏) (14) Donde j=1,…, m1; i=0,…, mo. En caso contrario wj i (n+1) = wj i (n). Paso 5: Si los pesos sinápticos no cambian para cada patrón de entrenamiento durante la última vez que se realizó el paso 2, entonces parar, sino es así, continuar. Se ve claramente que en nuestro caso, ∆wj i (n)= 𝜼dj (n) xi (n) o 0, dependiendo de si hubo error o no. Podemos entender intuitivamente el algoritmo de la siguiente forma. Supongamos que la j-ésima neurona respondió de forma incorrecta, dijo -1 en vez de 1. Esto significa que 𝑦𝑗 (𝑖𝑛) (n) fue demasiado pequeño, debemos hacer que crezca haciendo que más términos en la sumatoria ∑𝑚𝑜 𝑖=0 𝑤𝑗 𝑖 (𝑛)𝑥𝑖 (𝑛)sean positivos y lo máximo posible. O sea, si la iésima entrada, xi (n) es +1, entonces la i-ésima sinapsis, wj i (n), debería ser positiva y lo más grande posible también: debemos hacerla crecer. Si por el contrario, xi (n) es -1, debemos hacer bajar a wj i (n). Esto es lo que se refleja en la forma en que hemos construido el ∆wj i (n), si dj (n) es +1, entonces ∆wj i (n) tiene el mismo signo que xi (n). En el caso contrario, es todo al revés. Es bastante evidente que si un problema es linealmente separable, existen infinitos pesos sinápticos que servirán para solucionar el problema. Basta con multiplicar por una constante la ecuación ∑𝑛𝑖=0 𝑤𝑗 𝑖 𝑤𝑖 = 0 y seguimos teniendo el mismo hiperplano de separación, aunque distintos pesos sinápticos. Además, generalmente, no es un solo hiperplano el que nos podría 42

delimitar bien la frontera, sino que más bien hay infinitos, como se muestra en la siguiente imagen:

Imagen 19: Infinitas Soluciones. Fuente: Fernando Izaurieta y Carlos Saavedra Departamento de Física, Universidad de Concepción, Concepción, Chile. O sea, o no existe ninguna solución, o existen infinitas. Es posible demostrar que si existe solución, entonces el algoritmo perceptrónico convergerá a una de las infinitas soluciones en un número finito de pasos. Experimentos Computacionales. A modo de ejemplo se incluyen dos experimentos (computacionales), ambos de clasificación de letras. Para el primero, usamos las siguientes entradas:

Imagen 20: Patrones de Entrenamiento para el Experimento 1. Fuente: Fernando Izaurieta y Carlos Saavedra Departamento de Física, Universidad de Concepción, Concepción, Chile. 43

Cada imagen es de 7 x 9 = 63 píxels, un píxel negro corresponde a un +1 y uno blanco a un -1, se usó 𝜂 =1. Las sinapsis se inicializaron con 0. Para construir el vector x1 de entradas, simplemente ponemos una fila de la imagen después de la otra. Después del entrenamiento, algunos patrones que fueron clasificados correctamente fueron los siguientes:

Imagen 21: Reconocimiento de letras del Patrones de Entrenamiento para el Experimento 1. Fuente: Fernando Izaurieta y Carlos Saavedra Departamento de Física, Universidad de Concepción, Concepción, Chile.

Aquí observamos el funcionamiento de la red que se ha construido, que a pesar de ser muy simple, tiene plasticidad y es capaz de generalizar. A pesar de que nunca vio esos patrones con errores durante su entrenamiento, fue capaz de reconocer a qué letra correspondían. Para ampliar el experimento nos preguntamos: ¿Se podrá realizar con patrones más grandes? y, ¿Qué imagen podemos hacernos de cómo están distribuidas las sinapsis? Para responder esas preguntas, construimos un perceptrón que sólo clasificara entre X, O e I, pero con entradas de una resolución mucho mayor: 56 x 72 = 4032 pixeles. Trabajamos exactamente del mismo modo que con el ejemplo anterior. Los patrones de entrenamiento ahora son los siguientes:

44

Imagen 22: Patrones de Entrenamiento 2. Fuente: Fernando Izaurieta y Carlos Saavedra Departamento de Física, Universidad de Concepción, Concepción, Chile. Se necesitaron sólo tres épocas. Algunos patrones que fueron clasificados correctamente, son:

Imagen 23: Reconocimiento en Patrones de Entrenamiento 2. Fuente: Fernando Izaurieta y Carlos Saavedra Departamento de Física, Universidad de Concepción, Concepción, Chile. Nuevamente observamos la plasticidad. Pero, ¿cómo se distribuyen las sinapsis? Para verlo de un modo gráfico, simplemente reordenamos en la misma forma de la imagen original a las sinapsis, obteniéndose 3 gráficas: Una para las sinapsis que se conectan con la neurona de la X, otra con la de la O y otra con la de la I.

Imagen 24: Sinapsis para X, O e I. Fuente: Fernando Izaurieta y Carlos Saavedra Departamento de Física, Universidad de Concepción, Concepción, Chile.

45

Simplemente observando se puede entender cómo funcionan las sinapsis, y qué regiones son más cruciales que otras al reconocer el patrón. Pero dijimos que las sinapsis no eran únicas. Si empezamos con valores iniciales aleatorios llegamos a otro tipo de conexiones sinápticas, como estas:

Imagen 25: Otras Sinapsis para X, O e I. Fuente: Fernando Izaurieta y Carlos Saavedra Departamento de Física, Universidad de Concepción, Concepción, Chile. Ahora, pasaremos a otra tarea que realizan muy bien las neuroredes: predecir. 4.3.2. Regla Delta, o corrección de error Esta es una regla muy popular, en ella se usa una red de una sola capa, igual que la perceptrónica, pero la neurona de salida tiene una función de activación derivable, generalmente la función identidad o la tangente hiperbólica. Para esta regla, usamos un algoritmo más sencillo, simplemente calculamos el error ej (n) = dj (n) – yj (n) correspondiente a cada entrada, y luego corregimos las sinapsis de la red mediante la regla: ∆𝒘𝒋 𝒊 (𝒏) = 𝜼𝒆𝒋 (𝒏)𝛗𝟎𝒋 (𝒚𝒋(𝒊𝒏) (𝒏)) 𝒙𝒊(𝒏) (15) Si las neuronas de salida tienen a la identidad como función de activación, φj (𝑦𝑗 (𝑖𝑛) (𝑛)) = 1, y entonces, ∆𝒘𝒋 𝒊 (𝒏) = 𝜼𝒆𝒋 (𝒏)𝒙𝒊 (𝒏) (16) que es la forma más común del algoritmo. Esta regla en realidad es un caso particular muy sencillo del algoritmo de retropropagación de errores. 46

La convergencia del algoritmo depende fuertemente del valor de 𝜂. Si se elige uno muy pequeño, la convergencia se hará muy lenta, y si se elige muy grande, el proceso se volverá inestable y no convergerá. Existen criterios para determinar cotas superiores para 𝜂, pero suelen ser complicados, nosotros en nuestro experimento simplemente recurrimos al ensayo y error, que suele ser mucho más rápido.

Predictor lineal, o filtro Lineal Adaptativo. Supongamos que tenemos un sistema dinámico al que estamos describiendo por un único parámetro x. Lo único que conocemos de él es su historia, muestreando x cada cierto período T. Lo que queremos hacer es predecir cuál será la respuesta del sistema en el próximo instante. Esto lo hacemos mediante una interacción red - sistema dinámico como la mostrada en la siguiente imagen:

Imagen 26: Predictor Lineal. Fuente: Fernando Izaurieta y Carlos Saavedra Departamento de Física, Universidad de Concepción, Concepción, Chile. Aquí vemos que el papel de profesor es llevado de modo automático por el mismo sistema dinámico. La red conoce todas las entradas desde x (T) hasta x (nT), y debe predecir el valor de x ([n +1]T). El papel de respuesta deseada lo juega x ([n +1]T) y el de entrada el historial del proceso.

47

Es completamente análogo al proceso de aprendizaje con profesor, excepto por que el número de neuronas de entrada debe aumentar constantemente. Experimento computacional. Usamos un 𝜂 = 0:01 y una neurona de salida con la función identidad. Nuestro sistema dinámico era una señal senoidal con variaciones aleatorias.

Imagen 27: Experimento de Predicción. Fuente: Fernando Izaurieta y Carlos Saavedra Departamento de Física, Universidad de Concepción, Concepción, Chile. Se puede observar fácilmente que a medida que la red va aprendiendo, cada vez es capaz de predecir mejor. 4.4.Aprendizaje para Redes Multicapa Ahora, romperemos con nuestras limitaciones anteriores y estudiaremos el caso nolineal. Debemos recordar que en este tipo de redes, las funciones de activación de las capas ocultas son siempre no lineales. Además, veremos de las ecuaciones que necesitamos una función de activación diferenciable en todo su dominio. Además, se encuentra que el algoritmo de aprendizaje es más difícil de visualizar. Nosotros sólo estudiaremos un tipo de aprendizaje, el Aprendizaje Retropropagador de Error. 4.4.1. Estructura y Notación General La estructura de la red se muestra en la siguiente imagen, la capa de salida es la capa L-ésima, y tiene 𝑚𝐿 neuronas. La de entrada es la capa 0, y tiene 𝑚0 neuronas. Decimos que nuestra red tiene L capas, a L se le llama a veces la profundidad de la red. 48

Imagen 28: Red Multicapa. Fuente: Fernando Izaurieta y Carlos Saavedra Departamento de Física, Universidad de Concepción, Concepción, Chile.

Supondremos que cada capa tiene sus neuronas de inclinación, que por lo general no dibujaremos en los diagramas. En general, las neuronas de cada capa están completamente conectadas con las de la siguiente. En el funcionamiento de nuestra red, nos encontraremos con dos tipos de señales: Señales de Función y Señales de error. Señales de Función: Es el estímulo que entra en la capa 0, y pasa hacia adelante, capa por capa del modo tradicional, hasta la última capa, L, en donde se genera a señal de salida. Señales de Error: Luego de la etapa hacia adelante, viene la retropropagación del error, hacia atrás. Cuando corregimos las sinapsis, corregimos las de la capa L primero. Luego, observando las sinapsis de la capa L, corregimos las de la capa L ¡ 1, y así sucesivamente hasta la primera capa. A esto se le llama señal de error, vamos desde las últimas capas hasta las primeras corrigiendo sinapsis. Esto es lo que se ilustra en la imagen 29:

49

Imagen 29: Etapas hacia adelante y hacia atrás. Fuente: Fernando Izaurieta y Carlos Saavedra Departamento de Física, Universidad de Concepción, Concepción, Chile. 5. RED BACKPROPAGATION En 1986 Rumelhart, Hinton y Williams [Rumelhart, 1986], desarrollaron un método de aprendizaje automático que logró que una red neuronal basada en el Perceptron [Rosenblatt, 1958] aprendiera la asociación que existe entre los patrones de entrada y las clases correspondientes de salidas. El Aprendizaje Automático o “Machine Learning” podría definirse como un conjunto de programas computacionales que mejoran con la experiencia. Estos sistemas deben ser capaces de adquirir conocimientos de alto nivel para la resolución de problemas mediante ejemplos provistos por un instructor o supervisor debiendo generar representaciones internas de los conceptos. Para lograrlo, se modificó la red del Perceptron de Rosenblatt [Rosenblatt, 1958] agregándole capas ocultas, con conexión hacia delante y sin conexiones recurrentes [Rumelhart, 1986]. No fue suficiente con introducir algunas modificaciones topológicas a la red, sino que se requerían modificaciones en el algoritmo de aprendizaje; por lo tanto fue desarrollado el método de aprendizaje no supervisado denominado también Backpropagation, basado en la regla Delta Generalizada [Rumelhart et al., 1986], logrando así, una ampliación del rango de aplicación de las redes neuronales. El algoritmo de aprendizaje Backpropagation [Rumelhart et al., 1986] puede aplicarse en redes neuronales artificiales con más de dos capas de neuronas y es capaz de representar el 50

conocimiento en las capas ocultas, logrando así la correspondencia entre las entradas y las salidas. El funcionamiento general de una red neuronal artificial del tipo Backpropagation, como el de otras redes neuronales, puede dividirse en dos partes: la etapa de entrenamiento y la etapa de puesta en marcha. La primera consiste en el aprendizaje de un conjunto predefinido de observaciones de entrada-salida dados como ejemplo (utilizando n atributos de entrada y un único atributo o clase, de salida), empleando un ciclo propagación-adaptación de dos fases [García Martínez et al., 2003; Rumelhart, 1986]: ❖ Primera Fase: Se aplican los atributos de entrada en la capa de entrada de datos de la red. Los valores generados por las neuronas de entrada se propagan desde la capa de entrada hacia las capas superiores hasta generar una salida, en la capa de salida de la red. Para realizar el entrenamiento, se compara el resultado obtenido en cada neurona de salida con el valor deseado para cada neurona en particular y se obtiene un error para cada una de las unidades de salida.

❖ Segunda Fase: Los errores de las unidades de salida se transmiten hacia atrás, pasando por todas las neuronas de las capas intermedias que contribuyan directamente a la salida, recibiendo el porcentaje de error aproximado a la participación de las neuronas intermedias en la salida original. Este proceso se repite capa por capa hasta llegar a la capa de entrada y hasta que cada neurona haya recibido un error que describa su aporte al error total.

Es por esto que este algoritmo se denomina también de retro-propagación o propagación hacia atrás, donde los errores se calculan con respecto a los aportes de las neuronas desde la capa de salida hasta la capa de entrada y es con respecto al valor del

51

error recibido que se reajustan los pesos de las conexiones entre cada par de neuronas en la red, de manera de que el error total cometido para ese patrón disminuya.

En la fase de funcionamiento normal, los pesos no se modifican y por lo tanto, dados los atributos en las neuronas de entrada, se obtienen las distintas activaciones de las neuronas de salida como cualquiera de las redes neuronales que no cumplen con la característica “Winner Takes All” (del inglés. el ganador toma todo) de esta sección. Dado que la fase de funcionamiento es similar a las redes estudiadas se debe realizar un análisis más profundo en el método de aprendizaje. El método de Backpropagation utiliza una función o superficie de error asociada a la red, buscando el estado de mínimo error estable a través del camino descendente de la superficie de error [Rumelhart, 1986]. Es por esto que de debe realizar la retroalimentación para realizar las modificaciones en los pesos en un valor proporcional al gradiente decreciente de dicha función de error. En la Figura 2.5 se puede ver un esquema de este tipo de redes neuronales artificiales.

Imagen 30: Modelo Backpropagation [Rumelhart et al., 1986] de red neuronal artificial (NN). Es una red multicapa, con conexiones hacia adelante y sin conexiones recurrentes. Fuente: Universidad de Buenos Aires -Fernando Sagueiro. 52

5.1.Funcionamiento de las Redes Backpropagation Dada una neurona Ui y su salida Yi, el cambio que se produce en el peso de la conexión que une la salida de dicha neurona con la unidad Uj (wij) para un patrón de aprendizaje p es: (𝒌)

(𝒌)

(𝒌)

(𝒌)

(𝒌)

𝑷𝒌 = [𝒂𝟏 , 𝒂𝟐 , 𝒂𝟑 , … , 𝒂𝒏 , 𝒔𝒏 ] (17) ∆𝒘𝒊𝒋 (𝒕 + 𝟏) = 𝜶 𝒙 𝜹𝒑𝒋 𝒙 𝒀𝒑𝒊 (18) Donde el subíndice p se refiere al patrón de aprendizaje concreto y a es la constante o tasa de aprendizaje. La regla delta generalizada difiere con la regla delta en el valor concreto de dpj. En las redes con capas ocultas como esta se desconocen las salidas internas deseadas de las capas para poder calcular los pesos en función del error cometido. Sin embargo, inicialmente podemos conocer la salida deseada de las neuronas de salida. Para la unidad Uj de salida, se define: 𝜹𝒑𝒋 = (𝒅𝒑𝒋 − 𝒀𝒑𝒋 ) ∗ 𝒇′(𝑵𝒆𝒕𝒋 ) (19) Donde dpj es la salida deseada de la red para la neurona j y el patrón p y Netj es la entrada neta de la neurona j. Si Uj pertenece a una de las capas ocultas o entradas, se tiene: 𝑵

𝜹𝒑𝒋 = (∑ 𝜹𝒑𝒌 ∗ 𝒘𝒌𝒋 ) ∗ 𝒇′(𝑵𝒆𝒕𝒋 ) 𝑲=𝟏

(20) Donde el rango de k cubre todas las neuronas a las que está conectada la salida de Uj y el error que se produce en una neurona oculta es la suma de todos los errores cometidos por las

53

neuronas a las que está conectada su salida, multiplicados por el peso de la conexión correspondiente. Se puede adicionar un momento ß a la regla delta generalizada para determinar el efecto en el paso (t+1) del cambio de los pesos en el instante (t). Esto permite la convergencia de la red en menor número de iteraciones, ya que si en (t) el incremento de un peso es positivo y en (t+1) también es positivo, entonces el descenso por la superficie de error en (t+1) es mayor. Sin embargo, si en (t) el incremento es positivo y en instante (t+1) es negativo, se ha pasado por un mínimo y los pesos deben ser menores para poder alcanzarlo, por lo tanto, el paso que se da en el instante (t+1) será más pequeño. ∆𝒘𝒊𝒋 (𝒕 + 𝟏) = 𝜶 ∗ 𝜹𝒑𝒊 ∗ 𝒀𝒑𝒊 + 𝜷(𝒘𝒊𝒋 (𝒕) − 𝒘𝒊𝒋 (𝒕 − 𝟏)) (21)

Donde ß es una constante que determina el efecto en la iteración (t+1) del cambio de los pesos en la iteración (t). Esto permite la convergencia de la red en menor número de iteraciones. 6. REDES SELF ORGANIZING MAPS (S.O.M.) Existen evidencias que demuestran que las neuronas del cerebro se organizan en varias zonas, donde la información captada del entorno, por los órganos sensoriales y se representa internamente en forma de mapas bidimensionales. Si bien esta organización puede estar predeterminada genéticamente, esto sugiere que el cerebro podría poseer la capacidad de formar mapas topológicos de las informaciones recibidas del exterior. Esto le brinda la capacidad de operar con elementos semánticos ya que algunas de sus áreas simplemente podrían ordenar neuronas especializadas con características de alto nivel construyendo mapas espaciales para atributos y características. En esto se basa Teuvo Kohonen [Kohonen, 2001] quien en 1982 presentó un modelo de red neuronal con capacidad para formar mapas de características. Kohonen plantea que un estímulo externo por sí solo es suficiente para forzar

54

la formación de los mapas y establecer características comunes entre los datos de entrada a la red y su salida. Los mapas autoorganizados de Kohonen o redes neuronales S.O.M. (Self Organizing Maps) imitan el funcionamiento de las neuronas biológicas y forman mapas de características. Existen variantes del modelo presentado por Kohonen: •

Learning Vector Quantization (L.V.Q.).



Topologic Preserving Map (T.P.M.) o Self Organizing Map (S.O.M.).

Las redes S.O.M. son modelos de redes con conexiones hacia delante (feedforward), y conexiones laterales de inhibición (w≤ 0) implícitas, para que cada una de las neuronas de salida tenga influencia sobre sus vecinas. Esto es necesario para el entrenamiento, donde solo una de las neuronas de salida se activará dado un vector p de atributos en la capa de entrada. El entrenamiento es del tipo no supervisado y competitivo, utilizando la técnica “Winner Takes All” o “el ganador se lleva todo”. Las redes deben ser entrenadas Off-Line y luego, con los pesos de todas las conexiones fijos, puede ponerse en funcionamiento normal. En la imagen 31 se ve un esquema de este tipo de redes:

Imagen 31: Modelo S.O.M. [Kohonen, 2001] de red neuronal artificial (NN). Es una red multicapa, con conexiones hacia adelante y con conexiones recurrentes. Fuente: Universidad de Buenos Aires -Fernando Sagueiro. 55

6.1.Parámetros de las Redes S.O.M. No es suficiente configurar las características de las redes S.O.M., se debe proveer de datos para el entrenamiento y la validación de los resultados. También se deben configurar parámetros adicionales, de manera experimental (ya que los valores óptimos dependen de los valores ingresados como datos) para lograr la mejor clasificación. Los parámetros de las redes neuronales S.O.M. a configurar son: •

La cantidad de Neuronas Artificiales: Las redes S.O.M. generan una grilla de clusters de [n x n], donde n es la cantidad de neuronas de que consta la red. Este parámetro es fundamental ya que determina la cantidad de clusters que se pueden generar. Por ejemplo, para una red de n neuronas artificiales se pueden generar n2 clusters o familias de datos.

El valor mínimo de n es dos, ya que una sola neurona carecería de sentido (porque forma un único cluster que englobará todos los datos) mientras que el valor máximo no está acotado por el algoritmo, pero éste intentará crear la menor cantidad posible de clusters para los datos de entrada, con lo que el uso de, por ejemplo, diez neuronas artificiales para los datos con grupos muy evidentes pueden generar solamente dos o tres clusters, desperdiciando la clasificación de los restantes 97. Se observa además, que cuanto mayor es la cantidad de neuronas, el tiempo que insume su entrenamiento es cada vez mayor.



La cantidad de Ciclos: Un ciclo consiste en presentarle a la red neuronal (en la etapa de entrenamiento) todos los datos relevados exactamente una vez. Como la red está constantemente en un período de aprendizaje, una vez que se le presenta el dato n+1, los valores de los pesos que se utilizaron para clasificar el dato n se pueden ver

56

modificados, por lo que se requiere que la información sea presentada más de una vez para que la red almacene la clasificación de todos los datos, mientras continúa clasificando correctamente a los datos ya ingresados. El número mínimo de veces que se le pueden presentar las observaciones a la red es solo una, mientras que no existe un limite máximo, pero como el tiempo que insume el período de aprendizaje es muy elevado, repetirlo muchas veces puede llevar días, incluso en los casos con pocos datos relevados.

A lo largo de las distintas iteraciones que proporcionan los ciclos, por medio del aprendizaje no supervisado, la red puede modificar la clasificación del elemento késimo del ciclo i-ésimo al ciclo i-ésimo+1. Con esto se lograrán agrupaciones o familias de elementos mucho más acertadas.

En la práctica, para la mayoría de los casos, se logra un valor de convergencia C, que si se supera no modificará la clasificación de los elementos predicha por la red. En la imagen 32 se puede observar la influencia de la cantidad ciclos en el entrenamiento de la red. La figura muestra como una red o malla (donde cada unión del polígono es determinada por una red S.O.M.) se puede ajustar a una región bidimensional (en este caso de forma triangular). Se comienza con los pesos asignados en forma aleatoria, pero como se puede ver, de la imagen 32.f a la 32.h existen 75.000 ciclos de entrenamiento y las diferencias en el modelo final son mínimas.

57

a

b

c

d

e

f

g

h

Imagen 32: Pasaje de una grilla de 3 dimensiones a una región patrón del tipo triángulo equilátero en el plano utilizando un mapa de 25x25 puntos y una red del tipo S.O.M. Se muestran los resultados para las iteraciones 20 (32.a), 250 (32.b), 500 (32.c), 1000 (32.d), 10000 (32.e), 25000 (32.f), 50000 (32.g) y 100000 (32.h).Fuente: Universidad de Buenos Aires Fernando Sagueiro.

❖ Aleatoriedad: En cada ciclo, las observaciones que son presentadas una vez, pueden ser tomadas en orden secuencial o en orden aleatorio. Si se selecciona el orden aleatorio, el elemento original en la posición I de la grilla de entrada no sólo será presentado aleatoriamente en una nueva posición J en la primera iteración, sino que en la iteración posterior, será presentado en la posición K (con K muy probablemente distinto de J), y así sucesivamente, modificando su posición de presentación en cada una de las iteraciones precedentes.

6.2.Campos de Aplicación Los campos de aplicación de las redes neuronales artificiales son variados y están planteados en distintos trabajos de investigación, como el desarrollado Cinca y Gallizo Larraz. Una clasificación de los tipos de aplicaciones de las redes puede ser:

58

❖ Para optimización: Determinan la solución de un problema tal que sea aceptable. Generalmente, se aplican redes retroalimentadas como la de Hopfield [Hopfield, 1982; Fausett, 1994] y se utilizan en campos como el manejo de niveles de tesorería, existencias, producción, etc.

❖ Para reconocimiento: En este caso se entrena a las redes para lograr detectar patrones específicos, como pueden ser sonidos, números, letras, lenguaje humano escrito en general y representar el resultado en código ASCII, UNICODE o cualquier otro.

❖ Para generalización: Se entrena la red con casos reales y después se la utiliza para evaluar casos futuros. Especialmente se la utiliza en la clasificación (clustering) o predicción de un elemento nuevo dentro de grupos existentes. Imagen 33 resume los campos de utilización de las redes neuronales artificiales con éxito.

Imagen 32: Campos de aplicación de las redes neuronales artificiales Fuente: Universidad de Buenos Aires -Fernando Sagueiro.

59

Se puede agregar, a modo de ejemplo, más campos a la imagen 32, como lo son las apuestas y los juegos de azar, donde se debe analizar para determinar las cotizaciones o premios de las distintas opciones; en la agricultura para detectar, por medio de procesamiento de imágenes, frutas y hortalizas en mal estado; en química, para identificar estructuras cristalinas de proteínas que se encuentran en imágenes de microscopio electrónico y en la industria en general, para los procesos de obtención de hierro y acero, manejo de stocks etc. la lista se extiende a muchos campos más que no vale la pena exponer aquí. En la imagen 33 se exponen las principales topologías de redes, los investigadores que las desarrollaron y su fecha de aparición.

Imagen 33: Topologías de redes e hitos ordenados cronológicamente. Fuente: Universidad de Buenos Aires -Fernando Sagueiro.

7. SISTEMAS TUTORES INTELIGENTES Guardia Robles [Guardia Robles, 1993] resume un conjunto de características que deben cumplir todos los Sistemas Tutores Inteligentes (STI):

60



Deben ser “inteligentes” en comparación con los sistemas tradicionales de instrucción por computadora (CAI), siendo el diferencial de inteligencia los métodos de la rama de la Inteligencia Artificial (IA).



Deben poseer la capacidad tanto para resolver el problema que se le presenta a un estudiante como también la capacidad de explicar como lo resolvió.



Como en los CAI tradicionales, permiten una mayor in dividualización en la instrucción, llegando más lejos, a través del entendimiento de las metas y creencias del estudiante.



Se usan técnicas de Inteligencia Artificial para planeación, optimización y búsquedas, dejando que el sistema decida el orden de presentación del contenido al alumno.



La interacción puede ser muy variada en un STI: desde sistemas pasivos (que esperan para que el alumno realice una acción), hasta los que constantemente presentan nueva información (tutor oportunista), con casos intermedios en los que se enseña un concepto en un momento determinado o solo cuando el alumno lo pide.



Utilizan nuevas tecnologías, con los ejemplos de interfaces orientadas a la utilización de multimedia y del WWW.



No basta con indicarle un error al estudiante, el sistema debe hacer hipótesis basadas en el historial de errores del alumno y detectar la fuente del problema.

7.1.Arquitectura y Componentes Los Sistemas Tutores Inteligentes (STI) tienen como principal objetivo impartir la enseñanza de un contenido dado un dominio en la forma más adecuada a las necesidades individuales del alumno. Estos sistemas se basan en una arquitectura compuesta por tres grandes módulos: el módulo del tutor, el módulo del alumno y el módulo del dominio [Villareal et al., 2001].

61

Podría agregarse un cuarto módulo denominado el módulo de evaluación y, un quinto denominado módulo de interface y el ecosistema propuesto por Cataldi [Cataldi, 2004].

1. Módulo del Alumno: Este módulo debe representar el estado inicial del alumno y sus características individuales, entre ellas una de las más importantes es el conocimiento individual instantáneo sobre el dominio [Villareal Goulart et al., 2001]. Guardia Robles [Guardia Robles, 1993] lo define como: “El modelo del estudiante, que refleja cuánto conoce el estudiante sobre el dominio, así como las experiencias cognitivas y de aprendizaje que ha llevado, del cual puede obtenerse un diagnóstico.”

2. Módulo del Tutor: Este módulo posee el conocimiento sobre las estrategias y tácticas de enseñanza para poder seleccionarlas en función de las características del alumno, que están almacenadas en el modulo del alumno [Villareal Goulart et al., 2001]. Pero debe ir más allá de la experiencia en el dominio, ya que debe ofrecer a cada estudiante un método de enseñanza de acuerdo con sus necesidades.

3. Módulo del Dominio: Este módulo posee el conocimiento de la materia formado por las reglas de producción, estereotipos, etc. De aquí el módulo tutor obtiene el conocimiento que debe enseñar [Villareal Goulart et al., 2001]. Definido como “El modelo experto o del dominio, el cual versa sobre la materia o curso que se impartirá” [Guardia Robles, 1993].

4. Módulo de Evaluación: Se encarga de realizar una evaluación general del sistema y generar estadísticas acerca de los avances de los estudiantes; pudiendo

62

efectuar el diagnóstico evolutivo luego de cada uno de los estados considerados, de este modo podría también predecir el comportamiento en los eventos futuros. La evaluación de los estudiantes debe ser constante y durante la carga del proceso, con instancias de autoevaluación. También se deberán generar informes a utilizar para evaluar al sistema como método apto de enseñanza.

5. Módulo de Interface: Es la interface de interacción entre el STI y el alumno real, que se encarga de presentar el material del dominio y cualquier otro elemento didáctico de la manera correcta [Villareal Goulart et al., 2001]. “La interface, que permite a los usuarios interactuar con el sistema. Se distinguen tres tipos específicos de usuarios: el Estudiante, el Instructor, y el Desarrollador del sistema.”[Guardia Robles, 1993]. Para su diseño pueden seguirse los criterios ergonómicos basado en el estándar ISO 9241 para Human Computer Interface (HCI) u otros similares.

Los primeros tres módulos conforman la arquitectura clásica propuesta por Carbonell [Carbonell, 1970] y también funcional de los STI [Villareal Goulart et al., 2001] se pueden ver en la imagen 34. Esta postura presentó grandes avances en el modelado de ambientes educativos, ya que separó el dominio de la forma en la que éste es utilizado [Villareal Goulart et al., 2001].

63

Imagen 34: Estructura clásica de un Sistema Tutor Inteligente propuesta por Carbonell [Carbonell, 1970]. Fuente: Universidad de Buenos Aires Fernando Sagueiro.

Existen visiones no clásicas de los Sistemas Tutores Inteligentes (STI), como lo es la propuesta de arquitectura general en Clancey [Clancey, 1991] la cual puede resumirse de la siguiente manera:

❖ Son dos sistemas expertos: Uno encargado de diagnosticar el estado actual del alumno y otro encargado de decidir la mejor forma de retroalimentarlo en el momento actual, cumpliendo el rol de asesor. ❖ Poseen un sistema experto de diagnóstico: Con un algoritmo de decisión sobre la mejor estrategia de retroalimentación, basado en una representación del conocimiento sobre el estado cognitivo del alumno.

7.2.Módulo del Alumno El diseño del modelo del estudiante se centra, según Barr [Barr et al., 1983] alrededor de las preguntas: ¿Qué es lo que se desea que el estudiante sepa acerca del mecanismo de resolución de una problemática? ¿Qué tipos de conocimientos debe tener un estudiante para poder resolver un problema de operación o reparación del mecanismo? De manera que el módulo del estudiante deberá tener conocimientos acerca de [Sierra et al., 2003]:

64



Los componentes del mecanismo para la resolución de un problema.



La operación de los componentes del mecanismo.



La interrelación entre los componentes del mecanismo.



La operación del mecanismo.

Si un estudiante elige examinar un componente en particular, entonces se asume que el estudiante conoce algo acerca del componente. Dado el contexto del problema, la selección de un componente es de algún modo una confirmación o no, de que el estudiante comprende lo que el componente hace y cómo se relaciona con otros componentes en la operación del mecanismo. Es decir que cada vez que el estudiante chequea, manipula o examina un componente, indica de algún modo lo que él conoce o desconoce acerca de la operación del mecanismo. La función central del módulo del estudiante, para Sierra [Sierra et al., 2003] se puede resumir en el siguiente párrafo: “Para realizar inferencias acerca de lo que el estudiante conoce, es necesario interpretar o hacer presunciones en base a las acciones del estudiante. Estas interpretaciones constituyen la parte central en el desarrollo del modelo del estudiante en el diseño de un Sistema Tutor Inteligente.”

Por lo tanto, es importante conocer el estado y el estilo de aprendizaje de cada uno de los alumnos para que el módulo tutor pueda tomar las decisiones pedagógicas correctas. Ésta es una de las salidas más importantes del módulo del alumno y una de las entradas del módulo tutor. El módulo tutor, luego, realimentará las técnicas utilizadas, los temas expuestos en el dominio y los resultados obtenidos para que se pueda actualizar la representación del estado del conocimiento del alumno.

65

7.2.1. Estilo de Aprendizaje El estilo de aprendizaje puede definirse como la forma en que un individuo aprende, y debido a que las personas tienen diferentes estilos de aprendizaje, éstos se reflejan las diferentes habilidades, intereses, debilidades y fortalezas académicas [Figueroa et al., 2004]. Diferentes investigadores [Felder, 1998] presentan distintas formas para reconocer los estilos de aprendizaje de los estudiantes. Una definición de los estilos de aprendizaje puede plantearse como “los rasgos cognitivos, afectivos y fisiológicos que sirven como indicadores relativamente estables, de cómo los alumnos perciben interacciones y responden a sus ambientes de aprendizaje [Keefe, 1988]. Por lo tanto se requiere una variedad de mediciones para evaluar los estilos de aprendizaje de los distintos estudiantes y determinar su potencial de éxito en una carrera de Ingeniería [Figueroa et al., 2004]. La mayoría de los autores idearon instrumentos para la detección de los estilos de aprendizaje de los alumnos. En la siguiente sección se detallan las herramientas utilizadas para la toma de datos necesarios para la verificación de las diferentes hipótesis planteadas en esta tesis. 7.2.2. Planilla de Estilos de Aprendizaje A continuación, se muestra la plantilla de estilos de aprendizaje que se utilizó para la recolección de los datos de los estudiantes. Estas planillas están confeccionadas por once grupos de cuatro preguntas cada uno. Cada pregunta está orientada para clasificar al estudiante en los distintos grupos resultantes de la clasificación de Felder [Felder, 1998], que son: •

Tareas activas – Tareas de reflexión: Forma de procesar la información.



Sensorial – Intuitiva (racional): Forma de percibir la información.



Visual – Verbal: Forma de presentar la información.



Secuencial – Global: Forma del proceso del aprendizaje.

66

La información que se busca no está relacionada directamente con las formas que describe Felder, sino que se busca la relación de los estilos de aprendizaje con los modos de enseñanza o protocolo pedagógico para las sesiones pedagógicas con el estudiante. La planilla utilizada consta de once grupos de cuatro preguntas cada uno con dos opciones de respuestas, así como también de datos adicionales que ayudaran a categorizar a los estudiantes. Estos datos son: •

Carrera: Se refiere a la carrera que el estudiante esta cursando actualmente.



Universidad: La institución donde cursa la carrera mencionada.



Año de ingreso: Es el año en la que comenzó el ciclo básico o similar.



Año que cursa: Según el plan de estudios vigente para la carrera seleccionada.



Edad: Del estudiante.



Sexo: Femenino o masculino.

Las planillas son anónimas en este punto del desarrollo, una vez categorizadas y realizada la inferencia para determinar los estilos pedagógicos más efectivos para los estudiantes, es decir que cada estudiante pueda seleccionarlo de acuerdo a su preferencia. Un usuario del Sistema Tutor Inteligente (STI) deberá llenar por primera vez la planilla para que el sistema realice una categorización inicial que luego podrá llegar a ser modificada a lo largo del tiempo por el comportamiento del estudiante dentro del sistema. Los estudiantes deben entregar la planilla con su nombre y número de padrón, pero en esta etapa del análisis se ignorará este dato.

67

CAPITULO III: EXPERIMENTACION-EJEMPLOS En este capítulo se presentan los resultados experimentales obtenidos por ambos métodos de entrenamiento. La sección 1 describe las características generales de los experimentos realizados, la manera en que se diseñaron los experimentos, y el objetivo perseguido por éstos. Luego, en la sección 2 se presentan los resultados obtenidos. Los resultados experimentales permitirán establecer una medida de comparación entre ambos métodos y determinar las características principales de cada uno de ellos. 1. DISEÑO EXPERIMENTAL Los experimentos realizados fueron diseñados con el objetivo de establecer las siguientes tres características: 1. Determinar la configuración óptima del algoritmo backpropagation (sección 2.1) 2. Determinar la configuración óptima del algoritmo de entrenamiento propuesto (sección 2.2) 3. Establecer una comparación directa entre ambos métodos (sección 2.3)

Para cada configuración en particular de un método de entrenamiento se realizaron un total de 50 experimentos. Se seleccionó esta cantidad de experimentos ya que permite determinar con precisión el tiempo promedio de entrenamiento de un método, así como también el grado de variación de los resultados con respecto a dicho valor promedio. Esta afirmación se hace extensiva al resto de las variables analizadas. Los resultados obtenidos se analizaron de la siguiente manera: se tomó como valor del método para una variable en particular al valor promedio sobre el total de experimentos realizados (50 corridas). Se utilizó el desvío estándar para determinar el grado de variación de los valores de la variable con respecto del valor medio.

68

Los valores individuales de cada experimento también se analizaron con el objetivo de realizar comparaciones entre distintas configuraciones. En este caso se estudió cual es el mejor valor obtenido por cada configuración. Sin embargo, este valor no fue tomado como un valor general del método ya que en muchos casos se presentaron grandes variaciones entre los valores obtenidos. Sólo fueron considerados para tener una medida del “mejor caso”. Los resultados presentados a lo largo de este capítulo fueron obtenidos tras más de 400 horas de entrenamiento. A continuación, se presenta un resumen del tiempo total de entrenamiento realizado por cada método, de acuerdo al objetivo de entrenamiento perseguido por el experimento:

Imagen 35: Distribución de los tiempos de entrenamiento Fuente: Universidad de Buenos Aires -Fernando Sagueiro.

1.1.El algoritmo Backpropagation El algoritmo Backpropagation se utilizó como medida de comparación para constatar la calidad del método propuesto. En la primera serie de experimentos se estudió el conjunto de parámetros que minimizan los tiempos de entrenamiento de este método. Los parámetros de configuración estudiados durante esta serie de experimentos fueron: 69



Tasa de aprendizaje



Tasa de momento



Rango de valores iniciales.

Los parámetros óptimos obtenidos durante esta primera etapa fueron utilizados luego para comparar los resultados obtenidos por este método con los resultados obtenidos por el algoritmo genético. El primer paso en la aplicación de este método consiste en la generación aleatoria del conjunto de pesos de la red neuronal. El valor de inicialización esta dado por una distribución uniforme, y cuyo rango de valores óptimos es un parámetro en estudio. Luego se procede a la aplicación del método utilizando las tasas de aprendizaje y de momento seleccionadas. La aplicación del algoritmo continuará hasta que la red alcance un nivel de error menor al umbral prefijado o cuando se hayan realizado una cantidad de ciclos predeterminada. Si la red alcanza un nivel de error menor al umbral prefijado se considera que el método fue capaz de entrenar la red. Caso contrario, se considera que la red no pudo ser entrenada. 1.2.El algoritmo Genético La segunda serie de experimentos tuvo como objetivo determinar cuales son los operadores genéticos y los parámetros de configuración que minimizan los tiempos de entrenamiento empleados por el algoritmo genético. Los parámetros y/o operadores estudiados en este caso fueron: •

Función de selección



Función de cruza



Tipo de mutación



Función de mutación y probabilidad de mutación



Función de inicialización y rango de valores iniciales 70

Dependiendo de los parámetros seleccionados la aplicación del método tendrá características propias. Sin embargo, una definición general del método es la siguiente:

1. Generar una población inicial. 2. Seleccionar los mejores individuos de la población 3. Cruzar los individuos de la población 4. Mutar aleatoriamente los individuos de la población 5. Evaluar a los individuos de la población resultante. 6. Si el nivel de error de la población es mayor al umbral prefijado, volver al paso 2

Los parámetros óptimos obtenidos durante esta etapa fueron utilizados luego para comparar los resultados obtenidos por este método con los resultados obtenidos por el algoritmo backpropagation.

1.3.El set de Entrenamiento El set de entrenamiento que se utilizará durante la evaluación del método propuesto debe presentar las siguientes características:

1. Debe poseer un elevado número de ejemplos. 2. Los ejemplos deben ser variados, y los atributos multivaluados. 3. El problema a resolver debe ser una aplicación real, de compleja resolución.

Las características mencionadas previamente responden a la necesidad de evaluar el método propuesto sobre aplicaciones reales. Al poseer un elevado número de ejemplos se podrá evaluar también la capacidad de generalización de la red obtenida.

71

El set de datos utilizado a lo largo de los experimentos realizados consiste en 690 solicitudes de tarjetas de créditos. Este problema, conocido como Australian Credit Card Problem, es altamente utilizado para la evaluación de métodos de entrenamiento [Blake y Merz, 1998]. El set de entrenamiento este compuesto de 690 ejemplos, cada uno de los cuales es una solicitud. Cada ejemplo posee 14 atributos que describen las características del solicitante, de los cuales 8 poseen valores discretos y 6 poseen valores numéricos. La salida de cada ejemplo puede pertenecer a una de dos clases, que indica la aprobación o no de la solicitud. Para facilitar el entrenamiento de la red neuronal, y disminuir los tiempos de entrenamiento, se realizó un preprocesamiento de estos ejemplos. A los atributos que toman valores continuos se los normalizó dentro del intervalo [0,1]. A los atributos que toman valores discretos se los dividió en N atributos, donde N representa la cantidad de valores que puede tomar el atributo. De esta manera se obtiene un set de datos de 690 ejemplos, con 47 atributos entradas y una única salida. Para poder evaluar las características de la red obtenida se particionó el set de datos en dos subsets: el subset de entrenamiento y el subset de evaluación. El primer subset se utilizó para realizar el entrenamiento de la red, mientras que el segundo subset se utilizó para evaluar la red obtenida. El particionamiento se realizó de manera tal que los subsets resultantes sean representativos, es decir, que posean las mismas características que el set original. Para la primera y segunda serie de experimentos se utilizó el mismo particionamiento del set de datos. Se toman aleatoriamente el 65% de los ejemplos para entrenamiento y se dejan un 35% de ejemplos para evaluación. Para realizar la comparación entre ambos métodos se particionó nuevamente el set de datos, tomando en este caso el 80 % de los ejemplos para entrenamiento. A continuación se presentan las características de cada set de datos:

72

Imagen 36: Características de los sets de datos. Fuente: Universidad de Buenos Aires -Fernando Sagueiro.

1.4.Evaluación del Método La evaluación del método propuesto se realizó comparando su performance con la obtenida por el algoritmo backpropagation. Se tomó como medida de comparación el error cuadrático medio por dos motivos. En primer lugar, el error cuadrático medio es inversamente proporcional a la performance de la red. Una red con bajo error cuadrático medio tiene una buena performance. El segundo motivo por el que se seleccionó esta unidad de medida es que puede ser calculada fácilmente en ambos métodos, sin introducir distorsiones sobre el valor obtenido.

Dado que ambos métodos trabajan con ciclos iterativos distintos (las redes neuronales lo hacen con epochs mientras que los algoritmos genéticos trabajan con generaciones) se seleccionó como unidad de medida para comparar tiempos entre ambos métodos al segundo. De esta manera, en todas las estadísticas se registran el tiempo en segundos desde el comienzo del entrenamiento, permitiendo realizar una comparación directa entre ambos métodos. Para poder establecer una medida real de comparación, al algoritmo backpropagation se le aplicarán el conjunto de técnicas para la aceleración del algoritmo descriptas antes.

73

1.5.Parámetros de los Algoritmos 1.5.1. Parámetros Fijos Estos parámetros permanecieron invariables a lo largo de los experimentos:



Cantidad de generaciones. Máxima cantidad de generaciones del algoritmo genético. Se tomó un valor máximo de 5000 generaciones.



Cantidad de individuos por generación. Cantidad de individuos que componen cada generación del algoritmo genético. Se tomó un valor de 30 individuos.



Probabilidad de cruza. Determina la probabilidad de que dos individuos se crucen e intercambien su material genético. Este parámetro está directamente relacionado con el salto generacional, que es la cantidad de individuos nuevos que conforman la población. Se tomó un valor de 1, por lo que entre dos generaciones sucesivas se renuevan completamente los individuos que la componen.



Cantidad de ciclos o epochs. Máxima cantidad de ciclos del algoritmo Backpropagation. Se tomo un valor máximo de 1000 epochs.



Error máximo admisible. Error cuadrático medio a partir del cual una red puede considerarse entrenada. Se tomó valor de 0.05 para las primeras dos series de experimentos y de 0.07 para la tercera serie.



Umbral de acierto. Es la diferencia máxima que puede existir entre el valor deseado y el valor obtenido por la red para que el ejemplo pueda ser considerado como acierto. Se tomo un valor máximo de 0.35.

74

1.5.2. Variables Independientes Estos variables fueron modificadas de acuerdo al objetivo de cada experimento:



Función de selección. Indica cual es la función de selección que se utiliza en el algoritmo genético.



Función de cruza. Denota cual es la función de cruza que se utiliza en el algoritmo genético.



Tipo de mutación. Determina la manera en que se aplica el operador mutación.



Función de mutación. Indica cual es la función de mutación que se utiliza en el algoritmo genético.



Función de inicialización. Define de que manera se conforma la generación inicial del algoritmo genético.



Probabilidad de mutación. Determina cual es la probabilidad de aplicar el operador de mutación.



Valor de inicialización. Define el rango de valores dentro del cual se generarán aleatoriamente los pesos iniciales de un cromosoma o una red neuronal.



Tasa de aprendizaje. Indica el tamaño del paso tomado en cada iteración. Define como se realizará el ajuste de los pesos entre ciclos sucesivos.



Tasa de momento. Permite disminuir el impacto de las oscilaciones en torno al punto mínimo cuando se utilizan tasas de aprendizaje altas.

1.5.3. Variables Dependientes El siguiente conjunto de variables depende de la configuración realizada sobre el algoritmo de entrenamiento. Se utilizan para medir la performance del método aplicado:

75



Tiempo de entrenamiento. Tiempo que transcurre desde el inicio del entrenamiento hasta el fin del mismo.



Error. Es el error cuadrático medio de una red neuronal. Para el caso del algoritmo genético se toma el mínimo de la generación.



Porcentaje de aciertos. Cantidad de ejemplos bien clasificados sobre el total de ejemplos evaluados.

1.6.Tipos de Gráficos Para mostrar los resultados obtenidos a lo largo de los experimentos realizados se utilizarán dos tipos de gráficos.



Gráficos de tendencia del error de entrenamiento: muestran, en función del tiempo, la tendencia logarítmica del error de entrenamiento. El error de entrenamiento se define como el error promedio obtenido para un instante de tiempo por las distintas corridas del método en análisis.



Gráficos de error de entrenamiento: muestran, en función del tiempo, la evolución del error de entrenamiento promedio.



Gráficos

de

aciertos.

Muestran

el

porcentaje

de

ejemplos

correctamente clasificados sobre el total de ejemplos evaluados. Se considera que un ejemplo es clasificado correctamente si la diferencia entre la salida deseada y la salida obtenida es menor al umbral de acierto. •

Gráfico de tiempos individuales de entrenamiento: Muestra para cada experimento en particular el tiempo total de entrenamiento.

76

2. EXPERIMENTOS 2.1.Red Neuronal El objetivo de esta serie de experimentos es determinar cuáles son los parámetros óptimos que permitan entrenar una red neuronal para el problema en cuestión. Para este grupo de experimentos se utilizó el primer set de datos. 2.1.1. Tasas de Aprendizaje y Momento Óptimos Descripción: Las tasas de aprendizaje y de momento determinan de qué manera se realizan las actualizaciones de los pesos entre iteraciones sucesivas. De acuerdo a las características de la topología y de los datos estas constantes suelen variar de problema en problema. Variables: Para la realización de los experimentos se utilizaron los siguientes parámetros: Tasa de aprendizaje (a) = {0.01, 0.05, 0.1, 0.25} Taza de momento (ß) = {0, 0.01, 0.05, 0.1} Resultados:

Imagen 37: Tiempos de entrenamiento. Tasa de aprendizaje=0.01 Fuente: Universidad de Buenos Aires -Fernando Sagueiro.

77

Imagen 38: Tendencias de error de entrenamiento. Tasa de aprendizaje=0.01 Fuente: Universidad de Buenos Aires -Fernando Sagueiro.

Imagen 39: Tiempos de entrenamiento. Tasa de aprendizaje=0.05 Fuente: Universidad de Buenos Aires -Fernando Sagueiro.

Imagen 40: Tendencia del error de entrenamiento. Tasa de aprendizaje=0.05 Fuente: Universidad de Buenos Aires -Fernando Sagueiro. 78

Imagen 41: Tiempos de entrenamiento. Tasa de aprendizaje=0.1 Fuente: Universidad de Buenos Aires -Fernando Sagueiro.

Imagen 42: Tendencia del error de entrenamiento. Tasa de aprendizaje=0.1 Fuente: Universidad de Buenos Aires -Fernando Sagueiro.

Imagen 43: Tiempos de entrenamiento. Tasa de aprendizaje=0.25 Fuente: Universidad de Buenos Aires -Fernando Sagueiro.

79

Imagen 44: Tendencia del error de entrenamiento. Tasa de aprendizaje=0.25 Fuente: Universidad de Buenos Aires -Fernando Sagueiro.

Imagen 45: Mejores tiempos individuales de entrenamiento. Tasa de aprendizaje=0.25 Fuente: Universidad de Buenos Aires -Fernando Sagueiro.

80

Interpretación de los Resultados: •

El uso de tasas de aprendizaje bajas lleva a una convergencia lenta del algoritmo. Sin embargo, permiten un descenso más estable sobre la superficie de error permitiendo localizar mejores mínimos. El porcentaje de convergencia a una solución es alto (Imagen 38, Imagen 37).



Al utilizar tasas de aprendizaje altas el algoritmo oscila alrededor de un mínimo, y no se estabiliza en una solución. El porcentaje de convergencia a una solución es bajo (Imagen 43, Imagen 44).



Al utilizar tasas de aprendizaje altas es preferible utilizar tasas de momentos bajas. Esto aumenta la estabilidad del algoritmo. Sin embargo, los resultados obtenidos siguen siendo malos (Imagen 44).



Los mejores tiempos de entrenamiento individuales se obtuvieron utilizando las tasas de aprendizaje 0.05 y 0.1 (Imagen 43).



Los mejores tiempos de entrenamiento promediados sobre el total de ejecuciones del algoritmo se obtuvieron utilizando una tasa de aprendizaje de 0.05 y una tasa de momento de 0.01 (Imagen 39).

2.1.2. Valores de inicialización Óptimos Descripción: Los experimentos presentados en esta sección tienen como objetivo encontrar cual es el rango de valores de inicialización que disminuye los tiempos de entrenamiento. Variables: Los rangos estudiados fueron los siguientes: Rangos = {[-0.01, 0.01]; [-0.1, 0.1]; [-1, 1]; [-5, 5]}

81

Resultados:

Imagen 46: Tiempos de entrenamiento. Valor de Iniciación de la Red Neuronal. Fuente: Universidad de Buenos Aires -Fernando Sagueiro.

Imagen 47: Tiempos del error de entrenamiento. Valor de Iniciación de la Red Neuronal. Fuente: Universidad de Buenos Aires -Fernando Sagueiro.

Imagen 48: Mejores tiempos individuales de entrenamiento. Fuente: Universidad de Buenos Aires -Fernando Sagueiro. 82

Interpretación de los Resultados: •

El uso de valores de inicialización muy altos evita que la red sea capaz de alcanzar un nivel de entrenamiento adecuado (Imagen 46, Imagen 47).



El uso de valores de inicialización muy bajos aumenta el tiempo necesario de entrenamiento (Imagen 46).



Los mejores tiempos de entrenamiento promediados sobre el total de ejecuciones se obtuvieron para el rango de inicialización [-1,1]. Esta característica se observa también si se analizan cada una de las ejecuciones (Imagen 46, Imagen 48).

2.2.Algoritmos genéticos El objetivo de esta serie de experimentos es determinar cuáles son los parámetros de configuración del algoritmo genético óptimos que permitan entrenar una red neuronal para el set de datos analizado. Para este grupo de experimentos se utilizó el primer set de datos. 2.2.1. Función de Selección Descripción: El objetivo del operador de selección es elegir los individuos de la población que tengan mayor grado de adaptación. Variables: A lo largo de esta sección se analizan cuatro funciones de selección diferentes: S = {Proporcional, Ruleta, Torneo, Ranking-Ruleta}

83

Imagen 49: Tiempo de Entrenamiento. Función de Selección. Fuente: Universidad de Buenos Aires -Fernando Sagueiro.

Imagen 50: Tendencia del Error de Entregamiento. Función de Selección Fuente: Universidad de Buenos Aires -Fernando Sagueiro.

Imagen 51: Mejores tiempos individuales de entrenamiento. Fuente: Universidad de Buenos Aires -Fernando Sagueiro. 84

Interpretación de los Resultados: •

Los tiempos promedio obtenidos por todas las funciones de selección analizadas son relativamente similares (Imagen 49, Imagen 50).



Los mejores tiempos individuales se obtuvieron utilizando los métodos de selección por torneo y selección proporcional (Imagen 49). Sin embargo, esta última no fue capaz de alcanzar el nivel de entrenamiento deseado en 2 ejecuciones (Imagen 49).



Los métodos de selección por torneo y ranking-ruleta muestran tiempos de convergencia bastantes similares a lo largo de las distintas ejecuciones. Esto se ve reflejado en el bajo desvió estándar que muestran sobre el total de corridas (Imagen 49).



La función de selección por torneo obtuvo, en promedio, los mejores tiempos de entrenamiento (Imagen 49).



Los resultados muestran que el método de entrenamiento es poco dependiente del operador de selección utilizado (Imagen 49, Imagen 50).

2.2.2. Función de Cruza Descripción: El objetivo del operador de cruza es recombinar el material genético de los individuos de una población para producir nuevos individuos. Variables: En esta sección se presentan los resultados obtenidos para cuatro operadores de cruza diferentes. C = {Probabilística, Uniforme, Simple, Multipuntos}

85

Resultados:

Imagen 52: Tiempos de Entrenamiento. Función de Cruza. Fuente: Universidad de Buenos Aires -Fernando Sagueiro.

Imagen 53: Tendencia del Error de entrenamiento. Fuente: Universidad de Buenos Aires -Fernando Sagueiro.

86

Imagen 54: Mejores tiempos individuales de entrenamiento. Fuente: Universidad de Buenos Aires -Fernando Sagueiro. Interpretación de los Resultados: •

Los tiempos promedio obtenidos por todas las funciones de cruza analizadas son muy similares (Imagen 52).



Se observa también que el desvío estándar del tiempo de entrenamiento es relativamente bajo (Imagen 52). Esta característica se debe a que los tiempos de entrenamiento permanecen similares entre las distintas ejecuciones del algoritmo.



Los mejores tiempos individuales se reparten entre los cuatro operadores. Todos los operadores son capaces de alcanzar un nivel de entrenamiento adecuado en tiempos similares (Imagen 54).



El algoritmo genético no pudo entrenar la red neuronal una única vez. Este caso se produjo utilizando la función de cruza probabilística (Imagen 52).



Los tiempos promedio obtenidos por la cruza uniforme son mejores que los obtenidos por el resto de los operadores analizados (Imagen 54, Imagen 53).



Los resultados muestran que el método de entrenamiento es poco dependiente del operador de cruza utilizado.

87

2.2.3. Función de Mutación Descripción: El objetivo del operador de mutación es alterar características de algunos individuos para garantizar la diversidad de la población. Variables: En esta sección se analizan los experimentos realizados para el estudio de tres operadores de mutación. Para cada uno de éstos se estudiaron también distintos rangos de variación de la probabilidad de mutación, y dos variantes para llevar a cabo la mutación: M = {Uniforme, Lineal Creciente, Lineal Decreciente} Tipo de Mutación = {Numérica, Binaria} Resultados:

Imagen 55: Tiempo de Entrenamiento. Función de mutación numérica. Fuente: Universidad de Buenos Aires -Fernando Sagueiro.

88

Imagen 56: Tendencias del Error de entrenamiento. Función de mutación numérica lineal creciente. Fuente: Universidad de Buenos Aires Fernando Sagueiro.

Imagen 57: Tendencias del Error de entrenamiento. Función de mutación numérica lineal decreciente. Fuente: Universidad de Buenos Aires Fernando Sagueiro. 89

Imagen 58: Tendencias del Error de entrenamiento. Función de mutación numérica uniforme. Fuente: Universidad de Buenos Aires -Fernando Sagueiro.

Imagen 59: Tiempos de entrenamiento. Función de mutación binaria. Fuente: Universidad de Buenos Aires -Fernando Sagueiro.

90

Imagen 60: Tendencias del Error de entrenamiento. Función de mutación binaria lineal creciente. Fuente: Universidad de Buenos Aires -Fernando Sagueiro.

Imagen 61: Tendencias del Error de entrenamiento. Función de mutación binaria lineal decreciente. Fuente: Universidad de Buenos Aires Fernando Sagueiro.

91

Imagen 62: Tendencias del Error de entrenamiento. Función de mutación binaria uniforme. Fuente: Universidad de Buenos Aires -Fernando Sagueiro.

Interpretación de los resultados: •

La mutación numérica es ampliamente superior a la mutación binaria. Esto se observa claramente en los porcentajes de entrenamiento alcanzados por cada uno de ellas (Imagen 55, Imagen 59).



El uso de mutación binaria demostró no ser una buena opción. Ninguna de las implementaciones logró superar el 90 % de entrenamientos exitosos (Imagen 59).



Para mutaciones binarias, el uso de tasas de mutación uniformes demuestra una amplia superioridad sobre los otros dos tipos de funciones de mutación estudiadas, cuyos resultados no superaron en ningún caso el 60 % de entrenamientos exitosos (Imagen 59).

92



Dentro de las funciones de mutación numérica estudiadas se observa que disminuir la tasa de mutación a medida que avanzan las generaciones no es una buena opción. Los mejores porcentajes de entrenamiento se obtuvieron manteniendo una tasa de mutación constante a lo largo de las diferentes generaciones. A su vez, el uso de tasas de mutación crecientes produjo los mejores tiempos promedio de entrenamiento, con un porcentaje de convergencia levemente inferior a la mutación uniforme (Imagen 55).



La función de mutación numérica lineal creciente, con probabilidades variando entre un 2% y un 4% mostró los mejores tiempos promediados sobre el total de ejecuciones. Sin embargo, otras implementaciones del operador de mutación muestran resultados comparables con los obtenidos por esta implementación (Imagen 55).



El operador de mutación presenta mayor variación de resultados entre las distintas implementaciones que el resto de los operadores estudiados.

2.2.4. Valores de Inicialización Descripción: Los experimentos presentados en esta sección tienen como objetivo encontrar cual es el rango de valores de inicialización que disminuye los tiempos de entrenamiento. Se estudian a su vez dos operadores de inicialización diferentes. Variables: Los operadores rangos estudiados fueron los siguientes: Tipo Inicialización = {Random, Random Selectiva} Rangos = {[-0.01, 0.01]; [-0.1, 0.1]; [-1, 1]; [-5, 5]}

93

Resultados:

Imagen 63: Tiempos de entrenamiento. Iniciación Random. Fuente: Universidad de Buenos Aires -Fernando Sagueiro.

Imagen 64: Mejores tiempos individuales de entrenamiento. Fuente: Universidad de Buenos Aires -Fernando Sagueiro.

Imagen 65: Tendencias del Error de Entrenamiento. Iniciación Random. Fuente: Universidad de Buenos Aires -Fernando Sagueiro. 94

Imagen 66: Tiempos de entrenamiento. Iniciación Random selectiva. Fuente: Universidad de Buenos Aires -Fernando Sagueiro.

Imagen 67: Mejores tiempos individuales de entrenamiento. Fuente: Universidad de Buenos Aires -Fernando Sagueiro.

Imagen 68: Tendencias del Error de entrenamiento. Iniciación Random selectiva. Fuente: Universidad de Buenos Aires -Fernando Sagueiro.

95

Interpretación de los Resultados:



El uso de ambos tipos de inicialización no muestra grandes diferencias. La ventaja de preseleccionar algunos valores de inicialización sólo se observa al utilizar grandes valores de inicialización (Imagen 63, Imagen 66).



El uso de grandes valores de inicialización muestra resultados pobres. Por su parte, se obtuvieron buenos resultados al hacer uso de valores de inicialización medios y bajos (Imagen 63, Imagen 66, Imagen 65, Imagen 68).



A diferencia de las redes neuronales, los algoritmos genéticos muestran mayor inmunidad a las condiciones de inicialización. Esto se observa en la paridad general en los tiempos de entrenamiento promedio obtenidos por los distintos métodos. El pequeño desvío Standard de los tiempos promedio de entrenamiento también es una buena medida de dicha inmunidad (Imagen 63, Imagen 66).



Los mejores tiempos individuales de entrenamiento se obtuvieron utilizando valores iniciales dentro del rango [-1 , 1]. Esta característica se hace más notoria al usar inicialización puramente



aleatoria, aunque también se observa en menor medida al usar pesos preseleccionados (Imagen 64, Imagen 67).



Lo dicho anteriormente impacta directamente sobre los resultados generales, donde el uso de valores en el rango [-1 , 1] mostró un leve superioridad sobre el resto (Imagen 63, Imagen 66).

96

2.3.Comparación de Ambos Métodos Descripción: Los resultados presentados en esta sección son los más importantes del capítulo ya que permiten establecer una medida de comparación entre ambos métodos de entrenamiento. Para este conjunto de experimentos se utilizaron las configuraciones óptimas obtenidas de los experimentos anteriores. Se utilizó también un segundo set de datos, más rico en ejemplos y que permite tener una mejor medida de la capacidad de entrenamiento y generalización del método. Resultados:

Imagen 69: Comparación de tiempos de entrenamiento. Fuente: Universidad de Buenos Aires -Fernando Sagueiro.

Imagen 70: Comparación de la tendencia del error de entrenamiento. Fuente: Universidad de Buenos Aires -Fernando Sagueiro. 97

Imagen 71: Comparación de error de entrenamiento. Fuente: Universidad de Buenos Aires -Fernando Sagueiro.

Imagen 72: Mejores tiempos individuales de entrenamiento. Fuente: Universidad de Buenos Aires -Fernando Sagueiro.

98

Imagen 73: Tiempos individuales de entrenamiento. Fuente: Universidad de Buenos Aires -Fernando Sagueiro.

Imagen 74: Comparación de la cantidad de aciertos. Fuente: Universidad de Buenos Aires -Fernando Sagueiro.

Imagen 75: Comparación de la cantidad de aciertos. Fuente: Universidad de Buenos Aires -Fernando Sagueiro. 99

Imagen 76: Mejores Porcentajes de aciertos sobre el set de entrenamiento. Fuente: Universidad de Buenos Aires -Fernando Sagueiro.

Imagen 77: Mejores porcentajes de aciertos sobre el set de validación. Fuente: Universidad de Buenos Aires -Fernando Sagueiro. Interpretación de los resultados: •

De la comparación directa de los tiempos de entrenamiento promedio se observa una marcada superioridad de los algoritmos genéticos por sobre las redes neuronales. El tiempo promedio de entrenamiento del método propuesto es un aproximadamente un 40% menor que el obtenido por el algoritmo backpropagation. Esta característica se observa claramente en la imagen 73, 100

donde se presentan los tiempos individuales de entrenamiento para cada una de las corridas. En el mismo gráfico se observa que los tiempos obtenidos por el algoritmo genético presentan menor variación que los obtenidos por la red neuronal. Estos valores se pueden observar cuantitativamente en la imagen 69. •

La imagen 70 muestra la tendencia del error promedio en el tiempo. Se observa que en el método propuesto tiene tendencia a acercarse rápidamente a la solución. En la imagen 71, que muestra la evolución del error promedio de entrenamiento, se observa que durante los primeros instantes de entrenamiento se produce una aproximación rápida, que luego se vuelve en una lenta aproximación, cuando se acerca demasiado a la solución. Se observa que el algoritmo es estable, mostrando un descenso prácticamente continuo del error promedio.



Cuando se estudian las redes neuronales se observa que en general la tendencia del error promedio presenta el mismo comportamiento que el método propuesto. Sin embargo, la curva del error se muestra siempre por encima de la de los algoritmos genéticos, llevando a una



convergencia más lenta del algoritmo de entrenamiento. A su vez, en la imagen 71 se observa que el método presenta menor estabilidad en el descenso del error, mostrando bruscas variaciones del error.



Si observamos los tiempos individuales de entrenamiento, se ve que los mejores 20 tiempos individuales corresponden al algoritmo genético. Esta característica se observa gráficamente en la imagen 73, donde se presentan los tiempos individuales de entrenamiento para cada una de las corridas. Los valores de los mejores 20 tiempos individuales de entrenamiento se presentan en la imagen 72.

101



Si se estudian los porcentajes de aciertos promedios de ambos métodos se observa una leve superioridad de las redes neuronales por sobre los algoritmos genéticos. Sin embargo, como se muestra en la imagen 75, esta superioridad no es muy notoria ya que representa menos del 1% de diferencia. Estos valores se observan cuantitativamente en la imagen 74.



Esta paridad en cuanto a los porcentajes de aciertos promedio se observa nuevamente al estudiar el porcentaje de acierto individual para cada una de las corridas. En la imagen 76 se muestran los mejores porcentajes de aciertos obtenidos sobre el set de datos de entrenamiento. Como se puede observar existe una alta paridad entre ambos métodos. Análogamente, en la imagen 77 se muestran los mejores porcentajes de acierto sobre el set de datos de validación. De la lectura de la misma se extiende que ambos métodos poseen capacidades de generalización similares.

102

CAPITULO IV: CONCLUSIONES 1. CONCLUSIONES ¿Como influyen los parámetros del algoritmo backpropagation en el aprendizaje de la red? El algoritmo backpropagation se caracteriza por su alta dependencia a los parámetros seleccionados. La manera en que se ajustan los pesos sinápticos esta determinada por la tasa de aprendizaje y la tasa de momento. El uso de tasas bajas en general lleva a aprendizajes lentos, con un alto riesgo de quedar atrapados en mínimos locales. Por su parte, si se utilizan tasas de aprendizaje grandes se aceleran los tiempos de entrenamiento, pero se corre el algoritmo oscile en torno a la solución sin lograr estabilizarse en la misma. En la primera serie de experimentos se observan las características mencionadas previamente. El estudio de diversas combinaciones de parámetros permitió determinar cual era la combinación óptima para el problema estudiado. Estos parámetros óptimos luego fueron utilizados para comparar el algoritmo backpropagation con el algoritmo genético. ¿De qué manera influyen los valores de inicialización en el aprendizaje utilizando el algoritmo backpropagation? Otra cuestión importante a resolver en el algoritmo backpropagation es de qué manera se genera la red inicial. La forma más habitual de hacerlo es aleatoriamente, con valores obtenidos a través de una distribución uniforme definida dentro de un rango determinado. En la segunda serie de experimentos se estudiaron distintos valores de inicialización y se observó que nuevamente el proceso de aprendizaje se ve fuertemente influenciado por los valores seleccionados. Los resultados obtenidos variaron no sólo en el tiempo necesario para alcanzar un nivel de entrenamiento adecuado sino también en el porcentaje de entrenamiento alcanzado.

103

2. BIBLIOGRAFIA



Fernando Izaurieta y Carlos Saavedra Departamento de Física, Universidad de Concepción, Concepción, Chile



Tesis-Universidad de Buenos Aires -Fernando Sagueiro.



Redes Neuronales Artificiales, Monografías vinculadas con la conferencia del Profesor Dr. Eduardo Mizraji.



Entrenamiento de Redes Neuronales basado en Algoritmos Evolutivos-Tesis de grado de Ingeniería Informática. Luis Federico Bertona.



Redes Neuronales, Conceptos básicos y aplicaciones-Carlos Alberto Ruiz y Marta Susana Basualdo.

104