Redes Neuronales Artificiales



Documentos relacionados
Introducción a Las redes Neuronales (Neurales) CO-6612

Redes Neuronales. Introducción a las redes neuronales Carlos Andrés Delgado S.

Perceptrones Fernando Berzal,

Inteligencia Artificial. Aprendizaje neuronal. Ing. Sup. en Informática, 4º. Curso académico: 2011/2012 Profesores: Ramón Hermoso y Matteo Vasirani

Profesor: Leonardo Franco Despacho Web:

REDES NEURONALES. Una esquema simplificado de una neurona se muestra en la siguiente figura. Cuerpo celular. Dendrita. Axón.

REDES NEURONALES ADAPTABLES

Capítulo 3 REDES NEURONALES Y SU APLICACIÓN EN LA INGENIERÍA SÍSMICA III. REDES NEURONALES Y SU APLICACIÓN EN LA INGENIERÍA SÍSMICA

Redes neuronales en control de sistemas

Redes neuronales. Conceptos fundamentales y modelos

Introducción a las Redes Neuronales

Redes Neuronales. Elementos básicos de las redes neuronales Carlos Andrés Delgado S.

Aprendizaje Automatizado. Redes Neuronales Artificiales

Análisis de Datos. Perceptrón multicapa. Profesor: Dr. Wilfrido Gómez Flores

Redes Neuronales Artificiales

Tema 3: Ðreas de la IA: Ejemplos de Investigaci n Actual (III) Redes Neuronales

PONTIFICIA UNIVERSIDAD CATOLICA DEL ECUADOR FACULTAD DE INGENIERIA ESCUELA DE SISTEMAS

CONCEPTOS BÁSICOS (Freeman capt.1; Neural Nets capt. 4,5 y 7)

Técnicas de inteligencia artificial. Aprendizaje: Perceptrón multi-capa

Redes Neuronales. Parte I. Facultad de Ciencias Exactas y Tecnología Universidad Nacional de Tucumán Mg. Ing. Gustavo E. Juárez

Aprendizaje: Perceptrón multi-capa

Reconocimiento automático de palabras en documentos históricos usando redes neuronales convolucionales

Redes Neuronales. Las redes neuronales son modelos computacionales que buscan imitar el funcionamiento

Introducción a las Redes Neuronales mediante el paquete neuralnet

Unidad VII Redes Neuronales

Procesamiento Digital de Imágenes. Pablo Roncagliolo B. Nº 20

Inteligencia Artificial (Curso ) Grado en Ingeniería Informática - Ingeniería del Software

LIM. Modelización del conjunto motor-transmisión de un automóvil a partir de datos experimentales. Trabajo final de grado

REDES NEURONALES INTELIGENCIA ARTIFICIAL II

Redes Neuronales. Parte II. Facultad de Ciencias Exactas y Tecnología Universidad Nacional de Tucumán Mg. Ing. Gustavo E. Juárez

Introducción a las Redes de Neuronas

Redes Neuronales Artificiales. MTI. Eduardo Cruz Romero

Tema: Aprendizaje Supervisado.

ANÁLISIS MULTIVARIANTE Y APLICACIONES (Postgrado en Economía)

Simulación de Redes Neuronales Artificiales: Una Herramienta para la Docencia en Castellano

Relación 7 - Redes neuronales

INVESTIGACIÓN OPERATIVA Redes Neuronales Artificiales y Aplicaciones INTEGRANTES: Armijos Mauricio Jara Iza Rony

Introducción a las Redes de Neuronas

4. El perceptrón. 4.1 Introducción. 4.2 Consideraciones básicas

Neurona. Células y Fibras nerviosas Célula Nerviosa. Sensoriales, motoras y de asociación Nucleo Actividades metabólicas Conexiones sinápticas

Área Académica: Instituto de Ciencias Básicas e Ingeniería, Sistemas Computacionales

Redes Neuronales Multicapa

