Redes Neuronales Artificiales Alejandro Osses Vecchi 11 de julio de 2009 1. Introducción Comenzaremos con una definición simple y general de Red Neuronal para, en las próximas secciones, explicar y profundizar cada uno de los conceptos y componentes fundamentales involucrados en una red. Una red neuronal es una estructura interconectada de simples elementos de procesamiento procesadores elementales, unidades o nodos cuya funcionalidad está vagamente inspirada en la neurona biológica. La capacidad de procesamiento de la red está almacenada en valores numéricos que manifiestan la fuerza de las conexiones entre unidades o pesos, los que se obtienen a partir de un proceso de adaptación a, o aprendidos desde, un set de ejemplos de entrenamiento [1]. A continuación daremos una breve mirada al funcionamiento de una neurona biológica. 2. Neurona Biológica Se ha estimado que el cerebro humano contiene alrededor de 10 11 células nerviosas, también conocidas como neuronas. Cada neurona posee un cuerpo o soma, un axón y muchas dendritas, como se muestra en la Figura 1. Las conexiones interneuronales son administradas por una serie de uniones electro-químicas denominadas sinapsis, localizadas en las dendritas. En la medida que una neurona recibe información, los impulsos eléctricos que llegan al cuerpo de la célula se van acumulando hasta provocar una excitación (o inhibición) de impulsos de voltaje, que luego se desplazan hasta el axón y nuevamente a través de las conexiones sinápticas se reparten a otras neuronas. Los equivalentes artificiales de las neuronas biológicas son los Procesadores Elementales, PE 1. Las sinapsis son modeladas por valores numéricos, dando un peso a la conexión entre 2 neuronas. El grado de excitación o inhibición de una 1 También llamados Unidades, Nodos. 1
Figura 1: Esquema de componentes principales en una neurona biológica. neurona artificial se determina por la suma ponderada de todas sus entradas. En el caso más sencillo, se establece un nivel de umbral por sobre el cual se hablará de exitación y bajo él de inhibición. En la Figura 2 se muestra el equivalente artificial de la neurona biológica. Figura 2: Neurona artificial, aproximación a una neurona biológica [2]. El objetivo de la modelación de las neuronas biológicas es la inclusión de la capacidad de aprendizaje a partir de la experiencia, posibilitando su implementación computacional y, por tanto, su extensibilidad a diversos campos de la ciencia. La analogía entre la estructura biológica de una red neuronal y su modelo artificial son resumidas en la Tabla 1. 2
Red neuronal biológica Soma Dendrita Axón Sinapsis Red neuronal artificial Neurona Entrada Salida Pesos Tabla 1: Analogía entre una red neuronal biológica y su modelo artificial 3. Fundamentos de Redes Neuronales Artificiales Recapitulando, una Red Neuronal Artificial, ANN 2, es una estructura de unidades simples de procesamiento o procesadores elementales interconectados, que realiza alguna de las siguientes funciones: aprendizaje, memorización, generalización o abstracción de características relevantes a partir de un conjunto de ejemplos [3]. Para la utilización de una ANN se deben considerar: El diseño estructural o topología de la red, los procedimientos de almacenamiento de la información vinculada al aprendizaje (durante el proceso de entrenamiento) y los procedimientos de recuperación de información. Esta metodología ofrece solución a problemas poco estudiados o que presentan un alto grado de no linealidad. 3.1. Diseño estructural de una Red Neuronal El diseño estructural o topología de una red está relacionado con el conjunto de elementos y parámetros que definen su arquitectura: el número de capas, el número de neuronas por capa y el grado de conectividad entre las neuronas. 3.1.1. La neurona como procesador elemental Todo el procesamiento y cálculo numérico en una ANN se realiza en la neurona artificial o PE. A la entrada de una neurona, se realiza siempre un proceso de agregación de de n señales de entrada, ponderadas, las que son sumadas a fin de obtener un nivel de agregación net. La función de agregación, generalmente está definida por: 2 Del inglés Artificial Neural Networks. 3
Figura 3: Una neurona artificial generalizada, con n entradas. net = n x i w i (1) i=1 La salida de la neurona se determina a partir del nivel de activación, net, y una función de activación Y = f(net). Las funciones de activación también llamadas funciones de transferencia más usadas son: Lineal, Sigmoidal, Tangente Hiperbólica y Radial base (ver Tabla 2). La función de activación más simplificada corresponde a la función escalón o umbral, definida como: { 1 Si net θ Y = (2) 0 Si net < θ Esta función sólo discrimina si la entrada net supera o no supera un umbral numérico θ. No obstante la simplicidad de la función umbral, es la que más se aproxima a la capacidad de procesamiento de una neurona biológica, que al ser excitada emite o al ser inhibida no emite un impulso nervioso. 3.1.2. Conexiones Las conexiones entre neuronas son generalmente dirigidas. Si la ANN está organizada en capas, se pueden diferenciar las conexiones hacia adelante (feedforward), las de retroalimentación (feedback) y también configuraciones con conexiones intercapas, es decir, con conexiones a neuronas de otras capas. Si el peso asociado a una conexión es positivo, se habla de conexión excitadora, de lo contrario, se habla de conexión inhibidora. 3.1.3. Topología de la red Con los elementos anteriores, se puede concretar la topología de una ANN, tomando en cuenta el tipo de neuronas (datos binarios o reales), cantidad de 4
Función de Transferencia Y = f(net) Comando en MATLAB Escalón Signo { 1 Si net θ 0 Si net < θ { +1 Si net 0 1 Si net < 0 hardlim(net) hardlims(net) Lineal net purelin(net) Sigmoidal 1/(1 + exp ( net)) logsig(net) Tangente Hiperbólica 2/(1 + exp ( 2 net)) 1 tansig(net) Radial Base exp ( net 2 ) radbas(net) Razón Cuadrada net 2 /(1 + net 2 ) Tabla 2: Algunas funciones de activación, también llamadas funciones de transferencia. capas y de neuronas por capa, definición de la(s) función(es) de activación a utilizar y el tipo de conexiones. Se distinguirán 2 tipos de red: ANN de propagación hacia adelante (feedforward) y ANN recurrentes. También existen modelos híbridos. 3.2. Entradas y Salidas de la ANN Supongamos que se desea distinguir entre una naranja y un limón. Ambos poseen una serie de características en común: su forma, su textura, su tamaño y, en determinadas ocasiones, su color. Debido a lo anterior, no siempre nos será fácil tomar una desición a partir de estas características. Una característica que da mayor identidad a ambas frutas podría ser, por ejemplo, su olor. Si se quisiera implementar una ANN para realizar la tarea anterior, resultaría más significativo entregar como entrada de la red el parámetro olor para obtener como salida limón o naranja, en este caso, bastaría una salida binaria (0 = limón; 1 = naranja). El proceso de extracción de características y la confección de las entradas resulta un punto bastante sensible durante el proceso de diseño. Por lo que deberemos asegurarnos que las entradas de la red brinden información relevante del problema, es decir, se requieren antecedentes previos del mismo. 5
3.3. Entrenamiento de una ANN: Proceso de aprendizaje El aprendizaje es el proceso de adaptación de los pesos de las conexiones de la red neuronal, de manera de obtener un comportamiento determinado no sólo para los ejemplos que se usaron durante el proceso de entrenamiento, sino que también para aquellos datos que la red aún no conoce. Es por esto que el desarrollo de una red no acaba con el proceso de entrenamiento. El aprendizaje es un proceso dependiente de la topología de la red y se lleva a cabo mediante un algoritmo de entrenamiento. Se revisarán algunos de los algoritmos de entrenamiento más populares, donde destaca el algoritmo de retropropagación del error o Backpropagation. Referencias [1] Kevin Gurney. An introduction to neural networks. UCL Press, 1997. [2] Howard Demuth; Mark Beale; Martin Hagan. Matlab neural network toolbox 6. user s guide. Technical report, The Mathworks Inc., 2009. [3] Rodolfo Venegas. Diseño e implementación de un modelo de localización sonora espacial utilizando técnicas de inteligencia computacional. Master s thesis, Universidad Tecnológica de Chile, 2006. 6