Está en la página 1de 41

Alumno:

Aitor Gmez Maguregui

Grupo:

2 Ingeniera Informtica A

Asignatura:

Modelos de Computacin II

Profesor:

Prof. D. Juan Luis Castro Pea

NDICE

Portada

ndice

Apuntes ampliados

3 a 33

Conceptos bsicos sobre RRNN

3 a 20

Redes de una capa: Perceptrn, Adaline

20 a 27

Retropropagacin o Backpropagation

27 a 32

Validacin en Redes Neuronales

32 a 34

Bibliografa

35

REDES NEURONALES
Conceptos bsicos sobre Redes Neuronales
De dnde surge la conexin cerebro vs. Mquinas?
Cuando trabajamos en el mbito de las Redes Neuronales, tenemos
que comenzar por mostrar una conexin clara y evidente entre las
mquinas y el cerebro humano.
La diferencia ms importante y decisiva es la forma en que se
produce el almacenamiento de informacin en el cerebro y en el
ordenador.
En el ordenador, los datos se guardan en posiciones de memoria que
son celdillas aisladas entre s. As cuando se quiere acceder a una
posicin de memoria se obtiene el dato de esta celdilla, sin que las
posiciones de memoria contiguas se vean afectadas por dicha
operacin.
En el cerebro, la gestin es totalmente diferente. Cuando buscamos
una informacin no hace falta que sepamos dnde se encuentra
almacenada y en realidad no lo podemos saber ya que nadie sabe
dnde guarda el cerebro los datos.
En todo el mundo pero sobre todo en Estados Unidos y Japn,
cientficos expertos tratan de dar con la clave de la memoria
asociativa. Si se consiguiera construir un chip de memoria segn el
modelo humano, la ciencia dara un paso gigante en la fascinante
carrera hacia la inteligencia artificial.
Un superordenador llamado cerebro
El hombre necesita un sistema de proceso de datos de mltiple
propsito capaz de tratar gran cantidad de informacin muy distinta y
en muy poco tiempo y con el mayor sentido prctico(pero no
necesariamente con exactitud), para inmediatamente poder actuar en
consecuencia.
Los ordenadores, en cambio, son altamente especializados con
capacidad para procesar con exactitud informacin muy concreta (en
principio solo nmeros) siguiendo unas instrucciones dadas.
El cerebro humano posee ms de diez millones de neuronas las
cuales ya estn presentes en el momento del nacimiento. Conforme
3

pasa el tiempo se vuelven inactivas, aunque pueden morir


masivamente.
Nuestro rgano de pensamiento consume energa bioqumica, el
equivalente a una cucharada de azcar por hora. Los ordenadores
domsticos consumen una cantidad semejante.
Segn estudios especializados, el cerebro dispone de dos
mecanismos de almacenamiento de datos: la memoria intermedia
acepta de cinco a diez unidades de informacin, aunque solo las
mantiene durante algunos minutos. La memoria definitiva guarda las
informaciones para toda la vida, lo que no significa que nos
podamos acordar siempre de todo. La memoria inmediata trabaja
como una especie de cinta continua: la informacin circula
rotativamente en forma de impulsos elctricos por los registros.
As, el sistema es comparable a la memoria dinmica de un
ordenador, en la que la informacin tiene que ser refrescada
continuamente para que no se pierda. En cambio, la memoria
definitiva parece asemejarse ms bien a las conocidas memorias de
celdillas de los ordenadores. Se cree que esta memoria funciona
gracias a formaciones qumicas de las protenas presentes en el
cerebro humano.
Diferencias entre el cerebro y una computadora
Podemos resumir las diferencias principales entre el cerebro y una
computadora en la siguiente tabla:
Cerebro

Computadora

Sistema de datos de mltiple


propsito capaz de tratar gran
cantidad de informacin en poco
tiempo pero no necesariamente
con exactitud.

Sistemas altamente especializados


con capacidad para procesar
informacin muy concreta, siguiendo
unas instrucciones dadas.

La frecuencia de los
impulsos nerviosos puede variar.

La frecuencia de transmisin
es inalterable y est dada por el reloj
interno de la mquina.

Las llamadas sinapsis cumple en el


Las compuertas lgicas
cerebro la funcin simultnea de
tienen una funcin perfectamente
varias compuertas (AND, OR, NOT, determinada e inalterable.
etc.)
La memoria es del tipo asociativo
y no se sabe dnde quedara
almacenada.

La informacin se guarda en
posiciones de memoria de acceso
directo por su direccin.

Los impulsos fluyen a 30 metros


por segundo.

En el interior de una
computadora los impulsos fluyen a la
velocidad de la luz.

Similitudes entre el cerebro y una computadora


-

Ambos codifican la informacin en impulsos digitales.


Tanto el cerebro como la computadora tienen compuertas lgicas.
Existen distintos tipos de memoria.
Los dos tienen aproximadamente el mismo consumo de energa.

Como conclusin de las analogas y diferencias entre mquina y


cerebro, adems de observar detenidamente el anlisis que arriba
figura, tenemos que destacar que, a pesar de las similitudes entre
ambos modelos, y de la utilidad del modelo de cmputo de RRNN, el
cerebro humano es, hoy por hoy, insustituible. No quiere decir esto
que la utilidad de las Redes Neuronales sea, ni mucho menos, escasa.
Inspiracin biolgica en Redes Neuronales
Nuestro modelo de estudio, las redes neuronales, tienen un evidente
y marcado origen biolgico.
A grandes rasgos, recordemos que el cerebro humano se compone de
decenas de billones de neuronas interconectadas entre s formando
circuitos o redes que desarrollan funciones especficas.
Una neurona tpica recoge seales procedentes de otras neuronas a
travs de una plyade de delicadas estructuras llamadas dendritas.
La neurona emite impulsos de actividad elctrica a lo largo de una
fibra larga y delgada denominada axn, que se escinde en millares de
ramificaciones.
Podemos ver en la siguiente imagen la estructura de una neurona:

Las extremidades de estas ramificaciones llegan hasta las dendritas


de otras neuronas y establecen unas conexiones llamadas sinapsis,
en las cuales se produce una transformacin del impulso elctrico en
un mensaje neuroqumico, mediante la liberacin de unas sustancias
llamadas neurotransmisores.
Podemos verlo en detalle en la siguiente imagen:

El efecto de los neurotransmisores sobre la neurona receptora puede


ser excitatorio o inhibitorio, y es variable (la intensidad del efecto
depende de numerosos factores que no sera oportuno describir
aqu) , de manera que podemos hablar de la fuerza o efectividad de
una sinapsis. Las seales excitatorias e inhibitorias recibidas por una
neurona se combinan, y en funcin de la estimulacin total recibida,
la neurona toma un cierto nivel de activacin, que se traduce en la
generacin de breves impulsos nerviosos con una determinada
frecuencia o tasa de disparo, y su propagacin a lo largo del axn
hacia las neuronas con las cuales conecta.

De esta manera la informacin se transmite de unas neuronas a otras


y va siendo procesada a travs de las conexiones sinpticas y las

propias neuronas. El aprendizaje de las redes neuronales se produce


mediante la variacin de la efectividad de las sinapsis, de esta
manera cambia la influencia que unas neuronas ejercen sobre otras,
de aqu se deduce que la arquitectura, el tipo y la efectividad de las
conexiones en un momento dado, representan en cierto modo la
memoria o estado de conocimiento de la red.
Redes Neuronales Artificiales
Las neuronas se modelan mediante unidades de proceso. Cada
unidad de proceso se compone de una red de conexiones de entrada,
una funcin de red ( de propagacin), encargada de computar la
entrada total combinada de todas las conexiones, un ncleo central
de proceso, encargado de aplicar la funcin de activacin, y la salida,
por dnde se transmite el valor de activacin a otras unidades.
En la siguiente tabla podemos ilustrar las analogas entre las
neuronas artificiales y las neuronas biolgicas:
Redes Neuronales Biolgicas

