Você está na página 1de 104

“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
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
4. 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. Estructura y Notación General .............................................................................. 48
5. RED BACKPROPAGATION................................................................................................ 50
5.1. Funcionamiento de las Redes Backpropagation........................................................... 53
6. 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
7. 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. Tipos de Gráficos ............................................................................................................ 76
2. 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 𝑦 (𝑖𝑛) <0,

en la otra se tendrá que y =1 e 𝑦 (𝑖𝑛) ≥ 0. La frontera entre ambas está dada por la ecuación

lineal de la recta:

𝒘𝟎 + 𝒘𝟏𝒙𝟏 + 𝒘𝟐𝒙𝟐 = 𝟎

(8)

Veamos por ejemplo que ocurre con la función And. Tenemos que 𝑦 (𝑖𝑛) = x1+x2-2, la

frontera es x1+x2=2. Si superponemos las respuestas que nos debe arrojar la red con el

gráfico de las regiones, obtenemos la imagen siguiente.

Imagen 12: And sobre el plano. Fuente: Fernando Izaurieta y Carlos


Saavedra Departamento de Física, Universidad de Concepción,
Concepción, Chile.

32
Si la entrada está en la región “Clase 1” producirá una salida 1, si está en la “Clase 0”, una

salida de 0. Vemos que se pueden separar las entradas que deben producir una salida 1 de las

que deben producir una salida 0 por una línea recta. Se dice entonces que el problema es

linealmente separable. Para resolver un problema linealmente separable, nos basta con una

red “sencilla”.

Revisemos en cambio, como es la función xOr sobre el plano:

Imagen 13: xOr sobre el plano. Fuente: Fernando Izaurieta y Carlos


Saavedra Departamento de Física, Universidad de Concepción,
Concepción, Chile.

Mediante simple inspección podemos comprobar que efectivamente es imposible encontrar

una línea recta que deje a un lado las entradas que deben producir 0, y al otro, las que deben

producir 1. En este caso, decimos que el problema no es linealmente separable. Por eso no

nos basta con una red “sencilla” para resolver el xOr.

Lo que en realidad estamos haciendo es un caso muy sencillo del problema general de

clasificación de patrones. Estamos clasificando las entradas en “Clase 1” o “Clase Verdadera”

33
y “Clase 0” o “Clase Falsa”. El concepto de separabilidad lineal se extiende de modo natural a

entradas de más dimensiones. Las entradas que pertenecen a una clase y las que no pertenecen

a esta simplemente tienen que poder separarse por el hiperplano ∑𝑛𝑖=0 𝑤𝑗 𝑥𝑖 = 0 en el espacio

x de las entradas.

Imagen 14: Separabilidad Lineal. Fuente: Fernando Izaurieta y Carlos


Saavedra Departamento de Física, Universidad de Concepción,
Concepción, Chile.
Para aclarar el concepto de redes sencillas primero revisaremos otro concepto: las Capas

Neurales.

3.4.2. Capas Neutrales

Cuando trabajamos con grandes cantidades de neuronas, es natural ordenar aquellas que tienen

comportamientos similares en “capas”, como en la figura 14. De ahí que se usen los subíndices

para las neuronas. Cada capa es un vector de neuronas.

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

Se acostumbra no contabilizar la capa de entrada, por lo tanto, se dice que la red de la imagen

15 es “Unicapa”. Las sinapsis obviamente están ordenadas en una matriz wji de n x (m+1).

Evidentemente, de nuestro análisis anterior, tenemos que una red unicapa sólo puede resolver

problemas linealmente separables. En una red unicapa, las neuronas de salida pueden ser

lineales o no lineales.

Pero es evidente que podemos seguir añadiendo capas, como se muestra en la imagen siguiente.

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

En una red multicapa, las capas ocultas, que en nuestra figura corresponde a la Capa 2,

siempre son no lineales. Se puede demostrar muy fácilmente que si se construye una red

multicapa con capas ocultas lineales, ésta es equivalente a una red Unicapa.

Podemos ver fácilmente la idea de paralelismo al observar las capas de las redes. Cada

neurona de una capa no necesita de las demás en su misma capa para trabajar, son capaces por

lo tanto de trabajar simultáneamente. Esta cualidad se ha aprovechado al diseñar chips paralelos

con la nueva tecnología VLSI (Very Large Scale Integrated), en donde se han implementado

varios tipos de neuroredes.

