CS 420/594 Project 3 - Attractor Net
Due Nov. 26, 2003
General Description
- In this project you will be investigating the capacity of a Hopfield network. You will use n = 100 neurons with no self-coupling.
- For additional information, see Bar-Yam section 2.2.6 (available online).
For Undergraduate Credit
- Perform a series of experiments as follows:
- Generate 50 random bipolar vectors (n = 100).
- For p = 1, ..., 50, imprint the first p patterns on a Hopfield net.
- Determine pstable, the number of stable
imprinted patterns. A pattern is considered unstable if any of
its bits are unstable, that is, of opposite sign to their local field hi. Compute the probability of an imprinted pattern being stable, Pstable = pstable / p. (Note that Pstable and pstable are different; this is Bar-Yam's notation, which I've retained for consistency with the book.)
- Repeat the forgoing for several sets of 50 random patterns and average over them.
- As a result of your simulations, you should generate two
graphs: First, a plot of the fraction of unstable imprints as a
function of the number of imprints (p = 1, ..., 50). Second, a plot of the number of stable imprints as a function of the number of imprints (same range).
- For additional information see Bar-Yam Section
2.2.6 (pages 312-14); your program should be able to generate graphs
comparable to Figs. 2.2.5 and 2.2.6 (but it is not necessary to
normalize to p).
-
You should hand in (1) your program, (2) your graphs or other
output, and (3) a discussion of your results and their implications.
- For extra credit, do some or all of the activities described below For Graduate Credit.
For Graduate Credit
-
You should do everything expected For Undergraduate Credit
(above).
-
In addition, you should investigate the size of the basins
of attraction as a function of the number of imprinted patterns (Bar-Yam, Section
2.2.6, pp. 314-16). In other words, you should generate graphs similar
to Fig. 2.2.7.
- Finally,
you should investigate the effect of noise (pseudo-temperature) on
retrieval of imprinted patterns (Bar-Yam, Question 2.2.2, pp.
316-19). In other words, you should generate graphs comparable to
Fig. 2.2.8.
For all Students
-
You will be graded on the quality of your experiments and
conclusions.
-
I expect your programs to be well-designed and well-documented.
Efficiency is not an issue, but your programs should not be grossly inefficient.
-
You can use any programming language you like (including
systems like MatLab). You can use language features such as matrix
multiplication, but you should implement your own Hopfield simulator (i.e.,
not use an off-the-shelf simulator from a neural net package).
-
You may use any graphical or statistical packages that you
like. Feel free to share this information with other students.
On the other hand, I expect you to design and implement your simulators
independently.
If you have any other questions, please email me <maclennan@cs.utk.edu>.
This page is www.cs.utk.edu/~mclennan/Classes/420/Project3.html
Last updated: Nov. 11, 2003