La BAM y la memoria de Hopfield

 

          El sistema BAM es un tipo de RNA que se denomina memoria asocia­tiva bidireccional. La definición de una memoria asociativa, es aplicable a otros tipos de RNA como es la red de propagación hacia atrás. Las definiciones y conceptos siguientes, están orientados hacia dos variedades de memorias: la memoria bidireccional asociativa (BAM) y la memo­ria de Hopfield. El lector debe generalizar el tratamiento para que se incluyan otros modelos de redes. El concepto de memoria asociativa es bastante intuitivo: la memoria asocia­tiva parece ser una de las funciones primordiales del cerebro humano. Asocia­mos fácilmente la cara de un amigo con su nombre, o el nombre del amigo con un nú­mero telefónico. Hay muchos dispositivos que muestran características de memoria asocia­tiva. Por ejemplo, los bancos de memoria de una computadora usan un tipo de memoria asociativa: se asocian direcciones con datos. Un programa orientado a objetos con herencia muestra otro tipo de memoria asociativa. Dado un dato, el programa orientado a objetos asocia otra información con los datos. Este tipo de memoria se denomina memoria de acceso por contenido (MAC). La MAC asocia datos con las direcciones de otros datos; hace todo lo con­trario que un banco de memoria de una computadora. La memoria de Hopfield, en particular, representa un papel importante en el resurgimiento de las RNA. Con una importan­cia no menor que la de cualquier otro factor individual, los esfuerzos de John Hopfield, del Instituto Tecnológico de California, tienen un efecto estimulante en la comunidad científica que se dedica al estudio de las RNA.

 

Distancia de Hamming.

La Figura siguiente 4.1 muestra un conjunto de puntos que forman el cubo de Hamming tridimensional.

Esta figura muestra el cubo de Hamming en el espacio tridimensional,

el espacio de Hamming tridimensional completo, H3, comprende los 8 puntos

que tienen como valores de sus componentes  ó –1.

Estos son los únicos puntos que existen en este espacio tridimensional.

 

En general, el espacio de Hamming se define mediante la expresión;

 

                                (4.1)

 

“El espacio de Hamming n-dimensional es el conjunto de vectores n-dimensionales cuyos componentes son elementos del conjunto de números reales R, estando sujetos los componentes a la restricción consistente en que su valor sólo puede ser + 1”.

 

Este espacio contiene 2n puntos, todos son equidistantes del origen del espacio euclídeo. Hay modelos de redes neuronales que emplean el concepto de dis­tancia entre dos vectores. Sin embargo, existen muchas formas de medir distan­cias. Se define enseguida la medición de distancia que se conoce con el nombre de distancia Hamming, y se muestra su relación con la ya familiar distancia euclídea entre puntos.

 

Sean  e  dos vectores del espacio euclí­deo n-dimensional, sujetos a la restricción consistente en que xi, yi, de tal forma que x e y son también vectores del espacio de Hamming n-dimensio­nal. Entonces la distancia euclídea entre los extremos de los dos vectores es:

 

 

Dado que xi, yi,, será (xi-yi)2 e {0,4}:

 

Por tanto, la distancia euclídea se escribe en la forma siguiente:

 

             (4.2)

 

Se define a la distancia Hamming en la forma: h = número de bits distintos entre “x” e “y”, aun cuando los componentes de los vectores son +1 y –1, se utiliza el término bits ó bipolares para aludir a los componentes de los vectores, se reserva el término binario para aquellos vectores cuyos componentes son 0 y 1. La distancia de Hamming está relacionada con la distancia Euclídea mediante la ecuación:

                                 (4.3)

o bien:

                                   (4.4)

Ejercicio:

Determinar la distancia Euclidea entre (1,1,1,1,1 )t y (-1,-1,1,-1,1)t. Em­plear este resultado para determinar la distancia de Hamming.

 

El asociador lineal

Supongamos que se tienen L pares de vectores {(x1, y1), (x2, y2), ... (XL, YL)} en donde  e .  Estos vectores se denominan ejemplares, porque se utilizan como ejemplos de asociaciones correctas. Se distinguen tres tipos de memorias asociativas:

 

 

1.         Memoria heteroasociativa:

