我正在用神经网络驱动工业机器人,到目前为止它运行良好。我正在使用 OpenAI 基线中的 PPO 算法,到目前为止,我可以通过使用以下奖励策略轻松地从点到点驾驶:
我计算目标和位置之间的标准化距离。然后我计算距离奖励。
rd = 1-(d/dmax)^a
对于每个时间步,我给代理一个计算的惩罚。
yt = 1-(t/tmax)*b
a 和 b 是要调整的超参数。
正如我所说,如果我想从点到点开车,这真的很好。但是如果我想开车兜风怎么办?对于我的工作,我需要避免碰撞,因此代理需要绕过物体。如果物体在最近的路径上不是笔直的,它就可以正常工作。然后机器人可以适应并围绕它行驶。但是,绕着直道的物体行驶变得越来越困难,甚至不可能。
我已经阅读了一篇将 PPO 与 NES 结合起来为神经网络的参数创建一些高斯噪声的论文,但我自己无法实现。
有没有人有一些在 PPO 算法中增加更多探索的经验?或者是否有人对我如何改进我的奖励策略有一些一般性的想法?