UC伯克利ICLR论文:论如何教强化学习模型骑自行车去金门大桥?

IT思维  •  扫码分享
我是创始人李岩:很抱歉!给自己产品做个广告,点击进来看看。  

公众号:AI 科技评论

本文的作者是来自加州大学伯克利分校人工智能实验室(BAIR)的博士生 Vitchyr Pong,他的主研方向为深度强化学习。在本篇博客中作者介绍了自己发表于正在进行的 ICLR 2018 的一项最新工作——时间差分模型(Temporal Difference Models),该模型属于强化学习中的一种,并且很好地综合了无模型方法与基于模型方法两种策略各自的优点,雷锋网 AI 科技评论根据原文进行了编译。

UC伯克利ICLR论文:论如何教强化学习模型骑自行车去金门大桥?

假设你想从伯克利加州大学旁的房子骑行前往金门大桥。虽然这将会是一段风景优美的 20 英里骑行,但是却存在一个严重的问题:你从来没有骑过自行车!更糟糕的是,你刚搬来湾区所以你对这里一点都不熟悉,而你所能依赖的唯一工具就是一份制作精良的最新地图。那么你该如何开始这趟旅程?

首先我们需要弄清楚自行车是怎么骑的。其中一种策略是进行大量的学习和规划,阅读关于如何骑自行车的书籍,以及学习物理学和人体结构,规划好你为了应对每种扰动而做出的所有不同的肌肉运动。这种方法尽管乍看之下非常系统和高级,但是对于任何学过自行车的人来说,他们都知道这种策略注定是要失败的。事实上学习如何骑自行车只有唯一一种方法:尝试和犯错。因为像骑自行车这样的任务实在是太过于复杂了,它远远超出了你所能规划的范围。

而一旦你学会了如何骑自行车,你又将如何前往金门大桥?你可以再次使用尝试和犯错策略(Trial-and-error strategy)。你开始尝试着漫无目的地在周围瞎转了几圈,看看是否能碰巧找到金门大桥。可是不幸的是,采取这一策略会消耗你大量的时间。对于这样的问题,规划(Planning)就是一种来得更快的策略,并且只需要相当少的现实世界的经验(Real-world experience)和试错(Trial-and-error)次数。在强化学习的术语中,这就是具有更好的采样效率(Sample-efficient)。

UC伯克利ICLR论文:论如何教强化学习模型骑自行车去金门大桥?
左图:某些技能需要你通过不断尝试和犯错进行学习掌握;右图:而某些时候,提早做好规划会来的更好

刚刚这项思维实验虽然很简单,但是它却突出了人类智能的一些重要方面。对于某些任务,我们会使用尝试和犯错的方法,而对于其它的一些任务我们则使用规划的策略。强化学习(Reinforcement learning, RL)中似乎存在类似的现象。按照强化学习的说法,实验结果证明,一些任务更适合于无模型(尝试和犯错)方法,而另外一些任务则更适合于基于模型的方法(规划)。

然而,骑自行车的类比也强调了这两个系统并不是完全独立的。特别是,说学骑自行车的过程只是试错法的说法也是过于简化。事实上,当通过反复试错学习骑车时,你也会采用一些规划方法。也许你的初始计划是「不要摔倒」,然后随着你的进步,你会制定更加雄心勃勃的计划,比如「自行车向前走两米却不会摔倒」,最终,你的自行车骑行技巧开始变得娴熟,所以你开始给自己制定一些非常抽象的计划(「骑到路的尽头」),在这个阶段你所需要做的事情就是进行规划,而不需要再去担心关于骑自行车的细节问题。通过这个过程,我们可以看到,这中间我们逐渐从无模型(尝试和犯错)策略过渡到基于模型(规划)的策略。那么如果我们可以开发出能模拟这种行为的人工智能算法(特别是强化学习算法),该算法就有可能同时具备高性能(算法学习早期的时候采用试错方法)和高采样效率(之后切换到规划方法来实现更加抽象的目标)的优点。

这篇文章介绍了时间差分模型(Temporal difference model, TDM),它属于强化学习的一种,并且能够实现无模型和基于模型的强化学习之间的平滑过渡。在介绍时间差分模型之前,我们将首先介绍一个典型的基于模型的强化学习是如何工作的?

基于模型的强化学习

在强化学习算法中,我们有一些状态空间 S 和动作空间 A。如果在时间 t 我们处于状态:


然后采取动作:


我们将根据动态模型(Dynamics model)

转移到新状态:


。然后我们的目标是最大化之前所有达到过的状态的奖励之和:


基于模型的强化学习算法假设我们已经给出(或者学习)动态模型 f。鉴于这个动态模型,现实中已经存在有许多基于模型的算法。对于本文,我们考虑执行以下优化的方法来选择一系列动作和状态以最大化奖励:

