Sunteți pe pagina 1din 15

Redes Neuronales Artificiales

Fernando Izaurieta y Carlos Saavedra Departamento de Fsica, Universidad de Concepcin, Concepcin, Chile RESUMEN
En esta charla se entrega una descripcin de las caractersticas principales del funcionamiento de redes neuronales artificiales. En primer lugar, se presenta un modelo sencillo de red neuronal y las familias de problemas que pueden ser modeladas por ellas. Adems, se describe esquemas simples de entrenamiento de redes orientadas al reconocimiento de patrones de informacin. Se presenta un ejemplo de aplicacin de las redes al reconocimiento de texto.

1. Introduccin.
Las actividades de investigacin desarrolladas en torno al estudio de redes neuronales artificiales, simplemente redes neuronales o neuroredes, estn motivadas en modelar la forma de procesamiento de la informacin en sistemas nerviosos biolgicos. 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 trminos sencillos lo anterior equivale a decir que puede realizar muchas operaciones simultneamente a diferencia de los computadores comunes que son de tipo secuencial, o sea, realizan slo una operacin a la vez. En este sentido, una neurored es un procesador de informacin, de distribucin altamente paralela, constituido por muchas unidades sencillas de procesamiento llamadas neuronas. La neuroredes se caracterizan principalmente por: Tener una inclinacin natural a adquirir el conocimiento a travs de la experiencia, el cual es almacenado, al igual que en el cerebro, en el peso relativo de las conexiones interneuronales. Tienen una altsima plasticidad y gran adaptabilidad, son capaces de cambiar dinmicamente junto con el medio. Poseen un alto nivel de tolerancia a fallas, es decir, pueden sufrir un dao considerable y continuar teniendo un buen comportamiento, al igual como ocurre en los sistemas biolgicos. Tener un comportamiento altamente no-lineal, lo que les permite procesar informacin procedente de otros fenmenos no-lineales. Entre las motivaciones principales para el estudio del funcionamiento de las redes neuronales se encuentran los fenmenos neurolgicos. Nuestro cerebro es un procesador de informacin muchsimo ms eficiente que un computador. La clave de esto se encuentra en la inmensa plasticidad del cerebro, existen tareas cotidianas para el cerebro que sera impensable realizar mediante computacin 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 patrn de informacin tridimensional,

por ejemplo, de una persona que quizs ha cambiado de aspecto (luce distinto o simplemente envejeci) en un paisaje cambiante (que puede contener muchos otros rostros). En la actualidad, tareas mucho ms simples consumen das de trabajo de los computadores ms veloces. La plasticidad se percibe tambin en la capacidad de responder de forma correcta frente a un estmulo nunca antes recibido. Esa capacidad hace que cuando nos presentan por primera vez a alguien, sepamos automticamente que es una persona y no un objeto u otro ser biolgico. Debido a estas caractersticas y muchas otras, las neuroredes se han convertido en una gran ayuda en el procesamiento de datos experimentales de comportamiento complejo. Adems, su comportamiento iterativo no lineal las une de modo natural al caos y teoras de la complejidad. De hecho, las posibilidades son tan amplias que se empieza a hablar de un nuevo campo, aparte de la Biologa, la Matemtica y la Fsica: 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 bsicos de neurobiologa.

2. Neurobiologa
Una neurona tpica posee el aspecto y las partes que se muestran en la figura 1. Sin embargo, debemos observar que el dibujo no est a escala, el axn alcanza un largo tpico de centmetros y a veces de varios metros, las dendritas tambin y las terminales sinpticas, son ms largas, numerosas y tupidas.

Figura 1: Neurona y sus partes. Tpicamente, las neuronas son 6 5 rdenes de magnitud ms lentas que una compuerta lgica de silicio, los eventos en un chip de silicio toman alrededor de nanosegundos (109 s), mientras que en una neurona este tiempo es del

F. IZAUTIRETA Y C. SAAVEDRA

orden de los milisegundos (103 ). Sin embargo, el cerebro compensa en forma excepcional la lentitud relativa en el funcionamiento neuronal con un nmero inmenso de neuronas con interconexiones masivas entre ellas. Se estima que el nmero de neuronas en el cerebro es del orden de 1010 , y que el nmero de conexiones sinpticas es 6 1013 . La red resultante que es el cerebro es una estructura enormemente eficiente. Especficamente, la eficiencia energtica del cerebro es aproximadamente de 1016 J=(operaciones s), la cual es del orden de 1010 veces mayor que la de los mejores computadores en la actualidad. La mayora de las neuronas codifican sus salidas como una serie de breves pulsos peridicos, llamados potenciales de accin, que se originan cercanos al soma de la clula y se propagan a travs del axn. Luego, este pulso llega a las sinapsis y de ah a las dendritas de la neurona siguiente. Una sinapsis es una interconexin entre dos neuronas, un dibujo esquemtico de ella se incluye en la figura 2. En ella, el botn sinptico corresponde al trmino del axn de una neurona pre-sinptica, y la dendrita es la correspondiente a una neurona post-sinptica.
50 nm

