Spatial pooler and 2D input



I’ve been trying to replicate / mess about with the MNIST work form the spatial pooler paper, and one thing that caught me off guard, the spatial pooler from as far as I can tell can expect a 2D input, i.e 28*28 bits in this case.

However when setup this way it seems to fail horribly, eventually leading to a loss in active columns and odd output SDR as seen in the figure.

Whilst if I setup the SP to have a 1D or flat input i.e 784 bits then it is capable of performing well and mapping to the input as shown in the other figure, and I’m curious as to why this would be?


This may or may not answer your questions, but it is a good introduction to the complexity topology introduces.