This page presents my research on modeling the memory-prediction framework for visual pattern recognition. The memory-prediction theory of the functioning of human neocortex is described in the book "On Intelligence" by Jeff Hawkins and Sandra Blakeslee. This book contains the theoretical foundation of this research.
After several years of analyzing, developing and testing applications modeling the memory-prediction framework, I released the latest version of the framework including all source files on an open source (GPL) basis. Applications, training and testing examples, documentation and the full C++ source code are available for download. The project page also contains the latest news and updates.
The project demonstrates the key techniques of a hierarchical Bayesian memory system. It runs learning and recognition of images with configurable network parameters, eye movements, noise and other options. The architecture facilitates core algorithm enhancements within its framework. Neocortex can be compiled using various programming environments under Windows and Linux.
The project welcomes neuroscientists, software engineers and members of the wider scientific community. As always, feel free to contact me with any questions or suggestions and please let me know how you are using the code.
We invite you to take a look at the project, play with the programs, experiment with the code and, most importantly, join the further development of the framework. As I describe in my paper, there are lots of performance issues and conceptual problems waiting to be solved. Now you may be the one who envisions the next great idea, eliminates a bottleneck or devises another way of modeling the framework. In any way, you will be contributing to the goal of building the first human-like, truly intelligent machines. Let us make it happen!
The first version of Neocortex was released on 2/22/2007. The project has also been discussed here.
I invite you to read the paper that I presented to the 20th International FLAIRS Conference. This paper describes the architecture and experimental results achieved with various Bayesian models of the memory-prediction framework and is essential to understanding the experimental applications published on this website. The paper can be downloaded here: Memory – Prediction Framework for Pattern Recognition: Performance and Suitability of the Bayesian Model of Visual Cortex.
Abstract: This paper explores an inferential system for recognizing visual patterns. The system is inspired by a recent memory-prediction theory and models the high-level architecture of human neocortex. The paper describes the hierarchical architecture and recognition performance of this Bayesian model. A number of possibilities are analyzed for bringing the model closer to the theory, making it uniform, scalable, less biased and able to learn a larger variety of images and their transformations. The effect of these modifications on recognition accuracy is explored. We identify and discuss a number of both conceptual and practical challenges to the system as well as missing details in the theory that are needed to design a scalable and universal model.
The archive containing several applications used for testing the Bayesian model together with sets of training and testing images can be downloaded here: MPF.zip (2.71 Mb). Make sure you read the included readme file to learn how to use the programs.
Here is a link to my slightly older research paper: Using Memory - Prediction Framework for Invariant Pattern Recognition (completed December 2005). This paper describes an earlier version of the same model and contains more elaborate explanation about the internal design of the model as well as evaluation of its performance.
An even earlier research report that I finished in May 2005 can be downloaded here: Analysis and Implementation of the Memory - Prediction Framework. This is my first and completely different attempt to model the framework. It uses a proprietary method for pattern classification and prediction, not based on Bayesian belief propagation. It also learns and recognizes temporal sequences, uses a hierarchy with five levels of identical subregions and employs unsupervised learning and classification of images.
I will appreciate any questions, suggestions or comments about this research. You can contact me at: