In the video entitled “Exact Timing and Oscillatory Dynamics” in the HTM Chat with Jeff series posted here HTM Chat with Jeff, @jhawkins mentioned that he has a solution for timing and is confident of the solution but it is not a priority and is willing to offer it to anyone is interested.
Well, I’d like to take him up on that offer. The applications that I’m working on are very sensitive to timing and the ways in which timing can vary between different but similar signals. In the efforts to learn explicit timing relationships in HTM, I use two approaches that have different strengths and weaknesses.
Use temporal sequences as an implicit time signal. Depends on the ability to learn long sequences and quickly loses context when minor variations occur. However, it will pick up a new sequence very quickly. Only the transition between the old and new sequence gives indication of an anomaly score. This is analogous to trying to match known sequence segments onto the current signal.
Add a time signal as an explicit ScalarEncoder input. The allows you to do 2D matching of sequence curves with time as the X axis. So if there is a break from one sequence to another, the whole latter sequence will be anomalous instead of just the transition.
I do short-term data analysis so I don’t use the time-of-day, seasonal, hourly, datetime encoders provided by the HTM OPF framework. I’ve had to explicitly focus on how time is represented on the subsecond level.
I see that @jhawkins briefly discussed his timing theory back in January below:
I see there was also some interest from @onejgordon in this post:
So, @jhawkins, can you lay down some knowledge on us about your proposed timing mechanism? If it’s not too difficult, I’d like to experiment with building it.