Basic Spatial Pooler Questions

In this example there are 3 spatial features per tilmestep (‘timeOfDayBits’, ‘weekendBits’, ‘consumptionBits’), and they are combined since the SP & TM ultimately see one vector per time step – however many spatial features that vector contains.

So if your sequences are composed of words, there’d be one encoding, SP vector and TM output per word (one after the other). The system will learn the transitions between words. There’s a big limitation to this though! Since there is no encoder for words in NuPIC, each different word would be treated as a distinct category by default – so the systems sees no similarity between words.

To my knowledge this issue has been most robustly handled by – which has basically created a method for generating SDRs from words and even groupings of words. You feed in a word, sentence, paragraph or whatever and get back an SDR – as you normally would from the SP. Then these SDRs are fed into the TM just like any other case.

If you’re processing words as you raw data type I’d highly recommend looking into and their work on this.

1 Like

Also check out the SimHashDocumentEncoder which is part of the htm-comminity repository htm.core. This is basically an encoder for words.


Hello Sir, @subutai

I am working on a simple SP application.
I’m trying to understand the block diagram in the article. Are output values given randomly( [8 2 … 10 0])? I didn’t understand how those values were reached :frowning:

For example, there is 1 input vector. input and output vector is 28 elements. So it does overlap 28 times according to the input vector?

Thank you…

Which article? I don’t use this diagram to explain Spatial Pooling.

"Properties of Sparse Distributed Representations and their Application to Hierarchical Temporal Memory "

In the diagram, I believe the output values are just an example of what the values might be. It is trying to show the minicolumn competition. A minicolumn with an overlap score above a threshold k will be activated. This is also called a minicolumn competition, or k-winner-take-all competition.