在深度强化学习中,使用连续动作空间,为什么在代理执行之前将动作钳制在一起似乎是常见做法?
示例:
OpenAI Gym Mountain Car https://github.com/Unity-Technologies/ml-agents/blob/master/unity-environment/Assets/ML-Agents/Examples/3DBall/Scripts/Ball3DAgent.cs#L29
Unity 3DBall {{3}}
信息不会丢失吗?就像模型为速度(移动)输出+10一样,然后将其钳制为+1,动作本身表现得相当离散(仅仅是关于它的执行)。对于细粒度的运动,将输出乘以0.1?
之类的东西是不是更有意义答案 0 :(得分:0)
这可能只是为了强制执行代理可以执行的操作的约束。也许代理商希望推出一项将速度提高1,000,000的行动。但如果代理商是一辆自动驾驶汽车,发动机较弱,最多可加速1个单位,我们并不关心代理人是否会假装更多的单位加速。汽车的发动机功能有限。