The coding of longer sequences in HTM SDRs

It sounds like what you are looking for is something like a ring attractor. A locally stable attractor which encodes a sequence of a specified length. Once a given input has converged upon an attractor state, subsequent updates will advance to the next token in the sequence. It’s a variation on an autoencoder, so it still needs to be trained on the sequences that you expect it to learn.

I can understand your desire to focus on the cyclic nature of the firing patterns. I’ve been considering a similar model for a couple of years now. I refer to it as nested loops of consciousness. Think of it as multiple ring attractors updating at different frequencies. However, for the purposes of this discussion, let me focus in on just one such loop.

  • At the lowest level and probably operating at the highest frequency (let’s call it gamma) is the sensory update loop. Let’s assume that the input sensors are detecting a complex set of overlapping feature patterns. Attached to a sensor patch is a collection of minicolumns. (For now, let’s assume that by minicolumn I’m referring to just the neurons in L4.) Each minicolumn is attuned to (has been trained to recognize) a specific feature pattern that has been observed to appear on the sensor.

  • The proximal dendrites from each minicolumn are sub-sampling the sensor array in a manner that is similar to a convolution. As such they begin accumulating evidence in support of the hypothesis that is the pattern they have been trained to recognize. Recall that nearly all of the (L4) neurons in a minicolumn receive similar set of proximal input. Thus, the first neuron within a minicolumn that achieves its threshold will fire, subsequently stimulating a nearby inhibitory neuron (chandelier cell) which then fires, temporarily blocking the neurons in the surrounding mini-columns from firing.

  • Once that neuron/minicolumn has fired, it goes into a refractory period during which time it cannot fire again. That gives the next minicolumn the opportunity to reach its threshold and to fire unimpeded. Assuming that some fixed number of minicolumn feature detectors can fire in this manner before the first one recovers and is ready to fire again, then it should be possible to encode some number of feature patterns that are currently being observed on the sensor array - essentially allowing multiplexing of detected features.

Once this process has been started, then there are two mechanism that could potentially establish a ring attractor, and potentially provide the oscillatory behavior that you seem to be seeking.

  • A traditional HTM temporal memory algorithm can be trained to predict that specific sequence of input patterns to repeat over and over again until the sensor moves or the sensed feature changes.

  • The use of a Calvin tile configuration may also be able to establish an echo chamber of sorts. In this version, when the initial neuron fires in response to a detected pattern, it’s excitatory output propagates just slightly further than the radius of inhibition of the chandelier cell. At this distance, a handful of cells respond to the combination of their own input and the distal signals coming from the original neuron, causing them to fire. If this firing pattern repeats, then it should set up a hexagonal grid pattern of cells that reinforce each other when presented with a specific input pattern. If there is a temporal delay in these feedback signals, then that could also introduce oscillatory behavior.

2 Likes