Redes Neuronales
Artificiales

Neuronas

Unidades de proceso

Conexiones sinpticas

Conexiones ponderadas

Efectividad de las sinapsis

Peso de las conexiones

Efecto excitatorio o inhibitorio de


una conexin

Signo del peso de una


conexin

Efecto combinado de las sinapsis

Funcin de propagacin o de
red

Activacin -> tasa de disparo

Funcin de activacin ->


Salida

El siguiente esquema ilustra de forma precisa esta estructura:

La funcin de red es tpicamente el sumatorio ponderado, mientras


que la funcin de activacin suele ser alguna funcin de umbral o una
funcin sigmoidal.
Vamos a ver con detalle cada uno de los trminos que aqu aparecen:
Funcin de propagacin o de red: Calcula el valor de base o
entrada total a la unidad, generalmente como simple suma
ponderada de todas las entradas recibidas, es decir, de las entradas
multiplicadas por el peso o valor de las conexiones. Equivale a la
combinacin de las seales excitatorias e inhibitorias de las neuronas
biolgicas.
Funcin lineal de base (LBF)
Consiste en el sumatorio de las entradas ponderadas. Se trata de una
funcin de tipo hiperplano, esto es, de primer orden.
Dado una unidad j, y n unidades conectadas a sta, si llamamos X al
vector de entradas (que coincide con las salidas de las unidades de la
capa anterior) y Wj al vector de pesos de las conexiones
correspondientes, esta funcin quedara as:

Al representar los pesos utilizamos dos subndices para indicar que


conectan dos unidades, i y j, dnde j se refiere la unidad actual.
Funcin radial de base (RBF)
Funcin de tipo hiperesfrico, de segundo orden, no lineal. El valor de
red representa la distancia a un determinado patrn de referencia.

Funcin de activacin: Es quizs la caracterstica principal o


definitoria de las neuronas, la que mejor define el comportamiento de
la misma. Se usan diferentes tipos de funciones, desde simples
funciones simples de umbral a funciones no lineales. Se encarga de
calcular el nivel o estado de activacin de la neurona en funcin de la
entrada total.
Se suele distinguir entre funciones lineales, en las que la salida es
proporcional a la entrada; funciones de umbral, en las cuales la salida
es un valor discreto (tpicamente binario 0/1) que depende de si la
estimulacin total supera o no un determinado valor de umbral; y
funciones no lineales, no proporcionales a la entrada.
Funcin de umbral
En un principio se pens que las neuronas usaban una funcin de
umbral, es decir, que permanecan inactivas y se activaban slo si la
estimulacin total superaba cierto valor lmite; esto se puede modelar
con una funcin escaln: la ms tpica es el escaln unitario: la
funcin devuelve 0 por debajo del valor crtico (umbral) y 1 por
encima.
Despus se comprob que las neuronas emitan impulsos de actividad
elctrica con una frecuencia variable , dependiendo de la intensidad
de la estimulacin recibida, y que tenan cierta actividad hasta en
reposo, con estimulacin nula. Estos descubrimientos llevaron al uso
de funciones no lineales con esas caractersticas, como la funcin
sigmoidal, con un perfil parecido al escaln de una funcin de umbral,
pero continua.
Funcin sigmoidal o logstica
Es probablemente la funcin de activacin ms empleada en la
actualidad.

Se trata de una funcin continua no lineal con bastante plausibilidad


fisiolgica.
La funcin sigmoidal posee un rango comprendido entre 0 y 1. Esto,
aplicado a las unidades de proceso de una red neuronal artificial
significa que, sea cual sea la entrada, la salida estar comprendida
entre 0 y1.
Esta funcin depende del parmetro s , que usualmente toma el valor
1.

Podemos observar la representacin grfica de este ltimo caso en la


siguiente grfica:

La salida de una unidad vale 0.5 cuando la entrada es nula, esto


significa que la unidad tiene cierta actividad an en ausencia de
estimulacin. Al aumentar la estimulacin la unidad aumenta su
activacin, y la disminuye si la estimulacin es inhibitoria, de forma
parecida a como se comportan las neuronas reales.
Presenta las siguientes caractersticas deseables:
1. Acomodacin de seales muy intensas sin producir saturacin.
2. Admite seales dbiles sin excesiva atenuacin
3. Fcilmente derivable, ya que
La principal limitacin de esta funcin es que no sirve para expresar
polaridades, da siempre valores positivos. Una funcin alternativa con
cualidades parecidas pero con un rango entre -1 y 1 es la funcin
tangente hiperblica. Desde un punto de vista fisiolgico, el signo
negativo se puede interpretar como una disminucin de la tasa de
disparo de una neurona por debajo de la tasa de disparo en reposo.
Funcin gaussiana

Conexiones ponderadas: hacen el papel de las conexiones


sinpticas, el peso de la conexin equivale a la fuerza o efectividad de
la sinapsis. Las existencia de conexiones determina si es posible que
una unidad influya sobre otra, el valor de los pesos y el signo de los
mismos definen el tipo (excitatorio/inhibitorio) y la intensidad de la
influencia.

10

Salida: calcula la salida de la neurona en funcin de la activacin de


la misma, aunque normalmente no se aplica ms que la funcin
identidad, y se toma como salida el valor de activacin. El valor de
salida cumplira la funcin de la tasa de disparo en las neuronas
biolgicas.
Arquitecturas de Redes Neuronales
Para disear una red debemos establecer como estarn conectadas
unas unidades con otras y determinar adecuadamente los pesos de
las conexiones. Lo ms usual es disponer las unidades en forma de
capas, pudindose hablar de redes de una, de dos o de ms de dos
capas, las llamadas redes multicapa.
Aunque inicialmente se desarrollaron redes de una sola capa, lo ms
usual es disponer tres o ms capas: la primera capa acta como
buffer de entrada, almacenando la informacin bruta suministrada a
la red o realizando un sencillo pre-proceso de la misma, la llamamos
capa de entrada; otra capa acta como interfaz o buffer de salida,
almacenando la respuesta de la red para que pueda ser leda, la
llamamos capa de salida; y las capas intermedias, principales
encargadas de extraer, procesar y memorizar la informacin, las
denominamos capas ocultas.

Adems del nmero de capas de una red, en funcin de cmo se


interconectan unas capas con otras, podemos hablar de redes
recurrentes (feed-back) y redes no recurrentes o redes en cascada
(feed-forward).
En las redes en cascada la informacin fluye unidireccionalmente de
una capa a otra (desde la capa de entrada a las capas ocultas y de
stas a la capa de salida), y adems, no se admiten conexiones
intracapa.
En las redes recurrentes la informacin puede volver a lugares por los
que ya haba pasado, formando bucles, y se admiten las conexiones
intracapa (laterales), incluso de una unidad consigo misma.

11

