![[Octo] 在大型机器人数据集上训练的通用机器人](https://aisholar.s3.ap-northeast-1.amazonaws.com/media/October2024/octo-generalist-robot.png)
[Octo] 在大型机器人数据集上训练的通用机器人
三个要点
✔️ Octo 通过 800 000 个机器人轨迹的预训练,可在零次拍摄中解决各种任务
✔️ Octo 的配置设计使其易于根据新的输入和动作空间进行微调,从而使其适用于各种机器人控制问题&。nbsp;
✔️ 展示了较高的性能,但也提出了通过数据多样化进一步改进的空间,例如处理腕部摄像头信息和提高口头指令的性能
Octo: An Open-Source Generalist Robot Policy
written by Octo Model Team, Dibya Ghosh, Homer Walke, Karl Pertsch, Kevin Black, Oier Mees, Sudeep Dasari, Joey Hejna, Tobias Kreiman, Charles Xu, Jianlan Luo, You Liang Tan, Lawrence Yunliang Chen, Pannag Sanketi, Quan Vuong, Ted Xiao, Dorsa Sadigh, Chelsea Finn, Sergey Levine
(Submitted on 20 May 2024 (v1), last revised 26 May 2024 (this version, v2))
Comments: Project website: this https URL
Subjects: Robotics (cs.RO); Machine Learning (cs.LG)
code:![]()
本文所使用的图片要么来自论文、介绍性幻灯片,要么是参考这些图片制作的。
概述
在机器人学中,通常使用针对特定机器人或任务收集的数据集来学习策略。然而,这种方法需要为每项任务收集大量数据,由此产生的策略只能实现有限的泛化性能。利用其他机器人和任务的经验可以获得更广泛的泛化性能,并在下游任务中获得更好的性能,但这需要考虑其他机器人的形态、传感器配置、任务规格和环境,因此建立一个能做到这一点的"通用机器人模型 "被认为是非常困难的任务。是一项非常艰巨的任务。
在此背景下,一些研究提出了 "机器人基础设施模型",可直接从机器人观察映射到行动。这些模型可将零射或四射泛化到新的领域和机器人,从而在不同的任务、环境和机器人系统中实现视觉运动控制。例如,GNM 模型可通用于不同的机器人导航场景,RoboCat 模型可处理不同机器人形态下以目标为导向的任务,RT-X 模型可执行以语言为导向的操作。
这些模型是向 "通用机器人模型 "迈出的重要一步,但仍有许多工作要做。在本文中,我们正在设计一个系统,为下游机器人应用中的各种界面预先学习通用机器人策略。
该系统的核心是一个转换器架构,可将任意输入标记(通过观察或任务创建)映射到输出标记(转化为行动)。这样就可以控制各种摄像机配置和机器人,无需额外学习,只需语言指令或目标图像即可。此外,通过添加适当的适配器和微调,还能以较小的数据集和计算成本调整新的机器人配置。
我们正在开发 Octo,这是一种基于变压器的策略,使用开放 X-Embodiment(X-实验)数据集中的 800 000 个机器人演示进行预训练。Octo是首个能够有效微调新观察结果和行动空间的机器人控制策略,也是一个完整的开源机器人控制策略,包括学习管道、模型检查点和数据。虽然 Octo 的各个组件(变压器主干、扩散头等)已在之前的工作中讨论过,但将这些组件集成到一个强大的通用机器人策略中是独一无二的新技术。
通过对九个机器人的广泛实验,本文提出的系统在单臂和双臂操纵任务中提供了最先进的多机器人控制性能,并可作为一种有效的初始化工具,用于具有新观测和行动空间的未知设置。本文还仔细研究了 GRP 预学习过程中设计决策的影响,以评估数据分布、模型架构和策略制定的选择如何影响预学习 GRP 的质量。评估结果证明了规模和灵活性的实用性。
请注意,本文公开了训练、使用、重现和微调 Octo 模型所需的所有资源,提供了 2700 万和 9300 万参数的预训练 Octo 模型检查点,支持多个 RGB 相机输入、语言和目标图像任务规范。它提供了一组可用于支持语言和目标图像任务规范的模型。此外,还提供了在新领域中微调这些模型的脚本、预训练管道、优化数据加载器、多模态输入的转换器实现以及监控训练进度的工具。
Octo 模型设计
论文开发了 Octo 模型,这是一种开源的通用机器人策略,可通过微调适应新的机器人和任务。论文还介绍了关键设计决策、学习目标、训练数据集和基础设施。
Octo 模型的设计注重灵活性和可扩展性。它是一个通用的可扩展模型,支持各种机器人、传感器配置和动作,并可在大量数据上进行训练。特别是,它采用自然语言指令、目标图像、观察历史和扩散解码来支持多模态行动预测;Octo 可以有效地适应新的行动空间以及具有不同摄像头和传感器组合的机器人。这种设计使 Octo 成为一种灵活多变的机器人策略,可用于各种机器人应用和研究项目。
Octo 的核心在于基于转换器的策略,它由三个主要部分组成:首先是输入标记器,它将语言指令、目标和观察序列转换为标记(下图,左);其次是转换器主干,它处理标记并将其转换成所需的输出(动作);第三是读出头,它生成所需的输出(动作)。第三部分是读出头,负责生成所需的输出(操作)。
任务定义(如语言指令或目标图像)和观察结果(如手腕或第三方摄像头数据流)通过特定模式的标记器转换为通用标记格式。语言输入经过标记化处理,并通过预先训练的转换器生成嵌入语言的标记序列。图像观察结果和目标会通过浅层卷积堆栈,并分割成一系列扁平化的斑块。
统一标记序列由变换器处理。这与之前基于观察和行动序列学习基于转换器的策略的工作相似:Octo 转换器的注意模式是逐块屏蔽的,因此观察标记只与同一时间步或更早的标记相连,而任务标记则只与更早的标记相连。只关注任务标记。这种模块化设计允许在微调过程中添加或删除观察和任务。
读出标记类似于 BERT 的 [CLS] 标记,是前一个观测序列的紧凑向量嵌入。一个实现扩散过程的轻量级 "行动头 "被应用于读出标记的嵌入。这个 "动作头 "会预测几个连续的 "动作块"。
这种设计允许在下游微调期间将新任务、观察输入或行动输出头灵活添加到模型中。通过保留转换器的预训练权重,只需添加新的位置嵌入、新的轻量级编码器或新的头部参数,就能适应添加新任务、观察结果或损失函数的要求。
这种灵活性是 Octo 成为通用模型的重要因素。在微调过程中调整 Octo 的输入和输出的能力是机器人界的一个多功能工具,因为在预训练过程中不可能涵盖所有的机器人传感器和动作配置。以往将标准变压器骨架或视觉编码器与 MLP 输出头融合在一起的模型设计会固定模型预期输入的类型和顺序,而 Octo 的观察和任务切换则不需要重新初始化模型的大部分内容。
这样,Octo 模型就能在各种机器人应用中展示其作为灵活多变的机器人策略的能力。
Open XEmbodiment Dataset 中的 25 个不同数据集用于训练 Octo 模型。该数据集收集了各种机器人训练数据。它包含来自不同机器人结构和场景的各种任务的演示数据。这些数据集不仅在机器人类型上存在差异,而且在传感器类型和标签(例如,有无腕部摄像头或有无口头指令)上也存在差异。
在创建训练数据集时,我们首先排除了不包含图像流或使用 delta 末端执行器控制的数据集。我们还排除了重复性过高、分辨率过低或过于偏重特定任务的数据集。剩下的数据集被分为 "多样性较高 "和 "多样性较低 "的数据集,"多样性较高 "数据集的权重在训练过程中会加倍。重复次数较多的数据集的权重也会降低,以确保混合物不会出现偏差。最后,对缺失的摄像机通道进行零填充,以统一机械手的动作空间。值得注意的是,虽然使用这种方法获得的训练数据集非常有效,但作者认为今后需要对数据集的质量进行更详细的分析。
本文研究了两种变体:使用 ViT-S 型变压器主干网的 Octo-Small,以及使用 ViT-B 型变压器主干网的 Octo-Base。
试验
在此,我们对 Octo 模型的性能进行了实验分析,以评估其作为通用机器人基本模型的能力。评估要点如下。
- Octo 能否控制多种机器人形态,并解决语言和目标任务?
- Octo 权重是否适合针对新任务和机器人进行数据高效的微调? 它们比从头开始学习或常用的预训练模型更好吗?
- 在制定 Octo 通用机器人策略时,哪些设计决策最为重要?
Octo 的能力已通过四个不同机构的九个机器人学习设置进行了评估,如下图所示。与预训练数据相匹配的机器人设置用于测试语言和目标图像任务的零点控制能力。在这些设置中,所有机器人都使用三角洲末端执行器控制动作,观察空间为 RGB 图像。
此外,还将评估 Octo 针对新环境和新任务进行数据高效微调的能力。这包括新的观测(如 "伯克利插入 "中的力矩输入)、新的动作空间(如 "伯克利拾取 "中的关节位置控制)和新的机器人形态(如 "伯克利可乐 "和 "伯克利双臂")。双臂")。每个微调设置使用大约 100 个 Indomain 演示,在 NVIDIA A5000 GPU 上进行微调的时间不到 5 个小时。评估任务测试 Octo 与各种对象交互(如 "WidowX BridgeV2")、解决长期任务(如 "斯坦福咖啡")和执行精密操作(如 "伯克利插入")的能力。
Octo 在零镜头控制多个机器人的能力与 RT-1-X 进行了比较,RT-1-X 是公开可用的最佳通用机器人策略;与 Octo 一样,RT-1-X 也是在 Open X-Embodiment 机器人数据集上预先训练的,与 Octo 一样,RT-1-X 被设计用于在零镜头控制中控制多个机器人。控制多个机器人。此外,Octo 的零次射击能力与 RT-2-X 的零次射击能力进行了比较,RT-2-X 是一个拥有 55 亿个参数的视觉语言模型;RT-2-X 在 Open X-Embodiment 数据集上进行了微调,并生成机器人动作;RT-1-X 和 RT-2-X 模型是在更为复杂的开放 X-Embodiment 数据集上训练的。-X 模型是在更有限的 350,000 集子集上训练的,而 Octo 的子集为 800,000 集。此外,Octo 作为用于数据高效微调的策略初始化的性能还与两种流行方法进行了比较:在目标领域演示中从头开始学习和使用预训练的视觉表征。
在微调过程中,我们发现从头开始学习大型变压器架构会导致小数据集的早期过度拟合。相反,通过使用标准策略架构从头开始学习,我们取得了更好的结果。该架构结合了具有 FiLM 语言调节功能的 ResNet 视觉编码器和在扩散目标上训练的小型变换器-动作解码器,参数为 2800 万,与 RT-1 类似。该架构被用作从零开始的基线("ResNet+变换器划痕")。按照 Majumdar 等人的方法,将 ViT-B 视觉编码器初始化为 VC-1 权重,使用以自我为中心的视频和在 ImageNet 上预先训练好的最先进的视觉表征,并结合 MLP 动作解码器。整个模型经过训练,可使用 MSE 损失预测专家动作。
下图比较了 Octo、RT-1-X 和 RT-2-X 的零点操作能力。评估从预先训练的数据集中选取了几项任务进行,例如拾放、用抹布擦桌子和开关抽屉。每个机器人都从相应的 OXE 数据集中选择了两个口头任务,每个任务在不同的初始条件下进行了 10 次试验。所选任务是预训练数据的 "非分布",但需要对新的物体位置、照明条件、背景和干扰物体进行泛化。
在预学习环境中,所有方法都能很好地完成任务,但 Octo 的平均成功率比 RT-1-X (3500 万参数)高出 29%。性能相当。此外,RT-1-X 和 RT-2-X 只支持口头指令,而 Octo 还支持目标图像。使用目标图像评估 WidowX 任务的成功率比使用口头指令评估的成功率高 25%。这可能是由于目标图像提供了更多关于任务完成情况的信息。BridgeV2 领域对数据集中的设置以及新环境、场景和技能的零拍摄能力进行了详细分析。结果表明,Octo 模型对新物体的成功率很高,而对新场景和新行为(如翻转和精确插入)的成功率则略低。
在新领域进行数据高效微调的结果如下表所示,微调 Octo 比从头开始训练或使用预训练的 VC-1 权重能产生更好的策略。在所有设置中,Octo 的平均性能比次优基线高出 52%,这表明 Octo 作为默认设置更胜一筹。
Octo 还支持新的观测(如 "伯克利插入 "中的力矩输入)、新的动作空间(如 "伯克利拾取 "中的关节位置控制)和新的机器人形态(如 "伯克利可乐 "和 "伯克利双臂")。双臂")也是可能的。这证明 Octo 具有超越单一摄像头输入和末端执行器位置控制的灵活性,适用于广泛的单臂和双臂机器人操纵问题。
摘要
Octo 是一种基于变压器的大规模策略,已在迄今为止最大的机器人操作数据集(800 000 个机器人轨迹)上进行了预训练。论文表明,Octo 能以零点的方式解决各种任务,而且 Octo 的构造性设计允许根据新的输入和操作空间进行微调,使其成为解决各种机器人控制问题的灵活初始设置。此外,还发布了训练和微调代码以及辅助大型机器人数据集学习的工具。
尽管 Octo 在零点测试和微调评估中表现出很高的性能,但目前的模型也存在一些不足。这些缺陷主要是由训练数据的特点造成的。首先,当前的 Octo 模型在处理腕式摄像机信息方面很吃力。通常情况下,仅使用第三方摄像头时的微调结果要好于结合腕部摄像头时的微调结果。此外,基于语言指令的策略和基于目标的策略在性能上也存在明显差异。在这种情况下,可能是由于训练数据中缺乏相应的模式。只有 27% 的数据包含腕式摄像头信息,56% 的数据包含语言注释。
扩大用于训练 Octo 的数据是一个自然的改进方向:Open X-Embodiment 数据集由最佳机器人演示组成,因此当前的模型是通过模仿来学习的。未来的研究应考虑从次优或在线交互数据中学习,并设定不同的目标。此外,尽管 Octo 目前只在单臂和双臂机械手上进行了训练和评估,但将其扩展到更多具有导航和移动操作功能的机器人集上仍有很大潜力。
Octo 代表着向构建通用机器人策略迈出了一步,该策略可在各种机器人设置下按原样运行,但要改进该模型仍有许多工作要做。Octo 为研究人员和从业人员提供了访问大型机器人数据集的途径,利用预先训练好的机器人模型高效地学习新任务,并提供了构建通用机器人策略的简单方法,该策略可用于各种机器人设置、希望这将成为未来广泛应用的一个简单起点。
与本文相关的类别