Project 2: Hopfield Networks
Hopfield Networks
Applications of Hopfield Networks: Networks with ODE dynamics
- Pattern Storage: Make attractors to converge to a particular pattern.
Pattern reconstruction from noise or corruption.
Network topology used for reconstruction of compressed sensing systems.
For outputs between 0 and 1 the vector y,
W = ∑k
(2yk-1) (2yk - 1)T,
(k attractors, points to converge)
- Optimization: Set up a cost surface and converge through gradient descent.
These approaches are often used for a range of optimization problems,
including the NP problems (hard problems in CS).
One reference to finding Hamiltonians (cost functions) for
Hopfield and Hopfield type problems:
.pdf,
and one previous MaxCut Hopfield implementation:
.pdf
Maxcut is one of the most popular and easiest of these problems.
- Recurrent Networks
- Generalized Winner-Take-All Networks
Project Requirements
This project begins the process of
simulating and computing neural network structures.
The project focuses on
simulating a Hopfield Network Solution.
Your final code that you used for this project
should be in a separate file
from your writeup.
Hopfield Network Simulations
We will develop Hopfield network simulations.
The simulations are ODE computations.
You need to show me the code that you wrote for this simulation
(e.g. not the ODE libraries that you used.
Develop a Hopfield Network with fixed inputs for two different cases.
- The first case is showing a stored pattern in a Hopfield network.
The dimension of the network should be greater than 20 nodes.
Store three patterns in the network (your choice),
showing (graphically is fine) the initial desired patterns
and how you calculated your weights.
Show the convergance from initial conditions that reach each of the
three states.
- The second case is showing a Hopfield network performing
a small dimension (6-10 nodes) for the Max-Cut problem
showing the solution from three significantly different initial conditions.