se transmitir un pulso a lo largo del axn, en caso contrario no transmitir. Despus de transmitir un impulso, la neurona no puede transmitir durante un tiempo de entre 0,5 ms a 2 ms. A este tiempo se le llama perodo refractario. En base a estas dos caractersticas, construiremos el modelo de red neural.

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 fisiolgico de la neurona, sino ms bien slo sus caractersticas ms relevantes, que entran en juego en su interaccin con toda la red. Tenemos un esquema de neurona en la figura 3. En l nuestra neurona de inters es la yj . Las n neuronas xi estn enviando seales de entradas, que son los valores numricos de algo. Los valores wji representan los pesos sinpticos en las dendritas de yj . Obsrvese la notacin: el primer ndice denota a la neurona hacia donde se dirige la informacin, el segundo ndice denota de qu neurona procede la informacin.

Botn Sinptico

Dendrita

x1 xi xn wj1 wji wj0

Figura 2: Salto sinptico El tipo ms comn de sinapsis es la sinapsis qumica, que funciona como sigue. Una seal neural elctrica pre-sinptica, llega al botn sinptico de la figura 2. All, sta hace que las vesculas sinpticas (en azul en nuestra figura) se rompan, liberndose as una sustancia llamada neurotransmisor. Esta sustancia qumica se difunde a travs del espacio entre las neuronas. Luego, es captada por la dendrita, en donde estimula la emisin de un nuevo impulso elctrico, postsinptico, que se propaga hacia la derecha. As vemos que las dendritas son las zonas receptivas de una neurona, siendo el axn una lnea de transmisin, y los botones terminales comunican los impulsos a otras neuronas. En la neurona, hay dos comportamientos que son importantsimos para nosotros: - El impulso que llega a una sinapsis y el que sale de ella no son iguales en general. El tipo de pulso que saldr depende muy sensiblemente de la cantidad de neurotransmisor. Esta cantidad de neurotransmisor cambia durante el proceso de aprendizaje, es aqu donde se almacena la informacin. Una sinapsis modifica el pulso, ya sea reforzndolo o debilitndolo. - En el soma se suman las entradas de todas las dendritas. Si estas entradas sobrepasan un cierto umbral, entonces

(y j(in) ) v 1j yj v2j

Figura 3: Esquema de Neurona. Lo que hace cada peso sinptico es simplemente multiplicar a su entrada correspondiente y define la importancia relativa de cada entrada. Recordemos que en el soma de la neurona biolgica se sumaban las entradas provenientes de todas las dendritas. Entonces tenemos que la entrada total a la neurona yj es: yj
(in)

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 funcin (in) de activacin ' sobre yj , que puede ser, por ejemplo, una funcin tipo escaln o sigmoidea, como la tangente hiperblica. Entonces tenemos que la seal de output o salida de la neurona yj es: (in) yj = ' yj (2)

n X i=1

wji xi

(1)

REDES NEURONALES ARTIFICIALES

3.1. Funciones de Activacin.

Algunas funciones de activacin tpicas, no lineales, se presentan en las figuras 4 y 5.

y(in)

y(in)

Figura 4: Escaln. Estas funciones evidentemente transmiten la idea de disparar sobre un umbral. Las neuronas y sus funciones de activacin se dividen en dos tipos: bipolares o antisimtricas y binarias. En las primeras, -a yj a, siendo generalmente a = 1, y en las segundas, 0 yj 1. Adems, a veces se suele usar como funcin de activacin una relacin lineal, generalmente la funcin 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. Si la funcin de activacin 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 crculo.
3.2. Umbrales e Inclinacin.

Figura 5: Sigmoidea. Resulta mucho ms compacto y prctico aadir lo que se llama una neurona de inclinacin, x0 , a la que se asigna un valor fijo de 1, y un peso sinptico wj 0 . 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 wj 0 . Entonces se tiene que:
(in) n X i=0

yj

wji xi ; con x0 = 1.

(3)

3.3. El Comienzo: McCulloch-Pitts.

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 ms difcil que la neurona dispare (subir el umbral) o ms fcil (bajar el umbral). Es posible hacer esto directamente. Sin embargo, esto suele ser un poco engorroso al programar.

Despus 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 ao 1943, antes de que se construyeran los primeros computadores. McCulloch era un siquiatra y neuroanatomista y Pitts un matemtico. El primero pas 20 aos estudiando sobre cul era la representacin de un evento en el sistema nervioso. Su modelo tiene las siguientes caractersticas: - Las neuronas son del tipo binario, [0; 1]. - Los umbrales y las sinapsis se mantienen fijas.

1=

x0 x1 xi xn

wj0 wj1 wji wj0

