Neural Networks
by Lee Calcraft

The neural network presented here is a simulation of the learning and pattern recognition processes which occur in the human brain.

Running this application will run the neural network program described in this month's RISC User. The network is a simple auto-associative neural network with just one layer of 8 neurons, and the output of each is fed (via weighting synapses) into the input of all others. The network uses the Hebbian rule to learn to recognise patterns, which consist of eight input bits (0 doesn't fire a neuron, 1 does).

When run, the program offers the following options:
Weight         Change weight factor
Learn          Learn a pattern
Test           Attempted recognition
Show Weights   Displays net weights
Clear Memory   Clear learned patterns
Quit           Exit

Begin by selecting "L" for Learn, and enter a string of up to eight ones and zeros. The 'ones' in this simulation are considered to form part of an image (say a pixel pattern) while the 'zeros' represent part of the background. Try for example entering:
11011
This is equivalent to entering 11011000, and will set the input to the first two neurons high, the next low, and the fourth and fifth high. The remainder (neurons 6-8) will be set to low.

Now select Test, and enter, say:
11
This enters a pattern of 11000000, and athough it contains only part of the learned pattern, you will see that the output is an exact replica of the complete learned pattern. In other words, the whole pattern has been recalled by association from only a fragment.

For more details about the program, you should read the article in this month's magazine.

 RISC User 1992