Las conexiones entre una capa y otra pueden ser totales, es decir,
que cada unidad se conecta con todas las unidades de la capa
siguiente, o parciales, en las cuales una unidad se conecta con slo
algunas de las capas de la unidad siguiente,
generalmente siguiendo algn patrn aleatorio o pseudo-aleatorio
(por ejemplo, mediante algoritmos genticos).
Fases de procesamiento
Fase de Aprendizaje
El aprendizaje consiste en la presentacin de patrones a la red, y la
subsiguiente modificacin de los pesos de las conexiones siguiendo
alguna regla de aprendizaje que trata de optimizar su respuesta,
generalmente mediante la minimizacin del error o la optimizacin de
alguna "funcin de energa".
El modo de aprendizaje ms sencillo consiste en la presentacin de
patrones de entrada junto a los patrones de salida deseados (targets)
para cada patrn de entrada, por eso se llama aprendizaje
supervisado. Si no se le presentan a la red los patrones de salida
deseados, diremos que se trata de aprendizaje no supervisado, ya
que no se le indica a la red que resultados debe dar, sino que se le
deja seguir alguna regla de auto-organizacin. Un tercer tipo de
aprendizaje, a medio camino entre los anteriores, es el llamado
aprendizaje reforzado, en este caso el supervisor se limita a indicar
si la salida ofrecida por la red es correcta o incorrecta, pero no indica
que respuesta debe dar.
Cualquiera que sea el tipo de aprendizaje usado, una caracterstica
esencial de la red es la regla de aprendizaje usada, que indica como
se modifican los pesos de las conexiones en funcin de los datos
usados en la entrada, es decir, de la historia de aprendizaje de la red.
Por ejemplo, entre los algoritmos de aprendizaje supervisado, la regla
delta generalizada, modifica los pesos realizando en cada ciclo de
aprendizaje un incremento los pesos proporcional a la tasa de
variacin del error respecto al peso, en sentido negativo.
El aprendizaje requiere la presentacin repetida de un nmero
relativamente amplio de ejemplos de entrenamiento hasta lograr una
respuesta satisfactoria del sistema (segn la medida de error o
funcin de energa utilizada).
Es usual disponer de un conjunto de datos distintos a los usados para
el entrenamiento, para los cuales se conoce la respuesta correcta, y
se usan como test, evaluando con ello si la red responde
adecuadamente frente a datos distintos a los usados durante el
aprendizaje (generalizacin), si es as se considera que la red
funciona bien y se puede pasar a la fase de aplicacin (recall), es

12

decir, se puede usar para obtener un resultado frente a datos


totalmente nuevos para los que no se conoce la respuesta correcta.
Aprendizaje supervisado
Ya sabemos que en el aprendizaje supervisado se presentan a la red
una serie de patrones de entrada junto a los patrones de salida
deseados. El aprendizaje consiste en la modificacin de los pesos de
las conexiones en el sentido de reducir la discrepancia entre la salida
obtenida y la deseada. Los pasos generales a seguir por este
algoritmo son los siguientes:
-

Aleatorizar los pesos de todas las conexiones (preferiblemente


con valores pequeos)

Seleccionar un par de entrenamiento, es decir, un patrn de


entrada y el patrn de salida deseado (target) correspondiente.

Presentar el patrn de entrada y calcular la salida de la red


mediante las operaciones usuales: sumatorio de las entradas
ponderadas, funcin de activacin y transferencia a la siguiente
capa, hasta llegar a la capa de salida. (inicialmente obtenemos
salidas aleatorias, ya que los pesos de las conexiones son
aleatorios)

Clculo del error o discrepancia entre la salida obtenida y la


deseada. El error (funcin objetivo) se suele definir como la
suma de los cuadrados de las diferencias entre las salidas
reales obtenidas y las deseadas, promediado para todas las
unidades de salida y todos los patrones de entrenamiento. Si el
error es menor de cierto criterio fijado de antemano,
incrementar el nmero de ejemplos correctos; si todos los
ejemplos se han clasificado correctamente, finalizar, sino,
continuar.

Aplicar la regla de aprendizaje, es decir, ajustar los pesos de las


conexiones tratando de disminuir el error, generalmente
mediante el clculo de tasas de variacin o gradientes del error,
por eso hablamos de reglas de aprendizaje por gradiente
descendiente. Para reducir el error habr que modificar los
pesos de las conexiones, en proporcin a la tasa relativa de
variacin del error con respecto a la variacin del peso, o sea, la
derivada del error respecto al peso, EP (error respecto al peso).
Una forma de calcular el EP sera perturbar levemente un peso
y observar como vara el error, pero no resultara eficiente si
trabajamos con muchas conexiones (este es el fundamento de
algunos mtodos estadsticos comentados en otro apartado).

13

Ms adelante veremos un algoritmo matemtico para calcular


EP.
-

Volver al paso 2

Aprendizaje no supervisado
Una de las crticas principales al aprendizaje supervisado, dejando de
lado los aspectos computacionales era su dudosa plausibilidad
biolgica, pues:
-

Requiere propagar cierta informacin (el error cometido) hacia


atrs, en sentido contrario al flujo natural de la informacin.
Como es obvio, esto no sucede en las neuronas reales, sin
embargo esta objecin es superficial si tenemos en cuenta que
el cerebro es rico en redes que retrogradan de una capas a
otras, y podra utilizar estos caminos de mltiples formas para
aportar la informacin del tipo que el aprendizaje supervisado
requiere.

Requiere de un instructor que proporcione la salida deseada.


Las personas aprendemos a comprender frases o escenas
visuales sin instrucciones explcitas para ello, se podra decir
que el cerebro posee algn mecanismo de auto-organizacin.
Cuando se le presentan a la red una gran coleccin de datos sin
indicarle qu debe hacer con ellos, se encuentra aparentemente
sin saber qu hacer. No obstante, los investigadores han
diseado varios procedimientos de aprendizaje no supervisado,
que son capaces de extraer inductivamente suficiente
informacin de esos datos como para permitir posteriormente
su recuperacin, estos algoritmos son utilizados en tareas de
clustering y clasificacin.

En el aprendizaje no supervisado no se requiere presentar


patrones de salida deseados. Sin embargo, el algoritmo y la
regla de modificacin de las conexiones producen vectores de

14

salida consistentes, esto es, la presentacin de un patrn


aprendido o parecido a l, produce siempre la misma salida. Se
considera que el proceso de aprendizaje es capaz de extraer
ciertas propiedades estadsticas de los ejemplos de aprendizaje
y agruparlos en categoras o clases de patrones similares.
No sabemos a priori qu salida corresponder a cada tipo o
grupo de patrones de entrada, ni qu atributos usar para
clasificarlos, por eso son muy tiles como generadores de
categoras (clustering)
En general, los mtodos de aprendizaje no supervisado apelan a
alguna nocin de la calidad de la representacin. Las
representaciones de calidad se caracterizan por la economa de
la representacin (el costo de codificacin ms el costo de
reconstruccin), sin perder la capacidad de reconstruir la
informacin almacenada.

Imaginemos por ejemplo, imgenes formadas por elipses, como las


caras de la figura, podramos representarlas mediante mapas de bits,
pero son posibles otras representaciones ms eficientes; una elipse se
puede se distingue de otra en cinco atributos: orientacin, posicin
vertical, posicin horizontal, longitud y anchura, por consiguiente, la
imagen podra describirse usando slo cinco parmetros por elipse.
Existen varios mtodos sencillos para encontrar cdigos econmicos
que al mismo tiempo permitan una buena reconstruccin de la
entrada: el aprendizaje por componentes principales, el aprendizaje
competitivo y los cdigos demogrficos.
Aprendizaje por componentes principales
El aprendizaje por componentes principales consiste en extraer y
describir las componentes de variacin compartidas por multitud de
unidades de entrada, siendo suficiente una unidad para cada
componente principal. Se puede lograr haciendo que las redes
reconstruyan la entrada sobre unas unidades de salida, aplicando
retropropagacin. Este aprendizaje no es supervisado, porque dado
que la salida es la misma que la entrada, no se necesita instructor.

15

Otra forma de lograrlo sin usar retropropagacin se basa en modificar


las conexiones en funcin de las correlaciones entre las actividades
de las unidades ocultas y las unidades de entrada.

