zxyscz 2019-05-30
将任务目标传达给他人并不是什么难事:我们可以使用语言向对方表述所需要的结果、向他们发送一段操作视频,或者将这类办法结合起来共同做出说明。
但在另一方面,为机器人指定任务以进行强化学习则需要投入大量精力。大多数原有项目已经在尝试引导物理机器人进行深度强化学习,这要求我们使用专门的传感器建立奖励或者研究任务,而机器人则利用其内部传感器对奖励指标进行测量。例如,机器人可以使用热成像仪跟踪液体运动,或者使用专门的计算机视觉系统跟踪物体轨迹。
然而,这种作法显然无法让此类机器人掌握一切新型任务,意味着我们在机器人领域广泛采用强化学习技术时势必面临重大瓶颈,更遑论在缺乏传感设置的开放世界环境中直接使用强化学习方法。
为此,我们开发出一种端到端新方法,允许机器人从描述任务成功完成的适度数量图像中学习,从而摆脱对手动奖励工程的依赖性。机器人能够直接以这部分信息为起点开始学习(初始图像约为 80 个),且偶尔向用户查询其它标签。在这些查询当中,机器人会向用户展示图像并要求用户提供标签以确定该图像是否代表着任务已成功完成。整个过程中,我们需要提供的查询数量较低(大约 25 至 75 次),机器人则可利用这些查询在 1 到 4 小时的交互周期之内直接通过现实世界完成学习——这意味着其成功实现了基于图像且适用于现实环境的最高效机器人强化学习方法之一。目前,我们已经对自己的实现方案进行了开源。
我们的方法使我们能够以端到端方式从图像像素当中解决诸多基于现实世界的机器人问题,且无需任何以手动方式设计的奖励函数。
虽然大多数以往工作倾向于利用专用系统来建立奖励机制,从而解决各类实际任务,但我们也从原有体系当中探索出一种更为简单的替代性方案。我们可以利用一组目标图像进行任务指定,而后训练分类器以区分目标图像与非目标图像。以此为基础,来自该分类器的成功概率则可作为训练强化学习代理时的目标实现奖励。
通过示例图像进行任务指定通常非常简单。以上图为例,我们指派的任务可以是将等量的葡萄酒倒入玻璃杯中、以符合图像效果的方式折叠衣物,以及按图摆放餐具。
虽然分类器是立足现实世界为强化学习代理指定任务的最直观且直接的解决方案,但其在实际应用当中也会产生不少问题。具体而言,在指定包含目标分类器的任务时,用户不仅需要提供该任务的正例,同时也必须提供一些反例。此外,这组反例必须足够详尽,同时涵盖机器人可能访问到的所有空间区域。如果该组反例未能充分穷举,那么强化学习算法则可能通过执行分类器在训练当中未曾见过的情况而成功骗过分类器。下面来看一个相关实例。
在此任务中,机器人的目标是将绿色对象推到红色标记之上。利用分类器作为奖励机制,我们采用强化学习进行机器人训练。来自分类器的成功概率在右下方随时间进行可视化呈现。如大家所见,虽然分类器输出的成功概率为 1.0,机器人仍然无法解决任务。强化学习算法已经设法以特殊方式移动机器人手臂骗过了分类器,这是因为该分类器在训练当中从未见过这种特定类型的反例。
我们采取的最新方法被称为变量逆控制事件(简称 VICE),旨在通过对抗方式挖掘分类器所需要的反例以解决实际问题。该方法以分类器与策略的随机初始化为起点,首先修复分类器并更新策略,从而实现奖励最大化。接下来,它会训练分类器以区分用户所提供的目标示例与策略收集样本。此后,强化学习算法会利用经过更新的分类器作为学习策略,进而实现期望目标的奖励;这一过程将不断重复,直到策略收集到的样本与用户提供的已证明目标示例之间无法相互区分。这一过程类似于生成对抗网络,且基于逆强化学习形式;但与标准的逆强化学习相比,这种方法不需要示例演示——而仅需要在分类器训练开始时提供成功的示例图像。VICE(如下图所示)能够有效解决初始分类器的欺骗问题,而用户不再需要提供任何反例素材。
我们看到,分类器学习后的成功概率与实际成功情况密切相关,这意味着机器人确实掌握了完成任务的诀窍。
虽然 VICE 能够在无需任何奖励工程的前提下,帮助机器人学会足以解决现实世界任务的端到端策略,但其仍然有着自己的局限性:需要提前接收数千个正例才能完成学习。对于人类用户而言,这仍是一种不小的负担。为了解决这个问题,我们开发出一种新方法:除了提供适量的初始目标示例之外,机器人还能够向用户提出标签查询。我们将这种方法称为具有主动目标查询(简称 RAQ)机制的强化学习。在这些主动查询当中,机器人会向用户展示图像并要求用户标记该图像是否表示任务已经成功完成。虽然这种主动申请标签的作法实际上等同于要求用户手动提供奖励信号,但我们的方法只涉及训练期间所使用图像素材中的一小部分,这使其成为一种高效且实用的技能学习方法,而不再涉及大量的人工奖励设计。
在此任务中,我们的目标是将书籍放入书架中的任何一个空槽内。该图展示了我们的算法所做出的一些查询示例。该算法在学习任务解决的过程当中挑选出以上几幅图像(基于分类器学习到的概率估计结果),并由用户为这些图像提供二元成功 / 失败标签。
我们将这种组合方法称为 VICE-RAQ,其能够解决机器人在现实世界当中的任务执行问题。我们大约需要预先提供 80 幅目标示例图像,而后是 25 到 75 次主动查询。我们利用最近推出的 soft actor-critic 算法进行策略优化,从而在 1 到 4 个小时左右的实际交互周期之内解决任务——这要比以往单纯基于图像的端到端策略训练速度快得多。
我们的方法能够在一个多小时的交互周期之内完成推动任务的学习(目标是将杯子推到白色杯托之上)。而且只需要进行 25 次查询。即使对于更为复杂的书架摆放与悬挂任务,我们的方法也只需要不到 4 个小时的交互时间,以及不到 75 次的主动查询。
由于我们是以像素为基础进行奖励函数学习,因此我们可以解决那些以往很难以手动方式指定奖励函数的任务。我们采取的实验任务之一,是将布覆盖在盒子上——这实际上属于桌面悬挂任务的一种简化版本。为了成功完成任务,机器人必须平滑地覆盖布料,不可弄皱布料也不能产生任何折叠部位。我们发现这种方法能够成功解决这项任务。为了证明此项任务当中包含的挑战,我们评估了另一种仅使用机器人末端执行器位置作为观察点的方法,同时配合手动定义的奖励函数(与目标间的平面几何距离)。我们观察到,这种方法并不能实现任务的既定目标,因为它只会简单地将末端执行器以直线方式移动至目标位置,但很明显这项任务无法通过直线轨迹来解决。
图上:采用由手动定义奖励产生的策略后,机器臂的操作结果。图下:采用由像素学习奖励函数产生的策略后,机器臂的操作结果。
分类器的能力当然远不止是描述任务中的目标图像,这一点在多目标条件任务当中体现得非常明显。在我们实验的书架摆放任务当中,目标是将书籍插入书架上的空槽处。拿着书籍的手臂拥有随机的初始位置,意味着机器人必须能够从随机位置出发并成功完成任务。最重要的是,书架上有多个空槽,意味着不同的起始位置可能对应不同的最优目标空槽。在这个任务中,我们发现强化学习方法学习到了新的策略,能够根据书籍的初始位置将其插入不同的空槽。机器人通常更倾向于将书放入最近的槽中,因为这能够最大程度提高其从分类器处获得的奖励评分。
图上:机器人选择将书籍插入左侧的空槽。图下:机器人选择将书籍插入右侧的空槽。
作为这套设置中的亮点,我们采用了多种数据驱动型方法以解决奖励规范问题,同时引入了逆强化学习(简称 IRL)方法。VICE 与最近的 IRL 方法可谓密切相关,例如引导成本学习与对抗逆强化学习等。虽然 IRL 方法要求人类专家提供正确的引导(状态、动作等),但 VICE 却能够将素材类别缩减至正确的最终状态,这就使得任务指定变得更加轻松易行,同时也让强化学习算法能够自主发现更多新的任务完成方式(而非简单模仿专家的行为)。
我们的方法同样与生成对抗网络有着一定关联。受到生成对抗网络(GAN)启发的各类技术已被广泛应用于控制问题,但这些技术仍需要之前 IRL 技术介绍部分提到的专家引导机制。我们的方法表明,这种对抗性学习框架能够成功扩展至无需专家引导的体系当中,而我们只需要为其提供与期望状态相符的示例即可。
机器人技术中的端到端感知与控制方法在过去几年当中获得了极高的关注,但初步的解决方法要么是在训练过程中访问低维状态(例如对象的位置)、要么需要通过单独的训练进行体现。好在最近出现的新方法能够直接立足像素进行策略学习,而不再依赖于训练期间内的低维状态,但其仍然需要配合与奖励相关的机制。我们的方法在这方面更进一步——其能够直接从像素当中学习策略与奖励函数。通过这种方式,我们将能够解决那些较难指定奖励指标的任务,例如悬挂类任务。
通过在无需用户编程奖励函数或演示的前提下实现机器人强化学习,我们坚信我们的方法使得强化学习朝着实用性、自动化以及低门槛工具的方向迈出了重要的一步,亦使得多功能实践型机器人成为可能。通过帮助机器人直接从现实环境当中学习并提升技能水平,而无需任何额外的机制或手动奖励设计,我们亦坚信我们的方法帮助机器人开始朝着全面实现真实场景下的持续学习能力奋力进发。这种能力将使得未来的机器人得以通过与现实世界的交互,直接获取广泛且概括性极高的技能储备。
本文基于以下论文:
原文链接:
https://bair.berkeley.edu/blog/2019/05/28/end-to-end/
《阿里线下智能方案进化史》
《编程指南 | 如何用 Paddle Fluid API 搭建一个简单的神经网络?》
《AI 与 IoT 之间差的是数据?揭秘 Keep 快速入局 AIoT 的三大绝招》
......
查看原文,欢迎点击了解更多