MT-Opt:大规模持续多任务的机器人强化学习

21年4月来自谷歌的论文“MT-Opt: Continuous Multi-Task Robotic Reinforcement Learning at Scale”。

通用机器人系统必须掌握大量不同的技能才能在一系列日常任务中发挥作用。虽然强化学习为获取个体行为提供了强大的框架,但获取每项技能所需的时间,使得强化学习训练的通才机器人前景,令人生畏。本文研究大规模集体性机器人学习系统如何同时获取一系列行为,并在任务之间共享探索、经验和表示。在这个框架中,可以从以前学习的任务中不断实例化新任务,从而提高系统的整体性能和能力。

为了实例化这个系统,本文开发一个可扩展且直观的框架,用于从用户提供的期望结果示例来指定新任务。还设计一个用于数据收集的多机器人集体性学习系统,该系统可同时收集多个任务的经验,并开发一种可扩展且可泛化的多任务深度强化学习方法,称之为 MT-Opt。

文中展示 MT-Opt 如何学习各种技能,包括语义拾取(即从特定类别中拾取物体)、放入各种固定装置(例如将食物放在盘子上)、覆盖、对齐和重排列。从 7 个机器人收集的数据,在一组 12 个真实任务上训练和评估该系统,并展示系统的性能,包括其能够泛化到结构相似的新任务,以及利用过去的经验更快地获得独特的新任务。

当今的深度强化学习 (RL) 方法在应用于现实世界的机器人任务时,提供了一种有效但昂贵的技能学习方式 [36, 2]。虽然现有方法有效且能够推广,但它们需要大量的机器人训练时间,以及大量的工程工作来设置每个任务并确保机器人可以重复尝试该任务。例如,QT-Opt [36] 系统可以学习基于视觉的机器人抓取,但它需要在多个机器人上收集超过 500,000 次试验。

如果机器人需要执行单个任务(例如从箱子里抓取物体),这种样本复杂性可能是合理的,但如果考虑训练具有大量行为的通用机器人前景,那么成本就会变得昂贵,其中每个行为都是从头开始单独学习的。有个问题:是否可以将学习这些技能的成本分摊到多个技能上,这样学习整个技能所需的努力减少,更容易掌握的技能有助于学习更复杂的技能,造成尽管数据要求总体上仍然很高,但对于每个单独的行为来说数据要求会降低?

先前的研究表明,多任务强化学习确实可以分摊单任务学习的成本 [20, 56, 60, 80, 30]。具体来说,只要任务具有共同的结构,如果学习算法可以发现该结构,那么原则上可以比单独学习每个任务更有效地学习所有任务。这种共享表示可以包括基本的视觉特征,以及更复杂的概念,例如学习如何拾起物体。此外,同时使用控制器收集各种不同难度任务的经验,较容易的任务可以“引导”较难的任务。例如,如果只在最后提供奖励,将三种食物放在盘子上的任务可能很难完成,但拿起一种食物则要容易得多。通过一起学习这些任务,较容易的任务有助于探索较难的任务。最后,通过启用多任务 RL 策略来学习共享表示,随着系统获得更多技能并学习环境中更广泛有用的方面,学习新任务会随时间的推移变得更容易。

然而,要让现实世界的机器人学习系统实现这些好处,需要克服许多重大挑战 [64, 32, 11, 86],这些挑战使得迄今为止难以完成基于图像多任务 RL 的大规模演示,从而有效地加速获得可泛化的现实世界机器人技能:
首先,从优化的角度来看,多任务强化学习是极其困难的,由于这些困难,多任务学习的假设好处很难实现 [64, 87]。
其次,现实世界中的多任务学习框架,需要能够轻松直观地定义大量任务的奖励。
第三,虽然所有任务特定数据都可以在任务之间共享,但事实证明,重复使用不相关任务的数据可能会对学习过程造成损害 [21]。
最后,为了从共享的多任务表示中获益,需要大幅扩展(scale up)算法、环境中的任务数量以及机器人系统本身。

如图展示MT-Opt以及可执行的任务实例:A) 多任务数据收集。B) 训练目标。C) 系统训练的任务样本。D) 行为和视觉上不同的任务样本,例如覆盖、追逐、对齐,该方法可以适应这些任务。与单独学习新任务相比,MT-Opt 可以更快地学习新任务(如果与现有任务有足够的重叠,则可能为零样本),并且所需的数据更少。