Aprendizaje competitivo
En el aprendizaje por componentes principales, un pequeo nmero
de unidades coopera en la representacin del patrn de entrada. En el
aprendizaje competitivo, un gran nmero de unidades ocultas pugnan
entre s, con lo que finalmente se utiliza una sola unidad oculta para
representar un patrn de entrada determinado o un conjunto de
patrones similares. La unidad oculta seleccionada es aquella cuyos
pesos incidentes se asemejan ms al patrn de entrada. El
aprendizaje consiste en reforzar las conexiones de la unidad ganadora
y debilitar las otras, para que los pesos de la unidad ganadora se
asemejen cada vez ms al patrn de entrada. Generalmente se
utilizan reglas basadas en la regla de Hebb o regla del producto. La
reconstruccin del patrn de entrada consistir en copiar la
distribucin de pesos de la unidad ganadora.
Cdigos demogrficos
El problema de los componentes principales es que eliminan toda la
redundancia, y con ello pierden la tolerancia a fallos, ya que cada
patrn o conjunto de patrones de entrada similares queda
representado por una sola neurona. La solucin a este dilema, que
adems parece ser la utilizada por el cerebro, son los cdigos
demogrficos, una solucin intermedia entre las representaciones
distribuidas puras y representaciones puramente locales.
Se trata de representar cada patrn de entrada por un conjunto o
poblacin de unidades activas simultneamente, de manera que la
disfuncin de alguna unidad no provoca la prdida de la informacin.
Los cdigos demogrficos parecen contradecir el principio de
economa de las representaciones, sin embargo, una poblacin de
neuronas es muy fcil de representar si se compone de un grupo de
neuronas vecinas con un centro prominente de actividad. En ese caso
es suficiente con describir dicho centro, ms alguna medida de la
forma en que la actividad de las unidades adyacentes decae a
medida que nos alejamos del centro.
Aprendizaje reforzado
Como ya comentamos, la idea es similar a la del aprendizaje
supervisado, slo que aqu la informacin dada por el maestro es
mnima, se limita a indicar si la respuesta de la red es correcta o
incorrecta. En este sentido se asimila a la nocin tomada de la
16

psicologa conductual de condicionamiento por refuerzo, que en


resumen defiende que se aprenden (en el sentido de que tienen ms
probabilidad de repetirse) las conductas reforzadas positivamente y
viceversa (las conductas castigadas o reforzadas negativamente
reducen la posibilidad de aparecer).
Una nocin estrechamente ligada a la de aprendizaje reforzado es la
de Redes Basadas en la Decisin. Son redes para clasificacin de
patrones, similares a los asociadores de patrones, en las cuales el
maestro, en vez de indicar la salida deseada exacta (target), indica
slo la clase correcta para cada patrn de entrada.
En las redes basadas en la decisin se utiliza una funcin
discriminante para determinar a que categora o clase pertenece el
patrn de entrada, si durante el entrenamiento, una respuesta no
coincide con la dada con el maestro, se cambian los pesos, si no se
dejan igual (de aqu viene el nombre de DBNN). El aprendizaje
consiste en encontrar los pesos que dan la clasificacin correcta.
Construccin de modelos
Con el fin de llegar al entendimiento global de Redes Neuronales
Artificiales, adoptamos la siguiente perspectiva, llamada top-down
que empieza por la aplicacin se pasa al algoritmo y de aqu a la
arquitectura:

Esta aproximacin a las Redes Neuronales Artificiales est motivada


por la aplicacin, basada en la teora y orientada hacia la
implementacin. Las principales aplicaciones son para el procesado
de seal y el reconocimiento de patrones.
La primera etapa algortmica representa una combinacin de la teora
matemtica y la fundamentacin heurstica por los modelos
neuronales. El fin ltimo es la construccin de neurocomputadores

17

digitales, con la ayuda de las tecnologas VLSI y el procesado


adaptativo, digital y paralelo.
Desde el punto de vista de la aplicaciones, la ventaja de las RRNN
reside en el procesado paralelo, adaptativo y no lineal. Las RRNN han
encontrado muchas aplicaciones con xito en la visin artificial, en el
procesado de seales e imgenes, reconocimiento del habla y de
caracteres, sistemas expertos, anlisis de imgenes mdicas, control
remoto, control de robots, inspeccin industrial y exploracin
cientfica. El dominio de aplicacin de las RRNN se puede clasificar de
la siguiente forma: asociacin y clasificacin, regeneracin de
patrones, regresin y generalizacin, y optimizacin.
Asociacin y Clasificacin
En esta aplicacin, los patrones de entrada estticos o seales
temporales deben ser clasificadas o reconocidas. Idealmente, un
clasificador debera ser entrenado para que cuando se le presente
una versin distorsionada ligeramente del patrn, pueda ser
reconocida correctamente sin problemas. De la misma forma, la red
debera presentar cierta inmunidad contra el ruido, esto es, debera
ser capaz de recuperar una seal "limpia" de ambientes o canales
ruidosos. Esto es fundamental en las aplicaciones hologrficas,
asociativas o regenerativas.
Asociacin: de especial inters son las dos clases de asociacin:
autoasociacin y heteroasociacin. El problema de la autoasociacin
es recuperar un patrn enteramente, dada una informacin parcial del
patrn deseado. La heteroasociacin es recuperar un conjunto de
patrones B, dado un patrn de ese conjunto. Los pesos en las redes
asociativas son a menudo predeterminados basados en la regla de
Hebb. Normalmente, la auto correlacin del conjunto de patrones
almacenado determina los pesos en las redes auto asociativas. Por
otro lado, la correlacin cruzada de muchas parejas de patrones se
usa para determinar los pesos de la red de Heteroasociacin.
Clasificacin no Supervisada: para esta aplicacin, los pesos
sinpticos de la red son entrenados por la regla de aprendizaje no
supervisado, esto es, la red adapta los pesos y verifica el resultado
basndose nicamente en los patrones de entrada.
Clasificacin Supervisada: esta clasificacin adopta algunas formas
del criterio de interpolacin o aproximacin. En muchas aplicaciones
de clasificacin, por ejemplo, reconocimiento de voz, los datos de
entrenamiento consisten de pares de patrones de entrada y salida. En
este caso, es conveniente adoptar las redes Supervisadas, como las
bien conocidas y estudiadas redes de retropropagacin. Este tipo de
redes son apropiadas para las aplicaciones que tienen una gran
cantidad de clases con lmites de separacin complejos.

18

Completar los patrones


En muchos problemas de clasificacin, una cuestin a solucionar es la
recuperacin la informacin, esto es, recuperar el patrn original
dada sola una informacin parcial. Hay dos clases de problemas:
temporales y estticos. El uso apropiado de la informacin con textual
es la llave para tener xito en el reconocimiento.
Generalizacin
La Generalizacin. Se puede extender a un problema de interpolacin.
El sistema es entrenado por un gran conjunto de muestras de
entrenamiento basados en un procedimiento de aprendizaje
supervisado. Una red se considera que esta entrenada con xito si
puede aproximar los valores de los patrones de entrenamiento y
puede dar interpolaciones "suaves" para el espacio de datos no
entrenado. El objetivo de la Generalizacin es dar una respuesta
correcta a la salida para un estmulo de entrada que no ha sido
entrenado con anterioridad. El sistema debe inducir la caracterstica
saliente del estmulo a la entrada y detectar la regularidad. Tal
habilidad para el descubrimiento de esa regularidad es crtica en
muchas aplicaciones. Esto hace que el sistema funcione eficazmente
en todo el espacio, incluso ha sido entrenado por un conjunto limitado
de ejemplos. Lo podemos ver en la siguiente figura:

Optimizacin
Las RRNN son una herramientas interesantes para la optimizacin de
aplicaciones, que normalmente implican la bsqueda del mnimo
absoluto de una funcin de energa:

19

Una vez que se define la funcin de energa, entonces la


