A3C 无法解决 MountainCar-v0 环境(OpenAi gym 实现)

人工智能 强化学习
2021-11-05 07:29:05

虽然我已经能够使用 Deep Q 学习解决 MountainCar-v0,但无论我尝试什么,我都无法使用策略梯度方法解决这个环境。据我在网上了解到,这是一个很难解决的环境,主要是因为代理只有在达到目标时才会获得奖励,这是一种罕见的事件。我尝试应用所谓的“奖励工程”,或多或少地用基于整个系统的“能量”(动能加势能)的奖励代替环境给予的奖励,但尽管如此,还是没有运气。我问你:

  • 假设 MountainCar-v0 超出了当前最先进的 A3C 算法是正确的,因此它需要一些人工干预来向代理建议遵循的策略,例如采用奖励工程?
  • 如果实际需要奖励工程,任何人都可以提供有关可以使用哪种奖励功能的任何提示吗?

谢谢你的帮助。

1个回答

我不知道你的第一个问题,但我得到了一个基本的政策梯度方法,以动能作为奖励工作MountainCar-v0

你可以根据这个博客和你在那里找到的笔记本来实现它。它使用一个MLP大小为 128 的隐藏层和标准策略梯度学习。

奖励工程归结为用reward动能替换变量(没有势能也没有常数因子,奖励本身没有被使用)。我需要集来始终如一地解决环境问题。v2>1000

恐怕解决方案不是很令人满意,我不觉得有很多东西可以学习。该解决方案最初是针对cartpole 问题的,如果我更改超参数/优化器或奖励的细节,它就会停止工作。