Is it possible to remap existing encodings in such a way to keep all prior trainings? Why would I do this? Let’s say you have a bunch of encodings already and you trained an SDR with it. And then you needed to create a bunch of new encodings and you would like to reassign the bit pattern for some (or all) of the existing encodings so that “similar” inputs end up with similar encodings.
Does the brain ever do this? Or does the SDR have enough space that despite creating new encodings, it never has to change prior encodings, it somehow finds a way to generate encodings for new inputs and make their bit pattern similar to existing ones that are in fact similar to them?
I’m not an HTM expert, but from what I understand, the SDR is your encoding.
I think what you’re suggesting is that the sensorial input pattern changes, and you’d like to know if an SDR is capable of dealing with this.
Since HTM holds continuous learning as one of its pillars, a system with dramatically changed input patterns should with time be able to automatically adapt and use the new learned connections to continue predicting its changed environment.
Does the brain ever do this?
Of course. You could imagine a person who’s sensorial input changes after incurring a physical disability. The brain is well suited for this kinds of problems. But more importantly, each time your behavior changes (e.g. when you learn to drive a car or study to play a musical instrument or practice a sport that requires specific tools or environments), you expose your minicolumns to a whole plethora of new sensorial patterns.
Now for your real question:
Is it possible to remap existing encodings in such a way to keep all prior trainings?
If minicolumns (or SDRs) contain cells that only got triggered from the now defunct input pattern, then these cells will gradually loose their functionality, and those prior trainings will disappear. But if the patterns were only a few of many input patterns, then the cells will be coopted by the remaining patterns. The prior trainings will change to reflect the new environment.
SDRs are trained using encodings, unique or unique enough bit patterns. First, inputs are mapped to these encodings, then encodings are used to train SDRs
My question is about changing the encodings, that is which bit patterns map to which inputs, and retain the training somehow
So the inputs are not necessarily changing. Well, let’s say we would like to add more inputs to our list of encodings. At the moment, we manually generate the encodings from the inputs because Jeff hasn’t figured out (or shared) how the brain does it. Therefore, it’s possible we might need to remap the existing encodings for a more optimal bit distribution.
While your question sort of makes sense, Falco pointed out that short of remapping after injury, the encoding system is hard wired to the sensors so the SDSs that are created don’t change.
Note that these can be inputs can build more abstract responses such as video games or operating machines such as a piano or typing or front end loader. With some practice the fingers disappear and it feels like you are operating the device directly.
The original SDSs are buried inside the new behaviors.
So, new SDSs at a higher level in the H of HTM.