INTRODUCTION TO MACHINE LEARNING ISABELLE GUYON

Tema 8: Redes Neuronales

Inteligencia Artificial II (Curso ) Ejercicios propuestos del tema 5

Las Redes Neuronales Artificiales y su importancia como herramienta en la toma de decisiones. Villanueva Espinoza, María del Rosario CAPÍTULO I

Redes Neuronales. Introducción. José Manuel Quero Reboul Dpto. Ingeniería Electrónica Universidad de Sevilla

Área Académica: Instituto de Ciencias Básicas e Ingeniería, Sistemas Computacionales. Tema: Introducción a las Redes Neuronales

ÍNDICE. Índice de figuras Índice de tablas INTRODUCCIÓN OBJETIVOS DEL PROYECTO... 21

Perceptrón Simple. Aspectos Prácticos y Algoritmos Redes Neuronales, DC-FCEyN-UBA. Rosana Matuk Primer Cuatrimestre 2018

Redes Neuronales Multicapa

TLU(s) MULTICAPAS. Se pueden implementar funciones en TLU con más de una capa.

Las Redes Neuronales Artificiales y su importancia como herramienta en la toma de decisiones. Villanueva Espinoza, María del Rosario CAPÍTULO V

Introducción a las Redes. Neuronales Artificiales

Inteligencia Artificial II

Sistema experto para el diagnóstico de enfermedades infecciosas del ganado vacuno

Tema 5: Introducción a las redes neuronales

Redes neuronales con funciones de base radial

El Perceptrón Multicapa

Tópicos Avanzados: Inteligencia Computacional I

Tema 2 Primeros Modelos Computacionales

REDES NEURONALES ARTIFICIALES EN PREDICCIÓN DE SERIES DE TIEMPO: UNA APLICACIÓN A LA INDUSTRIA

Redes Neuronales Artificiales El Perceptrón

Tema 9: Introducción a las redes neuronales

CAPÍTULO 3. Las redes neuronales artificiales, ANNs por sus siglas en inglés, son el resultado de varias

DISEÑO EXPERIMENTAL Y OPTIMIZACIÓN DE SISTEMAS CON MÚLTIPLES RESPUESTAS

Resumen. Este trabajo se divide principalmente en 2 partes:

Segmentación de una cartera de clientes usando aprendizaje de máquina

Detección Multiusuario para DS-CDMA basado en SVM

Raúl Finker de la Iglesia Director: Koldo Basterretxea Oyarzabal Universidad del País Vasco/Euskal Herriko Unibertsitatea

CAPÍTULO Inteligencia Artificial y Redes Neuronales Artificiales

ANEXO II.- TEORÍA SOBRE REDES NEURONALES ARTIFICIALES

Aux 6. Introducción a la Minería de Datos

Inteligencia Artificial. Redes Neurales Artificiales

Transcripción:

Redes Neuronales Artificiales Claudio Javier Tablada Germán Ariel Torres Resumen. Una Red Neuronal Artificial es un modelo matemático inspirado en el comportamiento biológico de las neuronas y en la estructura del cerebro, y que es utilizada para resolver un amplio rango de problemas. Debido a su flexividad, una única red neuronal es capaz de realizar diversas tareas. En este artículo aplicaremos las mismas para resolver tareas de clasificación en el plano. 1. Introducción. Una RNA (Red Neuronal Artificial) es un modelo matemático inspirado en el comportamiento biológico de las neuronas y en la estructura del cerebro. Esta también puede ser vista como un sistema inteligente que lleva a cabo tareas de manera distinta a como lo hacen las computadoras actuales. Si bien estas últimas son muy rápidas en el procesamiento de la información, existen tareas muy complejas, como el reconocimiento y clasificación de patrones, que demandan demasiado tiempo y esfuerzo aún en las computadoras más potentes de la actualidad, pero que el cerebro humano es más apto para resolverlas, muchas veces sin aparente esfuerzo (considere el lector como ejemplo el reconocimiento de un rostro familiar entre una multitud de otros rostros). El cerebro puede considerarse un sistema altamente complejo. Su unidad básica, la neurona, está masivamente distribuida con conexiones entre ellas (se calcula que hay aproximadamente 10 billones de neuronas en la corteza cerebral y 60 trillones de conexiones neuronales). Si bien hay distintos tipos de neuronas biológicas, en la figura 1 se muestra un esquema simplificado de un tipo particular que es muy común. Vemos que la misma está compuesta por: El cuerpo central, llamado soma, que contiene el núcleo celular Una prolongación del soma, el axón Una ramificación terminal, las dendritas Una zona de conexión entre una neurona y otra, conocida como sinapsis 22

