Está en la página 1de 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.

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.

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,

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

Botn Sinptico

Dendrita

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

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.

x1
xi

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

wj1
wji
wj0

xn
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:
(in)

yj

n
X

wji xi

(1)

i=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 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)

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)

Figura 4: Escaln.

Figura 5: Sigmoidea.

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.

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.

1=

x0
x1
xi

y(in)

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 wj0 . 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:
(in)

yj

n
X

wji xi ; con x0 = 1.

(3)

i=0

3.3. El Comienzo: McCulloch-Pitts.

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.

wj0
wj1
wji
wj0

(y j

- La funcin de activacin es del tipo escaln.

(in)

)v
1j

yj

xn
Figura 6: Esquema con Inclinacin.

v2j

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

x2
1

y
1

0
1
0

1
0
0

0
0
0

x1

y
x2

x1
1

x2
1

y
1

0
1

1
0

1
1

Figura 7: Funcin And

x1

y
x2

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

x2
1

z
0

0
1
0

1
0
0

1
1
0

x1

2
-1

y1

z
x2

-1
2

y2

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.

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

asume que 1=Verdadero y 0=Falso.

neurona de inclinacin, en vez de un umbral.

x0

w0

x1

w1

y
x2

w2

Figura 10: Funcin Lgica simple.


Sabemos que la entrada y (in) estar dada por:

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

(5)

REDES NEURONALES ARTIFICIALES

y=

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

(6)

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.

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.

i=0

x 1+ x 2= 2
x2

LinealmenteSeparable:
n

wji xi =0

C la s e 1
0

i =0

x1

x2
1

Clase2
Clase2

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:

Clase1

Clase1

C la s e 0

No- Linealmente
Separable:

x1

Figura 12: xOr sobre el plano.

Espaciox

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.

F. IZAUTIRETA Y C. SAAVEDRA

w10

1=

x0

wj0
wn0
w11

x1

wj1

y1

wn1

xi

wji

Salida

Entrada

w1i

yj

wni
w1m

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

x0

Entrada

x1

xi

xm
Capa 0

uj0

y0

vk0

un0

vp0

u11

v11

uj1

y1

vk1

un1

vp1

u1i

v1i

uji

yj

vkj

uni

vpj

u1m

w1n

ujm
unm

yn
Capa 1
Figura 15: Red Multicapa.

z1

zk

wkn

zp

wpn

Capa 2

Salida

1=

v10

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....

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

xi (n)

oj (n)

4.1. Aprendizaje con Profesor o Supervisado.

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....

Neurored

ej (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.

dj (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)

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.

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

4.3. Aprendizaje para redes Unicapa.

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:

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

X
O

x
O

x
O

1: E s una X
-1 : N o es u n a 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 =

(9)

1; :::; N , hacer los pasos del 3 y 4.

Paso 3: j = 1; :::; m1
(in)

yj

(n) =

m0
X
i=0

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);

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:

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
P0
wji (n)xi (n) sean positivos
ms trminos en la sumatoria
i=0

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

Clase 1

Clase 2

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

Figura 24: Otras Sinapsis para X, O e I.


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

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.

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:
(in)

wji (n) = ej (n)'0j (yj

(n))xi (n)

(10)

Si las neuronas de salida tienen a la identidad como


(in)
funcin de activacin, '0j (yj (n)) = 1, y entonces,

11

REDES NEURONALES ARTIFICIALES

en nuestro experimento simplemente recurrimos al ensayo y


error, que suele ser mucho ms rpido.

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

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

Sistema

x( iT )

x( [n+1]T )
wi

Dinmico

w1
x( T )

e(n)

w0
wi(n)

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.

Sist. Dinm ico.

1
0.8

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.

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.

Neurored

0.6
0.4

4.4.1. Estructura y Notacin general

0.2
0
-0.2
-0.4
-0.6
-0.8
-1
50

100

Tiem po

150

200

[T]

Figura 26: Experimento de Prediccin.

250

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.

12

Salida

Entrada

F. IZAUTIRETA Y C. SAAVEDRA

m0 m1

m2 ... mL-2

mL-1

mL

Figura 27: Red Multicapa.


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:

Seal de Funcin

2 Etapas:

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)

Energa de error: La energa de error al presentarse el


n-simo par de entrenamiento es:
m

L
1X
"(n) =
e2k (n)
2

(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.

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.

"pro =

N
1 X
"(n)
N n=1

(13)

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.

13

REDES NEURONALES ARTIFICIALES

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:

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.

@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)

av

wji

Figura 29: Peligro de caer en mnimo local.

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)

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+1)

(n)

wji

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

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))

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) =

@"(n)
= k (n)yj (n),
@wkj

k = 1; :::; mL ;

vji (n) =

@"(n)
= j (n)xi (n),
@vji

j = 1; :::; mL1 ;

vji

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

wkj

xi
mL-2

yj
mL-1

(18)

Salida

wji (3-poca) = H(wji (2-poca)), etc.

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
l = @"(n)
(in) se calcula de formas diferentes.
@yl
Capa de Salida:
(L)

(L)

(in)

k (n) = ek (n)'0k (zk

),

k = 1; :::; mL

(19)

Aadimos el superndice L (aunque con la notacin que


estamos usando no es estrictamente necesario) para recalcar
que nos referimos a la capa de salida. Usamos '0k , la 0
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)
'0j (yj (n))

mL
X

k=1

(L)

(L)

k (n)wkj (n);

(20)

(L1)

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.

REDES NEURONALES ARTIFICIALES

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

15

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).

También podría gustarte