Establece una correspondencia F de x en y de tal manera que F(xi) = yi, y, si un x arbitrario está más próximo a xi que a cualquier otro xj, con j = 1,2, ...L, entonces  ³ (x) = yi. En esta definición, así como en las siguientes, más próximo quiere decir con respecto a la dis­tancia de Hamming.

 

2.         Memoria asociativa interpoladora:

Establece una correspondencia F de x en y de tal manera que F(x) = yi, pero, si el vector de entrada difiere de uno de los ejemplares en el vector d, de tal modo que x = xi + d, entonces la salida de la memoria también difiere de uno de los ejemplares en algún vec­tor e: F(x) = F(xi + d) = yi + e.

 

3.         Memoria autoasociativa:

Presupone que yi = xi y establece una correspon­dencia F de x en x tal que F(xi) = xi, y, si algún x arbitrario está más pró­ximo a xi que cualquier otro xj, con j = 1,2, ... L, entonces es F(x) = xi.

 

No es difícil construir matemáticamente una memoria como ésta si se aplica la restricción adicional consistente en que los vectores xi constituyan un con­junto ortonormal. Se define un conjunto ortonormal mediante la relación   en donde  si i = j y si i ¹ j. Para construir una memoria asociativa interpoladora, se de­fine la función

 

                              (4.5)

 

Si x1 es el vector de entrada, entonces F(xi) = Yi, puesto que el conjunto de vectores x es ortonormal.

 

Este resultado se puede apreciar a partir del ejemplo siguiente. Sea x2 el vector de entrada. Entonces, a partir de la Ecuación (4.5)

 

 

 

 

 

 

Todos los términos ij de la expresión son nulos, salvo 12 que es igual a 1. El resultado es que reaparece tal cual y2:

 

 

Si el vector de entrada es distinto de uno de los ejemplares, tal como x = xi + d, entonces la salida es:

 

en donde

 

 

Obsérvese que no existe ninguna condición en el tratamiento del asociador lineal que requiera que los vectores de entrada o de salida sean miembros del espacio de Hamming; el único requisito es que sean ortonormales. Además, obsérvese que tampoco existe ningún entrenamiento previo implicado en la definición del asociador lineal. La función que asocia x con se define mediante la expresión matemática de la ecuación 4.5.  Los modelos asociativos comparten esta característica; es decir, no se entrenan en el sentido en que se entrena una RNA tipo Adaline, o una red de propagación hacia atrás. El modelo de una BAM utiliza la aproximación de procesamiento distribuido.

La BAM

La BAM consta de dos capas de elementos que están completamente interconectados entre capas. Las unidades pueden o no tener conexiones de retroalimentación consigo mismas. El caso general se ilustra en la figura siguiente.

 

La BAM que se muestra posee “n” unidades en la capa x, y “m” unidades en la capa y, se denomina al vector x de entrada, y al vector y de salida. En Esta red  e .  Todas las conexiones entre unidades son bidireccionales, con pesos en ambos extremos. La información va y viene de una capa a la otra, a través de estas conexiones. Las conexiones de retroalimentación de cada unidad pueden no estar presentes en toda la arquitecturas BAM.

   

Arquitectura de la BAM.

Al igual que en otras redes neuronales, en la arquitectura de la BAM existen pesos que se asocian a las conexiones entre elementos de un proceso. A diferencia de otras arquitecturas, estos pesos se determinan por anticipado, así es posible identificar a todos los vectores de entrenamiento.

Se toma el procesamiento del modelo del asociador lineal para construir la matriz de pesos. Dados L pares de vectores que constituyen al conjunto de ejemplares que deseamos almacenar, se construye la matriz:

                            (4.6)

 

Esta ecuación genera los pesos de las conexiones procedentes de la capa x, con destino en la capa y. Por ejemplo, el valor w23 es el peso de la conexión procedente de las tercera unidad de la capa x, con destino en la segunda unidad de la capa y. Para construir los pesos de las unidades de la capa x, sólo hay que tomar la transpuesta de la matriz de pesos, wt. Se transforma la BAM en una memoria autoasociativa construyendo la matriz de pesos en la forma siguiente:

 

 

En este caso la matriz de pesos es cuadrada y simétrica.

Procesamiento en la BAM.

