我正在尝试训练代理探索未知的二维地图,同时避开圆形障碍物(半径不同)。代理可以控制其转向角和速度。转向角和速度归一化范围,其中符号编码方向(即速度表示它以最大单位/秒向后退)。
我熟悉代理必须导航到航路点的类似问题,在这种情况下,奖励是成功到达目标位置。但是,就我而言,我不能真正为此奖励代理,因为没有直接的“目标”。
我试过的
代理遇到障碍物时会受到惩罚;但是,我不确定如何激励代理移动。最初,我想让代理始终向前移动,这意味着它只能控制转向角。但是,我希望代理能够控制其速度并能够倒车(因为我正在尝试为汽车建模)。
我尝试的是奖励移动的代理并惩罚它保持静止。在每个时间步,代理都会得到奖励如果速度的绝对值高于某个 epsilon,否则惩罚相同的量。但是,正如预期的那样,这不起作用。它不会激励智能体移动,而是让它来回抖动。这是有道理的,因为如果您想避开障碍物,“技术上”的最佳策略是保持静止。如果代理无法做到这一点,那么下一个最好的办法就是对位置进行小幅调整。
所以我的问题是:我怎样才能给我的代理人增加探索激励?我正在使用近端策略优化 (PPO)。