Modelo de Hopfield (RNA)


Antecedentes:

En la década de los 80´s con el fin de estudiar procesos que involucran sistemas gobernados por ecuaciones diferenciales no lineales surge la teoría clásica de control geométrico basada en la geometría diferencial; simultáneamente renace el estudio de las Redes Neuronales debido al redescubrimiento del algoritmo Backpropagation, este hecho sumado al fracaso de las metodologías tradicionales aplicadas a la inteligencia artificial y a la disponibilidad de herramientas computacionales de bajo costo permitieron el desarrollo las redes neuronales recurrentes cuya principal aplicación es el control e identificación de sistemas no lineales. Este desarrollo es posible debido a que las propiedades matemáticas de las redes recurrentes están enmarcadas en las mismas propiedades que fundamentan el control geométrico, la primera red neuronal recurrente de naturaleza dinámica fue propuesta por Hopfield en 1984 bajo el contexto de las memorias asociativas.

Estructura de la red: En búsqueda de una implementación practica, Hopfield presentó su modelo básico como un circuito eléctrico, el cual se muestra en la figura 2.6.1, donde cada neurona se representa por un amplificador operacional y una red asociada formada por una capacitancia y una resistencia, la entrada a cada amplificador es la suma de las corrientesIi mas las realimentaciones provenientes de otros amplificadores, por ejemplo el segundo amplificador realimenta al amplificadorS a través de la resistencia RS2, en caso de necesitarse realimentaciones con signo negativo, estas se hacen por medio de la salida inversora de cada amplificador; la ecuación para el modelo de Hopfield basado en las leyes de Kirchhoff se muestra en la ecuación (2.6.1).
 
 


Figura 2.6.1 Circuito Eléctrico red Hopfield
(2.6.1)
Donde nies el voltaje de entrada a cada amplificador y ai =f(ni)su salida, con característica de amplificación fla cual es generalmente de tipo sigmoidal,.
Multiplicando a ambos lados de la ecuación(2.6.1) porRi y definiendo Î =RiC, wij=RiTij y bi=RiIi, esta puede reescribirse en la ecuación (2.6.2) la cual describe el comportamiento de cada una de las neuronas dinámicas que componen el circuito eléctrico de la red de Hopfield.
(2.6.2)
Utilizando la ecuación (2.6.2) y escribiéndola en su forma matricial con a(t)=f(n(t)), se obtiene (2.6.3), en esta ecuación se describe el comportamiento de la red de Hopfield
(2.6.3)
La red de Hopfield en notación compacta se muestra en la figura 2.6.2, en donde el vector dep no se considera como la entrada a la red sino como la condición inicial de la red
 
 


