Spatial Pooling

Spatial Pooling is the process of translating semantic information from one binary space to another.


Spatial Pooling translates semantic information projected across an input space into a space occupied by mini-columns. A Mini-column is a group of pyramidal neurons sharing proximal input. Inhibitory neurons group pyramidal neurons into mini-columns in the neocortex. The Temporal Memory algorithm operates within this mini-column space as neurons become active and predictive in response to spatial stimulation over time.

We don’t have to directly model the inhibitory neurons that cause mini-columns to exist; we can model their effect, which is to force HTM neurons within each mini-column to share proximal input. Each mini-column receives feed-forward proximal input describing only a portion of the input space.

State vs Process

below is very drafty

We want to simulate one proximal dendrite’s connections to this input space. Once we do that, we can repeat across the cell population. So let’s think about it in the terms of one proximal dendrite, and how axons from feedforward neurons might be connecting to the synapses on this proximal dendrite. Not every neuron is going to be close enough to even potentially connect to this neuron, so

Each mini-column has a unique representation of the input space. That means for each mini-column we must store something that represents each cell in the input space it might connect to. We can do this with a simple array to represent our mini-columns and each one’s relationship to the input space.

For each one, we’ll create an object and add an array to represent the indices in the input space

Now that we know our input space, we need to define the cellular dimensions of the layer containing our neurons. At this point lets just think about mini-columns, and say we’ll have 128 mini-columns.

  • inputSpaceDimensions:
  • miniColumnCount:

We will describe how spatial pooling allows the learning of spatial input patterns over time using Hebbian learning (permanence changes) over proximal synapses. We will also talk about why we need boosting to more efficiently spread semantic meaning across the cellular space, and maybe even how topology works. Who knows.

For more information on Spatial Pooling:

Next: Input Space