Description
The goal of this assignment to understand Hopfield network covered in the class.
This is an individual assignment.
Submission instructions are given at the end of this document
1. Three figures (mona, ball, cat) are given in .txt format. Each figure is a 90×100
matrix.
a. Visualize the images and make sure that the black pixels are represented by -1
and white pixels are represented by +1.
b. Develop a code for Hopfield network with N=9000 neurons which are fully
connected
2. Save the image of ball in the network
a. Initialize a zero matrix of the same size as that of the input image and replace
a small patch with a portion of the input image as shown in figure 1. Use this
(figure 1.B) as the cue for retrieving the image
b. Plot the patch which is given as the input trigger
c. Plot the Root Mean Squared (RMS) error with time
3. Save all three images (mona, ball and cat) in the network
a. Give small patches of each image to retrieve the corresponding saved image.
b. Plot the RMS error with time and the final retrieved image for all three inputs.
c. Make X% of weights to be zero and repeat questions 3.a and 3.b for X=25%,
X=50% and X=80%
i. Plot the RMS error with time for each case
ii. Plot the final retrieved image for each case
Figure 1
A B
Useful references and parameters:
Refer the NPTEL notes on computational neuroscience (Chapter 7).
https://nptel.ac.in/courses/102106023/8
Be careful while choosing the value of lambda (λ) and time step (dt)
Give sufficient number of iterations for retrieval
*Submission Instructions
Enclose in a single zip folder the following:
1. The codes for question 2 and question 3.
a. You can code in Matlab or Python
b. Include the main file and the functions with necessary comments
2. A detailed report with the all the necessary images
Submit the compressed zip or tar file named as
following address. Please note do not drop your assignment on to the group.