UC伯克利ICLR论文:论如何教强化学习模型骑自行车去金门大桥?

这个优化函数将指导算法选择一系列状态和动作以最大化奖励,同时还将确保轨迹是可行的。在这里轨迹可行意味着,每一个当前状态到下一个状态的转换都是有效的。例如,在下面的图片中,如果你从 st 状态开始并采取动作,则只有最上面一行的 st+1 状态是可行的转换。

UC伯克利ICLR论文:论如何教强化学习模型骑自行车去金门大桥?
如果你能藐视物理规则,那么你前往金门大桥的旅行规划可能会来得容易得多。但是,基于模型的优化问题中的约束确保了只能输出最上面一行的轨迹。虽然剩下的两条轨迹可能带来更高的奖励,但它们是不可行的。

在我们的自行车问题中,优化结果可能产生如下图这样一条路线规划,自行车从伯克利出发(右上角),最终到达金门大桥(左侧中部):

UC伯克利ICLR论文:论如何教强化学习模型骑自行车去金门大桥?
一个规划(状态和动作)的例子输出了优化问题

虽然这在概念上而言挺好的,但是这个规划在现实中却不太现实。基于模型的方法在每一次时间步(Time step)使用模型 f(s, a) 来预测下一次的状态。在机器人技术中,一个时间步长通常相当于十分之一秒或百分之一秒。因此,对于最终规划的更现实描述可能如下所示: UC伯克利ICLR论文:论如何教强化学习模型骑自行车去金门大桥?
一个更加现实的规划

如果我们稍微思考一下自己在每天日常生活中是如何进行规划的,我们就会意识到我们计划的时间更为抽象。我们并没有规划自行车在接下来的十分之一秒将所处的位置,而是制定了更长期的计划,例如「我将走到路的尽头」。此外,我们只有在开始的时候已经学会了如何骑自行车,才能制定出这些时间抽象规划(Temporally abstract plans)。正如前面所述,我们需要一些方法来(1)刚开始学习时采用试错方法;然后(2)提供一种机制来逐步提高我们规划的抽象程度。为此,我们引入了时间差分模型。

UC伯克利ICLR论文:论如何教强化学习模型骑自行车去金门大桥?

时间差分模型(Temporal Difference Models)

时间差分模型可以写成 Q(s, a, sg, τ),这个函数的含义是,给定一个状态 s,动作 a 和目标状态 sg,去预测智能体在 τ 时间步内能够在多大程度上去接近目标。直观而言,时间差分模型回答了这样的问题「如果我要在 30 分钟内骑自行车前往旧金山,那么我能走到距离旧金山多远的距离?」。对于机器人技术,测量接近程度的一种很自然的方法就是欧几里得距离。

时间差分模型预测在一段固定的时间之后,你还距离目标(金门大桥)有多远。骑自行车行走 30 分钟后,也许你只能到达上图中的灰色骑行者图标的位置。在这种情况下,灰色线条表示时间差分模型应该预测到的距离。

对于那些熟悉强化学习的人来说,事实证明时间差分模型可以被看做有限期马尔科夫决策过程(Finite-horizon Markov Decision Process)中的目标条件 Q 函数。因为时间差分模型只是另一个 Q 函数,所以我们可以使用无模型(试错法)算法对其进行训练。我们使用深度确定性策略梯度(Deep deterministic policy gradient, DDPG)来训练时间差分模型,并追溯性地重新标记目标和时间范围,以提高学习算法的采样效率。虽然理论上讲,任何 Q 学习算法都可以用来训练时间差分模型,但是我们发现这么做是更加有效的。读者们如何想要了解更多的细节请阅读我们的论文。

通过时间差分模型进行规划

如果我们完成了时间差分模型的训练之后,我们要如何使用它来进行规划呢?事实证明,我们可以通过以下优化来进行规划:


直观来看,该公式与基于模型的公式非常相似,都是选择能够最大化奖励并且轨迹可行的一系列动作和状态。而一个关键的区别就是我们只规划每 K 个时间步,而不是对每个时间步进行规划。Q(st, at, st+K, K) = 0 的约束限制了轨迹的可行性。视觉上而言,针对每个时间步进行规划的情况就像下图:


取而代之的是,我们可以针对这 K 个时间步直接进行规划,如下图:


随着 K 值的增大,我们将得到在时间上越来越抽象的规划。在 K 个时间步之间,我们使用无模型方法来采取动作,从而允许无模型策略「抽象出」 达到目标过程中的实现细节。对于骑车问题,采用足够大的 K 值,最终优化的结果可能会生成如下图的一个规划:

UC伯克利ICLR论文:论如何教强化学习模型骑自行车去金门大桥?
基于模型的规划者可以被用于选择时间抽象目标,而无模型算法则可以被用于实现这一目标。

