train the brain

" There must be some mistake," he said, "are you not a greater computer than the Milliard Gargantubrain which can count all the atoms in a star in a millisecond?" "The Milliard Gargantubrain?" said Deep Thought with unconcealed contempt. "A mere abacus. Mention it not."
- Hitchhiker's Guide to the Galaxy

This is a character recognition program, based on the example program included in the libneural library. It is released under the GNU public license, and you can find the source here.

The program requires you to specify a letter, along with a corruption value. The letter is then randomly corrupted, according to the specified value (ie. a corruption value of 0.1 will result in minimal corruption, while a corruption value of 1.0 or over will result in an almost unreadable character).

This corrupted letter is then fed to the network (represented by the character formed of hashes [#] in the output). If you specify that the network should be trained, the program will feed test values to it, and compare the resulting output to the required output, adjusting the network to provide better results each time. You may need to train it two or three times.

If you specify that the program use existing training, it will not train the network, instead using whatever training has already been completed, while if you specify that the program use prepared training, it will use training that, while not perfect, is more likely to work than whatever training currently exists :) Just remember, if you get a bad answer, just try again!

Would you like to:

Choose a letter [A-Z]:

Choose a corruption value for the letter [eg. 0.2 or 1.5]: