Redes de Hopfield

Introducción

Funcionamiento

Aprendizaje de los pesos: regla de Cooper-Hebb

Condiciones de estabilidad y función de energía

Algoritmo secuencial (asíncrono)

Algoritmo paralelo (síncrono)

Interés práctico y valoración

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.

 

Ilustración 11 Modelo de Red de Hopfield de 3 unidades

Como habíamos dicho, las neuronas se conectan todas entre sí, y consigo mismas. Para empezar se le asigna a cada unidad el valor o estado correspondiente del patrón de entrada. En cada ciclo se elige una neurona al azar y se calcula su activación (que coincide con su salida) según una función de umbral.

outi=1 si neti > q i 

outi=0 si neti <= q i

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.

outi=1 si neti > 0

outi=0 si neti <= 0

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.

Aprendizaje de los pesos: Regla de Cooper-Hebb

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:

si i j (la matriz de pesos es simétrica)

wij = 0 si i = j (y la diagonal vale 0)

Esta regla fortalece las conexiones cuando las unidades i-ésima y j-ésima tienen la misma activación o valor de estado, y las debilita en caso contrario.

El entrenamiento seguirá los siguientes pasos.

  1. Elegir un número de neuronas que cumpla el criterio del 15%
  2. Codificar los ítems que queremos memorizar de forma que los patrones para representarlos se parezcan lo menos posible entre sí, para aproximarnos a la condición de pseudo-ortogonalidad.
  3. Calcular los pesos de las conexiones según la regla de Cooper-Hebb.

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

Condiciones de estabilidad y función de energía

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:

Que como wii = 0 nos queda

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.

Veamos una versión discreta del gradiente:

Para garantizar el descenso de la función de energía, D yi se debería actualizar en la dirección de descenso del gradiente, esto es,

D yi(k+1) a neti(k+1)

Algoritmo secuencial (Asíncrono)

Tomamos uno de los patrones memorizados, p, y lo introducimos como vector de estado inicial, con N dimensiones

y(0)=[y1(0),y2(0), ..., yN(0)]T

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.

  1. Cálculo de los valores de red

  2. Actualización de los estados

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.

Algoritmo paralelo (Síncrono)

Los pesos se obtienen igual con una diferencia, la diagonal no se pone a 0

wij 0

Los umbrales de la red se calculan igual que en el modelo secuencial.

Durante la iteración k-ésima:

  1. Cálculo de los valores de red en paralelo (todas las unidades en cada paso) para i=1,2..., N,

  2. Actualización de los estados de activación e paralelo

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

El cambio de nivel de energía debido a una iteración de actualización paralela, aplicando , 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.)

Interés práctico y valoración

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.

Pero pese a sus evidentes ventajas no están exentas de problemas: