Mini column in spatial pooler, meaning


I seen all the episodes in HTM school and read most of the BAMI book (very quality information source).

I still not understand what define the number of cells in each column in the spatial pooler?

If I increase the number of the cells in the spatial pooler how this influence on my sequence recognition ability ? (More cells mean longest sequence pattern recognition ?)


Not an expert here, however I’m currently studying nupic. So far, I didn’t see any use of cells per column in the spatial pooler. And from what I can remember the cells per column has something to do with contextual meaning in the TM.


The TM use the cells in the column for creating temporal connection between sequence of the spatial pooler columns , but still , what define the number of cells in each column, and how different number of cells influence on the model accurate ?

1 Like

More cells in a minicolumn give more capacity for sequence storage. But we never use more than 32 (and even that is overkill in most cases). We’re using less in current experiments.


In the observed biological model the number of cells in a mini-column is somewhere around 100.
Considering the usual parsimony of nature I would consider this an upper limit.
If nature needed more there would be more.


Why we limted the number of cells in each column to 32 ?

I would think there are at least two main reasons for this:
The combinatorial space grows very quickly for every added mini-column and, with sparse activations, more is won with an increase in the number of mini-columns than having more neurons per mini-column.

It’s convenient to stick to a size that offers efficient packing of bits and simple operations when it comes to generating overlaps and counting active neurons.


We did not get any prediction accuracy benefit from more cells, and having more cells is costly for performance time.


I’v started studying the TM part of nupic and also started to read the TM part of BAMI.

So from what I’ve understood so far the number of cells increase/decrease the number of ways a single (same) input can be represented using the combo of active columns and cells. In theory each unique representation refers to a particular context, thus it allows the TM to distinguish from different contexts while seeing the same input (say a word used in N sentences). By intuition and in theory, the number of useful contexts is probably a function of the input stream’s stability, the stable the input stream is the lesser the context storage is necessary vice versa. A 100 active column / input representation with 32 cells per column would mean there are 32^100 ways to represent the same input with different contexts.