(y j
yj

- La funcin de activacin es del tipo escaln.

(in)

)v 1j v2j

Figura 6: Esquema con Inclinacin.

Ellos demostraron que todas las funciones lgicas se pueden describir mediante combinaciones apropiadas de neuronas de este tipo, y que por lo tanto, se poda crear, en principio, una red capaz de resolver cualquier funcin computable. Adems, el modelo sirve para explicar algunos fenmenos biolgicos sencillos. De esta forma es posible describir algunas funciones lgicas como:

F. IZAUTIRETA Y C. SAAVEDRA

x1 1 0 1 0

x2 1 1 0 0

y 1 0 0 0

x1 x2

x1 1

x2 1 1 0 0

y 1 1 1 0

x1 x2

y
1

0 1 0

y
2

Figura 7: Funcin And

Figura 8: Funcin Or

En todos estos ejemplos, se supone que el umbral de cada neurona no lineal es 2. O sea, 0 si y in < 2 y= 1 si y in 2

(4)

Ahora es muy fcil comprobar que las tablas de verdad efectivamente se cumplen1 , por ejemplo, la primera lnea de la tabla de verdad para el And: 1 1 + 1 1 = 2 = y in ) y = 1 Veamos una funcin lgica ms: el xOr u Or excluyente.

x1 1 0 1 0

x2 1 1 0 0

z 0 1 1 0

x1 x2

2 -1 -1 2

y1 y2

z
2
fig 9: Funcin xOr.

Es fcil comprobar que la red mostrada efectivamente cumple con la tabla de verdad. Sin embargo, llama la atencin el que su red sea ms compleja que la de las funciones And u Or, pese a que slo se diferencia de la funcin Or en la primera lnea. Pudiramos darnos el trabajo de buscar una red diferente para representar xOr, buscando algo ms sencillo. Existen varias otras redes que tambin la representan, pero ninguna de ellas sencillas como la para And u Or. Fijmonos primero en que consiste la complejidad. En las redes And u Or las neuronas de entrada y la de salida estn conectadas directamente, en cambio, se puede demostrar que para la funcin xOr habr siempre por lo menos, una conexin 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.

neurona de inclinacin, en vez de un umbral.

x0 x1 x2

w0 w1

y
w2
Figura 10: Funcin Lgica simple. Sabemos que la entrada y (in) estar dada por:

3.4.1. Problemas Linealmente Separables. Volvamos a una red simple, como la del And u Or, pero ms general, como la de la figura 10. En ella, hemos aadido una
1 Se

y (in) = w0 + w1 x1 + w2 x2 ; y la respuesta, por:

(5)

asume que 1=Verdadero y 0=Falso.

REDES NEURONALES ARTIFICIALES

y=

Esto divide al plano formado por x1 y x2 en dos regiones: en una, se tendr que y = 0 e y(in) < 0, en la otra se tendr que y = 1 e y (in) 0. La frontera entre ambas est dada por la ecuacin lineal de la recta: w0 + w1 x1 + w2 x2 = 0: Veamos por ejemplo que ocurre con la funcin And. Tenemos que y (in) = x1 + x2 2, la frontera es x1 + x2 = 2: Si superponemos las respuestas que nos debe arrojar la red con el grfico de las regiones, obtenemos la figura 11.

0 si y(in) < 0 1 si y(in) 0

(6)

x 1+ x 2= 2 x2
C la s e 1

i=0

Mediante simple inspeccin podemos comprobar que efectivamente es imposible encontrar una lnea 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 clasificacin de patrones. Estamos clasificando las entradas en Clase 1 o Clase Verdadera y Clase 0 o Clase Falsa. El concepto de separabilidad lineal se extiende de modo natural a entradas de ms dimensiones. Las entradas que pertenecen a una clase y las que no pertenecen a esta simplemente tienen que poder separarse por el hiperplano n P wji xi = 0 en el espacio x de las entradas.
L in ealm en teS ep arab le:

1 0

1 C la s e 0

i =0

wji xi =0

N o- L in ealm en te S ep arab le: C lase1

C lase1

x1
C lase2 E sp aciox

C lase2

Figura 11: And sobre el plano. Si la entrada est en la regin 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 lnea 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 funcin xOr sobre el plano:

Figura 13: Separabilidad Lineal. Para aclarar el concepto de redes sencillas primero revisaremos otro concepto: las Capas Neurales. 3.4.2. Capas Neurales 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 subndices para las neuronas. Cada capa es un vector de neuronas.

x2 1 0
1 0

x1

Figura 12: xOr sobre el plano.

F. IZAUTIRETA Y C. SAAVEDRA

w10

1=

x0

wj0 wn 0 w11

x1
Entrada

wj1 wn 1

y1

xi

wji wni w1m

yj

xm
Capa 0

wjm wnm

yn
Capa 1

