Está en la página 1de 7

Redes de Hopfield

Teodoro Dannemann Alvarez

Instituto de F´ısica, Universidad Aut´onoma Nacional de M´exico Distrito Federal M´exico

29 de mayo de 2014

1. Introducci´on

A pesar de ser un tema relativamente antiguo, las redes de Hopfield plantean un paradigma

en la computaci´on neuronal y tiene implicancias que llegan a la investigaci´on actual. Su relevancia

radica en ser un modelo muy simple, en el cual se presentan fen´omenos colectivos a partir de reglas locales, y que puede almacenar una gran cantidad de patrones, mientras el n´umero de ´estos sea suficientemente menor que el n´umero de neuronas del sistema. En el siguiente trabajo se detalla el funcionamiento y din´amica de las redes de Hopfield. Luego se caracteriza el proceso de aprendizaje, mediante el cual se ”entrena” a la red para que ´esta recuerde ciertos patrones, y se muestra un caso aplicado de reconocimiento de im´agenes usando este algoritmo. Finalmente se discute la eficiencia de c´omputo y las limitaciones de ´este modelo, y se menciona la posible generalizaci´on al caso de redes libres de escala, espec´ıficamente usando el modelo de Barab´asi-Albert.

2. Estructura

La relevancia de las redes de Hopfield como modelo de red neuronal radica en que presentan pro- piedades de c´omputo colectivo, las cuales emergen espont´aneamente en un sistema con un n´umero grande de ”neuronas”[3]. Veremos que las propiedades de su estructura, como su conectividad permi- ten el surgimiento de propiedades bastante robustas pero que, sin embargo, esto mismo se convierte en una debilidad frente a la capacidad y tiempo de c´omputo. A trav´es de un an´alisis detallado de su estructura, se ver´a que la convergencia a ciertos atractores estables est´a asegurada bajo ciertos supuestos, y luego se mostrar´a c´omo se pueden fijar estos atractores a conveniencia propia. Las redes de Hopfield son redes completas, es decir, todos los nodos, en principio, est´an conectados con todos. Sin embargo, es una red con pesos, por lo que los nodos pueden estar correlacionados (ω ij > 0), descorrelacionados (ω ij = 0) o negativamente correlacionados (ω ij = 0). Para una red de n nodos, se define la matriz W como

W =

ω

ω

ω

11

21

.

.

.

n1

ω

ω

ω

12

22

.

.

.

n2

···

···

.

.

.

···

ω

ω

ω

1n

2n

.

nn

en donde ω ij corresponde al peso del enlace entre los nodos i y j. Los enlaces tienen 2 restricciones:

i) Son sim´etricos: ω ij = ω ji ii) No hay enlaces desde un nodo a s´ı mismo: ω ii = 0

De esta forma la matriz W se puede reescribir:

1

W =

0

ω

.

ω 1n

.

.

12

ω 12

0

.

.

.

ω 2n

···

···

.

···

.

.

ω

1n

2n

.

0

ω

Cada nodo i, que representa una neurona, puede estar en el estado de reposo (x i = 1) o exci- tado (x i = 1). El estado de la red quedar´a determinado para cada instante por el vector

3.

Din´amica

x = x 1 ,

x 2 ,

···

, x n T

En cada actualizaci´on del estado de la red, solamente un nodo cambia su estado. Este nodo es elegido al azar entre todos los nodos de la red. Supongamos que en el tiempo t elegimos al azar el nodo i, que se encuentra en el estado x i . El estado de x i en t + 1 est´a dado por:

El t´ermino

n

j=1

x i =

+1,

1,

si

si

n

j=1

n

j=1

ω ij x j

ω ij x j >

S

S

i

i

ω ij x j lo llamamos la excitaci´on del nodo i, y corresponde a la contribuci´on del

resto de los nodos de la red a la neurona i. Si esta excitaci´on est´a sobre el umbral S i de ese nodo, entonces el nodo se excita. En el caso contrario, el nodo est´a en reposo. En la Figura 1 se muestra un ejemplo en la din´amica de una red de 3 nodos.

✬✩

+1

✫✪

1

1

✬✩

1

✫✪

✬✩

+1

✫✪

1

✬✩

+1

✫✪

1

1

✬✩

+1

✫✪

✬✩

+1

✫✪

1

Figura 1: Ejemplo de din´amica de un sistema con n = 3 nodos. dentro de cada c´ırculo se muestra el estado de cada nodo. Suponemos para todos los nodos un umbral S i = 0,5. Para el paso mostrado aqu´ı, se actualiza el nodo marcado en rojo, el cual cambia su estado de reposo a excitado. Notar que posteriormente el sistema seguir´a evolucionando, es decir, a´un no se encuentra en un estado estable.

2

4.

Estabilidad

A continuaci´on veremos que esta din´amica, bajo ciertos supuestos, converge a atractores estables. Para esto se define la funci´on de energ´ıa E:

E

= 1

2

n

n

i=1 j=1

ω ij x i x j +

n

i=1

x i S i

Supongamos que en un paso cualquiera, el nodo que se actualiza es el nodo k, entonces:

