Hopfield Nets
Binary Hopfield Nets
Basic Structure: Binary Unit
Single layer of processing units
Each unit has an activity value or “state”
- Binary: or
- Denoted as and respectively
Example
Connections
Processing units fully interconnected
Weights from unit to unit :
No unit has a connection with itself
Weights between a pair of units are symmetric
- Symmetric weights lead to the fact that the network will converge (relax in stable state)
Example
Unit vector:
Weight matrix:
Update Binary Unit
- Evaluate the sum of the weighted inputs
- Set state if the sum is greater or equal , else
Update Procedure
Network state is initialized in the beginning
Update
- Asynchronous: Update one unit at a time
- Synchronous: Update all nodes in parallel
Continue updating until the network state does not change anymore
Example


So the new state of unit 4 is






Order of updating
Could be sequentially
Random order (Hopfield networks)
Same average update rate
Advantages in implementation
Advantages in function (equiprobable stable states)
Randomized asynchronous updating is a closer match to the biological neuronal nets
Energy function
Assign a numerical value to each possible state of the system (Lyapunov Function)
Corresponds to the “energy” of the net
Proof on Convergence
Each updating step leads to lower or same energy in the net.
Let’s say only unit is updated at a time. Energy changes only for unit is
Given a change in state, the difference in Energy is
Change from to :
Change from to :
Stable States
Stable states are minima of the energy function
- Can be global or local minima
Analogous to finding a minimum in a mountainous terrain

Applications
Associative memory
Optimization
Limitations
Found stable state (memory) is not guaranteed the most similar pattern to the input pattern
Not all memories are remembered with same emphasis (attractors region is not the same size)

Spurious States
Retrieval States
Reversed States
Mixture States: Any linear combination of an odd number of patterns
“Spinglass” states: Stable states that are no linear combination of stored patterns (occur when too many patterns are stored)
Efficiency
In a net of units, patterns of length can be stored
Assuming uncorrelated patterns, the capacity of a hopfield net is
- Tighter bound
$$
\frac{N}{4 \ln N}
- Tighter bound
$$
\frac{N}{4 \ln N}