La red de Hopfield recuerda cayendo cuesta abajo

Cada memoria es un valle en un paisaje de energía. Dale a la red un recuerdo dañado y sus 144 neuronas se irán acomodando, una a una, hasta caer en el valle más cercano. Dibuja sobre la cuadrícula, añade ruido y pulsa “Recordar”.

Estado de la red

12 × 12 neuronas binarias: oscuro = +1 (activa), claro = −1. Haz clic o arrastra para dibujar. Al pasar el cursor por una neurona verás sus pesos abajo.

Actualización

Memorias almacenadas

La barra muestra el solapamiento m con el estado actual: +1 idéntico, 0 sin relación, −1 su negativo. Toca una memoria para cargarla en la red.

Añadir:
Regla de aprendizaje
Carga α = P/N –

Energía y solapamientos

Con temperatura cero la energía solo puede bajar o quedarse igual: cada cambio de una neurona hace descender a la red por el paisaje. El eje horizontal cuenta barridos (144 actualizaciones).

Los pesos sinápticos

La matriz W de 144 × 144 guarda todas las memorias superpuestas; ninguna está en un lugar concreto. A la derecha, la fila de la neurona elegida vista como imagen: a quién excita (verde) y a quién inhibe (rojo). La neurona elegida queda fija aunque saques el cursor de la red.

inhibiciónexcitación

Elige una neurona pasando el cursor por la red, tocando una fila de la matriz o tocando esta imagen.

¿Cuántas memorias caben?

Experimento con N = 100 neuronas y patrones aleatorios: se guardan P memorias, se corrompe cada una con 10 % de ruido y se mide qué fracción se recupera. Con la regla de Hebb la memoria se derrumba cerca de α ≈ 0,138 (línea punteada).

El modelo

Cada neurona tiene un estado si = ±1. Para recordar, se elige una neurona y se alinea con su campo local:

si ← sgn( hi ),   hi = Σj wij sj

Los pesos se aprenden con la regla de Hebb, “las neuronas que disparan juntas se conectan”:

wij = (1/N) Σμ ξiμ ξjμ,   wii = 0

Como W es simétrica, existe una función de Lyapunov, la energía

E = −½ Σi,j wij si sj

que nunca aumenta con la actualización asíncrona. Por eso la red siempre llega a un punto fijo: un mínimo local de E.

La pseudo-inversa usa w = (1/N) Σμν ξμ(C−1)μνξν, con C la matriz de solapamientos entre memorias. Descorrelaciona patrones parecidos.

Qué observar

  • Memoria direccionable por contenido. No se busca una dirección: un fragmento del recuerdo basta para reconstruirlo. Carga “cara”, añade 25 % de ruido y recuerda.
  • Cuencas de atracción. Con más de un 40 % de ruido el estado inicial cae en otro valle: la red recuerda algo, pero no lo correcto.
  • Estados inversos. E es simétrica bajo s → −s, así que el negativo de cada memoria también es un mínimo. Pulsa “Invertir” y luego “Recordar”.
  • Interferencia. Añade “corazón” y “flecha”: se parecen a “casa” y con Hebb aparecen estados espurios, mezclas de varias memorias. Cambia a la pseudo-inversa y vuelven a ser estables.
  • Actualización síncrona. Si todas las neuronas cambian a la vez, la energía ya no está garantizada y pueden aparecer ciclos de período 2.
  • Temperatura. Con T > 0 cada neurona sigue a su campo solo con probabilidad 1/(1 + e−2h/T). Un poco de ruido ayuda a escapar de mínimos espurios poco profundos; demasiado borra la memoria.