Figura 2.6.2 Notación compacta red de Hopfield
Como se observa, la red de Hopfield esta compuesta de neuronas dinámicas altamente interconectadas gobernadas por ecuaciones diferenciales no lineales, esta red funciona como una memoria asociativa no lineal que puede procesar patrones presentados de forma incompleta o con ruido, siendo útil como una poderosa herramienta de optimización
En el libro "Neural Network Design" [23], se muestra que una de las principales contribuciones de Hopfield fue la aplicación de la teoría de estabilidad de Lyapunov al análisis de las redes recurrentes, la teoría de estabilidad de Lyapunov se aplica a través del teorema de LaSalle y para su utilización el primer paso es escoger una función de Lyapunov, para lo cual Hopfield sugirió la siguiente función:
(2.6.4)
Donde aes la salida de la red,W es la matriz de pesos y bes el vector de ganancias.
La escogencia de esta particular función, fue clave en el desarrollo de Hopfield, pues el primer y el tércer termino de esta ecuación conforman una función cuadrática, las cuales pueden aproximar gran cantidad de funciones en un pequeño intervalo, especialmente cerca de puntos donde se encuentre un mínimo local.
Para usar el teorema de LaSalle se necesita evaluar la derivada de la ecuación 2.6.4, por claridad se evaluará cada uno de los tres términos de forma independiente, tomando la derivada del primer término de la ecuación 2.6.4 se obtiene:
(2.6.5)
Derivando el segundo termino de la ecuación 2.6.4, el cual consiste de una sumatoria de integrales y considerando una de estas integrales se obtiene:
(2.6.6)
Tomando en consideración todas las integrales, en forma matricial la derivada del segundo termino es:
(2.6.7)
Derivando el tercer término de la ecuación 2.6.4 y apoyándose en las propiedades de las funciones cuadráticas se obtiene la ecuación 2.6.8
(2.6.8)
La derivada total de la ecuación 2.6.8 se obtiene al unir los resultados de las ecuaciones 2.6.5, 2.6.7 y 2.6.8
(2.6.9)
comparando con la ecuación (2.6.3) del modelo eléctrico de Hopfield, se tiene que:
(2.6.10)
Esto permite reescribir la ecuación 2.6.9 así como sigue:
(2.6.11)
ya que ni = f- 1(ai), es posible expandir la derivada deni de la siguiente forma:
(2.6.12)
Con esto la ecuación (2.6.11) puede ser reescrita como:
(2.6.13)
si se asume quef- 1(ai)es una función incremental, como sucede en los amplificadores operacionales, entonces:
(2.6.14)
Este resultado implica en la ecuación 2.6.12 que:
(2.6.15)
De esta manera, sif- 1(ai)es una función incremental, todos los valores propios de la función dV(a)/dtson no positivos lo cual implica que la red sea estable, entonces V(a)es una función de Lyapunov valida
Los atractores de Hopfield son puntos estacionarios de la función de Lyapunov que satisfacen la ecuación (2.6.16)
(2.6.16)
Estos puntos estacionarios son puntos donde se encuentra un mínimo de la funciónV(a)descrita en la ecuación (2.6.4), en estos puntos el gradiente de la funciónV(a)igual a cero [21].
(2.6.17)
La función de Lyapunov descrita por la ecuación (2.6.4) puede simplificarse si se considera que la gananciaes grande, como sucede en los amplificadores con los que se implementa la red, una función de transferencia típica para estos amplificadores no lineales se muestra a continuación:
(2.6.18)
Para evaluar el segundo termino de la función de Lyapunov se requiere el calculo de f- 1(u).
(2.6.19)
Si la gananciaes muy grande y la salida de la red se mantiene en el rango 1>a>–1, el segundo termino de la función de Lyapunov tiende a cero y puede definirse la función de alta ganancia de Lyapunov como:
(2.6.20)

Regla de Aprendizaje

La red de Hopfield no tiene una ley de aprendizaje asociada, esto significa que la red no es entrenada ni realiza un proceso de aprendizaje, sin embargo es posible determinar la matriz de pesos por medio de un procedimiento basado en la función de alta ganancia de Lyapunov descrita por la ecuación 2.6.20.
(2.6.21)
El procedimiento consiste en escoger la matriz de pesos Wy el vector de gananciasb tal que Vtoma la forma de la función que se quiere minimizar, convirtiendo el problema que se quiere resolver, en un problema de minimización cuadrática, puesto que la red de Hopfield minimizará a V
Una red de Hopfield puede diseñarse como una memoria asociativa, en este caso es llamada memoria de contenido direccionable, porque la memoria recupera la información almacenada con base en parte de su contenido, en contraste con las memorias estándar de computo, donde la información se recupera con base en sus direcciones, por ejemplo si se tiene una base de datos de contenido direccionable que contiene nombres y direcciones de los empleados de una empresa, la información completa se recupera por ejemplo suministrando el nombre (o parte de él), este tipo de memoria es la misma memoria autoasociativa excepto que en este caso se utilizará la red recurrente de Hopfield en vez del asociador lineal estudiado en la sección 2.4.
Cuando se le presenta un patrón de entrada a la red de Hopfield, el estado inicial de la salida será el mismo patrón de entrada y luego la red convergerá al patrón prototipo almacenado que se encuentre más cercano (o que más se parezca) al patrón de entrada, para que la red memorice un patrón prototipo, este debe ser un mínimo de la función de Lyapunov
Asumiremos que los patrones prototipo sony que cada uno de estos vectores se compone de Selementos, al asumir queQ<<S, el espacio de estado es amplio y los patrones prototipo se encuentran bien distribuidos y por lo tanto no están cercanos uno de otro.
Para garantizar que los patrones prototipo a almacenar son mínimos de la función de Lyapunov, se propone la siguiente función para evaluar el error en la aproximación.
(2.6.22)
Si los elementos dea son restringidos a valores de ± 1, la función es minimizada en los patrones prototipo como se mostrara a continuación:
Asumiendo que los patrones prototipo son ortogonales, y evaluando el error en uno de ellos, se tendrá que.
(2.6.23)
La segunda igualdad de la ecuación 2.6.23 se debe a la ortogonalidad de los patrones prototipo y la ultima igualdad a que todos los elementos de pjson ±1, evaluando el error del patrón aleatorio de entrada, el cual presumiblemente no esta cercano a ningún patrón prototipo, cada elemento de la sumatoria en la ecuación (2.6.22) es el producto punto entre un patrón prototipo y la entrada, el producto punto se incrementara cuando la entrada se mueva cerca del patrón prototipo, sin embargo, si la entrada no se encuentra cerca de algún patrón prototipo, todos los términos de la sumatoria serán pequeños y por lo tantoJ(a) será la mayor (menos negativa) y cuando asea igual a alguno de los patrones prototipoJ(a) será mas pequeña (mas negativa).
La ecuación (2.6.22) es una función cuadrática que indica con precisión el desempeño del contenido de la memoria direccionable, el próximo paso es escoger la matriz de pesos Wy gananciasb, tal que la función de Lyapunov de HopfieldV sea equivalente al desempeño de la función cuadráticaJ.
Si se utiliza la regla de aprendizaje supervisado de Hebb para calcular la matriz de pesos (con patrones objetivo iguales a los patrones de entrada)
y b=0 (2.6.24)
entonces la función de Lyapunov será:
(2.6.25)
y puede ser reescrita como:
(2.6.26)
Podemos observar que la función de Lyapunov es igual al desempeño del error del contenido de la memoria direccionable, la salida de la red de Hopfield tendera a converger a los patrones prototipo almacenados, en el caso que todos los patrones prototipo sean ortogonales, cada uno será un punto de equilibrio de la red; la red puede tener muchos otros puntos de equilibrio indeseables, una regla práctica para evitarlos consiste en que cuando se utilice la regla de Hebb, el número de patrones almacenados no debe superar el 15% del número de neuronas de la red.

