Agent不断重复同一个动作圈,Q学习

如何防止代理不停重复同一个动作圈?

当然,不知何故随着奖励系统的变化。但是,您是否可以遵循或尝试在代码中包含一般规则来防止此类问题?


更准确地说,我的实际问题是这个:

我正在尝试教 ANN 使用 Q-Learning 学习 Doodle Jump。仅仅几代之后,代理不断地在同一个平台/石头上一遍又一遍地跳跃,不停地。增加随机探索时间的长度没有帮助。

我的奖励系统如下:

  • 代理人活着时+1

  • +2 当特工在平台上跳跃时

  • -1000 死亡时

一个想法是当智能体与以前一样到达相同的平台时,给予它负数或至少 0 的奖励。但要这样做,我必须向 ANN 传递许多新的输入参数:代理的 x,y 坐标和上次访问平台的 x,y 坐标。

此外,ANN 还必须知道一个平台有 4 个块厚,依此类推。

因此,我确信我刚才提到的这个想法并不能解决问题,相反,我相信 ANN 通常根本学不好,因为有太多无用且难以理解的输入。


湖上湖
浏览 102回答 1
1回答

白板的微信

这不是对非常普遍提出的问题的直接答案。我为我的特定 DoodleJump 示例找到了一种解决方法,可能有人做了类似的事情并需要帮助:训练时:让代理跳上的每个平台都消失,然后在其他地方生成一个新平台。测试/演示时:您可以禁用新的“消失功能”(使其再次像以前一样),播放器会玩得很好,并且不会一直跳到同一个平台上。
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Python