NetLogo User Community Models
WHAT IS IT?
This is a neural network commonly known as a binary Hopfield network. It learns images that it is taught, which it can later recall when it recognizes similar images. For example, you can teach it a few letters of the alphabet, and then ask a friend to try and figure out what letters of the alphabet it knows.
HOW IT WORKS
Every patch represents a 'neuron' in the neural network. Each neuron is connected to every other neuron. When the network learns, each neuron alters its relationship with every other neuron by manipulating what a biologist would call its "synaptic weight." When you ask the network to try and identify an image, it uses its stored synaptic weights to change the activity (on is blue, off is 'black') of each neuron based on the activity of all the other neurons.
HOW TO USE IT
Try drawing in a few images which you will easily recogize (for example, a few numbers or letters). After you draw in each image press 'teach.' When you are ready to test the network, draw in an image unlike, but similar to one of the images that you already drew in, then press 'identify.' If the new image is close enough to a learned image, then the network will replace the new image with its closest match.
THINGS TO NOTICE
The network can only remember a finite number of images. This is based on the number of neurons in the network. Also, certain learned images are more easily recognized than others. Sometimes learning something new completely eliminates an old knowledge, and sometimes old knowledge complicates the network's ability to learn something new. Finally, sometimes the network identifies images that it never learned.
THINGS TO TRY
You can change the size of the graphics window to see if this affects the networks ability to remember images. If you make it too big though, learning and identifying gets very slow. You might try timing the 'teach' period for different size graphics windows.
You should also try different kinds of images, as more complicated images are harder to distinguish than simple icons.
Created by Thomas Hills.
(back to the NetLogo User Community Models)