Temporal pooler brittleness.
Currently (current commit 7a07099) the temporal pooler works by keeping the first set of active columns on longer throughout a sequence to pool over the sequence and increase temporal stability. Once a sequence has been temporally pooled this method does not include any columns active other then the first ones of that sequence.
An example;
Sequence A,B,C,D is learnt and temporally pooled over. The columns making up pattern A would stay active through out the sequence. This works fine except when noise is introduced or the temporally pooled pattern is to be compared to other similar patterns.
Similar temporally pooled patterns produce different output SDR's.
The output of the temporally pooled pattern for A,B,C,D will be 100% different to the output of the temporally pooled pattern B,C,D. This is bad since both patterns are very similar and should create a similar output SDR.
Introducing noise disrupts the temporally pooled patterns significantly.
If a single input of the above pattern A,B,C,D contains noise then the output temporally pooled pattern can vary wildly. E.g If the unlearnt pattern A,E,C,D would produce a completely different output SDR after the input E since this was unexpected causing new columns to burst. What should happen is the unexpected input E should cause bursting but then the next input C should not cause bursting as the temporally pooled pattern A,B,C,D should have been expecting this.
Temporal pooler brittleness.
Currently (current commit 7a07099) the temporal pooler works by keeping the first set of active columns on longer throughout a sequence to pool over the sequence and increase temporal stability. Once a sequence has been temporally pooled this method does not include any columns active other then the first ones of that sequence.
An example;
Sequence A,B,C,D is learnt and temporally pooled over. The columns making up pattern A would stay active through out the sequence. This works fine except when noise is introduced or the temporally pooled pattern is to be compared to other similar patterns.
Similar temporally pooled patterns produce different output SDR's.
The output of the temporally pooled pattern for A,B,C,D will be 100% different to the output of the temporally pooled pattern B,C,D. This is bad since both patterns are very similar and should create a similar output SDR.
Introducing noise disrupts the temporally pooled patterns significantly.
If a single input of the above pattern A,B,C,D contains noise then the output temporally pooled pattern can vary wildly. E.g If the unlearnt pattern A,E,C,D would produce a completely different output SDR after the input E since this was unexpected causing new columns to burst. What should happen is the unexpected input E should cause bursting but then the next input C should not cause bursting as the temporally pooled pattern A,B,C,D should have been expecting this.