Unusual prediction behaviour in htm.js

First of all, I hope it’s appropriate to post this here - let me know if it should go elsewhere.

I’m using htm.js in a hobby project I’m working on, and seeing something I think might be a bug. I noticed the behaviour in my implementation, but eventually found I can reproduce it in the piano demo.

Notice that if you click a single piano key over and over, there will be a prediction of “(none)” at a gradually increasing interval. This occurs for any type of consistent pattern.

Through the browser debugger, I can see that for the single layer in the example, the distalInput reaches 20 predictiveCells after a few notes, stays there for a couple of notes, then goes back to empty. Then it leaps to 40 predictiveCells, but falls back to 20 and then empty. Each time it resets to a number 20 higher than the last initial count, it decays in batches of 20 until there are none. This is why the “(none)” prediction interval gradually increases.

I’ve played around with a bunch of the layer properties that looked relevant, but it doesn’t seem to impact this behaviour.

@Paul_Lamb have you ever encountered this?

I’ll go round 2 of debugging after I’ve had some sleep, but grateful for any input in the meantime.

3 Likes