x = x 1 , x 2 , ··· x k , ···

,

x n T x 1 ,

x 2 ,

··· x k ,

···

Podemos reescribir E de la siguiente manera:

E( x) = 1 2 {

n

i=1

ω ik x i x k +

n

i=1

ω ki x k x i + ω i,j x i x j } +

ij

=k

, x n T = x

n

i=1

x

i S i

Pero la primera y la segunda suma son iguales, ya que los enlaces son sim´etricos, entonces:

E( x) =

n

i=1

ω ik x i x k 1 2

ij

=k

ω i,j x i x j +

n

i=1

x

i S i

Ahora calculamos la variaci´on de esta funci´on cuando el nodo k cambia su estado. Al calcular E( x)E( x ) vemos que los unicos´ t´erminos que no se anulan son los que incluyen el t´ermino k-´esimo, por lo tanto:

E( x) E( x ) = (x k x k )[

n

i=1

ω ik x i S k ]

= 1, por lo que el par´entesis de la izquierda es positivo. Como el nodo k

pas´o de excitado a reposo, quiere decir que la activaci´on de ese nodo est´a bajo el umbral, es decir

n

ω ik x i < S k , por lo que el par´entesis de la derecha es negativo. Por lo tanto, la expresi´on completa

Si x k

1,

x

k

=

i=1

es positiva. Para el caso en que x k = 1, con el mismo an´alisis se llega a la misma conclusi´on, por lo que tenemos que:

E( x) E( x ) 0

Como se tiene un numero finito de posibilidades, esto asegura que se llega a un m´ınimo de E, el cual ser´a un estado estable. Por lo tanto, la din´amica de una red de Hopfield tiene atractores estables, y si uno comienza en un estado suficientemente cercano a este atractor, entonces el sistema converger´a a ´el. Este modelo es completamente an´alogo al modelo de Ising, en donde el sistema tambi´en alcanza un m´ınimo local de la funci´on de energ´ıa, definida como:

E

= 1

2

n

n

i=1 j=1

ω ij x i x j +

3

n

i=1

hx i

o

y

en donde los x i representan los espines de cada part´ıcula y puede ser

2

1 si el esp´ın es para arriba

1 2 si el esp´ın es para abajo, mientras que ω ij es la interacci´on entre los espines de las part´ıculas

h es el campo magn´etico externo.

5.

Aprendizaje

Una vez asegurada la existencia de atractores estables, se analiza de qu´e forma podemos estruc- turar la red para que converja a un estado particular que uno desee. Para esto, se define un algoritmo de manera que la red ”aprende” los patrones deseados, de manera que ´estos se transforman en los atractores. Para esto definamos la funci´on de energ´ıa en forma matricial:

1

E( x) = 2 x T W x

En donde W es la matriz de los pesos. En este caso asumimos los umbrales S i iguales a cero, para facilitar lo c´alculos, pero el procedimiento es an´alogo para el caso m´as general. Sea x el vector correspondiente a un patr´on que se desea que la red aprenda, de manera que se convierta en un atractor. Se propone la siguiente matriz de pesos:

Para este caso se tiene que:

W = x x T I

E( x) = 1 2 x T x x T x + 1 2 x T x

Dado que son vectores bipolares, x T x = n. Por lo tanto:

1

E( x) = 2 x T x 2 +

1

2 n

Lo anterior tiene un m´ınimo para x = x , y en ese caso tenemos:

E( x ) = 1 2 n 2 +

1

2 n

Con esto se comprueba que definiendo la matriz W de esta forma, aseguramos tener el resultado esperado, es decir, que x sea un atractor de la din´amica de la red. En el caso de que se tengan muchos , digamos, m patrones, definimos la matriz W

W = x 1 x

1

T

I + x 2 x 2 T I + ··· + x m x m T I = x 1 x 1 T + x 2 x 2 T + ··· + x m x m T mI

Sea e el vector de las excitaciones de cada nodo. Sin perder generalidad, asumamos que el sistema est´a en x 1 . La excitaci´on est´a dada por:

e = Wx 1 = x 1 x 1 T x 1 + x 2 x 2 T x 1 + ··· + x m x m T x 1 mx

1

4

e = (n m)x 1 +

m

i=1

i (x i T x 1 )

x

Vemos que si n m, el primer t´ermino se parece a x 1 y, por lo tanto, la excitaci´on debida a este t´ermino tiene el mismo signo que el vector original. El segundo t´ermino es una suma que contiene productos internos entre los m vectores que la red ha aprendido. Si estos vectores son ortogonales o ”cas ortogonales, estos productos interiores son muy peque˜nos y por lo tanto el segundo t´ermino no contribuye mucho en comparaci´on al primero (que es del orden de n). Por lo tanto, para n grandes en comparaci´on con m, se tiene que el sistema converge a los m patrones de manera adecuada.

6. Ejemplo

