Son redes de dos o más capas cuyo objetivo es asociar, generalmente a través de un proceso de aprendizaje
supervisado, pares de estímulos o ítems distintos, llamados patrón de entrada y patrón de salida. Se trata de
conseguir que la presentación de un patrón de entrada provoque la recuperación del patrón de salida con el
que fue asociado durante el aprendizaje.
Podemos comparar un heteroasociador con los modelos de regresión estadística, los cuales tratan de hallar la
relación entre una serie de variables, llamadas predictores y criterio, a partir de una serie de datos conocidos.
De esta manera podemos predecir la variable criterio a partir de las variables usadas como predictores. Por
ejemplo, podemos hallar una función que nos relacione la estatura, el sexo, la edad (predictores) y la
complexión, con el peso(criterio), mediante un ajuste por mínimos cuadrados, y usar la estimación del peso a
partir de las otras variables como un indicador del peso ideal.
Esto se puede lograr igualmente con una red neuronal; presentando como patrones de entrada la estatura, la
edad y el sexo de varios sujetos de peso apropiado, y como patrones de salida el peso de esos sujetos. Una vez
asocie edad, sexo y estatura de cada sujeto con su peso, podremos usarla para estimar el peso de nuevos
sujetos a partir de su estatura, sexo y edad, gracias a su capacidad de generalización.
La diferencia fundamental entre un asociador de patrones y un modelo de regresión está en que el primero es
capaz de representar relaciones mucho más complejas que un modelo de regresión, y en la forma en que
aprende (inductivamente) y representa dichas relaciones (distribuidas por toda la red), además de que va a
poseer las cualidades generales de las redes neuronales (generalización, tolerancia al ruido, etc.)
El primer asociador de patrones conocido es el Perceptrón (Rosemblat,1962), una red lineal no recurrente
compuesta por una capa de fotoreceptores, una capa de asociadores aleatoriamente conectados, llamados
demonios, y una capa de salida compuesta por una sola unidad, denominada perceptrón. Era capaz de asociar
patrones de entrada formados por variables continuas, con una variable de salida discreta binaria: 0/1, dado
que el perceptrón aplica una función de umbral. Si la respuesta de la red es la correcta las conexiones
existentes entre los demonios y el perceptrón no se modifican, cosa que sí ocurre en caso contrario. Aunque
puede parecer que este modelo tiene varias capas, técnicamente es una arquitectura de dos capas, ya que sólo
hay una capa de conexiones modificables. El Perceptrón se mostró bastante limitado en cuanto a su capacidad
de representar funciones (pe la función XOR) linealmente inseparables (Wassermann,1989). Son necesarias
más capas de conexiones modificables para representar funciones complejas y relaciones no lineales.
Ilustración 8: Modelo de Perceptrón (Rosemblatt, 1962)
Cabe distinguir entre redes o memorias autoasoaciativas y memorias heteroasociativas. Como su nombre
indica, las primeras asocian patrones consigo mismo, de manera que son útiles para recuperar o reconstruir
patrones incompletos o distorsionados. Cualquier asociador de patrones sirve como memoria autoasociativa,
es tan sencillo como utilizar como patrones deseados los mismos patrones que se quiere aprender. Sin
embargo, se han desarrollado autoasociadores específicos que no sirven para asociar patrones distintos y
utilizan otro tipo de algoritmos de aprendizaje y de arquitecturas de interconexión, como las redes
recurrentes retroactivas.
Después veremos una descripción detallada del algoritmo de retropropagación y varias versiones de la regla
delta generalizada, comentaremos las críticas y las algunas extensiones que tratan de aumentar la velocidad de
convergencia.
Las redes basadas en la decisión y las de aproximación/optimización entrarían en este grupo, los primeros
perceptrones son redes del primer tipo, mientras que las redes de retropropagación son del segundo
Son redes uni o multicapa cuyo común denominador es postular algún tipo de competición entre unidades con
el fin de conseguir que una de ellas quede activada y el resto no. Esto se consigue mediante aprendizaje no
supervisado, presentando algún patrón de entrada y seleccionando la unidad cuyo patrón de pesos incidentes
se parezca más al patrón de entrada, reforzando dichas conexiones y debilitando las de las unidades
perdedoras.
La competición entre unidades se puede conseguir simulando una característica neurofisiológica del córtex
cerebral llamada inhibición lateral. Esto se logra postulando la existencia de conexiones inhibitorias intracapa
y conexiones excitatorias intercapa, de tal manera que la presentación de un patrón de entrada tenderá a
producir la activación de una única unidad y la inhibición del resto.
Al final se consigue que cada unidad responda frente a un determinado patrón de entrada, y, por
generalización, que cada unidad responda frente a patrones de entrada similares, de manera que los pesos
aferentes de esa unidad converjan en el centro del grupo de patrones con características similares.
Ilustración 9:Aprendizaje competitivo y clasificación de patrones
Es usual que haya una capa de neuronas de entrada y una capa de salida. Se usan tantas entradas como
dimensiones tenga el espacio vectorial de los patrones de entrada (espacio real o binario), y tantas salidas
como clases o categorías se quieren utilizar para clasificar los patrones de entrada, de manera que cada nodo
de salida representa una categoría.
Además de las conexiones hacia delante, con función excitatoria, se usa una red intracapa, inhibidora,
simulando el fenómeno neurológico de la inhibición lateral, de ahí que se la denomina capa lateral. La red
hacia delante implementa una regla de excitación de aprendizaje de Hebb. Esta regla, como ya sabemos,
refuerza las conexiones entre los pares de unidades entra-salida que se activan simultáneamente. La red lateral
es intrínsecamente inhibidora, realiza la labor de seleccionar al ganador, normalmente mediante un método de
aprendizaje competitivo, como el "winner-take-all" (el ganador lo toma todo, la unidad con mayor valor de
activación toma el valor máximo (pe. 1) y el resto el mínimo (0)). El esquema de winner-take-all se
implementa mediante una red (digital o analógica) MAXNET.
Las redes competitivas se usan típicamente como clasificadores de patrones, ya que cada unidad responde
frente a grupos de patrones con características similares. Para estimar el grado de semejanza de los patrones
se utilizan distancias o medidas de similaridad, siendo la más común la distancia euclídea.
a. Producto interno
La principal crítica a estos modelos es que no poseen una de las características generales de las redes
neuronales: la información no se halla distribuida entre todas las conexiones, la destrucción de una sola
unidad provocaría la pérdida de la información relativa a todo un grupo o categoría de patrones. Para
solventar este problema se han desarrollado los códigos demográficos, que representan cada categoría o grupo
de patrones mediante un conjunto de unidades próximas entre sí, en vez de mediante una sola unidad.
Como ejemplo de redes competitivas podemos citar las redes de Kohonen (Kohonen,1988) y las
arquitecturas ART (Adaptative Resonance Theory, Grossberg, 1987)
Como ya hemos comentado se suele utilizar la regla de Hebb para la red de propagación (las
conexiones entre-capas) y regla "winner-take-all" (WTA) para la red lateral.
Bajo este esquema se utilizan unidades de entrada y salida binarios, tantos nodos de salida como
grupos de características similares (categorías) se quieran utilizar. Cuando y sólo cuando la entrada i-
ésima y la salida j-ésima están activadas se actualizan los pesos. Una regla posible es la siguiente:
donde g es una pequeña constante, nk es el número de unidades de entradas activas del patrón k, xi =
1 si la señal de entrada es alta para el patrón k-ésimo y en otro caso xi = 0.
Con el fin de asegurar un ambiente de competición equitativo, las sumas de todos los pesos que van a
Con el fin de preveer la existencia de neuronas que no aprenden en su totalidad, se usa el aprendizaje
débil. Puesto que una neurona sólo aprende si gana en algún momento, es posible que una unidad no
gane nunca, y por lo tanto no aprende nada. Una forma de solucionar este problema es que todos los
pesos de la red intervengan en el entrenamiento con distintos niveles de aprendizaje.
i gana con el estímulo k, j pierde con el estímulo k
En esta regla el parámetro g1 es unas ordenes de magnitud más pequeño que xi(k)=0. Por lo tanto, las
unidades que pierden en la competición sufren un aprendizaje menor que las neuronas ganadoras.
Este cambio tiene la propiedad de que las unidades perdedoras se van desplazando hacia la región
donde yace el estímulo actual, donde empiezan a capturar algunas unidades (empiezan a ganar).
Son asíncronas, es decir, que cada unidad se actualiza o no durante un ciclo de procesamiento según cierta
probabilidad.
Son redes cuyo objetivo principal es alcanzar soluciones (cuasi) óptimas a problemas que exigen tomar en
consideración un gran número de demandas simultáneas. Para ello parten de un estado dinámico o inestable y
tratan de alcanzar un estado estable mediante un proceso de relajación, estado en el que la mayoría de las
demandas sean satisfechas simultáneamente. Para evaluar el estado de la red se suele definir una "función de
energía", de manera que el proceso de relajación consiste en la disminución del "estado energético" de la red.
Como máximos exponentes de este tipo están las redes de Hopfield (Hopfield, 1982) y las máquinas de
Boltzman (Hinton y Sejnowski,1986), ambas ejemplos de memorias autoasociativas recurrentes, también
denominadas redes retroasociativas. Las redes autoasociativas aprenden a reconstruir patrones de entrada, son
útiles cuando tenemos información incompleta o distorsionada, para tratar de reproducir la información
original.
• Los pesos de las conexiones son precalculados y prealmacenados (mediante la regla de Hebb o por
una función de energía)
• Se usan operaciones no lineales de escalonamiento en cada etapa para producir valores binarios
• La retroalimentación tiene la función de propiciar que los estados se puedan actualizar iterativamente
• Las iteraciones convergen hacia una solución que minimiza una función de energía de la red.
Además de las redes de adaptación probabilística hay otros tipos de redes que no requieren modificar los
pesos de las conexiones. Se trata de memorias asociativas, utilizadas fundamentalmente para filtrar señales
distorsionadas o incompletas y recuperar los patrones originales libres de ruido, como las memorias pro-
asociativas y las redes de Hamming.
Introducción
Origen
Valoración
Métodos estadísticos
Introducción
Al hablar de redes de retropropagación o redes de propagación hacia atrás hacemos referencia a un algoritmo
de aprendizaje más que a una arquitectura determinada. La retropropagación consiste en propagar el error
hacia atrás, es decir, de la capa de salida hacia la capa de entrada, pasando por las capas ocultas intermedias y
ajustando los pesos de las conexiones con el fin de reducir dicho error. Hay distintas versiones o reglas del
algoritmo de retropropagación y distintos arquitecturas conexionistas a las que pueden ser aplicados.
Durante mucho tiempo no se dispuso de algoritmos para entrenar redes multicapa, y como las redes de una
capa estaban muy limitadas en cuanto a lo que eran capaces de representar, el campo de las redes neuronales
artificiales estaba estancado. La invención y perfeccionamiento del algoritmo de retropropagación dio un gran
impulso al desarrollo de este campo. Tiene un buen fundamento matemático y a pesar de sus limitaciones ha
expandido enormemente el rango de problemas donde se aplican las redes neuronales artificiales.
Origen
Al parecer el algoritmo fue ideado a principios de los 70 por Werbos, y redescubierto a principios de los 80
por Parker y Rumelhart independientemente, sin embargo, no se hizo popular hasta 1986, cuando Rumerlhart,
Hinton y Williams presentaron una descripción clara y concisa del mismo. Y es que en un primer momento no
se valoró como se merecía. El hecho de que permaneciera en el olvido tanto tiempo también debe ser una
consecuencia de la condición interdisciplinar del campo, repartido entre las matemáticas y ciencias de la
computación, las neurociencias y la psicología.
Desde la fecha clave de 1986 han surgido nuevas versiones que han tratado de aumentar la velocidad de
convergencia del algoritmo y han tratado de superar algunos de sus inconvenientes, como la tendencia a
alcanzar mínimos locales y no globales, punto que será discutido más tarde.
• No recurrentes
• Función de activación sigmoidal
• Capas totalmente interconectadas
• Operación totalmente síncrona
4. Una vez computadas las actividades de todas las unidades de salida se calcula una
estimación del error, generalmente una función cuadrática de los errores individuales
cometidos por cada unidad, siendo cada error individual la diferencia entre la salida
deseada y la obtenida.
Nota: Se van a indicar por un lado las expresiones matemáticas y por otro lado la explicación
intuitiva de cada paso. Conviene recordar que nuestro objetivo es calcular como varía el error al
variar el peso de cada conexión (tasa de variación del error respecto al peso de una conexión, EP)
6. Cómputo de la rapidez de variación del error al cambiar la entrada total que recibe cada
unidad de salida.
Es igual a la tasa de variación del error al variar su activación multiplicado por la tasa de variación
de la activación al cambiar su entrada ( que es justamernte la derivada de la función sigmoidal )
Es igual a la tasa de variación del error al variar su entrada, por la tasa de variación de la entrada al
variar ese peso.
Hasta ahora sabemos calcular el EA sólo para las unidades de salida, ¿ qué pasa con las unidades
ocultas?. En este caso no tenemos una estimación directa del error aportado por cada unidad oculta;
aquí es donde interviene la retropropagación o propagación hacia atrás del error:
9. Disponiendo de la tasa de variación del error respecto al peso de una conexión (EP),
podemos usar distintas reglas para modificar ese peso en aras a reducir dicho de error. Una
de las primeras reglas que aprovechó este algoritmo es la regla delta generalizada, que
calcula el incremento a aplicar a un peso como una proporción directa de la tasa de
variación del error.
siendo h el coeficiente de aprendizaje, típicamente con valores comprendidos entre 0.01 y
1.0
La regla DBD (delta-bar-delta) (Jordan, 1988) consiste en usar un coeficiente de aprendizaje propio y variable
para cada conexión.
Una extensión propuesta por Rumelhart, Hinton y Williams (1986) consiste en añadir un término proporcional
a la cantidad del último cambio realizado sobre un peso. Al coeficiente que pondera dicha cantidad se le llama
momentum (??
Valoración
• Podemos considerar el error como una superficie llena de desniveles, si soltamos una
pelota caerá en algún valle, pero no necesariamente en el más hondo, sino en el más
cercano (un mínimo local). Una idea intuitiva para solucionar esto, sería aplicarle cierta
energía a esa superficie agitándola o haciéndola vibrar, esto haría saltar a la pelota de valle
en valle, como de los valles más profundos es más difícil salir, tendería a estar en valles
cada vez más profundos. Si dejamos de agitar esa superficie poco a poco, al final
tendremos la pelota en el valle más profundo de la superficie.
• Otras técnicas que pueden ayudar a no caer en mínimos locales consisten en añadir cierto
nivel de ruido a las modificaciones de los pesos de las conexiones. Otra medida propuesta
es añadir ruido a las conexiones, pero esto es más útil para darle robustez y aumentar la
capacidad de generalización de la red. Estas medidas, por contra, aumentan el tiempo de
aprendizaje.
Métodos estadísticos
El equilibrio termodinámico simulado (simulated annealing) se inspira en el modo en como se templa el acero
en la industria metalúrgica: primero se calienta hasta temperaturas muy altas y luego se deja enfriar, de
manera que pase de estados de alta energía a estados de baja energía, hasta que alcanza un mínimo energético
global, así el acero queda mucho más resistente.
La relación entre temperatura y estado energético viene expresada por la distribución de probabilidad de
Boltzmann:
k = constante de Boltzmann
Esta función indica la probabilidad de estar en un estado de energía E a una determinada temperatura. Con
altas temperaturas es igualmente probable tener estados de alta o baja energía; pero a bajas temperaturas se
reduce la probabilidad de estar en un estado de alta energía. El estado energético indica la capacidad o
probabilidad de cambiar, por lo tanto, al empezar con temperatura elevadas hay muchas probabilidades de
cambiar, y se reducen al ir enfriando el sistema.
Método de Boltzmann
T= la temperatura artificial
Seleccionar un número aleatorio r entre 0 y 1 (distribución uniforme) y retener el cambio si P(c) > r,
rechazarlo en caso contrario.
Hay varias formas de elegir el cambio de peso del paso 3 emulando los procesos termodinámicos, pe.
mediante una distribución gaussiana de probabilidad.
Para obtener el incremento de peso D w a aplicar se puede usar el método de Monte Carlo:
Se ha comprobado que la tasa de reducción de temperatura debe ser proporcional al inverso del logaritmo del
tiempo.
Este resultado predice velocidades muy lentas de enfriamiento y muchos cálculos, lo cual conlleva periodos
de aprendizaje excesivamente largos. Una solución mucho más rápida consiste en sustituir la distribución de
Boltzmann por la distribución de Cauchy.
Método de Cauchy
xc es el cambio de peso
h es el coeficiente de aprendizaje
En este caso el método de Monte Carlo resulta muy simple. Seleccionamos un número aleatorio sobre el
intervalo abierto -p /2 a p /2, sustituirlo por P(x) y calcular xc con la temperatura actual.
Redes de Kohonen
Introducción
Aprendizaje
Aplicación
Introducción
Pertenece a la categoría de las redes competitivas o mapas de autoorganización, es decir, con aprendizaje no
supervisado de tipo competitivo. Poseen una arquitectura de dos capas (entrada-salida) (una sola capa de
conexiones), funciones de activación lineales y flujo de información unidireccional (son redes en cascada).
Las unidades de entrada reciben datos continuos normalizados, se normalizan así mismo los pesos de las
conexiones con la capa de salida. Tras el aprendizaje de la red, cada patrón de entrada activará una única
unidad de salida. En algunos modelos cada entrada puede provocar la activación de un conjunto de unidades
de salida, en ese caso estaríamos usando un código demográfico (ver el apartado correspondiente del
Aprendizaje no supervisado). El objetivo de este tipo de redes es clasificar los patrones de entrada en grupos
de características similares, de manera que cada grupo activará siempre la(s) misma(s) salida(s). Cada grupo
de entradas queda representado en los pesos de las conexiones de la unidad de salida triunfante. La unidad de
salida ganadora para cada grupo de entradas no se conoce a priori, es necesario averiguarlo después de
entrenar a la red.
Una de las cualidades de este tipo de redes es la incorporación a la regla de aprendizaje de cierto grado de
sensibilidad con respecto al vecindario o historia. Esto hace que el número de neuronas que no aprenden
desaparezca, aumentando así su capacidad de extraer o mapear características topológicas de los datos.
La red mapea el espacio de entrada hacia un espacio de salida con cierto orden topológico, Kohonen propone
un método para que este orden se conserve al entrenar la red, la clave está en reducir el tamaño del vecindario
de la unidad ganadora en cada ireración.
Aprendizaje
Indicamos un procedimiento basado en el cálculo de distancias euclídeas sobre los patrones de entrada.
0. Aleatorizar los pesos de las conexiones. Normalizar los pesos de las conexiones incidentes de cada unidad
de salida sobre la unidad: dividir cada conexión por la raíz cuadrada de la suma de los cuadrados de las
conexiones de cada unidad. Normalizar igualmente los datos de entrada
3. La unidad de salida con los pesos más parecidos al patrón de entrada (es decir, menor Dj) es
declarada ganadora. El vector de pesos de la unidad ganadora, Wc, se convierte en el centro de un
grupo de vectores cercanos a él Wc, en concreto, a menos de cierta distancia D.
4. Modificar los pesos de los vectores de pesos Wj "cercanos" a Wc (distancia menor a D), según la
fórmula:
De esta manera conseguimos que los vectores de pesos de la unidad ganadora y de su "vecindario" se
parezcan cada vez más al patrón de entrada que hace ganar a esa unidad.
A medida que avanza el aprendizaje hay que ir reduciendo D y a . Kohonen recomienda empezar con un valor
de a cercano a 1 y reducirlo gradualmente hasta 0.1. D puede empezar valiendo la máxima distancia existente
entre los pesos de las conexiones al principio y acabar siendo tan pequeño que no quede ninguna unidad en el
vecindario de la unidad ganadora. En ese momento solo se entrenará una unidad, que al final tendrá su vector
de pesos igual al vector de entrada.
La precisión de la clasificación de los patrones de entrada aumenta con el número de ciclos de aprendizaje.
Kohonen recomienda una cantidad de ciclos no inferior a 500 veces el número de neuronas de salida para
obtener buenos resultados.
Aplicación
Una vez entrenada, podemos usar a la red para clasificar patrones de entrada similares en el espacio n-
dimensional. Una clase o grupo de patrones similares tiende a controlar una neurona específica, que
representará el centro de una esfera n-dimensional (de radio unitario, pues normalizamos los datos sobre la
unidad). Esa neurona resultará la más activada frente a los patrones más parecidos a su vector de pesos.
Después del aprendizaje, la clasificación consiste en presentar una entrada y seleccionar la unidad más
activada, la gandora, mediante la función de Distancia utilizada (gana la más cercana al patrón de entrada).
Además, el vector de pesos nos servirá para reconstruir el patrón de entrada.
Una forma de evitar el problema de las unidades que no aprenden es consiste en la incorporación de algún
tipo de sensibilidad a la historia o frecuencia en la regla de entrenamiento. Hay dos aproximaciones:
donde e (t) es función de la frecuencia con la que la unidad c es seleccionada como ganadora. Dos
posible funciones de este tipo son:
Redes de Hopfield
Introducción
Funcionamiento
Introducción
Las redes de Hopfield son redes de adaptación probabilística, recurrentes, funcionalmente entrarían en la
categoría de las memorias autoasociativas, que aprenden a de reconstruir los patrones de entrada que
memorizaron durante el entrenamiento. Son arquitecturas de una capa con interconexión total, funciones de
activación booleana de umbral (cada unidad puede tomar dos estados, 0 o 1, dependiendo de si la
estimulación total recibida supera determinado umbral), adaptación probabilística de la activación de las
unidades, conexiones recurrentes y simétricas, y regla de aprendizaje no supervisado. Mientras que las redes
en cascada (no recurrentes) dan soluciones estables, los modelos recurrentes dan soluciones inestables
(dinámicas), lo que no siempre es aconsejable. La principal aportación de Hopfield consistió precisamente en
conseguir que tales redes recurrentes fueran así mismo estables. Imaginó un sistema físico capaz de operar
como una memoria autoasociativa, que almacenara información y fuera capaz de recuperarla aunque la misma
se hubiera deteriorado.
Funcionamiento
A cada estado de la red se le puede atribuir una cierta cantidad de energía, el sistema evoluciona tratando de
disminuir la energía mediante un proceso de relajación (recordemos el símil con una pelota cayendo por una
superficie multidimensional), hasta alcanzar un mínimo (valle) donde se estabiliza. Los mínimos de energía se
corresponden con los recuerdos almacenados durante el aprendizaje de la red.
Ante la presentación de un estímulo nuevo se obtendrá una configuración inicial más o menos parecida a
alguno de los estímulos almacenados, el sistema evolucionará hasta caer en una configuración estable que
representa el recuerdo asociado a ese estímulo. Si la configuración inicial discrepa mucho de los recuerdos
almacenados podemos alcanzar algún mínimo que no se corresponde a ningún recuerdo almacenado,
recuperando en ese caso una información espuria, o podríamos no alcanzar ningún mínimo, quedando
inestable: en ese caso diríamos que la red está "confundida", no es capaz de reconocer el estímulo, no
recuerda. Una tercera posibilidad es que al cabo de unos pasos de evolución empiece a repetir periódicamente
una secuencia definida de estados; con esta dinámica se han modelado ciertas excitaciones nerviosas que
regulan acciones rítmicas y repetitivas; y se ha tratado de reproducir la memoria de secuencias temporales, pe.
el recuerdo de melodías.
Sea n el número de neuronas en la red, se utiliza una función de propagación hiperplana, es decir, el valor de
red se calcula como el sumatorio de todas las entradas ponderadas, incluida la procedente de la misma unidad.
Se puede trabajar con cualquier valor de umbral para la función de activación, pero típicamente se usa el 0
como umbral, con la ventaja de simplificar las ecuaciones.
Otra posibilidad para calcular el umbral es utilizar un valor propio para cada unidad, dependiente de los
pesos:
Por definición los recuerdos (ítems o patrones almacenados) son puntos fijos en la dinámica de la red (puntos
de equilibrio), es decir, configuraciones que no cambian en el tiempo aunque se siga aplicando la regla de
evolución. Para almacenar un recuerdo habrá que lograr que la presentación del patrón de entrada lleve a la
red a alcanzar un punto fijo, esto se logrará mediante una determinada combinación de valores de los pesos de
las conexiones.
Se habla también de las zonas o áreas de atracción para referirse a estados de activación que con una
probabilidad alta (mayor de ½) llevan a un determinado punto de equilibrio.
La elección de la regla de aprendizaje no es trivial, depende de la interrelación de los patrones que se desea
memorizar. Si estos patrones están poco correlacionados (pseudo-ortogonales) podemos aplicar la regla de
Cooper-Hebb, basada en la regla de Hebb o regla del producto:
Supongamos que tenemos M ítems o patrones (binarios) que almacenar (p1.. pm), calculamos los pesos de la
siguiente forma:
Ya tenemos la red lista para usarla, asignando a las unidades el estado inicial y dejando que la red evolucione
hasta alcanzar un mínimo (esto lo conseguiremos comprobando que el decremento de energía es nulo).
Como demostró Hopfield, que una red de adaptación asíncrona sea estable se puede conseguir haciendo que la
matriz de pesos sea simétrica y con 0’s en la diagonal principal. La idea para alcanzar estados estables es
encontrar una función del estado del sistema, que llamaremos Energía, con la propiedad de decrecer cuando
se produce un cambio en el estado de la red. Un tipo de funciones con esa propiedad son las funciones de
Liapunov.
Dónde yi representa el valor de activación o estado de cada unidad (que coincide con su salida outi).
En el caso ideal en que los vectores almacenados son perfectamente ortogonales, cada patrón original
representa un mínimo local (o global) de la función de energía. La recuperación de los patrones originales
consistirá entonces en la búsqueda de esos mínimos locales.
Si nos basamos en técnicas de gradiente podemos alcanzar los mínimos mediante un procedimiento
secuencial o iterativo (asíncrono), calculando el cambio de energía para una única unidad en cada paso. El
cambio de energía del sistema ante un cambio de estado de una unidad i elegida al azar (D yi) es:
Se puede demostrar que dicho cambio de energía es siempre negativo o nulo, de tal modo que el sistema
tiende a converger hacia un mínimo. El criterio de simetría es suficiente, pero no necesario para alcanzar la
estabilidad. Por otro lado la simetría aproximada es usualmente suficiente para lograrlo.
D yi(k+1) a neti(k+1)
Tomamos uno de los patrones memorizados, p, y lo introducimos como vector de estado inicial, con N
dimensiones
Empezamos a realizar iteraciones desde k=1hasta la convergencia. Las actualizaciones o cambios de estado se
realizan en orden secuencial, una unidad en cada paso, desde i=1 hasta i=N.
Se repite el mismo proceso para cada iteración hasta la convergencia, lo que ocurre cuando ninguno de los
elementos cambia de estado durante alguna iteración.
Si hay algún cambio de enegía, debe ser negativo. Puesto que E no debe decrecer indefinidamente, las
iteraciones de la red deben terminar en un número finito de pasos; de este modo la convergencia está
garantizada.
wij ¹ 0
1. Cálculo de los valores de red en paralelo (todas las unidades en cada paso) para i=1,2..., N,
Repetir el mismo proceso para la siguiente iteración hasta la convergencia, que ocurre cuando ninguno de los
elementos cambia de estado durante cualquier iteración.
Prueba de la convergencia
, nos queda
Puesto que la matriz W se forma a partir del producto externo sin la anulación de la diagonal, es una matriz
definida no negativa, esto es, D kE2 <= 0. Debería estar claro ahora que D kE1 <= 0. Más precisamente, D
kE1 < 0 si ocurre una actualización no trivial. (Esto también asegura que no hay posibilidad de oscilación de
cualquier estado de convergencia.)
Las redes de Hopfield pueden usarse desde un enfoque psicofisiológico, como un modelo sencillo para
explicar como ocurren las asociaciones entre ideas. Las ideas parciales serían estados de activación en la zona
de atracción de ideas más generales (puntos fijos o puntos de equilibrio), de forma que al introducir la idea
parcial se puede llegar a alcanzar la idea general.
A su vez, debido a que las áreas de atracción indican sólo una probabilidad (generalmente diferente de 1), este
modelo permite explicar también la incertidumbre que se produce en las asociaciones: una idea parcial, a
pesar de tener alta probabilidad de desembocar en la idea general, puede llevar a otras ideas diferentes que
también actúan como puntos de equilibrio.
Una posible aplicación informática de las redes de Hopfield es el desarrollo de memorias direccionadas por
contenido: los elementos de la memoria no estarían ordenados según índices numéricos, sino según parte de
su contenido. En las memorias actuales es necesario conocer la dirección de memoria de un dato para poder
recuperarlo, mientras que en las memorias direccionadas por contenido se pueden recuperar datos completos
(puntos de equilibrio) a partir de datos parciales (que formen parte de su área de atracción).
Las redes de Hopfield se han aplicado a campos como la percepción el reconocimiento de imágenes y
optimización de problemas, mostrando gran inmunidad al ruido y robustez. Incluso se han llegado a
desarrollar chips específicos para este tipo redes. El estudio de las representaciones de secuencias temporales
es un área de gran interés, con aplicaciones en reconocimiento automático de voces y movimientos.
Hopfield ha mostrado como aplicar los mismos principios con funciones de activación continuas como la
función sigmoidal, con muy pocas modificaciones.
• El número máximo de patrones no correlacionados que puede almacenar es igual al 15% del número
de neuronas de la red.
• Requieren mucho tiempo de procesamiento hasta converger a una solución estable, lo que limita su
aplicabilidad.
• Otro de los problemas achacados a las redes de Hopfield es su tendencia a caer en mínimos locales,
como en las redes de retropropagación. La solución pasa por aplicar los métodos estadísticos que ya
comentamos en el apartado dedicado a las redes de retropropagación, el equilibrio termodinámico
simulado.