Una red multicapa es capaz de resolver problemas más complejos, pero su proceso de

aprendizaje también es más complicado.

36
4. APRENDIZAJE O ENTRENNAMIENTO

El aprendizaje es la clave de la plasticidad de una neurored y esencialmente es el proceso en el

que se adaptan las sinapsis, para que la red responda de un modo distinto a los estímulos del

medio. Recordemos que, en una neurored, toda la información adquirida se guarda en el valor

de cada peso sináptico. De hecho, las neuronas de la mayor parte de los seres vivos con sistema

nervioso, desde un caracol hasta el hombre son esencialmente iguales. Lo que nos hace más

inteligentes que un caracol es el número, organización y modo de cambio de las conexiones

sinápticas. El aprendizaje se divide principalmente en dos tipos: Aprendizaje con Profesor o

Supervisado y sin Profesor o No Supervisado. Nosotros sólo estudiaremos aprendizaje con

profesor y algunas variantes de éste.

4.1.Aprendizaje con Profesor o Supervisado

El proceso es completamente análogo a enseñarle algo a un niño, digamos por ejemplo, a

reconocer las vocales. Los pasos del proceso son los siguientes:
𝑁
El profesor dispone de un conjunto de N pares de entrenamiento, {𝑥𝑖 (𝑛); 𝑑𝑗 (𝑛)} 𝑛=1, en donde

x1 (n) es la n-ésima entrada y dj (n) es la respuesta correcta a esa entrada. En nuestro ejemplo,

significa que tenemos todas las vocales dibujadas en un papel (x (n)) y que nosotros sabemos

las respuestas correctas (dj (n)) a cada una de las figuras, los sonidos A, E, I, O, U.

Introducimos una de las entradas xi (n) y esperamos que nuestra red nos responda. Sería como

mostrarle al niño la letra A y preguntarle: “Dime, ¿Qué letra es esta?”.

La neurored responde mediante una salida oj (n). Digamos, el niño nos respondió “Esa es una

E”.

Luego comparamos ambas señales, la respuesta deseada dj (n) y la respuesta de la red oj (n),

creando una señal de error, ej (n)=dj (n) -oj (n). “Mmm...el niño no está tan despierto como

esperaba...”.

37
Luego, con la señal de error ej (n), corrijo las sinapsis de la red mediante algún algoritmo de

los que se verá a continuación. “No hijo, esta no es una E, es una A...”.

Imagen 17: Aprendizaje con Profesor o Supervisado. Fuente: Fernando

Izaurieta y Carlos Saavedra Departamento de Física, Universidad de

Concepción, Concepción, Chile.

La secuencia completa de los N pares de entrenamiento es conocida como una Época. En

general, pueden haber muchas épocas, y el aprendizaje se detiene cuando la red responda

correctamente a todos los pares de entrenamiento. En general, cuando adaptemos las sinapsis,

la forma de hacerlo será mediante la siguiente ecuación:

𝒘𝒋 𝒊 (𝒏 + 𝟏) = 𝒘𝒋 𝒊 (𝒏) + ∆𝒘𝒋 𝒊 (𝒏)

(9)

en donde wj i (n) son los pesos sinápticos con los que la red responderá al n-ésimo ejemplo.

Esto equivale a no cambiar los pesos sinápticos en forma radical, sino que simplemente los

variamos en una cantidad “pequeña” ∆wj i (n) con respecto a su estado anterior. Lo que

diferencia a los algoritmos o reglas de aprendizaje, es básicamente como encontrar ∆wj i (n).

El que hayan distintos algoritmos tiene cierta base biológica. Neuronas de distintas partes del

cerebro aprenden de forma distinta también.


38
4.2.Regla de Hebb

Esta es la más antigua y la más famosa de las reglas de aprendizaje, su base es completamente

biológica. Fue encontrada por el neurofisiologo Hebb en 1949, quien descubrió que si dos

neuronas a ambos lados de la sinapsis estaban activas (o inactivas) simultáneamente, entonces

las sinapsis entre ellas se reforzaban, y si se activaban (o desactivaban) asincrónicamente, se

debilitaban. Una forma de expresar esta idea de forma sencilla es la siguiente:

∆𝒘𝒋 𝒊 (𝒏) = 𝜼𝒚𝒋 (𝒏)𝒙𝒊 (𝒏), 𝜼>𝟎

(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

Você também pode gostar