Hotgym with dateTime/dayTime as distal input?

I wonder why hotgym does not use Datetime encoding input as distal input to TM. Now it just takes Consumption and Datetime and mix it together for SP proximal input. Distal connections are only between cells in TM.

It makes very much more sense to me,that we try to view incoming consumption in the context of time. Consumption activates minicolumns; datetime(&previous TM state) makes predictions by activating cells.

Note: Not only hotgym but also NAB detector works this way.

If it would be otherwise, is there any problem with that? I struggle to find anything about that, kindly asking to point me in right direction.

4 Likes

In practice it sounds like you’d have 2 regions, one representing Consumption and the other representing Datetime. The distal segments would be formed only from cells in the Consumption region to cells in the Datetime region, right?

Under this system sequential context is only coming from the Datetime, so the prior Consumption values would have no voice in providing context to predictions of Consumption. It seems this system could work just as well in settings like hot gym where Consumption is naturally linked to Datetime – since the gym-goers have work schedules to follow.

The potential weakness therefor would be scenarios where that link isn’t as solid, where the behavior of Consumption (/whatever non-time field) would change and become more about its own recent behavior than what time/day it is. I’d be curious to see a comparison.

2 Likes

In practice it sounds like you’d have 2 regions, one representing Consumption and the other representing Datetime . The distal segments would be formed only from cells in the Consumption region to cells in the Datetime region, right?

Yes exactly.

It seems this system could work just as well in settings like hot gym where Consumption is naturally linked to Datetime – since the gym-goers have work schedules to follow.

I’d be curious to see a comparison.

I tried roughly small experiment and the results was without big difference (NAB detector)

With the passage of time from the moment when i asked the question, i realized that
for the anomaly detection in stream data is better to have the information about changing of the consumption value itself… as you say.
For example jump by 1kWh up could be nothing in datetime context, because this absolute value is occuring sometimes, but it could be huge anomaly in previous consumption context.

2 Likes

In practice it sounds like you’d have 2 regions, one representing Consumption and the other representing Datetime . The distal segments would be formed only from cells in the Consumption region to cells in the Datetime region, right?

Yes exactly.

Interesting idea! but would not that be the same as using a large input vector where large portion of it is dedicated to time representation? For instance, let’s assume that we have an SDR vector generated by the encoder with a length of 1024 bits. Let half of 1024 (512 bits) is used for time representation and the other half to represent the input magnitude. Each half will cause a set of mini-column to be active and the final result can be envisioned as two sets of mini-columns merged together in a single region, correct? is not exactly similar to having two separated regions?

Note:
Using two separated regions may cause additional overhead because you need a new set of synaptic pathways to bridge the two regions. I’m not quite, but this may also double the number of distal connections.

1 Like

Not quite, because when you get to the temporal memory phase:

In the two region scenario, only the date would contribute to the context, because the cells representing consumption would only grow distal connections to cells representing date. But in the single region scenario, both date and consumption would contribute to the context, because cells would grow distal connections to some other cells representing date and some other cells representing consumption.

2 Likes

I think there would be some difference, because each new distal segment from each bursting column could form some synapses to datetime-columns and others to consumption-columns.

My logic is that the pool of presynaptic cells for the new segments (prevWinnerCells) will contain cells from both datetime & consumption columns. So the context each segment monitors is a mix of both features – since each new segment selects randomly from the prevWinnerCells (to my knowledge).