Una vez que se construye la matriz de pesos, la BAM se emplea para recordar información, (por ejemplo un numero de teléfono), al presentarse una cierta información clave (el nombre correspondiente a un numero de teléfono concreto). Si la información sólo se conoce parcialmente por anticipado, o si se tiene ruido (un timbre mal escrito, como pudiera ser <<Perec>>), la BAM es capaz de completar la información (produciendo la ortografía correcta, <<Perez>>, y el numero de teléfono correspondiente).

 

Para recordar información mediante la arquitectura BAM, se llevan a cabo los pasos siguientes:

 

1.                  Se aplica un par de vectores inicial (x0, y0) a los elementos de proceso de la BAM.

2.                  Se propaga la información de la capa “x” a la capa “y”, y se actualizan los valores de las unidades de la capa “y”.  Aunque siempre se empieza por la propagación de “x” a “y”, se puede empezar en la dirección contraria.

3.                  Se vuelve a propagar la información ya actualizada hacia la capa “x”, y se ac­tualizan las unidades que se encuentran allí.

4.                  Se repiten, 2 y 3 hasta que ya no existen cambios en las unidades de ambas capas.

 

Este algoritmo es lo que proporciona a la BAM su naturaleza bidireccional. Los términos entrada y salida se refieren a distintas magnitudes, dependen de la dirección real de la propagación. Por ejemplo, al pasar de la y a la x, el vector y se consi­dera como entrada de la red, y el vector x es la salida. Cuando la propagación se hace partiendo de x para llegar a y, sucede lo contrario.

 

Si todo va bien, el estado final, ya estable, recuerda alguno de los ejemplares previamente empleado para construir la matriz de pesos. En este ejemplo se supone que se sabe algo acerca del vector x deseado, quizá no se sepa nada acerca del vector y, asociado, se espera que la salida final sea el ejemplar cuyo vector x1 sea el más próximo al vector de entrada original, x0, según la distancia de Hamming. Esta situación funciona bien si no se sobrecargan ejemplares a la BAM.

 

Si se deposita demasiada información en una BAM, se produce el fenómeno «Crosstalk» interferencia cruzada entre tramas ejemplares. La interferencia cruzada sucede si las tramas ejem­plares están muy próximas entre sí. La interacción entre estas tramas próximas dan lugar a la creación de estados estables espurios. En ese caso, la BAM se estabiliza en vectores sin sentido.

 

Matemáticas de la RAM

El procesamiento básico que realiza cada unidad de la BAM es similar al que se hace mediante un elemento general de proceso. Las unidades calculan sumas de productos de las entradas por los 4 pesos, para determinar un valor de entrada neto, en la capa y,

 

                            (4.7)

 

En donde netoy es el vector de valores de la capa y: En términos de las unidades individuales yi.

 

 

En la capa x,

 

 

Las magnitudes n y m son las dimensiones de las capas x e y, respectivamente. El valor de salida para cada elemento de proceso depende del valor neto de la entrada, y del valor actual de salida de esa capa. El nuevo valor de y en el instante t + 1, y(t+1), esta relacionado con el valor de y en el instante t, y(t), mediante

 

 

De manera similar, x (t+1) está relacionado con x(t) mediante

 

 

Vamos a ilustrar el procedimiento BAM con un ejemplo concreto.

 

Ejercicio 1).-

Se ilustra el procesamiento BAM con un ejemplo, sea:

 

 

 

 

 

Se hacen largos estos vectores a propósito, con objeto de minimizar la posibilidad de interferencias cruzadas. El cálculo a mano de la matriz de pesos es tedioso, pero la matriz de pesos es dispersa.

La matriz de pesos se calcula como sigue:

 

 

Para hacer la primera prueba se selecciona un vector "x" con una distancia de 1 con respecto al punto x1.  

 

Esta situación representa un ruido del vector de entrada, el vector inicial para "y" es uno de los vectores de entrenamiento:

Obsérvese que en un problema real es posible que no se tenga un conocimiento previo del vector de salida, si es necesario, se utiliza un vector bipolar aleatorio. 

 

Se va a propagar primeramente desde x hasta y, las entradas netas de las unidades y son:

 

              

El nuevo vector de y es:

 

Que es también uno de los vectores de entrenamiento:  Haciendo de nuevo la propagación de vuelta a la capa x, se obtiene:

 

 

 

Las pasadas anteriores no dan lugar a cambios, así que se ha terminado. La BAM recuerda con éxito al primer conjunto de entrenamiento.

 

