深度强化学习将如何控制机械臂的灵活动作

电子说

1.3w人已加入

描述

在这篇博文中,伯克利人工智能实验室的科学家们将展示深度强化学习将如何控制机械臂的灵活动作。另外还会讨论如何用低成本的硬件,高效地使用强化学习,以及如何能加速学习速度。以下是论智带来的编译。

为什么用机械抓手?

目前市面上大部分机器人都是用简单的抓手进行控制,对工厂来说已经足够了。但是,对于非结构化的、以人为中心的环境(例如家庭),能进行多任务的操控器是非常重要的。多手指的机械手是最常见的操控器之一,它能完成多种日常生活中的动作,例如移动物体、开门、打字、绘画等。

但是,控制灵活的机械手非常困难。其中精密的传感器和驱动器使得高级机械手价格很高。深度强化学习的出现能在便宜的硬件上实现复杂任务的自动控制,但是很多深度强化学习应用都需要大量模拟数据,这让他们在成本和安装上都很复杂。人类可以快速学习各种动作,无需大量的动作示例。 我们首先会展示深度强化学习是如果通过在现实世界中的训练而用于学习复杂操控行为的,无需任何模型或模拟器,使用低廉的机器人硬件。之后,我们会展示加入额外的监督机制,包括示范和模拟,从而能加速学习的时间。我们在两个硬件平台上进行学习:一个是有三根手指的简易机械手,价格不到2500美元。另一个是高级的Allegro机械手,价格为15000美元。

现实中的无模型强化学习

深度强化学习算法通过试错法进行学习,从经验中将奖励函数最大化。我们将用一个气门转动任务当做示范,阀门或者水龙头必须旋转180°才能开启。

奖励函数仅仅是目前阀门的方向和目标位置之间的负面距离,机器人手臂必须自己思考如何移动旋转。深度强化学习的中心问题是如何利用微弱的奖励信号找到能让该任务成功的复杂且协调的行为策略。该策略由一个多层神经网络表示,通常这需要大量实验,由于数量太多,领域内专业人士都在讨论深度强化学习方法能否用于模拟之外的训练。然而,这样会对模型的可用性施加很多限制:在现实环境中直接学习可以从经验中学到任意一种任务,然而用使用模拟器则需要设计合适的示例,对任务和机器人进行建模,并仔细调整它们的参数,以实现良好结果。首先,我们将证明现有的强化学习算法是可以直接在真是硬件上直接学习这一任务的。

我们用Truncated Natural Policy Gradient来学习这一任务,在真实硬件上需要大约9个小时。

直接的强化学习方法很有吸引力,它无需过多假设,而且能自动掌握很多技能。由于这种方法除了建立函数无需其他信息,所以很容易在改进后的环境中重新学习技能,例如更换了目标物体或机械手。

下图用了不同的材料(海绵),也能使用一样的方法让机械手学习旋转阀门。如果用模拟法,很难精确学习,而直接在现实中训练可以不需要精确的示范。

另一个任务是在水平平面上翻转180°的板子,在没有模拟案例的情况下,用了8小时解决了这一问题。

这些行为都是在不到2500美元的设备上实现的,另外还有一台定制的台式机。

用人类示范加速学习

无需模型的强化学习可以很通用,但是假如人类专家在其中加入监督,将更有助于学习速度的加快。具体方法可以参考我们的论文Demonstration Augmented Policy Gradient(DAPG)。DAPG背后的思想是,人类示范可以从两方面加速强化学习:

通过行为克隆对策略提供好的初始状态

在学习过程中添加辅助学习信号,用辅助奖励引导研究探索

强化学习中的辅助目标能阻止策略在强化学习过程中偏离示范。用有限的数据克隆的纯粹行为通常无法训练成功的策略,因为分布偏差和有限的数据支持。强化学习对鲁棒性和泛化很重要,利用示范的确可以加速学习过程。下图是我们在不同任务上做出的验证:

在现实世界,我们能用带有多功能传感器的抓手和算法显著加快学习速度。下面的示例中,是人类老师直接移动机器人的手指,结果将训练时间减少到了4个小时以下。

示范将人类的先验知识用一种自然的方式结合到了算法中,并且加速学习过程。然而,并不是所有任务都能用示范加速,我们还需要寻找其他替代的加速方法。

通过模仿加速学习

某种任务的模拟模型能通过大量的模拟数据对显示数据进行增强。对于要表示现实世界复杂性的莫数据,通常需要对多种模拟参数进行随机选择。此前的研究证明这样的随机结果有助于产生稳定的策略,可以用于人脸的迁移。我们的实验也证明了用随机数据从模拟到现实的迁移很有效。

虽然对脆弱的机器人来说,通过随机化进行迁移是很不错的选择,但这种方法会有几点弊端。首先,由于是随机的,最终策略会过于保守。另外,参数的选择也是产生好结果的重要一点,某一领域中好的结果也许不能迁移到其他领域中,第三,在复杂模型中增加了大量随机的结果,会使得训练时间大大增加,也需要更多计算量。最后,可能也是最重要的一点,一个精准的模拟器必须手动搭建,进行每项新任务时都要手动调整,需要很多时间。

用学习过的模型加速学习

此前,我们同样研究了经过学习的动态模型是如何加速现实中强化学习的,同时无需手动调整模拟器。用这种方法,动态模型中的局部导数能近似计算出来,可以对局部进行迭代优化策略。这种方法能从现实中获得多种随时可用的操控策略。另外,我们可以看到算法还能在软体机器人抓手上学会控制动作。

然而,这种方法的表现也受到模型质量的影响,未来会朝着基于模型的强化学习的方向研究。

结语

虽然现实环境中的训练很普遍,但它仍有几处挑战:

由于需要进行大量探索行为,我们发现机械抓手很快就会发热,所以需要时间暂停,以免造成损坏。

由于抓手要处理多种任务,我们需要搭建一个自动重启装置。未来如果想取消这一装置,就需要自动学习如何重启了。

强化学习方法需要提供奖励,而这一奖励需要手动设计。最近我们正在研究自动奖励机制。

但是,让机器人直接从真实世界学习复杂技巧是创建完全通用的机器人的必经之路。和人类学习一样,机器人也可以通过简单的试错获取技巧。同时加上示范、模拟器和先验知识,可以大大减少训练时间。

打开APP阅读更多精彩内容
声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉

全部0条评论

快来发表一下你的评论吧 !

×
20
完善资料,
赚取积分