Should we normalize velocity (ML_AGENT)

Hi community,

I want to ask about normalizing velocity for training. I generaly see, people normalize object velocity while collecting observation but I have some doubts about it.

Lets say our agent observe 2 different object velocity.

Object1 has 15 m/s total velocity. 9m/s at the x direction and 12 m/s at the y direction
Object2 has 100m/s total velocity. 60 m/s at the x direction and 80 m/s at the y direction.

Now if we take their normalized velocity, our agent will observe them as a (0.6, 0.8). Because magnitude should be 1. The thing bugging me when we normalized velocity, our agent see their velocity (0.6, 0.8) for both object however one of them going with 15m/s other is going 100m/s.
So my question, should we normalize velocity really? Because my logic says, you souldnt

Sometimes you should normalise a vector, sometimes you shouldn’t. It depends on what you’re trying to use it for.

In your example, if the agent is trying to determine which object is moving faster, then (like you say) it would be a bad idea to normalise the vectors.

But if, instead, the agent was simply trying to check if the objects were moving in the same direction, then you’d want to normalise them.

In general, if you want to disregard its magnitude, normalise it.

1 Like