- Hopfield net
A Hopfield net is a form of recurrent artificial neural network invented by
John Hopfield . Hopfield nets serve as content-addressable memory systems with binarythreshold units. They are guaranteed to converge to a local minimum, but convergence to one of the stored patterns is not guaranteed.tructure
The units in Hopfield nets are binary threshold units, i.e. the units only take on two different values for their states and the value is determined by whether or not the units' input exceeds their threshold. Hopfield nets can either have units that take on values of 1 or -1, or units that take on values of 1 or 0. So, the two possible definitions for unit "i"'s activation, , are:
(1)
(2)
Where:
* is the strength of the connection weight from unit j to unit i (the weight of the connection).
* is the state of unit j.
* is thethreshold of unit i.The connections in a Hopfield net typically have the following restrictions:
* (no unit has a connection with itself)
* (connections are symmetric)The requirement that weights be symmetric is typically used, as it will guarantee that the energy function decreases monotonically while following the activation rules, and the network may exhibit some periodic or chaotic behaviour if non-symmetric weights are used. However, Hopfield found that this chaotic behaviour is confined to relatively small parts of the phase space, and does not impair the network's abilities to act as a content-addressable associative memory system.
Hopfield nets have a scalar value associated with each state of the network referred to as the "energy", E, of the network, where::
This value is called the "energy" because the definition ensures that if units are randomly chosen to update their activations the network will converge to states which are
local minima in the energy function (which is considered to be aLyapunov function ). Thus, if a state is a local minimum in the energy function it is a stable state for the network. Note that this energy function belongs to a general class of models inphysics , under the name ofIsing model s; these in turn are a special case ofMarkov networks , since the associatedprobability measure , theGibbs measure , has theMarkov property .Running
At each step, pick a node at random. The node's behavior is then deterministic: it moves to a state to minimize the energy of itself and its neighbors. (In contrast, the
Boltzmann machine has a stochastic update rule.)Training
Training a Hopfield net involves lowering the energy of states that the net should "remember". This allows the net to serve as a content addressable memory system, that is to say, the network will converge to a "remembered" state if it is given only part of the state. The net can be used to recover from a distorted input the trained state that is most similar to that input. This is called associative memory because it recovers memories on the basis of similarity. For example, if we train a Hopfield net with five units so that the state (1, 0, 1, 0, 1) is an energy minimum, and we give the network the state (1, 0, 0, 0, 1) it will converge to (1, 0, 1, 0, 1). Thus, the network is properly trained when the energy of states which the network should remember are local minima.
References
J. J. Hopfield, "Neural networks and physical systems with emergent collective computational abilities", "Proceedings of the National Academy of Sciences of the USA", vol. 79 no. 8 pp. 2554-2558, April 1982.
ee also
*
Associative memory
*Autoassociative memory
*Boltzmann machine — like a Hopfield net but uses annealed Gibbs sampling instead of gradient descent
*Ising model External links
* Chapter 13 [http://page.mi.fu-berlin.de/rojas/neural/chapter/K13.pdf The Hopfield model] of [http://page.mi.fu-berlin.de/rojas/neural/index.html.html "Neural Networks - A Systematic Introduction"] by Raul Rojas (ISBN 978-3540605058)
* [http://www.shef.ac.uk/psychology/gurney/notes/l5/l5.html A good introduction to associative memory and Hopfield networks]
* [http://www.comp.nus.edu.sg/~pris/AssociativeMemory/HopfieldModel.html The Hopfield networks page] at [http://www.comp.nus.edu.sg/~pris PRIS, Singapore]
* [http://www.heatonresearch.com/articles/61/page1.html Hopfield Neural Network Applet]
* [http://to-campos.planetaclix.pt/neural/hope.html The Travelling Salesman Problem] - Hopfield Neural Network JAVA Applet
* [https://gna.org/projects/neurallab/ Neural Lab Graphical Interface] - Hopfield Neural Network graphical interface (Python & gtk)
Wikimedia Foundation. 2010.