determinacin de los pesos sinpticos se hace rpidamente. Para
algunas aplicaciones, la funcin de energa es fcilmente deducible.
En otras, sin embargo, esta funcin de energa se obtiene de ciertos
criterios de coste y limitaciones especiales. El mayor problema
asociado al problema de optimizacin es la alta posibilidad de
converger hacia un mnimo local, en vez de hacia el mnimo absoluto.
Para combatir este problema se utilizan algunas propuestas
estadsticas, como por ejemplo procedimientos estocsticos.
Ejemplos de Aplicaciones con Redes Neuronales Artificiales
Antes de sealar algunos de los ejemplos donde las Redes Neuronales
tienen una importante aplicacin, cabe decir que nos centramos en
los que pueden tener ms relevancia dentro de nuestro mbito, la
Ingeniera Informtica:
Procesamiento de lenguaje natural
Conversin de texto escrito a lenguaje hablado.
NETtalk toma como entradas textos escritos y como salidas deseadas
los cdigos elegidos para representar los fonemas correspondientes.
Mediante la ayuda de un sintetizador (DECtalk) se transforman los
cdigos en fonemas. Durante el proceso de aprendizaje se observ
como iba mejorando su habilidad desde un nivel de beb hasta el
nivel de un nio de 6 aos, aprendiendo a hacer distinciones difciles
como pronunciar una c suave o fuerte segn el contexto. Si bien esto
se haba conseguido antes, la novedad ms importante reside en que
mediante la red neuronal no es necesario definir y programar un
montn de complejas reglas, pues la red extrae automticamente el
conocimiento necesario.

20

Aprendizaje de gramticas
(Rumelhart,D. & McClelland, J.) estudiaron la forma en que
construimos las reglas sobre el lenguaje, y trataron de ensear a una
red neuronal el pasado de los verbos ingleses. El sistema fue
mejorando y al final era capaz de generalizar y conjugar verbos
desconocidos.
Compresin de imgenes
(Cottrell, G.W. y otros) han conseguido codificar imgenes con una
relacin de compresin de hasta 8:1 sin tener que idear ninguna regla
y alta fidelidad en la reconstruccin.
Reconocimiento de caracteres
Reconocimiento de escritura manual
Nestor, Inc => leen lo escrito mediante una tarjeta digitalizadora.
Tras aprender, son capaces de reconocer escrituras que nunca haban
visto antes. Se ha empleado por ejemplo para reconocer kanji
(escritura japonesa), eliminando la gran dificultad que presenta este
lenguaje para introducirlo en el computador.
El Neocognitrn (Kunihiko Fukishima): simula la forma en que la
informacin visual avanza en la corteza cerebral. Consigue un
reconocimiento muy avanzado de patrones con gran capacidad de
abstraccin y generalizacin, que lo hacen capaz de reconocer
patrones con distinta orientacin y altos niveles de distorsin.
Reconocimiento de patrones en imgenes
Clasificacin de objetivos:
En este campo se han desarrollado numerosas aplicaciones como la
clasificacin de imgenes de sonar y radar, la deteccin de clulas
cancerosas, lesiones neurolgicas y cardacas, prospecciones
geolgicas, etc.. Son muy tiles para procesar imgenes de las que
no se sabe bien cuales son las caractersticas esenciales o
diferenciales, ya que las redes no necesitan disponer de reglas
explcitas previas para realizar la clasificacin, sino que extraen el
conocimiento necesario.
Visin artificial en robots industriales
Por ejemplo, para inspeccin de etiquetas, clasificacin de
componentes, etc. Supera a otros sistemas de visin , adems
minimiza los requerimientos de operadores y facilita el
mantenimiento.
21

Filtro de ruido
Las redes neuronales artificiales son mejores preservando la
estructura profunda y el detalle que los filtros tradicionales cuando
eliminan el ruido. La primera aplicacin profesional de las redes
neuronales consisti en un filtro para eliminar ruido en las lneas
telefnicas.

Problemas de combinatoria
Las redes neuronales artificiales estn ofreciendo ciertas esperanzas
en el rea de problemas algortmicamente tan complejos como los
NP-completos; por ejemplo, el problema del viajante de comercio
(Hopfield, J. & Tank, D.)
Otras aplicaciones
Modelado y prediccin de indicadores econmicos
Se obtienen mejores resultados que con cualquier otro mtodo
conocido (como los programas de media mvil). Se ha aplicado por
ejemplo a la prediccin de tasas de inters, dficits comerciales,
precios de stock, etc.
Historia
En 1956 se organiz en Dartmouth la primera conferencia sobre IA.
Aqu se discuti el uso potencial de las computadoras para simular
"todos los aspectos del aprendizaje o cualquier otra caracterstica de
la inteligencia" y se present la primera simulacin de una red
neuronal, aunque todava no se saban interpretar los datos
resultantes.
En 1959, Widrow publica una teora sobre la adaptacin neuronal y
unos modelos inspirados en esa teora, el Adaline (Adaptative Linear
Neuron) y el Madaline (Multiple Adaline). Estos modelos fueron usados
en numerosas aplicaciones y permitieron usar, por primera vez, una
red neuronal en un problema importante del mundo real: filtros
adaptativos para eliminar ecos en las lneas telefnicas.
En 1962, Rosemblatt publica los resultados de un ambicioso proyecto
de investigacin, el desarrollo del Perceptrn, un identificador de
patrones pticos binarios, y salida binaria. Las capacidades del
Perceptrn se extendieron al desarrollar la regla de aprendizaje delta,
que permita emplear seales continuas de entrada y salida.

22

En 1969, Minsky y Papert realizan una seria crtica del Perceptrn,


revelando serias limitaciones, como su incapacidad para representar
la funcin XOR, debido a su naturaleza lineal. Este trabajo cre serias
dudas sobre las capacidades de los modelos conexionistas y provoc
una cada en picado de las investigaciones.
Aos 70: a pesar del duro golpe que supuso el trabajo de Minsky y
Papert para las investigaciones en computacin conexionista, un
puado de investigadores sigui trabajando y desarrollando nuevas
ideas:
Anderson estudia y desarrolla modelos de memorias asociativas.
Destaca el autoasociador lineal conocido como modelo brain-state-ina-box (BSB).
Kohonen contina el trabajo de Anderson y desarrolla modelos de
aprendizaje competitivo basados en el principio de inhibicin lateral.
Su principal aportacin consiste en un procedimiento para conseguir
que unidades fsicamente adyacentes aprendieran a representar
patrones de entrada similares; a las redes basadas en este
procedimiento se las denomina redes de Kohonen.
Grossberg realiz un importante trabajo terico - matemtico
tratando de basarse en principios fisiolgicos; aport importantes
innovaciones con su modelo ART (Adaptative Resonance Theory) y,
junto a Cohen, elabora un importante teorema sobre la estabilidad de
las redes recurrentes en trminos de una funcin de energa.
Aos 80: En esta dcada se produce el renacimiento del inters por el
campo gracias sobre todo al trabajo del el grupo PDP y las
aportaciones de Hopfield.
Rumelhart, McClelland & Hinton crean el grupo PDP (Parallel
Distributed Processing). Como resultado de los trabajos de este grupo
salieron los manuales con ms influencia desde la crtica de Minsky y
Papert. Destaca el captulo dedicado al algoritmo de
retropropagacin, que soluciona los problemas planteados por Minsky
y Papert y extiende enormemente el campo de aplicacin de los
modelos de computacin conexionistas.
Hopfield elabora un modelo de red consistente en unidades de
proceso interconectadas que alcanzan mnimos energticos,
aplicando los principios de estabilidad desarrollados por Grossberg. El
modelo de Hopfield result muy ilustrativo sobre los mecanismos de
almacenamiento y recuperacin de la memoria. Su entusiasmo y
claridad de presentacin dieron un nuevo impulso al campo y
provocaron el incremento de las investigaciones.
Otros desarrollos destacables de esta dcada son la mquina de
Boltzmann y los modelos BAM.
23

Redes de una capa: Perceptrn, Adaline y Madaline


