我正在看openai- FrozenLake environments中的健身房。在这两种情况下,在智能体达到目标之前,都没有奖励,甚至没有负奖励。即使智能体掉进了冰层,也不会有负面的奖励--尽管这一集结束了。没有奖励,什么也学不到!每一集都是从头开始的,没有从之前的几集中受益。
这应该是一个简单的广度优先搜索。它不需要RL。但假设你使用RL,一种方法是一步走到一个冻结的正方形(这不是目标)奖励-1,一步进洞奖励-10。-1将允许代理学习不重复正方形。-10将允许代理学习避免漏洞。因此,我很想在代理方面创造我自己的负面奖励。这会让它更像是悬壁漫步者。
我遗漏了什么?RL如何在没有奖励的情况下解决这个问题(除了通过随机搜索)?
发布于 2018-07-31 22:13:22
您所描述的问题通常可以用Reward Shaping来回答。
像冰冻的湖泊环境或Montazuma's Revenge,一些问题的回报非常少。这意味着任何RL代理都必须花费很长时间来探索环境才能看到这些回报。对于为智能体设计任务的人来说,这可能会非常令人沮丧。因此,就像在冰冻的湖泊环境中一样,人们经常会按照你的建议添加额外的信息。这使得奖励函数更密集,(有时)允许更快的学习(如果修改后的奖励函数实际上遵循人类希望代理做的事情)。
为了让代理比随机搜索更快地解决这些问题,并且没有人工干预,例如奖励塑造或为代理提供专家玩游戏的视频,代理需要一些机制来以智能的方式探索空间[citation needed]。
当前关于此主题的一些研究领域包括Intrinsic Motivation、Curiosity以及Options和Option discovery。
尽管前景看好,但这些研究领域仍处于初级阶段,有时说起来更容易:
if agent_is_in_a_hole:
return -10发布于 2018-11-21 22:21:47
我认为这个环境的目标是找到平衡探索和开发的方法。我认为奖励操纵既不是必需的,也不是可取的。现在,如果你尝试在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/
https://stackoverflow.com/questions/51236984
复制相似问题