Una red de Hopfield es una forma de red neuronal artificial recurrente inventada por John Hopfield. Las redes de Hopfield se usan como sistemas de Memoria asociativa con unidades binarias. Están diseñadas para converger a un mínimo local, pero la convergencia a uno de los patrones almacenados no está garantizada.
Estructura
Las unidades de las redes Hopfield son binarias, es decir, solo tienen dos valores posibles para sus estados y el valor se determina si las unidades superan o no un determinado umbral. Los valores posibles pueden ser 1 ó -1, o bien 1 o 0. Así, las dos definiciones posibles para la unidad i de activación, , son las siguientes:
(1)
(2)
Donde:
- es la fuerza del peso de la conexión de la unidad j a la unidad i (peso de conexión).
- es el estado de la unidad j.
- es el umbral de la unidad i.
Las conexiones en una red de Hopfield suelen tener las siguientes restricciones:
- (ninguna unidad tiene relación con ella misma)
- (conexiones simétricas)
Normalmente se requiere que los pesos sean simétricos para que la función de energía disminuya de forma monótona mientras sigue las reglas de activación, ya que si se utilizan pesos no simétricos la red podría mostrar un comportamiento periódico o caótico. Sin embargo, Hopfield consideró que este comportamiento caótico se limita a zonas relativamente pequeñas del espacio de fases, no influyendo en la capacidad de la red para actuar como contenido direccionable en el sistema de memoria asociativa.
Las redes Hopfield poseen un valor escalar asociado a cada estado de la red, conocido como energía (E) de la red, donde:
Este valor se denomina energía, porque la definición asegura que si las unidades son elegidas al azar para actualizar sus valores de activación la red convergerá a estados que son mínimos locales de la función de energía (que se considera una función de Lyapunov). Así, si un estado es un mínimo local en la función de energía será un estado estable de la red. Hay que tener en cuenta que esta función de energía pertenece a una clase general de modelos en física, denominados Modelos de Ising, los cuales a su vez son un caso particular de las redes de Markov, donde la medida de probabilidad asociada, llamada medida de Gibbs, tiene la propiedad de Márkov.
Ejecución
En cada paso se escoge un nodo al azar. El comportamiento del nodo es entonces determinista: se mueve a un estado para minimizar la energía de él mismo y de los nodos circundantes. (a diferencia de la máquina de Boltzmann cuya regla de actualización es estocástica.)
Entrenamiento
El entrenamiento de una red de Hopfield consiste en reducir la energía de los estados que la red debe "recordar". Esto convierte a la red en un sistema de memoria direccionable, es decir, la red "recordará" un estado si se le da solo parte de dicho estado. Esto la hace útil para recuperar una entrada distorsionada usando un estado de la red obtenido durante el entrenamiento y que es más similar al estado obtenido con la entrada actual. Esto se llama memoria asociativa, ya que recupera la memoria sobre la base de la similitud. Por ejemplo, si entrenamos una red Hopfield con cinco unidades para que el estado (1, 0, 1, 0, 1) sea un mínimo de energía, y le damos a la red el estado (1, 0, 0, 0, 1) esta convergerá a (1, 0, 1, 0, 1). Así, la red estará adecuadamente capacitada cuando la energía de los estados que la red debe recordar son mínimos locales.
Referencias
- J. J. Hopfield (abril de 1982). «Neural networks and physical systems with emergent collective computational abilities». Proceedings of the National Academy of Sciences of the USA (en inglés) 79 (8): 2554-2558.
- Rojas, Raul (1996). «Capítulo 13: The Hopfield model». En Springer, ed. Neural Networks - A Systematic Introduction (en inglés). pp. 335-370. ISBN 978-3540605058.
Véase también
- Memoria asociativa (RNA)
- Máquina de Boltzmann — similar a la red Hopfield, pero utiliza el muestreo de Gibbs en lugar del descenso de gradiente
- Proceso estocástico
- Modelo de Ising
- Función de Lyapunov
- Modelo oculto de Márkov
- Red neuronal artificial
Enlaces externos
- Wikimedia Commons alberga una galería multimedia sobre Hopfield.
- la Red de Hopfield - Redes Neuronales
- Redes de Hopfield. Artículo en Sappiens.com
- Código fuente VB6 de red de Hopfield para reconocimiento de patrones
- Hopfield Neural Network Applet (en inglés)
- Hopfield Neural Network implementation in Ruby (AI4R) (en inglés)
- The Travelling Salesman Problem Archivado el 30 de mayo de 2015 en Wayback Machine. - Hopfield Neural Network JAVA Applet (en inglés)
- scholarpedia.org- Hopfield network - Article on Hopfield Networks by John Hopfield (en inglés)
- Hopfield Network Learning Using Deterministic Latent Variables - Tutorial by Tristan Fletcher (en inglés)
- Example Recurrent Hopfield Energy Minimisation Network (en inglés)
- Neural Lab Graphical Interface (enlace roto disponible en Internet Archive; véase el historial, la primera versión y la última). - Hopfield Neural Network graphical interface (Python & gtk) (en inglés)