Perceptron
Antecedentes
En 1943, Warren McCulloc y Walter Pitts originaron el primer modelo
de operacin neuronal, el cual fue mejorado en sus aspectos
biolgicos por Donald Hebb en 1948.
En 1962, Bernard Widrow propuso la regla de aprendizaje WidrowHoff, y Frank Rosenblatt desarroll una prueba de convergencia, y
defini el rango de problemas para los que su algoritmo aseguraba
una solucin. El propuso los 'Perceptrons' como herramienta
computacional.
Funcionamiento
En la siguiente figura se representa una neurona "artificial", que
intenta modelar el comportamiento de la neurona biolgica. Aqu el
cuerpo de la neurona se representa como un sumador lineal de los
estmulos externos zj, seguida de una funcin no lineal yj = f(zj). La
funcin f(zj) es llamada la funcin de activacin, y es la funcin que
utiliza la suma de estmulos para determinar la actividad de salida de
la neurona.
Lo vemos con detalle en la siguiente ilustracin:

Este modelo se conoce como perceptrn de McCulloch-Pitts, y es la


base de la mayor parte de las arquitectura de las RNA que se
interconectan entre s. Las neuronas emplean funciones de activacin
diferentes segn la aplicacin, algunas veces son funciones lineales,
24

otras funciones sigmoidales (p.ej. la tanh tangente hiperblica - ), y


otras funciones de umbral de disparo. La eficiencia sinptica se
representa por factores de peso de interconexin wij, desde la
neurona i, hasta la neurona j.
Los pesos pueden ser positivos (excitacin) o negativos (inhibicin).
Los pesos junto con las funciones f(z) dictan la operacin de la red
neuronal. Normalmente las funciones no se modifican de tal forma
que el estado de la red neuronal depende del valor de los factores de
peso (sinapsis) que se aplica a los estmulos de la neurona.
En un perceptrn, cada entrada es multiplicada por el peso W
correspondiente, y los resultados son sumados, siendo evaluados
contra el valor de umbral, si el resultado es mayor al mismo, el
perceptrn se activa.
Limitantes
El perceptrn es capaz tan slo de resolver funciones definidas por un
hiperplano (objeto de dimensin N-1 contenida en un espacio de
dimensin N). que corte un espacio de dimensin N. Un ejemplo de
una funcin que no puede ser resuelta es el operador lgico XOR.
Una explicacin mas sencilla de un hiperplano sera, hablando en un
plano de dos dimensiones, una lnea que separa a los elementos
existentes en dos grupos. El perceptrn slo puede resolver una
funcin, si todos los posibles resultados del problema pueden
separarse de sta forma (en dos secciones) es decir, que no se
combinen entre s.
Entrenamiento
El entrenamiento de un perceptrn es por medio de la regla de
aprendizaje delta:
Para cada peso W se realiza un ajuste dW segn la regla:
dW = LR ( T - Y ) X
Donde LR es la razn de aprendizaje, T el valor deseado, Y el valor
obtenido, y X la entrada aplicada al perceptrn.
Tipos de perceptrn
El Perceptrn bsico de dos capas (entrada con neuronas lineales,
analgicas, y la de salida con funcin de activacin de tipo escaln,
digital) slo pude establecer dos regiones separadas por una frontera
lineal en el espacio de patrones de entrada, donde se tendra un
hiperplano.

25

Un Perceptrn con tres niveles de neuronas puede formar cualquier


regin convexa en este espacio. Las regiones convexas se forman
mediante la inteleccin entre las regiones formadas por cada neurona
de la segunda capa, cada uno de estos elementos se comporta como
un Perceptrn simple, activndose su salida para los patrones de un
lado del hiperplano.
Un Perceptrn con cuatro capas puede generar regiones de decisin
arbitrariamente complejas. El proceso de separacin en clases que se
lleva a cabo consiste en la particin de la regin deseada en
pequeos hipercubos.
Cada hipercubo requiere 2n neuronas en la segunda capa (siendo n el
numero de entradas a la red), una por cada lado del hipercubo, y otra
en la tercera capa, que lleva a cabo el AND lgico de la salida de los
nodos del nivel anterior. La salida de los nodos de este tercer nivel se
activaran solo para las entradas de cada hipercubo. Los hipercubos se
asignan a la regin de decisin adecuada mediante la conexin de la
salida de cada nodo del tercer nivel solo con la neurona de salida
(cuarta capa) correspondiente a la regin de decisin en la que este
comprendido el hipercubo llevndose a cabo una operacin lgica OR
en cada nodo de salida. Este procedimiento se pude generalizar de
manera que la forma de las regiones convexas sea arbitraria, en lugar
de hipercubos.
En teora, el Perceptrn de 4 capas puede resuelve una gran variedad
de problemas cuyas entradas sean analgicas, la salida sea digital y
sea linealmente separable. El problema prctico radica en el numero
de neuronas, en el numero idneo de capas ocultas, la extensin de la
funcin de activacin, el tiempo de entrenamiento de la red, las
implicaciones en la generacin de ruido (al tener un numero excesivo
de neuronas) en contraparte con la ventaja de tener un sistema
tolerante a fallas al tener un numero de neuronas redundante.
Aplicaciones del perceptrn
El rango de tareas que el Perceptrn puede manejar es mucho mayor
que simples decisiones y reconocimiento de patrones. Por ejemplo, se
puede entrenar una red para formar el tiempo pasado de los verbos
en ingles, leer texto en ingles y manuscrito. El Perceptrn multicapa
(MLP) puede ser usado para la prediccin de una serie de datos en el
tiempo; tal a sido su xito en la medicin de la demanda de gas y
electricidad, adems de la prediccin de cambios en el valor de los
instrumentos financieros.
Prediccin de mercados financieros, diagnsticos mdicos, el
Perceptrn como una red codificadora, el Perceptrn aprende a sumar
enteros.

26

NETtalk, aplicacin de la que ya hemos hablado anteriormente, es un


Perceptrn que es capaz de transformar texto en ingles en sonido
individual (representaciones fonticas) y la pronunciacin con la
utilizacin de un sintetizador de voz; cuenta con aproximadamente
300 nodos de neuronas (siendo 80 en la capa escondida) y 20,000
conexiones individuales.
Algoritmo del Perceptrn
El objetivo es encontrar un perceptrn para calcular una funcin de nvariables de la que tenemos un fichero de ejemplos, es decir una
serie de lneas, donde cada lnea representa un ejemplo:
x_1 x_2 ... x_n y
con los valores de las entradas X_i seguido del valor Y de la funcin
para esas entradas.
Para encontrar el perceptrn tendremos que aprender los pesos w_i
asociados a cada variable de entrada
X_i + el bias b=W_n+1 (que sera el umbral).
De tal forma que la funcin que calcular el perceptrn ser:
Y = f(e)
Siendo e el estimulo que le entra al perceptrn y f la funcin de
activacin del mismo
e= b + x_i * W_i y
f(x)= 1 /(1+e^x)
En el caso de que la salida fuese binaria, la funcin quedara
Y =1 si f(e) > 0.5, e
Y = 0 si f(e) < .5.
Y en el caso de que tomase n valores discretos habra que generalizar
esto dividiendo el intervalo unidad [0,1] en n subintervalos (1 por
cada valor).
Se supone que el fichero esta normalizado y as, tanto Y como cada
X_i toma valores entre 0 y 1. En otro caso haba que normalizarlo
previamente a dicho intervalo.
Lo que se pretende es minimizar el error cuadrtico medio
( error^2)/n ejemplos)

27

mediante la tcnica del gradiente descendente


