PaulsCode Forum

ARTUR => Mini Projects => Topic started by: Paul on October 24, 2016, 04:53:07 PM

Title: HTM Piano
Post by: Paul on October 24, 2016, 04:53:07 PM
I have looked at various AI technologies, and the most promising in my opinion is Hierarchical Temporal Memory (HTM).  This technology attempts to model aspects of the cortex in a manner which remains true to the biology.  Numenta has a nice collection of resources ( on GitHub for anyone interested.  The HTM White Paper ( in particular contains easy to follow pseudo-code, and Numenta's implementation of HTM, called NuPIC is open-source.

As a way of learning HTM, I wrote my own implementation, and used it in THIS SIMPLE DEMO (  After adjusting the properties of the system and clicking "Start", you are presented with a few piano keys and a depiction of the neurons of the "brain".  Click the keys to play notes, and the system tries to predict what note you are going to play next.

It isn't too intelligent, but it was a good start, and I learned a lot from it.  I developed it prior to studying the white paper or looking at NuPIC source code (solving the problems myself helps them to stick, versus starting with the answer).  I have since gone back and studied Numenta's implementation in depth, and I am in the process of rewriting my own implementation.  I will post a link to the source on GitHub once it is complete.

Numenta's implementation of HTM currently is only capable of sequence memory.  I am looking at expanding it to be capable of reinforcement learning and sensory-motor capabilities.  I'm less bound by Numenta's rule to remain true to the biology, so I believe I can use this technology to give ARTUR a good set of basic capabilities prior to plugging it into the transmutation routine.