请添加图片描述

如图显示多任务学习系统的高级框图MT-Opt。设计了一种分布式、离策略(off-policy)多任务强化学习算法以及视觉成功检测器,以便同时学习多个机器人操作任务。

请添加图片描述

视觉成功检测器,根据期望结果的视频示例和标记的先前情节所定义(图 A)。这些成功检测器确定如何利用情节来训练 RL 策略(图 B)。在评估和微调期间(图 C),在每个时间步骤中,策略都会将摄像机图像和任务的 one-hot 编码作为输入,并向机器人发送一个电机命令。在每个情节结束时,多任务视觉成功检测器 (SD) 会对此过程的结果图像进行评分,以确定哪些任务已成功完成,并为每个任务分配稀疏奖励 0 或 1。在下一步中,系统决定是否应尝试另一项任务或是否应重置环境。上述设置可以扩展到多个机器人,其中每个机器人同时为不同的随机选择的任务收集数据。生成的情节用作训练未来策略的离线数据(图 D),并可用于改进成功检测器。

开发多种策略,使 RL 算法能够利用多任务训练设置。首先,使用单个多任务深度神经网络同时学习所有任务的策略,从而实现任务之间的参数共享。其次,设计数据管理策略,在某些任务之间共享和重新平衡数据。第三,由于所有任务都共享数据和参数,将某些任务用作其他任务的探索策略,这有助于探索。

为了应对大型多任务数据集,构建基于来自 QT-Opt [36] 分布式离策略 RL 设置的许多特征,并将其扩展以利用数据的多任务特性。

使用离线策略强化学习算法(如 Q-学习)的优势之一是,收集的经验可用于更新其他任务的策略,而不仅仅是最初收集该策略的任务。

如图所示,通过任务冒充和数据重平衡有效地使用多任务数据进行训练:通过任务冒充的情节路径,其中情节被路由到训练相关任务,以及数据重平衡,即成功(S)和失败(F)情节的比例以及每个任务的数据比例受到控制。淡蓝色和淡红色表示来自其他任务的额外任务训练数据。条形图的高度表示不同任务和成功结果之间的数据量差异很大。

请添加图片描述

其在整个情节层面而不是单个转换(transition)层面利用这种经验共享。目标是使用任务 Ti 生成情节 e(i) 的所有转换来帮助训练一组 ki 个任务 T{ki} 的策略。将此过程称为任务冒充(参见算法 1),其中冒充函数 fI 将一个任务收集的情节数据转换为一组情节,用于训练其他任务,即:e{ki} = fI(e(i))。注:在一般情况下,{ki} 是所有任务 {n} 的子集,并且它取决于收集情节 e(i) 的原始任务 Ti。引入这个术语是为了强调与事后重标记(hindsight relabeling)[4]的区别,事后重标记通常用于在目标条件下产生额外的成功,而任务冒充在任务条件下,既产生成功也产生失败。

请添加图片描述

在训练过程中,由于任务冒充机制的设计,以及任务之间难度的变化,所得到的训练数据流通常变得高度不平衡,无论是在每个任务中数据集的比例,还是在每个任务的成功和不成功事件的相对频率方面。在实践中,这种不平衡会严重阻碍学习进度。通过进一步在任务之间重平衡每个批次,使得每个任务的训练数据相对比例相等,以及在每个任务内,使得成功和不成功示例的相对比例保持不变,可以显着提高系统的性能。

这项工作的目标是学习一组离散的任务,这些任务只能基于一个 RL 情节的最终图像进行评估。这种稀疏奖励假设能够训练基于神经网络的成功检测模型 (SD),该模型在给定最终图像的情况下推断出任务成功的概率。与策略学习类似,利用此问题的多任务方面,并训练以任务 ID 为条件的单个多任务成功检测神经网络。事实上,其使用监督学习来训练与 MT-Opt 多任务策略类似的神经网络架构模型(不包括负责动作表示的输入)。

为了给 SD 生成训练数据,开发了一个直观的界面,非技术用户可以使用该界面快速生成代表特定任务成功的结果正面示例。这些示例不是演示 - 只是成功完成(即最终状态)的示例。用户还会展示近乎失败的负面示例,或者在视觉上与正面示例相似但仍然失败的结果,例如将物体放在盘子旁边而不是放在盘子上面。