CONSTANTES
(tasa de aprendizaje, normalmente entre 0.01 y 0.1)
E (Error cuadrtico medio admitido)
NMaxIteraciones (N mximo de iteraciones que vamos a dar)
VARIABLES
I (n de iteraciones)
K (contador de ejemplos)
W[i:1..n+1] (pesos del perceptron)
X[i:1..n] (valores de la entrada en el ejemplo actual)
Y (valor de la salida en el ejemplo actual)
SP (salida del perceptrn con la entrada del ejemplo actual)
Error (error en el ejemplo actual)
ECM (error cuadrtico medio)
PASO 1: Inicializacin de variables
I=0;
Para i=1..n+1
W[i]=<n aleatorio (normalmente entre 1 y 1)> (muy importante
que el n sea aleatorio,
distinto en cada ejecucin)
ECM=E
PASO 2: Bucle de iteraciones
Mientras (I < NMaxIteraciones) y (ErrorCuadraticoMedio > E)
Paso 2.1: Bucle de paso por todos los ejemplos
Abrir(<fichero de ejemplos>)
K=0
Mientras no este en el final del fichero
2.1.0 Leer valores del ejemplo

28

Leer(x[i] (i=1..n), y)
2.1.1 Calcular error en ese ejemplo
SP = W[n+1] + x[i] * W[i] (salida del perceptrn con la entrada del
ejemplo h)
SP= 1/(1+e^(-SP))
Error = y - SP (diferencia entre el valor de y en el ejemplo h y SP)
2.1.2 Actualizar los pesos segn el error de ese ejemplo
2.1.2.1 Actualizar los pesos de las entradas
Para cada i=1..n
W[i] = W[i] + *SP*(1-SP)*x[i]*Error
2.1.2.2 Actualizar el bias (= -umbral)
W[n+1]=W[n+1] + *SP*(1-SP)*Error
2.1.3 Incrementar contador de ejemplos
k=k+1
Cerrar(<fichero de ejemplos>)
Paso 2.2.: Calcular Error Cuadratico Medio
ECM=0;
Abrir(<fichero de ejemplos>)
Mientras no este en el final del fichero
Leer(x[i] (i=1..n), y)
SP = W[n+1] + x[i] * W[i]
SP= 1/(1+e^(-SP))
Error = y SP
ECM=ECM+(Error)^2
ECM=ECM/k
Cerrar(<fichero de ejemplos>)
Paso 2.3.: Incrementar el contador de iteraciones
I=I+1
PASO 3: Salida
Escribe( El perceptrn aprendido es el de pesos: )
Para i=1..n
Escribe( W,i,=,W[i])
Escribe(Con bias =, W[n+1])

29

Adaline
Es una de las estructuras neuronales ms simples junto con el
perceptrn.
Est formada por un nico elemento de procesado (Adaline: Adaptive
Linear Elemento; "Widrow-Hoff").
Si se combinan varios adalines se obtiene la configuracin
denominada Madaline.
Para su entrenamiento se utiliza un aprendizaje supervisado,
concretamente, por correccin de error. El aprendizaje es Off Line.

Se trata de modificar los pesos para tratar de reducir la diferencia


entre la salida deseada y la actual (para cada patrn).
La regla de aprendizaje a utilizar se denomina LMS: minimiza el Error
Cuadrtico Medio sobre todos los patrones de entrenamiento.
Clculo de Pesos ptimos
Sea el conjunto de entrenamiento: (X,D): patrones de entrada y
salidas deseadas.
X ---- conjunto de L vectores de dimensin n.
D ---- conjunto de L vectores de dimensin m (en este caso m=1).
Salida Deseada.
Y ---- conjunto de L vectores de dimensin m ( en este caso m=1).
Salida Obtenida.
Se trata de minimizar: Sea Yk la salida obtenida para el patrn k.

El error para el patrn k

entonces :

30

El Error Cuadrtico Medio:

Sea:

Para hallar el mnimo derivamos con respecto a W y se hace igual a 0:

Consecuencias:
Posee un extremo
El extremo es mnimo

31

Backpropagation o Retropropagacin:
Redes de Retropropagacin (Back-prop)
Al hablar de redes de retropropagacin o redes de propagacin hacia
atrs hacemos referencia a un algoritmo de aprendizaje ms que a
una arquitectura determinada.
La retropropagacin consiste en propagar el error hacia atrs, es
decir, de la capa de salida hacia la capa de entrada, pasando por las
capas ocultas intermedias y ajustando los pesos de las conexiones
con el fin de reducir dicho error.
Hay distintas versiones o reglas del algoritmo de retropropagacin y
distintos arquitecturas conexionistas a las que pueden ser aplicados.
Durante mucho tiempo no se dispuso de algoritmos para entrenar
redes multicapa, y como las redes de una capa estaban muy limitadas
en cuanto a lo que eran capaces de representar, el campo de las
redes neuronales artificiales estaba estancado.
La invencin y perfeccionamiento del algoritmo de retropropagacin
dio un gran impulso al desarrollo de este campo. Tiene un buen
fundamento matemtico y a pesar de sus limitaciones ha expandido
enormemente el rango de problemas donde se aplican las redes
neuronales artificiales.
Al parecer el algoritmo fue ideado a principios de los 70 por Werbos, y
redescubierto a principios de los 80 por Parker y Rumelhart
independientemente. Sin embargo, no se hizo popular hasta 1986,
cuando Rumerlhart, Hinton y Williams presentaron una descripcin
clara y concisa del mismo.
Y es que en un primer momento no se valor como se mereca. El
hecho de que permaneciera en el olvido tanto tiempo tambin debe
ser una consecuencia de la condicin interdisciplinar del campo,
repartido entre las matemticas y ciencias de la computacin, las
neurociencias y la psicologa.
Desde la fecha clave de 1986 han surgido nuevas versiones que han
tratado de aumentar la velocidad de convergencia del algoritmo y
han tratado de superar algunos de sus inconvenientes, como la
tendencia a alcanzar mnimos locales y no globales.
Descripcin matemtica del algoritmo de retropropagacin

32

Se explica una versin del algoritmo (Hinton, 1992) para redes con las
siguientes caractersticas:
1.
2.
3.

No recurrentes
Funcin de activacin sigmoidal
Capas totalmente interconectadas
Operacin totalmente sncrona
Aleatorizamos los pesos de las conexiones.
Presentamos un patrn de entrada y calculamos la salida.
Dada una unidad j-sima de la capa de salida y unidades isimas de la capa oculta inmediatamente anterior, calculamos
la entrada total ponderada y la salida o activacin de la misma.

4. Una vez computadas las actividades de todas las unidades de


salida se calcula una estimacin del error, generalmente una
funcin cuadrtica de los errores individuales cometidos por
cada unidad, siendo cada error individual la diferencia entre la
salida deseada y la obtenida.

siendo dj la salida deseada para la unidad j-sima


5. Cmputo de la rapidez de variacin del error al cambiar la
actividad de cada unidad de salida (EA, error respecto a la
actividad)

33

Es justamente la diferencia entre la salida deseada y la salida


real obtenida, es decir, la diferencia entre la actividad deseada
y la actividad real.
6. Cmputo de la rapidez de variacin del error al cambiar la
entrada total que recibe cada unidad de salida.

Es igual a la tasa de variacin del error al variar su activacin


multiplicado por la tasa de variacin de la activacin al cambiar
su entrada ( que es justamente la derivada de la funcin
sigmoidal).
7. Cmputo de la rapidez de variacin del error al ser modificado
un peso de la conexin aferente a una unidad de salida.

Es igual a la tasa de variacin del error al variar su entrada, por


la tasa de variacin de la entrada al variar ese peso.
Hasta ahora sabemos calcular el EA slo para las unidades de
salida, qu pasa con las unidades ocultas?. En este caso no
tenemos una estimacin directa del error aportado por cada
unidad oculta; aqu es donde interviene la retropropagacin o
propagacin hacia atrs del error:

34

La unidad i-sima de la capa oculta afecta a todas las unidades de


