Agent不停地重复同一个动作循环,Q学习

Agent repeats the same action circle non stop, Q learning

如何防止代理不停地重复相同的动作循环?

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


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

我正在尝试使用 Q-Learning 教 ANN 学习 Doodle Jump。仅仅几代之后,智能体就不停地不断地在同一个 platform/stone 上跳跃。增加随机探索时间的长度无济于事。

我的奖励系统如下:

一个想法是,当代理访问与之前相同的平台时,将其奖励为负值或至少为 0。但要这样做,我必须将许多新的输入参数传递给 ANN:代理的 x,y 坐标和上次访问平台的 x,y 坐标。

此外,ANN 还必须了解平台有 4 个街区厚,等等。

因此,我敢肯定我刚才提到的这个想法不会解决问题,相反我相信人工神经网络一般来说根本就学不好了,因为有太多无用的和复杂的-理解输入。

这不是对常见问题的直接回答。


我为我的特定 DoodleJump 示例找到了解决方法,可能有人做了类似的事情并需要帮助:

  • 训练时:让代理跳上的每个平台在那之后消失,并在其他地方产生一个新平台。

  • 而testing/presenting:你可以禁用新的"disappear-feature"(这样就和以前一样了)玩家会玩得很好,不会跳上一个一直都是同一个平台。