虽然这个界面允许训练多任务 SD 的初始版本,但当机器人开始执行该任务并遇到 SD 不准确的状态时,可能需要额外的训练数据。这种分布不均匀的图像可能是由各种现实因素造成的,例如不同的光照条件、背景环境的变化以及机器人发现的新状态。继续手动标记此类图像并逐步重新训练 SD 以获得最新的 SD。结果,为每个任务标记 ≈ 5,000 张图像。

如图是用于place-anywhere任务的视频帧例子。成功和失败的视频以成对的方式反复捕获,减轻与虚假工作空间特征(例如用户的手、背景、箱子和干扰物体)的相关性。

请添加图片描述

如下讨论用于同时收集多个机器人多个不同任务数据的收集策略。

对多任务数据收集过程的主要观察是,可以使用较简单任务的解决方案来有效地引导更复杂任务的学习。这是多任务系统的一个重要优势,其中简单任务的一个平均 MT-Opt 策略偶尔可能会产生针对较难任务的成功情节。随着时间的推移,能够开始为较难的任务训练 MT-Opt 策略,从而为这些任务收集更好的数据。为了启动此过程并引导两个最简单的任务,根据先前的工作 [36] 使用两个粗略的脚本策略进行拾取和放置。此外,为了简化长期任务的探索问题,还允许按顺序排列各个任务,即一个任务接一个任务地执行。因此,多任务数据集会随着时间的推移而增长。每个任务的数据量以及所有任务的成功率。

重要的是,这种流动的数据收集过程会导致数据集不平衡,如图所示。数据冒充和重平衡方法通过有效地扩展和规范化数据来解决这种不平衡问题。

请添加图片描述

MT-Opt 提供了一个通用的机器人技能学习框架,可学习多项任务,包括语义拾取(即从特定类别中拾取物体)、放入各种固定装置(例如将食物放在盘子上)、覆盖、对齐和重排列。

专注于需要重定位物体相对位置的基本操作任务。各种各样的操作行为都属于这一类,从简单的拾取到更复杂的行为,例如用布盖住物品、将面条放入碗中以及将瓶子插入形状合适的插槽中。实验中,用一组 12 个任务来定量评估算法。这 12 个任务包括一组塑料食物目标和分开的盘子固定装置,它们可以分为“物体获取”和“物体操作”技能。最常见的物体获取任务是lift-any,目标是将任何物体单独举到一定高度。此外,定义了 7 个语义举起任务,目标是寻找并举起特定物体,例如塑料胡萝卜。放置任务使用分隔板,其中最简单的任务是将之前举起的物体放置在盘子上的任意位置(place-any)。更困难的任务需要将物体放入分隔板的特定部分,该部分可以任意定位。有关任务的可视化,请参见下图例子。

请添加图片描述

补充一些细节。

如图所示MT-Opt Q 函数的架构。输入图像由一堆卷积层处理。动作向量、状态向量和表示感兴趣任务的one-hot向量 Ti 由几个全连接层处理,平铺在卷积图的宽度和高度维度上,并添加到其中。生成的卷积图由多个卷积层和全连接层进一步处理。输出通过 S-形函数进行门控,使得 Q 值始终在 [0, 1] 范围内。

请添加图片描述

如图是MT-Opt系统概述:LogReplay 作业将磁盘上的任务情节不断加载到任务重放缓冲区中。LogReplay 进程使用可用的成功检测器为情节分配二进制奖励信号,并使用 f/I/skill(或其他策略)冒充情节。冒充情节被划分到专用的每个任务缓冲区中,进一步分为成功组和失败组。Bellman 更新进程,使用重平衡策略对任务进行采样,以确保每个任务的训练数据平衡,并计算各个转换的 Q-目标(targets),这些目标(targets)被放入训练缓冲区。这些转换(s、a、Ti)由训练工作者(worker)采样以更新模型权重。机器人车队和 Bellman 更新作业,正在频繁重新加载最新的模型权重。

请添加图片描述

如图数据收集和评估的物理设置:机器人工作区由一个高架摄像机(红色)、两个肩扛摄像机(棕色)和一对铰接式可重置盒子子组成,盒子子上带有一个可以磁力吸附在盒子上的板式固定装置(蓝色)。

请添加图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值