salida, por lo tanto,
para estimar como vara el error al variar la actividad de esa unidad
oculta, habr que sumar los efectos individuales de su actividad sobre
todas las neuronas de salida.
Cada efecto individual sobre la variacin del error, ser igual a la tasa
de variacin del error de la unidad de salida al cambiar su entrada
total, multiplicado por la tasa de variacin de su entrada al variar la
actividad de la unidad oculta.

8. Conociendo EA para las unidades de cualquier capa podemos


calcular d y EP con las expresiones ya conocidas.

9. Disponiendo de la tasa de variacin del error respecto al peso


de una conexin (EP), podemos usar distintas reglas para
modificar ese peso en aras a reducir dicho de error.
Una de las primeras reglas que aprovech este algoritmo es la
regla delta generalizada, que calcula el incremento a aplicar a
un peso como una proporcin directa de la tasa de variacin del
error, siendo h el coeficiente de aprendizaje, tpicamente con
valores comprendidos entre 0.01 y 1.0

Valoracin
El algoritmo de retropropagacin presenta ciertos problemas, algunos
referentes a su dudosa plausibilidad neurofisiolgica, y otros
referentes a ciertos aspectos computacionales, que son los que
vamos a comentar a continuacin:

35

Los resultados dependen de los valores iniciales, aleatorios,


de las conexiones. Esto hace que sea conveniente entrenar
varias redes con distintas valores iniciales y elegir la que mejor
funcione.

A veces se requiere mucho tiempo para obtener soluciones


sencillas. Este problema se reduce gracias al aumento de
potencia de los procesadores y al uso de nuevas tecnologas,
sin embargo, el tiempo de cmputo aumenta mucho al
aumentar el tamao de la red. Si bien el volumen de clculo es
proporcional al nmero total de conexiones. En la prctica, al
aumentar el tamao de la red, hacen falta ms ejemplos de
aprendizaje, y eso provoca un aumento aumenta mucho mayor
del tiempo de aprendizaje. Para incrementar la velocidad de
convergencia se han desarrollado diferentes modificaciones del
algoritmo.

La "interferencia catastrfica" o empeoramiento en el


rendimiento del sistema, como consecuencia de la
incorporacin de nuevos ejemplos de aprendizaje.

La parlisis: esto sucede cuando los pesos quedan ajustados a


valores muy grandes, esto hace operar a las unidades de
proceso con una activacin muy prxima a 1, y por lo tanto, el
gradiente del error, tiende a 0???, en consecuencia no se
producen modificaciones en los pesos, el aprendizaje queda
detenido. Por eso es conveniente aleatorizar los pesos de las
conexiones con valores pequeos y usar la tasa de aprendizaje,
tambin pequea???, a pesar de que se ralentice el aprendizaje.

Inestabilidad temporal. Si usamos un coeficiente de


aprendizaje elevado, se van a producir incrementos grandes en
los pesos, de manera que es fcil pasarse de incremento y
tener que tratar de compensarlo en el siguiente ciclo, de
manera que se produciran oscilaciones continuas. Esto se
soluciona usando un coeficiente pequeo, o, para no tener un
aprendizaje muy lento, modificar dicho coeficiente
adaptativamente (aumentarlo si el error global disminuye, y
disminuirlo en caso contrario).

El problema de los mnimos locales. El algoritmo de


retropropagacin usa un tcnica por gradiente descendiente,
esto significa que sigue la "superficie del error" siempre hacia
abajo, hasta alcanzar un mnimo local, pero no garantiza que se
alcance una solucin globalmente ptima. Sin embargo, se ha

36

comprobado que el hecho de alcanzar mnimos locales no


impide que se consigan resultados satisfactorios. Por otro lado,
se han desarrollado mtodos para solventar este problema,
como el modo de operacin asncrono o probabilstico y el uso
de mtodos estadsticos.

Podemos considerar el error como una superficie llena de desniveles,


si soltamos una pelota caer en algn valle, pero no necesariamente
en el ms hondo, sino en el ms cercano (un mnimo local).
Una idea intuitiva para solucionar esto, sera aplicarle cierta energa a
esa superficie agitndola o hacindola vibrar (momentum), esto hara
saltar a la pelota de valle en valle, como de los valles ms profundos
es ms difcil salir, tendera a estar en valles cada vez ms profundos.
Si dejamos de agitar esa superficie poco a poco, al final tendremos la
pelota en el valle ms profundo de la superficie.
Otras tcnicas que pueden ayudar a no caer en mnimos locales
consisten en aadir cierto nivel de ruido a las modificaciones de los
pesos de las conexiones. Otra medida propuesta es aadir ruido a las
conexiones, pero esto es ms til para darle robustez y aumentar la
capacidad de generalizacin de la red. Estas medidas, por contra,
aumentan el tiempo de aprendizaje.

Validacin
Necesidad de validacin
Una vez tenemos nuestro modelo, es necesario probarlo ante
diferentes situaciones y circunstancias.
Es preciso asegurarse de que nuestra red funciona correctamente, ya
que podra no hacerlo por diferentes motivos. Los ms usuales son los
siguientes:
-

Entrenamiento insuficiente
37

Conjunto de datos no representativo


Sobreentrenamiento

Punto ptimo para parar el entrenamiento


Dentro de las tcnicas de validacin, uno de los principales objetivos
que se persigue es encontrar cul es exactamente el punto en el que
debemos parar nuestro entrenamiento.
Generalmente, se suelen seguir los siguientes criterios:
-

Al llegar a evaluar un nmero determinado de ejemplos


Cuando el error alcanza un mnimo
Si la reduccin del error es inferior al estipulado
convenientemente.

Mtodo de validacin simple


Este es el mtodo conocido como hold-out.
Su metodologa divide el conjunto de datos en 3 grupos, que debern
estar claramente diferenciados y escogidos a conciencia:
-

Datos para el entrenamiento: sern los datos con los que se


entrenar nuestra red, y a travs de los que se realizar el
aprendizaje.
Datos para la validacin: sern los datos que servirn como
comprobacin de que nuestra red neuronal funciona
adecuadamente y en la manera que esperbamos.
Datos para el test: sern un conjunto reducido de datos,
escogidos al azar, que darn finalmente un resultado del trabajo
de nuestra red.

Mtodo de validacin cruzada


Es ms conocido como cross-validation.
Este mtodo de validacin busca eliminar la dependencia del azar a la
hora de seleccionar los conjuntos de datos para la validacin.
As, en cada serie de conjuntos de datos, se seleccionar uno de ellos
para formar parte de la validacin.
Produce mayor fiabilidad en la validacin, aunque consume un tiempo
algo superior.

38

Otros mtodos de validacin


Simplemente, mencionar otros mtodos usuales en la validacin de
redes neuronales:
-

Bootstrapping
Stacked generalization

Por qu validar y cmo?


Es de gran importancia comprobar que nuestra red funciona
correctamente con unos ejemplos con los que no ha sido entrenada
(pensemos en que, como papagayos, podra haber aprendido
nicamente los ejemplos con los que ha sido entrenada).
Para llevar a buen puerto esta tarea, tendremos que tener un
conjunto de datos general que represente adecuadamente el
problema para el que estamos trabajando con nuestra red neuronal.
Con todo el proceso de validacin, tendremos que comprobar si
nuestro modelo de cmputo se ajusta fielmente a las situaciones
reales que le presentamos y para lo que, en definitiva, ha sido
concebido.

39

BIBLIOGRAFA
Las principales fuentes bibliogrficas son sitios de la red:

URL: www.iiia.csic.es

URL: www.gc.ssr.upm.es

URL: www.monografias.com

URL: http:// decsai.ugr.es/~castro/MCII

URL: http://ohm.utp.edu.co

URL: www.lfcia.org

URL: www.gui.uva.es

URL: http://electronica.com.mx

URL: www.google.es

40

URL: www.ugr.es

Transparencias sobre Redes Neuronales Juan Luis Castro Pea

41

También podría gustarte