山地车问题
目录
山地车问题
山地车是强化学习的一个标准测试领域,是一个动力不足的汽车必须开上陡坡的问题。由于重力比汽车的发动机更强,即使全速前进,汽车也不能简单地加速爬上陡峭的斜坡。汽车位于山谷中,必须学会利用势能,开上对面的山坡,然后汽车才能到达最右边山顶的目标。该领域已被用作各种强化学习论文的测试平台。
山地车问题的引言
山地车问题虽然相当简单,但却被普遍应用,因为它要求强化学习代理在两个连续变量上进行学习:位置和速度。对于汽车的任何给定状态(位置和速度),代理被赋予向左行驶、向右行驶或根本不使用发动机的可能性。在该问题的标准版本中,当目标没有达到时,xxx在每个时间步骤都会收到一个负的奖励;在最初的成功之前,xxx没有关于目标的信息。
山地车问题的历史
山地车问题首次出现在AndrewMoore的博士论文中(1990年)。后来在Singh和Sutton的强化倾斜论文中对其进行了更严格的定义,并附有资格追踪。当萨顿和巴托把这个问题加入他们的《强化学习》一书中时,这个问题得到了更广泛的研究。AnIntroduction(1998)。多年来,该问题的许多版本都被使用,如修改奖励函数、终止条件和/或起始状态的版本。用于解决山车Q-learning的技术和类似的将离散状态映射到离散行动的技术需要扩展到能够处理该问题的连续状态空间。这些方法通常分为两类:状态空间离散化或函数近似。
离散化
在这种方法中,两个连续的状态变量被推到离散的状态中,将每个连续的变量分成多个离散的状态。这种方法在适当调整参数的情况下是可行的,但缺点是从一个状态收集的信息不能用来评估另一个状态。瓦片编码可用于改善离散化,并涉及连续变量映射到相互抵消的桶组中。训练的每一步对值函数逼近都有更大的影响,因为当偏移的网格被加起来时,信息就会被扩散。
函数逼近
函数逼近是解决山车的另一种方法。通过事先选择一组基础函数,或者在汽车行驶过程中生成基础函数,xxx可以在每个状态下对价值函数进行逼近。与用离散化创建的价值函数的阶跃版本不同,函数近似可以更干净地估计山地车领域的真正平滑函数。

资格追踪
这个问题的一个有趣方面涉及到实际奖励的延迟。xxx在成功完成之前并不能了解到目标的情况。给出一个天真的方法,对于每次试验,汽车只能稍微备份目标的奖励。这对天真的离散化来说是个问题,因为每个离散状态只会被备份一次,要花更多的时间来学习这个问题。这个问题可以通过资格追踪的机制来缓解,它将自动备份之前给予状态的奖励,极大地提高了学习的速度。资格追踪可以被看作是从时差学习方法到蒙特卡洛方法的桥梁。
技术细节
山地车问题已经经历了多次迭代。本节将重点讨论Sutton(2008)的标准定义好的版本。
状态变量
二维连续状态空间。{displaystylePositiongeq0.6}结束模拟。
山地车问题的变化
有许多版本的山