Ejercicio 2).-

Repetir los cálculos que se acaban de mostrar, pero empezar con la propagación de”y” hacia “x”.

¿Es el resultado lo que se esperaba?

 

Para nuestro segundo ejemplo, seleccionamos los siguientes vectores iniciales:

 

         

 

Las distancias Hamming del vector x0 con respecto a los vectores de entrenamiento son:

 

h(x0-x1) = 7     y

 

h(x0-x2) = 5.

 

Para el vector y0 los valores son:

 

h(y0-y1) = 4     y

 

h(y0-y2) = 2

 

Basándonos en estos resultados, podríamos esperar que la BAM se acomodase al segundo ejemplar como solución.

 

Se vuelve a empezar propagando la “x” hacia la “y” y el vector y nuevo es:

 

 

                            

El nuevo vector de y es:

 

Haciendo la propagación hacia atrás, de “y” hasta “x”, se obtiene x nuevo:

 

 

 

 

Las propagaciones posteriores no modifican los resultados. Si se examinan estos vectores de salida, se observará que no coinciden con ninguno de los ejemplares. Además, son realmente el complemento del primer conjunto de entrenamiento, (xnuevo, ynuevo) = xc, yc en donde el subíndice <<c>> indica que es un complemento. Este ejemplo ilustra una propiedad básica de la BAM: si se codifica un ejemplar (x, y), también se codifica su complementario.

 

La mejor manera de familiarizarse con las propiedades de una BAM es hacer muchos ejemplos. Por tanto, recomendamos los siguientes ejercicios.

 

Ejercicio 4.3).-

 

Utilizando la misma matriz de esos del ejercicio 4.2, experimentar con varios vectores de entrada distintos para investigar las características de la BAM.  En particular, evaluar la diferencia entre empezar por la propagación de “x” hacia “y”, ó empezar por la propagación de “y” hacia “x”.

Tomar vectores iniciales que tengan distintas distancias Hamming con respecto a los vectores ejemplares.  Además, intentar añadir más ejemplares a la matriz de pesos.  Es posible añadir más ejemplares a la matriz de pesos mediante un sencillo paso aditivo.  ¿Cuántos ejemplares se pueden añadir antes de que las interferencias cruzadas pasen a ser un problema significativo?.

 

 

 

 

 

Ejercicio 4.4:  Construir una RAM autoasociativa empleando los siguientes vectores de entrenamiento:

x1 =  (1, -1, -1, 1, -1, 1)T  y   x2 = (1, 1, 1, -1, -1, -1)T

 

Determinar la salida empleando x0  = (1, 1, 1, 1, -1, 1)T, que se encuentra a una distancia de Hamming igual a dos con respecto a ambos vectores de entrenamiento.

Probar x0 = (-1, 1, 1, -1, 1, -1)T, que es un complemento de uno de los vectores de entrenamiento.  Ex­perimentar con esta red de acuerdo con las instrucciones del Ejercicio 4.3. Además, pro­bar con los elementos diagonales de la matriz de pesos puestos a cero.  ¿Tiene esto algún efecto sobre el funcionamiento de la RAM?

 

Función de energía de la BAM

En las redes neuronales básicas se analiza un proceso iterativo para hallar los valores de los pesos adecuados para una aplicación concreta. Con estas descripciones, cada punto del espacio de pesos tiene asociado un cierto valor de error. El proceso de aprendizaje es un intento iterativo por hallar los pesos que minimizan el error. Para adquirir una comprensión del proceso, se examinan casos sencillos que tienen dos pesos de tal forma que cada vector de peso corresponda con un punto de una superficie de error en tres dimensiones. La altura de la superficie en cada punto determina el error asociado a ese vec­tor de pesos. Para minimizar el error, se empieza en algún punto inicial dado, y se desplaza sobre la superficie hasta alcanzar el valle más profundo de la misma. El punto mínimo corresponde a los pesos que dan lugar al valor de error más pequeño. Una vez que se hallan esos pesos, no se permiten más cambios, y el entrenamiento ha concluido. Durante el proceso de entrenamiento, los pesos forman un sistema diná­mico. Esto es, los pesos cambian en función del tiempo, y estos cambios se  representan en forma de un conjunto de ecuaciones diferenciales acopladas.

 