Figura 14: Red Unicapa. Se acostumbra no contabilizar la capa de entrada, por lo tanto se dice que la red de la figura 14 es Unicapa. Las sinapsis obviamente estn ordenadas en una matriz wji de n (m + 1). Evidentemente, de nuestro anlisis anterior, tenemos que una red unicapa slo 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 aadiendo capas, como se muestra en la figura 15.

1
u10 v10

1=

x0

uj0 un0 u11

y0 y1

vk0 vp0 v11 vk1 vp1 v1i

x1
Entrada

uj1 un1 u1i

Salida

w1i

z1

xi

uji uni u1m

yj

vkj vpj w1n

zk

xm
Capa 0

ujm unm

yn
Capa 1
Figura 15: Red Multicapa.

wkn wpn

zp
Capa 2

Salida

REDES NEURONALES ARTIFICIALES

En una red multicapa, las capas ocultas, que en nuestra figura corresponde a la Capa 2, siempre son no lineales. Se puede demostrar muy fcilmente que si se construye una red multicapa con capas ocultas lineales, sta es equivalente a una red unicapa. Podemos ver fcilmente la idea de paralelismo al observar las capas de las redes. Cada neurona de una capa no necesita de las dems en su misma capa para trabajar, son capaces por lo tanto de trabajar simultneamente. Esta cualidad se ha aprovechado al disear chips paralelos con la nueva tecnologa VLSI (Very Large Scale Integrated), en donde se han implementado varios tipos de neuroredes. Una red multicapa es capaz de resolver problemas ms complejos, pero su proceso de aprendizaje tambin es ms complicado.

Luego, con la seal de error ej (n), corrijo las sinapsis de la red mediante algn algoritmo de los que se ver a continuacin. No hijo, esta no es una E, es una A....

xi (n)
Neurored

Profesor {xi(n);dj(n)}

dj (n) +

oj (n)

4. Aprendizaje o Entrenamiento.
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 estmulos del medio. Recordemos que en una neurored, toda la informacin adquirida se guarda en el valor de cada peso sinptico. 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 ms inteligentes que un caracol es el nmero, organizacin y modo de cambio de las conexiones sinpticas. El aprendizaje se divide principalmente en dos tipos: Aprendizaje con Profesor o Supervisado y sin Profesor o No Supervisado. Nosotros slo estudiaremos aprendizaje con profesor y algunas variantes de ste.
4.1. Aprendizaje con Profesor o Supervisado.

ej (n)
Figura 16: Aprendizaje con Profesor o Supervisado. 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 ecuacin:

wji (n + 1) = wji (n) + wji (n)

(7)

