Hopfield Neuro Network Pattern Recognition Example – AFRecognize applicationshort explanation :: download – afrecognize.exe (about 750KB)
The software is an example of very simple Hopfield neural network used for pattern recognition. Two modes: training and recognition are rather self-explanatory. The first one is used for input of reference shapes to the network “memory” and the other one for using the “memory” for shape/pattern recognition. The 0 and 1 cells on the right side provide only simple output visualisation showing some relations to the input data.
Patterns – made of “ticks” are changed to 0/1 vectors (the top white field) and after some Hopfield operations go to the weights matrix “memory”. Both vectors sets and the weights matrix “memory” can be saved as txt file for later usage or loaded.
The described example uses patterns, but actually a pattern/shape can be described as whatever set of 0/1 numbers or a model situation which we could normalize to 0 and 1, and moreover we are not limited to matrix 7×7 only.
The advantage of the simple AI network is that it DOESN’T USE fixed set of patterns – kept somewhere – to check match 1 to 1, instead it looks for similarity between input pattern and “memory” content, if nothing EXACLTY the same exists in the memory, it will find something MOST SIMILAR. So, in recognition process you can use “damaged” patterns and the network will try to find shape stored in “memory” – IF THERE IS NOT EXACTLY THE SAME SHAPE IT WILL FIND THE MOST SIMILLAR ONE (instead of crash…).
In the above screenshot we can see recognition process for alphabet character “A” – on the left hand side is the “damaged” one, and on the right hand side the character properly “guessed” by network. Actually, just to get some quick screenshot, the “memory” contains only characters “A” and “F”, but many more can be added.
Copyright © 2008-2015 Vlad Madejczyk, ArgonFactory.com