Skip to content
This repository has been archived by the owner on Sep 1, 2023. It is now read-only.

Sensorimotor Inference Algorithm

subutai edited this page Nov 10, 2014 · 1 revision

Implementation of sensorimotor inference

August 22, 2014

Sensorimotor inference in layer 4 is implemented as a child class of the temporal memory algorithm (cite CLA white paper) and known as "general temporal memory". The major changes are listed in this section:

(1) Distal dendritic inputs are allowed to be external.

Distal dendritic input can turn cells into “predicted state” by depolarizing cells before the actual sensory input occurs. In sequence memory, distal dendritic input is only allowed to be from other cells in the same region (lateral connections). In sensorimotor inference, it can also be external input. Specifically, both sensory input and motor command are fed to the distal dendrite of layer 4 neurons. And normally we turned off lateral connections between layer 4 neurons. This change explicitly indicates that sensorimotor prediction in layer 4 is a first-order inference.

At the code level, a different type of synapse, distal synapse (“dsyn”) is introduced. It stores distal dendritic connections to external input. In contrast, the normal type of synapses (“syn”) represent lateral connections between cells in the same layer. Distal synapses are updated in parallel with normal synapses, and a dendritic segment can have both distal synapses and normal synapses.

When forming new connections during learning, we need to consider distal dendritic input at the previous time step (t-1). The modified temporal memory keeps a copy of the distal dendritic input for both the current time step (t) and the previous time step (t-1).

(2) “learn on one cell” Mode.

It is advantageous to use few cells for a single pattern. This logic is implemented as an optional “LearnOnOneCell” mode. When a column is not predicted but activated by the sensory input, cells that are selected as learned cell previously would be chosen as learn cell. If no such cell exists, the best matching or the least used cell will be chosen as learn cell.