-
Notifications
You must be signed in to change notification settings - Fork 0
Spatial Pooler
See the CLA white paper for information on the spatial pooler.
Orphan columns are defined as columns which, for a given input pattern, all of their connected synapses were connected to input bits which are turned on, i.e. have a 100% overlap with the input. Yet despite this good match to the input, these columns did not become active after inhibition has been applied. Such columns are referred to as orphans since they have learned to represent a particular input pattern, but another column or columns have learned to represent the input patterns more accurately.
For vision problems, the columns are laid out regularly in a 2D grid and each column as a square radius of inputs that it is connected to. Specifying an input border would result in the input bits on the exterior of the grid to not be included in the potential pools (which in the domain of vision is also referred to as receptive fields). For example, specifying an input border of '2' would result in the bits on the 2 leftmost columns, the 2 rightmost columns, the 2 top rows, and 2 bottom rows to be excluded from the potential pools of all columns
Shared inputs are inputs that are connected, via connected synapses, to more than one active columns. Remember that our goal is to have each column learn a unique spatial pattern. Shared inputs, by definition, do not lend themselves to such a goal. As such, the permanence values associated with shared inputs used to be incremented slightly less than non-shared inputs.
When | What |
---|---|
??? | Spatial Pooler Memorization (aka "high tier") was added to increase learning speed. TODO: describe this |
??? | Reconstruction |
??? | Cloning |
??? | Option to increment shared active input bits less than non-shared |
Early | Orphan columns added |
Early | Input border added |
Early | Topology added for vision |