Para la BAM se produce una situación ligeramente distinta. Los pesos se calculan por adelan­tado y no forman parte de un sistema dinámico. Por otra parte, una trama des­conocida que se presente a la BAM hacen necesarias varias pasadas hasta que la BAM se estabilice en un resultado final. En esta situación, los vectores “x” e “y” cambian en función del tiempo y forman un sistema dinámico.

 

En los dos sistemas dinámicos descritos, nos interesan varios aspectos de la conducta del sistema:

 

  1. ¿Existe una solución? y de ser así,
  2. ¿Convergerá el sistema en un tiempo finito?
  3. ¿Cuál es la solución?

 

Hasta el momento, se analiza fundamentalmente de la última de estas tres preguntas. Ahora se exami­nan las dos primeras.  Para los ejemplos sencillos tratados hasta ahora, la pregunta acerca de si existe o no solución es académica. Se han encontrado soluciones; por lo tanto, existen.

 

Es posible que la fortuna este de nuestro lado simple­mente, en la elección de problemas. Es válida la pregunta con­sistente en si la BAM, o cualquier otra red, va a converger siempre a una solución estable. La técnica descrita aquí es bastante fácil de aplicar a la BAM. Desafortunadamente, otras arquitecturas de red no tienen prueba de convergencia. La falta de esta prueba no significa que la red no vaya a funcionar correctamente, pero no hay garantía de que vaya a converger para ningún pro­blema dado. En la teoría de sistemas dinámicos se prueba un teorema acerca de la existencia de estados estables que emplea el concepto de una función llamada función de Lyapunov ó función energía.

 

Se presenta enseguida una función que no es rigurosa, pero es útil para analizar la BAM. Si se halla una función acotada de las variables de estado de un sistema dinámico, de tal forma que todos los cambios de estado den lugar a una disminución del valor de la función, enton­ces el sistema posee una solución estable.

 

Esta función se llama función de Lyapunov ó función energía. En el caso de la BAM, esa función existe. Se de­nomina función de energía de la BAM; y posee la forma siguiente:

 

                               (4.13)

 

o bien, en términos de los componentes,

 

                                                  (4.14)

 

Ahora se va a expresar un teorema importante acerca de la función de energía de la BAM, que ayuda a responder a las preguntas realizadas acerca de la existencia de soluciones estables para las ecuaciones de proceso de la BAM. El teorema tiene tres partes:

 

  1. Todo cambio de “x” ó de “y” durante el proceso de la BAM da lugar a una dis­minución de E.
  2. E posee como límite inferior el dado por 
  3. Cuando cambia E, debe hacerlo en una cantidad finita.

 

Los puntos 1 y 2 demuestran que E es una función de Lyapunov, y que el sistema dinámico posee un estado estable. En particular, el punto 2 muestra que E puede disminuir sólo hasta un cierto valor; sigue hacia abajo en dirección al infinito negativo, así que eventualmente los vectores “x” e “y” tienen que dejar de cambiar. El punto 3 evita la posibilidad consistente en que los cambios de E sean infinitesimalmente pequeños, dando lugar a que transcurriera una cantidad infinita de tiempo antes de alcanzar la E mínima.

 

En esencia, la matriz de pesos determina el contorno de una superficie o paisaje, con valles y colinas.

 

Figura 4.3 Esta figura muestra una sección transversal de un paisaje de energía BAM en dos dimensiones. La topografía concreta resulta de la elección de vectores ejempla­res que constituyen la matriz de pesos. Durante el procesamiento, el valor de la energía BAM va cambiando desde el punto inicial hacia abajo por la pendiente energética hasta el mínimo más próximo, mientras que las salidas de la BAM pasan del estado “a” al estado “b”. Obsérvese que los mínimos alcanzados no tienen por qué ser los mínimos globales ó más bajos del paisaje.

La Figura 4.3 ilustra una vista de una de estas superficies en sección transversal. La analogía de la función E como función de energía pro­cede del análisis de la forma en que funciona la BAM. El estado inicial de la BAM se determina por la elección de vectores iniciales (x e y). A medida que la BAM procesa los datos, “x” e “y” cambian, lo cual genera cambios de la energía sobre el paisaje; el teorema de energía de la BAM garan­tiza que estos cambios sean siempre hacia abajo.

 