一个需要注意的点是,这个公式只能在每 K 个步骤中优化奖励。然而,许多任务只关心一些状态,例如最终状态(比如说「达到金门大桥」),因此该方法依然能捕获到各种各样有趣的任务。

相关工作

事实上,我们并不是第一个看到基于模型和无模型强化之间联系的人。Parr’08 和 Boyan’99 特别相关,尽管他们主要关注表格式和线性函数逼近器。在 Sutton’11 和 Schaul’15 中,在机器人导航和 Atari 游戏的背景下,还探索了训练目标条件 Q 函数的想法。最后,我们使用的再次标签方案(Relabelling scheme)则是受到了 Andrychowicz’17 工作的启发。

实验

我们在五个模拟连续控制的任务和一个真实世界的机器人任务上测试了时间差分模型。其中一项模拟任务是训练机器人手臂将气缸推送到目标位置。下面展示了最终实现推动气缸的时间差分模型策略和相关的学习曲线:

UC伯克利ICLR论文:论如何教强化学习模型骑自行车去金门大桥?
成功达成了目标任务的时间差分模型策略

UC伯克利ICLR论文:论如何教强化学习模型骑自行车去金门大桥? 学习曲线,时间差分模型的曲线是蓝色的(稳定时,曲线越低说明性能越好)

在学习曲线中,我们绘制了到达目标最终距离(Final distance to goal)与环境采样(Environment Samples)量之间的关系图(曲线越低越好)。我们的模拟环境以 20 Hz 的频率控制着机器人,这意味着模拟环境中 1000 个时间步等价于真实世界中的 50 秒。这种环境的动态模型相对容易学习,这意味着基于模型的方法将取得优良的表现。正如预期的那样,基于模型的方法(紫色曲线)拟合得非常快(大约 30000 个时间步,或者说约 25 分钟)并且效果也非常好。时间差分模型方法(蓝色曲线)也可以快速拟合(大约 20000 步或者说约 17 分钟)。无模型的深度确定性策略梯度(DDPG,不采用时间差分模型)基准最终也解决这一任务,但是它需要更多的训练样本。而时间差分模型方法能够如此之快地实现拟合的原因之一是,它的有效性是一种伪装的基于模型的方法。

当我们转向运动型任务时,无模型方法的结果看起来好多了,而运动型任务的动态性更强。其中一项运动型任务涉及训练一个四足机器人移动到特定位置。由此产生的时间差分模型策略(TDM)在下图的左侧做了展示,然后右侧的曲线是相对应的学习曲线。

应用于运动型任务的 TDM 策略

学习曲线,TDM 为蓝色(曲线越低越好)

正如我们使用尝试和犯错策略而不是规划策略来学习骑自行车一样,我们期望无模型方法在这些运动型任务中的表现要比基于模型的方法来的更好。这正是我们在学习曲线中看到的:基于模型的方法在性能上保持平稳。虽然无模型的 DDPG 方法学习速度更慢,但最终的性能却优于基于模型的方法。时间差分模型能够快速学习(拟合)并获得最佳的性能。在这篇论文中还进行了更多的实验研究,包括训练一个真实世界中具有 7 自由度的锯木工机器人来找到目标位置。我们鼓励读者自己去阅读论文!

未来的方向

时间差分模型为从无模型到基于模型的控制插值提供了一种形式化和实用的算法。但是,未来还有很多工作要做。首先,我们求导时假设环境和策略都是确定性的。而实际上,大多数环境下这些都是随机的。即便它们是确定性的,在实践中采用随机策略也有令人信服的理由(可以参见这篇博客,里边举了一个例子)。然后如果把 TDM 扩展到此设置将有助于实现把 TDM 应用到更真实的环境中去。另外一个想法就是把 TDM 与可选的基于模型的规划优化算法(Alternative model-based planning optimization algorithms)相结合,这个算法我们在本篇论文中使用过。最后,我们希望将 TDM 应用于真实世界的机器人身上去实现更难的挑战,比如运动、操作,当然还有骑自行车去金门大桥。

这项工作将在 ICLR 2018 上展示。想要了解更多关于 TDM 的信息,请查看以下链接,也欢迎你在温哥华 ICLR 的海报展区中与作者们交流:

ArXiv 预印本:《Temporal Difference Models: Model-Free Deep RL for Model-Based Control》
https://arxiv.org/abs/1802.09081
开源代码
https://github.com/vitchyr/rlkit

补充:我们之所以将该方法命名为时间差分模型是因为,我们使用时间差分学习(Temporal difference learning)训练 Q,然后将 Q 作为模型使用。

Via TDM: From Model-Free to Model-Based Deep Reinforcement Learning,AI 科技评论编译。

本文被转载1次

首发媒体 IT思维 | 转发媒体

随意打赏

uc伯克利
提交建议
微信扫一扫,分享给好友吧。