Identificación de Sistemas No Lineales: El comportamiento dinámico de las redes recurrentes hace que sean una poderosa herramienta en la identificación de sistemas dinámicos no lineales.
En la forma estándar una neurona dinámica esta regida por la siguiente ecuación y se muestra en la figura 2.6.3
(2.6.27)

Figura 2.6.3 Neurona dinámica
o en forma matricial:



(2.6.28)
donde , y  En la figura 2.6.4 se observa una red neuronal dinámica recurrente, donde cada unidad de procesamiento es una neurona dinámica y cada punto es un peso.

Figura 2.6.4 Red neuronal dinámica recurrente
Para garantizar la estabilidad de las redes dinámicas recurrentes en el proceso de identificación de sistemas no lineales, Delgado[9] formuló condiciones estrictas para los pesos la red y su desarrollo se basa en la función de Lyapunov.
Para el entrenamiento de la red de Hopfield en identificación de sistemas, se utiliza el algoritmo de Chemotaxis, el cual permite entrenar redes neuronales de cualquier tipo sin calcular el gradiente del error, este algoritmo fue formulado considerando el movimiento de una bacteria en un medio donde hay un gradiente de solución alimenticia; la bacteria se mueve inicialmente al azar hasta detectar un aumento en la concentración de la solución y luego continua en esa dirección.
El algoritmo de Chemotaxis toma los pesos iniciales al azar con distribución Gaussinana, cuando una iteración es exitosa (disminuye el valor de la función de error) el algoritmo continua en esta dirección hasta que la función de error J no muestra cambios

Figura 2.6.5 Algoritmo de Chemostaxis
it_max: Numero máximo de iteraciones
it: Contador de iteraciones
i_s: Contador de iteraciones exitosas
i_f: Contador de iteraciones no exitosas
a : Rata de aprendizaje
w 1: Antigua matriz de pesos
w 2: Antigua matriz de pesos
D w : Perturbacion en la matriz de pesos
gauss( ): Generador de números aleatorios con distribución Gaussiana
Ji: Indice de la función de error correspondiente a la matriz de pesosw i.
La función de errorJi relaciona la salida del sistema a aproximar con la salida de la red dinámica entrenada con NPpatrones de entrenamiento.
(2.6.29)
dk: Salida deseada para el patrón de entrenamientok.
yk: Salida actual de la red ante el patrón de entrenamientok.