Encoding direction (positive or negative)

I’m just wondering if anyone has encoded direction? For example, in date encoders you encode whether it’s the weekend or not. In my delta encoder I want to know whether the delta is positive or negative outside of the actual value (the delta will always be a positive input). If I encode the direction separate to the delta then I can infer things that I would otherwise potentially lose.

1 Like

I’ve watched @rhyolight discuss your delta encoder and I found it interesting. It seems like you’re calculating the variance function of a data set. Was that the goal?

But now you mention direction, it’s even more intriguing.

(You probably know this but) one of the big issues the Numenta researchers are looking into is how orientation works. In short: when the brain recognises a feature (lets say a spot on an object for instance) ultimately it compares the sensorial input with an SDR (i.e. a specific set of neurons that fire every time this feature is observed). When the object moves or turns, the neocortex recognises that it’s still observing the same feature, and thus the changed sensorial data input still triggers the same SDR.

The transformation of the sensorial information to that stable representation (SDR) is actually a big delta function. Lab experiments show evidence of grid cells, which is an excellent candidate to explain how the neocortex transforms spacial perception. But how it copes with changing orientation is still a puzzling problem.

@jhawkins in a video converstion with @rhyolight once speculated that grid cell modules are active in layer 6b and project to layer 5, and head direction modules are active in layer 6a and project to layer 4. (Of course, remember that this is work in progress). But if we consider the lab experiment, it should be noted that the grid pattern remains fixed even though the test subject’s orientation is not. To me that shows that the grid cell modules already compensate for changing orientation.

My thoughts right now are that it might be interesting to come up with a delta encoder for cardinal direction. And especially one that does not use the observer as a reference point, but that somehow calculates a direction delta between two observed points. When the points don’t move in respect to each other, this delta should remain zero. But when they move, the delta should give orientational information such that the neocortex can use it to connect the changing sensorial information to the correct SDR.

I don’t know if this makes much sense, but I think you’re on to something.

You could easily encode a direction angle as a cyclic scalar value 0 - 360 as a part of your input. (or in radians)

Thanks @Falco. My project is probably not quite as interesting as you think :slight_smile: however your idea has certainly got some research potential. Imagine how fast those deltas would need to be calculated in say a fighter pilot!

I’m simply calculating the difference between sequential heart rate recordings. There’s a good body of evidence that shows that prior to a critical event such as cardiac arrest, patients often show spikes in heart rate or run of arrhythmias such as atrial fibrillation. I’m looking for those sudden changes by looking at the delta rather than the heart rate itself. Interestingly, we have variability in our heart rate over time but not much variability between beats - so the heart rate variability is caused by drift (in critical care we measure it as a change in standard deviation over time) rather than sudden change.

The “direction” I’m looking to encode is simply whether the change is positive or negative. As I coerce my deltas into a positive I lose that information. I want to capture it outside of the delta encoding as it will be useful later.

1 Like

Thanks @rhyolight - My use of the term “direction” may have been misconstrued. I’m actually just looking for an encoding for positive or negative. If I used a binary vector of length 100 say, with an encoding size of 18, could I simply have the first 18 on for negative and the last 18 on for positive (and obviously all off for neutral)?

In your application are you tracking the influence of respiration? I was in the lab where Otto Schmitt was developing a 3D viewer for the cardiac firing pattern and he used a nasal thermistor to pick up respiratory activity. This does modulate heart activity.

At the moment no @Bitking although I do understand the connection. I think that each needs to be encoded separately and then the connections between them encoded. Same with the ratio between heart rate and blood pressure for example (a rising heart rate with a falling BP can be a sign of internal bleeding)

1 Like