Redes Neuronales
Redes Neuronales
Redes Neuronales
net/publication/31763291
Article
Source: OAI
CITATIONS READS
117 4,284
2 authors:
Some of the authors of this publication are also working on these related projects:
All content following this page was uploaded by José R. Hilera on 26 April 2017.
Aunque este nuevo campo todavía no está perfectamente definido, ya se han acuñado
diferentes terminos para denotarlo. Así, algunos autores se refieren a él como Computación
Cognitiva (Cognitive Computing), otros lo denominan Computación del mundo real (Real-World
Computing), y también se utiliza la expresión Computación Soft (Soft Computing), para
distinguirlo del enfoque algorítmico tradicional que sería, en este caso, la Computación Hard.
Aunque su uso no se ha extendido todavía, otro término alternativo sería el de Brainware.
Aunque con el texto se introduce al lector en el ámbito general de las redes neuronales,
también se pretende el estudio con cierto detalle de algunos importantes tipos particulares de
estos sistemas, con una descripción detallada de su funcionamiento y mecanismo de
aprendizaje que permitirá, al lector que lo desee, ralizar la emulación de estas redes, para
resolver diferentes problemas, mediante la codificación, utilizando un lenguaje de
programación cualquiera, de los algoritmos que se presentan a lo largo del texto.
En el segundo capítulo se analizan los fundamentos de las redes, partiendo del modelo
biológico de neurona hasta llegar a la descripción de la estructura de las redes de neuronas
artificiales para, en el capítulo siguiente (3), estudiar las características que diferencian los
diferentes modelos de redes neuronales: su topología, mecanismo de aprendizaje y naturaleza
de la información "aprendida". En este capítulo se hace referencia a la práctica totalidad de
modelos de redes existentes, presentanto al final una completa tabla resumen donde se
encuadran todos ellos junto con sus características más significativas.
Los cinco siguientes capítulos (4, 5, 6, 7 y 8) se dedican al estudio, con cierto detalle, de
algunos modelos de redes que se han elegido por su importancia y por reperesentar cada uno
de ellos un posible ámbito de aplicación de estos sistemas de computación. Las redes que se
analizan son: Perceptrón, ADALINE y MADALINE, BackPropagation, Redes de Hopfield, ART,
Redes de Kohonen, Counterpropagation y las redes estocásticas conocidas como Máquinas de
Boltzmann y de Cauchy. En todos los casos se presenta su arquitectura, funcionamiento,
mecanismo de aprendizaje, limitaciones del modelo y posibles aplicaciones.
Así, en el capítulo 4 se tratan las cuatro primeras, que se caracterizan por tener una
arquitectura similar, con unas conexiones entre neuronas orientadas en el mismo sentido
(hacia delante), y un mecanismo de aprendizaje supervisado, precisando de un ente externo a
la red que determine cuándo ésta ha aprendido correctamente lo que se le quería enseñar. La
presentación de los modelos es cronológica, comenzando por el Perceptrón y las redes
ADALINE y MADALINE, que presentan serias limitaciones respecto a sus posibles
aplicaciones, que son resueltas con la aparición de la red Backpropagation, la más ampliamante
utilizada hasta la actualidad.
El libro concluye con un último capítulo (9) en el que se analizan algunas posibles
combinaciones de la capacidad de aprendizaje de las Redes Neuronales Artificiales con la de
procesamiento de información imprecisa de la Lógica Borrosa, otro de los pilares, como se
comentó al comienzo de este prólogo, de la emergente Computación Cognitiva, Soft o del
mundo real. En este capítulo se describe un modelo de neurona y aprendizaje borrosos, y se
analiza la posibilidad de utilizar redes en el diseño de sistemas de control borroso.
Julio, 1994
Las funciones anteriores son comunes a la mayoría de los animales y en las estructuras
biológicas neuronales es posible incluso discernir varios "sedimentos" de las diferentes fases de
la evolución. Por otro lado, en los animales superiores, la mayor capacidad del sistema
nervioso central está relacionado con el comportamiento, esto es, control del estado del
organismo con respecto a su entorno, el cual implica muchas tareas diferentes gracias al
encadenamiento de acciones elementales para conseguir un comportamiento social
complicado.
Aunque el potencial de los métodos de Inteligencia Artificial, por medio de los cuales
éstos problemas fueron abordados, han sido conocidos desde hace 25 años, todavía se espera
que nuevas vías para la Inteligencia Artificial se puedan abrir cuando el paralelismo masivo de
los circuitos computacionales y las nuevas tecnologías sean desarrolladas y la capacidad de
computación se incremente en órdenes de magnitud. Sin embargo, antes que ésto, será
necesario encontrar qué se quiere computar. Hay, al menos, una nueva dimensión de
computación que ha sido muy difícil de alcanzar con los ordenadores digitales [Kohonen 88c].
No se trata de construir máquinas que compitan con los seres humanos, sino que
realicen ciertas tareas de "rango intelectual" con que ayudarle, lo que supone un principio
básico de la inteligencia artificial. Por otro lado, los sistemas que se lleguen a desarrollar no
van a suponer la desaparición de los ordenadores, tal como hoy los entendemos, por lo menos
en aquellas tareas en las que están mejor dotados incluso que los seres humanos.
Alan Turing, en 1936, fue el primero en estudiar el cerebro como una forma de ver el
mundo de la computación; sin embargo, los primeros teóricos que concibieron los
fundamentos de la computación neuronal fueron Warren McCulloch, un neurofisiólogo, y
Walter Pitts, un matemático, quienes, en 1943, lanzaron una teoría acerca de la forma de
trabajar de las neuronas [McCulloch 43]. Ellos modelaron una red neuronal simple mediante
circuitos eléctricos. Otro importante libro en los inicios de la teoría de redes neuronales fue el
I. Introducción a la computación neuronal 1.1
escrito en 1949 por Donald Hebb: La organización del comportamiento, en el que se establece una
conexión entre psicología y fisiología [Hebb 49].
Uno de los mayores investigadores de las redes neuronales desde los años 60 hasta
nuestros días es Stephen Grossberg (Universidad de Boston). A partir de su extenso
conocimiento fisiológico, ha escrito numeros libros y desarrollado modelos de redes
neuronales. Estudió los mecanismos de la percepción y la memoria. Grossberg realizó en 1967
una red, Avalancha, que consistía en elementos discretos con actividad que varía con el tiempo
que satisface ecuaciones diferenciales continuas, para resolver actividades tales como
reconocimiento continuo del habla y aprendizaje del movimiento de los brazos de un robot
[Grossberg 82].
En 1969 surgieron numerosas críticas que frenaron, hasta 1982, el crecimiento que
estaban experimentando las investigaciones sobre redes neuronales. Marvin Minsky y
Seymour Papert, del Instituto Tecnológico de Massachusetts (MIT) publicaron un libro:
Perceptrons [Minsky 69], que, además de contener un análisis matemático detallado del
perceptrón, consideraban que la extensión a perceptrones multinivel (el perceptrón original
solo poseía una capa) era completamente estéril. Las limitaciones del perceptrón eran
importantes, sobre todo, su incapacidad para resolver muchos problemas interesantes. Muchas
de las investigaciones dieron un giro hacia la Inteligencia Artificial, que prometía más por
aquel entonces.
A pesar del libro Perceptrons, algunos investigadores continuaron su trabajo. Tal fue el
caso de James Anderson que desarrolló un modelo lineal llamado Asociador Lineal que
consistía en unos elementos integradores lineales (neuronas) que sumaban sus entradas. Este
modelo se basa en el principio de que las conexiones entre neuronas son reforzadas cada vez
que están activadas. Anderson diseñó una potente extensión del Asociador Lineal llamado
"Brain-State-in-a-Box" (BSB) [Anderson 77].
En 1982, numerosos eventos coincidieron que hicieron resurgir el interés por las redes
neuronales. John Hopfield presentó su trabajo sobre redes neuronales en la Academia
Nacional de las Ciencias [Hopfield 82]. En el trabajo describe con claridad y rigor matemático
I. Introducción a la computación neuronal 1.1
una red a la que ha dado su nombre, que es una variación del Asociador Lineal, pero además
mostró como tales redes pueden trabajar y qué pueden hacer. Además, en 1982 se celebró la
U.S.-Japan Joint Conference on Cooperative/Competitive Neural Networks y Fujitsu comenzó el
desarrollo en "computadores pensantes" para aplicaciones en robótica.
En 1988, del espíritu de cooperación en esta nueva tecnología resultó la unión del IEEE
y de la INNS; la International Joint Conference on Neural Networks (IJCNN) produjo, en 1989,
430 artículos, 63 de los cuales enfocados a una aplicación. La IJCNN de Enero de 1990, en
Washington, incluyó una hora de concierto de música realizada por redes neuronales. La
alternativa europea es la International Conference on Artificial Neural Networks (ICANN),
que comenzó su andadura en Septiembre de 1991 y, actualmente, está organizada por la
Sociedad Europea de Redes Neuronales. También merece una referencia aparte la reunión
anual Neural Information Processing Systems (NIPS) celebrada en Denver (Colorado) desde
1987 y que probablemente represente el nivel más alto de calidad desde el punto de vista
científico.
Actualmente, son numerosos los trabajos que se realizan y publican cada año, las
aplicaciones nuevas que surgen así como las empresas que lanzan al mercado productos
nuevos tanto hardware como software (sobre todo para simulación). En relación con la
información que se publica en las revistas especializadas en el área de redes neuronales cabe
destacar como las más interesantes: Neural Networks, revista oficial de la Sociedad Internacional
de Redes Neuronales (INNS); Network, Computation in Neural System; IEEE Transactions on
Neural Networks, publicada por IEEE Neural Networks Council; Neural Computation; e International
Journal of Neural Systems.
Dentro del entorno europeo señalar las dos citas anuales de la Sociedad Europea de
Redes Neuronales (ENNS) y, como fuente de planificación política de investigación (por medio
de la financiación selectiva de proyectos de investigación), el programa ESPRIT que, durante
I. Introducción a la computación neuronal 1.1
los últimos años ha financiado una veintena de proyectos que podrían enmarcarse dentro del
área de las redes neuronales y sus aplicaciones. La participación española en estos proyectos
ha sido reducida, quedando limitada a las Universidades Politécnica y Autónoma de Madrid,
Universidad Politécnica del País Vasco, Centro de Estudios Avanzados de Blanes, Instituto de
Cibernética del CSIC, Instituto de Ingeniería del Conocimiento (IIC) y a la empresa Software
de Base, S.A.
Existen numerosas formas de definir lo que son las redes neuronales; desde las
definiciones cortas y genéricas hasta las que intentan explicar más detalladamente lo que
significa "red neuronal" o "computación neuronal". Veamos algunos ejemplos de ambos casos:
"... un sistema de computación hecho por un gran número de elementos simples, elementos de
proceso altamente interconectados, los cuales procesan información por medio de su estado dinámico
como respuesta a entradas externas." [Hecht-Niesen 88a].
Programar tal red puede significar sólo dos cosas: a) Las estructuras de interconexión
entre las células son alteradas, y b) Las "fuerzas" de estas interconexiones son cambiadas.
I. Introducción a la computación neuronal 1.1
Parece que existen bastantes estrategias claras de como cambiar las fuerzas en la dirección
correcta, mientras que cambios en las interconexiones son más difíciles de definir porque
suelen tener efectos radicales en el comportamiento de la red, especialmente en lo concerniente
a la operación secuencial y las funciones jerárquicas.
Es muy difícil imaginar cómo una red tan enorme puede ser programada. Una
posibilidad, con relación a los subsistemas sensoriales podría ser que la estructura del sistema,
o el proceso dinámico definido por él, de alguna forma tiende a imaginar las experiencias
sensoriales de otros acontecimientos.
Otra función importante del sistema nervioso es definir acciones que son parte del
comportamiento, y controlar el estado del organismo en relación con su entorno.
Mientras que las representaciones internas en las cuales está basado el comportamiento
pueden ser derivadas de las entradas de forma bastante directa, las definiciones de las salidas
deben ser basadas en estrategias completamente diferentes. De hecho, apenas existe otra
posibilidad para programar las acciones que aplicar el principio de "retroceso y empuje" para
alterar los mecanismos que son responsables de ellas. Algún tipo de "backpropagation" de la
información es, por tanto, necesario.
Por otro lado, el significado y la calidad de las acciones deben ser juzgados no desde
los movimientos inmediatos, sino desde la realización de criterios que tienen en cuenta el
resultado requerido, a veces bastante indirectamente. A menudo, las acciones son solamente
corregidas si se realizan con cierta frecuencia, donde el mecanismo que lo provoque debe
contener circuitos que definan tales frecuencias y que se cambien en relación con los resultados
aprendidos. Está claro que programar las acciones es un proceso mucho más indirecto que
programar las representaciones internas; el factor aleatorio no puede ser evitado.
Programando las funciones de entrada y de salida nos lleva sólo a una operación de
comportamiento en la que el estímulo y la respuesta son consideradas muy relevantes.
Ciertamente es posible realizar autómatas bastante complejos y comportamientos "necesidad-
conducta" de este modo. Sin embargo, se mantiene la expectativa sobre la posibilidad de que
las redes neuronales puedan actuar como ordenadores para algunos problemas abstractos y
también donde la computación se realice en el estado interno de la red.
Las redes neuronales son sistemas dinámicos autoadaptativos. Son adaptables debido a
la capacidad de autoajustarse de los elementos procesales (neuronas) que componen el
sistema. Son dinámicos pues son capaces de estar constantemente cambiando para adaptarse a
las nuevas condiciones.
1.3.2.- Autoorganización.
Cuando las redes neuronales se usan para reconocer ciertas clases de patrones, ellas se
autoorganizan la información usada. Por ejemplo, la red llamada back-propagation se creará su
propia representación característica mediante la cual puede reconocer ciertos patrones.
Las redes neuronales son los primeros métodos computacionales con la capacidad
inherente de tolerancia a fallos. Comparados con los sistemas computacionales tradicionales,
los cuáles pierden su funcionalidad en cuanto sufren un pequeño error de memoria, en las
redes neuronales, si se produce un fallo en un pequeño número de neuronas, aunque el
comportamiento del sistema se ve influenciado, sin embargo, no sufre una caída repentina.
Hay dos aspectos distintos respecto a la tolerancia a fallos: primero, las redes pueden
aprender a reconocer patrones con ruido, distorsionados o incompletos, esta es una tolerancia
a fallos respecto a los datos. Segundo, ellas pueden seguir realizando su función (con cierta
degradación) aunque se destruya parte de la red.
La razón por la que las redes neuronales son tolerantes a los fallos es el que tienen su
información distribuida en las conexiones entre neuronas, existiendo un cierto grado de
redundancia en este tipo de almacenamiento. La mayoría de los ordenadores algorítmicos y
sistemas de recuperación de datos, almacenan cada pieza de información en un espacio único,
localizado y direccionable. Las redes neuronales almacenan información no localizada. Por
tanto, la mayoría de las interconexiones entre los nodos de la red tendrán unos valores en
función de los estímulos recibidos y se generará un patrón de salida que represente la
información almacenada.
Una red individual puede ser entrenada para desarrollar una única y bien definida
tarea (tareas complejas, que hagan múltiples selecciones de patrones, requerirán sistemas de
redes interconectadas). Debido a que una red puede ser rápidamente entrenada, testeada,
verificada y trasladada a una implementación hardware de bajo coste, es fácil insertar redes
neuronales para aplicaciones específicas dentro de sistemas existentes. De esta manera, las
redes neuronales se pueden utilizar para mejorar sistemas de forma incremental, y cada paso
puede ser evaluado antes de acometer un desarrollo más amplio.
Para entender el potencial real de la computación neuronal, será necesario hacer una
clara distinción entre sistemas de computación neuronales y digitales:
I. Introducción a la computación neuronal 1.1
Todos los hechos fisiológicos hablan a favor de las acciones de las neuronas como
integradores analógicos, y la eficiencia de la sinapsis cambia de forma gradual.
Los circuitos del cerebro no implementan computación recursiva y, por tanto, no son
algorítmicos.
Incluso en el nivel más alto, la naturaleza del proceso de información es diferente en el cerebro y
en los computadores digitales.
Para emular una con otra, al menos a cierto nivel de abstracción, los estados internos de
dos sistemas de computación deben ser igualmente accesibles. Esta equivalencia no existe
entre el cerebro y los sistemas de programación. Las computadoras artificiales no pueden
adquirir ni interpretar todas las experiencias humanas en las cuales se basa el asentamiento de
valores.
Dentro de lo que se entiende por Inteligencia Artificial (I.A.), una de las ramas más
prometedoras es la que corresponde a las denominadas redes de autoproceso, entendiendo
como tales aquellas formadas por nodos en los que hay elementos procesadores de información de cuyas
interacciones locales depende el comportamiento del conjunto del sistema.
I. Introducción a la computación neuronal 1.1
Figura 1.2 Situación de las redes neuronales en el campo de la Inteligencia Artificial [López
89].
Como indica la figura 1.2, dentro del campo de la inteligencia artificial, existen dos
grandes ramas de las redes de autoproceso:
Si la conexión entre los nodos se realiza de forma global bajo unas reglas de
composición, estamos ante los llamados Sistemas Distribuidos, mientras que si la conexión se
realiza agrupando en subredes, se denominan Sistemas Asociativos o "Redes de Redes".
Por otro lado, esto no quiere decir que las teorías de redes neuronales y de I.A. estén
separadas; de hecho, ya se ha visto cómo se pueden situar e interconectar la teoría de las redes
neuronales dentro del campo de la I.A. Sin embargo, existen unas diferencias de las redes
neuronales con respecto a lo que se entiende como inteligencia artificial clásica muy relevantes
y que destacamos a continuación:
* Mecanismos de Inferencia:
* Aprendizaje:
* Paralelismo:
I. Introducción a la computación neuronal 1.1
Las redes neuronales son una tecnología computacional emergente que puede utilizarse en un
gran número y variedad de aplicaciones tanto comerciales como militares. Se pueden desarrollar redes
neuronales en un período de tiempo razonable y pueden realizar tareas concretas mejor que otras
tecnologías convencionales, incluyendo los sistemas expertos. Cuando se implementan mediante
hardware (redes neuronales en chips VLSI), presentan una alta tolerancia a fallos del sistema y
proporcionan un grado de paralelismo en el proceso de datos muy grande. Eso hará posible insertar redes
neuronales de bajo coste en sistemas existentes y recientemente desarrollados.
Hay muchos tipos diferentes de redes neuronales, cada uno de los cuáles tiene una aplicación
particular más apropiada. Empezaremos relacionando ejemplos de algunas aplicaciones comerciales
separándolas en grupos según las distintas disciplinas:
Biología
Aprender más acerca del cerebro y otros sistemas.
Obtención de modelos de la retina.
Empresa
Evaluación de probabilidad de formaciones geológicas y petrolíferas.
Identificación de candidatos para posiciones específicas.
Explotación de bases de datos.
Optimización de plazas y horarios en líneas de vuelo.
Reconocimiento de caracteres escritos.
Medio Ambiente
Analizar tendencias y patrones.
Previsión del tiempo.
Financias
Previsión de la evolución de los precios.
Valoración del riesgo de los créditos.
Identificación de falsificaciones.
Interpretación de firmas.
Manufacturación
Robots automatizados y sistemas de control (visión artificial y sensores de presión, temperatura,
gas, etc.)
Control de producción en líneas de proceso.
Inspección de la calidad.
Medicina
Analizadores del habla para la ayuda de audición de sordos profundos.
Diagnóstico y tratamiento a partir de síntomas y/o de datos analíticos (Electrocardiograma,
encefalograma, análisis saguíneo, etc.).
I. Introducción a la computación neuronal 1.1
Monitorización en cirugía.
Predicción de reacciones adversas a los medicamentos.
Lectores de rayos X.
Entendimiento de la causa de los ataques epilépticos.
Militares
Clasificación de las señales de radar.
Creación de armas inteligentes.
Optimización del uso de recursos escasos.
Reconocimiento y seguimiento en el tiro al blanco.
Podemos buscar hechos comunes en esta lista de aplicaciones; la mayoría de ellas consisten en
realizar un reconocimiento de patrones: buscar un patrón en una serie de ejemplos, clasificar patrones,
completar una señal a partir de valores parciales o reconstruir el patrón correcto partiendo de uno
distorsionado. Muchos de los ejemplos tienen que trabajar con datos sensoriales y de percepción (señales
visuales, auditivas y otras) y otros realizan filtrado o mapeo de señales de entrada. En general, los
ejemplos mostrados indican que son característicos más de las personas que de los ordenadores
convencionales.
A continuación se describe con más detalle aquellas áreas de aplicación más importantes para las
cuáles los computadores neuronales, en general, se están utilizando o pueden ser utilizados y los
problemas particulares encontrados en cada una de ellas.
Los primeros experimentos, alrededor de 1960 estaban basados en redes neuronales elementales,
como Perceptron [Rosenblatt 58], Adaline [Widrow 60], y Matrices de Aprendizaje [Steinbuch 61].
Los primeros pasos, como siempre, fueron fáciles, pero pronto se vio que la realización de los sistemas
biológicos era muy difícil de alcanzar. Incluso, la alta capacidad de computación, alcanzable por
circuitos de computación paralela, no resolvían los problemas.
Lo que también era ignorado es que incluso el más desarrollado sistema sensorial biológico no
opera de forma autónoma: la percepción sensorial está siempre muy unida con el proceso cognitivo
global. Para la replicación de las funciones sensoriales, no es suficiente imitar el sistema sensorial, sino
que se tiene que replicar todo el cerebro con todas sus capacidades de pensamiento, y precisar la
I. Introducción a la computación neuronal 1.1
capacidad de reconocimiento por el alto grado de aprendizaje.
No sería razonable esperar la solución de todos estos problemas antes de proceder a la obtención
de las posibles aplicaciones. En ingeniería, los problemas son generalmente simplificados. Tomemos por
ejemplo la locomoción: es difícil implementar el movimiento coordinado de los miembros, pero un
método más directo es aplicar ruedas y modificar el terreno construyendo carreteras. Igualmente existen
multitud de aplicaciones para las cuales soluciones artificiales, no naturales, pueden ser incluso más
eficaces.
Estos métodos, no obstante, tienen muy poco en común con los principios de operación de las
funciones sensoriales biológicas, y , por tanto queda abierto el problema básico de la percepción en
computación neuronal. Si en la actualidad los métodos de redes neuronales artificiales se están
desarrollando para el mismo propósito, será necesario desarrollar métodos de reconocimiento de patrones
para que los circuitos aprendan por si mismos las funciones y caracteres elementales y lleguen a hacerse
auto-organizados sin utilizar ningún tipo de programación heurística.
Las áreas de aplicación más importantes del "reconocimiento de patrones neuronal" serían las
mismas que aquellas para las cuales los métodos convencionales y heurísticos han sido desarrollados
durante los pasados 30 años:
a) Sensación remota.
b) Análisis de imágenes médicas.
c) Visión en computadores industriales (especialmente para robots).
d) Elementos de proceso de las entradas para computadores.
Tareas más concretas para las cuales se han desarrollado ya equipos de computadores especiales
son:
a) Análisis de imágenes (en lo referente a diferentes niveles temáticos de abstracción, tales como
monitorización de uso terrestre en las bases de imágenes por satélite).
b) Reconocimiento de imágenes (interpretación de escenas) y
c) Reconocimiento del habla (análisis e interpretación de frases habladas).
I. Introducción a la computación neuronal 1.1
Para implementar estas tareas existen todavía ciertos problemas básicos pendientes de solución;
por ejemplo aquellos referentes a las propiedades intrínsecas de la información de entrada tales como:
a) Los patrones primitivos más naturales (líneas, sus curvaturas y puntos final, bordes,
estadísticas de grupos de puntos).
b) Información visual que describen las curvaturas de las superficies.
c) Textura e
d) Invariantes fonológicas en el habla.
Por otro lado, la integración de estas funciones en un sistema de conocimiento de alto nivel es un
objetivo cuya complejidad es de un orden de magnitud mayor de lo que generalmente se cree. Por tanto,
parecen existir multitud de aplicaciones potenciales pero todavía existen problemas no resueltos. No
parece razonable continuar el desarrollo de métodos heurísticos sofisticados: se estima que sobre 30.000
artículos y unos 200 libros de texto se han escrito ya sobre técnicas de reconocimiento de patrones y
visión artificial en los últimos 30 años y si las soluciones hubieran estado al alcance por este camino, ya
hubieran sido visibles.
Una amplia capacidad de memoria y rapidez en recordar unidades relevantes de ella son
normalmente signos de inteligencia. Para formar el conocimiento es necesario almacenar en la mente un
gran número de relaciones, lo que forma la base del pensamiento y la solución de problemas. La noción
de que la mente humana opera de acuerdo a asociar principios es un muy antigua: Aristóteles publicó
algunos tratados teóricos donde estos principios ya fueron cualitativamente expuestos.
Aunque es claro que la mayoría de los objetos del mundo exterior son distintos y discretos, y sus
acontecimientos pueden ser descritos con relaciones lógicas, la información primaria obtenida de ellos en
forma de señales sensoriales es estocástica, no clara, y raramente expresable en términos de caracteres
distintivos. Si la descripción del mundo exterior pudiera hacerse verbalmente, estas relaciones podrían
expresarse fácilmente en forma concisa y discreta, pero tal operación no es posible sin un sujeto "que
piense y que entienda".
Cuando definimos los problemas de forma lógica u otros formalismos discretos (técnicas de
I.A.) es muy difícil que un sistema artificial sea capaz de formar conceptos automáticamente, atributos
distintos y otras representaciones abstractas a partir de señales sensoriales confusas, no distintivas y
estocásticas.
Veamos con más detalle en qué consiste la lógica de la búsqueda: La Información Semántica
consiste normalmente en unidades de datos y sus enlaces (relaciones, asociaciones) con otras unidades.
El Conocimiento adquirido en dicha base de datos puede ser conducido a través de largas cadenas de
dichos enlaces, los cuales se realizan cuando las asociaciones se hacen parcialmente. Posiblemente sea
ilustrativo comparar una base de datos y el proceso de búsqueda con un sistema de ecuaciones y sus
soluciones. Cuando representamos una cuestión estamos introduciendo una o varias ecuaciones que
contienen variables desconocidas. Por ejemplo, podemos especificar un número de relaciones parciales
en las cuales algunos miembros son desconocidos, el sistema tiene que encontrar en la memoria todas las
relaciones que casen con las ecuaciones en sus partes especificadas, de forma las variables desconocidas
se hagan conocidas.
Se está hablando hasta ahora de las bases de datos relacionales que son ampliamente utilizadas
actualmente. La búsqueda de información en ellas conlleva las siguientes operaciones elementales: a)
combinaciones muy rápidas en paralelo de un gran número de argumentos de búsqueda, los cuáles son
I. Introducción a la computación neuronal 1.1
los elementos almacenados en memoria y b) análisis y presentación de los resultados que satisfacen todas
las condiciones.
Para buscar soluciones a una tarea de búsqueda que es definida en términos de multitud de
preguntas incompletas y simultáneas, como suele ser el caso de este tipo de tareas, no es suficiente
implementar una memoria direccionable por contenido (autoasociativa).
En las redes neuronales, los argumentos de búsqueda están generalmente impuestos en las
condiciones iniciales de la red y la solución a las "preguntas" se obtiene cuando el estado de actividad de
la red llega a alguna clase de "mínimo de energía".
Las características de estos sistemas son las siguientes: a) sus elementos de red son elementos
analógicos, b) se pueden activar un gran número de relaciones en al memoria, las cuáles sólo se
emparejan de forma aproximada con los argumentos de búsqueda y c) no es seguro que el sistema
converja a un óptimo global, es más usual que la respuesta corresponda a uno de los óptimos locales los
cuales pueden ser una solución aceptable en la práctica.
Los robots inteligentes se supone que pueden planear sus acciones. La inteligencia exhibida por
los robots ha sido ampliamente implementada por programas de I.A., lo cuál significa que las estrategias
han de ser inventadas y programadas heurísticamente por el ser humano. A menudo es deseable tener un
nivel más alto de aprendizaje en tales robots, lo que apunta al uso de los sistemas neuronales. Por
ejemplo, aprender a moverse en un entorno desconocido es una tarea que difícilmente puede ser
formalizada por programación lógica, y la coordinación de las funciones sensoriales con las funciones
motoras no puede resolverse de forma analítica. Se han realizado ya algunas simulaciones por ordenador
que han demostrado tales capacidades de aprendizaje autónomo [Barto 83].
Se puede decir que las estrategias de toma de decisiones están almacenadas en la forma de las
reglas, mientras que estas reglas se establecen automáticamente, y sólo existen en forma implícita como
un estado colectivo de las interconexiones adaptativas.
I. Introducción a la computación neuronal 1.1
Las redes neuronales se usan como filtros para la eliminación de ruidos y desórdenes en señales,
o para la reconstrucción de patrones a partir de datos parciales; por ejemplo, la red back-propagation se
usa a menudo para obtener una versión de ruido-reducido a partir de una señal de entrada y la red
MADALINE se ha usado cerca de dos décadas comercialmente para mejorar la transmisión telefónica.
La segmentación de datos, sobre todo en señales de variación temporal (p.ej., datos sísmicos) o
en imágenes, es una tarea muy solicitada. La mayoría de los algoritmos de segmentación no
proporcionan completamente los resultados deseables. Por ejemplo, en imágenes, las líneas que limitan
las regiones están a menudo mezcladas con ruido u otras interferencias de pequeña escala. Dificultades
similares se encuentran en la segmentación de datos en el habla, retornos sísmicos y otros datos de
sensores complejos. Actualmente existen numerosas aproximaciones de redes neuronales habilitadas
para segmentación de imágenes, la mayoría de los cuáles presentan una capacidad superior en
comparación con alguno de los más complejos algoritmos de segmentación.
Por otro lado, en algunos campos como la medicina, testeo de componentes aeroespaciales y
telemetría, se producen, transmiten y almacenan enormes cantidades de datos; por lo que el costo con
elementos de almacenamiento masivo se hace prohibitivo. Se necesita dar prioridad al desarrollo de
metodologías de comprensión de datos. Para resolver este problema ya se han aplicado diferentes tipos
de redes neuronales con prometedores resultados.
Las interfaces hombre/máquina están empezando a considerarse como uno de los aspectos más
importantes en la mayoría de los sistemas computacionales. Esto es especialmente cierto en aquellos
sistemas diseñados para facilitar algunos procesos humanos, tales como el aprendizaje, la manipulación
de datos o en los sistemas de control.
Recientes estudios indican cómo la carga de trabajo debe estar dividida entre la persona y el
computador. La relación hombre/máquina puede ser mejorada significativamente mediante la adaptación
de la interface al usuario. Este tipo de tareas incluye reconocimiento y control de patrones multiescala.
Las redes neuronales proporcionan la tecnología ideal para facilitar la relación entre el usuario y sistemas
complejos.
I. Introducción a la computación neuronal 1.1
ADALINE/ 1960 Filtrado de señales. Rápida, fácil de Sólo es posible clasificar Bernand Widrow.
MADALINE Ecualizador adaptativo. implementar con espacios linealmente
Modems. circuitos analógicos o separados.
VLSI.
Back 1974-85 Síntesis de voz desde Red más popular. Necesita mucho tiempo Paul Werbos,
propagation. texto. Control de Numerosas para el aprendizaje y David Parker,
robots. Predicción. aplicaciones con muchos ejemplos . David Rumelhart.
Reconocimiento de éxito. Facilidad de
patrones. aprendizaje. Potente.
Perceptron 1957 Reconocimiento de La red más antigua. No puede reconocer Frank Rosenblatt
carácteres impresos Construida en HW. caracteres complejos
Tabla 1.2. Características de los tipos de redes neuronales más importantes (Adaptada de [Hecht-Nielsen 88a]).
Por otro lado, otra forma totalmente distinta de realizar redes neuronales consiste en la
implementación de éstas por medio de uno o varios circuitos integrados específicos, para así
poder obtener una estructura que se comporte lo más similar posible a como lo haría una red
neuronal. Aunque esta segunda aproximación se halla básicamente en manos de las
universidades y centros de investigación, existen algunos productos comerciales como el N64
de Intel, chip que incluye 64 neuronas y 10.000 sinapsis, y que puede procesar 2.500 conexiones
por segundo; o el MB4442 de Fujistsu, con una sola neurona y capaz de procesar 70.000
conexiones por segundo; o el MD1220 de Micro Devices, con estructura bit slice; o el conjunto
NU3232 y N32 de Neural Semiconductors.
Aunque la tecnología microelectrónica parece que es, actualmente, la más adecuada para
la realización de redes neuronales, existen varios problemas sin resolver, como es la dificultad
de obtener el alto grado de interconexionado propio de estas redes, o el problema de la
entrada/salida masiva de datos, condicionada por el número de pines, o, por último, el poder
conseguir sinapsis con pesos variables, necesarias si se quiere que la red tenga una verdadera
capacidad de aprendizaje.
Otra tecnología que podría ser apropiada en la implementación de las redes neuronales
es la tecnología electroóptica, con la ventaja de utilizar la luz como medio de transporte de la
I. Introducción a la computación neuronal 1.1
información, permitiendo la transmisión masiva de datos. Los intentos de aplicación de esta
tecnología en la realización de redes neuronales, se encuentran todavía en estados de
investigación muy básicos.
En la tabla 1.3 se puede observar una serie de ejemplos de productos comerciales con
su correspondiente dominio de aplicación. Hay que destacar que dichos productos están
soportados por arquitecturas hardware convencionales.
I. Introducción a la computación neuronal 1.1
Quality Plus HNC PC; Sun; DOS; Inspección de calidad de productos basada
SPARC UNIX en imagen (clasificación de manzanas y
Station cítricos, reciclado de botellas, evaluación de
estado de autopistas, etc.).
NETS COSMIC/NASA PC; Mac; VAX; Sun; HP 9000 DOS; UNIX: VMS
N-Net Al Ware PC; PS/2; Sun; SPARC; VAX DOS; UIX; VMS
Neuralworks Pro II/Plus NeuralWare PC; PS/2; Mac; RS/6000; Sun; DOS; OS/2; UNIX; VMS
SPARC; DEC; HP; Silicon
Graphics
- Placas coprocesadoras y
Placas coprocesadoras
Son placas basadas en microprocesadores convencionales o DPSs junto con una cierta
cantidad de memoria que se conectan a PCs o estaciones de trabajo y permiten acelerar
significativamente la simulación de la red neuronal.
I. Introducción a la computación neuronal 1.1
El Mark III está formado por un conjunto de procesadores Motorola 68020 asociados
cada uno de ellos a un co-procesador de punto flotante 68881, con la estructura típica antes
mencionada. La placa es directamente conectable a VAX-VME, y se distribuye junto con un
paquete software que se encarga de la asignación dinámica de los elementos de proceso a las
neuronas virtuales. Soporta hasta 65.000 neuronas y 1.000.000 de conexiones susceptibles de
ser entrenadas, con una velocidad de proceso de 45.000 conexiones por segundo. El Mark IV
(versión mejorada) soporta hasta 256.000 neuronas, 5.500.000 de sinápsis y procesa hasta
5.000.000 de interconexiones por segundo.
Tanto Mark III como IV comparten el mismo entorno software: el ANSE (Artificial
Neural System Environment). Este entorno facilita la definición de la red, su edición,
almacenamiento y recuperación, y se encarga asímismo de su ejecución sobre el hardware
específico a través de un compilador.
Matrices de Procesadores
El NEP incluye un TMS320 (DSP a 5 MIPs), una RAM de datos de 64Kx16, una RAM
de programa de 4Kx16 y 3 interfaces. Cada NEP puede emular alrededor de 4.000 neuronas y
16.000 conexiones, con velocidades de 30 a 50 actuaciones de la red por segundo.
Son aquellos que han sido diseñados para implementar un modelo específico de red
neuronal. Como ejemplos tomaremos el sistema de reconocimiento de imágenes de Wisard o
el coprocesador para redes realimentadas del Centro Nacional de Microelectrónica y la
Universidad Autónoma de Barcelona (CNM-UAB).
Desde el punto de vista estructural, el procesador se articula como una placa que contiene:
Las redes neuronales realimentadas presentan una asombrosa tolerancia a fallos y una
gran capacidad para rabajar con informaciones parciales e incompletas. Como contrapartida,
su simulación (o emulación según sea el caso) es especialmente lenta por cuanto, a diferencia
de las redes "feed-forward", en las qie la información se procesa linealmente desde la capa de
entrada a la de salida, en las realimentadas la información de entrada produce una transición
de estados (de longitud desconocida a priori) hacia una cofiguración estable.
En una matriz de sinapsis se da una organización tipo PLA (Programable Logic Array),
con una serie de lineas horizontales correspondientes a los equipotenciales de entrada, y una
serie de lineas verticales que corresponden a las líneas de suma de las neuronas. Cada sinapsis
es una multiplicación.
Una neurona es una célula viva y, como tal, contiene los mismos elementos que forman
parte de todas las células biológicas. Además contienen elementos característicos que las
diferencian. En general, una neurona consta de un cuerpo celular más o menos esférico, de 5 a
10 micras de diámetro, del que salen una rama principal, el axón, y varias ramas más cortas
llamadas dendritas. A su vez el axón puede producir ramas entorno a su punto de arranque y,
con frecuencia, se ramifica extensamente cerca de su extremo.
Una de las características que diferencian a las neuronas del resto de las células vivas es
su capacidad de comunicarse. En términos generales, las dendritas y el cuerpo celular reciben
señales de entrada; el cuerpo celular las combina e integra y emite señales de salida. El axón
transporta esas señales a los terminales axónicos que se encargan de distribuir información a
un nuevo conjunto de neuronas. Por lo general, una neurona recibe información de miles de
II. Fundamentos de las redes neuronales 2.1
otras neuronas y, a su vez, envía información a miles de neuronas más. Se calcula que en el
cerebro humano existen del orden de 1015 conexiones.
Las señales que se utilizan y a las que nos estamos refiriendo son de dos tipos distintos
de naturaleza: eléctrica y química. La señal generada por la neurona y transportada a lo largo
del axón es un impulso eléctrico; mientras que la señal que se transmite entre los terminales
axónicos de una neurona y las dendritas de la neuronas siguientes es de origen químico;
concretamente se realiza mediante moléculas de sustancias transmisoras (neurotransmisores)
que fluyen a través de unos contactos especiales, llamados sinapsis, que juegan el papel de
receptor y están localizados entre los terminales axónicos y las dendritas de la neurona
siguiente (espacio sináptico, entre 50 y 200 Angstroms).
Figura II.2 Propagación del impulso eléctrico a lo largo del axón. Afluencia localizada de
iones sodio (Na+) seguida de una salida de iones potasio (K-) [AEIA 91].
abre el paso a los iones potasio hasta que se restablece el equilibrio en reposo. La inversión del
voltaje, conocida como potencial de acción, se propaga a lo largo del axón y a su vez, provoca
la emisión de los neurotransmisores en los terminales axónicos.
Figura II.3 La inversión de voltaje (potencial de acción) cierra el canal de sodio y abre el
canal de potasio. La salida de iones potasio restablece rápidamente el potencial negativo
[AEIA 91].
Para establecer una similitud directa entre la actividad sináptica y la analogía con las
redes neuronales artificiales vamos a fijar los siguientes aspectos: Las señales que llegan a la
sinápsis son las entradas a la neurona; éstas son ponderadas (atenuadas o amplificadas) a
través de un parámetro denominado "peso" asociado a la sinápsis correspondiente. Estas
señales de entrada pueden excitar a la neurona (sinápsis con peso positivo) o inhibirla (peso
negativo). El efecto es la suma de de las entradas ponderadas. Si la suma es igual o mayor que
el umbral de la neurona, entonces la neurona se activa (da salida). Esta es una situación "todo o
nada"; cada neurona se activa o no se activa. La facilidad de transmisión de señales se altera
mediante al actividad del sistema nervioso. Las sinápsis son susceptibles a al fatiga, deficiencia
de oxígeno y a los agentes tales como los anestésicos. Otros eventos pueden incrementar el
grado de activación. Esta habilidad de ajustar señales es un mecanismo de aprendizaje. Las
funciones umbral integran la energía de las señales de entrada en el espacio y en el tiempo.
II. Fundamentos de las redes neuronales 2.1
Las redes neurales son modelos que intentan reproducir el comportamiento del
cerebro. Como tal modelo, realiza una simplificación, averiguando cuáles son los elementos
relevantes del sistema, bien porque la cantidad de información de que se dispone es excesiva o
bien porque es redundante. Una elección adecuada de sus características, más una estructura
conveniente, es el procedimiento convencional utilizado para construir redes capaces de
realizar una determinada tarea.
1) Aquellas que reciben estímulos externos, relacionadas con el aparato sensorial, que
tomarán la información de entrada.
2) Dicha información se transmite a ciertos elementos internos que se ocupan de su
procesado. Es en las sinápsis y neuronas correspondientes a este segundo nivel, donde
se genera cualquier tipo de representación interna de la información. Puesto que no
tienen relación directa con la información de entrada ni con la de salida, estos
elementos se denominan "unidades ocultas".
3) Una vez ha finalizado el período de procesado, la información llega a las unidades
de salida, cuya misión es dar la respuesta del sistema.
En cualquier sistema que se esté modelando, es útil caracterizar tres tipos de unidades:
entradas, salidas y ocultas. Las unidades de entrada reciben señales desde el entorno; estas
entradas (que son a la vez entradas a la red) pueden ser señales provenientes de sensores o de
otros sectores del sistema. Las unidades de salida envían la señal fuera del sistema (salidas de
la red), estas señales pueden controlar directamente potencias u otros sistemas. Las unidades
ocultas son aquellas cuyas entradas y salidas se encuentran dentro del sistema, es decir, no
tiene contacto con el exterior.
Todas las neuronas que componen la red se hallan en un cierto estado. En una visión
simplificada podemos decir que hay dos posibles estados, reposo y excitado, a los que
denominaremos globalmente estados de activación, y a cada uno de los cuales se le asigna un
valor. Los valores de activación pueden ser contínuos o discretos. Además, pueden ser
limitados o ilimitados. Si son discretos, suelen tomar un conjunto pequeño de valores o bien
valores binarios. En notación binaria, un estado activo se indicaría por un 1, y se caracteriza
por la emisión de un impulso por parte de la neurona (potencial de acción), mientras que un
estado pasivo se indicaría por un 0 y significaría que la neurona está en reposo. En otros
modelos se considera un conjunto continuo de estados de activación, en lugar de sólo dos
estados, en cuyo caso se les asigna un valor entre [0,1] o en el intervalo [-1,1], generalmente
siguiendo una función sigmoidal.
Finalmente, es necesario saber qué criterios o reglas siguen las neuronas para alcanzar
tales estados de activación. En principio, esto va a depender de dos factores: a) Por un lado,
puesto que las propiedades macroscópicas de las redes neuronales no son producto de
actuación de elementos individuales, sino del conjunto como un todo, es necesario tener idea
del mecanismo de interación entre las neuronas. El estado de activación estará fuertemente
influenciado por tales interaciones, ya que el efecto que producirá una neurona sobre otra será
proporcinal a la fuerza, peso o magnitud de la conexión entre ambas. b) Por otro lado, la señal
que envía cada una de las neuronas a sus vecinas dependerá de su propio estado de activación.
Entre las unidades o neuronas que forman una red neural artificial existe un conjunto
de conexiones que unen unas a otras. Cada unidad transmite señales a aquellas que están
conectadas con su salida. Asociada con cada unidad Ui hay una función de salida fi(ai(t)), la
cual transforma el estado actual de activación ai(t) en una señal de salida yi(t), es decir:
yi(t) = fi(ai(t))
El vector que contiene las salidas de todas las neuronas en un instante t es:
Existen cuatro funciones de transferencia típicas que determinan distintos tipos de neuronas:
* Función escalón
* Función lineal y mixta
* Sigmoidal
* Función Gaussiana.
La función escalón o umbral únicamente se utiliza cuando las salidas de la red son
II. Fundamentos de las redes neuronales 2.1
binarias (dos posibles valores). La salida de una neurona se activa sólo cuando el estado de
activación es mayor o igual que un cierto valor umbral ( la función puede estar desplazada
sobre los ejes.). La función lineal o identidad equivale a no aplicar función de salida. Se usa
muy poco. Las funciones mixta y sigmoidal son las más apropiadas cuando queremos como
salida información analógica. Veámos con más detalle las distintas funciones:
La forma más fácil de definir la activación de una neurona es considerar que ésta es
binaria. La función de transferencia escalón se asocia a neuronas binarias en las cuales cuando
la suma de las entradas es mayor o igual que el umbral de la neurona, la activación es 1; si es
menor, la activación es 0 (ó -1). Por otro lado, las redes formadas por este tipo de neuronas son
fáciles de implementar en hardware, pero a menudo, sus capacidades son limitadas.
Con la función sigmoidal, para la mayoría de los valores del estímulo de entrada
(variable independiente), el valor dado por la función es cercano a uno de los valores
asintóticos. Esto hace que en la mayoría de los casos, el valor de salida esté comprendido en la
zona alta o baja del sigmoide. De hecho, cuando la pendiente es elevada, esta función tiende a
la función escalón. Sin embargo, la importancia de la función sigmoidal (o cualquier otra
función similar), es que su derivada es siempre positiva y cercana a cero para los valores
grandes positivos o negativos, además toma su valor máximo cuando x es 0. Esto hace que se
puedan utilizar las reglas de aprendizaje definidas para las funciones escalón con la ventaja,
respecto a esta función, de que la derivada está definida en todo el intervalo. La función
escalón no podía definir la derivada en el punto de transición y esto no ayuda a los métodos de
aprendizaje en los cuales se usan derivadas.
Las conexiones que unen a las neuronas que forman una RNA tienen asociado un peso,
que es el que hace que la red adquiera conocimiento. Consideremos yi como el valor de salida
de una neurona "i" en un instante dado. Una neurona recibe un conjunto de señales que le dan
información del estado de activación de todas las neuronas con las que se encuentra conectada.
Cada conexión (sinápsis) entre la neurona i y la neurona j está ponderada por un peso wji.
Normalmente, como simplificación, se considera que el efecto de cada señal es aditivo, de tal
forma que la entrada neta que recibe una neurona (potencial postsináptico) netj es la suma del
producto de cada señal individual por el valor de la sinapsis que conecta ambas neuronas:
Install Equation Editor and double-
click here to view equation.
Esta regla muestra el procedimiento a seguir para combinar los valores de entrada a
una unidad con los pesos de las conexiones que llegan a esa unidad y es conocida como regla
de propagación.
Suele utilizarse una matriz W con todos los pesos wji que reflejan la influencia que
sobre la neurona j tiene la neurona i. W es un conjunto de elementos positivos, negativos o
nulos. Si wji es positivo, indica que la interacción entre las neuronas i y j es excitadora, es decir,
siempre que la neurona i esté activada, la neurona j recibirá una señal de i que tenderá a
activarla. Si wji es negativo, la sinápsis será inhibidora. En este caso, si i está activada, enviará
una señal a j que tenderá a desactivar a ésta. Finalmente, si wji= 0 se supone que no hay
conexión entre ambas.
Así como es necesario una regla que combine las entradas a una neurona con los pesos
de las conexiones, también se requiere una regla que combine las entradas con el estado actual
de la neurona para producir un nuevo estado de activación. Esta función "F" produce un
nuevo estado de activación en una neurona a partir del estado (ai) que existía y la combinación
de las entradas con los pesos de las conexiones (neti ).
Dado el estado de activación ai(t) de la unidad Ui y la entrada total que llega a ella, Neti
, el estado de activación siguiente ai(t+1) se obtiene aplicando una función F llamada función
de activación.
II. Fundamentos de las redes neuronales 2.1
Figura II.9
Por tanto, y en lo sucesivo,
consideraremos únicamente la función f que denominaremos indistintamente de transferencia
o de activación. Además, normalmente la función de activación no suele estar centrada en el
origen del eje que representa el valor de la entrada neta; sino que existe un cierto
desplazamiento debido a las características internas de la propia neurona y que no es igual en
todas ellas. Esta valor se denota como θi y representa el umbral de activación de la neurona i.
Figura II.10
La salida que se obtiene en una neurona para las diferentes formas de la función f serán:
II. Fundamentos de las redes neuronales 2.1
Si el conjunto es E = {-1, 1}
tendremos que:
yi(t+1) = Neti - θi
Figura II.12
b Neti <= b + θi
yi(t+1) = Neti - θi b + θi < Neti < B + θi
B Neti >= B
Figura II.13
II. Fundamentos de las redes neuronales 2.1
Figura II.14
Figura II.15
Existen muchas definiciones del concepto general de "aprendizaje", una de ellas podría
ser: "la modificación del comportamiento inducido por la interacción con el entorno y como resultado de
II. Fundamentos de las redes neuronales 2.1
Al igual que el funcionamiento de una red depende del número de neuronas de las que
disponga y de cómo estén conectadas entre sí, cada modelo dispone de su o sus propias
técnicas de aprendizaje. Se realizará un estudio más completo de las distintas reglas de
aprendizaje en el siguiente capítulo, a igual que nos referiremos a ellas cuando se realize un
estudio detallado del los tipos de redes neuronales más importantes.
La entrada neta de la j-ésima unidad se puede escribir en forma de producto escalar del
vector de entradas por el vector de pesos. Cuando los vectores tienen igual dimensión, este
producto se define como la suma de los productos de los componentes correspondientes a
ambos vectores:
Una vez presentados en el apartado anterior los componentes más importantes de una
red neuronal:
* Unidades de procesamiento (la neurona artificial).
* Estado de activación de cada neurona.
* Patrón de conectividad entre neuronas.
* Regla de propagación.
* Función de trasferencia.
* Regla de activación.
* Regla de aprendizaje.
centrados, sobre todo, en las características de cada nodo de la red (Micro-estructura), veamos
ahora cómo está organizada dicha red (Meso-estructura) en función de:
* Número de niveles o capas.
* Número de neuronas por nivel.
* Patrones de conexión.
* Flujo de información.
- Ocultas: Son internas a la red y no tienen contacto directo con el entorno exterior. El
número de niveles ocultos puede estar entre cero y un número elevado. Las neuronas de las
II. Fundamentos de las redes neuronales 2.1
capas ocultas pueden estar interconectadas de distintas maneras, lo que determina, junto con
su número, las distintas tipologías de redes neuronales.
Figura II.17 Estructura de una red multinivel con todas las conexiones hacia adelante.
La conectividad entre los nodos de una red neuronal está relacionada con la forma en
que las salidas de las neuronas están canalizadas para convertirse en entradas de otras
neuronas. La señal de salida de un nodo puede ser una entrada de otro elemento de proceso o
incluso ser una entrada de sí mismo (conexión auto-recurrente).
Cuando ninguna salida de las neuronas es entrada de neuronas del mismo nivel o de
niveles precedentes, la red se describe como de "propagación hacia adelante" (figura II.17).
Cuando las salidas pueden ser conectadas como entradas de neuronas de niveles previos o del
mismo nivel, incluyéndose ellas mismas, la red es de "propagación hacia atrás" (figura II.18).
Las redes de propagación hacia atrás que tienen lazos cerrados son sistemas recurrentes.
II. Fundamentos de las redes neuronales 2.1
Existen cuatro aspectos que caracterizan una red neuronal: su topología, el mecanismo
de aprendizaje, tipo de asociación realizada entre la información de entrada y de salida y, por
último, la forma de representación de estas informaciones. En este capítulo se describen estas
características aplicadas a los modelos de redes neuronales más conocidos.
BRAIN-SATATE-IN-A-BOX
CON CONEXIONES
CON AUTORRE-
CONEXIONES CURRENTES
LATERALES
EXPLICITAS
ADDITIVE GROSSBERG (AG)
SHUNTING GROSSBERG (SG)
OPTIMAL LINEAR ASOC.MEMO.
NO AUTO- HOPFIELD
RECURR.
BOLTZMANN MACHINE
CAUCHY MACHINE
CROSSBAR LEARNING MATRIX (LM)
Las redes multicapa son aquellas que disponen de conjuntos de neuronas agrupadas en
varios (2,3,etc.) niveles o capas. En estos casos una forma para distinguir la capa a la que
pertenece una neurona consistiría en fijarse en el origen de las señales que recibe a la entrada y
el destino de la señal de salida. Normalmente todas las neuronas de una capa reciben señales
de entrada de otra capa anterior, más cercana a las entrada de la red, y envían las señales de
salida a una capa posterior, más cercana a la salida de la red. A estas conexiones se les
denomina conexiones hacia delante o feedfoward.
Estas dos posibilidades permiten distinguir entre dos tipos de redes con múltiples
capas: las redes con conexiones hacia delante o REDES FEEDFOWARD, y las redes que
disponen de conexiones tanto hacia delante como hacia atrás o REDES
FEEDFOWARD/FEEDBACK.
En las redes feedfoward todas las señales neuronales se propagan hacia delante a
III. Clasificación de las redes neuronales 3.1
través de las capas de la red. No existen conexiones hacia atrás (ninguna salida de neuronas de
una capa i se aplica a la entrada de neuronas de capas i-1, i-2,...), y normalmente tampoco auto-
recurrentes (salida de una neurona aplicada a su propia entrada), ni laterales (salida de una
neurona aplicada a la entrada de neuronas de la misma capa), excepto en el caso de los
modelos de red propuestos por Kohonen denominados LEARNING VECTOR QUANTIZER
(LVQ) y TOPOLOGY PRESERVING MAP (TPM), en las que existen unas conexiones
implícitas muy particulares entre las neuronas de la capa de salida.
En este tipo de redes circula información tanto hacia delante (foward) como hacia atrás
(backward) durante el funcionamiento de la red. Para que esto sea posible existen conexiones
feedfoward y conexiones feedback entre las neuronas.
Algunas redes de este tipo tienen un funcionamiento basado en lo que se conoce como
"resonancia", de tal forma que las informaciones en la primera y segunda capas interactúan
entre sí hasta que alcanzan un estado estable. Este funcionamiento permite un mejor acceso a
las informaciones almacenadas en la red.
Los dos modelos de red feedfoward/feedback de dos capas más conocidas son la red ART
(Adaptive Resonance Theory) y la red BAM (Bidirectional Associative Memory).
También en este grupo de redes existen algunas que tienen conexiones laterales entre
neuronas de la misma capa. Estas conexiones se diseñan como conexiones excitadoras (con
peso positivo) permitiendo la cooperación entre neuronas o como inhibidoras (con peso
negativo) estableciéndose una competiciónentre las neuronas correspondientes. Una red de
este tipo que además dispone de conexiones auto-recurrentes es la denominada CABAM
(Competitive Adaptive Bidirectional Associative Memory).
ADALINE/MADALINE
CONEXIONES
HACIA
DELANTE
2
FEEDFORWARD
C
A
P
A
S
PERCEPTRON
LINEAR/ASSOC REWAR.PENALTY
LINEAR ASSOCIATIVE MEMORY
OPTIMAL LINEAR ASSOC. MEM.
DRIVE-REINFORCEMENT (DR)
CONEXIONES LEARNING VECTOR QUANTIZER
LATERALES
IMPLÍTITAS Y
AUTORREC.
TOPOLOGY PRESERVING MAP
(TPM)
CONEX. BIDIRECTIONAL ASSOC. MEM.
DELANTE (BAM)
/ATRAS SIN CONEX.
LATERALES
(FEED-
FOWARD/FEED-
BACK)
ADAPTIVE BAM.
TEMPORAL ASSOC. MEMORY
(TAM)
FUZZY ASSOCIATIVE MEMORY
(FAM)
CON COMPETITIVE ADAPTIVE BAM
CONEXIONES
LATERALES Y
III. Clasificación de las redes neuronales 3.1
AUTOREC.
ADAPTIVE RESONANCE THEORY
(ART)
CONEXIONES SIN ADAPTIVE HEURISTIC CRITIC
HACIA CONEXIONES (AHC)
DELANTE LATERALES
3
(FEEDFOWARD)
BOLTZMANN/CAUCHY
MACHINE
CON COUNTERPROPAGATION
CONEXIONES
LATERALES
BOLTZMANN/CAUCHY
MACHINE
CONEXIONES ADELANTE/ATRÁS Y BOLTZMANN/CAUCHY
LATERALES MACHINE
CONEXIONES HACIA DELANTE BACK-PROPAGATION (BPN)
N
FEEDFOWARD-FEEDBACK
(JERARQUIA DE NIVELES DE CAPAS COGNITRON/NEOCOGNITRON
BIDIMENSIONALES)
El aprendizaje es el proceso por el cual una red neuronal modifica sus pesos en
respuesta a una información de entrada. Los cambios que se producen durante el proceso de
aprendizaje se reducen a la destrucción, modificación y creación de conexiones entre las
neuronas. En los sistemas biológicos existe una contínua creación y destrucción de conexiones.
En los modelos de redes neuronales artificiales la creación de una nueva conexión implica que
el peso de la misma pasa a tener un valor distinto de cero. De la misma forma, una conexión se
destruye cuando su peso pasa a ser cero.
Es por ello por lo que una de las clasificaciones que se realizan de las redes neuronales
obedece al tipo de aprendizaje utilizado por dichas redes. Así se pueden distinguir:
Otro criterio que se puede utilizar para diferenciar las reglas de aprendizaje se basa en
considerar si la red puede "aprender" durante su funcionamiento habitual o si el aprendizaje
supone la "desconexión" de la red, es decir su inhabilitación hasta que el proceso termine. En el
primer caso se trataría de un aprendizaje ON LINE, mientras que el segundo es lo que se
conoce como aprendizaje OFF LINE.
En este tipo de aprendizaje se suelen considerar a su vez tres formas de llevarlo a cabo
que dan lugar a los siguientes de aprendizajes supervisados:
Siendo: Δwji: Variación en el peso de la conexión entre las neuronas i y j (Δwji = wjiactual -
wjianterior).
yi: Valor de salida de la neurona i.
dj: Valor de salida deseado para la neurona j.
yj: Valor de salida obtenido en la neurona j.
α : Factor de aprendizaje (0 < α <= 1) que regula la velocidad del aprendizaje.
Widrow y Hoff definieron una función que permitía cuantificar el error global
cometido en cualquier momento durante el proceso de entrenamiento de la red, lo cual es
III. Clasificación de las redes neuronales 3.1
importante ya que cuanta mas información se tenga sobre el error cometido, mas rápido se
puede aprender.
Mediante este procedimiento se llegan a obtener un conjunto de pesos con los que se
consigue minimizar el error medio.
Estas redes multicapa pueden utilizarse en muchas más aplicaciones que las ya
conocidas Perceptron, ADALINE y MADALINE, pero su proceso de aprendizaje es mucho
mas lento debido a que durante el mismo se debe explorar el espacio de posibles formas de
utilización de las neuronas de las capas ocultas, es decir, se debe establecer cual va a ser su
papel en el funcionamiento de la red.
Las bases de este nuevo método de aprendizaje (al que Rumelhart, Hinton y Williams
llamaron back-propagation) fueron sentadas por diferentes investigadores [Werbos 74], [Parker
82], [Le Cun 85], [Rumelhart 86] que propusieron soluciones al problema del entrenamiento de
redes multicapa, de forma independiente y sin conocimiento de la existencia de otros trabajos
paralelos.
Existe también una version recurrente del algoritmo back-propagation que se suele
utilizar en redes multicapa que presentan conexiones recurrentes con el fin de que estas redes
"aprendan" la naturaleza temporal de algunos datos ([Pineda 87], [Almeida 87], [Rohwer 87]).
Para concluir con los algoritmos por corrección de error, mencionar que también se
utilizan en algunas redes monocapa con conexiones laterales y autorrecurrentes, como es el
caso de la red BRAIN-STATE-IN-A-BOX (BSB), introducida por Anderson, Silverstein Ritz y
Jones en 1977 [Anderson 77]. Aunque en una primera fase el aprendizaje de esta red es sin
supervisión, se suelen refinar los valores de los pesos de las conexiones mediante un
aprendizaje por corrección de error basado en una adaptación de la regla delta de Widrow-
III. Clasificación de las redes neuronales 3.1
Hoff.
Se trata de un aprendizaje supervisado, más lento que el anterior, que se basa en la idea
de no disponer de un ejemplo completo del comportamiento deseado, es decir de no indicar
durante el entrenamiento exactamente la salida que se desea proporcione la red ante una
determinada entrada.
Una red que utiliza este tipo de aprendizaje es la conocida como BOLTZMANN
III. Clasificación de las redes neuronales 3.1
MACHINE, ideada por Hinton, Ackley y Sejnowski en 1984 [Hinton 84] que lo combina con el
aprendizaje Hebbiano (se describirá en el siguiente apartado) o con aprendizaje por corrección
de error (como la regla delta). La red BOLTZMANN MACHINE es una red con diferentes
topologías alternativas pero siempre con unas neuronas ocultas que permiten, mediante un
ajuste probabilístico, introducir un ruido que va siendo decrecido durante el proceso de
aprendizaje para escapar de los mínimos relativos (locales) de la función de energía
favoreciendo la búsqueda del mínimo global.
Existe otra red basada en este tipo de aprendizaje denominada CAUCHY MACHINE
desarrollada por Szu en 1986 [Szu 86] que es un refinamiento de la anterior y que utiliza un
procedimiento mas rápido de búsqueda del mínimo global y una función de probabilidad
diferente (la distrubución de probabilidad de Cauchy frente a la de Boltzmann utilizada en la
red anterior).
PERCEPTRON
OFF
APRENDIZAJE POR LINE
CORRECCION DE
ERROR
ADALINE/MADALINE
BACK-PROPAGATION
BRAIN-STATE-IN-A-BOX
COUNTERPROPAGATION
LlNEAR REWARD PENALTY
También el aprendizaje sin supervisión permite realizar una codificación de los datos
de entrada, generando a la salida una versión codificada de la entrada, con menos bits pero
manteniendo la información relevante de los datos.
- Aprendizaje Hebbiano.
- Apendizaje Competitivo y Cooperativo.
Esta expresión responde a la idea de Hebb, puesto que si las dos unidades son activas
(positivas) se produce un reforzamiento de la conexión. Por el contrario, cuando una es activa
y la otra pasiva (negativa) se produce un debilitamiento de la conexión. Se trata de una regla
de aprendizaje no supervisado, pues la modificación de los pesos se realiza en función de los
estados (salidas) de las neuronas obtenidos tras la presentación de un cierto estímulo
(información de entrada a la red), sin tener en cuenta si se deseaba obtener o no esos estados
de activación.
Este tipo de aprendizaje fue empleado por Hopfield en la conocida red que lleva su
nombre (RED HOPFIELD), introducida en 1982 y muy extendida en la actualidad, debido
principalmente a la relativa facilidad en su implementación en circuitos integrados VLSI.
Existen muchas variaciones del aprendizaje Hebbiano, por ejemplo Sejnowski en 1977
[Sejnowski 77] utilizó la correlación de la covarianza de los valores de activación de las
neuronas. Sutton y Barto en 1981 [Sutton 81] utilizaron la correlación del valor medio de una
neurona con la varianza de la otra. Klopf en 1986 [Klopf 86] propuso una correlación entre las
variaciones de los valores de activación en dos instantes de tiempo sucesivos, aprendizaje al
III. Clasificación de las redes neuronales 3.1
que denominó "DRIVE-REINFORCEMENT" y que utilizó en redes del mismo nombre con
topología feedfoward de 2 capas.
En las redes con aprendizaje competitivo (y cooperativo), suele decirse que las
neuronas compiten (y cooperan) unas con otras con el fin de llevar a cabo una tarea dada. Con
este tipo de aprendizaje se pretende que cuando se presente a la red una cierta información de
entrada, sólo una de las neuronas de salida de la red, o una por un cierto grupo de neuronas,
se active (alcance su valor de respuesta máximo). Por tanto, las neuronas compiten por
activarse, quedando finalmente una, o una por grupo, como neurona "vencedora" (winner-take-
all unit) quedando anuladas el resto, que son forzadas a sus valores de respuesta mínimos.
Una forma de aplicar este tipo de aprendizaje fue propuesta por Rumelhart y Zisper en
1985 [Rumelhart 85], quienes utilizaban redes multicapa dividiendo cada capa en grupos de
neuronas, de tal forma que éstas disponían de conexiones inhibitorias con otras neuronas de su
mismo grupo y conexiones excitadoras con las neuronas de la siguiente capa. En una red de
este tipo, después de recibir diferentes informaciones de entrada, cada neurona en cada grupo
se especializa en la respuesta a determinadas características de los datos de entrada.
En este tipo de redes, cada neurona tiene asignado un peso total, suma de todos los
pesos de las conexiones que tiene a su entrada. El aprendizaje afecta sólo a las neuronas
III. Clasificación de las redes neuronales 3.1
ganadoras (activas), redistribuyendo este peso total entre sus conexiones, sustrayendo una
porción a los pesos de todas las conexiones que llegan a la neurona vencedora y repartiendo
esta cantidad por igual entre todas las conexiones procedentes de unidades activas. Por tanto,
la variación del peso de una conexión entre una unidad i y otra j será nula si la neurona j no
recibe excitación por parte de la neurona i (no vence en presencia de un estímulo por parte de
i), y se modificará (se reforzará) si es excitada por dicha neurona i.
Fukushima empleó esta idea en 1975 [Fukushima 75] en una red multicapa llamada
COGNITRON, fuertemente inspirada en la anatomía y fisiología del sistema visual humano, y
en 1980 [Fukushima 80] en una versión mejorada de la anterior denominada
NEOCOGNITRON (también en 1983 [Fukushima 83] se presentó una variación de esta red,
utilizando aprendizaje supervisado). El Neocognitron disponía de un gran numero de capas
con una arquitectura muy específica de interconexiones entre ellas, y era capaz de aprender a
diferenciar caracteres aunque éstos se presentasen a diferente escala, en difente posición o
distorsionados.
Para concluir este apartado, comentar la existencia de otro caso particular del
aprendizaje competitivo denominado Teoría de la Resonancia Adaptativa ("Adaptive
Resonance Theory"), desarrollado por Carpenter y Grossberg en 1986 [Carpenter 86] y
utilizado en la red feeedfoward/feedback de dos capas conocida como ART (en sus dos
variantes: ART1 que trabaja con información binaria y ART2 [Carpenter 87] que maneja
información analógica). Esta red realiza un prototipado de las informaciones que reciben a la
entrada, generando como salida un ejemplar o prototipo que representa a todas las
informaciones que podrían considerarse pertenecientes a la misma clase o categoría.
En la tabla 3.4 se muestra una clasificación de las redes neuronales con aprendizaje
supervisado más importantes:
HOPFIELD
O
F
F
L
I
APRENDIZAJE N
HEBBIANO E
LEARNING MATRIX
OPTIMAL LAM
DRIVE-REINFORCEMENT
L
I
N
E
SHUNTING GROSSBERG
BIDIRECTIONAL ASSOCIATIVE MEMORY (BAM)
ADAPTIVE BAM
O LEARNING VECTOR QUANTIZER
F
F
APRENDIZAJE
COMPETITIVO LI
/COOPERATIVO NE
COGNITRON/NEOCOGNITRON
TOPOLOGY PRESERVING MAP
III. Clasificación de las redes neuronales 3.1
Las redes neuronales son sistemas que almacenan una cierta información "aprendida";
esta información se registra de forma distribuida en los pesos asociados a las conexiones entre
neuronas. Por tanto, puede imaginarse una red como un cierto tipo de memoria que almacena
unos datos de forma estable, datos que se grabarán en dicha memoria como consecuencia del
aprendizaje de la red y que podrán ser leidos a la salida como respuesta a una cierta
información de entrada, comportándose entonces la red como lo que habitualmente se conoce
por memoria asociativa; es decir, cuando se aplica un estímulo (dato de entrada) la red
responde con una salida asociada a dicha información de entrada.
Existen dos formas primarias de realizar esta asociación entre entrada/salida que se
corresponden con la naturaleza de la infomación almacenada en la red. Una primera sería la
denominada heteroasociación, que se refiere al caso en el que la red "aprende" parejas de
datos (A1,B1), (A2,B2),..(AN,BN), de tal forma que cuando se presente una cierta información de
entrada Ai deberá responder generando la correspondiente salida asociada Bi. La segunda se
conoce como autoasociación, donde la red "aprende" unas ciertas informaciones A1, A2,..AN, de
tal forma que cuando se le presenta una información de entrada realizará una autocorrelación,
respondiendo con uno de los datos almacenados, el más parecido al de entrada.
Estos dos mecanismos de asociación dan lugar a dos tipos de redes neuronales: las
redes heteroasociativas y las autoasociativas. Una red heteroasociativa podría considerase
como aquella que computa una cierta función, que en la mayoría de los casos no podrá
expresarse analíticamente, entre un conjunto de entradas y un conjunto de salidas,
correspondiendo a cada posible entrada una determinada salida. Por otra parte, una red
autoasociativa es una red cuya principal misión es reconstruir una determinada información
de entrada que se presenta incompleta o distorsionada (le asocia el dato almacenado más
parecido).
En realidad, estos dos tipos de modelos de redes no son diferentes en principio, porque
una red heteroasociativa puede siempre ser reducida a una autoasociativa mediante la
concatenación de una información de entrada y su salida (respuesta) asociada, para obtener la
información de entrada de la red autoasociativa equivalente. También puede conseguirse que
una red autoasociativa se comporte como una heteroasociativa, simplemente presentando,
como entrada parcial de la autoasociativa, la información de entrada para la heteroasociativa y
haciendo que la red complete la información para producir lo que sería la salida de la red
heteroasociativa equivalente.
Una red autoasociativa asocia una información de entrada con el ejemplar más
parecido de los almacenados "conocidos" por la red. Este tipo de redes pueden implementarse
con una sola capa de neuronas. Esta capa comenzará reteniendo la información inicial
presentada a la entrada y terminará representando la información autoasociada. Si se quiere
mantener la información de entrada y salida se deberían añadir capas adicionales; sin
embargo, la funcionalidad de la red puede conseguirse en una sola capa.
En cuanto a la conectividad en este tipo de redes, existen conexiones laterales entre las
neuronas (HOPFIELD, etc.) y. en algunos casos, conexiones autorrecurrentes (salida de una
neurona como entrada de la misma), como ocurre con las redes BRAIN-STATE-IN-A-BOX,
ADDITIVE GROSSBERG, etc..
En la tabla 3.5 se muestra el tipo de asociación realizada por los modelos de redes
neuronales mas conocidos.
III. Clasificación de las redes neuronales 3.1
PERCEPTRON BRAIN-STATE-IN-A-BOX
ADALINE/MADALINE HOPFIELD
BOLTZMANN MACHINE
CAUCHY MACHINE
LEARNING MATRIX
TEMPORAL ASSOCIATIVE MEMORY
LINEAR ASSOCIATIVE MEMORY
OPTIMAL LINEAR ASSOCIATIVE
MEMORY
DRIVE-REINFORCEMENT
FUZZY ASSOCIATIVE MEMORY
COUNTERPROPAGATION
BIDIRECTIONAL ASSOCIATIVE
MEMORY
ADAPTIVE BIDIRECTIONAL
ASSOCIATIVE MEMORY
COGNITRON/NEOCOGNITRON
TOPOLOGY PRESERVING MAP
LEARNING VECTOR QUANTIZER
ADAPTIVE RESONANCE THEORY
Otras redes, por el contrario, sólo admiten valores discretos o binarios {0,1} a su
entrada, generando también unas respuestas en la salida de tipo binario. En este caso las
funciones de activación de las neuronas serán del tipo escalón. Debido a su mayor sencillez, es
habitual encontrar algunos modelos de redes reales que aunque inicialmente habían sido
desarrollados como discretos por sus autores, posteriormente se haya realizado una versión
contínua de los mismo, como es el caso del modelo de HOPFIELD (DISCRETE HOPFIELD,
CONTINOUS HOPFIELD) y el denominado ADAPTIVE RESONANCE THEORY (ART1,
ART2). Existen también un tipo de redes (que podrían denominarse híbridas) en las que las
informaciones de entrada pueden ser valores contínuos, aunque las salidas de la red son
discretas.
III. Clasificación de las redes neuronales 3.1
En las siguiente tabla se muestra, por orden alfabético, los modelos de red neuronal
más conocidos junto sus autores y las características más relevantes de cada uno según la
clasificación que se ha desarrollado en este capítulo.
* topología,
* mecanismo de aprendizaje,
* tipo de asociación de las informaciones de entrada y salida y la forma de
representación de esta información.
* Señales de Entrada/Salida
* Autor(es)
III. Clasificación de las redes neuronales 3.18
ADAPTIVE HEURISTIC 3 CAPAS ON SUPERVIS. REFUERZO POR AJUSTE HETEROASOC E:ANALOG BARTO
CRITIC. AHC FEEDFOWARD TEMPORAL S:BINARI 1983
BACK-PROPAGATION N CAPAS OFF SUPERVIS. CORRECCION ERROR (REGLA HETEROASOC ANALOG. RUMELHART
FEEDFOWARD DELTA GENERALIZADA) etc. 1986
BOLTZMANN MACHINE. 1 CAPA CONEX.LAT. OFF SUPERVIS. ESTOCASTICO ("SIMULATED HETEROASOC HINTON
BM 3 CAPAS ANNEALING") BINARIAS ACKLEY
FEEDFOWARD + HEBBIANO ó +CORRECCION SEJNOWSKI
ERROR 1984
CAUCHY MACHINE. CM 1 CAPA CONEX.LAT. OFF NO SUPERV ESTOCASTICO HETEROASOC E:ANALOG SZU 1986
3 CAPAS ("FAST SIMULATED S:BINARI
FEEDFOWARD ANNEALING")
FUZZY ASSOCIATIVE 2 CAPAS OFF NO SUPERV HEBBIANO BORROSO HETEROASOC ANALOG. KOSKO
MEMORY. FAM FF/ FEEDBACK 1987
DISCRETE HOPFIELD 1 CAPA OFF NO SUPERV HEBBIANO AUTOASOC. BINARIAS HOPFIELD 1982
CONEX. LAT.
LEARN. MATRIX. LM 1 CAPA CROSSBAR OFF NO SUPERV HEBBIANO HETEROASOC BINARIAS STEINBUCH 1961
LINEAR ASSOCIATIVE 2 CAPAS OFF NO SUPERV HEBBIANO HETEROASOC ANALOG. ANDERSON 1968
MEMORY. LAM FEEDFOWARD KOHONEN77
III. Clasificación de las redes neuronales 3.18
LINEAR REWARD 2 CAPAS ON SUPERVIS. REFUERZO ESTOCASTICO HETEROASOC E:ANALOG BARTO 1985
PENALTY. LRP FEEDFOWARD S:BINARI
OPTIMAL LINEAR 2CAPAS/FF. OFF NO SUPERV HEBBIANO HETEROASOC ANALOG. WEE 1968
ASSOCIATIVE ---------- ("OPTIMAL LEAST MEAN ------- KOHONEN73
MEMORY. OLAM 1 CAPA CONEX.LAT. SQUARE CORRELATION") AUTOASOC.
AUTO-RECU.
SHUNTING GROSSBERG. 1 CAPA CONEX.LAT. ON NO SUPERV HEBBIANO O COMPETITIVO AUTOASOC. ANALOG. GROSSBERG 1973
SG AUTO-RECU.
SPARSE DISTRIBUTED 3 CAPAS OFF NO SUPERV HEBBIANO + RANDOM HETEROASOC BINARIAS KANERVA 1984
MEMORY. SDM FEEDFOWARD VECTOR (LVQ)
PREPROCESSING
Este grupo incluye el Perceptrón, las redes ADALINE y MADALINE y la red Back-
Propagation,. El Perceptrón y las redes ADALINE y MADALINE tienen un importante interés
histórico y han abierto el camino para el desarrollo de otras redes neuronales. Por otro lado, la
red Back-Propagation es probablemente una de las más utilizadas hoy en día.
4.1 EL PERCEPTRON.
Este fue el primer modelo de red neuronal artificial desarrollado por Rosenblatt en
1958 [Rosenblatt 58]. Despertó un enorme interés en los años 60 debido a su capacidad para
aprender a reconocer patrones sencillos: un perceptrón, formado por varias neuronas lineales
para recibir las entradas a la red y una neurona de salida, es capaz de decidir cuando una
entrada presentada a la red pertenece a una de las dos clases que es capaz de reconocer.
La única neurona de salida del Perceptrón realiza la suma ponderada de las entradas,
IV Redes neuronales con conexiones hacia adelante. 4.1
resta el umbral y pasa el resultado a una función de trasferencia de tipo escalón. La regla de
decisión es responder +1 si el patrón presentado pertenece a la clase A o -1 si el patrón
pertenece a la clase B (Fig. 4.1). La salida dependerá de la entrada neta (suma de las entradas xi
ponderadas) y del valor umbral θ.
Sin embargo, el Perceptrón al constar sólo de una capa de entrada y otra de salida con
una única neurona, tiene una capacidad de representación bastante limitada. Este modelo sólo
es capaz de discriminar patrones muy sencillos, linealmente separables. El caso más conocido
es la imposibilidad del perceptrón de representar la función OR-EXCLUSIVA.
La separabilidad lineal limita a las redes con un sólo dos capas a la resolución de
problemas en los cuáles el conjunto de puntos (correspondientes a los valores de entrada) sean
separables geométricamente. En el caso de dos entradas, la separación se lleva a cabo mediante
una línea recta. Para tres entradas, la separación se realiza mediante un plano en el espacio
tridimensional. Así sucesivamente hasta el caso de N entradas, en el cuál el espacio N-
dimensional es dividido en un hiperplano.
donde
IV Redes neuronales con conexiones hacia adelante. 4.1
x1 , x2 son las entradas a la neurona, (En las neuronas de la capa de entrada la salida es
igual a su entrada.)
w1 , w2 son los pesos entre las neuronas de la capa de entrada y la de la capa de salida
f : Función de salida o transferencia (La función de activación es la función identidad)
Si w1x1 + w2x2 es mayor que 0 la salida será 1 y en caso contrario será -1 (función de
salida en escalón). Como puede observarse, el sumatorio que se le pasa como parámetro
(entrada total) a la función f (función de salida o transferencia) es la expresión matemática de
una recta donde w1 y w2 son variables y x1 y x2 son las constantes. En la etapa de aprendizaje,
se irán variando los valores de los pesos obteniendo distintas rectas.
Lo que se pretende al modificar los pesos de las conexiones es encontrar una recta que
divida el plano en dos espacios de las dos clases de valores de entrada. Concretamente, para la
función OR, se debe separar los valores 01, 10 y 11 del valor 00. En este caso, al no existir
término independiente en la ecuación porque el umbral θ es cero, las posibles rectas pasarán
por el origen de coordenadas, por lo que la entrada 00 quedará sobre la propia recta.
Para ello, como se dijo en el capítulo 2, se considera una entrada de valor fijo "1" a
través de una conexión con peso w0 que representa el umbral (w0=-θ) y cuyo valor deberá ser
ajustado durante la etapa de aprendizaje. Así, el parámetro que se le pasa a la función de
transferencia de la neurona queda: w1x1 + w2x2 + w01, donde w0 es el término independiente
que permitirá desplazar la recta del origen de coordenadas. Si aplicamos esta solución para el
caso de la red que calcula la función OR, aumentamos el número de soluciones ya que, además
de las rectas sin término independiente (w0=0) que dan solución al problema, existirán otras
Inicialmente se asignan valores aleatorios a cada uno de los pesos (wi) de las
conexiones y al umbral (-w0=θ).
5. Volver al paso 2.
A continuación se muestra el ajuste de los pesos de las conexiones de una red que debe
realizar la función OR utilizando el método expuesto. En este ejemplo se va a utilizar un
umbral distinto de cero mediante la conocida conexión con entrada a 1 para aumentar el
número de posibles soluciones del problema.
w0 = 1.5
w1 = 0.5
w2 = 1.5
b) Se van tomando uno a uno los cuatro patrones de entrada y se aplica el método explicado.
b.3.) Puede comprobarse que para las entradas 10 y 11 la salida obtenida es igual
que la deseada, por lo que no se varían los pesos. En el caso de que no fuese así,
se aplicaría el mismo método que se ha aplicado antes.
Existe un patrón de entrada, 00, para la cual el error cometido no es cero, por tanto, se
realiza de nuevo a partir del punto b).
c.3.) Puede comprobarse que para el resto de las entradas 10 y 11 los pesos no
varían.
IV Redes neuronales con conexiones hacia adelante. 4.1
d.2.) Si no han variado los pesos entonces para el resto de las entradas el error
cometido es cero (ver apartados c.2) y c.3.)) .
Con estos nuevos pesos, al calcular la salida que se obtiene para cualquiera de los
cuatro patrones de entrada, ya no se comete ningún error, por lo que la etapa de aprendizaje
concluye.
Fig. 4.3 Función XOR. No es posible obtener una recta que separe las dos clases.
a una salida nula de la red y la zona central se asocia a la salida con valor 1. De esta manera, es
posible encontrar una solución al problema de la función XOR .
Por tanto, se ha de utilizar una red de tres neuronas, distribuidas en dos capas, para
solucionar el problema de la función XOR. Como ejemplo, el lector puede comprobar que se
obtienen los resultados mostrados en la Fig. 4.4 tomando los siguientes valores:
w11= 1 w12= 1
w21= 1 w22= 1
w31= 1 w32= -1.5
θ1 = 0.5 θ2 = 1.5 θ3 = 0.5
x1 x2 y1 y2 y3 = XOR
0 0 f (-0.5) = 0 f (-1.5) = 0 f (-0.5) = 0
0 1 f (0.5) = 1 f (-0.5) = 0 f (0.5) = 1
1 0 f (0.5) = 1 f (-0.5) = 0 f (0.5) = 1
1 1 f (1.5) = 1 f (0.5) = 1 f (1.5) = 1
IV Redes neuronales con conexiones hacia adelante. 4.1
equivale a ejecutar la operación lógica AND en el nodo de salida, resultando una región de
decisión intersección de todos los semiplanos formados en el nivel anterior. La región de
decisión resultante de la intersección serán regiones convexas con un número de lados a lo
sumo igual al número de neuronas de la segunda capa.
Fig. 4.6 Distintas formas de las regiones generadas por un perceptron multinivel [Lippman 87].
IV Redes neuronales con conexiones hacia adelante. 4.1
El número de nodos de la 3ª capa (N3) debe ser mayor que uno cuando las regiones
de decisión están desconectadas o "endentadas" y no se pueden formar con una región
convexa. Este número, en el peor de los casos, es igual al número de regiones desconectadas
en las distribuciones de entrada. El número de neuronas en la 2ª capa (N2) normalmente
debe ser suficiente para proveer tres o más ángulos por cada área convexa generada por
cada neurona de la 3ª capa. Así, deberá de haber más de tres veces el nº de neuronas de la 3ª
capa (N2>3N3). En la práctica un número de neuronas excesivo en cualquier capa puede
generar ruido. Por otro lado, si existe un número de neuronas redundantes se obtiene mayor
tolerancia a fallos.
IV Redes neuronales con conexiones hacia adelante. 4.1
Esta es la salida lineal que genera el ALC. La salida binaria correspondiente de la red
ADALINE es, por tanto:
Install Equation Editor and double-
click here to view equation.
La red ADALINE se puede utilizar para generar una salida analógica utilizando un
conmutador sigmoidal en lugar de binario; en tal caso la salida y se obtendrá aplicando una
función de tipo sigmoidal, como la tangente hiperbólica (tanh (s)) o la exponencial (1/1+e-s)
Basándose en el método del gradiente decreciente se obtiene una regla (regla delta o
regla LMS) para modificar los pesos de tal manera que hallamos un nuevo punto en el
espacio de pesos más próximo al punto mínimo. Es decir, las modificaciones en los pesos
son proporcionales al gradiente decreciente de la función error Δwj = -α(εk/wj). Por tanto,
se deriva la función error respecto a los pesos para ver como varía el error con el cambio de
los pesos. Aplicamos la regla de la cadena para el cálculo de dicha derivada.
Así pues, el valor del gradiente del error producido por un patrón dado (k) es:
Install Equation Editor and double-
click here to view equation.
La diferencia entre esta expresión y la del Perceptron está el en valor del error εk, que
en el caso del Perceptron se refería a la diferencia entre el valor deseado y la salida binaria yk,
no la salida lineal sk de la red ADALINE. En la figura 4.8 se representa gráficamente el
mecanismo de aprendizaje de ambas redes.
Fig. 4.8 Ajuste de los pesos durante el aprendizaje en las redes ADALINE (a) y Perceptron
(b) cuando, ante un patrón de aprendizaje xk se desea una salida dk [Widrow 90].
Aunque a simple vista no parece que exista gran diferencia entre ambos tipos de
mecanismos de aprendizaje, el caso de la red ADALINE mejora al del Perceptron, ya que va a
ser más sencillo alcanzar el mínimo de error, facilitando la convergencia del proceso de
entrenamiento. Esto se demuestra a través de la forma de la función de error cuadrado
Install Equation Editor and double-
medio click here to view equation. 24, que en el caso de calcularse a partir de la salida lineal
(sk) tiene una forma semejante a la indicada en la figura 4.9 (a), mientras que en el caso de
utilizar la salida binaria (Perceptron) existen una gran cantida de mínimos locales (Fig. 4.9 (b)).
IV Redes neuronales con conexiones hacia adelante. 4.1
Existe una situación intermedia que consistiría en utilizar lo que se conoce como salida
sigmoidal, en lugar de la salida lineal de ADALINE o la binaria del Perceptron. En tal caso la
función de activación sería del tipo sigmoidal (Fig. 4.10 (a)) y la superficie de error tendría la
forma indicada en la Fig. 4.10 (b) con un gran mínimo global (como en el caso de ADAINE) y
varios mínimos locales (aunque en menor medida que el Perceptron).
La aplicación del proceso iterativo de aprendizaje (Algoritmo de aprendizaje de una
red ADALINE) consta de los siguientes pasos:
Fig. 4.10 Ajuste de los pesos utilizando la salida sigmoidal (a) y su efecto sobre la función
de error cuadrado medio<ε2k> (b)[Widrow 90].
Fig. 4.9 Ejemplo de función de error cuadrado medio <ε2k> cuando se utiliza para su
evaluación la salida lineal sk (a) o la salida binaria (b) [Widrow 90].
IV Redes neuronales con conexiones hacia adelante. 4.1
4. Se repiten los pasos del 1 al 3 con todos los vectores de entrada (L).
5. Si el error cuadrado medio:
Install Equation Editor and double-
click here to view equation.
Cuando se utiliza una red ADALINE para resolver un problema concreto, es necesario
determinar una serie de aspectos prácticos como el número de vectores de entrenamiento
necesarios, hallar la forma de generar la salida "deseada" para cada vector de entrenamiento, o
la dimensión óptima del vector de pesos, o cuáles deberían ser los valores iniciales de los
pesos así como si es necesario o no un valor umbral θ, o cuál debe ser el valor de α o cuándo se
debe finalizar el entrenamiento, etc. En general, la solución de estas cuestiones depende del
problema concreto que se pretenda resolver, por lo que no se pueden dar respuestas genéricas
concretas.
La dimensión del vector de pesos tiene una influencia directa en el tiempo necesario de
entrenamiento (sobre todo, cuando se realiza una simulación por ordenador) por lo que,
generalmente, se debe tomar un compromiso entre este aspecto y la aceptabilidad de la
solución (normalmente, se mejora el error aumentando el número de pesos).
Sin duda la principal aplicación de las redes Adaline está en el campo del
procesamiento de señales, en concreto, como ya se ha comentado, para el diseño y realización
de filtros que eliminen el ruido en señales portadoras de información. Como filtros
adaptativos, se han utilizado redes tipo ADALINE en numerosas aplicaciones. Destaca su uso
como filtros de ecualización adaptativos en modems de alta velocidad y canceladores
adaptativos del eco para el filtrado de señales en comunicaciones telefónicas de larga distancia
y comunicaciones vía satélite. También se han utilizado para la eliminación de ruido y
predicción de la señal; por ejemplo, cancelación del ruido materno de las grabaciones
electrocardiográficas (ECG) del latido del corazón del feto humano (Figuras 4.12 y 4.13).
IV Redes neuronales con conexiones hacia adelante. 4.1
Fig. 4.12 Cancelación del ruido del corazón materno en el ECG de un feto humano. (a)
Vectores de campo eléctrico de madre y feto. (b) Localización de los vectores utilizados
[Widrow 88].
Fig. 4.13 Filtrado con un ancho de banda 3-35 Hz y una frec. de muestreo de 256 HZ. (a) Señal
de referencia materna (salida deseada). (b) Señal fetal (entrada del filtro). (c) Salida del filtro
[Widrow 88].
Una de las aplicaciones de redes neuronales que más pronto se pudo implantar en el
campo industrial fue el ADALINE para la eliminación de ecos en circuitos telefónicos. Este
fenómeno es especialmente apreciable en comunicaciones a larga distancia y se elimina
utilizando circuitos híbridos para aislar las señales de entrada de las de salida. Debido, por
ejemplo, a los desacoplos de impedancias, el rendimiento de estos circuitos no siempre es el
idóneo por lo que se produce un eco que, aunque esté atenuado, puede ser audible y, por
tanto, perturba la comunicación. Concretamente, de forma simplificada, la red neuronal se
utiliza para implementar un filtro adaptativo que pueda reproducir y compensar las pérdidas
que se producen en el circuito híbrido. Como dicho filtro posee una sola entrada, se configura
IV Redes neuronales con conexiones hacia adelante. 4.1
como filtro transversal el cuál, según sugieren Widrow y Stearns [Widrow 85], puede
muestrear la señal de entrada a 8 kHz y utilizar 128 valores de pesos.
Por otro lado, los filtros adaptativos también se pueden utilizar para predecir el valor
futuro de una señal a partir su valor actual basándose en un aprendizaje en el que se emplea
como entrada el valor retardado de la señal actual (la señal en algún momento anterior) y
como salida esperada el valor actual de la señal. El filtro intentará minimizar el error entre su
salida y la señal actual, basándose en una entrada que es el valor de la señal en algún instante
anterior. Una vez que el filtro predice correctamente la señal actual, basándose en la señal
anterior, se puede utilizar directamente la actual como entrada sin el retardo. El filtro realizará
una predicción del valor futuro de la señal. Otro ejemplo es el del filtro adaptativo utilizado
para modelar las respuestas de un sistema basándose en las señales de entrada. En este caso las
entradas del filtro son las mismas que las del sistema, ajustando los pesos durante el
aprendizaje en función de la diferencia entre su salida y la salida del sistema (Fig. 4.14). Esta
configuración tiene muchas aplicaciones como sistema adaptativo de control. Si el "sistema"
representa a un operador humano, este dispositivo podría servir como dispositivo "inteligente"
de control automatizado.
Fig. 4.14 Ejemplo de red ADALINE utilizada como filtro adaptativo para modelar la salida
de un sistema.
IV Redes neuronales con conexiones hacia adelante. 4.1
Con una idea semejante a la que se expuso del perceptrón multinivel respecto del
elemental compuesto por una sola neurona, surge la red MADALINE ("Multiple ADALINEs")
como una combinación de módulos ADALINE básicos en una estructura de capas que supera
algunas de las limitaciones de la red ADALINE original (Fig. 4.15).
1. Se aplica un vector a las entradas de MADALINE y se hace que se propague hasta las
unidades de salida.
- Se selecciona la primera neurona que no haya sido seleccionado antes y cuya salida
lineal esté más próxima a cero. Ésta es la neurona que puede cambiar su salida binaria
con el menor cambio de sus pesos y, según el principio de mínima perturbación, debe
tener prioridad en el proceso de aprendizaje.
- Se cambian los pesos de la neurona seleccionada de tal modo que cambie su salida
binaria.
- Se hace que se propague el vector de entrada hacia adelante, partiendo de las
entradas y en dirección a las salidas, una vez más.
- Se admite el cambio de pesos si ha dado lugar a una reducción del error, en caso
contrario, se restauran los pesos originales.
Los pasos 5 y 6 se pueden repetir con grupos de tres, cuatro o mayor número de
neuronas hasta obtener resultados satisfactorios. Se considera que las parejas son apropiadas
para redes que tengan un máximo de 25 neuronas por capa aproximadamente.
IV Redes neuronales con conexiones hacia adelante. 4.1
La regla propuesta por Widrow en 1960 (regla delta) ha sido extendida a redes con
capas intermedias (regla delta generalizada) con conexiones hacia adelante (feedforward) y
cuyas células tienen funciones de activación continuas (lineales o sigmoidales), dando lugar al
algoritmo de retropropagación (backprpagation). Estas funciones contínuas son no decrecientes
y derivables. La función sigmoidal pertenece a este tipo de funciones, a diferencia de la función
escalón que se utiliza en el perceptron, ya que ésta última no es derivable en el punto en el que
se encuentra la discontinuidad.
Este algoritmo utiliza también una función o superficie de error asociada a la red,
buscando el estado estable de mínima energía o de mínimo error a través del camino
descendente de la superficie del error. Por ello, realimenta el error del sistema para realizar la
modificación de los pesos en un valor proporcional al gradiente decreciente de dicha función
de error.
El método que sigue la regla delta generalizada para ajustar los pesos es exactamente el
mismo que el de la regla delta utilizada en el Perceptron y ADALINE; es decir, los pesos se
Fig. 4.16 Conexión entre una neurona de una capa oculta con una neurona de salida.
Dada una neurona (unidad Ui) y la salida que produce yi (Fig. 4.16), el cambio que se
produce en el peso de la conexión que une la salida de dicha neurona con la unidad Uj (wji)
para un patrón de aprendizaje "p" determinado es:
donde dpj es la salida deseada de la neurona j para el patrón p y netj es la entrada neta que
recibe la neurona j.
Fig. 4.17 Conexiones entre neuronas de la capa oculta con la capa de salida.
Según esto, en el caso de que Uj no sea una neurona de salida (Ver figura 4.17), el error
que se produce está en función del error que se comete en las neuronas que reciben como
entrada la salida de Uj.
donde el rango de k cubre todas aquellas neuronas a las que está conectada la salida de Uj. De
esta forma, el error que se produce en una neurona oculta es la suma de los errores que se
producen en las neuronas a las que está conectada la salida de ésta, multiplicando cada uno de
ellos por el peso de la
conexión.
filtrar estas oscilaciones se añada en la expresión del incremento de los pesos un término
(momento), β, de manera que dicha expresión quede:
Install Equation Editor and double-
click here to view equation.
donde β es una constante (momento) que determina el efecto en t+1 del cambio de los pesos en
el instante t.
donde
En una red backpropagation existe una capa de entrada con n neuronas y una capa de
salida con m neuronas y al menos una capa oculta de neuronas internas. Cada neurona de una
capa (excepto las de entrada) recibe entradas de todas las neuronas de la capa anterior y envía
su salida a todas las neuronas de la capa posterior (excepto las de salida). No hay conexiones
hacia atrás "feedback" ni laterales entre neuronas de la misma capa.
Fig. 4.18 Modelo de arquitectura de una red backpropagation. Pueden existir neuronas
ficticias con salida 1 y pesos umbral θ de entrada al resto de las neuronas de cada capa.
fases, una hacia adelante y otra hacia atrás. Durante la primera fase el patrón de entrada es
presentado a la red y propagado a través de las capas hasta llegar a la capa de salida.
Obtenidos los valores de salida de la red, se inicia la segunda fase, comparándose estos valores
con la salida esperada, para obtener el error. Se ajustan los pesos de la última capa
proporcionalmente al error. Se pasa a la capa anterior con una retropropagación del error
(backpropagation), ajustando convenientemente los pesos y continuando con este proceso
hasta llegar a la primera capa. De esta manera se han modificado los pesos de las conexiones
de la red para cada ejemplo o patrón de aprendizaje del problema, del que conocíamos su
valor de entrada y la salida deseada que debería generar la red ante dicho patrón.
generalización de la regla delta, requiere el uso de neuronas cuya función de activación sea
contínua y, por tanto, diferenciable. Generalmente, la función utilizada será del tipo sigmoidal
(Fig. 4.19).
A continuación se presenta, a modo de síntesis, los pasos y fórmulas a utilizar para
Paso 1
Inicializar los pesos de la red con valores pequeños aleatorios.
Paso 2
Presentar un patrón de entrada, Xp: xp1,xp2,...,xpN y especificar la salida deseada que
debe generar la red: d1,d2,...,dM. (Si la red se utiliza como un clasificador, todas las
salidas deseadas serán cero salvo una que será la de la clase a la que pertenece el
patrón de entrada).
Paso 3
Para ello presentamos las entradas a la red y vamos calculando la salida que presenta
cada capa hasta llegar a la capa de salida, esta será al salida de la red y1,y2,...,yM. Los
pasos a seguir son los siguientes:
- Se calculan las entradas netas para las neuronas ocultas procedentes de las neuronas
de entrada. Para una neurona j oculta :
Install Equation Editor and double-
click here to view equation.
- Se realizan los mismos cálculos para obtener las salidas de las neuronas de salida
(capa "o": output)
)
Install Equation Editor and double-
click here to view equation.
Paso 4
por lo que los términos de error para las neuronas de salida quedan:
Install Equation Editor and double-
click here to view equation.
IV Redes neuronales con conexiones hacia adelante. 4.1
donde observamos que el error en las capas ocultas depende de todos los términos de
error de la capa de salida. De aquí surge el término de "propagación hacia atrás". En
particular, para la función sigmoidal:
Install Equation Editor and double-
click here to view equation.
Paso 5
Por tanto, de uno de los problemas que presenta este algoritmo de entrenamiento de
redes multicapa es que busca minimizar la función de error pudiendo caer en un mínimo local
o en algún punto estacionario y de esta manera no se llega a encontrar el mínimo global de la
función del error. Sin embargo, ha de tenerse en cuenta que no tiene por qué alcanzarse el
mínimo global en todas las aplicaciones, sino que puede ser suficiente con un error mínimo
preestablecido.
Fig. 4.20 Ejemplo representativo de una forma de la superficie de error donde w representa
los posibles valores de la matriz de pesos de la red.
En la práctica, si una red deja de aprender antes de llegar a una solución aceptable, se
realiza un cambio en el número de neuronas ocultas o en los parámetros de aprendizaje o,
simplemente, se vuelve a empezar con un conjunto distinto de pesos originales y se suele
resolver el problema.
IV Redes neuronales con conexiones hacia adelante. 4.1
Respecto al número de capas de la red, en general, tres capas son suficientes (entrada-
oculta-salida). Sin embargo, hay veces en que un problema es más fácil de resolver (la red
aprende más deprisa) con más de una capa oculta. El tamaño de la capas tanto de entrada
como de salida suele venir determinado por la naturaleza de la aplicación. En cambio, decidir
cuántas neuronas debe tener la capa oculta no suele ser tan evidente.
Sería ideal, para una rápida adaptación del sistema, inicializar los pesos con una
combinación de valores (W) muy cercano al punto de mínimo error buscado. Pero es imposible
porque no se conoce, a priori, donde está el punto mínimo. Así, se parte de un punto
cualquiera del espacio, inicializando los pesos con valores pequeños y aleatorios cualesquiera
(por ejemplo, entre ±0,5), al igual que los términos umbral θi, que aparecen en las ecuaciones
de entrada neta a cada neurona. Este valor umbral se suele tratar como un peso más, que está
conectado a una neurona ficticia de salida siempre 1. La utilización de los términos umbral es
opcional pues, en caso de utilizarse, es tratado exactamente igual que un peso más y participa
como tal en el proceso de aprendizaje. La expresión de la entrada neta a cada neurona se
podrá escribir de la forma:
Install Equation Editor and double-
click here to view equation.
La modificación de los pesos puede realizarse cada vez que un patrón ha sido
presentado, o bien después de haber acumulado los cambios de los pesos en un número de
iteraciones. El momento adecuado para cambiar los pesos depende de cada problema concreto.
IV Redes neuronales con conexiones hacia adelante. 4.37
Δwji = - α( ep/wji)
Sea la neurona j:
Fig. 4.21
donde
Install Equation Editor and double-
click here to view equation. (2)
En la fase de entrenamiento, se presenta a la red parejas de valores (Xp ---> Dp) para que
realice las asociaciones internas necesarias. Donde p representa cada p-ésimo ejemplo (muestra
o patrón) distinto de un mismo problema y se sabe que para una entrada Xp= (xp1, ..., xpN) a la
red, la salida deseada será Dp= (dp1, ..., dpM). Al recibir la red una entrada Xp ésta se va a
propagar a través de la red obteniendo en la última capa una salida Yp= (yp1, ..., ypM) asociada a
la entrada Xp.
Se compara la salida obtenida Yp con la salida deseada Dp, calculando el error con la
ecuación
Install Equation Editor and double-
click here to view equation. (3)
donde la derivada del error respecto a Netj indica como varía el error al variar la entrada a la
neurona j, y, la derivada de Netj respecto a un peso indica como varía la entrada a la neurona j
al variar el peso de la conexión que va de la neurona i a la neurona j. (Fig. 4.16).
IV Redes neuronales con conexiones hacia adelante. 4.37
Fig. 4.22
IV Redes neuronales con conexiones hacia adelante. 4.37
Para calcular el valor de delta se vuelve a aplicar la regla de la cadena (Fig. 4.23)
Fig. 4.23
En este caso podemos aplicar directamente la ecuación (3) pues j sería igual a k. Por
tanto quedaría:
Install Equation Editor and double-
click here to view equation. (13)
De esta manera, la variación del peso de una conexión que va de una capa de la red a la
capa externa se calcula como:
IV Redes neuronales con conexiones hacia adelante. 4.37
donde k denota a las neuronas de la capa siguiente a la que pertenece la neurona j (Fig. 4.24).
Fig. 4.24
De esta manera, la variación del peso de una conexión que va de una capa de la red a
otra que no sea la externa se calcula como:
Únicamente queda por definir la función f y su derivada. Por lo general en las redes
tipo multicapa generalizado la función de activación suele ser sigmoidal:
(19)
(21)
y, por tanto:
Install Equation Editor and double-
click here to view equation. (22)
En definitiva, para calcular el incremento ha realizar en los pesos existentes entre una
capa y la siguiente que no sea la capa externa usamos:
Install Equation Editor and double-
click here to view equation. (23)
donde (δpkwkj) representa la retropropagación del error. Para calcular el incremento a realizar
a los pesos existentes entre una capa y la capa siguiente (capa externa) usamos:
donde (dpj - ypj) es el error que se produce en las neuronas de la capa externa siendo dpj el valor
deseado para el patrón p e ypj el valor realmente obtenido al procesar el patrón p.
IV Redes neuronales con conexiones hacia adelante. 4.37
- Codificación de información
Se trata de una aplicación típica de reconocimineto de patrones, siendo en este caso los
caracteres de un texto los patrones que hay que reconocer. Se puede utilizar una red
IV Redes neuronales con conexiones hacia adelante. 4.37
backpropagation par "aprender" las diferentes formas de los caracteres que se representarán
como imágenes compuestas por un cierto nº de pixels, generando la red como salida el código,
por ejemplo ASCII, correspondiente al carácter de entrada. El objetivo es que la red tenga
capacidad para generalizar, es decir, que reconozca formas de caracteres no utilizadas en la
fase de aprendizaje, siempre que no difieran excesivamente de los patrones de entrenamiento.
También se puede utilizar una segunda red backpropagation como memoria autoasociativa (o
diccionario) que "aprenda" palabras completas y permita depurar posibles errores en el
reconocimiento de caracteres aislados llevado a cabo por la primera red. Se han obtenido
buenos resultados con caracteres impresos de diferentes tamaños, aunque es motivo de
investigación actual su aplicación al caso de texto manuscrito.
Fig. 4.25 Forma general de onda de la señal electrocardiográfica. Señalar que el complejo
QRS es la parte que proprociona mayor información.
En esta experiencia, las red neuronal utilizada no trabajaba directamente con las
señales, sino que previamente se realizaba un preprocesamiento de éstas, parametrizando cada
señal mediante un conjunto de 39 valores obtenidos por un programa comercial de análisis de
ECG; 37 valores se obtienen principalmente de los complejos QRS y de las ondas T
(parámetros característicos de la forma de onda de la señal. Ver la Fig. 4.25) en diferentes
derivaciones (formas de obtener distintos registros de señal ECG) y se refieren a la amplitud y
duración del QRS, eje del QRS, elevación o depresión del segmento ST, área bajo el QRS y bajo
las ondas T. A este conjunto de 37 valores estándar, se le añadían como valores adicionales, el
sexo y la edad del paciente. Después de obtener los parámetros de las señales, se presentan
éstos a la entrada de la red para proceder a su "aprendizaje", es por ello por lo que la red
utilizada tendrá 39 neuronas de entrada, para introducir los 39 valores que representan una
señal .
Fig. 4.26 Diagrama de bloques de las fases de una sistema de clasificación de señales de
ECG.
En cuanto a los resultados, de las 3266 señales que componían la Base de Datos, se
utilizaron 2446 en la fase de aprendizaje y las 820 restantes para comprobar el funcionamiento
de la red. Los resultados al hacer esta comprobación, expresados en porcentaje de aciertos de
cada tipo de ECG, estuvieron entre el 87.9% para el caso de ECG normales y el 96.1% para
ECG´s con infarto de miocardio anterior (AMI).
IV Redes neuronales con conexiones hacia adelante. 4.37
Otra experiencia [Dassen 90], consiste en el desarrollo de una red que aprenda a
diferenciar entre ECG correspondientes a taquicardias ventriculares (TV) y supra ventriculares
(TSV). Se trata de una red de 3 capas del tipo backpropagation, con 4 neuronas de entrada y
dos de salida (fig. 4.28). Las señales ECG que se presentan a la red se parametrizan
previamente obteniendo 10 valores que son suficientes para poder diferenciar entre ambos
tipos de taquicardias; aunque finalmente los autores deciden utilizar sólo 4 de ellos en cada
señal: El intervalo R-S mayor de la señal, la presencia de disociación AV y dos parámetros
morfológicos referidos a las derivaciones V1 y V6 del ECG (los electrocardiogramas
disponibles representaban 12 derivaciones).
Fig. 4.28 Red neuronal backpropagation de 3 capas utilizada para diferenciar entre
taquicardias ventriculares o supraventriculares.
Se trata ésta de una utilización peculiar de una red neuronal [Casaleggio 90]. En este
caso, la red no se entrena, como parecería más lógico, para que sea capaz de discriminar entre
complejos QRS normales y anómalos (latidos con Complejos Ventriculares Prematuros),
informando a su salida del tipo al que pertenece el QRS que se presenta a la entrada. En lugar
de esto, los autores utilizan la red como memoria asociativa, almacenando en ella los
complejos QRS que componen un ECG.
IV Redes neuronales con conexiones hacia adelante. 4.37
Fig. 4.29 Red neuronal utilizada para la detección de complejos QRS anómalos.
Debido a que en un ECG la mayoría de los QRS serán normales, en la red se almacenan
complejos muy parecidos entre sí, excepto los anómalos, que serán unos pocos. Durante la fase
de funcionamiento, al presentarle un complejo QRS, si éste es uno de los normales se
reconstruye con poco error a la salida, debido a que es similar a la mayor parte de los
almacenados. Sin embargo, cuando se presenta uno anómalo, en su reconstrucción a la salida
se suele cometer un mayor error, lo cual permite, valorando dicho error, decidir que no se trata
de un complejo QRS normal.
Los autores utilizaron señales ECG de la base de datos de arritmias del MIT-BHI. Se
analizaron 23022 complejos QRS, de los cuales 275 eran anómalos , con los siguientes
resultados: De los 275 se reconocieron como normales 3 ó 4, cometiéndose, por tanto, un error
de aproximadamente el 1%. En cuando a los QRS normales, se reconocieron como anómalos
200 sobre 22747, con un error de aprox. el 1% también. Por tanto, de forma global la
clasificacion de los complejos se realizó correctamente en el 98% de los casos.
Todos los modelos de red utilizados tienen el mismo número de neuronas de entrada
(40, una por muestra de señal) y el mismo número de neuronas de salida (3, una por cada
anomalía que debe ser detectada); siendo variable el número de capas ocultas y la cantidad de
neuronas en estas capas. Se probaron redes con una sóla capa oculta con 2, 5, 10 y 20 neuronas.
También redes con dos capas ocultas con 3-2 y 5-5 (fig. 4.30) neuronas en estas capas ("n-m"
indica "n" neuronas en la capa oculta mas próxima a la capa de entrada y "m" neuronas en la
más próxima a la capa de salida). Todas estas redes fueron "entrenadas" con el mismo conjunto
de patrones (señales de ECG) de entrada.
Fig. 4.30 Forma de la red neuronal con dos capas ocultas y 5-5 neuronas en ambas capas.
Los autores de esta aplicación comentan que se encontraron con grandes problemas
durante la etapa de "aprendizaje" de las redes. Problemas de no convergencia del proceso de
entrenamiento de las redes con una capa oculta debido, en gran medida, a que el conjunto de
patrones de entrenamiento excedía la capacidad de aprendizaje de las redes y también a causa
de la aparición de grandes mínimos locales en la función de error de la red, que dificultaba la
posibilidad de alcanzar el mínimo global durante el entrenamiento. Por estos motivos
decidieron utilizar redes con dos capas ocultas. Sin embargo, también en la fase de aprendizaje
de estas redes surgieron algunos problemas relacionados con los mínimos locales. Problemas
de saturación de algunas neuronas de las capas ocultas, que se reducían si se añadían más
neuronas en dichas capas, llegando a la conclusión de que la arquitectura mas óptima consistía
en la utilización de 5 neuronas en cada una de las capas ocultas. La convergencia en esta red
durante el aprendizaje se alcanzaba en menos de 5000 iteraciones.
También se comprobó que con una red de una sóla capa oculta compuesta por 5
neuronas se conseguía un mejor aprendizaje que, por ejemplo, con otra de dos capas ocultas de
3-2 neuronas, debido a los problemas de saturación y mínimos locales que introducía la capa
oculta (de 2 neuronas) mas próxima a la salida de la red.
de las conexiones entre neuronas, puede paralelizarse, obteniendo cada procesador resultados
parciales de forma simultánea, lo que acelera el proceso de entrenamiento.
Este sistema se utiliza para simular el comportamiento de una red neuronal de 3 capas
con 64, 32 y 6 neuronas cada capa (fig. 4.32). Durante la fase de aprendizaje de esta red cada
uno de los Transputers tiene una función determinada, por ejemplo, el conectado al
computador tiene como misión leer los patrones de ECG de la base de datos y hacerlos llegar a
otros transputers para que realicen el procesamiento matemático, también enviará a otro
procesador el valor de la salida deseada para que se encargue posteriormente de determinar el
error cometido respecto a la salida obtenida que recibirá de otros transputers. Este error es
enviado finalmente al primero de los transputers (el conectado al PC) para que decida si se
debe repetir el proceso de aprendizaje para minimizar dicha diferencia.
IV Redes neuronales con conexiones hacia adelante. 4.37
Para cancelar el posible ruido incluido en señales de ECG también se han utilizado
redes neuronales. El método consiste en entrenar una red para que "aprenda" a relacionar
señales a las que intencionadamente se les añade un ruido aleatorio, con la versión original de
dichas señales. En el caso de ECG existen experiencias desarrolladas por algunos autores a este
respecto [Hecht-Nielsen 88b], para eliminar el ruido de alta frecuencia que generalmente
incluyen estas señales, con resultados bastante aceptables utilizando redes de tres capas del
tipo backpropagation. También, como se comentó en el apartado 4.3.2, en 1.988 los autores
Widrow y Winter [Widrow 88] utilizaron una red neuronal del tipo MADALINE como filtro
adaptativo para cancelar las interferencias maternas en el ECG de un feto.
En este texto ya se ha comentado que una de las posibles aplicaciones de las redes
neuronales es la compresión de información, es decir, la reducción del espacio físico (memoria,
disco, cinta) ocupado por grandes cantidades de datos. A continuación se va a presentar un
sencillo ejemplo, desarrollado por los autores de este libro [Hilera 94] en el que la información
a comprimir consiste en señales eléctricas almacenadas en ficheros en forma de muestras en el
dominio del tiempo.
La red neuronal utilizada para comprimir tiene 3 capas con 100 neuronas en las capas
de entrada y salida, un pequeño número arbitrario de neuronas en la capa oculta y algoritmo
de aprendizaje backpropagation (fig. 4.33).
Para proceder a la descompresión de la señal bastará con implementar una red de dos
Install Equation Editor and double-
capas con unos pesos iguales a los almacenados en el vector click here to view equation. 37 y
Install Equation Editor and double-
suministrar a la entrada los valores de los vectores click here to view equation. 38obteniendo
a la salida la señal original reconstruida (Fig. 4.34) con el correspondiente error debido a que
no es posible conseguir durante el entrenamiento de la red que el error de aprendizaje sea
nulo.
Para valorar los resultados se han calculado, para cada una de las redes probadas, dos
medidas a tener en cuenta en todo proceso de compresión: el Factor de Compresión y el Error de
reconstrucción.
Tabla 4.1. Resultados obtenidos al comprimir/descomprimir una señal ECG con ritmos
ventriculares, en función del número de ciclos cardiacos (N) y el número de neuronas
ocultas (r)
En la Fig. 4.35 se muestra la evolución del error en función del número de iteraciones
alcanzadas durante el proceso de compresión de 200 ciclos cardiacos de una señal ECG sin
anomalías utilizando tres redes con diferente número de neuronas ocultas: 1, 4 y 8.
Fig. 4.35 Evolución del error de reconstrucción de una señal ECG sin anomalías al
comprimir 200 ciclos cardiacos con redes de 1, 4 u 8 neuronas ocultas.
c) Conclusiones
Hay que destacar que en las pruebas realizadas influye directamente el tipo de señal y
el número de ciclos cardiacos (latidos) que se comprimen. Si las formas de los ciclos son muy
semejantes entre sí, el error disminuye muy rápidamente consiguiéndose un valor pequeño.
Sin embargo, si estos ciclos son muy diferentes la velocidad de disminución del error es lenta y
a veces ocurre que oscila bruscamente. Se puede decir que a la red "le cuesta" aprender
informaciones diferentes y "le es fácil" aprender informaciones semejantes. De hecho, en
algunos casos, cuando la mayoría de los ciclos son muy parecidos entre sí excepto alguno
diferente, es posible que la red ignore estos últimos si no se emplea un número suficiente de
neuronas ocultas. Otra forma de reducir el error es estos casos consiste en la utilización de
menos ciclos, de esta forma la "mayoría" antes mencionada se reduce y también su efecto en el
aprendizaje de los "menos parecidos". Sin embargo, esta solución implica también una
redución del Factor de Compresión, puesto que al dividir la señal se deben utilizar varias redes
para comprimir cada parte por separado.
En cuanto al número de neuronas en la capa oculta óptimo, para señales con ciclos
cardiacos similares es suficiente con 1 ó 2 neuronas, consiguiendo así un reducido valor del
error y un factor de compresión alto, que dependerá del número de ciclos que se compriman
con una misma red. Sin los ciclos difieren bastante entre sí, habrá que aumentar el número de
neuronas ocultas, obteniendo un error no muy alto y un factor de compresión considerable
utilizando entre 5 y 8 neuronas ocultas.
constante. Con valores bajos de la tasa de aprendizaje se alcanza mas lentamente el error
mínimo, ya que las variaciones de los pesos son menores. También en estos casos, se ha
observado en algunas pruebas que en determinados momentos durante el proceso de
aprendizaje se producen unos picos de error bastante considerables.
Fig. 4.36 Reconstrucción de un ECG con ritmos ventriculares. (a) Original. (b) Comprimido
con 1 neurona oculta. (c) Con 8 neuronas ocultas.
pruebas con las distintas redes, se han utilizado como patrones las señales ECG de la base de
datos de la American Heart Association (AHA).
Los pasos seguidos para llegar al objetivo de conseguir una Red Neuronal capaz de
reconocer ciertos tipos de señales ECG han sido los siguientes:
a) Caracterización de la señal.
Fourier (F.F.T.), que hacen posible un ahorro sustancial de tiempo de computación frente a los
algoritmos convencionales al reducir considerablemente el número de operaciones algebraicas
a realizar.
Los algoritmos en los que N es igual a 2k, donde k es un entero, también conocidos
como algoritmos "potencia de dos", son más correctos y relativamente más rápidos en la
ejecución que los algoritmos más generales. Con frecuencia estos algoritmos FFT están basados
en los algoritmos de Cooley-Tukey o de Sande-Tukey [Brigham 74], los cuales difieren
fundamentalmente en la organización de los resultados.
La red será del tipo backpropagation con una única capa oculta. El número de
neuronas de la capa de entrada será 100 debido a los 100 armónicos que se utilizan al realizar
la FFT. El número de neuronas ocultas será un parámetro modificable durante la fase de
entrenamiento, en la búsqueda de la arquitectura más idónea para la clasificación de arritmias.
Por último, la capa de salida tendrá cuatro neuronas debido a que la red se emplea para
clasificar cuatro tipos de arritmias.
Los grupos de señales utilizadas para realizar la red neuronal capaz de clasificarlas han
sido los siguientes:
De cada grupo de señales se han elegido 100 intervalos para la etapa de aprendizaje y
50 distintos para la fase de valoración de resultados. A cada intervalo se le ha aplicado la FFT y
escogido 100 armónicos. Una vez normalizados los armónicos se realiza la fase de aprendizaje
de la Red Neuronal. En esta fase se muestra a la red diferentes ejemplos de un mismo tipo de
ECG para que realice una representación interna, en los pesos de las conexiones internas, de la
asociación entre valores de entrada y valores deseados de salida.
APRENDIZAJE EVALUACION
Neuronas SN BIG RV FV TOT SN BIG RV FV
TOT
5 98 98 100 99 98.75 86 70 96 94
86.5
IV Redes neuronales con conexiones hacia adelante. 4.37
Tabla 4.2. Porcentaje de señales ECG Normales (SN), con Bigeminismo (BIG), con Ritmos
Ventriculares (RV) y con Fibrilación Ventricular (FV) aprendidas y clasificadas
correctamente.
La red neuronal utilizada debe ser capaz de clasificar 4 diferentes tipos de ECGs, pero
no es habitual, si se observa la tabla de porcentajes, que acierte en el 100 % de los casos. Por
esta razón, puede ser intersante considerar, en estos casos, cuál de las 4 salidas de la red es
activada al presentar ECGs de un determinado tipo para comprobar, cuando la red "se
equivoca" al activar una salida, los tipos de señales que "confunden" a la red. Como ejemplo,
en la tabla 4.3 se muestra, para el caso de las 50 señales de ECG de tipo NORMAL utilizadas
en la fase de valoración, cuantas veces se ha activado la salida correcta (señañ normal: SN) y
los casos en los que se ha activado otra salida, lo cual quiere decir que la red se ha
"equivocado" considerando que el ECGs es de un tipo incorrecto. También se indica el número
de veces que ninguna salida se activa, y los casos en que se activan varias.
c) Conclusiones
Indicar que durante el aprendizaje nunca se consigue un porcentaje total del 100% en
las redes probadas. También en la valoración los porcentajes de acierto son mas pequeños. El
mayor porcentaje de acierto total conseguido ha sido del 91% con una red de 10 neuronas
ocultas. El mejor porcentaje individual ha sido del 100% para ECGs con Ritmos Ventriculares.
Se ha alcanzado en algún caso un 92% de acierto en ECGs normales, un 96% en ECGs con
Fibrilación Ventricular y un 84% en ECGs con Bigeminismo. Respecto al número de neuronas
ocultas, los mejores resultados se han obtenido con redes de 8, 10, 12 y 20 neuronas en la capa
oculta, empleando tasas de aprendizaje y momento de 0.7 y 0.6 respectivamente.
A la vista de los resultados, el método presentado podría ser una primera etapa de
clasificación de señales que debería ser complementada con otros métodos que aseguren el
correcto diagnóstico clínico. Asimismo, podrían mejorarse los resultados, por ejemplo,
aumentando el número de patrones presentados a la red en la fase de aprendizaje; también se
podrían utilizar otros métodos de caracterización de la señal ECG diferentes de la FFT, como
por ejemplo los valores obtenidos mediante la comprensión con otra red neuronal u otros
tipos de redes y algoritmos de aprendizaje .
V. El Modelo de Hopfield 5.1
V EL MODELO DE HOPFIELD
Sin duda, uno de los principales responsables del desarrollo que ha experimentado el campo de
la computación neuronal ha sido J. Hopfield, quien construyó un modelo de red [Hopfield 82] con el
número suficiente de simplificaciones como para poder extraer analíticamente información sobre las
características relevantes del sistema, conservando las ideas fundamentales de las redes construidas en el
pasado y presentando una serie de funciones básicas de sistemas neuronales reales. Además, Hopfield
supo establecer un paralelismo entre su modelo y ciertos sistemas extensamente estudiados en física
estadística, lo cual ha permitido aplicar todo un conjunto de técnicas bien conocidas en este campo y, con
ello, producir un avance en la comprensión del funcionamiento de las redes neuronales.
Con su aportación, Hopfield redescubrió el mundo casi olvidado de las redes autoasociativas,
caracterizadas por una nueva arquitectura y un nuevo funcionamiento, a las que se tuvo que añadir otro
tipo de reglas de aprendizaje. Las consecuencias fueron redes con un comportamiento diferente a las
diseñadas con estructura "feed-foward" (ADALINE/MADALINE, PERCEPTRON,..), analizadas en el
capítulo anterior.
5.1.- ARQUITECTURA.
El modelo de Hopfield (Fig. 5.1) consiste en una red monocapa con N neuronas cuyos valores
de salida son binarios: 0/1 ó -1/+1. En la versión original del modelo ("DH: DISCRETE
HOPFIELD") las funciones de activación de las neuronas eran del tipo escalón. Se trataba, por tanto, de
una red discreta discreta, con entradas y salidas binarias; sin embargo, posteriormente Hopfield
desarrolló una versión contínua con entradas y salidas analógicas [HOPF84], utilizando neuronas con
funciones de activación tipo sigmoidal ("CH: CONTINOUS HOPFIELD").
Cada neurona de la red se encuentra conectada a todas las demás (conexiones laterales), pero
no consigo misma (no existen conexiones auto-recurrentes). Además, los pesos asociados a las
conexiones entre pares de neuronas son simétricos. Esto significa que el peso de la conexión de una
neurona "i" con otra neurona "j" es de igual valor que el de la conexión de la neurona "j" con la "i" (wij =
wji).
V. El Modelo de Hopfield 5.1
Fig. 5.2
Cuando el valor de x coincide exactamente
con θi la salida de la neurona i permanece con su
valor anterior. θi es el umbral de disparo de la neurona i, que representa el desplazamiento de la función
de transferencia a lo largo del eje de ordenadas (x). En el modelo de Hopfield discreto suele adoptarse un
valor proporcional a la suma de los pesos de las conexiones de cada neurona con el resto:
Install Equation Editor and double-
click here to view equation.
Si se trabaja con los valores binarios -1 y +1, suele considerarse el valor nulo para θi. Si los
valores binarios son 0 y 1, se toma un valor de 1/2 para k.
En el caso de las redes de Hopfield contínuas, se trabaja con valores reales en los rangos [-1,+1]
ó [0,1]. En ambos casos la función de activación de las neuronas es de tipo sigmoidal. Si se trabaja con
valores entre -1 y +1 la función que se utiliza es la tangente hiperbólica:
V. El Modelo de Hopfield 5.1
Fig. 5.3
Fig. 5.4
En ambos casos α es un parámetro que
determina la pendiente de la función sigmoidal.
5.2.- FUNCIONAMIENTO.
Una de las características del modelo de Hopfield es que se trata de una red auto-asociativa.
Así, varias informaciones (patrones) diferentes pueden ser almacenadas en la red, como si de una
memoria se tratase, durante la etapa de aprendizaje. Posteriormente, si se presenta a la entrada alguna de
las informaciones almacenadas, la red evoluciona hasta estabilizarse, ofreciendo entonces en la salida la
información almacenada que coincide con la presentada en la entrada. Si, por el contrario, la información
de entrada no coincide con ninguna de las almacenadas, por estar distorsionada o incompleta, la red
evoluciona generando como salida la más parecida.
La información que recibe esta red debe haber sido previamente codificada y representada en
forma de vector (como una configuracíón binaria si la red es discreta y como conjunto de valores reales
si es contínua) con tantas componentes como neuronas (N) tenga la red.
Esa información es aplicada directamente a la única capa de que consta la red, siendo recibida
por las neuronas de dicha capa (cada neurona recibe una parte de la información, un elemento del vector
que representa dicha información). Si consideramos, en principio, el caso de una neurona concreta de la
red, esta neurona recibiría como entrada las salidas de cada una de las otras neuronas, valores que
inicialmente coincidirán con los de entrada, multiplicadas por los pesos de las conexiones
V. El Modelo de Hopfield 5.1
correspondientes. La suma de todos estos valores constituirá el valor de entrada neta de la neurona, al
que le será aplicado la función de transferencia, obteniéndose el valor de salida correspondiente, 0/1 ó -
1/+1 si la red es discreta y un número real en el rango [0,1] ó [-1,+1] si es contínua.
2º: La red realiza iteraciones hasta alcanzar la convergencia (hasta que si(t+1) sea igual a si(t)).
Install Equation Editor and double-
click here to view equation.
Donde "f" es la función de transferencia (activación) de las neuronas de la red. En el caso del
modelo discreto, si se trabaja con valores binarios -1 y +1, la salida se obtendría según la función
escalón:
Install Equation Editor and double-
click here to view equation.
El proceso se repite hasta que las salidas de las neuronas permanecen sin cambios durante
algunas iteraciones. En ese instante la salida (s1, s2,..,sN) representa la información "almacenada" por la
red que más se parece a la información presentada en la entrada (e1, e2,..,eN).
El funcionamiento descrito corresponde a una red Hopfield Discreta clásica, ya que trabaja con
informaciones binarias. Sin embargo, como se comentó en el apartado 5.2, existe una variación del
modelo desarrollada también por Hopfield [Hopfield 84] que pretende parecerse un poco más al
funcionamiento de las neuronas reales, se trata de la Red Hopfield Contínua, con funciones de activación
de las neuronas de tipo sigmoidal, que ofrece más posibilidades que la anterior, ya que permite
almacenar patrones formados por componentes no binarios, sino valores reales (por ejemplo imágenes en
color o en blanco y negro con diferentes tonalidades de grises) y además permitirá resolver determinados
problemas generales de optimización que se analizarán en el apartado 5.6.
Tanto en este caso como en el de la red discreta, se pueden distinguir diferentes versiones del
modelo en función de la forma temporal en que se lleva a cabo la generación o actualización de las
salidas de las neuronas de la red. Si esta actualización se realiza de forma simultánea en todas las
V. El Modelo de Hopfield 5.1
neuronas se trata de una Red Hopfield con funcionamiento paralelo o síncrono, ya que supone que todas
las neuronas son capaces de operar sincronizadas y que, por tanto, la salida es generada al mismo tiempo
por todas ellas en cada iteración, de tal forma que en la próxima iteración (t+1) todas van a utilizar como
entradas las salidas generadas por las otras en el instante anterior (t). Si, por el contrario, las neuronas
trabajan de forma secuencial, actualizándose sólo la salida de una neurona en cada iteración, se tratará de
una Red Hopfield con funcionamiento secuencial o asíncrono. En este caso, ocurre que la salida a la que
converge la red puede ser diferente en función del orden de la secuencia de activación de las neuronas
[Kung 93].
También existe la posibilidad, sólo utilizada en las redes Hopfield Contínuas, que trabajan con
valores no binarios, de que la generación de la salida de todas las neruonas se realice de forma
simultánea (síncrona) y continuada en el tiempo. En este caso, el funcionamiento de la red tendría que
ser representado en forma de una ecuación diferencial [Hertz 91]:
Install Equation Editor and double-
click here to view equation.
Donde f es la función de activación de las neuronas, que será de tipo sigmoidal, como las
indicadas en el apartado 5.2, y τi es un parámetro, denominado tasa de retardo, que pretende representar
una característica biológica de las neuronas como es el retraso que se produce en la recepción, por parte
de una neurona i, de los valores de las salidas generados por las otras neuronas a las que está conectada.
Fig. 5.5 Implementación física de una red Hopfield Contínua [Hopfield 84].
Si se pretende simular una red Hopfield Contínua como la anterior, puede hacerse resolviendo la
ecuación diferencial utilizando métodos numéricos, aunque también, y sobre todo, puede implementarse
V. El Modelo de Hopfield 5.1
físicamente de forma directa mediante un ciruito analógico que tenga un compotamiento gobernado por
una ecuación similar (Fig. 5.5). En estos circuitos los pesos entre neuronas se implementan como
resistencias, las funciónes de activación mediante amplificadores operacionales y la tasa de retardo de
cada neurona se consigue colocando, en paralelo, una resistencia y un condensador a la entrada del
amplificador correspondiente [Hopfield 84].
V. El Modelo de Hopfield 5.1
5.3.- APRENDIZAJE.
La red Hopfield tiene un mecanismo de aprendizaje OFF LINE. Por tanto, existe una etapa de
aprendizaje y otra de funcionamiento de la red. En la etapa de aprendizaje se fijan los valores de los
pesos en función de las informaciones que se pretende "memorice" o almacene la red. Una vez
establecidos, la red entra en funcionamiento tal y como se describió en el apartado anterior.
Esta red utiliza un aprendizaje no supervisado de tipo Hebbiano, de tal forma que el peso de
una conexión entre una neurona "i" y otra "j" se obtiene mediante el producto de los componentes i-
ésimo y j-ésimo del vector que representa la información o patrón que debe almacenar. Si el número de
patrones a "aprender" es M, el valor definitivo de cada uno de los pesos se obtiene mediante la suma de
los M productos obtenidos por el procedimiento anterior, un producto por información a almacenar.
En el caso de la Red Hopfield Discreta que trabaja con valores -1/+1, este algoritmo de
aprendizaje puede expresarse de la siguiente forma:
Install Equation Editor and double-
click here to view equation.
Siendo:
wij: Peso asociado a la conexión entre la neurona i y la neurona j, que coincide con wji.
ei(k): Valor de la componente i-ésima del vector correspondiente a la información k-ésima que
debe "aprender" la red.
N: Número de neuronas de la red y, por tanto, tamaño de los vectores de aprendizaje.
M: Número de informaciones que debe "aprender" la red.
Si la Red trabajase con valores discretos 0/1 en lugar de -1/+1, entonces los pesos se calculan
según la expresión:
Install Equation Editor and double-
click here to view equation.
El algoritmo de aprendizaje también se suele expresar utilizando una notación matricial. En tal
caso se podría considerar una matriz W de dimensiones NxN que representase todos los pesos de la red:
Esta matriz es simétrica, al cumplirse que wij = wji, y tiene una diagonal principal con valores
nulos debido a la no existencia de conexiones auto-recurrentes (wii=0).
V. El Modelo de Hopfield 5.1
También se tendría el conjunto de los M vectores que representan las informaciones que ha de
"aprender" la red:
Install Equation Editor and double-
click here to view equation.
Donde la matriz EkT es la traspuesta de la matriz Ek, e I es la matriz identidad de dimensiones NxN que
anula los pesos de las conexiones auto-recurrentes (wii).
Un ejemplo de cómo se obtienen los pesos podría consistir en el entrenamiento de una red para
que "aprenda" dos informaciones (patrones) correspondientes a sendas figuras representadas mediante un
cierto número de "pixels":
Figura a: Figura b:
1 2 1 2
┌───┬───┐ ┌───┬───┐
│███│███│ │ │ │
├───┼───┤ ├───┼───┤
│ │ │ │███│███│
└───┴───┘ └───┴───┘
3 4 3 4
Los pixels negros podrían representarse mediante el valor binario +1 y los blancos con
el valor -1. En este caso las informaciones seían dos vectores (M=2) de 4 elementos (N=4) que
contienen los valores de los pixels. La red, por tanto, tendría 4 neuronas para que cada una
reciba el valor de un pixel.
E1 = [1,1,-1,-1] E2 = [-1,-1,1,1]
Una vez finalizada la fase de aprendizaje, la red podría ser utilizada como memoria
asociativa de acceso por contenido, de tal forma que al presentarle una información a la
entrada iteraría hasta generar como salida la información más parecida de las almacenada
durante el aprendizaje. Por ejemplo, se podría comprobar lo que ocurre con la figura:
1 2
┌───┬───┐
│███│ │
├───┼───┤ E = [ 1 -1 -1 -1 ]
│ │ │
└───┴───┘
3 4
1 2 1 2
┌───┬───┐ ┌───┬───┐
│███│ │ │███│███│
├───┼───┤ ├───┼───┤
│ │ │ │ │ │
└───┴───┘ └───┴───┘
3 4 3 4
Siendo:
wij: Peso de la conexión entre las neuronas i y j.
si : Valor de salida de la neurona i.
sj : Valor de salida de la neurona j.
θi : Umbral de la función de activación de la neurona i.
V. El Modelo de Hopfield 5.1
Esta expresión guarda una profunda similitud formal con la energía mecánica clásica.
Trata de representar la evolución del sistema, considerando cada configuración (vector) de las
salidas de las neuronas de la red como puntos en un espacio de dimensión N y relacionando el
estado de la red en cada momento con un punto de ese espacio. La función energía puede
imaginarse entonces como una superficie que presenta determinados valores mínimos, algo
semejante a un paisaje montañoso donde los mínimos serían los valles (Fig. 5.6). Cuando en la
red se han almacenado M informaciones o patrones, los posibles estados estables de la red
serán también M (durante su funcionamiento podrá responder ante una entrada con una
salida que represente alguno de esos M patrones registrados). Estos M estados corresponden
precisamente a los mínimos de la función energía. Cuando se presenta a la entrada de la red
una nueva información, ésta evoluciona hasta alcanzar un mínimo de la función energía,
generando una salida estable.
En cuanto a las redes de Hopfield Contínuas, su autor [Hopfield 84] considera que una
posible expresión de su función de energía es la siguiente:
Puede observarse que coincidiría con la función energía de la Red Hopfield Discreta si
no existiera el último término, cuyo valor depende del parámetro α de la función de activación
de las neuronas, que representa la ganancia o ea pendiente de esta función sigmoidal. Por ello,
habrá que tener especial cuidado en la elección de su valor, ya que influye directamente en los
mínimos de la función energía. Si α tiene un valor (función de activación de tipo escalón),
este término se hace cero y la red se convierte en una red Hopfield Discreta. Si el valor de α es
finito pero muy grande (α>>1) el término puede despreciarse y los mínimos de la función de
energía siguen siendo los mismos. Pero si α tiene valores pequeños, disminuye el número de
mínimos de esta función y, como consecuencia, el número de posibles estados estables de la
red, reduciéndose a un solo mínimo cuando α=0.
Existen varios problemas asociados a la red Hopfield que ha sido descritos por
diferentes autores [Maren 90]. En este apartado se mostrarán los dos más importantes, los que
se refieren a la cantidad limitada de datos que se pueden almacenar y a la necesidad de que
estos datos sean ortogonales entre sí.
Puede demostrarse [McEliece 87] que esta situación no se produce nunca si el número
de informaciones almacenadas es menor o igual que N/4lnN, siendo N el número de neuronas
de la red. Sin embargo, este límite puede suavizarse [Hertz 91] si se permite la posibilidad de
un mínimo error en la recuperación de las informaciones almacenadas, suficientemente
pequeño para poder identificar dicha información sin ningún problema, en tal caso el número
de informaciones que se pueden almacenar debe ser menor que el 13.8% del número de
neuronas de la red (0.138N). Por tanto, la capacidad o cantidad de informaciones de que puede
almacenar una red Hopfield de N neuronas es:
Esta es una seria limitación de la Red Hopfield, puesto que para almacenar unas pocas
informaciones se precisará una gran cantidad de neuronas y, por tanto, un número muy
elevado de conexiones. Por ejemplo, tomando la limitación del 13.8%, en una red de 100
V. El Modelo de Hopfield 5.1
neuronas, que tendría 100x99=9900 conexiones, sólo se podrían almacenar 13 informaciones.
Una segunda limitación del modelo es que, a pesar de cumplirse el requisito anterior,
no siempre se puede garantizar que la red realice una asociación correcta entre una entrada y
una de las informaciones almacenadas. Si éstas últimas no son suficientemente diferentes entre
sí, es decir, si no son ortogonales, puede ocurrir que cada una de ellas no represente un
mínimo de la función energía, con la probabilidad de que se generen salidas diferentes a todas
ellas. También puede ocurrir que ante una entrada que coincida con una de las informaciones
"aprendidas" la red converja hacia una salida correspondiente a otra de las informaciones
almacenadas que fuese muy parecida.
Donde ei(m) y ei(k) son los valores binarios (+1 ó -1) de los componentes i-ésimos de dos
vectores (patrones) diferentes (m y k) a almacenar en la red. Esta condición de ortogonalidad
que establece el numero de componentes diferentes (también llamado distancia Hamming) de
dos patrones sea al menos de la mitad del total (0.5N) puede ser relajada, estableciendo una
distancia mínima del 30% del total para que sean "casi" ortogonales, garantizándose todavía un
funcionamiento aceptable. En este caso, considerando valores binarios de -1 y +1, la expresión
sería ei(m)ei(k) 0.7N-0.3N = 0.4N, ya que se permite un 70% de componentes diferentes y un
30% de iguales.
Siguiendo con el ejemplo del apartado 5.4, se podría comprobar si los vectores allí
utilizados son ortogonales:
E1 = [1,1,-1,-1] E2 = [-1,-1,1,1]
Install Equation Editor and double-
click here to view equation.
Algunos autores han propuesto modelos de redes autoasociativas que podrían ser mas
eficientes que el modelo de Hopfield. Por ejemplo, J. Anderson desarrolló la red conocida
como Brain-State-In-A-Box [Anderson 77]. Se trata de una red con la misma topología que la
anterior, pero con conexiones autorrecurrentes en todas las neuronas. En la red BSB también
las informaciones que se almacenan deben ser ortogonales. Sin embargo, esta red tiene una
mayor capacidad de almacenamiento ya que puede "aprender" un número de informaciones
igual al número de neuronas que componen la red. Por ejemplo, una red BSB de 100 neuronas
V. El Modelo de Hopfield 5.1
puede almacenar un máximo de 100 informaciones para que funcione correctamente (frente a
las 13 de la Red Hopfield).
5.5.- APLICACIONES.
En cuanto a las aplicaciones más conocidas del modelo [Simpson 90], destacan las
relacionadas con el reconocimiento de imágenes y de voz, el control de motores y, sobre todo,
la resolución de problemas de optimización. En este último ámbito se ha aplicado para la
resolución de ecuaciones y del problema del viajante, manipulación de grafos, procesado de
señales (p.ej. el diseño de conversores Analógico-Digitales) y de imágenes, reconocimiento de
patrones y control de motores.
En este tipo de aplicaciones [Koch 86] la Red Hopfield puede reconstruir versiones
distorsionadas o parciales de imágenes almacenadas durante la fase de aprendizaje. Una
limitación que presenta el modelo es la no posibilidad de recuperar correctamente la imagen si
la información de entrada ha sufrido algún tipo de traslación o rotación. Para ello sería
necesario introducir nuevas reglas de aprendizaje, diferentes de la de Hebb, que tengan
implícitas las invarianzas necesarias como para que se pueda llevar a cabo el reconocimiento
deseado.
Se calculan los 1722 pesos de la red a partir de los vectores de 42 valores binarios que
representan las cuatro imágenes anteriores:
██ █ █████ █████
█ ██ █ █ █ █
█ █ █ █ █ █
████ ██████ █████
█ ███ █ █ █ █
█ █ █ █ █ █
█ █ █ ███ █████
Una de las aplicaciones de las redes neuronales en general y del modelo de Hopfield en
particular es la resolución de problemas de optimización complejos, aquellos cuyo tiempo de
resolución mediante algoritmos convencionales crece exponencialmente (kN) o factorialmente
(N!) con el aumento del tamaño (N) del problema (p. ej. el problema clásico de colocar N reinas
en un tablero de ajedrez de NxN cuadros sin que se den jaque, que trataría de encontrar una
posición de las piezas de entre las N2!(N2-N)!/N! combinaciones diferentes, que en caso de un
Fig. 5.8 Ejemplo de reconocimiento de imágenes con una red Hopfield [Hertz 91].
tablero real de N=8 serían más de cuatro mil millones de combinacions, para este problema
pueden encontrarse algoritmos convencionales con tiempo de resolución proporcionales a N!).
En realidad, cuando las redes se aplican para tal función, lo que se está haciendo es intentar
resolver el problema mediante un algoritmo paralelo formulado en términos de una red
neuronal, que no es sino un sistema de computación paralela, al estar trabajando multitud de
diferentes elementos de proceso (neuronas) simultáneamente.
Este problema consiste en, dadas N ciudades que tiene que visitar un vendedor,
encontrar el camino mas corto para, partiendo de una de ellas, visitarlas toda sin pasar más de
una vez por cada una y volviendo finalmente a la ciudad de partida. La complejidad reside en
la enorme cantidad de posibles caminos, muchos de ellos de longitud similar. Para N ciudades
el número de rutas alternativas es de N!/2N. De esta forma, para 5 ciudades existen 12 caminos
posibles, para 10 el número de rutas es de 181.440 y para 50 del orden de 3x1062. Por ejemplo,
podría considerarse el caso particular de 5 ciudades situadas como se indica en la Fig. 5.9, con
unas distancias entre ellas (en kms) como las indicadas en la tabla 5.1.
1 2 3 4 5
┌──┬──┬──┬──┬──┐
1 │ 0│20│30│40│35│
├──┼──┼──┼──┼──┤
2 │20│ 0│25│30│15│
├──┼──┼──┼──┼──┤
3 │30│25│ 0│50│35│
├──┼──┼──┼──┼──┤
4 │40│30│50│ 0│20│
├──┼──┼──┼──┼──┤
Fig. 5.9 Situación de las 5 5 │35│15│35│20│ 0│
ciudades del ejemplo. └──┴──┴──┴──┴──┘
Tabla 5.1 Distancia (en kms) entre
las 5 ciudades del ejemplo.
Fig. 5.11 Red Hopfield para resolver el problema del vendedor viajero.
Este problema puede abordarse, en términos de la función energía, utilizando una red
Hopfield de N2 neuronas, siendo N el número de ciudades [Hopfield 85]. Aunque la red usada
en de tipo cointínuo con valores en el margen [0,1], cuando se alcance una situación de
estabilidad las salidas de las neuronas de la red tendrán valores binários 0 (neurona activa) ó 1
(neurona inactiva), para lo cual se deberán tomar valores grandes para las ganancias o
pendientes de las funciones de activación sigmoidales (tangentes hiperbólicas) de las
neuronas. Entonces, cada neurona activa de la red (salida a 1) informaría del orden de una
ciudad determinada en el recorrido del viajero. Para ello, hay que imaginarse las neuronas de
la red como si estuvieran dispuestas en forma de matriz de N filas y N columnas (Fig. 5.11), de
tal forma que cada fila se asocia con una ciudad del recorrido y las columnas con la posición de
cada ciudad dentro de la ruta. Así, si la neurona de la fila i y columna j está activada (sij=1)
querrá decir que la ciudad i será la parada número j de la ruta que debería seguir el viajante.
Una vez establecida la función objetivo habrá que relacionarla con la expresión general
de la función Energía de una red Hopfield:
Install Equation Editor and double-
click here to view equation.
Al enfrentar ambas funciones se obtiene que, para que sean equivalentes, los valores de
los pesos de las conexiones entre dos neuronas, situadas una en la fila i y columna j, y otra en
fila k y columna l, han de ser:
Install Equation Editor and double-
click here to view equation.
Donde δxy es la función delta de Kronecker cuyo valor es "1" si x=y y "0" en caso
contrario.
La expresión para los umbrales de las funciones de activación de cada neurona en fila i
y columna j será:
Install Equation Editor and double-
click here to view equation.
Por tanto, si se implementa una Red Hopfield Contínua de NxN neuronas con unos
umbrales y unos pesos con los valores anteriones y se hace iterar dicha red, se llegará a una
situación de estabilidad en en la que sólo habrá activas (salidas a "1") N neuronas, una por fila
y columna, que representarán el camino óptimo a seguir por el viajante. El principal problema
de este método es el encontrar unos valores adecuados de las constantes A,B,C y D y de las
ganacias de las funciones de activación sigmoidales de las neuronas para que la red converja
hacia una solución óptima. En el caso de la ganancia, es posible que deba variar a lo largo del
funcionamiento de la red, comenzando con valores bajos que se irán incrementando hasta
alcanzar un valor alto que consiga salidas "0" y "1" en todas las neuronas.
Fig. 5.12 Situación final de la red del ejemplo. En Fig. 5.13 Ruta óptima.
negro las neuronas activadas (salida "1").
Donde cij representa la existencia de conexión (arco) entre los nodos i y j del grafo. Si
existe conexión cij=1 y si no existe cij=0. Los valores si y sj indican la situación de dos nodos i y j
en los subgrafos en que se divide el grafo original. Si un nodo i queda en uno de los subgrafos
(p.ej. el de la izquierda) el valor de si es +1, y si queda en el otro (el de la derecha) su valor sería
-1.
Se ha añadido un término μ(si)2 para penalizar toda bipartición que no deje el mismo
número de nodos en cada subgrafo, ya que se trata de obtener dos grafos de N/2 nodos cada
V. El Modelo de Hopfield 5.1
uno. La importancia de esta condición se puede reflejar en el valor de la constante μ.
Una vez fijada la función objetivo, habrá que relacionarla con la de energía de una
hipotética Red Hopfield que pudiera resolver el problema. Esta red podría estar compuesta
por N neuronas que representen los nodos del grafo, de tal forma que si una neurona está
activa (+1) indicaría que ese nodo está en uno de los subgrafos y si está inactiva (-1) en el otro:
Install Equation Editor and double-
click here to view equation.
Enfrentando ambas expresiones se llega a la conclusión de que los valores de los pesos
de las conexiones y los umbrales de las funciones de activación de las neuronas de la red que
resuelve el problema han de ser:
Install Equation Editor and double-
click here to view equation.
Fig. 5.16 Red Hopfield para resolver el problema del emparejamiento ponderado entre N entidades.
Pera resolver este problema se podría plantear una función objetivo que exprese el
coste (en el caso de distancias, la longitud) total de los emparejamientos establecidos:
Install Equation Editor and double-
click here to view equation.
Se obtiene que, para que sean equivalentes, los valores de los pesos de las conexiones
entre dos neuronas situadas una en la fila i y columna j, y otra en fila k y columna l, han de ser:
Donde ux es la función escalón, cuyo valor es "1" si x>0 y "0" en otro caso. La función
δxy es la función delta de Kronecker cuyo valor es "1" si x=y y "0" en caso contrario.
La expresión para los umbrales de las funciones de activación de cada neurona de fila i
y columna j será:
Install Equation Editor and double-
click here to view equation.
Por tanto, si se implementa una Red Hopfield Contínua de N(N-1)/2 neuronas con
unos umbrales y unos pesos con los valores anteriones y se hace iterar dicha red, se llegará a
una situación de estabilidad en en la que sólo habrá activas (salidas "1") N/2 neuronas, que
representarán las parejas óptimas. Como en todas las aplicacionres de optimización, el
principal problema es encontrar unos valores adecuados de las constantes A,B,C y D y de las
ganacias de las funciones de activación para que la red converja hacia una solución óptima.
En 1986, J. Hopfield y D. Tank [Tank 86] presentaron una nueva forma de desarrollar
conversores Analógico-Digitales basada en plantear el diseño como la solución de un
problema de optimización en términos de la función energía de una Red Hopfield.
Si hubiera que reconstruir la señal analógica de nuevo a partir de los valores de las
muestras, se podría hacer, obteniendo una señal semejante a la original pero no exactamente
igual (Fig. 5.18), ya que en la reconstrucción de cada muestra, al asignar el valor central del
intervalo que representa, se puede producir un cierto error (menor de 0.5 voltios en el ejemplo
de 4 bits para 15 voltios, en el cual a una muestra de señal original de, p.ej, 9.3 voltios le
correspondería un valor de 9 voltios en la señal reconstruida). Por este motivo, para que los
intervalos sean lo mas pequeño posible, se suelen utilizar conversores de un gran número de
bits (16, 32, etc.).
Donde x representa el valor original de la muestra (p. ej. 14.2 voltios) y si2i el valor de
la palabra de n bits, siendo si el valor del bit (0 ó 1) de la posición i-ésima en la palabra binaria
V. El Modelo de Hopfield 5.1
(p.ej. el valor de 1110 sería 0x20+1x21+1x22+1x23=14).
Como puede observarse, en este caso, el umbral de las neuronas no es fijo sino que ha
V. El Modelo de Hopfield 5.1
de ajustarse dinámicamente durante el funcionamiento de la red según el valor de la muestra
de la señal analógica (x) a digitalizar en cada momento. También la forma de la función
energía dependerá de este valor x, ya que el mínimo de la función es diferente según el valor
de la muestra a digitalizar. En la figura 5.19(a) puede verse el aspecto de la función Energía
para N=4 cuando la entrada analógica tienen un valor de 7 voltios (x=7). En este caso el
mínimo global se alcanza cunado la salida de la red es 0111, que corresponde a la palabra
binaria que se asocia a ese valor analógico. Cuando la entrada es de 8 voltios (Fig. 5.19(b)), el
mínimo se alcanza cuando la salida es 1000.
Fig. 5.19 Representación esquemática de la función Energía del conversor A/D [Tank 86].
Fig. 5.20 Implementación de una Red Hopfield equivalente a un conversor A/D de 4 bits [Tank 86].
VI. El Modelo de Resonancia Adaptativa (ART) 6.1
Una de las características de la memoria humana consiste en su habilidad para aprender nuevos
conceptos sin necesitar para ello olvidar otros aprendidos en el pasado. Sería deseable que esta misma
capacidad se pudiera conseguir en las Redes Neuronales. Sin embargo, muchas de estas redes tienden a
"olvidar" informaciones pasadas al tratar de "enseñarles" otras nuevas.
Cuando se desarrolla una red para realizar una tarea de clasificación de patrones se suele
proceder reuniendo un conjunto de ejemplares que serán utilizados durante en la fase de aprendizaje o
entrenamiento de la red. Durante esta etapa la información es registrada en el sistema mediante el ajuste
de los valores de los pesos de las conexiones entre las neuronas. Una vez concluido el aprendizaje, la red
está lista para funcionar y no se permite ningún cambio adicional de los pesos.
Este procedimiento es factible si el problema que se pretende resolver por la red está bien
limitado y puede definirse un adecuado conjunto de informaciones de entrada que permitan entrenar la
red para resolver el problema. Sin embargo, en muchas situaciones reales los problemas a resolver no
tienen unos límites claros.
Como ejemplo, imaginemos que se pretende entrenar una red (p.ej Backpropagation) para
reconocer las siluetas de un cierto tipo de avión. Se podrían reunir las imágenes correspondientes y
utilizarlas para entrenar la red. Después la red entraría en funcionamiento y no se permitiría ninguna
modificación de los pesos. Si en un futuro se diseña otro avión del mismo tipo y se desea que la red
reconozca su silueta, se debería reentrenar dicha red utilizando la nueva silueta pero también todas las
que se usaron en el aprendizaje anterior. Si se entrenase la red sólo con la nueva silueta podría ocurrir
que la red aprendiese esta información, pero olvidando las aprendidas previamente.
- Cómo una red podría aprender nuevos patrones (plasticidad del aprendizaje).
- Cómo una red podría retener los patrones previamente aprendidos (estabilidad del
aprendizaje).
Conseguir una red que pueda dar respuesta a uno de estos interrogantes es sencillo. Sin embargo
no lo es si se pretende diseñarla para que solucione ambos.
Lo que se pretende es categorizar ("clusterizar") los datos que se introducen en la red. Las
informaciones similares son clasificadas formando parte de la misma categoría y, por tanto, deben activar
VI. El Modelo de Resonancia Adaptativa (ART) 6.1
la misma neurona de salida, la neurona vencedora. La clases o categorías deben ser creadas por la propia
red, puesto que se trata de un aprendizaje no supervisado, a través de las correlaciones entre los datos de
entrada.
Para solucionar el dilema de la plasticidad y estabilidad, el modelo ART propone añadir a las
redes un mecanismo de realimentación entre las neuronas competitivas de la capa de salida de la red y la
capa de entrada. Este mecanismo facilita el aprendizaje de nueva información sin destruir la ya
almacenada.
Como resultado de este enfoque, los autores mencionados presentaron dos redes neuronales
especialmente adecuadas para tareas de clasificación de patrones. Estas redes suelen denominarse ART1
(o ART) y ART2. Ambas difieren en la naturaleza de la información que se presenta a la entrada. La red
ART1 trabaja con vectores de entrada binarios, mientras que ART2 es capaz de procesar informaciones
contínuas o analógicas.
Una red ART básicamente consta de dos capas entre las que se establecen conexiones hacia
delante y hacia atrás (feedfoward/feedback). Las neuronas de la capa de salida tienen conexiones
autorrecurrentes (con peso +1) y se encuentran completamente conectadas entre sí a través de conexiones
laterales de inhibición (con peso negativo) que permiten estableder la competición entre ellas (Fig. 6.1).
Los pesos de esta capa de salida son fijos y sus valores son:
-ε : En las conexiones laterales. Este valor suele ser menor que 1/M, siendo M el
número de neuronas de salida, para garantizar la convergencia de la red.
VI. El Modelo de Resonancia Adaptativa (ART) 6.1
Otra parte del subsistema de atención, no contemplado en la primera figura (Fig. 6.1) es el
denominado "control de ganancia de atención", que actúa sobre las neuronas de entrada (STM(ne))
para estabilizar el funcionamiento de la red, aumentando la sensibilidad o grado de atención de estas
neuronas, evitando una posible anticipación respecto a la llegada de la información del siguiente patrón a
través de las conexiones feedback (vij). Aunque no la consideramos, puede existir otro control de
ganancia que, en función de las salidas de las neuronas de la capa de entrada, actúe sobre las de salida
para mejorar su reacción ante los patrones de entrada.
Por tanto, la arquitectura simplificada de la figura 6.1 debería ser completada añadiendo dos
neuronas que permitan implementar las funciones de control de ganacia y del subsistema de atención. La
estructura completa de la red sería la indicada en la figura 6.3, donde el nodo de reset (R) tiene un
funcionamiento especial: su misión es recibir las salidas de las neuronas de entrada a través de
conexiones con peso "-1" junto con los valores del patrón de entrada a la red a través de conexiones con
pesos iguales al parámetro de vigilancia de la red, para compararlas y si no son suficientemente
parecidos activar la salida correspondiente para, a través de una conexión de inhibición con peso
negativo de gran valor (-), conseguir anular el efecto de la neurona que se ha comprobado que no
representa la categoría adecuada para el patrón de entrada.
La neurona G es la que permite realizar el control de ganancia de atención. Para ello recibe
como entrada los valores de las neuronas de la capa de salida a través de conexiones con pesos "-N" y los
del patrón de entrada mediante conexiones con peso igual a la unidad, generando, mediante una función
de activación escalón, una salida que se aplicará a las neuronas de la capa de entrada de la red para
ayudar a la activación de las neuronas de esta capa en función de la cantidad de neuronas de salida
activadas. De esta forma, se puede aplicar la regla de activación denominada "Regla 2/3" que indica que
una neurona de la capa de entrada se activará (salida "1") cuando dos de las tres entradas que recibe
(patrones de entrada, neurona G y conexiones vij) esté activa, tenga valor "1".
VI. El Modelo de Resonancia Adaptativa (ART) 6.1
La salida generada por la neurona G, que va a tener un umbral de valor 1/2, es la siguiente:
Por tanto, la salida generada por cada neurona de entrada, considerando un umbral de 1.5, es:
Estos cálculos pueden simplificarse, ya que puede demostrarse que, al trabajar con valores
binarios 0/1 y con los umbrales indicados, esta salida también cumple la siguiente expresión, que será la
utilizada en adelante por su mayor simplicidad:
En cuanto al nodo de reset (R), éste va a tener M salidas, una por neurona de la capa de salida de
la red, de las cuales sólo se podrá activar una cada vez, la correspondiente a la neurona que hay que
resetear. Su función de activación debería ser:
Siendo ρ el parámetro de vigilancia. De esta forma, se produce el "reset" de la neurona
vencedora cuando:
VI. El Modelo de Resonancia Adaptativa (ART) 6.1
Este nodo R se podría implementar como un conjunto de M neuronas (R1,..,RM) que recibiesen
las mismas entradas todas ellas, las indicadas anteriormente. La salida de cada una de estas neuronas (Rj)
se conectaría a la entrada de la correspondiente neurona de la capa de salida de la red (nsj) a través de
conexiones con un peso negativo de un gran valor (-), con una función de transferencia de tipo escalón,
pero con un umbral dependiente del valor de salida de la neurona de la red a la que está conectada. De tal
forma que, si se trata de la conectada a la vencedora, se podrá producir producir el "reset", lo que se
consigue mediante la activación de la neurona Rj que, a través de la conexión de peso -, conseguirá
inhibir a nsj. El resto de neuronas de R generarán una salida de valor "0". Puede comprobarse que todo
esto se podría conseguir si el umbral de la función de activación de cada una de estas neuronas Rj fuese
θj=N(1-snsj).
6.2.- FUNCIONAMIENTO.
2º) Cada neurona (nei) de la capa de entrada recibe el valor del componente correspondiente (ei(k)
del vector y lo envía a todas las neuronas de la capa de salida a través de las conexiones correspondientes
(wji).
3º) Cada neurona (nsj) de la capa de salida compite con las demás de esta capa hasta que sólo
una permanece activa. Las conexiones laterales son las que permiten realizar esta competición y tienen
un peso con un valor fijo -ε que debe ser menor que 1/M, siendo M el número de neuronas de la capa de
salida, para que la competición funcione correctamente.
Después de un cierto número de iteraciones se llega a una situación de estabilidad en la que una
de las neuronas resulta vencedora, generando una salida de valor "1", mientras que en las demás
neuronas la salida es "0". Como los pesos de las conexiones laterares de inhibición tienen el mismo valor
(-ε), así como las autorrecurrentes (+1), es evidente que el factor a tener en cuenta para saber cuál es la
neurona vencedora será la entrada que recibe cada neurona a través de las conexiones feed-foward con
pesos wji provenientes de la capa de entrada. Así, los valores de salida al final de la competición se
pueden obtener más facilmente mediante la siguiente expresión:
VI. El Modelo de Resonancia Adaptativa (ART) 6.1
4º) La neurona vencedora (nsj*) envía su salida ("1") a través de las conexiones hacia atrás (vij*).
Cada neurona i-ésima de la capa de entrada recibe el valor:
Install Equation Editor and double-
click here to view equation.
Por tanto, al no influir el resto de las neuronas de salida por estar inactivas ("0"), en la capa de
entrada se reciben los valores de los pesos de las conexiones correspondientes.
Si se cumple que:
Install Equation Ed
click here to view
a) Si todavía quedan neuronas de salida que no hayan sido desestimadas, se repite el proceso de
búsqueda de la categoría a la que pertenece la entrada (paso 2º) anulando ("reseteando") temporalmente
la neurona vencedora para que no influya en la repetición del proceso de competición.
En realidad, la secuencia de pasos descrita viene a decir que cuando entra en funcionamiento
una red ART se produce una búsqueda a través de los prototipos almacenados y asociados a cada
clase o categoría, con la pretensión de encontrar uno lo suficiéntemente parecido a la información
presentada a la entrada de la red. Si esta categoría no existe, se crea una nueva de la cual es prototipo
dicha información.
La red ART, por tanto, permite establecer clases de datos. Recibiendo datos en la entrada y
activando la salida que indique la categoría o clase a la que pertenece. Si en la capa de salida hay N
neuronas, el número de categorias que se establecen es N. Los prototipos o representantes de las clases
son los pesos vij de las conexiones. Para extraerlos de la red se puede añadir una nueva capa de neuronas
a la salida (Fig. 6.4) con un número de neuronas igual al de la capa de entrada y con unos pesos iguales a
los anteriores (vij).
VI. El Modelo de Resonancia Adaptativa (ART) 6.1
6.3.- APRENDIZAJE.
El aprendizaje en el modelo ART es de tipo ON LINE, por lo que no se distingue entre etapa de
entrenamiento y de funcionamiento. Los pesos varían durante el funcionamiento de la red cuando se
aplica una información de entrada a la misma.
En este tipo de redes se pueden dar dos tipos de aprendizaje denominados aprendizaje lento y
aprendizaje rápido. El aprendizaje lento ocurre cuando una información de entrada es asociada a una de
las categorías existentes. Entonces se debe proceder a ajustar los pesos para que el representante de dicha
clase se adapte a las características del dato de entrada. El aprendizaje rápido se da cuando se establece
una nueva categoría y consiste en representar de forma inmediata la información de entrada, que será el
prototipo de dicha nueva clase, en los pesos de la red.
Después, cada vez que se presente una información Ek=(e1(k),...,eN(k)) a la red, se realiza el
"aprendizaje" o ajuste de los pesos de las conexiones vij* de la neurona vencedora con cada una de las N
de la capa de entrada, en función de de la diferencia entre esta información y la del representante o
prototipo de la clase a la que se ha asociado. En general, la variación de los pesos vij se realiza según la
siguiente ecuación diferencial:
Install Equation Editor and double-
click here to view equation.
Si la neurona de salida nsj no es la vencedora, el valor de su salida es cero (snsj=0), con lo que no
debe producirse variación en el peso correspondiente (dvij/dt=0). Por el contrario, si la neurona es la
vencedora, su salida es "1" (snsj*=1), con lo que la variación del peso vij* sería: dvij*/dt=(vij*ei(k)-vij*).
Según esta expresión, el nuevo valor del peso se obtendría como:
1 2 1 2 1 2
┌───┬───┐ ┌───┬───┐ ┌───┬───┐
│███│███│ │ │ │ │███│███│
├───┼───┤ ├───┼───┤ ├───┼───┤
│ │ │ │███│███│ │███│ │
└───┴───┘ └───┴───┘ └───┴───┘
3 4 3 4 3 4
VI. El Modelo de Resonancia Adaptativa (ART) 6.1
Los pixels negros se representarían mediante el valor binario "1" y los blancos con el
valor "0". En este caso las informaciones serían vectores de 4 elementos (N=4) que contienen
los valores de los pixels. La red tendría 4 neuronas en la capa de entrada para que cada una
reciba el valor de un pixel.
Se inicializan los pesos vij con valores "1" y los wji con 1/(1+N)=1/5=0.2. Las matrices
que representan estos pesos iniciales serían:
Install Equation Editor and double-
click here to view equation.
Por tanto resulta vencedora la neurona segunda de la capa de salida, que será la que
represente entonces la categoría a la que pertenece este segundo patrón. El prototipo de esta
nueva clase será la propia información de entrada ya que no exisitía ningún otro. Esto además
es así porque se realiza la operación AND entre el patrón E2 y los valores de los pesos v2i que se
habían inicializado a "1", por lo que el resultado coincide con E2:
Install Equation Editor and double-
click here to view equation.
VI. El Modelo de Resonancia Adaptativa (ART) 6.1
Por último, se presenta a la entrada el vector E3=(1110), produciéndose la competición
con los siguientes resultados:
Install Equation Editor and double-
click here to view equation.
Aunque la red ART es una de los más potentes modelos con capacidad auto-
organizativa, sin supervisión, existen algunas limitaciones importantes a tener en cuenta que
dificultan la tarea de clasificación realizada por la red. Estas limitaciones se refieren, sobre
todo, a su dependencia del respecto del tipo y orden de las informaciones aprendidas y a la
influencia del parámetro de vigilancia (ρ) en el número de categorías creadas por la red, ya que
pequeños cambios de este parámetro puden originar un gran número de categorías.
Se trata de una red con una gran sensibilidad ante el ruido o distorsión, también ante el
desplazamiento de los datos de entrada, que puede dar lugar a una gradual degradación de
los prototipos correspondientes, debido al carácter destructivo (operación AND de dato de
entrada y prototipo) de la regla de aprendizaje que realiza la adapatación de los pesos. Sin
embargo, si estos datos de entrada son sometidos a un adecuado pre-procesamiento, la red
VI. El Modelo de Resonancia Adaptativa (ART) 6.1
ART puede ser útil para realizar una posterior tarea de clasificación o categorización.
Además, otra evidente limitación del modelo original es su carácter discreto, obligando
a trabajar con informaciones binarias. Este problema fue rápidamente solventado por sus
creadores a través de una extensión contínua del modelo al que denominaron ART2 para
diferenciarlo del original que suele ser referido como ART1. En el siguiente apartado se analiza
esta nueva versión.
En 1987 Carpenter y Grossberg [Carpenter 87] propusieron una versión contínua del
modelo de Resonancia Adaptativa, al que denominaron ART2, que era capaz de trabajar con
valores de entrada reales en lugar de binarios. Esta nueva red tiene la misma arquitectura que
la original pero en este caso los pesos de las conexiones feed-foward y feed-back son iguales
(wji=vij). También su funcionamiento es diferente en algunos aspectos.
1º) Se presenta una información de entrada Ek=(e1(k),...,eN(k)) a la red. En este caso los
componentes ei(k) son valores reales.
2º) Cada neurona (nei) de la capa de entrada recibe el valor del componente
correspondiente real del vector Ek y lo envía a todas las neuronas de la capa de salida a través
de las conexiones correspondientes (wji).
3º) Cada neurona (nsj) de la capa de salida compite con las demás de esta capa hasta
que sólo una permanece activa. Aquí se plantea otra diferencia con respecto al modelo
discreto, ya que en este caso se supone que la neurona vencedora es aquella j* que verifica una
mínima diferencia (distancia Euclidea) entre el patrón de entrada y los pesos de las conexiones
entre esta neurona y las de la capa de entrada:
Install Equation Editor and double-
click here to view equation.
4º) La neurona vencedora (nsj*) envía su salida ("1") a través de las conexiones hacia
atrás (vij*). Cada neurona i-ésima de la capa de entrada recibe el valor:
Install Equation Editor and double-
click here to view equation.
Install Equation Ed
click here to view
entonces la neurona vencedora no representa la apropiada categoría a la
que pertenece la información de entrada Ek y es desestimada, se
"resetea" o elimina del conjunto de posibles neuronas vencedoras y se
prueba otra vez (paso 2º). Si ya se han desestimado todas las salidas, se añade una nueva
neurona a la capa de salida (nsM+1) con pesos iguales a los componentes del patrón de entrada
(viM+1=wM+1i=ei(k)).
7º) Si la semejanza evaluada es igual o mayor que el "parametro de vigilancia",
entonces se asume que la neurona que se ha activado a la salida es la que representa la
categoría mas apropiada para la información de entrada Ek, procediéndose al ajuste de los
pesos vij* y wj*i para que el nuevo prototipo almacenado que representa dicha categoría
incorpore algunas características del dato de entrada, según la siguiente expresión:
Install Equation Editor and double-
click here to view equation.
Siendo Numj*(t) el número de vectores de entrada que han sido considerados hasta el
instante t como de la clase j*.
En esta tabla, por cada punto (pk)que se introduce, se representa sus coordenadas (x,y),
la relación de semejanza con respecto al prototipo de la clase a la que la red ha determinado
que pertenece según la neurona que ha resultado vencedora, y el nuevo valor de este prototipo
cuando se hace el ajuste de los pesos para incorporar también las coordenadas del punto
introducido. En este ejemplo se ha establecido un valor para el parámetro de vigilancia de
ρ=1.5, siendo 2 el máximo posible ya que se trabaja con puntos con coordenadas en el margen
[0,2].
Puede observarse que además del punto p1, por ser el primero, los puntos p3 y p5 no
superan la relación de semejanza y por tanto se establece una nueva clase en cada caso, siendo
estos puntos sus correspondienters prototipos. El resto de puntos, cuando se introducen, sí
superan la relación de semejanza, con lo que pertenecen a clases ya establecidas y se
incorporan al prototipo representante según la ecuación de ajuste:
Install Equation Editor and double-
click here to view equation.
Install Equation Editor and double-
click here to view equation.
Por ejemplo, en el caso del punto p4=(1.5, 0.5), primero se compara con el prototipo de
la clase 1, que es la única que existe cuando se introduce este punto:
Install Equation Editor and double-
click here to view equation.
Figura 6.5 Distribución de los puntos del ejemplo en el plano y categorías ("clusters") establecidas
por la red ART2 [Kung 93].
VI. El Modelo de Resonancia Adaptativa (ART) 6.1
En [Carpenter 88], los autores del modelo presentan un ejemplo de aprendizaje de las
letras del alfabeto por parte de una red ART discreta. El ejemplo que se presenta a
continuación es similar, aunque en este caso se va a trabajar con números en lugar de letras, y
servirá para comprobar el efecto del parámetro de vigilancia en el establecimiento de
categorías.
Se va a diseñar una red para clasificar figuras de dígitos representados mediante 7x6=
42 pixels. Esta red consta de 42 neuronas de entrada a través de las cuales se recibe la figura
que debe clasificar. La red debe responder indicando a qué clase, de las establecidas hasta ese
momento, pertenece la letra. Si no pertenece a ninguna deberá crear una nueva. Se fija un valor
de 0.9 para el "parámetro de vigilancia" (ρ), es decir, se exije una semejanza mayor del 90%
para considerar que dos figuras son de la misma clase.
Cuando se introduce el dígito "8" se compara con los dos prototipos almacenados ("2" y
"3") obteniéndose una relación de semejanza respecto a "2" de 11/20=0.55 < 0.9 y respecto a "3"
de 17/20=0.85 < 0.9. Por tanto, se considera como prototipo de una nueva categoría (Fig.
6.6(c)).
Finalmente, cuando se presenta el "8" con otra distorsión (Fig. 6.6(e)), la semejanza
respecto al prototipo anterior es de 17/19=0.89 < 0.9, con lo que no se considera de la misma
categoría, creándose una nueva de la que esta figura pasa a ser su representante.
VI. El Modelo de Resonancia Adaptativa (ART) 6.1
Para comprobar el efecto del parámetro de vigilancia, puede analizarse lo que ocurriría
si su valor fuese menor. En ese caso, se estaría relajando la condición de vigilancia, de tal forma
que formarán parte de la misma categoría figuras que difieran en una mayor proporción que
en el caso anterior. Si por ejemplo ρ=0.8, cuando se presenta la imagen del "8", la relación de
VI. El Modelo de Resonancia Adaptativa (ART) 6.1
semejanza con el "3" es 17/20=0.85 que es mayor que ρ, con lo que se consideran de la misma
clase, perdiéndose, por tanto, el dígito "8" al establecer el nuevo prototipo con la operación
AND entre ambos patrones (Fig. 6.7(e)). Lo que ocurre al presentar el resto de imágenes puede
observarse en la misma figura 6.7.
Un ejemplo mas complejo que el anterior se puede encontrar en [Carpenter 87], donde
VI. El Modelo de Resonancia Adaptativa (ART) 6.1
se muestra como aplicación un sistema de reconocimiento invariante de imágenes obtenidas
mediante sensores de radar láser. El sistema consta de una red ART2 y una etapa de pre-
procesamiento. En esta etapa previa se realizan tres funciones: a) recepción de la imagen radar,
b) detección, marcado y completado del contorno de la imágenes mediante una red neuronal
denominada Boundary Contour System [Grossberg 85], c) filtrado de la imagen aplicando la
transformada de Fourier-Mellin, que obtiene una representación (espectro) de la imagen
independiente de su posición, rotación o tamaño. La red ART2 recibe la imagen transformada
y establece la categoría a la que pertenece.
Figura 6.8 Clasificación, de 24 imágenes en 4 categorías, realizada por una red ART2 [Carpenter
87].
Figura 6.9 Clasificación invariante de 32 imágenes con una red ART2 [Carpenter 87].
VI. El Modelo de Resonancia Adaptativa (ART) 6.1
6.5.2.- Reconocimiento de señales analógicas.
Igual que en el caso de informaciones binarias, una red ART2 puede utilizarse para
establecer categorías de patrones analógicos, como pueden ser señales en el tiempo o en el
dominio de la frecuencia, que podrían corresponder, por ejemplo, a señales de voz, de un
transductor médico, etc. En la figura 6.10 se muestra un ejemplo de como una red ART2 de N
neuronas de entrada establece 34 categorías a partir de 50 patrones (señales) analógicos
compuestos de N muestras de valores reales. En este caso de utiliza un valor grande para el
parámetro de vigilancia.
Figura 6.10 Clasificación de patrones analógicos con una red ART2 (con un valor grande de
ρ)Carpenter 87].
Figura 6.11 Variación del número de categorías al reducir el valor de ρ [Carpenter 87].
El sistema propuesto (Fig. 6.13) consiste en: un preprocesador, para dividir la señal
ECG en ciclos cardiacos; dos redes neuronales ART2, que reciben como entrada un ciclo
cardiaco e indican las localizaciones aproximadas de los puntos significativos para reconocer el
complejo QRS; y un reconocedor, para buscar las localizaciones exactas de los puntos
significativos alrededor de la posición indicada por las redes.
Tramo
┌────────────┐ P-R ┌───────────┐ Pto.Q ┌────────────┐
ECG │ ├─────>│ RED ART2 ├──────>│ │ Q
───>│ PRE- │ └───────────┘ │ RECONOCEDOR├──>
│ PROCESADOR │Tramo ┌───────────┐ Pto.S │ │ S
│ ├─────>│ RED ART2 ├──────>│ │
└────────────┘ R-T └───────────┘ └────────────┘
El preprocesador detecta los puntos R en el ECG y divide esta señal en ciclos cardiacos.
Un ciclo a su vez se considera formado por dos tramos. Un tramo del ciclo , 100ms desde el
punto R hacia la onda T, se introduce en una red neuronal para reconocer el punto S. De forma
similar, una porción de ECG desde el punto R hacia la onda P anterior se introduce en la otra
red para reconocer el punto Q.
Las redes ART2 utilizadas son capaces de indicar las posiciones aproximadas de los
puntos significativos de la señal. Esto se hace de la siguiente forma (Fig. 6.14):
Cada vez que se presenta a las redes un ciclo cardiaco para reconocer el complejo QRS,
modificarán los pesos de las conexiones entre neuronas para adaptar los prototipos
(triángulos) almacenados a las particulares características de la señal ECG de entrada, que
puede corresponder a pacientes diferentes.
Por último, el reconocedor del sistema realiza un ajuste fino, encontrando las
posiciones exactas de los puntos S y Q en base a las suministradas por las redes.
Según los autores, procesando un total de 300 ciclos cardiacos con ECG de tres
personas diferentes, el sistema reconocía el complejo QRS en el 97% de los casos.
VII. El modelo de Kohonen. 7.1
Existen evidencias que demuestran que en el cerebro hay neuronas que se organizan en muchas
zonas de forma que las informaciones captadas del entorno a través de los órganos sensoriales se
representan internamente en forma de "mapas bidimensionales". Por ejemplo, en el sistema visual se han
detectado "mapas" del espacio visual en zonas del córtex (capa externa del cerebro). También en el
sistema auditivo se detecta una organización en base a la frecuencia a la que cada neurona alcanza la
mayor respuesta (organización "tonotópica").
En base a estas ideas, T. Kohonen presentó en 1.982 [Kohonen 82] un sistema con un
comportamiento semejante. Se trataba de un modelo de red neuronal con capacidad para formar "mapas
de características" de manera similar a como ocurre en el cerebro. El objetivo de Kohonen era
"demostrar que un estímulo externo (información de entrada) por sí solo, suponiendo una estructura
propia y una descripción funcional del comportamiento de la red, era suficiente para forzar la formación
de los mapas".
Este modelo tiene dos variantes denominadas LVQ (Learning Vector Quantization) y TPM
(Topology-Preserving Map) o SOM (Self-Organizing Map). Ambas se basan en el principio de
formación de mapas topológicos para establecer características comunes entre laa informaciones
(vectores) de entrada a la red, aunque difieren en las dimensiones de éstos, siendo de una sóla dimensión
en el caso de LVQ y bidimensional, e incluso tridimensional, en la red TPM.
7.1.- ARQUITECTURA.
VII. El modelo de Kohonen. 7.1
Figura 7.1 Arquitectura de la red LVQ (Learning Vector Quantization) de Kohonen [Simpson 90].
Entre las neuronas de la capa de salida puede decirse que existen conexiones laterales de
inhibición (peso negativo) implícitas; pues aunque no estén conectadas, cada una de estas neuronas va a
tener una cierta influencia sobre sus vecinas. El valor que se asigne a los pesos de las conexiones
feedfoward entre las capas de entrada y salida (wji) durante el proceso de aprendizaje de la red va a
depender precisamente de esta interacción lateral.
La influencia que una neurona ejerce sobre las demás es función de la distancia entre ellas,
siendo muy pequeña cuando están muy alejadas. Es frecuente que dicha influencia tenga la forma de un
"sombrero mejicano", como se ilustra en la figura 7.2. Esta afirmación tiene una base biológica, ya que
existen evidencias fisiológicas de interconexiones laterales de este tipo entre las neuronas del sistema
nervioso central de los animales. Así, se ha podido comprobar que en determinados primates se producen
interacciones laterales de tipo excitatorio entre neuronas próximas en un radio de 50 a 100 micras, de
tipo inhibitorio en una corona circular de 150 a 400 micras de anchura alrededor del círculo anterior, y
de tipo excitatorio muy debil, prácticamente nulo, desde ese punto hasta una distancia de varios
centímetros.
Por otra parte, la versión del modelo denominada TPM (Topology Preserving Map) trata de de
establecer una correspondencia entre los datos de entrada y un espacio bidimensional de salida, creando
"mapas topológicos" de dos dimensiones, de tal forma que ante datos de entrada con características
comunes se deben activar neuronas situadas en zonas próximas de la capa de salida. Por esta razón, la
representación habitual de esta red suele ser la mostrada en la figura 7.3, donde las M neuronas de salida
se disponen de forma bidimensional para representar precisamente los mapas de caracterísiticas.
Figura 7.4 Interacción entre neuronas de la capa de salida con zona de interacción circular.
La interacción lateral entre las neuronas de la capa de salida sigue existiendo, aunque hay que
entender la distancia ahora como una zona bidimensional que existe alrededor de cada neurona. Esta
zona puede ser circular (Fig. 7.4), cuadrada, hexagonal, o cualquier otro poligono regular centrado en
dicha neurona.
7.2.- FUNCIONAMIENTO.
Donde Intpj es una función del tipo "sombrero mejicano" (Figs. 7.2 y 7.4) que representa la
influencia lateral de la neurona p sobre la neurona j. La función de activación de las neuronas de salida
(f) será del tipo contínuo, lineal o sigmoidal, ya que esta red trabaja con valores reales.
Es evidente que se trata de una red de tipo competitivo, ya que, al presentar una entrada Ek la red
evoluciona hasta una situación estable en la que se activa una neurona de salida, la vencedora. Por ello,
la formulación matemática de su funcionamiento puede simplificarse mediante la siguiente expresión,
que representa cuál de las M neruonas se activaría al introducir dicha información Ek:
Install Equation Editor and double-
click here to view equation.
Donde Ek-Wj es una medida (p. ej. distancia euclídea) de la diferencia entre el vector de
entrada Ek=(e1(k),..,eN(k)) y el vector de los pesos Wj=(wj1,..,wjN) de las conexiones entre cada una de las
neuronas de entrada y la neurona de salida j. En estos pesos se registran los datos almacenados en la red
durante el proceso de aprendizaje. En la fase de funcionamiento lo que se pretende es encontrar el dato
"aprendido" más parecido al de entrada para, en consecuencia, averiguar qué neurona se activará y, sobre
todo, en qué zona del espacio bidimensional de salida se encuentra.
Lo que hace la red de Kohonen, en definitiva, es realizar una tarea de clasificación, ya que la
neurona de salida activada ante una entrada representa la clase a la que pertenence dicha información de
entrada. Además, como ante otra entrada parecida se activa la misma neurona de salida, u otra cercana a
la anterior, debido a la semejanza entre las clases, se garantiza que las neuronas topológicamente
próximas sean sensibles a entradas físicamente similares. Por esta causa, la red es especialmente útil
para establecer relaciones, desconocidas previamente, entre conjuntos de datos.
7.3.- APRENDIZAJE.
El aprendizaje en el modelo de Kohonen es de tipo OFF LINE, por lo que se distingue una
etapa de aprendizaje y otra de funcionamiento. En la etapa de aprendizaje se fijan los valores de los
pesos de las conexiones (feedfoward) entre la capa de entrada y la de salida.
Esta red utiliza un aprendizaje no supervisado de tipo competitivo. Las neuronas de la capa
de salida compiten por activarse y sólo una de ellas permanece activa ante una determinada información
de entrada a la red. Los pesos de las conexiones se ajustan en función de la neurona que haya resultado
vencedora.
VII. El modelo de Kohonen. 7.1
Durante la etapa de entrenamiento se presenta a la red un conjunto de informaciones de entrada
("vectores de entrenamiento") para que ésta establezca, en función de la semejanza entre los datos, las
diferentes categorías (una por neurona de salida) que servirán durante la fase de funcionamiento para
realizar clasificaciones de nuevos datos que se presenten a la red. Los valores finales de los pesos de las
conexiones entre cada neurona de la capa de salida con las de entrada se corresponderán con los valores
de los componentes del vector de aprendizaje que consigue activar la neurona correspondiente. En el
caso de existir más patrones de entrenamiento que neuronas de salida, más de uno deberá asociarse con
la misma neurona, es decir, pertenecerán a la misma clase. En tal caso los pesos se obtienen como un
promedio de dichos patrones.
En este modelo, el aprendizaje no concluye después de presentarle una vez todos los patrones de
entrada, sino que habrá que repetir el proceso varias veces para refinar el mapa topológico de salida, de
tal forma que cuantas más veces se presenten los datos, tanto más se reducirán las zonas de neuronas que
se deben activar ante entradas parecidas, consiguiendo que la red pueda realizar una clasificación más
selectiva.
El algoritmo de aprendizaje utilizado para establecer los valores de los pesos de las conexiones
entre las N neuronas de entrada y las M de salida es el siguiente:
1º) En primer lugar se inicializan los pesos (wji) con valores aleatorios pequeños y se fija la zona
inicial de vecindad entre las neuronas de salida.
2º) A continuación se presenta a la red una información de entrada (la que debe "aprender") en
forma de vector Ek=(e1(k),..,eN(k)) cuyas componentes ei(k) serán valores contínuos.
Para ello se calculan las distancias o diferencias entre ambos vectores considerando una por una
todas las neuronas de salida. Suele utilizarse la distancia euclídea o la siguiente expresión, que es similar
a aquella pero eliminando la raiz cuadrada:
Install Equation Editor and double-
click here to view equation.
Siendo:
ei(k): Componente i-ésimo del vector k-ésimo de entrada.
wji: Peso de la conexión entre la neurona i de la capa de entrada y la neurona j de la capa de
salida.
4º) Una vez localizada la neurona vencedora (j*) se actualizan los pesos de las conexiones entre
las neuronas de entrada y dicha neurona, así como los de las conexiones entre las de entrada y las
neuronas vecinas de la vencedora. En realidad, lo que se consigue con esto es asociar la información de
entrada con una cierta zona de la capa de salida.
Siendo α1 un valor de 0.1 ó 0.2 y α2 un valor próximo al número total de iteraciones del
aprendizaje. Suele tomarse un valor α2=10000.
5º) El proceso se debe repetir, volviendo a presentar todo el juego de patrones de aprendizaje
Install Equation Editor and double-
E1,E2,.., un mínimo de 500 veces click here to view equation. 7.
El siguiente ejemplo servirá para entender el funcionamiento y aprendizaje de este tipo de redes.
Se trata de utilizar una red como la de la figura 7.6, para establecer clases de puntos distribuidos en un
espacio bidimensional.
VII. El modelo de Kohonen. 7.1
La red consta de 2 neuronas de entrada a través de la cuales recibe las coordenadas X e Y de los
puntos a clasificar. El número de neuronas de salida es de 4, por lo que la red establecerá cuatro
categorías de puntos en función de su situación en el plano. Se va a trabajar con coordenadas con valores
entre 0 y 1, y se no se va a establecer ninguna zona de vecindad alrededor de las neuronas de salida
debido al mínimo número de éstas. En esta red existirán 2x4=8 conexiones entre capa de entrada y de
salida con sus correspondientes pesos asociados. Para entender el significado espacial de los valores de
los pesos, se agruparán éstos por parejas en vectores de pesos que en realidad representan los prototipos
o representates de cada una de las cuatro clases de puntos establecidos por la red. Estos vectores son:
W1=[w1x,w1y], W2=[w2x,w2y], W3=[w3x,w3y], W4=[w4x,w4y]. Inicialmente se asignan unos valores
aleatorios, en la zona central del plano X-Y, para los pesos, por ejemplo: W1=[0.4,0.5], W2=[0.4,0.6],
W3=[0.5,0.6], W4=[0.5,0.5].
Siendo j* la neurona vencedora al aplicar a la entrada el punto Pk=[px(k), py(k)]. Sólo hay que
VII. El modelo de Kohonen. 7.1
ajustar el pesos de la vencedora, al haber fijado una zona de vecindad nula. Se ha tomado un coeficiente
de aprendizaje α(t)=1/t.
La evolución de los pesos durante la fase de aprendizaje de los 20 puntos es la que se muestra en
la tabla 7.1. En la figura 7.7 se representa la situación en el plano de estos pesos en los instantes mas
representativos del aprendizaje y la clase a la que la red estima que pertenece cada punto en cada
iteración, es decir, la neurona de salida (1..4) que resulta vencedora al presentar el punto correspondiente.
Tabla 7.1 Evolución de los pesos Wj=[wjx,wjy] durante el aprendizaje de los 20 puntos.
Puede comprobarse que después de la iteración número 126, los valores de los pesos
permanecen estables. Estos valores finales no representan sino los centroides o centros de
gravedad (media aritmética de las coordenadas X e Y) de los puntos que la red ha considerado
pertenecientes a cada una de las 4 clases que ha establecido. Además, puede demostrarse que
las líneas que establecen las fronteras entre las regiones de decisión que contienen los puntos
de la misma clase son perpendiculares a las líneas que unen los centroides Wj. Esta división del
espacio en regiones con fronteras de este tipo es los que se suele denominar división de
Voronoi (Voronoi tessellation) o de Dirichlet (Dirichlet tessellation).
PA: Clase 3 PB: Clase 1 PC: Clase 4 PD: Clase 1 PE: Clase 4
VII. El modelo de Kohonen. 7.1
(a) (b)
(d)
(c)
Figura 7.8 Evolución de los pesos de una red
cuando los patrones de entrada E1,..,E2000 siguen una distribución uniforme en el plano. (a) t=1
(b) t=18. (c) t=24. (d) t=88 [Isasi 93].
VII. El modelo de Kohonen. 7.1
En la figura 7.9 se representa la evolución de los pesos de la misma red, pero cuando se
utiliza un juego de puntos de entrenamiento con una distribución toroidal en el plano.
(a) (b)
(c) (d)
Figura 7.9 Evolución de los pesos de una red cuando los patrones de entrada E1,..,E2000 siguen
una distribución toroidal en el plano. (a) t=1 (b) t=11. (c) t=20. (d) t=88 [Isasi 93].
VII. El modelo de Kohonen. 7.1
7.4.- APLICACIONES.
La red utilizada tiene 15 neuronas de entrada a través de las cuales recibe las
componentes en frecuencia que caracterizan a los diferentes fonemas que componen las
palabras, obtenidos mediante un micrófono y un pre-procesador analógico y digital. Se entrena
la red para que ante fonemas parecidos active neuronas de salida próximas, creando
finalmente lo que el autor denomina un mapa fonotópico. En la figura 7.10 se muestra un
ejemplo de mapa para el idioma finés (el de Kohonen, su autor), donde se indican los fonemas
ante los cuales han aprendido a responder cada una de las neuronas de salida.
Se utiliza una red con 3 neuronas de entrada que reciben los valores correspondientes
al grado de intesidad de cada color básico (rojo, verde, azul) de cada uno de los pixels de la
imagen. En la capa de salida se disponen 256 neuronas en representación de los 256 colores
más frecuentes que debe averiguar la red. Después del entrenamiento, en los pesos de las tres
conexiones de cada neurona de salida con las tres de entrada se ha obtenido la combinación de
rojo, verde y azul para cada uno de los 256 colores más frecuentes. En realidad, puede decirse
que se ha obtenido un mapa comatotópico de la imagen "aprendida" por la red.
En definitiva, lo que se hace es utilizar una red de Kohonen para averiguar, al reducir
una imagen a 256 colores, qué pixels de la imagen original deberían representarse con el
mismo color, lo cual no es sino una nueva forma de codificar la información utilizando un
menor número de bits por pixel (8 en lugar de 24 en este ejemplo), y para conocer la
combinación de rojo, verde y azul para ese color.
La red que puede solucionar este problema tiene tantas neuronas de salida como
ciudades del recorrido y dos neuronas de entrada para las coordenadas en el plano (x,y) de
cada ciudad (Fig. 7.14). La ditribución de las neuronas de salida es circular, estableciendo para
cada neurona (j) una zona de vencindad que incluye las neuronas anterior (j-1) y posterior
(j+1).
El proceso a seguir para resolver el problema consiste en entrenar la red para que
"aprenda" la situación geográfica de las N ciudades del recorrido, adaptando los pesos
mediante el algoritmo de Kohonen (apartado 7.4). Cuando el entrenamiento ha concluido, al
existir tantas neuronas de salida como ciudades, deberán coincidir los vectores de pesos de la
red Wj=[wjx,wjy] con las coordenadas de las N ciudades (C1=[cx(1),cy(1)],..,CN=[cx(N),cy(N)]).
Entonces el problema ha sido resuelto, siendo la solución el recorrido resultante de unir los
puntos (ciudades) correspondientes a los pesos de las neuronas adyacentes de la capa de
salida. La solución que se obtiene es buena, aunque no puede garantizarse que sea la óptima,
ya que el criterio seguido por la red, al fijar la zona de vecindad indicada, ha sido el buscar
siempre como siguiente ciudad la mas próxima.
A partir de las coordenadas, es directo el cálculo de las distancias entre las ciudades.
Suponiendo que se está tabajando con valores expresados en kilómetros, las distancias serían
las las indicadas en la tabla 7.2.
C1 C2 C3 C4 C5
Tabla 7.2 Distancia (en kms) entre las 5 ciudades del ejemplo.
Puede comprobarse que el recorrido más corto, como en el ejemplo del capítulo 5,
corresponde con la secuencia C1-C3-C2-C5-C4-C1, con un distancia de valor:
Se puede utilizar una red de Kohonen para obtener una solución del problema. En
este caso se trataría de una red con 2 neuronas de entrada para las coordenas X e Y de cada
ciudad y 5 neuronas de salida para disponer de 5 vectores (W1,..,W5) de pesos Wj=[wjx,wjy],
uno por ciudad, ya que cuando la red "aprenda" las posiciones de las ciudades, el valor de
los pesos coincidirá con dichas posiciones, siendo el orden del recorrido el de los pesos:
primero se pasará por la ciudad almacenada en W1, después por la que indique W2 y
VII. El modelo de Kohonen. 7.1
finalmente por la de W5. Por tanto, la solución del problema consiste en averiguar el reparto
de ciudades por pesos para conocer la secuencia del recorrido.
Inicialmente (t=0) se deben establecer unos valores aleatorios para los pesos. En
nuesto caso, los valores elegidos son puntos de una hipotética circunferencia de radio 2km
(Fig. 7.16). Estos valores aleatorios influirán en la solución final del problema. Ya se ha
comentado que este método ofrece una solución buena, buscando siempre la siguiente
ciudad más cercana a la anterior, pero no siempre óptima. En este ejemplo, con los valores
iniciales asignados a los pesos se llega precisamente a la solución óptima.
Tabla 7.3 Evolución de los pesos Wj=[wjx,wjy] durante el aprendizaje de las posiciones de las
5 ciudades.
VII. El modelo de Kohonen. 7.1
Después de las primeras iteraciones ya puede observarse hacia que ciudad tiende
cada vector de pesos (Fig.7.16). Cuando se repite el proceso algunos cientos de veces, se
llega a unos valores que prácticamente coinciden con las posiciones de las ciudades. En este
ejemplo, después de 200 iteraciones coinciden los valores de las posiciones con una
diferencia menor de una décima de kilómetro.
Figura 7.16 Adaptación de los pesos de una red de Kohonen que soluciona el problema del
viajante con 5 ciudades.
Aunque no ocurre en este caso, cuando se resuelve el problema del viajante con una
red de Kohonen puede suceder que más de una neurona pueda ser atraida por la misma
ciudad, lo que originaría que algunas ciudades quedasen aisladas sin aparecer en el
recorrido final. Esta situación puede evitarse utilizando un mayor número de neuronas que
de ciudades.
VII. El modelo de Kohonen. 7.1
Puede demostrarse [Caudill 89] que si el número de neuronas de la capa oculta (P) es
igual o mayor que el número de informaciones que debe "aprender" la red, el valor de vhj
que se obtiene al iterar según la expresión anterior coincide precisamente con el valor
deseado dh(k) si j es la vencedora en la capa oculta al presentar a la entrada de la red el vector
Ek:
Install Equation Editor and double-
click here to view equation.
Por ejemplo, en el caso de una red (Fig. 7.18) con 2 neuronas de entrada (N=2), 3
ocultas (P=3) y 4 de salida (M=4), que se entrena con 3 informaciones de entrada
E1=[e1(1),e2(1)], E2=[e1(2),e2(2)], E3=[e1(3),e2(3)], y con unas salidas deseadas para cada uno de esas
entradas: D1=[d1(1),d2(1)], D2=[d1(2),d2(2)], D3=[d1(3),d2(3)], después de la fase de aprendizaje, la
red haría las veces de una tabla que se puede utilizar para que, durante la fase de
funcionamiento, ante una entrada nueva, busque en su interior el valor (salida) del registro
de la tabla cuya clave es la más parecida a dicha entrada. Esa tabla tendría el siguiente
aspecto:
TABLA DE BUSQUEDA
CLAVE VALOR
Wj = [w1j, w2j] Vj = [vj1, vj2, vj3, vj4]
Figura 7.19 Representación de las informaciones de entrada (E1...E6) y de los pesos (W1...W3)
de las conexiones entre las 2 neuronas de entrada y las 3 ocultas.
Los promedios de las salidas deseadas se almacenarían en los pesos del Perceptrón
de salida:
Con lo que la tabla de búsqueda que representa lo que almacena la red sería:
TABLA DE BUSQUEDA
CLAVE (W) VALOR (V)
Una alternativa a los modelos neuronales descritos en los capítulos anteriores son las redes
estocásticas, con neuronas que tienen función de activación no determinista, cuya salida se obtiene de
forma probabilística y con mecanismos de aprendizaje también estocásticos, basados en la idea de
seleccionar de forma aleatoria valores para los pesos de las conexiones y comprobar su efecto en la
salida de la red.
Como ocurre con las redes con aprendizaje supervisado, como Back-Propagation, y en redes
con aprendizaje no supervisado de tipo Hebbiano, como el modelo de Hopfield, las estocásticas también
pretenden conseguir alcanzar el mínimo de la correspondiente función de error o de energía asociada.
Aunque, en este caso, para conseguir evitar los mínimos locales, se recurre a un símil termodinámico de
la mecánica estadística considerando la red como si de un cuerpo o material real se tratara, compuesto
por un elevado número de partículas elementales (átomos, moléculas, etc.) con estado energético
individual estocástico; de tal forma que la adopción de un estado de alta o de baja energía por parte de
cada partícula dependerá de cierta distribución de probabilidad. La energía libre global del material es
una combinación de estas energías individuales, de la entropía (grado de desorden entre las partículas) y
de la temperatura del material; el cual siempre permanece en equilibrio, a pesar de la actividad individual
de sus partículas, buscando un estado de mínima energía.
En el caso de las redes neuronales, las neuronas podrían asociarse a las partículas individuales
con un comportamiento individual estocástico (inestable), y la energía global del material tendría
relación directa con la función de energía de la red, en el caso de redes con aprendizaje Hebbiano, o con
la función de error, para buscar la situación mas estable, de mínima energía, ante diferentes valores de
entrada a la red. Para ello se utiliza, tanto durante la fase de aprendizaje como durante la de
funcionamiento, una técnica conocida como enfriamiento o temple simulado (simulated annealing) de la
red que, partiendo de un estado inicial de alta temperatura y gran desorden interno, simule un
"enfriamiento" progresivo de la misma que ayude a encontrar un estado estable en el mínimo global de la
función de Energía.
La red más conocida que responde a este funcionamiento estocástico es la denominada máquina
de Boltzmann, ideada por Hinton, Ackley y Sejnowski [Hinton 84], que es capaz de realizar tareas de
auto y heteroasociación de patrones utilizando, en unos casos, una combinación del aprendizaje
Hebbiano y el temple simulado y, en otros, su combinación con un aprendizaje de tipo supervisado.
Otra arquitectura (Fig. 8.1(b)), denominada Boltzmann Input-Output Network [Freeman 91],
considera las neuronas visibles estructuradas en dos capas, una de entrada y otra de salida, con las
neuronas ocultas en una capa intermedia; existiendo conexiones hacia delante (feed-oward) entre la capa
de entrada y la oculta, y entre la de entrada y la de salida; conexiones laterales entre las neuronas ocultas
y las de salida; y conexiones en los dos sentidos (feedfoward-feedback) entre la oculta y la de salida.
VIII. Redes estocásticas. 8.1
Otros autores [Simpson 90][Maren 90] utilizan una arquitectura sólo con conexiones hacia delante
(Boltzmann Feedfoward Network) (Fig. 8.1(c)), similar a un Perceptrón de tres capas.
Estas son algunas de las más comunes, pero también existe la posibilidad de utilizar cualquier
otra estructura obtenida a partir de las anteriores; por ejemplo. en la arquitectura (b) de la figura 8.1 se
podrían anular las conexiones directas entre la capa de entrada y de salida.
Excepto en el caso particular de la versión con arquitectura Feedfoward (Fig. 8.1(c)), cuyo
funcionamiento es determinista e idéntico al de un Perceptrón multicapa, la Máquina de Boltzmann es
una red con funcionamiento y aprendizaje estocásticos. Sus neuronas son binarias con dos valores de
salida posibles (0 ó 1). A diferencia de las utilizadas en las redes tratadas en capítulos anteriores, que
tenían una función de activación determinista, en éstas la salida es función estocástica de su entrada neta.
Es decir, a partir de la entrada neta, sólo se puede estimar la probabilidad de activación de la salida
(probabilidad de que valga "1" o de que sea "0"), por ejemplo, según las siguientes expresiones:
Suponiendo calculados los pesos de las conexiones entre neuronas, cuyo método se describe con
detalle en el siguiente apartado, se podrían utilizar la máquina de Boltzmann como memoria asociativa
(auto o hetereoasociativa) para, dado un patrón de entrada, generar el patrón correspondiente de salida
que será, de los almacenados en la red, el más parecido al de entrada, en el caso de funcionar como
autoasociativa (Fig. 8.1(a)); o para determinar la salida más parecida a la deseada para el patrón de
entrada, en el caso de funcionar como heteroasociativa (Fig. 8.1(b)). En cualquier caso, de lo que se trata
con la red es de obtener una salida con un error mínimo. Si se hace, como ocurría con la red Hopfield,
una equivalencia entre la función de error y una función de Energía de la red (mediante un operador de
Lapunov), habrá que de conseguir que la red se estabilice en un mínimo de dicha función,es decir, en un
estado de mínima energía.
Para facilitar el acceso a este mínimo global, se utiliza el símil termodinámico ya comentado al
principio de este capítulo, considerando la red como un material compuesto de gran cantidad de
partículas (neuronas) en un estado de alta (salida neurona=1) o baja energía (salida neurona =0), que
inicialmente tiene una temperatura elevada y, por tanto, un gran desorden interno, o entropía (que se
pone de manifiesto por el hecho de que los estados de activación (0/1) son equiprobables e
independientes de la entrada neta de la neurona (Fig. 8.2 cuando T tiende a )); y que se va enfriando
progresivamente (temple simulado) hasta alcanzar una situación estable de mínima energía con una baja
temperatura.
Install Equation Editor and double- Install Equation Editor and double-
click here to view equation. 4 click here to view equation. 5
Install Equation Editor and double-
click here to view equation. 6
Una vez establecido el funcionamiento de las neuronas estocásticas y el plan de templado, se
1) Se ajusta el valor de la temperatura. Para ello se aplica alguna de las funciones de templado
indicadas. Inicialmente t=0, con lo que la temperatura inicial es T0.
2) Se inicializan las salidas de todas las neuronas de la red. Las neuronas ocultas con valores
aleatorios pertenecientes al conjunto {0,1} y el resto de neuronas según el siguiente criterio:
a) Si es una red de una sola capa (Fig. 8.1(a)), las neuronas visibles se inicializan con los
valores de los componentes del vector de entrada a la red.
b) Si es de entrada-salida (Fig. 8.1(b)), al utilizarse como memoria heteroasociativa, la salida se
desconoce inicialmente, con lo que se inicializan las neuronas de esta capa con valores aleatorios
{0,1} y las de la capa de entrada con los valores del vector de entrada a la red.
4) Se repite el paso 3 tantas veces como neuronas tenga la red. Descartando las de la capa de entrada
cuya única misión es la de mantener estables (bloqueados) los valores del vector de entrada. Hay que
destacar en este punto que, debido al carácter aleatorio de la elección de neuronas, no puede asegurarse
que todas sean seleccionadas, ya que una puede serlo varias veces.
6) Se incrementa el tiempo y se repite todo el proceso. El tiempo se refiere a las iteraciones del
proceso, inicialmente t=0 y cada vez que se repite se incrementa en una unidad: t=t+1.
VIII. Redes estocásticas. 8.1
La Máquina de Cauchy [Szu 86] es una versión mejorada de la Máquina de Boltzann, con una
arquitectura y funcionamiento idénticos, excepto en lo que concierne a la función de probabilidad y a la
función de temperatura que establece el plan de templado o enfriamiento de la red. Como su nombre
indica, la probabilidad de activación de las neuronas tiene, en este caso, la forma de la distribución de
Cauchy.
En cuanto al templado de la red, la función propuesta por los autores de esta red es:
Las redes que utilizan este tipo de aprendizaje son la Máquinas de Boltzmann y de Cauchy. En
ambos sistemas normalmente se aplica una versión estocástica del aprendizaje Hebbiano, aunque
también puede utilizarse, en el caso de la red feedfoward una versión estocástica de la regla de
aprendizaje del Perceptrón. Se distingue, además, entre fase de entrenamiento y de funcionamiento
(también estocástico y descrito en el apartado anterior), con lo que se trata de un aprendizaje OFF-LINE,
que puede considerarse no supervisado en el caso de la versión monocapa y supervisado en el caso de la
multicapa.
En estas dos redes el mecanismo de aprendizaje sólo difiere en las funciones de templado y
distribución de probabilidad. Para que la siguiente descripción sea válida en ambos casos, se evitará
trabajar con expresiones concretas de probabilidad y temperatura. En la tabla 8.1 se muestran las
diferencias en cuanto a las funciones de probabilidad y temperatura. En este último caso, aunque la
función que se indica es la habitual, también es posible utilizar, sobre todo en la Máquina de Boltzmann,
un templado ad hoc, fijando directamente períodos de tiempo durante los que permanecen constantes
unos valores concretos de temperatura (Fig. 8.4(a)).
Siendo η la cte de proporcionalidad y pij la probabilidad de que estén activadas al mismo tiempo
las neuronas i y j de la red cuando se presentan como entrada los K patrones de entrenamiento, dejando,
cuando se presenta un patrón, evolucionar la red (como se describió en los apartados anteriores) un cierto
número de iteraciones (tmax) hasta que se alcanza el equilibrio térmico de acuerdo con una función de
temperatura como las indicadas en la tabla 8.1. Esta probabilidad se calcula como la frecuencia de
ocurrencia de salida activa ("1") en ambas neuronas:
Install Equation Editor and double-
click here to view equation.
La diferencia entre pij+ y pij- consiste en que para calcular la primera se deja evolucionar la red
bloqueando las salidas de las neuronas visibles de la misma, forzando que durante las tmax iteraciones que
se procesa un vector (patrón) de entrada Ek, los valores de los componentes de este vector permanezcan
invariables en la salida de las neuronas, pudiendo variar sólo las salidas de las ocultas. Por otro lado, para
obtener el valor del término pij- se deja evolucionar libremente la red ante los patrones de entrada
anteriores, permitiendo la variación de los valores de salida de las neuronas visibles.
VIII. Redes estocásticas. 8.1
La justificación del proceso anterior se basa en pretender igualar ambas probabilidades, ya que
no variarán los pesos de la red cuando sean suficientemente parecidas. Lo que se intenta es conseguir
unos valores de pesos tales que cuando la red evolucione con total libertad, tienda hacia una situación de
estabilidad en la que las salidas de las neuronas visibles coincidan con el vector que se presente como
entrada (red autoasociativa).
En definitiva, el algoritmo de aprendizaje detallado sería el compuesto por las siguientes pasos:
1) Se asignan valores aleatorios a todos los pesos en el rango [-1,+1] y a las salidas de las neuronas
ocultas en el conjunto {0,1}. Se introduce el primer (k=1) vector de entrenamiento E1=(e1(1),..,eN(1)),
situándolo en las salidas de las neuronas visibles.
2) Se calcula pij+:
2.1) Comenzando en la primera iteración del proceso de aprendizaje (t=1) y para cada vector de
entrenamiento Ek, desde k=1 hasta K, se hace lo siguiente:
2.1.4) Se repite el paso 2.1.3 tantas veces como neuronas ocultas (P) tenga la red. En las
visibles se mantienen estables (bloqueados) los valores del vector de entrada Ek.
2.1.5) Se incrementa el tiempo (t=t+1) y se repite todo el proceso desde el paso 2.1.2 si no
se ha llegado a la última iteración establecida. Un criterio para decidir cuando finaliza
el proceso consiste en suponer que el sistema alcanza el equilibrio cuando no hay
variación en la energía de la red a causa de ninguna neurona de la misma (ΔEi) en dos
o más iteraciones consecutivas. Este incremento de energía, como se demostrará en el
apartado 8.4, coincide con la entrada neta a la neurona 15.
2.1.6) Se registran datos estadísticos, para el cálculo de pij+. Estos valores son las salidas en
equilibrio de todas las neuronas (s1(k),..,sN(k),sN+1(k),..,sN+P(k)).
2.2) El resultado es :
3) Se calcula pij-:
3.1) Comenzando en la primera iteración del proceso de aprendizaje (t=1) y para cada vector de
entrenamiento Ek, desde k=1 hasta K, se hace lo mismo que en caso anterior, pero
desbloqueando las neuronas visibles, que ahora podrán ser seleccionadas también junto con las
VIII. Redes estocásticas. 8.1
ocultas para determinar su valor de salida.
5) Se repiten los pasos 1 a 4 hasta que Δwij sea cero o suficientemente pequeño, para i=1..N+P, j=1..N+P.
El algoritmo anterior es válido tanto para la Máquina de Boltzmann como la de Cauchy en sus
versiones monocapa. La única diferencia se refiere a la forma de las funciones de distribución de
probabilidad y de temple o enfriamiento de la red a medida que avanza el proceso de aprendizaje. En la
tabla 8.1 se reflejan dichas diferencias.
Algunos autores [Peterson 87] han sugerido las posibilidad de acelerar el proceso de aprendizaje
mediante la utilización de Máquinas de Boltzmann (o de Cauchy) deterministas que evitarían la
necesidad de aplicar técnicas de simulación, como la indicada en la descripción del algoritmo, para
generar los valores de salida de las neuronas en cada instante del proceso de aprendizaje. En lugar de
esto se propone considerar que las salidas generadas en las neuronas, ante una determinada entrada neta,
son valores reales deterministas iguales al valor medio esperado, con lo que se simplifica el cálculo de
las probabilidades pij+ y pij- y, en consecuencia, el ajuste de los pesos de las conexiones de la red. Este
nuevo mecanismo suele conocerse como temple o aproximación de campo medio (Mean Field
Annealing). La expresión matemática de la salida real determinista esperada de una neurona genérica i de
la red con entrada neta neti es la siguiente:
Install Equation Editor and double-
click here to view equation.
El valor concreto dependerá del tipo de red utilizada (Boltzmann o Cauchy) pues las
distribuciones de probabilidad son diferentes:
En el apartado 8.1 se indicó la posibilidad de utilizar redes estocásticas para realizar tareas de
heteroasociación de patrones, que "aprendieran" a relacionar vectores de entrada con vectores de salida
de forma parecida a como lo hace, por ejemplo, un perceptrón multicapa. Para ello, sólo hay que
considerar, en la arquitectura monocapa original, las neuronas visibles divididas en dos tipos, las de
entrada y las de salida, y disponerlas en dos capas diferentes, dejando las neuronas ocultas en otra capa
intermedia (Fig. 8.8).
VIII. Redes estocásticas. 8.1
Figura 8.8 Red estocástica multicapa con conexiones hacia delante y hacia atrás.
La capa de entrada, como es habitual, sólo se utiliza para mantener estables los valores de
entrada a la red, por lo que en esta red la salida de las neuronas de esta capa permanecen bloqueadas
siempre con valores iguales a los del patrón de entrada de cada momento. Por lo demás, el algoritmo de
aprendizaje es exactamente igual que en el caso de la red monocapa, sólo que ahora las neuronas que se
bloquean y desbloquean durante el proceso son exclusivamente las de salida, ya que las de entrada
siempre lo estarán. Así, cuando se calcula pij+, se bloquean las neuronas de salida, mientras que
permanecen libres cuando se trata de obtener pij-.
En este tipo de redes (Fig. 8.9), en las que todas las conexiones entre neuronas son hacia delante
(feedfoward), el algoritmo de aprendizaje puede ser semejante al descrito para las arquitecturas anteriores
[Simpson 90] basado en una versión estocástica del aprendizaje Hebbiano, aunque otros autores [Maren
90] proponen como alternativa más simple una versión estocástica de la regla utilizada por el Perceptrón.
VIII. Redes estocásticas. 8.1
2) Comenzando en la primera iteración del proceso de aprendizaje (t=1) y para cada vector de
entrenamiento Ek, desde k=1 hasta K, se hace lo siguiente.
VIII. Redes estocásticas. 8.1
2.1) Se ajusta el valor de la temperatura aplicando la función correspondiente a la red utilizada:
Máquina de Boltzmann o Cauchy (Tabla 8.1).
2.2) Se presenta a la entrada un patrón Ek y se hace funcionar la red para generar una salida
S=(s1,..,sM).
2.3) Se calcula el error cometido como la diferencia entre la salida obtenida (S) y la deseada (Sk)
asociada al patrón de entrada Ek. Puede utilizarse, por ejemplo, la medida de error LMS (como
en las redes ADALINE o Backpropagation) dada por las expresión:
Install Equation Editor and double-
click here to view equation.
2.4) Se selecciona aleatoriamente cada uno de los pesos de la red, tanto de tipo V como W. Para
cada peso seleccionado:
2.4.3) Si ΔE<0, entonces se acepta el cambio del valor del peso seleccionado. Si ΔE>0,
entonces, aunque en principio parece que habría que rechazar el valor del peso al
suponer un aumento en el error, no siempre será así, ya que puede interesar admitirlo
para poder escapar de un mínimo local de la función de error. Para decidirlo se tiene en
cuenta que se está enfriando la red y que la temperatura actual de la misma es T. Si T
todavía es grande, existirá una gran probabilidad de aceptación del cambio del peso. A
medida que se enfríe será menos probable la aceptación de cambios que supongan un
incremento del error. Para decidirlo se evalúa la probabilidad de modificación del error
(o energía de la red), para lo cual se utiliza la expresión de la función de densidad de
probabilidad de Bolzmann o de Cauchy (obtenidas mediante la derivada de la
correspondiente función de distribución de probabilidad):
Install Equation Editor and double-
click here to view equation.
1) Se asignan valores aleatorios a todos los pesos (w y v) en el rango [-1,+1] y a las salidas de las
neuronas ocultas en el conjunto {0,1}.
2.1) Comenzando en la primera iteración del proceso de aprendizaje (t=1) y para cada pareja de
vectores de entrada Ek=(e1(k),..,eN(k)) y salida Sk=(s1(k),..,sM(k)) que debe aprender a asociar la red,
desde k=1 hasta K (número total de parejas), se hace lo siguiente.
2.1.4) Se calcula el cambio en la energía global de la red a causa de dicho cambio de estado:
Install Equation Editor and double-
click here to view equation.
2.1.5) Si la energía disminuye a causa del cambio, se mantiene éste, pero si aumenta se
mantendrá sólo si la probabilidad (pj) de ese aumento (a la temperatura actual de la red) es
grande. Para ello se genera aleatoriamente un valor x en el rango [0,1] y se compara con la
Install Equation Editor and double-
densidad de probabilidad de Boltzmann click here to view equation. 27 o de Cauchy
Install Equation Editor and double-
click here to view equation. 28, manteniéndose el cambio sólo si la probabilidad calculada
en mayor que el valor generado. En caso contrario se deshace el cambio de estado realizado en
el paso 2.1.3:
Install Equation Editor and double-
click here to view equation.
2.1.6) Se repite los pasos 2.1.3 a 2.1.5 tantas veces como neuronas ocultas (P) tenga la red.
VIII. Redes estocásticas. 8.1
2.1.5) Se incrementa el tiempo (t=t+1) y se repite todo el proceso desde el paso 2.1.2 hasta que
se alcance el equilibrio en el punto de mínima energía global, lo cual ocurre cuando no hay variación de
energía a causa de ninguna de las neuronas ocultas seleccionadas (ΔEj=0).
2.1.6) Se registran datos para estadísticas, para el cálculo de pij+ y qjh+. Estos valores son las
salidas en equilibrio de todas las neuronas ocultas (sno1(k),..,snoP(k)).
2.2) El resultado es
Siendo Cor[a,b] la función correlación entre los valores a y b, de tal forma que si son iguales, el
valor de la función es 1 y cero en caso contrario.
Comenzando en la primera iteración del proceso de aprendizaje (t=1) y para cada pareja de vectores de
entrada Ek=(e1(k),..,eN(k)) y salida Sk=(s1(k),..,sM(k)) que debe aprender a asociar la red, desde k=1 hasta K
(número total de parejas), se hace lo mismo que en el caso anterior, pero con la diferencia de que ahora
como incremento de energía de la red se utiliza la expresión:
5) Se repiten los pasos 1 a 4 hasta que Δwji y Δvhj sean cero o suficientemente pequeños, para i=1..N,
j=1..P, h=1..M.
Si los estados posibles del sistema son limitados, la entropía global se expresaría como la suma
de las entropías multiplicadas por la correspondiente probabilidad (la probabilidad del estado de energía
Em se denota como P(Em))
Install Equation Editor and double-
click here to view equation.
La probabilidad de que un cuerpo tenga una energía Em viene dada por la conocida distribución
de probabilidad enunciada por L. Boltzmann:
En el ámbito de las redes neuronales estocásticas, se utilizarán las expresiones anteriores para
determinar el mecanismo de aprendizaje y funcionamiento de las mismas. En este apartado
comenzaremos el estudio considerando el caso una red con N neuronas visibles y P ocultas dispuestas
según una arquitectura monocapa (Fig. 8.11). Posteriormente se hará lo propio con las multicapa,
compuestas de N neuronas de entrada, P ocultas y M de salida.
VIII. Redes estocásticas. 8.1
Para esta demostración es preciso recordar el concepto de energía de la red, como aquella
función objetivo (o de coste) en cuyos mínimos se encuentran los puntos estables de funcionamiento de
la red. En este caso, como ocurría con el modelo de Hopfield (capítulo 5) su expresión matemática es:
Install Equation Editor and double-
click here to view equation.
Si se evalúa la variación en la energía de la red a causa del cambio en la salida de una (i) de las
N+P neuronas, de tal forma que siendo ésta "1" pasase a ser "0", se obtendría:
Que, como puede comprobarse, coincide con la expresión de entrada neta a dicha neurona.
Con lo que se demuestra que el funcionamiento de las redes estocásticas descrito en el apartado
8.1 tiene una justificación en el ámbito de la mecánica estadística. De igual forma puede demostrarse el
aprendizaje estocástico de estas redes. Para ello se utilizará una notación basada en el uso de los
subíndices α y β para referirnos a cada uno de los posibles estados de activación del conjunto de
neuronas visibles (1,..,N) y ocultas (N+1,..,N+P) de la red respectivamente. Puesto que se trata de
neuronas con valores de salida binarios {0,1}, existirá un total de 2N+P estados posibles de la red, con 2N
estados diferentes para las neuronas visibles y 2P estados para las ocultas.
Según esto, la probabilidad de que las neuronas visibles de la red se encuentren en el estado α,
independientemente de las ocultas, será:
Install Equation Editor and double-
click here to view equation.
Donde αβ representa uno de los 2N+P estados de la red global, considerando tanto las N neuronas
visibles como las P neuronas ocultas. Eαβ es la energía de la red en el estado αβ:
Install Equation Editor and double-
click here to view equation.
Siendo siαβ y sjαβ las salidas de las neuronas i y j de la red respectivamente cuando el estado es
αβ (en este caso los valores de salida de una neurona posibles son {0, 1}, a diferencia del modelo de
Hopfield donde podían ser {-1,+1}). De esta forma, si, por ejemplo, la red tuviera 2 neuronas visibles
(N=2) y una oculta (P=1), y el estado fuese αβ=(110), es decir s1αβ=1, s2αβ=1, s3αβ=0, y los pesos
w12=w21=-0.8, w13=w31=-0.5, w23=w32=0.2, la energía sería:
Install Equation Editor and double-
click here to view equation.
La función de entropía sobre la que se aplica el gradiente descendiente es, en realidad, una
medida relativa, conocida también como divergencia asimétrica (G), que compara las entropías de la red
en dos situaciones diferentes: a) cuando se bloquean las salidas de las neuronas visibles, se trataría
entonces de una entropía que podría denominarse deseada (denotada como H+) al forzar el supervisor
que dirige el aprendizaje la salida que se desea ante el patrón de entrada que se está utilizando; b) cuando
VIII. Redes estocásticas. 8.1
no se establece dicho bloqueo y la red funciona libremente, se trataría de una entropía libre u obtenida
(denotada como H-):
Install Equation Editor and double-
click here to view equation.
Siendo Pα+ y Pα- las probabilidades de que las N neuronas visibles estén en el estado α cuando se
bloquean sus salidas y cuando quedan libres respectivamente, independientemente del estado de las
ocultas.
Por tanto, el ajuste de los pesos se realizará de forma proporcional al gradiente descendiente de
dicha diferencia de entropías (se suprime la constante de Boltzmann k para simplificar la notación):
Install Equation Editor and double-
click here to view equation.
Como
Install Equation Editor and double-
click here to view equation.
Entonces
Install Equation Editor and double-
click here to view equation.
Aplicando las siguientes propiedades (Pβ│α representa la probabilidad de que las neuronas
ocultas estén en el estado β cuando las visibles están ya en el estado α):
Se obtiene
Install Equation Editor and double-
click here to view equation.
Siendo
Install Equation Editor and double-
click here to view equation.
Por tanto, el ajuste de los pesos será proporcional a la anterior expresión obtenida al aplicar el
gradiente descendiente a la entropía relativa.
Install Equation Editor and double-
click here to view equation.
Podemos considerar el término 1/T, donde T es la temperatura de equilibrio del sistema al final
del proceso de templado, incluido en la constante η, con lo que se obtiene finalmente la expresión
general de aprendizaje utilizada en el apartado 8.3 para el entrenamiento de las redes estocásticas.
Existen algunas propuestas de varios autores para mejorar algunos aspectos concretos del
mecanismo de aprendizaje. Por ejemplo, se podría añadir un término de disminución del valor de los
pesos de la red durante la etapa de aprendizaje que acelere el proceso. También se recomienda utilizar
una regla de aprendizaje incremental, sumando un pequeño valor constante a cada peso wij en cada
iteración cuando ambas neuronas (i y j) estén activas (salida "1") durante la fase en la que se bloquean
las neuronas visibles para calcular pij+ y restando este mismo valor cuando las dos neuronas estén activas
durante la fase con todas las neuronas funcionando libremente para calcular pij-. Con ello se consigue
ayudar al algoritmo en el descenso por valles poco profundos de la función de energía o error, evitando
además oscilaciones durante este descenso. Otra recomendación es que cuando algunos estados (α) de
las neuronas visibles de la red hacen cero la probabilidad deseada Pα+, se incremente su valor para
garantizar que se pueda llegar en algún momento a un valor de la probabilidad Pα- igual al anterior (con
una temperatura mayor que cero) y finalice así el proceso de aprendizaje [Hertz 91].
La demostración anterior se ha basado en una red con arquitectura monocapa, aunque también es
válida para el caso de la arquitectura multicapa con conexiones feedback que diferenciaba entre neuronas
visibles de entrada y de salida. La única diferencia consiste en que el bloqueo y desbloqueo de neuronas
para calcular pij+ y pij- se refiere sólo a las de salida, ya que las de entrada siempre están bloqueadas. En
VIII. Redes estocásticas. 8.1
este caso habría que tener en cuenta que manteniendo la anterior notación α se referiría a uno de los 2N+M
estados posibles del total de neuronas visibles (N de entrada y M de salida). Se puede, no obstante,
realizar un cambio de notación para distinguir entre el estado α de las neuronas de entrada (con un total
de 2N posibles) y el estado γ de las de salida (con un total de 2M posibles). Entonces la entropía relativa
se debería expresar de la siguiente forma:
Install Equation Editor and double-
click here to view equation.
En cuanto a las redes con arquitectura multicapa con conexiones feedfoward (hacia delante),
como el Perceptron, y funcionamiento determinista a las que se aplica un aprendizaje estocástico (apdo.
8.3.3) para la determinación de los pesos de las conexiones entre capas entrada-oculta (w) y oculta-salida
(v) tendríamos lo siguiente:
En este caso, la función de entropía relativa que se minimiza es una medida de la diferencia
entre los estados (β) de las neuronas ocultas y los de las neuronas de entrada (α) y salida (γ):
Install Equation Editor and double-
click here to view equation.
Siendo Pβ la probabilidad del estado β en las neuronas de la capa oculta y Qγ la probabilidad del
estado γ en la capa de salida de la red.
Aplicando el operador gradiente descendente a esta función y considerando que el ajuste de los
pesos es proporcional a dicho gradiente, se llega a obtener los siguientes resultados:
VIII. Redes estocásticas. 8.1
Que coinciden con las utilizadas en el apartado 8.3 cuando se describió el aprendizaje de este
tipo de redes.
Finalmente, indicar que en las demostraciones que se han realizado en este apartado se ha
supuesto que la distribución de probabilidad de las redes era la de Boltzmann. En el caso de la
distribución de Cauchy se procedería de forma similar.
VIII. Redes estocásticas. 8.1
Las redes estocásticas, en sus diferentes versiones (Máquinas de Boltzmann y Cauchy), se han
utilizado, aunque en menor medida que los modelos de Hopfield y Back-propagation, debido, sobre todo
a su lentitud, en aplicaciones relacionadas con el reconocimiento de patrones, procesamiento de voz y de
imágenes, procesamiento de conocimiento [Touretzky 88] y para resolver problemas de optimización
[Gutzmann 87].
En general, si su arquitectura es monocapa, este tipo de redes se puede utilizar en las mismas
aplicaciones que el modelo de Hopfield: servir como memoria autoasociativa que permita reconocer y
reconstruir informaciones (imágenes, voz, datos) distorsionadas e incompletas o para resolver problemas
de optimización, planteados en términos de la función energía de la red. Cuando la arquitectura es
multicapa, su uso puede ser mas general, en aplicaciones semejantes a las que utiliza el Perceptron
multicapa con aprendizaje Backpropagation, como sistemas capaces de aprender a relacionar
informaciones de entrada con otras diferentes de salida (heteroasociación), que puedan ser utilizados
para tareas de clasificación, compresión y descompresión de datos, control de sistemas, predicción,
codificación, transformación de la información (por ejemplo, de texto manuscrito a caracteres ASCII, o
de texto a voz), etc.
Aunque se han utilizado en aplicaciones como las descritas, las redes estocásticas son
especialmente útiles para solucionar problemas de optimización, pues mediante su funcionamiento
basado en el mecanismo del temple o enfriamiento simulado se permite alcanzar el mínimo global de la
función energía (en este caso entropía) de la red, que podría asociarse a la función objetivo (o de coste)
del problema a resolver, obteniendo unos valores para los pesos de la red, como se hizo en el capítulo 5
con el modelo de Hopfield, en función de los parámetros del problema. De esta forma se pueden
solucionar, por ejemplo, los mismos problemas planteados en aquel capítulo: Vendedor Viajero
(Resuelto en [Szu 90b] mediante la Máquina de Cauchy), bipartición de grafos, emparejamiento
ponderado, etc.
El motivo principal por el que no se ha generalizado el uso de las redes estocásticas, limitándose
éste a la resolución de algún problema de optimización específico, a pesar de poder ser utilizadas en una
amplia gama de posibles aplicaciones, se debe, sin duda, al excesivo tiempo necesario tanto durante la
etapa de aprendizaje como durante la de funcionamiento debido al enfriamiento simulado de la red,
precisando un tiempo mucho mayor que en caso de otras redes más utilizadas (Hopfield y
Backpropagation) para obtener resultados similares. Aunque éste es el principal motivo, también podría
considerase como tal el hecho de utilizar un mecanismo de operación con una cierta complejidad y no
tan intuitivo como en el caso de otras redes.
IX. Redes Neuronales y Lógica Borrosa. 9.1
En la década de los veinte de este siglo, J. Lukasiewicz desarrolló los principios de la lógica
multivaluada, cuyos enunciados pueden tener valores de verdad comprendidos entre el 0 (FALSO) y el 1
(CIERTO) de la lógica binaria clásica. Por ejemplo, el enunciado "El vaso está lleno", en lógica binaria
tendría el valor de verdad 1 (CIERTO) si el recipiente contiene tanto líquido como su capacidad máxima
admite; por el contrario, si el vaso contiene el 90% de su capacidad total, el enunciado sería falso, con
valor de verdad 0. En tal caso, aunque falso, parece evidente que es casi cierto, puesto que casi está lleno.
La lógica multivaluada permitiría asignar diferentes grados de certeza, de esta forma, si el vaso está al
90% de su capacidad, el valor de verdad del enunciado sería 0.9 (casi CIERTO), mientras que si
contiene, por ejemplo, un 10% de líquido el valor de verdad sería 0.1 (poco CIERTO).
Por tanto, en lógica borrosa se trabaja con conjuntos, que se definen por sus funciones de
pertenencia, que se denotan como μC(x) e indican el grado de pertenencia (entre 0 y 1) del elemento con
valor "x" al conjunto "C". Por ejemplo, se podrían tener tres conjuntos de tipos de tallas de personas que
tuvieran valores dentro de los siguientes rangos:
Las funciones de pertenencia a estos conjuntos borrosos podría tener la forma indicada en la Figura
9.1(a). En este caso, una persona con una talla de 155 cm pertenecería en un 50% (μBAJA(155)=0.5) al
conjunto de personas BAJAS y en un 25% (μNORMAL(155)=0.25) a las de tamaño NORMAL. En
contraposición con los conjuntos borrosos, en lógica binaria tradicional (también conocida como crisp
logic) se utilizan los denominados conjuntos no borrosos (conjuntos crisp), donde los grados de
pertenencia son binarios (0 ó 1) como se muestra en el ejemplo de la Figura 9.1(b).
Figura 9.1 (a) Conjuntos borrosos. (b) Conjuntos no borrosos (crisp sets).
En lógica borrosa las operaciones entre conjuntos se plantean en forma de operaciones borrosas
entre sus funciones de pertenencia. Las más utilizadas son las de Unión (U), Intersección () y
Complemento () para los conjuntos y las correspondientes suma lógica borrosa (), producto lógico
borroso () y negación borrosa para las funciones de pertenencia, .
Así, estas operaciones aplicadas sobre dos conjuntos borrosos A y B con sendas funciones de
pertenencia μA y μB serían:
Install Equation Editor and double-
click here to view equation.
Entre la lógica borrosa y las redes neuronales puede establecerse una relación bidireccional, ya
IX. Redes Neuronales y Lógica Borrosa. 9.1
que es posible, por ejemplo, utilizar redes para optimizar ciertos parámetros de los sistemas borrosos,
pero también se puede aplicar la lógica borrosa para modelar un nuevo tipo de neurona especializada en
el procesamiento de información de este tipo.
Una neurona borrosa puede modelarse como una unidad de procesamiento que recibe unas
señales borrosas de entrada a través de unas sinápsis borrosas, siendo la entrada el producto borroso de la
salida de la neurona anterior por el peso borroso de la conexión. La entrada neta de la neurona no se
obtiene como la suma aritmética de las entradas, sino como la suma borrosa de las mismas (Fig.9.3).
La expresión matricial de las entradas netas de todas las neuronas de una misma capa puede
calcularse mediante el operador borroso denominado composición ():
Una posible utilidad de este tipo de redes, es servir de memoria asociativa (FAM: Fuzzy
Associative Memory) para almacenar y evaluar las reglas de control en un sistema borroso. El
mecanismo de aprendizaje, tal como se describirá en el apartado 9.5, también utiliza operadores borrosos
para la obtención de los pesos, siendo una adaptación borrosa de la regla de Hebb, conocido como
aprendizaje Hebbiano borroso.
Además de poder utilizar redes con neuronas borrosas como las anteriores, con algoritmo de
entrenamiento borroso, también existe la posibilidad de utilizar esta lógica para conseguir versiones
borrosas de algoritmos convencionales que funcionen sobre redes con neuronas no borrosas. Por
ejemplo, podría ser interesante estudiar la posible utilidad de una versión borrosa de la regla delta del
Perceptrón para utilizar esta red en aplicaciones de clasificación borrosa (con fronteras entre clases poco
nítidas). En este caso, la estructura de la red es la ya conocida y descrita en el capítulo 4. En la figura 9.4
se muestra un Perceptrón con dos entradas y otra con valor fijado a "1" para representar el umbral (wo)
de la función de activación escalón de la neurona. Esta red es capaz de clasificar patrones de entrada, que
pueden considerarse puntos del plano, con un hiperplano lineal de separación de las dos clases (A y B)
posibles. El problema del Perceptrón es que no es siempre posible encontrar una recta que deje a un lado
todos los elementos de un tipo (cruces en la figura 9.4) y al otro todos los del otro tipo (círculos). Por
ejemplo, en la figura hay dos puntos (círculo y cruz) que, siendo de una clase han quedado situados en la
zona de la clase opuesta.
Una posible solución a este problema consiste en utilizar un perceptrón multicapa que permita
establecer hiperplanos de separación no lineal. Sin embargo, también es posible utilizar el Perceptrón
elemental y utilizar un algoritmo de aprendizaje borroso que permita establecer una frontera borrosa
entre las clases (Fig. 9.5).
IX. Redes Neuronales y Lógica Borrosa. 9.1
Una posible versión borrosa de la regla delta podría ser la siguiente [Moraga 92]:
Existen también versiones borrosas de la regla delta generalizada para Perceptrones multicapa
[Hayashi 92].
IX. Redes Neuronales y Lógica Borrosa. 9.1
En 1985 B. Kosko propuso la posibilidad de utilizar una red neuronal con arquitectura similar a
la de Hopfield, aunque con conexiones autorrecurrentes, como alternativa a la forma tradicional, basada
en la utilización de reglas y hechos, de representación del conocimiento en sistemas expertos [Kosko 86].
Estos sistemas constituyen un pilar básico de la Inteligencia Artificial ya que "permiten obtener una
síntesis de los conocimientos que existen en un determinado campo, así como suministrar las ideas y
decisiones que un especialista, partiendo de aquellos, podría sugerir". Estos sistemas se están utilizando
en la industria como alternativa para la resolución de problemas difícilmente planteables mediante las
técnicas algorítmicas clásicas, como es el diagnóstico médico, económico, etc.
Para el diseño de esta red B. Kosko propuso plantear, en primer lugar, un diagrama causal o
mapa de conocimientos con una serie de nodos que representarían los conceptos relevantes para el
sistema y unas conexiones entre ellos que muestren la relación causal (influencia) entre conceptos. Cada
uno de los conceptos del mapa será un conjunto borroso, por lo que la denominación del diagrama suele
ser Mapa Cognitivo Borroso (FCM: Fuzzy Cognitive Map). Las conexiones entre conceptos tendrán un
valor asociado en el rango [-1,+1] que represente el grado de causalidad (influencia) de un nodo sobre
otro. Si el valor es positivo, indica que ante un incremento en la evidencia del concepto origen aumenta
también el significado, la evidencia o valor de verdad del concepto destino. Si es negativo, ante un
aumento en la evidencia del fuente se decrementa la del destino. Si el valor es 0, no existe conexión y,
por tanto, son conceptos sin relación causal. Para entender lo anterior, se muestra en la Fig. 9.7 el mapa
cognitivo borroso que se puede obtener a partir de la opinión de un experto sobre las relaciones entre
algunos aspectos del Sistema Económico de un hipotético país.
VALORES VALORES
SIMBÓLICOS NUMÉRICOS
En el ejemplo de la figura 9.7, nuestro experto podría opinar, entre otras cosas, que la
disminución del nivel de empleo es causa directa de la conflictividad social, que la estabilidad del
gobierno afecta considerablemente en las inversiones extranjeras, que las leyes de regulación del
mercado laboral afectan a las inversiones privadas, etc.
Si se desea ajustar el mapa a las opiniones de varios expertos, habrá que recabar las valoraciones
de todos ellos y establecer, en consecuencia, los valores definitivos asociados a las relaciones de
causalidad. Para ello, puesto que estas relaciones representan conjuntos borrosos, y lo que se pretende
hacer es la unión de estos conjuntos, se procederá a calcular la suma lógica borrosa de las opiniones de
cada experto. Si, por ejemplo, las opiniones de tres expertos sobre la relación entre las medidas para la
mejora del mercado de trabajo y el nivel de empleo son: (Afectan considerablemente, afecta, tiene un
ligero efecto) = (0.8, 0.6, 0.2), entonces el valor que se utilizará en el mapa de conocimientos borrosos
será el máximo: 0.8.
Se puede utilizar una red neuronal monocapa (fig 9.8) semejante a la red Hopfield, aunque con
conexiones autorrecurrentes y mecanismo de aprendizaje diferente, para implementar mapas de este tipo
y estudiar la evolución del sistema ante entradas que representen los niveles de evidencia de los
conceptos. En esta red las neuronas representarían los conceptos (nodos) de mapa y las conexiones entre
neuronas las relaciones de causalidad entre los conceptos. Los pesos asociados a las conexiones
coincidirían con los valores borrosos de las relaciones causales del mapa. Así wij representaría el valor
de la relación causal entre el concepto Cj y el concepto Ci del mapa. En el caso de implementar el mapa
de la figura 9.7, la matriz de pesos de la correspondiente red de 5 neuronas podría ser:
IX. Redes Neuronales y Lógica Borrosa. 9.1
Figura 9.8 Red neuronal para implementar un Mapa Cognitivo Borroso (FCM).
IX. Redes Neuronales y Lógica Borrosa. 9.1
El aprendizaje de la red consiste simplemente en asignar directamente a los pesos los valores
propuestos por el experto en la descripción de las relaciones entre conceptos. Después de esta fase de
aprendizaje, se pasa a la fase de funcionamiento de la red. En este caso, la red puede ser útil para
comprobar la evolución del sistema ante variaciones de los niveles de evidencia de los conceptos.
Por ejemplo, puede interesar conocer el efecto de una fuerte inversión extranjera (en tal caso el
nodo Inversión extranjera sería muy activo, con un valor próximo a la unidad: C1=1) en plena crisis
económica en un país con un gobierno muy inestable (C5=0), sin leyes para la regulación del mercado de
trabajo (C3=0), con una gran conflictividad social (C4=1) y un gran nivel de desempleo (C2=0). En tal
caso, el vector que representa los valores actuales de salida de los conceptos del sistema tendría el
siguiente valor:
Install Equation Editor and double-
click here to view equation.
Si suponemos, para simplificar la evolución del sistema, que las funciones de activación de las
neuronas de la red son de tipo escalón entre 0 y 1, de tal forma que si la entrada neta es negativa la salida
es 0, si es positiva la salida es 1 y si es cero la salida se mantiene invariable. La evolución del sistema a
partir de la situación inicial anterior sería:
Install Equation Editor and double-
click here to view equation.
Por lo que los valores de salida de la red (nivel de evidencia de los conceptos del mapa) si, como
se ha supuesto, las funciones de activación son de tipo escalón, serían:
Se repetiría el proceso hasta alcanzar una situación de estabilidad, lo cual no siempre ocurre,
aunque en este caso si es así:
Puede observarse que, a partir de la tercera iteración, se alcanza una situación que no varía con
el tiempo. Se trata de una situación en la que puede comprobarse que gracias a las inversiones extranjeras
se ha alcanzado una situación de pleno empleo (C2=1), sin crispación social (C4=0) y, en consecuencia,
el gobierno ha alcanzado un alto grado de estabilidad (C5=1). Además, puede comprobarse que no han
sido necesarias leyes específicas de regulación del mercado de trabajo para salir de la crisis (C3=0), pues
parece ser que es suficiente con la inversión extranjera (C1 =1).
La evolución del sistema puede razonarse de la siguiente forma: En t=0 se producen fuertes
inversiones extranjeras que en t=1 consiguen, a través de la relación positiva de causalidad entre ambos
conceptos, mejorar el nivel de empleo, con lo que en t=2 se reduce la conflictividad social; que permite,
en t=3, la plena estabilidad del gobierno y de la situación. En este ejemplo, al trabajar con funciones de
activación del tipo escalón, los conceptos tienen valores binarios [0,1]; si se desea obtener unos niveles
IX. Redes Neuronales y Lógica Borrosa. 9.1
continuos en este rango, habría que utilizar funciones continuas de tipo lineal o sigmoidal.
Cuando se diseña un sistema experto, puede ser interesante recoger las opiniones de varios
especialistas en el tema. En tal caso, como ya se ha comentado, habría que realizar la operación de suma
lógica borrosa (unión de conjuntos borrosos) cuyo resultado es el máximo de los valores. Así, si por
ejemplo la relación de causalidad entre los conceptos Cj y Ci propuestas por M expertos son wij(1), wij(2),
.., wij(M), el valor final del peso wij en la red neuronal sería:
Install Equation Editor and double-
click here to view equation.
En el caso del mapa que se está utilizando como ejemplo, se podrían adaptar los pesos de la red
considerando las opiniones de otro experto. Para ello se realizaría la operación de suma borrosa entre los
valores propuestos por ambos. Suponiendo que la opinión de este segundo experto se recoge en una
matriz W2, los nuevos valores de las relaciones entre conceptos y, por tanto, los nuevos pesos de la red
serían:
Install Equation Editor and double-
click here to view equation.
Install Equation Editor and double-
click here to view equation.
Por último, comentar que aunque el aprendizaje de la red anterior se limitaba a una asignación
directa de valores a los pesos a partir de las opiniones de los expertos, existe una variación de este
modelo de red que utiliza un algoritmo de aprendizaje de tipo Hebbiano diferencial para aquellas
situaciones en las que no se disponga de las opiniones del experto pero sí de valores obtenidos a partir de
la observación del entorno en el que va a funcionar el sistema. Por ejemplo, se puede recoger datos
durante varios años sobre los valores de niveles de empleo, inversiones etc, en fechas concretas. Esa
información recopilada sería el conjunto de patrones de entrenamiento de la red neuronal, formado por
vectores Ek que contienen los valores borrosos de los M conceptos en un instante k.
Siendo Ci y Cj los valores de salida (conceptos del mapa) de las neuronas i y j, y f la función de
activación de dichas neuronas. El ajuste del peso de la conexión entre las neuronas (es decir, el valor de
la relación de causalidad entre dos conceptos) ante un nuevo vector de entrada Ek se realiza como la
correlación (producto) entre las variaciones que se producen en las salidas de las neuronas
correspondientes. En realidad, lo que se quiere conseguir es que si la variación entre dos instantes de
tiempo de los niveles de evidencia de dos conceptos se realiza en el mismo sentido (ambos aumentan o
ambos disminuyen) se debe producir un reforzamiento de la relación de causalidad (peso) entre ambos,
mientras que si se realiza en diferente sentido (cuando uno aumenta el otro disminuye), esta relación se
IX. Redes Neuronales y Lógica Borrosa. 9.1
debilita.
IX. Redes Neuronales y Lógica Borrosa. 9.1
9.4.- SISTEMAS DE CONTROL BORROSO.
Una de las principales aplicaciones de la lógica borrosa es el diseño de sistemas de control que, a
partir de unas entradas, deben generar unas salidas para actuar sobre determinados mecanismos. Un
ejemplo podría ser el sistema de control para regular la velocidad de un ventilador en función de la
temperatura ambiente. En este caso, la única entrada del sistema sería el valor de la temperatura, por
ejemplo en grados centígrados y la única salida el valor, en revoluciones por minuto (rpm), de la
necesaria velocidad del ventilador para conseguir una temperatura ideal.
En 1980 la empresa danesa F.L. Smidth & Company utilizó por primera vez un sistema borroso
para supervisar el funcionamiento de un horno de cemento. En 1987, la empresa japonesa Hitachi
desarrolló un sistema borroso para el control del metro de la ciudad de Sendai. Esta empresa comprobó
que un sistema de control borroso era superior a uno convencional, especialmente en lo que respecta a la
mayor suavidad en las operaciones de frenado y aceleración de los trenes, lo que aumentaba el confort de
los viajeros y, sobre todo, reducía el consumo de energía eléctrica. El rendimiento comprobado en este
sistema fue tal que en en doce meses, más de 50 empresas japonesas estaban trabajando para desarrollar
tecnologías basadas en lógica borrosa, utilizando este tipo de lógica para hacer funcionar cientos de
aparatos electrodomésticos (hornos, lavadoras, coches, etc.) y otros productos electrónicos de todo tipo
(computadores, cámaras, etc..), alcanzando en 1992 una facturación de casi dos mil millones de dólares
en este tipo de productos [Kosko 93]. Aunque la lógica borrosa se utiliza sobre todo para el diseño de
controladores, existen otras aplicaciones de esta tecnología. En la tabla 9.2 se muestran algunas de ellas.
Los motivos por los que se empieza a utilizar la lógica borrosa en los controladores se refieren,
sobre todo, a su simplicidad, ya que no requiere constructores matemáticos complejos (no es preciso
conocer la expresión algebraica exacta que gobierna el funcionamiento del sistema), permitiendo, en
cambio, diseñar mediante la descripción del funcionamiento con lenguaje natural y facilitando también
IX. Redes Neuronales y Lógica Borrosa. 9.1
las tareas de prueba y mantenimiento del sistema. Otra característica de los sistemas borrosos son su
mayor suavidad en el control que en el caso de sistemas convencionales y su posible combinación con
tecnologías clásicas ya establecidas y con otras más modernas, como las redes neuronales.
Estos conjuntos pueden considerarse borrosos si se supone que los valores de temperatura que
IX. Redes Neuronales y Lógica Borrosa. 9.1
contienen no pertenecen en el mismo grado al conjunto. En este caso, es evidente que una temperatura de
20C es menos FRESCA que una de 15C, con lo que la primera pertenecerá en menor grado que la
segunda al conjunto de temperaturas FRESCAS. De hecho, la primera (20C) también puede
considerarse como AGRADABLE, ya que pertenece a este conjunto, aunque en menor medida que otra,
por ejemplo, de 23C que sería la más AGRADABLE, al ser la temperatura ambiente ideal.
Como se indicó en el apartado 9.1, cuando se trabaja con conjuntos borrosos como los anteriores
hay que establecer unas funciones de pertenencia de los elementos a los diferentes conjuntos; lo cual
permite determinar, a partir del valor de un elemento, su grado de pertenencia al conjunto, siendo éste un
valor real normalizado entre 0 (no pertenece en absoluto) y 1 (pertenece al 100%). Esta función se
denota como μ(x), siendo x el valor del elemento. Las funciones de pertenencia deben definirse en base a
la experiencia o la intuición o simplemente utilizando el sentido común, y suelen tener forma triangular,
trapezoidal o gausiana; a diferencia de las funciones escalón que se utilizan cuando se trabaja en lógica
binaria (crisp logic) con conjuntos no borrosos (crisp sets). En la figura 9.10 se muestran algunas formas
posibles para la función de pertenencia a un conjunto de temperaturas AGRADABLES.
Según esta figura, si la temperatura ambiente, de entrada al sistema, fuese de 15C, se trataría de
una temperatura totalmente FRESCA. En cambio, si fuese de 16C, sería un 83% FRESCA; mientras
que 18C se podría considerar como FRESCA (en un 50%) o como AGRADABLE (en un 17%).
En el ejemplo de las temperaturas, si x=18C, los grados de pertenencia serían (Fig. 9.11):
Para gobernar el comportamiento del sistema, el diseñador debe establecer una serie de reglas de
la forma SI-ENTONCES para indicar la acción a realizar en función del conjunto al que pertenece la
entrada al sistema. La forma general de una regla es:
R: SI (x es A) ENTONCES (y es C)
R: A -> C R: (A;C)
La primera parte de la regla ("SI") se denomina antecedente y contiene una o varias condiciones
referidas a si cada una de las entradas del sistema pertenece a tal o cual conjunto borroso. La segunda
parte ("ENTONCES"), denominada consecuente, contiene los nombres de los conjuntos borrosos a los
que deben pertenecer las salidas del sistema si se cumple el antecedente correspondiente.
En el caso del ejemplo del control de la velocidad de un ventilador, para poder establecer las
reglas, es preciso realizar una división del dominio de posibles valores de salida, en este caso velocidades
de rotación, creando una serie de conjuntos borrosos, de forma similar a como se hizo con la temperatura
de entrada. En la figura 9.12 se muestran estos conjuntos para la velocidad, que se han denominado de la
siguiente forma: PARADO, incluye las velocidades entre 0 y 20 rpm; LENTA, con velocidades en el
rango 10 rpm-30 rpm; MEDIA = {20..40}; RÁPIDA = {30..50}; y MÁXIMA = {40..60}.
IX. Redes Neuronales y Lógica Borrosa. 9.1
Una vez establecidos los conjuntos, se pueden crear las reglas de control que determinen el tipo
de velocidad en función de la temperatura. Estas reglas podrían ser:
Estas reglas componen lo que se denomina Base de Reglas del Sistema. Su evaluación consiste
en determinar qué regla (o reglas) se activará ante un determinado valor de entrada. Para averiguarlo se
parte del grado de pertenencia de dicho valor a cada uno de los diferentes conjuntos borrosos del
dominio de entrada. En el ejemplo anterior, para una temperatura de 18C, los grados de pertenencia
eran μFRESCA(18)=0.5, μAGRADABLE(18)=0.17 y el resto cero; por lo que es evidente que se activarían (o
dispararían) las reglas 2 y 3, ya que esa temperatura es FRESCA (50%) y AGRADABLE (17%).
A cada regla Ri:(Ai;Ci) se le asocia un valor denominado peso que, en principio, coincide con el
grado de pertenencia de la entrada (x) al conjunto indicado en el antecedente (μAi(x)). Este peso será el
que permitirá establecer el grado de pertenencia de la salida (y) del sistema al conjunto indicado en el
consecuente de la regla (μCi(y)).
Para calcular el peso asociado a cada una de estas reglas, se aplican los operadores producto y
suma lógica borrosa presentados en el apartado 9.1.
Si se tienen combinaciones de ambas operaciones, se aplicará el criterio por partes. Por ejemplo:
Finalmente, en el caso de sistemas con más de una salida, el grado de pertenencia de la salida a
un conjunto se corresponderá con el mayor peso de todas las reglas en cuyo consecuente aparezca el
conjunto:
Una vez ponderadas las reglas que van a gobernar el funcionamiento del sistema, se procede a la
defuzzificación de las salidas.
Existen varias técnicas de defuzzificación. En este apartado se describen tres de las más
utilizadas, denominadas método del centroide, método del semifallo y método de la media ponderada.
Es la más utilizada. Consiste en crear, para la salida del sistema, una función de pertenencia a un
nuevo conjunto obtenido como unión de aquellos a los que pertenece parcialmente el valor de salida.
Esta nueva función puede calcularse mediante la suma de las funciones de pertenencia de estos
conjuntos, pero multiplicadas aritméticamente por el grado de pertenencia de la salida al subconjunto,
que ya fue calculado en la fase anterior de evaluación de las reglas de control. Si, por ejemplo, se han
activado dos reglas (Ri y Rj), obteniéndose que la salida (y) pertenece a los conjuntos Ci y Cj en los
grados dados por los pesos de las correspondientes reglas, entonces la función de pertenencia del nuevo
conjunto C, unión de los anteriores sería:
μC(y) = min (Peso Regla Ri, μCi(y)) + min (Peso Regla Rj, μCj(y))
En el caso del ejemplo del ventilador, si la temperatura es de 18ºC, se activaron las reglas 2 y 3,
correspondientes a velocidades LENTA y MEDIA con pesos 0.5 y 0.17 respectivamente; por lo que el
nuevo conjunto de valores de salida, unión de los anteriores, se calcularía sumando las funciones
sombreadas en la figura 9.13(a) si se sigue el primer criterio (producto aritmético) y sumando las de la
figura 9.13(b) si se utiliza el segundo (producto lógico borroso).
IX. Redes Neuronales y Lógica Borrosa. 9.1
Figura 9.13 Obtención de la función de pertenencia del nuevo conjunto de valores de salida:
(a) Producto aritmético. (b) Producto lógico borroso.
Así, en el segundo de los casos (producto lógico borroso), si se calcula dicha suma, la función de
pertenencia global sería la mostrada en la Fig. 9.14.
Install Equation Editor and double-
click here to view equation.
Una vez obtenida la función de pertenencia global, se calcula el valor exacto de la salida como el
centroide (centro de gravedad) de esta función (Fig. 9.14), mediante la expresión general:
IX. Redes Neuronales y Lógica Borrosa. 9.1
En el caso de trabajar con valores de salida discretos, las integrales se podrían substituir por
sumatorios en el rango de los n valores posibles para la salida:
Install Equation Editor and double-
click here to view equation.
Existe otra forma de obtener este valor, ya que puede demostrarse que la expresión anterior es
equivalente a otra en la que el numerador se exprese como la suma de los productos del centroide de
cada subconjunto, que al tener funciones de pertenencia simétricas coinciden con su centro geométrico,
multiplicado por el área encerrada por la función; y el denominador como la suma de las áreas de ambos
subconjuntos:
Install Equation Editor and double-
click here to view equation.
Se trata de un sencillo cálculo del promedio entre los valores de salida que se obtendrían para
cada uno de los conjuntos borrosos multiplicados (ponderados) por el peso de la correspondiente regla o
grado de pertenencia al subconjunto.
IX. Redes Neuronales y Lógica Borrosa. 9.1
En 1987 [Kosko 87a] B. Kosko propuso un modelo de red neuronal que permitiera ser utilizado
como memoria asociativa para el almacenamiento de reglas de control de un sistema borroso. Esta red,
también conocida como FAM (Fuzzy Associative Memory), tiene una arquitectura como la indicada en la
figura 9.15.
Este tipo de redes pueden considerarse compuestas por dos subredes independientes, con
conexiones feed-foward, si se tiene en cuenta que cada una de las capas de neuronas puede funcionar
como entrada o como salida (Fig. 9.16). Cuando se utiliza la capa A como entrada, se trata de una red
asociativa que, a través de los pesos W, genera como salida C el patrón asociado al de entrada (Fig.
9.16(a)). Cuando la capa de entrada es C, se genera como salida a través de los pesos V el patrón
asociado al de entrada B (Fig. 9.16(b)).
IX. Redes Neuronales y Lógica Borrosa. 9.1
Figura 9.16 Subredes que componen los modelos BAM, TAM y FAM.
NEURONAS NEURONAS
RED W wij CAPA A CAPA C
Los pesos de las conexiones de las neuronas de la capa C hacia las de la A son iguales a los de
las conexiones de A hacia C. Es decir vij=wji, con lo que la matriz de pesos V coincidiría con la
transpuesta de W: V=WT.
Una vez finalizado el "aprendizaje", se pueden utilizar estas redes como memorias asociativas
para recuperar la información que almacenan. Para ello habrá que presentar a la entrada de la red un
vector A ó C, que se corresponda exacta o parcialmente con alguno de los utilizados en el entrenamiento.
La red generará como salida el correspondiente vector C ó A que internamente está asociado al de
entrada. Este funcionamiento se refleja en la tabla 9.4, donde se muestran las entradas netas a las
neuronas de salida en ambos casos (cuando se introduce el valor de A y se quiere recuperar C y
viceversa) y los correspondientes valores de salida. Puede comprobarse que las funciones de activación
de las neuronas en las redes BAM y TAM son de tipo escalón, mientras que en la red FAM es de tipo
lineal, con lo que la salida coincide con la entrada neta.
IX. Redes Neuronales y Lógica Borrosa. 9.1
Install Equation Install Equation Edito Install Equation E Install Equation Edito
click here to vie click here to view equ click here to view click here to view equ
BAM AW 34 35 CWT 36 37
Install Equation Install Equation Edito Install Equation E Install Equation Edito
click here to vie click here to view equ CWT click here to view click here to view equ
TAM AW 38 39 = 40 41
A'WT
Install Equation Editor and double- Install Equation Editor and double-
click here to view equation. click here to view equation. 43
FAM AW 42 CWT
En cuanto a la red FAM, se trata de una memoria asociativa que utiliza el operador
lógico borroso denominado "composición" () tanto en el aprendizaje como durante su
funcionamiento (Tablas 9.3 y 9.4). Esta red es útil para almacenar una regla de control borrosa
como las descritas en el apartado anterior:
Por tanto, los conjuntos borrosos estarían formados por los siguientes valores discretos:
* TEMPERATURA:
FRESCA={15,18,21} AGRADABLE={18,21,24,27} CALIDA={27,30}
IX. Redes Neuronales y Lógica Borrosa. 9.1
* VELOCIDAD:
LENTA={20,25,30} MEDIA={20,25,30,35,40} RAPIDA={30,35,40}
Figura 9.17 Conjuntos borrosos discretizados para (a) las temperaturas y (b) las velocidades.
Si se desea utilizar una red FAM (Fig. 9.18) para almacenar una de estas reglas, por
ejemplo la 2, se procederá de la siguiente forma: se crean los vectores A y C para registrar la
forma de las funciones de pertenencia del conjunto del antecedente (temperatura
AGRADABLE) y del consecuente (velocidad MEDIA) respectivamente. Estos vectores
contienen los valores de las correspondientes funciones para cada una de las temperaturas y
velocidades en que se han discretizado estos dominios. En el caso de la temperatura, puede
comprobarse a través de la figura 9.17(a) que estos valores son:
Para las velocidades, según la figura 9.17(b), los grados de pertenencia de los valores
discretos al conjunto de velocidad MEDIA serían:
Por tanto, los vectores A y C que se utilizarán en la fase de aprendizaje de la red FAM
serán:
A = (a1, a2, a3, a4, a5, a6) = (0, 0.17, 0.67, 0.83, 0.33, 0)
C´= EA W
Siendo SCi el grado de pertenencia de la muestra i-ésima del rango de valores discretos
IX. Redes Neuronales y Lógica Borrosa. 9.1
en que se ha dividido el dominio de salida al nuevo conjunto global C:
SCi = μC(yi)
Este valor coincidirá con la salida de la neurona i de la nueva capa de neuronas (SUM)
que se ha añadido a la batería de redes FAM (Fig 9.20).
REGLA i: Ai Ci
SI (x es Ai) ENTONCES (y será Ci)
Tabla 9.5 Reglas y funciones de pertenencia de los conjuntos borrosos del ejemplo.
Los pesos (W2) de la red FAM2 ya se calcularon anteriormente. Los de las redes FAM1 y
FAM3 se obtendrían de igual forma:
Los pesos de las conexiones entre las neuronas de salida de la batería de redes FAM y
las neuronas de la capa final (SUM) del módulo de evaluación de reglas se van a fijar a valor
"1"; lo que quiere decir que se va a dar la misma importancia a todas las reglas almacenadas.
Una vez calculados todos los pesos de la red, se puede comprobar el funcionamiento
global del sistema de control, analizando qué salida generaría ante una entrada concreta. Por
ejemplo, se puede suponer una temperatura de entrada de 18C (x=18). En primer lugar este
valor pasaría al módulo de fuzzificación de la figura 9.19. La función de dicho módulo, en este
caso, será la de generar un vector de entrada a la red donde se indique la temperatura discreta
más cercana al valor de entrada. En este ejemplo, los valores discretos posibles que se habían
considerado para la temperatura eran 15C, 18C, 21C, 24C, 27C y 30C, por lo que, como
x=18, es evidente que el más cercano es precisamente el mismo valor. En el vector que se
genera existirán tantas componentes como temperaturas posibles (en este caso 6), número que
será igual al de neuronas de la capa de entrada de las redes FAM. Las componentes de este
vector serán todas cero excepto la que coincida, o sea más cercana, con el valor de entrada (x).
En el ejemplo, si x=18, la componente con valor "1" será la segunda del vector:
EA = ( 0 1 0 0 0 0 )
A continuación, este vector se aplica como entrada a todas las redes FAM de la Base de
Reglas del sistema de control borroso, obteniéndose las siguientes salidas en estas redes:
temperatura es de 18C.
μ(20) = 0.50
μ(25) = 0.67
μ(30) = 0.17
μ(35) = 0.17
μ(40) = 0.00
Para concluir con este apartado, indicar que las redes FAM también pueden utilizarse
en sistemas de control con algunas entradas que utilizan reglas de control con varios
antecedentes. Por ejemplo, en el caso de 2 entradas (x1 y x2), se tendrán reglas de la forma:
En ambos casos, las redes FAMi y FAMj que almacenan las reglas Ri y Rj estarían
compuestas por dos subredes, FAMAiCi y FAMBiCi (Fig.9.23(a)) en el caso de la red FAMi; y
FAMAjCj y FAMBjCj (Fig.9.23(b)) en el caso de la red FAMj, con los pesos siguientes:
Install Equation Editor and double-
click here to view equation.
Figura 9.23 Almacenamiento de reglas con antecedente compuesto: (a) Ri: (Ai Y Bi)-->Ci.
(b) Rj: (Aj O Bj)-->Cj.
A la salida de estas subredes FAM existe una nueva capa de neuronas borrosas con
pesos unitarios y con entradas netas que se obtienen aplicando el operador producto lógico
borroso () a cada una de las sinapsis de entrada a la neurona si en el antecedente de la regla se
utilizó la conjunción (Y); o el operador suma borrosa () si el antecedente de la regla es
disyuntivo (O).
Para ello, será necesario disponer de un gran número de datos a partir de los cuales la
red pueda establecer las relaciones y, en definitiva, las categorías que, en este caso, son las
reglas de control. Para el caso del sistema de control de la velocidad de un ventilador en
función de la temperatura ambiente descrito en los apartados anteriores, el conjunto de datos
de entrenamiento de la red estaría compuesto por el mayor número posible de parejas del tipo
(Temperatura, Velocidad), que indicarían la velocidad de giro del ventilador más apropiada
ante una temperatura determinada. La red neuronal, que podría ser de Kohonen (Fig. 9.24),
tendría dos neuronas de entrada para los valores de temperatura y velocidad, y tantas de
salida como reglas se quieran generar, por ejemplo 5 (reglas: FRÍA-PARADO, FRESCA-
LENTA, AGRADABLE-MEDIA, CALIDA-RAPIDA, TÓRRIDA-MÁXIMA).
IX. Redes Neuronales y Lógica Borrosa. 9.1
Figura 9.24 Red de Kohonen para establecer 5 reglas que relacionan la velocidad del ventilador con
la temperatura ambiente.
Cuando la red "aprende" todas las parejas, ha establecido a qué clase (regla) pertenece
cada una, registrando en sus pesos los centroides o representantes de cada clase. Si se realizase
una representación gráfica en el plano, con ejes para temperatura y velocidad divididos en los
conjuntos borrosos correspondientes a ambos dominios y dibujando sobre el plano los
representantes o prototipos de las 5 clases, se establecerían fácilmente las reglas como aquellas
que relacionan los conjuntos de temperatura y velocidad situados, respectivamente, en la
vertical y horizontal de cada prototipo obtenido (Fig. 9.25).
IX. Redes Neuronales y Lógica Borrosa. 9.1
En este caso se ha ajustado una función de pertenencia cuya forma es conocida, sin
embargo, también existe la posibilidad de utilizar una red neuronal con aprendizaje
supervisado, para que la propia red establezca la forma de dicha función [Nauck 93]. Se podría
utilizar, por ejemplo, una red Backpropagation con tantas neuronas de entrada como entradas al
sistema (x1,..,xN) y tantas salidas como diferentes conjuntos borrosos (C1,..,CK) a los que pueden
pertenecer las entradas. La red se entrenaría presentando diferentes valores de entrada que
activarían (pondrían a "1") las salidas correspondientes a los conjuntos a los que pertenece
cada valor (Fig. 9.27).
IX. Redes Neuronales y Lógica Borrosa. 9.1
Puede comprobarse que si se entrena una red con una sola entrada (x) con valores
posibles en el rango [0,.6] dividido en tres conjuntos C1={0..2}, C2={1..5} y C3={4..6}, utilizando
como patrones de entrenamiento los valores de x: 0,1,2,3,4,5 y 6 para los cuales la red debe
"aprender" las salidas (C1, C2, C3): (1,0,0), (1,1,0), (1,1,0), (0,1,0), (0,1,1), (0,1,1) y (0,0,1)
respectivamente, las funciones de pertenencia generadas por la red son las indicadas en la
figura 9.28.
BIBLIOGRAFIA
A continuación se indican las referencias bibliográficas de los documentos a los que se hace
referencia en el libro.
[Ackley 85] D.Ackley, G.Hinton y T.Sejnowski. "A Learning Algorithm for Boltzmann Machines".
Cognitive Science, 9, pp. 147-169, 1985. Reimpreso en el texto "Neurocomputing" (J.Anderson y
E.Rosenfeld ed.), MIT Press, 1988.
[AEIA 91] "Redes Neuronales Artificiales". XIII Escuela de Verano de Informática, Isla de A Toxa.
Asociación Española de Informática y Automática (AEIA), 1991.
[Almeida 87] L.Almeida. "A learning rule for asynchronous perceptrons with feedback in a
combinatorial environment". Proceedings of the IEEE First International Conference on Neural
Networks. Vol.II, pp. 609-618, 1987.
[Amari 72] S.Amari. "Learning patterns and pattern sequences by self-organizing nets of threshold
elements". IEEE Transactions on Computers, 21, pp. 1197-1206, 1972.
[Anderson 68] J.Anderson. "A memory model using spatial correlation functions". Kybernetik, 5, pp.
113-119, 1968.
[Anderson 77] J.Anderson, J.Silverstein, S.Ritz y R.Jones. "Distinctive features, categorical perception
and probability learning: some applications on a neural model". Psychological Review, 84, pp. 413-451,
1977.
[Angeniol 88] B.Angeniol, G.de la Croix y J.le Texier. "Self-organizing feature maps and the travelling
salesman problem". Neural Networks, 1, pp. 289-293, 1988.
[Barron 93] J.J.Barron. "Putting Fuzzy Logic into Focus". BYTE, pp. 111-118, Abril, 1993.
[Barto 83] A.Barto, R.Sutton y C.Anderson. "Neuron-like adaptive elements that can solve difficult
learning control problems". IEEE Transactions on Systems, Man & Cybernetics, 13, pp. 834-846, 1983.
[Bortolan 90] G.Bortolan, R.Degani y J.Willems. "Neural Networks for ECG Classification".
Proceedings of the IEEE Conference on Computers in Cardiology, pp. 269-272, Chicago, 1990.
[Brigham 74] E.O.Brigham. "The Fast Fourier Transform". Ed. Prentice-Hall, 1974.
[Carpenter 86] G.Carpenter y S.Grossberg. "Absolutely stable learning of recognition codes by a self-
Bibliografía referenciada. 1
organizing neural network". American Institute of Physics (AIP) Conference Proceedings 151: Neural
Networks for Computing, pp. 77-85, 1986.
[Carpenter 88] G.Carpenter y S.Grossberg. "The ART of Adaptive Pattern Recognition by a Self-
Organizing Neural Network". IEEE Computer, pp. 77-88, Marzo, 1988.
[Casaleggio 90] A.Casaleggio, M.Morando y S.Ridella. "Neural Networks for Automatic Anomalous
QRS Complex Detection". Proceedings of the IEEE Conference on Computers in Cardiology, pp. 553-
556, Chicago, 1990.
[Caudill 89] M.Caudill. "Neural Network Primer". AI Expert. pp. 61-67, Agosto, 1989.
[DARPA 88] DARPA Neural Network Study. Ed. AFCEA Press, Washington, 1988.
[Dassen 90] W.Dassen y otros. "A Neural Network to Differentiate Wide-QRS Tachycardias".
Proceedings of the IEEE Conference on Computers in Cardiology, pp. 287-290, Chicago, 1990.
[Dubois 80] D.Dubois y H.Prade. "Fuzzy Sets and Systems: Theory and Applications. Ed. Academic
Press, 1980.
[Eberhart 90] R.C.Eberhart y R.W.Dobbins (editores). "Neural Networks PC Tools: A Practical Guide".
Ed. Academic Press, 1990.
[Freeman 94] J.A.Freeman. "Simulating Neural Networks with Mathematica". Ed. Addison-
Wesley,1994.
[Fukushima 80] K.Fukushima. "Neocognitron: A self-organizing neural network model for a mechanism
of pattern recognition unaffected by shift in position". Biological Cybernetics, 36, pp. 193-202, 1980.
[Fukushima 83] K.Fukushima, S.Miyake y T.Ito. "Neocognitron: A neural network model for a
mechanism of visual pattern recognition". IEEE Transactions on Systems, Man & Cybernetics, 13, pp.
826-834, 1983. Reimpreso en el texto "Artificial Neural Networks: Theoretical Concepts" (V.Vemuri
ed.), pp. 136-144, IEEE Computer Society Press Technology Series, 1988. Reimpreso en el texto
"Neurocomputing" (J.Anderson y E.Rosenfeld ed.), MIT Press, 1988.
[Geman 84] S.Geman y D.Geman. "Stochastics Relaxation, Gibbs Distribution and the Bayesian
Restoration of Images". IEEE Trans. on Pattern Analysis and Machine Inteligence, Vol.6, pp. 614-634,
Noviembre, 1984.
Bibliografía referenciada. 1
[Glover 87] D.Glover. "An Optical Fourier/Electronic Neurocomputer Automated Inspection System.
Proceedings of the IEEE First International Conference on Neural Networks, Vol.1, pp. 569-576, San
Diego, 1987.
[Grant 86] P.Grant, J.Sage. "A Comparison of Neural Network and Matched Filter Processing for
Detecting Lines in Images". AIP Conference Proceedings 151: Neural Networks for Computing, pp.
194-199, 1986.
[Grossberg 68] S.Grossberg. "Some nonlinear networks capable of learning a spatial pattern of arbitrary
complexity". Proceedings of the National Academy of Sciences, 59, pp. 368-372, 1968.
[Grossberg 80] S.Grossberg. "How Does the Brain Buid a Cognitive Code?". Psychological Review, 87,
pp. 1-51, 1980. Reimpreso en el texto "Neurocomputing" (J.Anderson y E.Rosenfeld ed.), MIT Press,
1988.
[Grossberg 82] S.Grossberg. "Studies of Mind and Brain: Neural Principles of Learning , Perception,
Development, Cognition and Motor Control". Ed. Reidel Press, Amstermdam, 1982.
[Gupta 92] M.M.Gupta. "Fuzzy Logic and Neural Networks". Proceedings of the 2nd International
Conference on Fuzzy Logic and Neural Networks IIZUKA'92, pp.157-160, 1992.
[Hayashi 92] Y.Hayashi, J.J.Buckley y E.Czogala. "Direct Fuzzification of Neural Network and
Fuzzified Delta Rule". Proceedings of the 2nd International Conference on Fuzzy Logic, Neural Nets
and Soft Computing IIZUKA'92, pp. 73-76, 1992.
[Hebb 49] D.Hebb. "The organization of behavior". Ed. John Wiley & Sons, 1949. (Reimpreso
parcialmente en el texto "Neurocomputing" (J.Anderson y E.Rosenfeld ed.), MIT Press, 1988).
[Hecht-Nielsen 88a] R.Hecht-Nielsen. "Neurocomputing: Picking the Human Brain". IEEE Spectrum,
25, pp. 36-41, Marzo, 1988. Reimpreso en el texto "Artificial Neural Networks: Theoretical Concepts"
(V.Vemuri ed.), pp. 13-18, IEEE Computer Society Press Technology Series, 1988.
[Hilera 94] J.R.Hilera, M.Mazo y V.J.Martínez. "Neural Networks for ECG Compression and
Classification". Proceedings of the 3rd International Conference on Fuzzy Logic, Neural Nets and Soft
Computing IIZUKA'94, Japón, 1994.
[Hinton 84] G.Hinton, D.Ackley y T.Sejnowski. "Boltzmann machines: Constraint satisfaction networks
than learn". Carnegie-Mellon University, Departament of Computer Science Technical Report (CMU-
CS-84-119), 1984.
[Hopfield 82] J.Hopfield. "Neural Networks and physical systems with emergent colective
computational abilities". Proceedings of the National Academy of Sciences, 79, pp. 2554-2558, 1982.
Reimpreso en el texto "Neurocomputing" (J.Anderson y E.Rosenfeld ed.), pp. 460-464, MIT Press,
1988.
[Hopfield 84] J.Hopfield. "Neurons with graded response have collective computational properties like
those of two-state neurons". Proceedings of the National Academy of Sciences, 81, pp. 3088-3092, 1984.
Reimpreso en el texto "Neurocomputing" (J.Anderson y E.Rosenfeld ed.), pp. 579-584, MIT Press,
1988. Reimpreso en el texto "Artificial Neural Networks: Theoretical Concepts" (V.Vemuri ed.), pp. 82-
86, IEEE Computer Society Press Technology Series, 1988.
[Isasi 93] P.Isasi. "Aprendizaje no Supervisado: Redes de Kohonen". Incluido en el texto "Redes
Neuronales Artificiales: Fundamentos y Aplicaciones" (I.Olmeda y S.Barba-Romero ed.), pp. 83-101,
Universidad de Alcalá de Henares, 1993.
[Iwata 89] A.Iwata, Y.Nagasaka y N.Suzumura. "A Digital Holter Monitoring System with Dual 3
Layers Neural Network". Proceedings of the International Joint Conference on Neural Networks, pp.69-
74, Washington, 1989.
[Kennedy 90] J.Kennedy y P.Morasso. "Self-organized Neural Networks for Signal Processing".
Proceedings of the Euroship Workshop on Neural Networks, Sesimbra 90 (G.Goos y J.Hartmanis ed.),
Springer-Verlag, 1990.
[Klopf 86] A.Klopf. "Drive-reinforcement model of single neuron function: An alternative to the
Hebbian neuron model". AIP Conference Proceedings 151: Neural Networks for Computing, pp. 265-
270, 1986.
[Koch 86] C.Koch, J.Marroquin, A.Yuille. "Analog Neural Networks in Early Vision". Proceedings of
the National Academy of Sciences, 83, pp. 4263-4267, 1986.
[Kohonen 73] T.Kohonen y M.Ruohonen. "Representation of associated data by matrix operators". IEEE
Transactions on Computers, 22, pp. 701-702, 1973.
[Kohonen 82] T.Kohonen. "Self-organized formation of topologically correct feature maps". Biololgical
Cybernetics, 43, pp. 59-69, 1982. Reimpreso en el texto "Neurocomputing" (J.Anderson y E.Rosenfeld
ed.), MIT Press, 1988.
Bibliografía referenciada. 1
[Kohonen 88a] T.Kohonen. "The neural phonetic typewriter". IEEE Computer, 21, pp. 11-22, Marzo,
1988.
[Kohonen 88b] T.Kohonen. "Learning Vector Quantization". Abstracts of the First Annual INNS
Meeting, 303, 1988.
[Kohonen 88c] T.Kohonen. "An Introduction to Neural Computing". Neural Networks, Vol.1, pp. 3-16,
1988.
[Kohonen 89] T.Kohonen. "Self-Organization and associative memory (3rd ed.)". Springer-Verlag,1989.
[Kosko 86] B.Kosko. "Fuzzy Cognitive Maps". International Journal of Man-Machine Studies, pp. 65-
75, Enero, 1986.
[Kosko 87a] B.Kosko. "Fuzzy Associative Memories". Incluido en el texto Fuzzy Expert Systems
(A.Kandel ed.), Addison-Wesley, 1987.
[Kosko 87b] B.Kosko. "Adaptive Bidirectional Associative Memories". Applied Optics, 26, pp. 4947-
4960, 1987.
[Kosko 88] B.Kosko. "Bidirectional Associative Memories". IEEE Transactions on Systems, Man &
Cybernetics, 18, pp. 42-60, 1988.
[Kosko 92] B.Kosko. "Neural Networks and Fuzzy Systems". Ed. Prentice-Hall, 1992.
[Kosko 93] B.Kosko y S.Isaka. "Lógica Borrosa". Investigación y Ciencia, pp. 60-86, Sept., 1993.
[Le Cunn 87] Y.Le Cunn. "Modèles connexionnistes de l'apprentissage". Ph.D. Thessis. Université
Pierre et Marie Curie, Paris VI, 1987.
[Lin 88] J.Lin, G.Mei, W.Lin y S.Chen. "Hierarchical Neural Network Architectures for Vision
Systems". Neural Networks Supplement: INNS Abstracts, 1, 1988.
[Lippman 87a] R.Lippman. "An Introduction to Computing with Neural Nets". IEEE ASSP Magazine,
Vol.3, nº 4, pp. 4-22, Abril, 1987. Reimpreso en el texto "Artificial Neural Networks: Theoretical
Concepts" (V.Vemuri ed.), pp. 36-54, IEEE Computer Society Press Technology Series, 1988.
[Lippman 87b] R.Lippman, B.Gold, M.Malpass. "A Comparison of Hamming and Hopfield Neural Nets
for Pattern Clasification". MIT Lincoln Laboratory Technical Report 769, 1987.
[Lippman 89] R.Lippmann. "Review of Neural Networks for Speech Recognition". Neural Computation,
1, pp. 1-38, 1989.
[López 89] F.J.López, M.I.Acevedo y M.A.Jaramillo. "Redes Neuronales: Evolución Histórica". Mundo
Electrónico, 197, pp. 57-71, Julio, 1989.
[Maren 90] A.J.Maren, C.T.Harston y R.M.Pap. "Handbook of Neural Computing Applications". Ed.
Academic Press, 1990.
Bibliografía referenciada. 1
[Martínez 89] T.Martinez, H.Ritter, K.Schulten. "3D-neural net for learning visuomotor-coordination of
a robot arm". Proceedings of the First International Joint Conference on Neural Networks, Vol.II, pp.
351-356, 1989.
[McCulloch 43] W.S.McCulloch y W.A.Pitts. "A Logical Calculus of the Ideas Immanent in Nervous
Activity". Boulletin of Mathematics and Biophysics, 5, pp. 115-133, 1943.
[McEliece 87] R.J.McEliece y otros. "The Capacity of the Hopfield Associative Memory". IEEE
Transactions on Information Theory, 33(4), pp. 461-482, Julio, 1987. Reimpreso en el texto "Artificial
Neural Networks: Theoretical Concepts" (V.Vemuri ed.), pp. 100-121, IEEE Computer Society Press
Technology Series, 1988.
[Moraga 92] C.Moraga. "Redes Neuronales y Lógica Borrosa. Un Desafío y una Promesa". Incluido en
el texto "Aplicaciones de la Lógica Borrosa" (E.Trillas y J.Gutierrez ed.), pp. 151-160, Ed. Consejo
Superior de Investigaciones Científicas (CSIC), 1992.
[Morasso 88] P.Morasso. "Neural Models of Cursive Script Handwriting". Proceedings of the First
International Joint Conference on Neural Networks, Washington, 1989.
[Nasrabadi 88] N.Nasrabadi, Y.Feng. "Vector quantization of images based upon the Kohonen self-
organizing feature maps". Proceedings of the IEEE Second International Conference on Neural
Networks, Vol.I, pp. 101-105, 1988.
[Nauck 93] D.Nauck, F.Klawonn y R.Kruse. "Combining Neural Networks and Fuzzy Controllers".
Proceedings of the 8th Austrian Artificial Intelligence Conference, pp. 35-46, Ed. Springer-Verlag, 1993.
[Nemes 69] T.N.Nemes. "Kibernetikai Gepek (Cybernetic Machines)". Ed. Akademiai Kiado, 1969.
[Orchad 93] G.Orchad (editor). "Neural Computing. Research and Applications". Ed. Institute of
Physics Publishing, Londres, 1993.
[Parker 82] D.Parker. "Learning logic". Invention Report, S81-64, File 1. Office of Technology
Licensing, Stanford University, 1982.
[Pawlicki 87] T.Pawlicki, D.Lee, J.Hull y S.Srihari. "Neural Networks and their Application to
HandWritten Digit Recognition". Proceedings of the IEEE First International Conference on Neural
Networks, Vol.2, pp.63-70, San Diego, 1987.
[Peterson 87] C.Peterson y J.Anderson. "A Mean Field Theory Learning Algorithm for Neural
Networks". Complex Systems, 1, pp. 995-1019, 1987.
[Reddy 86] B.Reddy e I.Murthy. "ECG Data Compression Using Fourier Descriptors". IEEE
Transactions on Biomedical Engineering, Vol.33, Abril, 1986.
[Rohwer 87] R.Rohwer y B.Forrest. "Training time-dependence in neural networks". Proceedings of the
IEEE First International Conference on Neural Networks, Vol.II, pp. 701-708, 1987.
[Rosenblatt 58] F.Rosenblatt. "The Perceptron: A probabilistic model for information storage and
organization in the brain". Psychological Review, 65, pp. 386-408, 1958. Reimpreso en el texto
"Neurocomputing" (J.Anderson y E.Rosenfeld ed.), pp. 92-114, MIT Press, 1988.
[Rubio 90] R.Rubio. "Aplicaciones Médicas de las Redes Neuronales". Novatica, Vol.16, No.87, pp. 49-
87, 1990.
[Sejnowski 77] T.Sejnowski. "Storing covariance with nonlinearly interacting neurons". Journal of
Mathematical Biology, 4, pp. 303-321, 1977.
[Sejnowski 86] T.Sejnowski, P.Kienker y G.Hinton. "Learning Simmetry Groups with Hidden Units:
Beyond the Perceptron". Physica, 22D, pp. 260-275, 1986.
[Sejnowski 87] T.Sejnowski y C.Rosenberg. "Parallel Networks that Learn to Pronounce English Text".
Complex Systems, 1, pp. 145-168, 1987.
[Shu 91] S.Shu, S.Bliven y J.Belina. "Training of Feedfoward Neural Network Architectures for Feature
Recognition of Abnormal ECG Waveforms". Proceedings of the Annual International Conference of the
IEEE Engineering in Medicine and Biology Society, Vol.13, No.2, pp. 1395-1396, 1991.
[Simpson 90] P.K.Simpson. "Artificial Neural Systems". Ed. Pergamon Press, 1990.
[Smith 83] W.Smith, H.Barrett y R.Paxman. "Reconstruction of Objects from Coded Images by
Simulated Annealing". Optics Letters, Vol.8, pp. 199-201, Abril, 1983.
[Sutton 81] R.Sutton y A.Barto. "Toward a modern theory of adaptive networks: Expectation and
prediction". Psychological Review, 88, pp. 135-171, 1981.
[Szu 86] H.Szu. "Fast simulated annealing". AIP (American Institute of Physics) Conference
Proceedings 151: Neural Networks for Computing (J.Denker ed.), pp. 420-425, 1986.
Bibliografía referenciada. 1
[Szu 90a] H.Szu y K.Scheff. "Simulated Annealing Feature Extraction from Occluded and Cluttered
Objects". Proc. 2nd Int. Joint Conf. on Neural Networks, Washington, Enero, 1990.
[Szu 90b] H.Szu. "Colored Noise Annealing Benchmark by Exhaustive Solutions of TSP". Proc. 2nd
Int. Joint Conf. on Neural Networks, Vol.1, pp. 317-320, Washington, Enero, 1990.
[Tank 86] D.Tank y J.Hopfield. "Simple Neural Optimization Networks: An A/D Converter, Signal
Decision Circuit and a Linear Programming Circuit". IEEE Transactions on Circuits and Systems, 33(5),
pp. 533-541, Mayo, 1986. Reimpreso en el texto "Artificial Neural Networks: Theoretical Concepts"
(V.Vemuri ed.), pp. 87-95, IEEE Computer Society Press Technology Series, 1988.
[Terano 92] T.Terano, K.Asai y M.Sugeno. "Fuzzy Systems Theory and its Applications". Ed. Academic
Press, 1992 (La versión original en japonés es de 1987).
[Touretzky 88] D.Touretzky y G.Hinton. "A Distributed Connectionist Production System". Cognitive
Science, 12, pp. 423-466, 1988.
[Trillas 92] E.Trillas y J.Gutierrez (editores). "Aplicaciones de la Lógica Borrosa". Ed. Consejo Superior
de Investigaciones Científicas (CSIC), 1992.
[Tsai 91] Y.Tsai, J.Su y J.Duan. "Parallel Neural Network Emulator for ECG Processing". Proceedings
of the Annual International Conference of the IEEE Engineering in Medicine and Biology Society,
Vol.13, No.3, pp. 1438-1439, 1991.
[Viot 93] G.Viot. "Fuzzy Logic in C". Dr. Dobb's Journal, Febrero, 1993.
[Wee 68] W.Wee. "Generalized inverse approach to adaptive multiclass patter classification". IEEE
Transactions on Computers, 17, pp.1157-1164, 1968.
[Werbos 74] P.Werbos. "Beyond Regression: New tools for prediction and analisys in the behavioral
sciences". Ph.D. Thessis. Harvard University, 1974.
[Widrow 60] B.Widrow y M.Hoff. "Adaptative Switching Circuits". IREWESCON Convention Record,
Part 4, pp. 96-104, 1960. Reimpreso en el texto "Neurocomputing" (J.Anderson y E.Rosenfeld ed.), pp.
126-134, MIT Press, 1988.
[Widrow 85] B.Widrow y S.D.Stearns. "Adaptive Signal Processing". Ed. Prentice-Hall, 1985.
[Widrow 88] B.Widrow y R.Winter. "Neural Nets for Adaptive Filtering and Adaptive Pattern
Recognition". IEEE Computer, 21, pp. 25-39, Marzo, 1988.
[Widrow 90] B.Widrow y M.A.Lehr. "30 Years of Adaptive Neural Networks: Perceptron, Madaline and
Backpropagation". Proceedings of the IEEE, Vol.78, No.9, pp. 1415-1442, Septiembre, 1990.
[Winter 88] R.Winter y B.Widrow. "MADALINE Rule II: A Training Algorithm for Neural Networks.
Proceedings of the IEEE Second International Conference on Neural Networks, Vol.I, pp. 401-408,
1988.
[Zadeth 65] L.A.Zadeth. "Fuzzy Sets". Information and Control. Vol.8, pp. 338-353, 1965.
[Zadeth 93] L.A.Zadeth. "The Role of Fuzzy Logic and Soft Computing in the Conception and Design
of Intelligent Systems". Proceedings of the 8th Austrian Artificial Intelligence Conference, pp.1,
Bibliografía referenciada. 1
Springer-Verlag, 1993.