深度强化学习一定要用到奖励工程吗?伯克利 AI 研究院:并不需要
近年来,强化学习技术在控制领域大放异彩。然而,奖励函数的设计问题一直以来都是困扰着人们的「老大难」问题。近期,伯克利的研究人员提出了一种基于「事件变分逆控制」的端到端深度强化学习范式,使机器人无需依赖奖励工程便能实现高效的深度强化学习,成功地在机器人控制问题上取得了重大突破。伯克利 AI 研究院将相关成果发布在博客上,雷锋网 AI 科技评论编译如下。
将任务的目标告知他人是件很容易的事:我们可以使用语言向他们描述希望得到的结果,向他们展示一段教学视频,或者综合使用这些方法。但在另一方面,为机器人指定一项强化学习任务则是一件需要付出巨大努力的事。在先前大量的工作中,研究者们已经将深度强化学习技术应用于真实的机器人上,而这些工作使用的是特定的传感器来获得奖励或学习任务,在这些任务中,机器人的内部传感器可以被用来衡量奖励。例如,使用热成像仪跟踪液体流动(https://arxiv.org/abs/1608.00887),或者使用专门构建的计算机视觉系统来跟踪物体(https://arxiv.org/abs/1707.01495)。由于对于任何我们希望学习的新任务来说,首先都需要准备好这些仪器环境,这就使我们在广泛将强化学习技术应用于机器人时遇到了重大的瓶颈,并且我们难以在缺乏这些仪器的开放世界环境中直接使用这些方法。
为此,我们开发出了一种端到端的方法,它使机器人可以在不需要任何手动的奖励工程的情况下,从描述了如何完成一个任务的适当数量的图像中学习。机器人仅仅从这些信息(大约 80 张图像)中开始学习,且偶尔向用户查询额外的标签。在查询过程中,机器人会向用户展示一张图像并要求用户为该图像打上标签,从而确定该图像是否代表任务已被成功完成。用户需要提供此类查询的次数并不多(大约 25-75 次),而机器人则能通过使用这些查询结果,在 1-4 小时的交互时间内直接在真实世界中学习,最终结果显示,这种方法是最高效的适用于真实世界的基于图像的机器人强化学习方法之一。我们已经对该方法进行开源,地址如下:
https://github.com/avisingh599/reward-learning-rl。
我们提出的方法使我们能够以端到端方式利用图像像素数据解决诸多基于现实世界的机器人问题,且无需任何人为设计的奖励函数。
基于分类器的奖励
虽然我们先前的大多数的工作都倾向于利用专门构建的系统来获取奖励,从而解决所面临的任务,同时此前也曾探索了一种简单的替代方案。我们可以使用一组目标图像来指定任务,而后训练分类器来区分目标图像与非目标图像。接着,该分类器分类成功的概率可以被用作训练强化学习智能体来实现该目标的奖励。
通过示例图像指定任务通常是非常直接的。如上图所示,任务可能是将与图片中同样多的葡萄酒倒入玻璃杯中、像图片中一样将衣服叠起来,以及按照图中的样式摆放餐具。
分类器存在的问题
尽管分类器是在现实世界中为强化学习智能体指定任务的最直观、最直接的解决方案,但它们在应用于现实世界中的问题上时也会产生不少问题。然而,使用目标分类器来指定任务的用户,不仅需要为该任务提供正样本,而且还需要提供负样本。此外,这组负样本必须足够详尽,同时涵盖机器人可能到达经过的所有空间区域。如果该组负样本提供的信息不够详尽,那么强化学习算法可能会通过找出分类器在训练期间未曾见过的场景而轻易骗过分类器。下方的示例展示了「分类器利用(exploitation)」这一问题:
在这个任务中,机器人的目标是将绿色的物体推到红色标记上方。我们使用一个分类器作为奖励函数,通过强化学习来训练该机器人。右下角可以看到分类器成功分类的概率随时间变化的可视化结果。正如我们看到的,即便分类器输出的成功概率为 1.0,机器人也仍然无法完成这个任务。而强化学习算法已经成功地以一种特殊的方式移动机器臂,从而骗过了分类器,这是因为该分类器并没有在这种特定的负样本上被训练过。
攻克「分类器利用」问题
我们采用的最新方法被称为「事件变分逆控制」(variational inverse control with events,VICE,https://sites.google.com/view/inverse-event),它试图通过取代以对抗式的方式来挖掘分类器所需要的负样本来解决这个问题。该方法在一开始会随机初始化分类器和策略。首先,它会调整分类器并更新策略,从而最大化奖励;接下来,它会训练分类器将用户所提供的目标示例与通过强化策略收集到的样本区分开来。然后,强化学习算法会利用更新后的分类器作为学习策略的奖励,从而实现希望实现的目标;这一迭代过程将持续到策略收集到的样本与用户提供的目标示例无法被区分开来。这一过程类似于生成对抗网络(https://papers.nips.cc/paper/5423-generative-adversarial-nets.pdf),并且基于某种逆强化学习(https://arxiv.org/abs/1710.11248)的一种形式(https://arxiv.org/abs/1611.03852)。但与标准的逆强化学习不同,这种方法不需要示例演示——而仅需要在分类器开始训练时提供成功完成任务的示例图像。VICE(如下图所示)能够有效解决初始分类器的利用问题,而用户则不再需要提供任何负样本示例。
我们看到,分类器学习的成功概率与实际成功情况密切相关,这使得机器人可以学会成功完成任务的策略。
利用主动学习
虽然 VICE 能够在无需任何奖励工程的前提下,学会用于解决现实世界中的机器人任务的端到端的策略,但它其仍然有着自己的局限性:VICE 需要事先得到数千个正样本才能完成学习,这会大大增加人类用户的工作量。为了解决这个问题,我们开发出了一种新方法,它使机器人能够在除了使用适量的初始目标示例之外,还能够向用户提出的标签查询。我们将这种方法称为「利用主动目标查询的强化学习」(RAQ,https://sites.google.com/view/reward-learning-rl/)。在这些主动查询过程中,机器人会向用户展示一张图像并要求用户为该图像打标签,以确认该图像是否表示任务已被成功完成。虽然这种主动请求用户为每个状态打标签的作法实际上相当于要求用户手动提供奖励信号,但该方法只需要用户给机器人在训练期间看到的一小部分图像打标签,对于在无需手动设计奖励的情况 言下学习机器人技能的任务而言,这是一种高效且实用的方法。
在这个任务中,我们的目标是将书籍放入书架中的任意一个空槽内。该图展示了我们的算法所做出的一些查询示例。该算法根据在学习解决任务的过程中积累的经验挑选出了以上几幅图像(使用学到的分类器得出的概率估计),并由用户为这些图像打上二分类的「成功/失败」的标签。
我们将这种组合方法称为 VICE-RAQ,在事先拥有 80 张目标示例图像、后续进行 25-75 次主动查询的情况下,它能够完成现实世界中的机器人任务。我们采用了最近提出的「soft actor-critic」算法(https://bair.berkeley.edu/blog/2018/12/14/sac/)来进行策略优化,可以在与现实世界交互的大约 1-4 小时内完成任务,这比先前在图像上进行端到端的策略训练的方法要快得多。
我们的方法能够在一个小时多一点的交互时间内学会完成将物体推到指定地点的任务(目标是将杯子推到白色杯托之上),而且只需要进行 25 次查询。即使对于更为复杂的书架摆放和布帘覆盖任务,我们的方法也只需要不到 4 个小时的交互时间,以及不到 75 次的主动查询。
解决涉及可形变目标的任务
由于我们在本任务中基于图像像素学习奖励函数,因此可以解决那些难以手动指定奖励函数的任务。我们进行的实验任务之一,是将布覆盖在一个盒子上——这实际上是用桌布覆盖桌面任务的一种简化版本。为了成功完成任务,机器人必须平稳地覆盖布料,不能压皱布料也不能让任何地方起褶皱。我们发现我们的方法能够成功地解决这项任务。为了展示本任务所面临的挑战,我们评估了另一种仅使用机器人末端效应器的位置作为观测数据、并基于该测量数据(与目标的欧氏距离)手动定义奖励函数的方法。我们观察到,这种对比基准方法并不能实现该任务的既定目标,因为它只会简单地以直线运动的方式将末端效应器移动至目标位置,然而直线轨迹并不能解决这项任务。
上图:使用机械臂的位置作为观测数据手动定义奖励函数的策略的实验结果。下图:使用基于像素学习到的奖励函数的策略的实验结果。
解决带有多目标条件的问题
分类器描述一个任务的表达能力要远远强于目标图像,这一点在有多张描述目标的图片的任务中可以很好地体现出来。在我们实验的书架摆放任务当中,目标是将书籍插入书架上的空槽处。机械臂拿起书籍的初始位置是随机的,任务要求机器人能够从任意的起始位置成功地完成任务。最重要的是,书架上有若干个空槽,意味着不同的起始位置可能对应不同的最优目标空槽。在这里,我们看到我们的方法学到了一种能够根据书籍在轨迹中的初始位置将其插入不同空槽的策略。机器人通常更倾向于将书放入最近的槽中,因为这能够最大化其从分类器那里获得的奖励。
上图:机器人选择将书籍插入左侧的空槽。下图:机器人选择将书籍插入右侧的空槽。相关工作
近年来,研究人员提出了多种数据驱动型方法来解决奖励规范问题(reward specification problem),其中逆强化学习(IRL,https://ai.stanford.edu/~ang/papers/icml00-irl.pdf)是一种性能较为突出的方法。VICE 与最近提出的 IRL 方法密切相关,例如:带引导机制的成本学习(https://arxiv.org/abs/1603.00448)与对抗逆强化学习(https://arxiv.org/abs/1710.11248)。 IRL 方法要求人类专家提供实现正确的(状态、动作)对轨迹,而 VICE 只需要最终希望实现的状态,这就使得任务指定变得简单得多,同时也让强化学习算法能够自主发现更多能够完成任务的新颖方式(而非简单模仿专家的行为)。
我们的方法还与生成对抗网络(https://arxiv.org/abs/1406.2661)相关。受到生成对抗网络(GAN,https://arxiv.org/abs/1606.03476)启发的各类技术已被广泛应用于控制问题,但是与前面提到的逆强化学习技术一样,这些技术也要求我们事先拥有「专家轨迹」(expert trajectories)数据。我们的方法表明,这种对抗性学习框架可以被扩展至无需专家演示引导的体系当中,而我们只需要给出想要达到的理想状态的示例即可。
在过去几年当中,用于机器人的端到端感知与控制技术获得了极大的关注,但初步的方法要么要求能够在训练过程中利用低维状态(例如,对象的位置,https://arxiv.org/abs/1504.00702)、要么需要单独训练机器人的中间表征(https://arxiv.org/abs/1509.06113)。而最近,研究者提出的一些方法(https://bair.berkeley.edu/blog/2018/12/14/sac/)能够直接通过像素学习策略,而无需依赖于训练过程中的低维状态,但它们仍然需要获取奖励的仪器。我们的方法在这方面有了进一步的提升——能够直接根据像素学习策略与奖励函数。这种方法使我们能够解决那些较难指定奖励的任务,例如:机器臂盖桌布任务。
结语
通过使机器人能够在无需用户对奖励函数或专家演示进行编程的情况下实现强化学习,我们坚信我们的方法让强化学习在成为机器人实现全能型操作的实用、自动和易用的工具的道路上,前进了一大步。通过使机器人在无需任何仪器或手动奖励设计的条件下就能够直接在现实世界环境中提升技能,我们亦坚信我们的方法也意味着,直接从现实环境中学习的机器人系统也朝着终生学习的目标迈进了一步。在未来,这种能力可以使机器人得以通过与现实世界的交互直接获取广泛且高度泛化的技能。
本文参考论文:
End-to-End Robotic Reinforcement Learning without Reward Engineering(RSS 2019)
论文作者:Avi Singh, Larry Yang, Kristian Hartikainen, Chelsea Finn, Sergey Levine
论文下载地址:https://arxiv.org/abs/1904.07854
开源代码:https://github.com/avisingh599/reward-learning-rl
Variational Inverse Control with Events: A General Framework for Data-Driven Reward Definition(NeurIPS 2018)
论文作者: Justin Fu*, Avi Singh*, Dibya Ghosh, Larry Yang, Sergey Levine
论文下载地址:https://arxiv.org/abs/1805.11686
开源代码:https://github.com/avisingh599/reward-learning-rl
via https://bair.berkeley.edu/blog/2019/05/28/end-to-end/
今日课程推荐:深度理解强化学习
【课程亮点】
系统化讲解强化学习体系,算法原理+数学推导+实战代码示例
顶会论文作者讲解,丰富项目经验
手把手教你强化学习
共10章节,约30课时,每周三定时更新。