When a column has learnt a sequence and has temporally pooled over the sequence sometimes it is not correctly set a s the winning column when part of it's temporally pooled pattern appears as an input.
This happens in the following situation;
- The column first bursts because it was not expecting it's temporally pooled pattern to begin.
- On one of the next inputs that the spatial pooler has temporally pooled over for that column has also been temporally pooled as part of a different pattern.
- This other column has been given a slight bias by the inhibition calculator because of it's position. This is done by the overlap calculator to resolve any ties in the spatial pooler.
This other column will win the inhibition stage and therefore become active. This is incorrect as we were receiving inputs corresponding to a sequence that had been learnt and pooled by the first column. Normally a column that has learnt and temporally pooled over a pattern is given preference, but this wouldn't happen in this case because the first inputs was unexpected and caused bursting.
If the inhibition calculator gave a slight bias to any column that had previously been active on the input before this may fix the problem.
When a column has learnt a sequence and has temporally pooled over the sequence sometimes it is not correctly set a s the winning column when part of it's temporally pooled pattern appears as an input.
This happens in the following situation;
This other column will win the inhibition stage and therefore become active. This is incorrect as we were receiving inputs corresponding to a sequence that had been learnt and pooled by the first column. Normally a column that has learnt and temporally pooled over a pattern is given preference, but this wouldn't happen in this case because the first inputs was unexpected and caused bursting.
If the inhibition calculator gave a slight bias to any column that had previously been active on the input before this may fix the problem.