Inicialmente, los cambios de los valores calculados de E(x, y) son grandes. A medida que los vectores “x” e “y” alcanzan su estado estable, el valor de E cambia en cantidades más pequeñas, y acaba por detenerse al alcanzar el punto mínimo. Esta situación corresponde a un sistema físico tal como una bola que rueda cuesta abajo hasta llegar a un valle, pero con rozamiento suficiente para que al llegar al fondo carezca de energía y se detenga. De esta manera la BAM se parece a un sistema dinámico disipativo, en el cual la función E corresponde a la energía del sistema físico. Recuérdese que la matriz de pesos determina cuántos valles energéticos existen, la distancia que media entre ellos, la profundidad que tienen y si hay o no valles inesperados (esto es, estados espurios).

 

Es necesario aclarar un punto. Se ilustran estos conceptos con el empleo de una sección bidimensional de un paisaje energético, y el término familiar valle para aludir a las posiciones de los mínimos. Un término más preciso sería de­presión. De hecho, en la literatura de sistemas dinámicos se conocen estas po­siciones con el nombre de depresiones atractivas.

 

Para hacer más consistente el concepto de energía de la BAM, volvamos a los ejemplos de la sección anterior. En primer lugar, obsérvese que según la se­gunda parte del teorema de energía de la BAM, el valor mínimo de E es -64, que se calcula sumando los valores negativos de los módulos de todos los com­ponentes de la matriz. El cálculo de E para los dos vectores de entrenamiento muestra que ambos pares se encuentran en el fondo de unas depresiones que poseen este mismo valor de E.

 

 Nuestros primeros vectores de prueba eran:

 

x0  = (-l, -l, -l, l, -l, l, l, -l, -l, l)T e yo = (l, l, l, l, -l, -l)T.

 

La energía de este sistema es:               .

 

La primera propagación arroja el resultado y_nuevo = (1, -l, -1, -1, -1, 1)T

 

y un nuevo valor de la energía                           . 

 

La propagación hacia atrás, de vuelta a x, dando lugar a un

 

x_nuevo=(1,- l,- l, 1, -1, 1, 1, -l, -l, l)T

 

Ahora la energía es                  .

 

En este punto, no son necesarias más pasadas por el sistema, puesto que - 64 es la energía más baja posible. Dado que todo cambio adicional de “x” ó de “y” haría disminuir la energía, no es posible tal cambio.

 

 

Ejercicio 4.5:

Llevar a cabo el cálculo de energía de la RAM para el segundo ejemplo de la Sección 4.2.3.

 

 

 

 

Demostración del teorema de energía de la BAM.

Se prueba ahora la primera parte del teorema de energía de la BAM. Se presenta esta demostración porque es a la vez elegante y fácil de entender. La prueba no es esencial para compren­der el material restante, así que puede obviarse si así se desea.

 

Se comienza por la Ecuación (4.14), que se reproduce aquí:

 

                                                  (4.14)

De acuerdo con el teorema, todo cambio de “x” ó de “y” debe dar lugar a una dis­minución del valor de E. Por sencillez, se considera primero un cambio de una sola componente de “y”, concretamente de yk.

 

Se vuelve a escribir la Ecuación (4.14) mostrando explícitamente término que contiene yk:

 

                           (4.15)

 

Ahora se hace el cambio , El nuevo valor de la energía es:

 

                 (4.16)

 

Dado que sólo ha cambiado yk, los segundos términos del lado derecho de las Ecuaciones (4.15) y (4.16) son idénticos. En tal caso, se puede escribir el cambio de energía en la forma

 

                  (4.17)

 

Por comodidad, recordemos las ecuaciones de cambio de estado que deter­minan el valor nuevo de yk:

           

 

Se pueden considerar dos posibles cambios de yk. Supóngase que y1 = +1, y que pasara a ser -1; en este caso . Ahora bien, según el procedi­miento para calcular esta transición sólo puede ocurrir si .   Por tanto, el valor de es el producto de un factor menor que cero por otro mayor que cero.

 

El resultado es que  <0.

 

La segunda posibilidad consiste en que yk = -1 y que   = ± 1.

Entonces  , pero esta transición sólo tiene lugar si  ,  es el producto de un factor menor que cero por otro mayor que cero.

 

En los dos casos en que cambia y1,  disminuye.

 

