The underlying premise behind neural networks is that a large number of relatively dumb objects can exhibit intelligent behaviour when they are linked together in the right way. Neural nets are composed of neurons which are linked to other neurons. Each neuron is a simple device that totals up all the inputs it receives from other neurons, and if the total is above a fixed threshold, the neuron will fire and send inputs to all the neurons that are linked to it. A neural network's flexibility comes from the configuration of the links, which can amplify, nullify or even negate the input signals.
Recog uses a large (but simple) two-layer neural network to learn and recognize patterns. The hand-drawn image is digitized onto a grid of input neurons. Each possible answer is represented by a single output neuron. Every input neuron is linked directly to every output neuron (there are no hidden layers). As in most neural networks, the data (or programming) is encoded in the links between neurons. If a link between an input neuron and an output neuron is positive, that means that if the input is on then the total score for that output neuron is increased by a small amount. If the link is negative, then it follows that if that input is on, the corresponding output has its score reduced by an amount. The output neuron with the highest score (and thus the best match) is considered the winner. This is known as a competitive network. To see the strengths or weights of the links between the input grid and a particular output, double-click on a character in the recognition list.
Recog's learning procedure is extremely simple. There is no back-propagation, delta-rule, or other complexities; it is simple arithmetic. All links between active input neurons and the selected output neuron have their weights increased by one. All links between inactive inputs neurons and the selected output neuron have their weights decreased by one. Double-click a character in the recognition list and watch how its weights change as Recog learns the character