OpenAI Gym 的“MountainCar-v0”环境中的一集如何结束?

人工智能 强化学习 环境 健身房
2021-10-27 15:43:25

我正在开发 OpenAI 的“MountainCar-v0”环境。在此环境中,代理执行的每个步骤都会返回(以及其他值)名为done布尔类型的变量。True当剧集结束时,该变量会获得一个值。但是,我不确定每一集的结局如何。我最初的理解是,当汽车到达旗杆时,一集应该结束。然而,事实并非如此。

情节在这种环境中终止的状态/动作是什么?

2个回答

当汽车到达目标或经过最大时间步数时,这一集就结束了。默认情况下,情节将在 200 步后终止。您可以使用_max_episode_steps环境的属性对其进行自定义。

要回答您的问题,可以在他们的wiki上找到一些 OpenAI Gym 环境的详细信息:

当您达到 0.5 个位置或达到 200 次迭代时,该情节结束。

不过,你问的还有一个更深层次的问题:

我最初的理解是,当汽车到达旗杆时,一集应该结束。

环境当然可以这样设置。限制每集的步数有直接的好处,即强制智能体在固定的时间内达到目标状态,这通常会导致智能体更快的轨迹(MountainCar-v0 通过奖励信号进一步惩罚长轨迹) . 此外,底层学习算法可能仅在情节完成后执行策略更新。如果代理在其当前策略下永远不会达到目标状态(即策略非常糟糕,缺乏很多随机性等),那么在固定时间后终止情节将确保代理能够执行策略更新并在下一集尝试新策略(或者,学习算法可以在这一集期间执行策略更新)。有一个任务分支叫做永不终止的持续任务(参见Sutton 和 Barto的第 3.3 节),因此限制每集步数的选择在很大程度上取决于手头的任务和学习算法的选择。