如何在没有任何中间奖励的情况下解决FrozenLake OpenAI-Gym环境?

时间:2018-07-09 00:31:10

标签: openai-gym

我正在看openai-gym中的FrozenLake environments。在代理人达成目标之前,这两个方面都没有回报,甚至没有负面回报。即使特工跌入冰层,也没有负面奖励-尽管情节结束了。没有奖励,就没有什么可学的!每个情节都是从头开始,没有以前的情节。

这应该是一个简单的广度优先搜索。它不需要RL。但是,假设您使用RL,则一种方法将是向冻结正方形的步骤获得-1的奖励(这不是目标),而向空洞的步骤则获得-10的奖励。 -1将允许代理学习不重复平方。 -10使代理可以学会避免漏洞。因此,我很想在经纪人方面创造自己的负面奖励。这会使它更像是悬崖行者。

我想念什么? RL如何解决这一问题(通过随机搜索除外)而没有任何奖励?

2 个答案:

答案 0 :(得分:2)

您描述的问题通常会用Reward Shaping来回答。

就像冰冻的湖泊环境或Montazuma's Revenge一样,某些问题的回报很少。这意味着任何RL代理商都必须花很长时间探索环境才能看到这些回报。对于为代理设计任务的人员而言,这可能非常令人沮丧。因此,就像在冰冻的湖泊环境中一样,人们经常像您建议的那样添加额外的信息。这使得奖励功能更加密集,并且(有时)允许更快地学习(如果修改后的奖励功能实际上遵循人类希望代理执行的操作)。

为了使代理商能够比随机搜索更快地解决此类问题,并且无需人工干预(例如奖励整形或为代理商提供专家玩游戏的视频),代理商需要某种机制来探索游戏空间。聪明的方式[citation needed]。

当前有关此主题的一些研究领域是Intrinsic MotivationCuriosityOptionsOption discovery

尽管前景乐观,但这些研究领域仍处于起步阶段,有时说起来容易些。

if agent_is_in_a_hole:
  return -10

答案 1 :(得分:1)

我认为,这种环境的目标是发现平衡勘探与开发之间的方式。我认为奖励操纵既不是必需的也不是理想的。 现在,如果您尝试在针对8x8环境的q-learning中运行此命令,则可能会发现它没有收敛。 JKCooper在openAI论坛上对此进行了修复。您可以检出此页面,并一直滚动到底部以查看评论https://gym.openai.com/evaluations/eval_xSOlwrBsQDqUW7y6lJOevQ

在那里,他介绍了平均终期奖励的概念。然后,该奖励将用于校准/调整勘探。 最初,平均终端奖励是不确定的或为空。在第一次“完成”迭代中,将使用该奖励的值来更新此变量。 在随后的每次迭代中,如果当前奖励大于平均最终奖励的现有值,则epsilon值将“衰减”,即不鼓励探索,并逐步鼓励开发。

使用此技术,您可以看到qlearning收敛。

openAI的修改版本在这里:v0.0.2

https://gym.openai.com/evaluations/eval_FVrk7LAVS3zNHzzvissRQ/