HTM CLA Flow Chart Diagrams

Hey all,
I’ve been working on getting everything from the HTM theory’s CLA well understood for quite some time. I feel as though the world is in need of an easy to understand format for learning the CLA. I know the algorithm is changing all the time, but it would take a beginner over a year to be able to understand everything that is going on in sufficient detail by themselves. I know, because that’s what happened to me! Things like flowcharts make the learning process infinitely easier, by having everything laid out and in good detail in such a way that not even the nitty gritty details are left out. The White Paper leaves too much information out - it jumps right from concepts of columns and cells (which are not laid out all too clearly) to the algorithm pseudocode, where things are explained intermittently over many pages of content, and leaves a lot to be wondered.

I have laid out the CLA in flowcharts, as I understand and implement it. It is simply a PNGs from a skeleton of a paper I have been writing, with only the flowcharts left in. I was considering placing this in the “Papers” section but I choose HTM theory because it is not an academic paper, it is something for adults, high school students and college students to understand quickly and easily.

The problem, of course, is that I don’t know how accurate these charts are to the current implementation of the HTM CLA. I have a working prototype (it has some bugs) that uses this framework of ideas to learn spatially and temporally. But that is not to say this is the best way to show people or help people understand. So if anybody could please take a look, and criticize the algorithm as I have laid it out, it would be much appreciated!

More diagrams to come include UML diagrams, and basic org charts and things like that showing connections and hierarchy. I really like HTM a lot, so I’ve put a huge amount of time into making sure people can understand it easily, by teaching people over and over how it works and trying to see where they get lost. Hopefully one day anyone can learn and use the HTM CLA!
NOTE: No flow chart for SDRs, encoders, etc. Just learning!








6 Likes

Thanks @sjgallagher2! This could be very useful.

The only major algorithmic change since we went OS 3 years ago was the switch from an older temporal pooling algorithm to the temporal memory algorithm. New research will build on top of these algorithms, not necessarily introduce any major changes (as far as I know today).

I’m going to look over these when I start working on the spatial pooling episodes of HTM School. I’ll probably have some feedback. What program did you use to create these? I wonder if you can share the source files as well?

Nice flow charts! Thanks, man. Having them up to date (if they aren’t already) would be an absolute boon. I’m finding keeping everything in my head for the Temporal Memory algorithm to be challenging.

Dave

They were made using Lucidchart, simply drawn right in. I unfortunately do not have the source files, as I am too absentminded to save the files themselves along with the .PNG! Eventually I’ll have to go ahead and make versions that follow a template or better format so they all look the same alignment-wise and things like that. I’ll let you know @rhyolight when (or if) I make new ones. Also, feel free to use them however you would like, or make your own based off of these, just in case you feel like it :slight_smile: And feedback is always welcome!
Sam

1 Like

@sjgallagher2 This is great and could be extremely helpful to people trying to understand the details of the algorithm.

The current implementation is described in the updated pseudocode available here:

http://numenta.com/assets/pdf/biological-and-machine-intelligence/0.4/BaMI-Other-Content.pdf

1 Like