Questions on how a union of possibilties works in the Temporal Pooler?


I have some questions on the temporal Memory.

  1. Suppose there are two sequences that start with the same first 3 inputs for instance:
    Then after ‘C’ is shown, there should be a union of possibilities that is resolved when the 4th input is presented.
    This Union is a union of predicted cells, not a union of ‘active cells’.
    Is that correct? In other words, you never have a union of active cells, in any situation?

  2. Suppose for each encoded input, there is only one column to represent it. (In practice you might have 40 columns representing that input, and each column involved in representing more than one input but this makes it simpler). Also suppose that each column has 4 cells in it. So for a sequence A B, there would be at most 4 * 4 (16) possible sequences that could be represented?

  3. When a cell is predicted, it is biased to fire and inhibit other cells in its own column. But that bias is only relative to other cells in its own column. It has no effect on other columns except that it after it fires, it depolarizes to different columns than the other cells. Is that also correct?

  4. In the coming article “Why Does the Neocortex Have Columns, A Theory of Learning the Structure of the World” there is supposed to be an associated video that explains how the sensorimotor model works. When will that video be available?

  5. In the sensorimotor model (temporal pooler), from what I understand, ,the top layer does have a union of active cells, not just a union of predicted cells. So a ‘union’ of possibilities is different than in the temporal Memory. Is that correct?



It seems like you may be conflating the Temporal Memory (sequence memory with minicolumns and predicted cells) and Temporal Pooling (the output layer in the Columns paper). Also keep in mind that minicolumns are different than cortical columns. A single layer in a cortical column has many minicolumns. I apologize if I’m repeating things you know already - just want to be clear.

  1. In the Temporal Memory, there is a union of active cells in each minicolumn when there column becomes active without any cells in a predicted state. This is in contrast to during predicted sequences when only one cell per column is active (the cell that was predicted).

  2. More or less correct but you would end up with cells for A representing multiple sequences. So a single cell would predict multiple following cells that correspond to different learned sequences.

  3. Correct, this is how current Numenta implementations work.

  4. There is a video for the paper available here:

  5. The output layer described in the columns paper implements Temporal Pooling. We have had different implementations of Temporal Pooling but the current one will keep a union of active cells. And in the pooling layer, there are no lateral predictions within the layer.

Let me know if that isn’t clear or you have any follow up questions.


Yes, I was confusing temporal memory with temporal pooling.

In your answer to #1, you are saying that there would be a union as far as all cells in a minicolumn being active, but not a union as far as two different patterns (of active-columns) being simultaneously active.

I think I understand why I had the belief that multiple patterns of active cells could be represented at the same time. If sequences had already been learned, and then learning was turned off, you could do the following: You would present the first terms in an ambiguous sequence (as few input-vectors), and then the temporal memory would be allowed to “imagine” what comes next, by converting predicted cells into active cells. That way you would have a union of active cells.

(I re-edited my first post to straighten out the terms pooler vs memory)


Ahh I see, yes that makes sense!