Dendritas Sinapsis Soma Axón Sinapsis Axón de otra neurona Dendrita de otra neurona Figura 1: Modelo simplificado de una neurona biológica La función principal de las neuronas es la transmisión de los impulsos nerviosos. Estos viajan por toda la neurona comenzando por las dendritas hasta llegar a las terminaciones del axón, donde pasan a otra neurona por medio de la conexión sináptica. La manera en que respondemos ante los estímulos del mundo exterior y nuestro aprendizaje del mismo está directamente relacionado con las conexiones neuronales del cerebro, y las RNAs son un intento de emular este hecho. 2. Modelo neuronal de McCulloch-Pitts El primer modelo matemático de una neurona artificial, creado con el fin de llevar a cabo tareas simples, fué presentado en el año 1943 en un trabajo conjunto entre el psiquiatra y neuroanatomista Warren McCulloch y el matemático Walter Pitts. Un ejemplo de modelo neuronal con dos entradas x e y es representado en la figura 2 (ver Haykin [1], pag. 33 y Kröse and van der Smagt [3], pag. 16). El mismo consta de: Las entradas x e y Los pesos sinápticos w 1 y w 2 correspondientes a cada entrada Un término aditivo b Una función de activación f Una salida z 23

b x y w 1 w 2 f z Figura 2: Modelo de McCulloch-Pitts para una neurona artificial Las entradas x e y son el estímulo que la neurona artificial recibe del entorno que la rodea, y la salida z es la respuesta a tal estímulo. La neurona se adapta al medio circundante y aprende de él modificando el valor de sus pesos sinápticos w 1 y w 2 y su término aditivo b. Estos son conocidos como los parámetros libres del modelo, pues los mismos pueden ser modificados y adaptados para realizar una tarea determinada. En este modelo, la salida neuronal z está dada por z = f(w 1 x + w 2 y + b) La función de activación f es seleccionada de acuerdo a la tarea realizada por la neurona. 3. Usando el Perceptron para clasificar clases en el plano Aplicaremos el modelo neuronal de la sección anterior para realizar tareas de clasificación en el plano. Para tal fin, consideraremos como función de activación a la función signo definida por: { 1, si s 0 f(s) = 1, si s < 0 Por lo tanto, la salida neuronal z estará dada en este caso por: z = { 1, si w1 x + w 2 y + b 0 1, si w 1 x + w 2 y + b < 0 (1) 24

Supongamos que tenemos dos clases en el plano: la clase C 1, formada por los círculos blancos, y la clase C 2, formada por los círculos negros (ver figura 3), donde cada elemento de estas clases está representado por un punto (x,y) en el plano. Supondremos además que tales clases son separables linealmente, es decir, es posible trazar una recta que separe estrictamente ambas clases (figura 3 (a)). y y C 2 C 2 x x C 1 (a) C 1 (b) Figura 3: (a) Clases en el plano separables linealmente. (b) Clases en el plano no separables linealmente. Consideremos entonces el modelo neuronal representado en la figura 2, cuya salida está dada por (1). Diremos que la neurona artificial clasifica correctamente las clases C 1 y C 2 si dados los pesos sinápticos w 1 y w 2 y el término aditivo b, la recta con ecuación y = w 1 x b w 2 w 2 es una recta separante de las dos clases. La ecuación implícita de la recta es w 1 x + w 2 y + b = 0 Obsérvese que si el punto (x 0,y 0 ) C 1, entonces w 1 x 0 + w 2 y 0 + b < 0 y si (x 0,y 0 ) C 2, entonces w 1 x 0 + w 2 y 0 + b > 0. Por lo tanto, dado el par (x 0,y 0 ) C 1 C 2, la neurona clasifica al mismo de la siguiente manera: (x 0,y 0 ) C 1 z = 1 (x 0,y 0 ) C 2 z = 1 25

Si ahora tomamos dos clases C1 y C 2 (separables linealmente) distintas a las anteriores, entonces la neurona puede no clasificar correctamente a estas clases, pues la recta y = w 1 w x b 2 w puede no ser una recta separante de las mismas. Sin embargo, es posible modificar los parámetros libres y obtener 2 nuevos parámetros w1, w 2 y b tal que la recta y = w 1 x b w 2 w 2 sea la recta separante. El proceso por el cual la neurona pasa de los parámetros w 1, w 2 y b a los parámetros w 1, w 2 y b se conoce como método de aprendizaje. Este proceso es el que permite modificar los parámetros libres con el fin de que la neurona se adapte y sea capaz de realizar diversas tareas. El método de aprendizaje que detallaremos a continuación y que utilizaremos para adaptar los parámetros libres con el fin de clasificar correctamente las clases C 1 y C 2 se conoce como método de error-corrección (ver Kecman [2], pag. 204). Para aplicarlo es necesario: Un conjunto de entrenamiento D. Un instructor. Valores iniciales w inicial 1, w inicial 2 y b inicial arbitrarios de los parámetros libres. El conjunto de entrenamiento es definido por D = C 1 C 2. El entrenamiento consiste en lo siguiente: El instructor toma un elemento (x 0,y 0 ) D al azar y presenta éste a la neurona. Si la neurona clasifica mal este punto, es decir, si la salida de la neurona es z = 1 cuando (x 0,y 0 ) C 2 ó z = 1 cuando (x 0,y 0 ) C 1, entonces la siguiente corrección es aplicada a los parámetros libres iniciales w 1 = w inicial 1 + d x 0 w 2 = w inicial 2 + d y 0 b = b inicial + d donde el valor de d se obtiene de la siguiente manera: { 1, si z = 1 y (x0,y 0 ) C 2 d = 1, si z = 1 y (x 0,y 0 ) C 1 Si la neurona clasifica bien el punto (x 0,y 0 ), entonces ninguna corrección es realizada. El procedimiento es repetido ingresando a la neurona otro punto del conjunto D y usando los últimos parámetros w 1, w 2 y b corregidos (no los 26

parámetros iniciales). Nuevamente, si la neurona clasifica mal el punto ingresado, entonces una corrección similar a la anterior es aplicada. Esto es repetido hasta que todos los puntos del conjunto D son presentados a la neurona. Si en este transcurso hubo correcciones, entonces el procedimiento es repetido nuevamente con todos los puntos de D. El entrenamiento termina cuando la neurona clasifica correctamente todos los elementos del conjunto de entrenamiento. Este procedimiento converge, es decir, en un número finito de pasos es posible obtener los parámetros finales w final 1, w final 2 y b final tales que y = wfinal 1 un recta separante de las clases C 1 y C 2. w final 2 x bfinal w final 2 En la figura 4 se muestran dos clases C 1 y C 2 formada por 50 elementos cada una, las cuales fueron separadas linealmente usando el método de error-corrección (estas clases constan de elementos aleatorios, donde C 1 tiene media µ 1 = (1, 1) y C 2 tiene media µ 2 = (3,2). Ambas clases tienen varianza σ 2 = 0.4). es 5 4 3 2 eje y 1 0 C 2 1 2 C 1 3 1 0 1 2 3 4 5 eje x Figura 4: Clasificación de dos clases en el plano usando el método de errorcorrección. 27

Los parámetros libres iniciales tomados fueron w inicial 1 = 1, w inicial 2 = 1, b inicial = 0 Obsérvese que la recta inicial y = x, la cual es mostrada en línea de trazos, no es una recta separante de las clases. Después de terminado el entrenamiento, se obtuvieron los parámetros finales w final 1 = 0.8319943, w final 2 = 2.892537, b final = 1 La recta separante obtenida y = 0.8319943 2.892537 x + 1 2.892537 se muestra en línea llena. Un modelo neuronal utilizado para clasificación, cuya salida z está dada por (1) y que utiliza el método de error-corrección para modificar sus parámetros libres se conoce como Perceptron (el nombre deriva de la palabra en inglés perception ). Estas neuronas pueden agruparse formando una RNA conocida como Perceptron múltiple. 4. El Perceptron multicapa Un Perceptron múltiple puede tener sus neuronas organizadas por capas (figura 5). Así, tenemos los nodos de entrada formados por las entradas a la red, la capa de salida formada por las neuronas que constituyen la salida final de la red, y las capas ocultas formadas por las neuronas que se encuentran entre los nodos de entrada y la capa de salida (ver Haykin [6], pag. 44). Una RNA puede tener varias capas ocultas o no tener ninguna de ellas. Los links sinápticos (las flechas llegando o saliendo de una neurona) indican el flujo de la señal a través de la red y tienen asociado un peso sináptico correspondiente. Si la salida de una neurona va dirigida hacia dos o más neuronas de la siguiente capa, cada una de estas últimas recibe la salida neta de la neurona anterior. La cantidad de capas de una RNA es la suma de las capas ocultas más la capa de salida. En el caso de existir capas ocultas nos referimos a la RNA como un Perceptron multicapa. Entre las diversas tareas en las que una RNA puede aplicarse podemos mencionar: 28

Clasificación lineal y no lineal de una cantidad arbitraria C 1,..., C m de clases [Schürmann 1996] Regresión lineal y no lineal [Hartman et al. 1990] Series temporales [Shah 1998] Control de procesos [Hunt et al. 1991] Robótica [Kröse and van der Smagt 1996] Optimización [Polyak 1987] Procesamiento de señales [Haykin 1991] Nodos de entrada Capa oculta Capa de salida Figura 5: Esquema de una RNA de dos capas. 5. Análisis y conclusiones A lo largo de las secciones hemos introducido los principios básicos de RNAs y hemos ejemplificado su uso utilizando un caso particular de red, el Perceptron, para tareas de clasificación lineal, con resultados positivos. No obstante, 29

la importancia de RNAs radica en problemas de tipo no lineal. Por su naturaleza experimental, su base teórica es en su gran mayoría heurística, por lo que su implementación se sustenta principalmente en métodos basados en la experiencia. Sin embargo, esta rama de investigación está en vías de desarrollo, y los resultados obtenidos hasta el momento son prometedores para el futuro de RNAs. Referencias [1] Haykin S.. Neural Networks. A Comprehensive Foundation, second edition. Pearson Prentice Hall, 1999. [2] Kecman V.. Learning and Soft Computing: Support Vector Machines, Neural Networks, and Fuzzy Logic Models. The MIT Press, 2001. [3] Kröse B. and Van der Smagt P. 1996. An introduction to Neural Networks, eighth edition. University of Amsterdam. [4] Veelenturf L.. Analysis and Applications of Artificial Neural Networks. Prentice Hall, 1995. Claudio J. Tablada (Email: cjtablada@yahoo.com.ar) Germán A. Torres Facultad de Matemática, Astronomía y Física (FaMAF) CIEM (CONICET) Universidad Nacional de Córdoba Ciudad Universitaria (5000), Córdoba, Argentina. (Email: torres@famaf.unc.edu.ar) 30