El proceso es completamente anlogo a ensearle algo a un nio, digamos por ejemplo, a reconocer las vocales. Los pasos del proceso son los siguientes: - El profesor dispone de un conjunto de N pares de N entrenamiento, fxi (n); dj (n)gn=1 , en donde xi (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 ( xi (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. Sera como mostrarle al nio la letra A y preguntarle: Dime, Qu letra es esta?. La neurored responde mediante una salida oj (n). Digamos, el nio nos respondi Esa es una E. Luego comparamos ambas seales, la respuesta deseada dj (n) y la respuesta de la red oj (n), creando una seal de error, ej (n) = dj (n) oj (n). Mmm... el nio no est tan despierto como esperaba....

en donde wji (n) son los pesos sinpticos con los que la red responder al n-simo ejemplo. Esto equivale a no cambiar los pesos sinpticos en forma radical, sino que simplemente los variamos en una cantidad pequea wji (n) con respecto a su estado anterior. Lo que diferencia a los algoritmos o reglas de aprendizaje, es bsicamente como encontrar wji (n). El que hayan distintos algoritmos tiene cierta base biolgica. Neuronas de distintas partes del cerebro aprenden de forma distinta tambin.
4.2. Regla de Hebb.

Esta es la ms antigua y la ms famosa de las reglas de aprendizaje, su base es completamente biolgica. Fue encontrada por el neurofisiologo Hebb en 1949, quien descubri que si dos neuronas a ambos lados de la sinapsis estaban activas (o inactivas) simultneamente, entonces las sinapsis entre ellas se reforzaban, y si se activaban (o desactivaban) asincrnicamente, se debilitaban. Una forma de expresar esta idea de forma sencilla es la siguiente:

wji (n) = yj (n)xi (n);

> 0;

(8)

donde las capas de neuronas xi e yj estn distribuidas como en la figura 14. A la constante de proporcionalidad se le llama razn de aprendizaje. Para ver como funciona, supongamos que xi e yj son bipolares o antisimtricas, con a = 1. Si xi

F. IZAUTIRETA Y C. SAAVEDRA

e yj toman ambas simultneamente el valor de 1 (o de -1), wji (n) = , y esa sinapsis se reforzar. En cambio, si una tomase el valor -1 y la otra el de 1, wji (n) = , y esa sinapsis se debilitar. Este aprendizaje explica el famoso experimento de Pavlov. l le daba alimento a un perro y simultneamente tocaba una campanilla. Despus de repetir esto muchas veces, Pavlov toc slo la campanilla, sin alimento. Y el perro, slo oyendo la campanilla, salivaba. La explicacin es muy simple. Al activarse simultneamente las neuronas que controlan la salivacin y las que perciben la campanilla, las sinapsis entre ellas se refuerzan.
4.3. Aprendizaje para redes Unicapa.

ser un receptor, es capaz de reconocer el movimiento y bordes, y puede adaptarse a cambios locales en el brillo. Un perceptrn es una red de una sola capa, como la de la figura 14. Las neuronas de salida son no lineales, con funcin de activacin tipo escaln. En nuestros experimentos numricos, utilizamos funciones de activacin bipolares o antisimtricas, como la siguiente: 8 (in) > < 1 si yj < 0 (in) yj = 0 si yj = 0 > : (in) 1 si yj > 0

(9)

4.3.1. Regla de Aprendizaje perceptrnico. Objetivo y funcionamiento general: Esta regla de aprendizaje est diseada especialmente para el reconocimiento de patrones, pero por ser red unicapa, slo se pueden usar patrones linealmente separables. El perceptrn 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 cmara de vdeo), pero en realidad es una red altamente compleja. Slo ha podido ser reproducida en ojos para robots y retinas artificiales para ciegos en la ltima dcada, mediante los llamados circuitos neuromrficos. La retina, adems de

Ntese que se incluy un punto neutro. A este se le suele llamar punto de indeterminacin. A veces incluso se usa una regin en torno al origen que produce una salida de cero, a la cual se le llama banda de indeterminacin. 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 imgenes de letras. La entrada xi corresponde al i-simo pxel 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 figura 17, en donde la neurona marcada con X reconoce a la clase X, y la con O, a la clase O:

X O

x O

1: E s una X -1 : N o es u n a O

x O

-1 : N o es u n a X 1: E s una O

Figura 17: Funcionamiento de un Perceptrn Algoritmo Perceptrnico. Veamos ahora como entrenar esta red que cuenta mo y m1 nmero de neuronas de entrada y salida respectivamente. Adems, existen N pares de entrenamiento fxi (n); dj (n)gN n=1 . De esta forma el algoritmo es: Paso 0: Inicializar las sinapsis de la red, se puede elegir wji (0) = 0 valores aleatorios. se elige una razn de aprendizaje , 0 < 1. Paso 1: Mientras la condicin 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
(in) m0 X i=0

yj

(n) =

wji (n)xi (n)

8 (in) > < 1 si yj (n) < 0 (in) yj (n) = 0 si yj (n) = 0 > : (in) 1 si yj (n) > 0

REDES NEURONALES ARTIFICIALES

Paso 4: Si yj (n) 6= dj (n), para algn j entre 1 y m1 , entonces wji (n + 1) = wji (n) + dj (n)xi (n); donde j = 1; :::; m1 ; i = 0; :::; m0 . En caso contrario wji (n + 1) = wji (n) Paso 5: Si los pesos sinpticos no cambian para cada patrn 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, wji (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 (in) incorrecta, dijo -1 en vez de 1. Esto significa que yj (n) fue demasiado pequeo, debemos hacer que crezca haciendo que m 0 P wji (n)xi (n) sean positivos ms trminos en la sumatoria
i=0

el mismo hiperplano de separacin, aunque distintos pesos sinpticos. Adems, generalmente, no es un solo hiperplano el que nos podra delimitar bien la frontera, sino que ms bien hay infinitos, como se muestra en la figura 18:

Clase 1

Clase 2

y lo mximo posible. O sea, si la i-sima entrada, xi (n) es +1, entonces la i-sima sinapsis, wji (n), debiera ser positiva y lo ms grande posible tambin: debemos hacerla crecer. Si por el contrario, xi (n) es -1, debemos hacer bajar a wji (n). Eso es lo que se re eja en la forma en que hemos construido el wji (n), si dj (n) es +1, entonces wji (n) tiene el mismo signo que xi (n). En el caso contrario, es todo al revs. Es bastante evidente que si un problema es linealmente separable, existen infinitos pesos sinpticos que servirn para solucionar el problema. Basta con multiplicar por una n P wji xi = 0 y seguimos teniendo constante la ecuacin
i=0

Espacio x
Figura 18: Infinitas Soluciones. O sea, o no existe ninguna solucin, o existen infinitas. Es posible demostrar que si existe solucin, entonces el algoritmo perceptrnico converger a una de las infinitas soluciones en un nmero finito de pasos. Experimentos Computacionales. A modo de ejemplo se incluyen dos experimentos (computacionales), ambos de clasificacin de letras. Para el primero, usamos las siguientes entradas:

Figura 19: Patrones de entrenamiento para el Experimento 1 Cada imagen es de 7 9 = 63 pxels, un pxel negro corresponde a un +1 y uno blanco a un -1, se us = 1. Las sinapsis se inicializaron con 0. Para construir el vector xi de entradas, simplemente ponemos una fila de la imagen despus de la otra. Despus del entrenamiento, algunos patrones que fueron clasificados correctamente fueron los siguientes:

10

F. IZAUTIRETA Y C. SAAVEDRA

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 correspondan. Para ampliar el experimento nos preguntamos: Se podr realizar con patrones ms grandes? y, Qu imagen podemos hacernos de cmo estn distribuidas las sinapsis? Para responder esas preguntas, construimos un perceptrn que slo clasificara entre X, O e I, pero con entradas de una resolucin mucho mayor: 56 72 = 4032 pixeles. Trabajamos exactamente del mismo modo que con el ejemplo anterior. Los patrones de entrenamiento ahora son los siguientes:

4 0 -4

Figura 23: Sinapsis para X,O e I. Simplemente observando se puede entender cmo funcionan las sinapsis, y qu regiones son ms cruciales que otras al reconocer el patrn. Pero dijimos que las sinapsis no eran nicas. Si empezamos con valores iniciales aleatorios llegamos a otro tipo de conexiones sinpticas, como estas:

4 0 -4

X
Figura 21: Patrones de entrenamiento, 2 Se necesitaron slo tres pocas. Algunos patrones que fueron clasificados correctamente, son:

Figura 24: Otras Sinapsis para X, O e I. Ahora, pasaremos a otra tarea que realizan muy bien las neuroredes: predecir. 4.3.2. Regla Delta, o correccin de error. Esta es una regla muy popular, en ella se usa una red de una sola capa, igual que la perceptrnica, pero la neurona de salida tiene una funcin de activacin derivable, generalmente la funcin identidad o la tangente hiperblica. Para esta regla, usamos un algoritmo ms 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: wji (n) = ej (n)'0 j (yj
(in)

Nuevamente observamos la plasticidad. Pero, cmo se distribuyen las sinapsis?. Para verlo de un modo grfico, simplemente reordenamos en la misma forma de la imagen original a las sinapsis, obtenindose 3 grficas: 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.

(n))xi (n)

(10)

Si las neuronas de salida tienen a la identidad como (in) funcin de activacin, '0 (n)) = 1, y entonces, j (yj

REDES NEURONALES ARTIFICIALES

11

wji (n) = ej (n)xi (n) que es la forma ms comn del algoritmo. Esta regla en realidad es un caso particular muy sencillo del algoritmo de retropropagacin de errores. La convergencia del algoritmo depende fuertemente del valor de . Si se elige uno muy pequeo, 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 ms rpido. Predictor lineal, o filtro Lineal Adaptativo. Supongamos que tenemos un sistema dinmico al que estamos describiendo por un nico parmetro x. Lo nico que conocemos de l es su historia, muestreando x cada cierto perodo T . Lo que queremos hacer es predecir cul ser la respuesta del sistema en el prximo instante. Esto lo hacemos mediante una interaccin red - sistema dinmico como la mostrada en la figura 25:

x( [n+1]T ) x( nT ) wn x( [n+1]T ) wi w1 x( T ) 1
figura 25: Predictor Lineal Aqu vemos que el papel de profesor es llevado de modo automtico por el mismo sistema dinmico. 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. Es completamente anlogo al proceso de aprendizaje con profesor, excepto por que el nmero de neuronas de entrada debe aumentar constantemente. Experimento computacional. Usamos un = 0:01 y una neurona de salida con la funcin identidad. Nuestro sistema dinmico era una seal senoidal con variaciones aleatorias.

Sistem a Dinm ico

x( iT )

e(n)

w0 wi(n)

Se puede observar fcilmente que a medida que la red va aprendiendo, cada vez es capaz de predecir mejor.
4.4. Aprendizaje para Redes Multicapa.

1 0.8 0.6 0.4

Sist. Dinm ico.

Ahora, romperemos con nuestras limitaciones anteriores y estudiaremos el caso nolineal. Debemos recordar que en este tipo de redes, las funciones de activacin de las capas ocultas son siempre no lineales. Adems, veremos de las ecuaciones que necesitamos una funcin de activacin diferenciable en todo su dominio. Adems, se encuentra que el algoritmo de aprendizaje es ms difcil de visualizar. Nosotros slo estudiaremos un tipo de aprendizaje, el Aprendizaje Retropropagador de Error. 4.4.1. Estructura y Notacin general La estructura de la red se muestra en la figura 27, la capa de salida es la capa L-sima, y tiene mL neuronas. La de entrada es la capa 0, y tiene m0 neuronas. Decimos que nuestra red tiene L capas, a L se le llama a veces la profundidad de la red.

Neurored

0.2 0 -0.2 -0.4 -0.6 -0.8 -1 50 100 150 200 250

Tiem po

[T]

Figura 26: Experimento de Prediccin.

12

F. IZAUTIRETA Y C. SAAVEDRA

Entrada

m0 m1

m2 ... mL-2
Figura 27: Red Multicapa.

mL-1

mL

Supondremos que cada capa tiene sus neuronas de inclinacin, que por lo general no dibujaremos en los diagramas. En general, las neuronas de cada capa estn completamente conectadas con las de la siguiente. En el funcionamiento de nuestra red, nos encontraremos con dos tipos de seales: Seales de Funcin y Seales de error. - Seales de Funcin: Es el estmulo 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

la seal de salida. - Seales de Error: Luego de la etapa hacia adelante, viene la retropropagacin del error, hacia atrs. 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 seal de error, vamos desde las ltimas capas hasta las primeras corrigiendo sinapsis. Esto es lo que se ilustra en la figura 28:

2 Etapas:

Seal de Funcin Seal de Error


Figura 28: Etapas hacia adelante y hacia atrs.

4.4.2. Definiciones. Error: Supongamos que la capa de salida est constituida Entonces, el error cometido al por las neuronas zk . presentarse el n-simo par de entrenamiento es: ek (n) = dk (n) zk (n): (11) Muchos fsicos han trabajado en este campo, y han empleado trminos de la Fsica. Energa promedio de error. Es el promedio de la energa de error durante una poca completa de presentacin de patrones.
N 1 X "(n) N n=1

Energa de error: La energa de error al presentarse el n-simo par de entrenamiento es:


L 1X "(n) = e2 k (n) 2

"pro =

Salida
(13)
m

(12)

k=1

Esta no es una energa fsica, en la jerga de las neuroredes slo se le llama as por su forma anloga a la energa cintica.

donde "(n) y "pro son funciones de todas las sinapsis de la red. El objetivo del proceso de aprendizaje ser minimizar "pro . Sea wji una sinapsis cualquiera de la red. Es fcil ver que "av (wji ) y "(n)(wji ) constituyen superficies de error. La idea del algoritmo ser la del descenso paso a paso. Vamos a hacer una primera aproximacin para aclarar conceptos.

REDES NEURONALES ARTIFICIALES

13

El gradiente de "av seala su direccin de crecimiento. Evidentemente, viene dado por: @"pro : (14) @wji Si queremos minimizar "pro , deberamos dirigirnos en contra del gradiente, como vemos en la siguiente relacin: @ji "pro (wji ) = @"pro (15) @wji (p) En donde p simplemente seala que estamos en el p-simo paso. Lo que estamos haciendo es esquiar o resbalarnos sobre la superficie de error, tratando de llegar al mnimo global de la superficie. Sin embargo, haciendo esto, corremos el peligro de quedar atrapados en un minmo local de la superficie, y nunca alcanzar el mnimo global, como se ilustra en la figura 29. wji (p + 1) = wji (p)

Se puede intentar evitar esto tratando de minimizar las " (n) en vez de "pro , pero de un modo bien especial, como se explica en la siguiente seccin.

4.4.3. Idea del Algoritmo. Intentaremos minimizar "av minimizando las " (n). Es decir, tendremos que:

wji (n + 1) = wji (n)

@"(n) : @wji (n)

(16)

av

wji

Figura 29: Peligro de caer en mnimo local.

Cada patrn que se presenta tiene una superficie de error "(n) diferente. Lo que hacemos es presentar el nsimo par de entrenamiento y corregir todas las sinapsis de la red. Es decir tenemos la n-sima superficie y nos resbalamos un paso. Luego, presentamos el (n + 1)-simo par de entrenamiento y corregimos nuevamente todas las sinapsis de la red. O sea, cambiamos de superficie y nos resbalamos otro paso. Este constante cambio de superficie hace muy difcil quedar atrapado en un mnimo local. Una buena imagen mental sera estar esquiando en una montaa, que est temblando alocadamente!. Evidentemente, tarde o temprano llegaremos al valle ms profundo que exista. Este poceso se ilustra en la figura 30.

(n)

(n+1)

wji
Figura 30: Esquivando Minmos Locales. Lo que estamos suponiendo implcitamente es que el promedio de los cambios individuales en las sinapsis es un estimador del cambio que debiera ocurrir si minimizaramos directamente "pro . Adems, el orden de presentacin de los pares de entrenamiento se randomiza de poca en poca. Esto hace que la trayectoria seguida sobre la superficie sea completamente estocstica. Supongamos que no randomizramos el conjunto de entrenamiento. Entonces tendramos que poca tras poca estaramos repitiendo el

wji

mismo procedimiento, llammoslo F . estaramos iterando: wji ((n + 1)-poca) = F (wji (n-poca))

Entonces

(17)

Desde Teora de Caos, sabemos que procesos como estos pueden converger a estados metaestables, como ciclos lmites. Para eliminar esta posibilidad se intenta randomizar el conjunto de entrenamiento, mediante:

14

F. IZAUTIRETA Y C. SAAVEDRA

4.4.4. Algoritmo de Retropropagacin de Error. wji (1-poca) = F (wji (0-poca)) wji (2-poca) = G(wji (1-poca)) wji (3-poca) = H (wji (2-poca)), etc. Consideremos la red de la figura 31. No dibujamos las sinapsis, slo las sealamos con una echa. La red puede seguir teniendo ms capas ocultas hacia atrs. Se puede demostrar que:

wkj (n) = vji (n) =

@"(n) = k (n)yj (n), @wkj @"(n) = j (n)xi (n), @vji

k = 1; :::; mL ; j = 1; :::; mL1 ;

j = 0; :::; mL1 i = 0; :::; mL2

(18)

vji xi mL-2 yj mL-1

wkj zk mL

Figura 31: Red Multicapas. O sea, cada cambio en las sinapsis es directamente proporcional a las seales enviadas por la capa que se encuentra antes. wkj / yj ; vji / xi , y as para todas las capas de la red. Si la capa es de salida o si es oculta, el gradiente local (n) l = @"( in) se calcula de formas diferentes. @yl Capa de Salida: k (n) = ek (n)'0 k (zk
(L) (L) (in)

Salida
(L1)

),

k = 1; :::; mL

(19)

Aadimos el superndice L (aunque con la notacin que estamos usando no es estrictamente necesario) para recalcar 0 que nos referimos a la capa de salida. Usamos '0 k , la significa derivada con respecto al argumento, y el subndice k se refiere a que cada neurona, en general, pudiera tener una funcin de activacin distinta!. Este es el mismo resultado que tenamos para el filtro lineal adaptativo de una sola capa. As que ahora sabemos de donde vena esa ecuacin. Simplemente estbamos tratando de minimizar "av de la forma ya descrita. Capas Ocultas:
(L1) (n) j (in) '0 (n)) j (yj mL X (L) (L)

donde j = 1; :::; mL1 . Aqu vemos que el j depende (L) de los k de la capa de ms adelante. Con las otras capas ocultas, se hace exactamente lo mismo, siempre la correccin depende, de la misma forma, de lo que haya sucedido en las capas de ms adelante. Es a lo que nos referamos con que la seal de error va hacia atrs. A este mtodo, en donde evitamos los mnimos locales, se le llama Mtodo Secuencial. Algunas veces, pese al riesgo de caer en mnimos locales, se minimiza directamente "av , llamndose a esto Mtodo Grupal, que no es muy usado. Aunque las caractersticas estocsticas del mtodo secuencial hacen que evite caer a un mnimo local, hacen que sea muy difcil establecer tericamente la convergencia. En cambio, con el mtodo grupal, la convergencia a un mnimo local est garantizada con un mnimo de condiciones. Pese a ello, el mtodo secuencial es altamente popular, pues es muy simple de implementar computacionalmente y adems, efectivamente funciona muy bien en una inmensa mayora de casos difciles.

k (n)wkj (n);

(20)

k=1

REDES NEURONALES ARTIFICIALES

15

5. Conclusiones
Este trabajo ha pretendido realizar una pequea introduccin a algunas caractersticas de neuroredes conocidas. De hecho, an los estudios ms avanzados que existen hoy da sobre el tema estn muy alejados de entender el funcionamiento del cerebro, que fue su motivacin inicial. El tema en realidad es muy vasto. Sin embargo, pese a que hemos visto una parte nfima del total, hemos podido apreciar algunas cualidades de este mecanismo de procesamiento de informacin. En primer debemos lugar destacar que es posible modelar el funcionamiento de una neurona en forma extremadamente simple, y sin embargo, posee una gran capacidad, vemos la sencillez y la complejidad unidas de un modo maravilloso. Por ejemplo, de describi la posibilidad de procesar cantidades increbles de informacin en forma paralela, de un modo sencillo y natural. Al poder establecerse las funciones lgicas mediante la combinacin de neuronas vemos tambin la posibilidad de

poder construir computadoras con ellas, por lo menos en principio. Otra caractersticas fundamentales que no podemos olvidar son la Robustez y la Capacidad de Aprendizaje. Las neuronas son capaces de imitar y predecir el comportamiento de sistemas dinmicos sin usar ningn modelo explcito, y capaces de reconocer patrones, aunque stos tengan errores. Adems de todo eso, son muy interesantes para la Fsica, tanto para procesar informacin como en s mismas. En cuanto a esto ltimo, se han descubierto interesantes reas que relacionan las neuroredes con la Teora de la Informacin, el Caos, la Mecnica Estadstica.

6. Bibliografa
[1] Laurene Fausett, Fundamentals of Neural Networks (Prentice-Hall, New Yersey, USA, 1994). [2] Simon Haykin, Neural Networks (Prentice-Hall, New Yersey, USA, 1999).

S-ar putea să vă placă și