发布人:Google 机器人团队高级研究员 Karol Hausman 和研究员 Yevgen Chebotar
通用机器人要想发挥最大的作用,就需要能够完成一系列的任务,如清洁、维护和运送。但是,使用离线强化学习 (RL)(智能体使用以前收集的数据开展训练,在试验和错误中学习的一种方法)来训练,即使是一个单一任务(例如抓取),也可能需要花费成千上万个机器人小时,此外还需要大量的工程来大规模实现机器人系统的自主操作。因此,随着任务数量的增加,使用目前的机器人学习方法来构建通用的日常机器人的计算费用高得变得令人望而却步。
离线强化学习
https://ai.googleblog.com/2020/08/tackling-open-challenges-in-offline.html
在多个机器人间收集多任务数据,不同的机器人会收集不同的任务数据
在其他大规模机器学习领域,如自然语言处理和计算机视觉,已经应用了一系列策略来分摊学习多种技能所需付出的努力。例如,对大型自然语言数据集进行预训练,可以实现对多种任务的少量或零样本学习,如问题回答和情感分析。然而,由于机器人收集自己的数据,机器人的技能学习带来了一系列独特的机会和挑战。将这一过程自动化是一项庞大的工程,需要付出大量努力,而有效地重复使用过去由不同机器人收集的机器人数据仍然是一个有待解决的问题。
今天,我们将介绍大规模开展机器人 RL 的两项新进展:
1. MT-Opt,一个用于数据收集自动化和多任务 RL 训练的全新多任务 RL 系统;
2. Actionable Models,可利用获得的数据开展目标趋向的 RL。
MT-Opt 引入了一个可扩展的数据收集机制,用于收集真实机器人执行各种任务的 80 多万次经历,并展示了多任务 RL 的成功应用,与基线相比,平均产生了约 3 倍的效能提升。此外,通过使用其广泛的多任务数据集,它使得机器人能够快速掌握新的任务(会对数据收集时间不足一日的新任务进行微调)。通过训练全局的隐式模型,也就是可操作的机器人策略,Actionable Models 可在没有具体任务和奖励的情况下实现学习。这大大增加了机器人可以执行的任务数量(通过视觉目标规范),并使下游任务的学习更加高效。
MT-Opt 和 Actionable Models 的基石是训练数据的数量和质量。为了大规模地收集多样化的多任务数据,用户需要一种方法来指定任务,决定为哪些任务收集数据,并在最后管理和平衡所产生的数据集。为此,我们创建了一个可扩展且直观的多任务成功检测器,并在其中使用了来自所有选定任务的数据。通过使用监督学习进行训练,多任务成功检测器得以检测给定任务的结果,并且允许用户快速定义新任务及其奖励。在收集数据的过程中使用这个成功检测器时,系统会对它进行定期更新,以适应由各种现实世界因素引起的分布偏移,如变化的照明条件、变化的背景环境和机器人发现的新状态。
第二,我们通过使用低难度任务的解决方案来有效地引导学习更复杂的任务,同时为多个机器人收集多个不同任务的数据。这样做可以对较难的任务进行策略训练,并优化为其收集的数据。因此,每个任务的数据量和每个任务的成功次数会随着时间的推移而增加。为了进一步提高性能,我们把数据收集的重点放在表现不佳的任务上,而非一视同仁地收集各任务的数据。
这个系统收集了七个机器人在 57 个连续数据收集日内的数据,数据量多达 9600 个机器人小时。然而,尽管这种数据收集策略能有效地收集大量任务数据,但任务之间的成功率和数据量是不平衡的。
我们通过在各任务间转移数据和重新平衡每个任务的数据来解决数据收集不平衡的问题。机器人为每项任务生成标记为成功或失败的经历,然后复制经历并在其他任务中共享。然后,平衡的经历批次将被发送到我们的多任务 RL 训练流水线,以训练 MT-Opt 策略。
MT-Opt 使用的数据共享和任务再平衡策略。机器人为当前任务生成标记为成功或失败的经历,然后在其他任务中共享
MT-Opt 使用的是热门的 RL 方法 Q-learning,并可借此学习一种预测未来奖励总和的函数,其名为 Q 函数。然后,系统会根据所学策略,选择令学到的 Q 函数到达峰值的行动。对于多任务策略训练,我们将任务指定为大型 Q-learning 网络的额外输入(受我们之前用 QT-Opt 进行大规模单任务学习的启发),然后使用整个多任务数据集,借助离线 RL 同时训练所有的任务。通过这种方式,MT-Opt 能够对各种技能进行训练,包括挑选特定对象、将它们放入各种固定装置、将货架上的物品摆放整齐、重新排列和用毛巾覆盖对象等。
QT-Opt
https://ai.googleblog.com/2018/06/scalable-deep-reinforcement-learning.html
离线 RL
https://ai.googleblog.com/2020/08/tackling-open-challenges-in-offline.html
与单任务基线相比,MT-Opt 在数据最多的任务上表现相当,在代表数据不足的任务上性能有明显提升。因此,对于拥有最多支持数据的通用起重任务,MT-Opt 实现了 89% 的成功率(而 QT-Opt 为 88%),并在罕见的任务中实现了 50% 的平均成功率,而使用单任务 QT-Opt 基线的成功率则为 1%,使用简单的多任务 QT-Opt 基线则为 18%。使用 MT-Opt 不仅可以对类似的新任务进行零样本泛化,而且还可以迅速(在七个机器人上收集约 1 天的数据)针对新的、前所未见的任务进行微调。例如,应用于一个未曾见过的毛巾覆盖任务时,该系统在零样本学习情况下实现了 92% 的毛巾拣选成功率和 79% 的物体覆盖成功率,这项任务在原始数据集中是不存在的。
MT-Opt 能够学习的任务示例,如实例和无差别抓取、追踪、放置、对齐和重新排列
原始数据集中没有的毛巾覆盖任务。我们在 1 天内针对这个新任务对 MT-Opt 进行了微调,达到了很高的成功率 (>90%)
虽然提供严格的任务定义有利于 MT-Opt 的自主数据收集,但这会将可学习的行为数量限制在一个固定的集合中。为了能够从相同的数据中学习更广泛的任务,我们使用了目标趋向学习,即在机器人所面对的场景中,学习实现给定的目标配置,同时我们会用目标图像对该配置加以说明。与基于模型的显式方法(可学习预测模型,判断未来的观察结果)或采用在线数据收集的方法相比,这种方法会通过离线无模型 RL 学习目标趋向的策略。
为了学习实现任何目标状态,我们对所收集数据集中的所有轨迹和子序列进行了事后重新标记,并以完全离线的方式训练了一个目标趋向的 Q 函数(与递归分类中使用固定成功示例集的在线学习相反)。在这种情况下,其中的挑战之一是仅从“正向的”事后重新标记示例中学习所引起的分布性偏移。为了解决这个问题,我们采用了一种保守策略,利用人为的负面操作来最小化未曾见过的操作的 Q 值。此外,为了能够达到临时性的扩展目标,我们引入了一种跨多个经历的目标链技术。
完全离线
https://ai.googleblog.com/2020/08/tackling-open-challenges-in-offline.html
Actionable Models 用所有中间目标对子序列进行重新标记,并用人为的负面操作来规范 Q 值
通过使用 Actionable Models 进行训练,系统可以学习大量的视觉指示技能,如抓取物体、放置容器和重新排列物体。该模型还能够泛化出训练数据中未曾出现的新对象和视觉目标,这表明它有能力学习关于世界的通用功能知识。我们还证明了,通过微调预训练的目标趋向模型或在训练期间通过目标达成的辅助目标,机器人可以更有效地学习下游强化学习任务。
Actionable Models 能够学习的任务示例(由目标图像指定)
MT-Opt 和 Actionable Models 的结果表明,我们可以从大规模、多样化的真实机器人数据集中收集和学习许多不同的任务,有效地分摊许多技能的学习成本。我们认为这是迈向通用机器人学习系统的重要一步,这些系统可以进一步扩展,执行许多实用的服务,并充当学习下游任务的起点。
本文基于以下两篇论文撰写而成,“MT-Opt:Continuous Multi-Task Robotic Reinforcement Learning at Scale”和“Actionable Models:Unsupervised Offline Reinforcement Learning of Robotic Skills”,并参考了 MT-Opt 和 Actionable Models 项目网站上的其他信息和视频。
MT-Opt:Continuous Multi-Task Robotic Reinforcement Learning at Scale
https://arxiv.org/abs/2104.08212
Actionable Models:Unsupervised Offline Reinforcement Learning of Robotic Skills
https://arxiv.org/abs/2104.07749
这项研究由 Dmitry Kalashnikov、Jake Varley、Karol Hausman、Yevgen Chebotar、Ben Swanson、Rico Jonschkowski、Chelsea Finn、Sergey Levine、Yao Lu、Alex Irpan、Ben Eysenbach、Ryan Julian 和 Ted Xiao 共同完成。我们要特别感谢 Josh Weaver、Noah Brown、Khem Holden、Linda Luu 和 Brandon Kinman 对机器人操作的支持;Anthony Brohan 对分布式学习和测试基础设施的帮助;Tom Small 对视频和项目媒体的帮助;Julian Ibarz、Kanishka Rao、Vikas Sindhwani 和 Vincent Vanhoucke 提供的支持;Tuna Toksoz 和 Garrett Peake 对容器重置机制的改进;Satoshi Kataoka、Michael Ahn 和 Ken Oslund 对底层控件堆栈的帮助,以及 Google 机器人团队的其他成员提供的全方位支持和鼓励。上述所有人员的贡献都对这项研究起到了无可比拟的作用。
想了解更多 TensorFlow 机器学习训练模型实操,请扫描下方二维码,关注 TensorFlow 官方公众号,机器学习道路上我们共同进步。