Obsérvese que, en el caso en que yk no cambia, ambos factores de la ecuación de son nulos, así que la energía no cambia mientras no cambie alguno de los dos vectores. La Ecuación (4.17) se puede extender para que abarque también la situación en la cual cambia más de un componente del vector y.

 

Si escribimos , entonces la ecuación que sustituye a la (4.17) para el caso general en el que puede cambiar cualquier componente de y es

 

               (4.18)

Esta ecuación es una suma de m términos, uno por cada posible , que son o bien negativos o bien nulos, dependiendo de si yi ha cambiado o no. Por tanto, en el caso general, E debe disminuir si “y” cambia.

 

Ejercicio 4.6:

Demostrar la segunda parte del teorema de energía de la RAM.

 

Ejercicio 4.7:

Demostrar la tercera parte del teorema de energía de la RAM.

 

Ejercicio 4.8:

Supóngase que se ha definido una RAM autoasociativa cuya matriz de pe­sos se calcula mediante.

 

                            (4.6)

 

en donde los xi no son necesariamente ortonormales. Demuéstrese que es posible escribir la matriz de pesos en la forma:

 

En donde es una constante, I es la matriz identidad y S es idéntica a la matriz de pesos, pero con ceros en la diagonal. Mostrar que, para un vector de entrada arbitrario “x”, el valor de la función energía de la RAM es:

 

 

en donde es una constante. A partir de este resultado, deducir que el cambio de energía debido a un cambio de estado, , es independiente de los elementos diagonales de la matriz de pesos.

 

 

 

 

 

 

La memoria de Hopfield

En esta sección se describen dos versiones de una RNA denominada memoria tipo Hopfield.

           

Se considera a la memoria de Hopfield como una derivación de la BAM, aunque existe la duda que sea ésta la forma en que se originó la memoria de Hopfield. Las versiones son la memoria discreta de Hop­field y la memoria continua de Hopfield, dependiendo de si las unidades de sa­lida son una función discreta o continua de las entradas, respectivamente.

 

La memoria discreta de Hopfield

En el tratamiento de las secciones anteriores se definía la RAM autoasociativa como aquélla que almacenaba y recordaba un conjunto de vectores . El método para determinar los pesos consistía en calcular la matriz de correlación:

 

 

La figura 4.4 representa una BAM que lleva a cabo esta función autoasociativa.

 

Figura 4.4 La arquitectura BAM autoasociativa posee igual número de unidades en las dos capas. Obsérvese que se han omitido las realimentaciones de todas las unidades.

 

Indicábamos en la sección anterior que la matriz de pesos para una memoria autoasociativa es cuadrada y simétrica, lo cual significa, por ejemplo, que los pesos w12 y w21 son iguales.

 

Dado que las dos capas tienen el mismo número de unidades, y que el peso de conexión de la n-ésima unidad de la capa 1 con la n-ésima unidad de la capa 2 es el mismo que el peso de conexión de la n-ésima unidad de la 2 a la n-ésima unidad de la capa 1, es posible reducir la estructura BAM autoasociativa a una que tuviese una sola capa.

 

La figura 4.5 muestra esta estructura. En la figura 4.6 aparece una representación ligeramente diferente. La figura muestra una red completamente interconectada, sin las realimentaciones de cada unidad a sí misma.

 

Figura 4.5  La BAM autoasociativa se puede reducir a una estructura de una sola capa. Obsérvese que cuando se lleva a cabo la reducción reaparecen las conexiones de realimentación para todas las unidades.

 

La mayor diferencia que hay entre la arquitectura de la figura 4.5 y la de la Figura 4.6 es la existencia de señales de entrada externas, Ii. Esta adición modifica el cálculo de la entrada neta a una unidad dada, incluyéndose el término Ii. En este caso:

 

Figura 4.6  Esta figura muestra la arquitectura de una memoria de Hopfield sin las conexiones de realimentación de todas las unidades. Al eliminar estas conexiones se fuerza explícitamente a la matriz de pesos a tener ceros en la diagonal. También se han añadido unas entradas externas Ii en todas las unidades.

 

                         (4.19)

 

Además, se puede permitir que la condición de umbral que se aplica al valor de salida tome un valor que no sea cero. Entonces, en lugar de la ecuación (4.12) tendríamos:

 

                                     (4.20)

 

En donde Ui es la condición de umbral para la i-ésima unidad.