FUNDAMENTOS DE REDES NEURONALES ARTIFICIALES

Anuncio
FUNDAMENTOS DE REDES
NEURONALES ARTIFICIALES
FELIPE LARA ROSANO
INDICE
LABORATORIO DE CIBERNETICA APLICADA
CENTRO DE INSRUMENTOS
UNAM.
1. INTRODUCCION
2. GENERALIDADES SOBRE REDES NEURONALES NATURALES
Estructura de la neurona biológica
La corteza cerebral como red neuronal
3. REDES NEURONALES ARTIFICIALES ELEMENTALES
Bosquejo histórico
La neurona artificial
El Perceptrón
La Adaline
3. OTRAS REDES NEURONALES ARTIFICIALES
Redes de Hopfield
Redes de Memoria Asociativa Bidireccional
4. MODELOS DE APRENDIZAJE EN REDES NEURONALES ARTIFICIALES
MULTICAPAS
Tipos de aprendizaje
Aprendizaje por retropropagación del error
5. APLICACIONES POTENCIALES
Diagnóstico
Procesamiento de señales
Procesamiento y análisis de imágenes
Control Automático y Robótica
Análisis y generación de lenguaje natural
7. BIBLIOGRAFIA.
1. INTRODUCCION
En los últimos años ha habido un desarrollo explosivo de
la investigación básica y aplicada alrededor de las Redes
Neuronales artificiales. Estos sistemas, también llamados
sistemas de procesamiento distribuido en paralelo, sistemas
coneccionistas,
redes
neurales
y
neurocomputadoras,
constituyen la base de la Sexta Generación de computadoras
anunciada ya por los japoneses.
Entre las razones de este desarrollo explosivo, destaca
el que las Redes Neuronales artificiales presentan en
ciertos campos claras ventajas sobre las computadoras
digitales comunes, llamadas del tipo Von Neumann, (Von
Neumann 1945) pues no sólo son capaces de aprender de la
experiencia sin grandes complicaciones de software o de
hardware, sino que pueden resolver en forma sencilla y
económica algunos de los problemas que constituyen los
mayores retos para las computadoras tradicionales, tales
como el reconocimiento de patrones complejos, procesamiento
de imágenes, generación e interpretación de lenguaje natural
y problemas de clasificación y diagnóstico difusos.
Por las razones anteriores, en una primera etapa de
investigación, en el Laboratorio de Inteligencia Artificial
de la Coordinación de Sistemas del Instituto de Ingeniería
se decidió explorar la naturaleza y arquitectura de las
Redes
Neuronales
artificiales.
El
resultado
de
esta
indagación se presenta en este documento.
2. GENERALIDADES SOBRE REDES NEURONALES NATURALES
Estructura de la neurona biológica
Desde que se empezó a conocer la anatomía y estructura
del tejido nervioso,a partir de los trabajos de Ramón y
Cajal (1911) en España, los investigadores trataron de
conocer la forma cómo este tejido y los órganos que
constituye,
especialmente
el
cerebro,
procesan
la
información que reciben de los órganos receptores, para dar
una respuesta adecuada a sus estímulos. Aunque aun se está
lejos de comprender el funcionamiento y la estructura del
sistema nervioso, se conoce con cierto detalle la estructura
de la neurona, como elemento básico del tejido nervioso y la
forma cómo se estructura la corteza cerebral.
La neurona, como toda célula, consta de una membrana
exterior M, que la limita y le sirve de órgano de
intercambio con el medio exterior, de un citoplasma C, que
es el cuerpo principal de la célula donde radica el grueso
de sus funciones y de un núcleo N, que contiene el material
genético de la célula. (Figura 1)
El citoplasma presenta unos alargamientos D, llamados
dendritas, que son órganos de recepción. En las dendritas
termina un gran número de fibras F que son conductores que
llevan la señal o impulso nervioso de los receptores o de
otras neuronas hacia la neurona. Estas fibras terminan en un
pequeño corpúsculo llamado sinapsis, que constituye un
relevador bioquímico y que sirve para transferir la señal de
una neurona a otra.
Existen
dos
clases
de
sinapsis:
actuadoras,
que
favorecen el disparo de la neurona receptora e inhibidoras,
que dificultan éste. Cuando se presenta un cierto desbalance
entre las sinapsis actuadoras y las inhibidoras activas, la
neurona dispara un impulso de salida, que constituye la
respuesta de la neurona. Este impulso nervioso de salida es
conducido por una prolongación cilíndrica alargada (hasta de
varios decímetros de largo) de la neurona, que se llama
cilindro eje o axón A, que en su extremo se divide en varias
fibras para comunicarse con otras neuronas o con órganos
efectores o motores como glándulas o músculos.
El citoplasma de las neuronas forma la masa gris de los
centros nerviosos y el conjunto de cilindros ejes forma la
masa blanca de aquéllos.
La corteza cerebral como red neuronal
En el cerebro humano la corteza cerebral contiene la
mayor parte de las neuronas de este órgano y constituye, por
ese hecho, la red neuronal natural más compleja. La corteza
cerebral tiene un espesor promedio de 3mm y una superficie
de unos 2000 cm2.En ella se sitúan unos cien mil millones de
neuronas y de cien a mil billones de sinapsis. Es el centro
superior de la memoria, del procesamiento de sensaciones, de
la regulación motora, del lenguaje, de los afectos y de los
mecanismos de inferencia. Está situada en la periferia del
cerebro,
formando
pliegues
llamados
circunvoluciones
cerebrales. En la corteza hay zonas especializadas en
determinado
trabajo,
llamadas
zonas
o
localizaciones
cerebrales. Aunque su definición aun está en estudio, se
tienen identificadas claramente las zonas motoras, las zonas
del lenguaje, así como las zonas sensitivas correspondientes
a los diferentes sentidos.
Conjuntamente
con
los
descubrimientos
de
los
neurofisiólogos
y
neuroanatomistas,
algunos
psicólogos
comenzaron a desarrollar modelos neuronales de aprendizaje.
Uno de los que tuvo mayor recocimiento fue el de Donald O.
Hebb, (1949) que propuso su ley de aprendizaje, que
posteriormente fue el fundamento de los algoritmos de
aprendizaje de las Redes Neuronales artificiales. Hebb
postuló que si por alguna circunstancia dos neuronas se
activan simultáneamente, se fortalecen las conexiones entre
esas dos neuronas, haciendo que para una de ellas sea más
fácil disparar, si la otra dispara. Esto explicaría la
formación de reflejos condicionados en los animales.
Esta teoría de Hebb dió lugar a nuevas teorías sobre la
memoria y el aprendizaje. La parte del tejido nervioso más
plástica es precisamente la sinapsis, donde la conductividad
sináptica puede ser alterada por cambios en la composición
química, en el tamaño y en la forma de dicha sinapsis. De
esta forma puede explicarse la memoria como un conjunto de
cambios en las sinapsis entre neuronas, en cuyo caso la
información
queda
codificada
por
el
número
de
interconexiones entre neuronas y el grado diferencial de
conductividad de las sinapsis correspondientes.
3. REDES NEURONALES ARTIFICIALES ELEMENTALES
Bosquejo histórico
En la década de los 40 y principios de los 50 , varios
investigadores entre los que destacan McCulloch y Pitts
(1943), Householder y Landahl (1945), Kleene (1956), Von
Neumann (1956) y Culbertson (1956) elaboraron modelos
matemáticos de neuronas y Redes Neuronales. En la década de
los 50, varios investigadores, entre ellos
Farley y Clark
(1954) y Rochester, Holland, Haibt y Duda (1956), combinaron
los resultados obtenidos por los matemáticos, biólogos y los
psicólogos
y
desarrollaron
modelos
de
simulación
en
computadora de neuronas y Redes Neuronales, dando lugar a la
forma actualmente más generalizada de trabajar con estos
sistemas:
su
simulación
mediante
software,
en
una
computadora digital común.
Pronto se obtuvieron éxitos muy promisorios. Frank
Rosenblatt desarrolló el Perceptrón (Rosenblatt 1958), que
fue la primera red neuronal artificial especificada con toda
precisión y orientada computacionalmente. Como era una
máquina que podía aprender y demostrar comportamiento
adaptativo complejo, atrajo de inmediato la atención de los
investigadores.
Su
procedimiento
de
convergencia
de
aprendizaje fue un avance definitivo sobre la teoría de
Hebb. Asimismo, Rosenblatt desechó el enfoque de teóricos
anteriores, que veían al cerebro como una computadora
lógica. En vez de ello, lo consideró como un asociador y
clasificador,
cuya
misión
era
asociar
respuestas
de
clasificación a estímulos específicos. En 1962 Rosenblatt
publicó su libro Principles of Neurodynamics (Rosenblatt
1962) en el que presentó formalmente el Perceptrón como
modelo para construir Redes Neuronales artificiales.
Los perceptrones se aplicaron rápidamente a resolver
problemas tales como la predicción climatológica, la
interpretación de electrocardiogramas y otros. Tal parecía
que
se
había
hallado
la
clave
para
comprender
el
funcionamiento cerebral, emulando las Redes Neuronales
naturales mediante redes complejas de perceptrones.
Sin embargo, pronto se comprobó que las redes con una
capa de perceptrones eran incapaces de resolver problemas
tan simples como la simulación de una compuerta lógica de
tipo O exclusivo y, tras una investigación sobre las
limitaciones
de
los
perceptrones,
Minsky
y
Pappert
publicaron el libro Perceptrons (Minsky & Pappert 1969)
donde
se
hacían
patentes
estas
limitaciones.
Como
consecuencia, los fondos para nuevas investigaciones se
congelaron y la mayoría de los investigadores reorientaron
su objeto de estudio. Sólo un par de investigadores aislados
como Teuvo Kohonen en Finlandia, Stephen Grossberg y James
Anderson en Estados Unidos, continuaron sus esfuerzos en
este campo, dando lugar lentamente a que, a través de los
años, (Kohonen 1972), (Anderson 1972) y (Grossberg 1987),
emergiera un nuevo cuerpo teórico alrededor de las Redes
Neuronales
multicapas,
que
superó
las
limitaciones
encontradas por Minsky y dio nuevo impulso al desarrollo de
Redes Neuronales artificiales.
La neurona artificial
La neurona artificial es una unidad
cuatro elementos funcionales: (Figura 2)
procesadora
con
1. El elemento receptor, a donde llegan una o varias
señales de entrada xi, que generalmente provienen de otras
neuronas y que son atenuadas o amplificadas cada una de
ellas con arreglo a un factor de peso wi que constituye la
conectividad entre la neurona fuente de donde provienen y la
neurona de destino en cuestión.
2. El elemento sumador, que efectúa la suma algebraica
ponderada de las señales de entrada, ponderándolas de
acuerdo con su peso, aplicando la siguiente expresión:
S = Σ wi xi
(1)
.
3. El elemento de función activadora, que aplica
función no lineal de umbral (que frecuentemente es
función escalón o una curva logística) a la salida
sumador para decidir si la neurona se activa, disparando
salida o no.
una
una
del
una
4. El elemento de salida que es el que produce la señal,
de acuerdo con el elemento anterior, que constituye la
salida de la neurona.
Este modelo neuronal es el utilizado en casi todas las
Redes Neuronales artificiales, variando únicamente el tipo
de función activadora.
A continuación se presentarán los modelos más simples de
Redes Neuronales artificiales.
El Perceptrón
El Perceptrón, desarrollado por Rosenblatt (1958),
consiste en una neurona procesadora, con sus elementos de
entrada, sumador, activador y de salida. a la cual llegan
señales de entrada xi, i = 1, 2,...,n cada una con una a
través de una línea con conductividad o peso asociado wi. El
elemento sumador efectúa entonces una suma ponderada de las
entradas, en tanto que el activador emplea una función
escalón de umbral: si la suma ponderada es mayor o igual a
un valor de umbral U, da una salida y de tal manera que:
y = 1
si S > U
y = 0
si S < U
La red neuronal más simple construida con perceptrones
tiene dos capas: una capa receptora de entrada, en la que la
salida de cada neurona reproduce simplemente su entrada (Fig
3) y una capa de salida formada por perceptrones como los
descritos, totalmente conectados con la capa de entrada, a
través de líneas de comunicación con conductividades o pesos
ajustables.
Así, cada neurona de entrada está conectada con cada
neurona de salida a través de una línea de comunicación con
una conductividad o peso ajustable. La ley de aprendizaje
del perceptrón ajusta estos pesos, de manera que se obtenga
con mayor probabilidad la salida deseable correspondiente a
un cierto conjunto de entradas.
El perceptrón es entrenado presentándole un conjunto de
patrones de entrenamiento en forma repetida. Cada patrón de
entrenamiento es una pareja formada por un vector de entrada
x y su vector de salida y deseable. La dimensión del vector
de entrada es igual al número de neuronas de la capa de
entrada, en tanto que la dimensión del vector de salida es
igual al número de neuronas de la capa de salida.
Al presentarle el vector de entrada al perceptrón, sus
neuronas de entrada lo asumen. Las salidas de la red se
comparan con el vector de salida y la diferencia obtenida se
utiliza para reajustar los valores de los pesos w de las
interconexiones. Este reajuste se hace de modo que sea más
probable que la red dé la respuesta apropiada la siguiente
vez.
El
entrenamiento
prosigue
hasta
que
todas
las
respuestas de la red se aproximan en forma aceptable a las
deseadas.
Para el reajuste de los pesos, existen diferentes reglas
propuestas posteriormente por diferentes autores (Duda &
Hart 1973; Rosenblatt 1962), basadas en la Regla Delta de
Widrow y Hoff (1960).. En una de las más sencillas, el nuevo
peso w1 es igual al peso anterior w0 más una cantidad
proporcional a la diferencia entre la salida deseada t y la
salida real y:
w1 = w0 + η (t - y)
(2)
donde η es una constante de proporcionalidad menor que
la unidad que se llama razón de aprendizaje.
Si el vector de entradas es de ceros y unos, hay una
fórmula derivada en la que la razón de aprendizaje se
multiplica por la entrada correspondiente x. De este modo,
el peso se modifica solo cuando la entrada vale 1, es decir,
cuando está activa. Así,la fórmula anterior queda en la
forma:
w1 = w0 + x η (t - y)
(3)
De acuerdo con estas fórmulas, el nuevo peso es mayor
que el anterior, si la salida deseada es mayor que la actual
y menor en el caso contrario.
Antes de comenzar el entrenamiento, los pesos se fijan
aleatoriamente. Durante el entrenamiento, los patrones de
entrenamiento se presentan a la red una y otra vez (a veces
cientos y hasta miles de veces), hasta que los pesos ya no
se modifican. En este caso se dice que la red ha convergido,
en cuyo caso o ha aprendido con éxito o se declara incapaz
de aprender todas las respuestas correctas.
Las limitantes más grandes del perceptrón es que, aunque
pueden construirse Redes Neuronales de varias capas con él,
no permite más que una sola capa de pesos adaptativos.
La Adaline
La Adaline es un modelo de neurona desarrollado por
Bernard Widrow
y Marcian E. Hoff(Widrow & Hoff 1960). Su
nombre proviene de adaptive linear neuron, aun cuando
después la rebautizaron como adaptive linear element, cuando
los modelos neuronales cayeron en desgracia.
La Adaline es análoga a un perceptrón, ya que calcula la
suma ponderada de sus entradas, siendo sus diferencias las
siguientes:
a) A las entradas que provienen del exterior o de otras
neuronas, se les agrega otra entrada adicional xo con un
valor constante de bias o polarización, que en general es
igual a +1 y que, modulada por su peso wo, representa el
umbral de disparo de la neurona.
b) La señal de salida es +1 o -1, según que la suma
ponderada S sea mayor o menor que el umbral de disparo. Para
definirla, se utiliza una función activadora equivalente a
una función escalón (fig 4).
c) El error que se utiliza para la regla de aprendizaje
es la diferencia entre la salida S del sumador ponderado y
la salida deseada, en vez de tomar la diferencia entre la
salida total (que es la salida del cuantizador) y la salida
deseada. La razón de ello es que aquélla es matemáticamente
más fácil de manipular, por ser una función cuadrática de
los pesos de entrada y, además, el cuadrado del error total
es una función monotónica del cuadrado de este error, por lo
que minimizarlo significa minimizar el error total. Esto
significa, además, que la Adaline sigue aprendiendo, aún
después de dar una respuesta final correcta, en tanto la
salida del sumador no sea igual a la salida total. Este
aprendizaje adicional abrevia considerablemente el tiempo
total de aprendizaje, en relación con el perceptrón.
La regla de aprendizaje, llamada también la Regla Delta,
es la siguiente: (Widrow & Hoff 1960)
∆wij = yi η (tj - Sj)
(4)
donde ∆wij es el incremento en el peso entre la neurona
i y la neurona j, yi es la salida de la neurona i, η es la
tasa de aprendizaje, tj es la salida deseada de la neurona j
y Sj la salida del sumador de la neurona j.
Al definir el mecanismo de aprendizaje, Widrow y Hoff
minimizan el cuadrado del error antes definido, utilizando
el método del gradiente máximo. Al tratarse de una
superficie cuadrática, el mínimo encontrado es un mínimo
global. Asimismo, los autores muestran que las derivadas
parciales definidas al plantear la minimización, son
proporcionales al error mencionado, por lo que la medición
de este error permite calcular la dirección hacia adónde
moverse para corregirlo.
Es fácil pasar de un elemento a una red de varios
elementos, en virtud de que la ley de aprendizaje es local,
esto es, una neurona dada solo debe tener información
respecto a su propia entrada y salida, sin preocuparse por
las demás.
4. OTRAS REDES NEURONALES ARTIFICIALES
Redes de Hopfield
En 1982, John Hopfield introdujo un nuevo tipo de redes,
que posteriormente se llamaron Redes de Hopfield. (Hopfield
1982)
La red de Hopfield elemental tiene una sola capa de
neuronas, pero todas éstas están conectadas entre sí,
mediante
arcos
dobles
ponderados
que
van
en
ambas
direcciones. Cada peso puede ser positivo o negativo. Esta
topología doble de interconexión convierte a la red en una
red retroalimentada o recursiva. (Fig 5)
Cada una de las neuronas tiene una salida que puede
estar en uno de dos estados: 0 o 1. La salida es 1, si la
suma ponderada de las salidas de las otras neuronas es mayor
que un umbral especificado T; en caso contrario la salida es
0.
Toda la red está entonces en un cierto estado a cada
momento, definido por un vector de estados cada uno de cuyos
elementos corresponde a una de las n neuronas. Los estados
de la red se pueden también representar como los vértices de
un hipercubo de n dimensiones, siendo n el número de
neuronas.
Aunque en principio los pesos wij y wji de una rama
doble pueden ser diferentes, un teorema garantiza que si son
iguales, esto es si la matriz de pesos es simétrica, la red
converge. Hay ocasiones en las que incluso la red puede
converger teniendo pesos diferentes en las ramas dobles.
Una de las aplicaciones de la Red de Hopfield es la de
servir como memoria asociativa.
Una memoria asociativa es aquella en que una fracción de
una señal es capaz de reproducir la totalidad de la señal.
Por ejemplo, con una fracción de una melodía el cerebro
humano puede reconocer y reproducir la melodía completa. Las
memorias asociativas son útiles para regenerar señales
incompletas o deterioradas por ruido.
Para fungir como memoria asociativa,
pesos de la red debe ser igual a:
W =
∑yiT
yi
la
matriz
W
de
(5)
i
donde
yi
es
el
iésimo
vector a reconocer (memoria),
expresado como vector renglón, yiT yi es la matriz de pesos
correspondiente al iésimo vector a reconocer y la sumatoria
abarca todas las matrices de pesos correspondientes a todos
los vectores (memorias) a reconocer. (Wasserman 1989)
Una vez que los pesos han sido determinados, la red
puede ser utilizada para producir el vector de salida
deseado, aunque el vector de entrada esté incompleto. Para
ello, se presenta a la red el vector de entrada. Después el
vector de entrada se retira y se permite relajarse a la red
hasta alcanzar el estado estable más cercano, que será el
vector reconocido.
El procedimiento de relajación o actualización de la red
se realiza en forma secuencial, considerando solamente una
neurona a la vez y eligiendo en forma aleatoria la neurona
que se va a actualizar. La actualización de una neurona j se
realiza calculando la suma ponderada de sus entradas:
Sj =
∑xiwij
(6)
i
Si la suma es menor o igual que el umbral T, el estadosalida yj de la neurona j se hace igual a cero. Si la suma
es mayor que el umbral T, el estado-salida de la neurona j
se hace igual a uno.
Es factible asociar a cada estado de la red una cantidad
escalar denominada energía de la red, y que está dada por la
expresión:
1
E = - 2 wjixjxi
ji
∑
∑
Es factible demostrar (Dayhoff 1990) que a medida que
red se actualiza, su energía decrece hasta alcanzar
mínimo cuando la red se estabiliza. Este mínimo depende
la posición inicial de la red y puede ser, por lo tanto,
mínimo local y no uno global.
(7)
la
un
de
un
La existencia de una función objetivo de tipo cuadrático
asociada a una red de Hopfield permite que estas redes
puedan ser utilizadas como mecanismos de optimización.
(Hopfield & Tank 1985)
Redes de Memoria Asociativa Bidireccional
Hasta
ahora
se
han
presentado
redes
de
memoria
autoasociativa, esto es, que un cierto patrón puede ser
completado o corregido, pero no asociado con un patrón
diferente. Esto es el resultado de redes de una sola capa de
neuronas. Las Redes de Memoria Asociativa Bidireccional son
heteroasociativas, es decir, que ante un vector de entrada
dado produce un vector diferente, aunque relacionado, en
otra capa de neuronas. Aunque existen diferentes tipos de
Redes de Memoria Asociativa Bidireccional, se presentará
aquí el descrito por Wasserman (1989).
La red se compone de tres capas: (Fig 8) una capa de
entrada
A,
una
capa
de
salida
B
y
una
capa
de
retroalimentación R. Cada neurona de la capa de entrada A
está conectada con todas las neuronas de la capa de salida
B, a través de una matriz de pesos W. La salida de la
neurona j de la capa de salida B va a la entrada de la
neurona j de la capa de retroalimentación R y cada neurona
de la capa de retroalimentación R está conectada con todas
las neuronas de la capa de entrada A a través de una matriz
de pesos que es la transpuesta WT de la matriz de pesos W.
De esta manera, si se aplica un vector de entrada a a la
capa de entrada, es transformado por la matriz de pesos W en
un vector de entrada aW a la capa de salida. Este, a su vez,
es transformado por la función de activación de las neuronas
de esta capa para obtenerse el vector b de salida de la capa
de salida, lo que puede expresarse como:
b = F (a W)
(9)
.
Este vector b se lleva a la capa de retroalimentación,
la cual lo multiplica por la matriz WT de pesos y lo
presenta a la capa de entrada A, que produce un segundo
vector a. Este segundo vector a es igual a:
a = F (b WT)
(10)
Este proceso se repite hasta que la red alcanza un
estado estable.
La red funciona asociando los vectores a y b, mediante
pesos adecuados. Si se quiere ver qué vector b corresponde a
un vector a, se fuerza la red a igualar la salida de la capa
de entrada a este vector a, se remueve la entrada, se deja
estabilizar la red y el vector de salida de la capa de
salida es el vector b buscado.
La matriz
expresión:
de
pesos
apropiada
W =
se
∑aiT
calcula
bi
mediante
la
(10)
i
donde la sumatoria se hace para todas las parejas de
vectores a,b que se quiere asociar en la red.
Existen versiones de estas redes que permiten la
definición de la matriz de pesos mediante aprendizaje,
utilizando aprendizaje de Hebbs. (Hebbs 1949), donde el
cambio de pesos es proporcional al producto del nivel de
activación de las dos neuronas ligadas por el peso.
5. MODELOS DE APRENDIZAJE EN REDES NEURONALES
ARTIFICIALES MULTICAPAS
Tipos de aprendizaje
Se ha mencionado ya que una de las características
fundamentales de las Redes Neuronales es su adaptabilidad y
su
susceptibilidad
de
aprendizaje,
a
través
de
la
modificación de los pesos de las interconexiones entre las
diferentes neuronas.
Hay dos formas fundamentales de aprendizaje:
1. Aprendizaje supervisado, que requiere la presencia de
un tutor externo y una serie de patrones de aprendizaje. El
tutor conoce el vector de respuesta correcto ante cada
vector de entradas y, con la respuesta real de la red,
genera un vector de error, que retroalimenta a ésta. La red,
con base en el vector de error, actualiza los pesos de sus
interconexiones de manera que el error tienda a desaparecer.
Con un número suficiente de sesiones de entrenamiento, la
red converge, produciendo las respuestas deseadas. Este tipo
de aprendizaje es el aplicado tanto en el Perceptrón, como
en la Adaline.
2. Aprendizaje no supervisado, que utiliza datos de
entrenamiento no etiquetados previamente y no necesita tutor
externo. Los datos son presentados simplemente a la red, que
de acuerdo con ellos configura cúmulos internos que
comprimen los datos de entrada en cierto número de
categorías de clasificación. Este tipo de aprendizaje es el
aplicado en las Redes de Kohonen.
En
este
capítulo
se
resumirán
otros
modelos
de
aprendizaje relevantes para las Redes Neuronales que entran
en una de estas categorías.
Aprendizaje por retropropagación del error
La
principal
deficiencia
de
los
algoritmos
de
aprendizaje referidos es que no pueden ser utilizados cuando
hay más de una capa de pesos qué ajustar. Por esta razón, el
modelado de sistemas inteligentes mediante Redes Neuronales
decayó durante algunos años, hasta que en 1986 David
Rumelhart, Geofrey Hinton y Ronald Williams en el libro
Parallel
Distributed
Processing:
Explorations
in
the
Microstructures of Cognition (Rumelhart, Hinton & Williams
1986) introdujeron el algoritmo de retropropagación, que
permitía
ajustar
los
pesos
de
varias
capas
de
interconexiones, con arreglo a la diferencia entre la salida
real y la deseada.
Una vez publicado el libro, se encontró que ya
anteriormente David Parker en 1982 había desarrollado el
algoritmo de retropropagación (Parker 1982). Poco tiempo
después se encontró que incluso desde 1974 Paul Werbos había
propuesto este algoritmo en su tesis doctoral. (Werbos
1974). Por consiguiente, Rumelhart y compañía se hubieran
ahorrado mucho trabajo si hubieran sabido de estos trabajos
previos.
El algoritmo de retropropagación del error se explicará
a continuación con base en una red neuronal de tres capas
(fig 10): la capa de entrada, la capa intermedia u oculta y
la capa de salida.
La capa de entrada es la única que recibe señales de
entrada externas, en tanto que la capa de salida es la que
da las respuestas observables de la red. Entre las capas de
entrada y de salida se encuentra la capa intermedia u
oculta, formada por neuronas procesadoras.
La red está completamente interconectada, es decir, cada
neurona de la capa intermedia está conectada con cada una de
las neuronas de entrada y con cada una de las neuronas de
salida. Sin embargo, esto no es imprescindible. Tampoco se
permiten interconexiones entre neuronas de la misma capa
El algoritmo de retropropagación del error involucra dos
fases: a) la fase de propagación hacia adelante y la fase de
propagación hacia atrás.
En la fase de propagación hacia adelante, se le presenta
a la red un vector de entrada a través de sus neuronas de
entrada. Estas neuronas dan una respuesta igual a su entrada
y dirigida a cada una de las neuronas j de la capa
intermedia. Cada una de éstas, al recibir esas entradas,
calcula su suma ponderada S de acuerdo con los pesos de las
interconexiones de entrada. La suma ponderada S pasa al
elemento activador no lineal, que presenta como salida una
función sigmoide f(S) de esa suma ponderada S. Esta salida
constituye, a su vez, una entrada para cada neurona i de la
capa de salida que, a su vez, calcula una suma ponderada de
sus entradas, la cual pasa por su activador no lineal para
constituir la salida de la red. Con esto termina la fase de
propagación hacia adelante.
La fase de propagación hacia atrás comienza con la
comparación de la salida real de la red con la salida
deseada, calculándose el error δj para cada neurona j de
salida. Este error es igual a:
δj = (tj - yj) f'(Sj)
(11)
donde:
tj = la salida deseada de la neurona j
yj = la salida real de la neurona j
f'(x) = la derivada de la función activadora sigmoidal
f(x) en el punto x
Sj = la suma ponderada de las entradas a la neurona j.
Después, se calcula el valor del error δj
neurona intermedia j en la forma siguiente:
para
cada
Se hace la suma ponderada de los errores de salida,
utilizando los pesos de interconexión wij entre esta neurona
j intermedia y cada neurona k de salida, y esta suma
ponderada se multiplica por la derivada f' de la función
activadora sigmoidal f(S), con el fin de "escalar" el error
y de forzar una corrección más grande cuando la suma
ponderada queda cerca de la zona de pendiente máxima de la
curva sigmoidal
δj = [∑dkwkj] f'(Sj)
k
A continuación se calcula el
pesos, de acuerdo con la fórmula:
(12)
∆wji
incremento
a
∆wji = η δj ai
los
(13)
donde:
δj = el valor de error de la neurona posterior
ai = el valor de salida real de la neurona anterior
η
= la tasa de aprendizaje
Esta regla se conoce también como la
generalizada (Rumelhart & McClelland 1986).
regla
delta
En muchos casos es deseable dar a cada neurona una
polarización o bias igual a +1, pero con un peso ajustable
por entrenamiento, con el fin de neutralizar el efecto de
inicio lento de la función logística, con lo que se acelera
la convergencia del proceso de aprendizaje.
Otras ocasiones la convergencia se acelera introduciendo
un término en las ecuaciones de ajuste, llamado momentum, y
que es proporcional al cambio de peso sufrido en la
iteración anterior. La expresion (13) queda entonces en la
forma:
∆wji(n) = η δj ai + α.∆wji(n-1)
(14)
El valor de α varía entre 0 y 1, pero comunmente se
adopta un valor alrededor de 0.9
6. APLICACIONES POTENCIALES
Los campos potenciales de aplicación de las Redes
Neuronales se pueden agrupar en los siguientes rubros:
1.
2.
3.
4.
5.
Diagnóstico
Procesamiento de señales.
Procesamiento y análisis de imágenes.
Control automático y robótica.
Análisis y generación de lenguaje natural.
A continuación se discutirá brevemente la naturaleza de
estas aplicaciones potenciales.
Diagnóstico
El diagnóstico es la identificación de la naturaleza y
causas
de
una
situación
presente.
La
operación
de
diagnóstico es empleada en numerosos campos, tales como la
planeación estratégica de organizaciones, la medicina, la
ingeniería de servicio y mantenimiento, la economía, la
sociología, las ciencias políticas, etc.
En el diagnóstico se observan un conjunto de síntomas,
que son valores de variables observables del sistema, los
cuales se asocian con un conjunto de factores ambientales
que actúan o han actuado sobre éste, para inferir el estado
del sistema, así como una explicación causal del mismo.
El
diagnóstico
de
sistemas
complejos
se
basa
fundamentalmente en la experiencia de expertos, quienes a lo
largo de su experiencia han aprendido a asociar ciertos
síntomas e historia ambiental con determinados estados del
sistema, sus causas y las acciones más adecuadas para
mejorarlo. Aunque los Sistemas Expertos basados en reglas
han sido aplicados con cierto éxito en muchas áreas del
diagnóstico, para su elaboración se requiere una comprensión
lógico causal del funcionamiento del sistema, la cual no se
ha logrado aun en forma completa en muchos campos, incluidas
algunas especialidades médicas, los análisis bursátiles, los
diagnósticos económicos, sociales y políticos, etc
De lo anterior resulta la conveniencia de utilizar Redes
Neuronales que, basándose en ejemplos concretos y con la
tutoría de un experto, aprendan a diagnosticar sistemas
complejos, sin requerir el análisis lógico causal explícito
que requerirían los Sistemas Expertos.
Así, en el diagnóstico médico se ha desarrollado DESKNET
(Yoon et al, 1989), que es una Red Neuronal basada en
retropropagación que es capaz de diagnosticar 10 diferentes
enfermedades de la piel, basándose en un conjunto de 18
síntomas y pruebas de laboratorio.
Otra aplicación ha sido desarrollada por Apolloni et al
(1990) para el diagnóstico de variedades de epilepsia. Para
ello se empleó una red neuronal de retropropagación con 724
neurona de entrada, 30 neuronas ocultas y 31 neuronas de
salida.
En el diagnóstico de motores jet, Dietz, Kiech y Ali
(1989)
desarrollaron
una
Red
Neuronal
basada
en
retropropagación, utilizando un simulador de motores jet que
proporcionaba datos de sensores asociados a diferentes
fallas. La red entrenada fue capaz de diagnosticar el estado
de motores con una alta precisión.
También el diagnóstico de circuitos electrónicos ha sido
un campo donde se han empleado con gran éxito las Redes
Neuronales. Véase por ejemplo Jakubowicz & Ramanujam (1990)
y Reeder & Koos (1990).
En el campo financiero, las Redes Neuronales se han
aplicado para evaluar solicitudes de préstamos hipotecarios,
dando como salida una evaluación del riesgo de cada
solicitud. Collins, Gosh y Scofield (1988) reportan un
sistema de Redes Neuronales para este efecto que contiene
6000 neuronas configuradas en varias redes parciales que se
enfocan
en
distintos
aspectos
de
la
solicitud.
Los
resultados han sido satisfactorios.
Procesamiento de señales
Un problema importante del procesamiento de señales es
la recuperación de una señal analógica después de haber sido
transmitida por un canal ruidoso o distorsionador.
Para
este
problema
se
han
desarrollado
enfoques
tradicionales basados en filtros y ecualizadores de canales
y la aplicación de estimación estadística para conformar un
estimado óptimo de la señal deseada. Sin embargo, la falta
de conocimiento de parámetros estadísticos de la señal
obstaculiza el uso de la teoría de la estimación.
Una posible solución es la construcción de filtros
adaptativos entrenados en instalaciones reales, que aprendan
a dar como salida la señal deseada y basados en Redes
Neuronales. Douglas Palmer de Hecht-Nielsen Neurocomputer
Inc (Palmer 1987) comparó el filtrado resultante de una Red
Neuronal multicapa con el de un filtro adaptativo lineal en
una señal de electroencefalograma y los resultados de la red
aparecían menos ruidosos que los del filtro.
Otro problema importante es la predicción de series de
tiempo. Alan Lapedes y Robert Farber han aplicado Redes
Neuronales (Lapedes y Farber 1987) en forma de un perceptrón
de varias capas para predecir el comportamiento de un
sistema dinámico no lineal con comportamiento caótico
descrito por la ecuación diferencial no lineal de GlassMackey, dando por resultado una mayor precisión en la
predicción con Redes Neuronales que utilizando predictores
polinomiales y el filtro adaptativo lineal de Widrow-Hoff.
En este mismo sentido, se han aplicado Redes Neuronales
para predecir el comportamiento de un mercado bursátil,
asesorando adecuadamente sobre el mejor momento para comprar
o vender acciones. El modelo tuvo un desempeño calificado
como excelente. (Kimoto, Yoda et al. 1990). Odom y Sharda
reportan también el empleo de Redes Neuronales para predecir
la quiebra de una institución bancaria. (Odom & Sharda
1990).
Procesamiento y análisis de imágenes
El procesamiento de imágenes es un campo muy promisorio
de aplicaciones de las Redes Neuronales, en donde la imagen
digitalizada original o bien preprocesada se utiliza como
entrada
de
una
red,
obteniéndose
como
salida
una
clasificación e identificación de la imagen o de segmentos
de ella. Como procedimientos de preprocesamiento pueden
utilizarse
transformadas
de
Fourier,
algoritmos
de
extracción de características especiales y otras técnicas.
Entre las aplicaciones que se han desarrollado están la
identificación de blancos militares camuflados (Ruck 1987),
utilizando imágenes obtenidas mediante un radar laser y una
red multicapas, obteniéndose una más alta efectividad de la
solución neuronal (86.4%) de reconocimiento de tanques, en
comparación con un clasificador estadístico (76.5%).
Otras aplicaciones comprenden el diagnóstico radiológico
a través del análisis de imágenes de radiografías. (Boone et
al. 1990 y Kaufman et al. 1990), el reconocimiento de
rostros humanos utilizando un perceptrón multicapas (Perry &
Carbey 1990) y el reconocimiento de caracteres manuscritos.
(Haruki & Hatano 1990 y Zhu et al. 1990).
Problemas de procesamiento de imágenes para la industria
también han sido resueltos mediante Redes Neuronales. Glover
(1988) reseña aplicaciones en la clasificación de botellas,
así como en el análisis de defectos para control de calidad.
Control Automático y Robótica
Un tema fundamental en Ingeniería de Control es diseñar
un controlador que, con base en el estado presente de un
sistema, determine el conjunto óptimo de señales que hagan
que un sistema de actuadores lleve al sistema al estado
deseado.
Wang y Yeh han explorado el uso de Redes Neuronales para
la
construcción
de
controladores
auto-adaptativos,
caracterizados por su habilidad de aprender a partir de
ejemplos, sin necesidad de modelar la planta a controlar.
Estos controladores se distinguen por su adaptatividad
dinámica ante cambios de la misma planta, así como por sus
propiedades de robustez. (Wang & Yeh 1990)
También se han aplicado Redes Neuronales para resolver
el problema de asir un objeto dado mediante un brazo
robótico inteligente.(Xu & Scherrer 1990,.Fukuda et al. 1990
y Hosogi 1990).
Finalmente, se ha tenido éxito en el empleo de Redes
Neuronales para la identificación de procesos variantes en
el tiempo. (Haesloop & Holt 1990) así como para la
identificación de sistemas no lineales. (Fernández, Parlos &
Tsai 1990).
Análisis y generación de lenguaje natural
En cuanto a la aplicación de Redes Neuronales para el
reconocimiento de lenguaje hablado, se está trabajando
activamente para mejorar el reconocimiento de fonemas,
haciéndolo independiente del hablante (Cole et al. 1990),
así como su clasificación, introduciendo redes con retrasos.
(Burr
1988, Waibel et al 1989, Kamm & Singhal 1990).
Asimismo, se están empleando Redes Neuronales para analizar
un vocablo hablado, identificando sus parámetros fonéticos,
con
el
fin
de
asociarlo
con
la
palabra
escrita
correspondiente, permitiendo su reconocimiento. (Sung &
Jones 1990, Tom & Tenorio 1990).
En lo que respecta a la generación de lenguaje, los
trabajos más famosos son los de Terrence Sejnowsky y Charles
Rosenberg (Sejnowsky & Rosenberg 1987) que introducen su
sistema NETTALK como un sistema que aprende a leer en voz
alta. A partir de NETTALK ha habido nuevas contribuciones en
cuanto al mejor tipo de red neuronal a utilizar. (Kamimura
1990).
7. BIBLIOGRAFIA.
Anderson,
J
A
(1972).
"A
simple
neural
network
generating an interactive memory". Mathematical Biosciences
14: 197-220.
Apolloni, B et al. (1990). "Diagnosis of epilepsy via
backpropagation". Proc.IJCNN International Joint Conference
on Neural Networks.Washington DC. II: 571-578.
Boone, J M et al. (1990). "Computer aided radiologic
diagnosis using neural networks".
Proc.IJCNN International
Joint Conference on Neural Networks.Washington DC. II: 98101.
Burr, D J. (1988). "Speech recognition experiments with
perceptrons" in D Z Anderson (ed) Neural Information
Processing Systems. New York: American Institute of Physics.
Cole, R A et al (1990). "Speaker independent recognition
of spoken english letters". Proc.IJCNN International Joint
Conference on Neural Networks. San Diego. II: 45-52.
Collins, E, Ghosh, S & Scofield C (1988). "An
application of a multiple neural network learning system to
emulation
of
mortgage
underwriting
judgements".
IEEE
International Conference on Neural Networks, II: 459-466.
Culbertson, J T (1956)."Some uneconomical robots"
Automata
Studies.
Shannon,
C
E
&
McCarthy,
(eds).Princeton: Princeton University Press.
in
J
DARPA. (1988) Neural Network Study. Fairfax, VA: AFCEA
Press.
Dayhoff, J (1990). Neural Network Architectures:
introduction. New York: Van Nostrand Reinhold.
an
Duda, R & Hart, P (1973). Pattern Classification and
Scene Analysis. New York: Wiley Interscience.
Farley, B & Clark, W A (1954). "Simulation of selforganizing systems by digital computer". IRE Transactions on
Information Theory. 4: 76-84.
Fernández, B, Parlos, A G & Tsai, W K (1990). "Nonlinear
dynamic
system
identification
using
artificial
neural
networks". Proc.IJCNN International Joint
Neural Networks. San Diego. II: 133-142.
Conference
on
Fukuda, T et al. (1990). "Neural network application for
robotic motion control, adaptation and learning". Proc.IJCNN
International Joint Conference on Neural Networks. San
Diego. III: 447-451.
Glover, D. (1988) "A hybrid optical fourier/electronic
neurocomputer machine vision inspection system". Proc.
Vision 1988 Conference. Dearborn, Michigan: Society of
Manufacturing Engineers.
Grossberg, S (ed) (1987). The Adaptive Brain (Vols I &
II). New York: North Holland.
Haeslop, D & Holt, B R. "Neural networks for process
identification". Proc.IJCNN International Joint Conference
on Neural Networks. San Diego. III: 429-434.
Haruki, K & Hatano, H (1990). "Pattern recognition of
handwritten
phonetic
japanese
alphabet
characters".
Proc.IJCNN
International
Joint
Conference
on
Neural
Networks.Washington DC. II: 515-518.
Hebb, D O (1949). The Organization
Neuropsychological Theory. New York: Wiley.
of
Behavior:
a
Hinton, G E & Sejnowsky T J (1986). "Learning and
relearning in Boltzmann machines" in Rumelhart D E &
McCleland J L (eds) Parallel Distributed Processing:
Explorations in the Microstructure of Cognition, Vol 1.
Cambridge, MA: MIT Press, pp 282-317.
Hopfield, J J (1982). "Neural networks and physical
systems with emergent collective computational abilities".
Proc. Natl. Acad. Sci. 79: 2554-2558.
Hopfield, J J & Tank, D W (1985). "Neural Computation of
Decisions in Optimization Problems". Biol. Cybernetics. 52:
141-152.
Hosogi, S (1990). "Manipulator control using layered
neural network model with self organizing mechanism".
Proc.IJCNN
International
Joint
Conference
on
Neural
Networks.Washington DC. II: 217-220.
Householder, A S & Landahl, H D (1945). "Mathematical
Biophysics of the Central Nervous System". Mathematical
Biophysics
Monograph
Principia Press.
Series
No.1.
Bloomington,
USA:
Jakubowicz, O & Ramanujam, S. (1990). "A neural network
model for fault diagnosis of digital circuits". Proc.IJCNN
International Joint Conference on Neural Networks.Washington
DC. II: 611-614.
Kamimura, R (1990). "Application of temporal supervised
learning algorithm to generation of natural language".
Proc.IJCNN
International
Joint
Conference
on
Neural
Networks. San Diego. I: 201-207.
Kamm C A & Singhal, S. "Effect of neural network input
span on phoneme classification". Proc.IJCNN International
Joint Conference on Neural Networks. San Diego. I: 195-200.
Kaufman, J J et al. (1990). "Bone fracture healing
assessment using a neural network". Proc.IJCNN International
Joint Conference on Neural Networks. San Diego. II: 53-58.
Kimoto, T, Yoda, M et al. (1990). "Stock market
prediction system with modular neural networks". Proc.IJCNN
International Joint Conference on Neural Networks. San
Diego. I: 1-6.
Kleene, S C (1956). "Representation of Events in Nerve
Nets and Finite Automata" in Automata Studies. Shannon, C E
& McCarthy, J (eds).Princeton: Princeton University Press.
Kohonen, T (1972). "Correlation matriz memories". IEEE
Trans. on Computers. C-21: 353-358.
Kohonen,
T
(1982).
"Self-organized
formation
of
topologically correct feature maps". Biological Cybernetics
43: 50-69.
Kohonen, T (1988). Self-Organization
Memory. New York: Springer.
Kosko,
B
(1987
memories". IEEE Trans.
18(1): 49-60.
and
a).
"Bi-directional
on Systems, Man and
Associative
associative
Cybernetics.
Kosko, B (1987 b). "Competitive adaptive bi-directional
associative memories". Proc. IEEE First Int. Conference on
Neural Networks. II: 759-766.
Lapedes
A
&
Farber
R.
(1987)
"Nonlinear
signal
processing using neural networks". Proc. Conference on
Neural
Information
Processing
Synthetic, IEEE, November.
Systems
-
Natural
and
McCulloch, W S & Pitts, W H (1943). "A Logical Calculus
of the Ideas Immanent in Nervous Activity". Bulletin of
Mathematical Biophysics, 5:115-133.
Minsky, M & Pappert, S (1969). Perceptrons. Cambridge,
MA: MIT Press.
Odom, M D & Sharda, R (1990). "A neural network model
for bankruptcy prediction". Proc.IJCNN International Joint
Conference on Neural Networks. San Diego. II: 163-168.
Palmer, D. (1987). Removing random noise from ekg
signals using a back propagation network. Informal paper
from Hecht-Nielsen Neurocomputer Inc.
Parker, D B (1982). Learning Logic, Invention Report
S81-64, File 1, Office of Technology Licensing, Stanford
University.
Perry, J L & Carney, J M. (1990). "Human face
recognition using a multilayer perceptron".
Proc.IJCNN
International Joint Conference on Neural Networks.Washington
DC. II: 413-416.
Ramón y Cajal, S (1911). Histologie du Système Nerveux.
París: Maloine.
Reeder, J R & Koos, L J (1990). "A neural network
approach to electronic circuit diagnostics".
Proc.IJCNN
International Joint Conference on Neural Networks.Washington
DC. II: 671-674.
Rochester, N, Holland, J H, Haibt, L H & Duda, W L
(1956). "Test on a cell assembly theory of the action of the
brain, using a large digital computer". IRE Transactions on
Information Theory. IT-2: 80-93.
Rosenblatt, F (1958). "The Perceptron: a Probabilistic
Model for Information Storage and Organization in the
Brain". Psychological Review, 65, No.6: 386-408.
Rosenblatt, F (1962).
Washington: Spartan Books.
Principles
of
Ruck, D W. (1987). Multisensor target
classification. Ph D Thesis, Air Force
Technology, Computer Science Dept.
Neurodynamics.
detection and
Institute of
Rumelhart, D E, Hinton, G E & Williams, R J (1986).
"Learning internal representations by error propagation" in
Rumelhart D E & McCleland J L (eds) Parallel Distributed
Processing: Explorations in the Microstructure of Cognition,
Vol 1. Cambridge, MA: MIT Press, pp 318-362.
Sejnowsky, T J & Rosenberg, C R (1987). "Parallel
networks that learn to pronounce English text. Complex
Systems 1: 145-168.
Sung, C & Jones, W C (1990). "A speech recognition
system featuring neural network processing of global lexical
features".
Proc.IJCNN International Joint Conference on
Neural Networks.Washington DC. II: 437-440.
Tom, M D & Tenorio, M F (1990). "Experiments with the
spatio - temporal pattern recognition approach and the
dynamic
time
warping
approach
to
word
recognition".
Proc.IJCNN
International
Joint
Conference
on
Neural
Networks.Washington DC. II: 445-448.
Von Neumann, J (1945) "First draft of a report on the
EDVAC" , republicado en The Origins of Digital Computers:
Selected Papers. Randall, B (ed). Berlín:Springer.1982
Von Neumann, J (1956). "Probabilistic Logics and the
Synthesis of Reliable Organisms from Unreliable Components"
in
Automata
Studies.
Shannon,
C
E
&
McCarthy,
J
(eds).Princeton: Princeton University Press.
Waibel, A et al. (1989). "Phoneme recognition using time
delay neural networks". IEEE Trans. ASPP, 37: 328-339.
Wang,
S
&
Yeh,
H
M
S.
"Self
adaptive
neural
architectures
for
control
applications".
Proc.IJCNN
International Joint Conference on Neural Networks. San
Diego. III: 309-314.
Wasserman, P D
(1989). Neural Computing: theory and
practice. New York: Van Nostrand Reinhold.
Werbos, P J (1974). Beyond Regression: New Tools for
Prediction and Analysis in the Behavioral Sciences, Ph.D.
thesis, Harvard University, Cambridge, MA.
Widrow, B & Hoff, M E (1960). "Adaptive switching
circuits". 1960 IRE WESCON Convention Record, New York: IRE,
96-104.
Xu, G & Scherrer H K. (1990). "Application of neural
networks on robot grippers". Proc.IJCNN International Joint
Conference on Neural Networks. San Diego. III: 337-342.
Yoon, Y et al. (1989). "A desktop neural network for
dermatology diagnosis". J. Neural Network Computing. 1: 4352.
Zhu, X et al. (1990). "Feature detector and application
to
handwritten
character
recognition".
Proc.IJCNN
International
Joint
Conference
on
Neural
Networks.
Washington DC. II: 457-462.
Descargar