[英]Deep reinforcement learning - how to deal with boundaries in action space
我建立了一个自定义强化学习environment
和agent
,类似于迷宫游戏。
在迷宫中,有5种可能的动作:向上,向下,向左,向右和停留。 而如果受阻,如代理上不去,那么人们如何设计env
和agent
来模拟?
具体来说,该代理处于当前状态s0
,并且根据定义,执行向下,向左和向右的操作会将状态更改为其他一些值,并立即获得奖励(如果退出则为> 0)。 一种可能的方法是采取行动up
,状态将保持在s0
,而奖励将是一个较大的负数。 理想情况下,代理将学习到该信息,并且在此状态下再也不会up
。
但是,我的经纪人似乎没有学到这一点。 相反,它仍然up
。 另一种方法是硬编码的代理和环境的代理人将无法执行该操作up
的时候s0
,我能想到的是什么:
up
时,我们查看不同动作的Q值 up
除外) 我问以上方法可行吗? 会不会有与此相关的问题? 还是有更好的设计来处理边界和无效动作?
我会说这应该有效(但比猜测更有效)。 其他问题是:您的代理能够观察到什么状态? 你在做报酬削减吗?
另一方面,如果您的特工没有学会避免撞墙,则您的学习程序中可能存在另一个问题(奖励功能中可能存在错误?)
硬编码的剪切操作可能会导致您希望看到的行为,但是肯定会降低代理的整体性能。
您实施了什么? 如果尚未完成,那么最好考虑经验重播。
我已经多次看到这个问题,其中一个代理会坚持执行单个操作。 在以下情况下,我已经看到了:
希望对您有所帮助。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.