A Theory of How Columns in the Neocortex Enable Learning the Structure of the World

The active minicolumns in the input layer exactly align with the active cells for the feature in Figure 2, implying that the feature is providing proximal (FF) input. I think you got that part, just making sure (the FF input in Figure 2 is the feature only, not a combination of feature and location).

Now to the location input. It is the modulatory (distal) input to the layer. It is not depicted in Figure 2, so I can see how this might cause you to think:

I think you meant TM here (not SP). The algorithm described in the paper is slightly different than TM. In TM, the modulatory (distal) input comes from other cells in other minicolumns in the same layer (i.e. active cells in the input layer at time T-1 provide the context for time T).

In the paper, the algorithm works a bit differently than that. Instead, a separate population of cells somewhere else (not in the input layer, and not the encoded feature) depict the location. Unfortunately, these cells are not drawn in Figure 2 (thus, I believe, the cause for your confusion). In this modification of the TM algorithm, active cells in the input layer at time T grow distal connections to the active LOCATION cells at time T (NOT to other cells in other minicolumns in the same layer).

The output layer in this paper is meant to represent an object. Keep in mind what minicolumns are used for in HTM – they are used to represent something in context. In the circuit described in this paper, they only needed to represent the object (not the object in some context), so there was no need for minicolumns in the output layer. Obviously, taking this beyond the paper, to move to a hierarchy, objects in context become a requirement. So just keep in mind that they are attempting to convey a single concept from one small piece of the cortical circuit in this paper, not fully describe it. There is still much work to be done…

I don’t have them myself (perhaps others can comment if they do), but like I mentioned earlier I’m pretty sure they just used random SDRs. The exact encodings are not important to the concept they are trying to convey in the paper (and even if random SDRs weren’t used, they could be used to repeat the experiment). The source code for this and others of Numenta’s papers is also available on GitHub. There is also this project which takes the concepts a bit further.

3 Likes