Thursday, April 12, 2007

Hopfield Neural Network

Here's an R [http://www.r-project.org/] implementation of the Hopfield, auto-associative network.

trainnet_hopfield.R
testnet_hopfield.R

Here's an brief on how it works. Every unit in the network is connected to every other unit (see weight matrix configuration in figure). Input patterns are used to trained the network using Hebbian learning. The network learns by additively changing its weights to reflect instances of unit co-activation. Unit dissimilarities and inactivations are ignored.

The network is then tested on original or distorted inputs, and it will robustly return one of the original trained inputs (within limits).

Check out my paper that explains in greater detail [Hopfield paper].
Also check out this website http://www.gregalo.com/neuralnets.html

No comments:

Post a Comment