前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >【重磅】DeepMind发布通用强化学习新范式,自主机器人可学会任何任务

【重磅】DeepMind发布通用强化学习新范式,自主机器人可学会任何任务

作者头像
新智元
发布2018-03-12 16:18:51
9900
发布2018-03-12 16:18:51
举报
文章被收录于专栏:新智元新智元

新智元报道

来源:DeepMind

编译:Marvin

【新智元导读】DeepMind今天发表博客文章,提出一种称为SAC-X(计划辅助控制)的新学习范式,旨在解决让AI以最少的先验知识,从头开始学习复杂控制问题的挑战。这在真实环境中成功让机械臂从头开始学习拾放物体。研究者认为,SAC-X是一种通用的强化学习方法,未来可以应用于机器人以外的更广泛领域。

让孩子(甚至成年人)在使用物品之后自己收拾可能是颇有挑战性的事情,但我们面临一个更大的挑战:试图让我们的AI也这样做。成功与否取决于AI是否掌握几个核心的视觉运动技能:接近一个物体,抓住并举起它,然后打开一个盒子并把物体放进里面。使事情更复杂的是,这些技能还必须用正确的顺序做。

控制任务(control tasks),例如整理桌子或堆放物体,要求agent能够确定如何、何时以及在哪里协调它的模拟手臂和手指的9个关节,以正确地移动物体,实现它的目标。在任何给定一段时间里,可能的运动组合数量会非常庞大,并且需要执行一系列正确的操作,这就构成了一个严峻的探索性问题——使得这成为强化学习研究的一个特别有趣的领域。

奖赏塑形(reward shaping)、学徒学习(apprenticeship learning)以及示范学习等技巧可以帮助解决这个问题。但是,这些方法依赖于大量的关于任务的知识——以最少的先验知识,从头开始学习复杂控制问题,仍然是一个公开的挑战。

DeepMind近日发表的新论文“Learning by Playing - Solving Sparse Reward Tasks from Scratch”提出一种新的学习范式,称为“Scheduled Auxiliary Control (SAC-X)”(计划辅助控制),旨在解决这个问题。SAC-X的想法是要从头开始学习复杂的任务,那么agent必须先学习探索和掌握一套基本的技能。就像婴儿在学会爬行和走路之前必须先发展协调和平衡的能力一样,向agent提供一些与简单的技能相对应的内部(辅助)目标可以增加它理解和成功执行更复杂任务的机会。

我们在几个模拟的和真实的机器人任务中演示了SAC-X的方法,包含各种任务,例如不同类物体的堆叠问题,场地整理问题(需要将物体放入盒子)。 我们定义的辅助任务遵循一个总原则:它们鼓励agent去探索它的感知空间( sensor space)。 例如,激活它的手指上的触摸传感器,感知其手腕受到的力,使其本体感受传感器( proprioceptive sensors)中的关节角度达到最大,或强制物体在其视觉相机传感器中移动。如果达到了目标,每个任务会关联到一个简单的奖励,否则奖励为零。

图2:agent学习的第一件事是激活手指上的触摸传感器,并移动两个物体。

图3:模拟agent最终掌握了“堆叠”物体这个复杂任务。

然后,agent就可以自行决定它当前的“意图”(intention),即接下来的目标。目标可以是辅助任务或外部定义的目标任务。更重要的是,agent可以通过充分利用off-policy learning来检测并从其他任务的奖励信号学习。例如,在拾取或移动一个物体时,agent可能会顺便把它堆叠起来,从而得到“堆叠”的奖励。由于一系列简单的任务可以导致观察到罕见的外部奖励,所以将“意图”进行安排(schedule)的能力是至关重要的。这可以根据所收集到的所有相关知识创建一个个性化的学习课程。

事实证明,这是在如此大的一个领域中充分利用知识的一种有效方法,而且在只有很少的外部奖励信号的情况下尤其有用。我们的agent通过一个 scheduling 模块来决定遵循那个意图。在训练过程中,scheduler通过一个meta-learning算法进行优化,该算法试图使主任务的进度最大化,从而显著提高数据效率。

图4:在探索了许多内部辅助任务之后,agent学习如何堆叠和整理物体。

我们的评估显示,SAC-X能够解决我们从头设置的所有任务——使用相同的底层辅助任务集。更令人兴奋的是,我们在实验室的一个真实的机械臂上直接利用SAC-X,成功地从头开始学会了拾取和放置任务。过去,这一点特别具有挑战性,因为真实世界中机器人的学习需要数据效率,所以主流的方法是在模拟环境中预训练(pre-train)一个agent,然后将agent转移到真实的机械臂。

图5:在真正的机械臂上,SAC-X学习如何从头开始拾取和移动绿色方块。它此前从未见过这一任务。

我们认为SAC-X是从头开始学习控制任务的重要一步,只需指定一个总体目标。SAC-X允许你任意定义辅助任务:可以基于一般性认识(例如在个实验中是故意激活传感器),但最终可以包含研究人员认为重要的任何任务。从这个角度看,SAC-X是一种通用的强化学习方法,不止是控制和机器人领域,可以广泛应用于一般的稀疏强化学习环境。

这一工作由以下研究者共同完成:Martin Riedmiller, Roland Hafner, Thomas Lampe, Michael Neunert, Jonas Degrave, Tom Van de Wiele, Volodymyr Mnih, Nicolas Heess and Tobias Springenberg.

论文地址:https://arxiv.org/pdf/1802.10567.pdf

本文参与 腾讯云自媒体分享计划,分享自微信公众号。
原始发表:2018-03-02,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 新智元 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档