Para mostrar la robustez del modelo, se realizaron pruebas con patrones que representan letras del abecedario, mediante una matriz de pixeles de 5x5. Primero se entren´o a la red para que recordase los patrones, y luego se distorsionaron los patrones de manera que la red buscar´a los atractores. En la figura se muestran los patrones incorporados.

En la figura se muestran los patrones incorporados. Figura 2: Patrones que la red aprende Se
En la figura se muestran los patrones incorporados. Figura 2: Patrones que la red aprende Se

Figura 2: Patrones que la red aprende

Se realizaron pruebas distorsionando estos patrones y analizando c´omo responde la din´amica a estas perturbaciones. En la figura 3 se muestran algunas de las condiciones iniciales usadas, y los atractores a los que se llega despu´es de 100 iteraciones. Se puede apreciar que el modelo es bastante robusto, ya que puede converger a los patrones recordados incluso cuando est´an completamente distorsionados, y se ha perdido la mayor parte de la informaci´on.

7. Discusi´on y conclusiones

Si bien la convergencia a ciertos patrones est´a garantizada (mientras m sea menor que n), la velocidad en que esto sucede puede ser muy baja. Esto es principalmente debido al efecto de que las actualizaciones son nodo a nodo. Dado que se elige un nodo al azar dentro de los n, puede que pase mucho tiempo antes de que el nodo necesario se actualice, y por lo tanto, converja a un estado estable. Por otro lado, para calcular la matriz W se realiza un producto de 2 vectores de tama˜no n, es decir, se realizan n 2 operaciones. De esta manera, la cantidad de operaciones de c´omputo que requiere este modelo, crece r´apidamente con n, lo que lo hace poco eficiente para n grande. Sin embargo, una alternativa de disminuir el tiempo de computaci´on que se ha propuesto, es in- corporar una red del tipo Barabasi-Albert [6]. Este supuesto adem´as tiene un sustento biol´ogico,

5

✲ Figura 3: En la columna izquierda se muestran las distintas condiciones iniciales, mientras que
✲ Figura 3: En la columna izquierda se muestran las distintas condiciones iniciales, mientras que
✲ Figura 3: En la columna izquierda se muestran las distintas condiciones iniciales, mientras que
✲ Figura 3: En la columna izquierda se muestran las distintas condiciones iniciales, mientras que
✲ Figura 3: En la columna izquierda se muestran las distintas condiciones iniciales, mientras que
✲ Figura 3: En la columna izquierda se muestran las distintas condiciones iniciales, mientras que
✲ Figura 3: En la columna izquierda se muestran las distintas condiciones iniciales, mientras que
✲ Figura 3: En la columna izquierda se muestran las distintas condiciones iniciales, mientras que

Figura 3: En la columna izquierda se muestran las distintas condiciones iniciales, mientras que en la columna de la derecha se ven los atractores a los que converge cada condici´on inicial

6

por la idea de que las redes neuronales reales parecen tener una estructura de red libre de escala. Como sabemos, esta red se crea mediante el m´etodo de preferential attachment, en donde los nodos que se van incorporando es m´as probable que se unan a nodos que tienen m´as conexiones (”rich gets richer”). En este caso, se comienza con un un n´umero m de nodos completamente conectados. Luego se van agregando nuevos nodos bajo preferential attachment, y cada nodo que se agrega, tiene m enlaces con la red a la que se incorpora. Se agregan N nodos, con N m. Stauffer et al. [6] mostraron que para 1 m N no s´olo se tiene una convergencia a los patrones deseados, sino que

tambi´en se tiene una disminuci´on considerable del tiempo de c´omputo. Esto es debido a que en este caso las conexiones son del orden de mN , mientras que para la red de Hopfield completa hay N 2 .

Por lo tanto, hay una disminuci´on por un factor de m

N en las conexiones.

Como se ha mostrado, las aplicaciones de las redes de Hopfield son numerosas debido a su gran capacidad de almacenamiento de patrones. Un ejemplo obvio es el de reconocimiento de im´age- nes por una computadora, ya que presenta una gran capacidad de eliminar ”ruido” en patrones distorsionados. Su debilidad es el tiempo de c´omputo, que crece como N 2 . Sin embargo, muchas variaciones a este modelo, como por ejemplo, la incorporaci´on de redes libres de escala, lo pueden hacer m´as eficiente, eliminando enlaces que no aportan nueva informaci´on y as´ı disminuyendo la memoria necesaria para almacenar ciertos patrones.

Referencias

[1] Hebb D.O., The Organization of Behavior, Wiley, 1949

[2] Hopfield J.J., Proc. Natl. Acad. Sci. USA,Vol. 79, pp. 2554-2558, April 1982.

[3] Hopfield J.J., Proc. Natl. Acad. Sci. USA,Vol. 81, pp. 3088-3092, 1984

[4] Pellegrini G. L., de Arcangelis L., Herrmann H. J. , Perrone-Capano C., Phys. Rev., E 76, 016107, July 2007

[5] Rojas R., Neural Networks: A systematic approach. Springer, Berlin, 1996.

[6] Stauffer D., Aharony A., da Fontoura Costa L., Adler J, Eur. Phys. J. B, 32, 395-399, 2003

7