Mutability of temporal pooler 'invariant' representations

As a follow up to this thread.

I’ve finished the first version of my temporal pooler and I’ve noticed that the invariant representation of a given sequence can actually be fairly mutable. Depending on the parameters (boosting, learning rate, reinforcing signal strength) the representation can be completely unrecognizable after as little as 6 repetitions of a 4-element sequence. Adjacent representations have a high overlap, but a few bits change between each iteration until everything is different.

My question is: is that actually bad? By entirely removing boosting and using an extreme self-reinforcement value I can force the representation to be basically constant. But realistically, should it actually have a finite lifespan?

For reference, my TP algorithm is this:
-Read in the TM’s active cells and its previously predictive cells.

-If they have a sufficiently high coincidence (I chose 50%), train the TP on the intersection of the predictive and active cells, as well as its own prior activity.

-Otherwise, train the TP on only the active cells.

Essentially, the TP acts like an SP with an additional strongly self-reinforcing connection set that is activated whenever the TM’s predictions are accurate.


In BrainBlocks, we got rid of boosting for exactly this reason. It’s very hard to figure out how to make the representation stable when it keeps shifting the active cells around because some other cells are being neglected. It’s a configuration nightmare, and we couldn’t find any way to guarantee it to be stable for an arbitrary architecture.

All that boosting does is that it distributes the representation across the currently available cells. This was done to simulate the results of lesion studies, the brain adapting when it loses sets of neurons. It’s not really something you need if you’re just doing ML.

If you turn off boosting, you should probably get more stable representations. Recalibrating your learning parameters may be required in the absence of boosting.