专栏名称: FightingCV
一个专注于分享计算机视觉、多模态机器学习方向前沿论文,解答常见科研问题,分享好用科研工具的公众号。努力努力再努力,瑞思拜!
目录
相关文章推荐
人人都是产品经理  ·  “功能梳理”与“产品设计”,只差一层窗户纸 ·  19 小时前  
91产品  ·  一分钟学会DeepSeek R1本地部署 ·  2 天前  
人人都是产品经理  ·  产品优化:如何快速确定模块优化方向 ·  2 天前  
人人都是产品经理  ·  客户总是“听不懂”?产品经理汇报中的致命误区 ·  3 天前  
51好读  ›  专栏  ›  FightingCV

Kaiming He团队提出通过异构预训练Transformer 大规模扩展本体感知-视觉学习

FightingCV  · 公众号  ·  · 2024-10-08 09:00

正文

摘要

如今,训练通用机器人模型的障碍之一是异构性。 以前的机器人学习方法通常收集数据,以针对一项特定任务训练一个特定具体化,这既昂贵又容易过度拟合。 本文研究了通过在不同具体化和任务的机器人数据上进行 异构预训练 来学习策略表示的问题。 我们提出了异构预训练 Transformer (HPT),它预训练了一个大型的、可共享的策略神经网络主干,以学习一个与任务和具体化无关的共享表示。 这种通用架构将来自不同具体化的特定本体感知和视觉输入对齐到一个简短的符号序列,然后处理这些符号,以映射到控制不同任务的机器人。 利用最近的大规模多具体化现实世界机器人数据集以及模拟、部署机器人和人类视频数据集,我们研究了跨异构性的预训练策略。 我们进行了实验,以研究训练目标的扩展行为,扩展到 52 个数据集的程度。 HPT 在多个模拟基准和现实世界环境中优于几个基线,并将微调的策略性能提高了 20% 以上,用于未见过的任务。

1 简介

如今构建机器人策略很困难:它通常需要为每个机器人、任务和环境收集 特定 数据,并且学习到的策略不会推广到这些特定设置之外。 一个已经彻底改变机器学习的历史教训是,在大型、高质量和多样化的数据上进行预训练 [33, 26, 28] 可以带来 通用 模型,这些模型通常优于特定模型。 近年来,开源大规模数据收集的进展 [14, 75] 使这条路径成为可能,但大规模机器人数据中存在的异构性(例如不同的机器人硬件和不同的环境)提出了重大挑战。 该领域现在的一个核心问题是如何利用异构机器人数据来预训练机器人基础模型 [3]

来自自然语言处理 [59, 57] 和计算机视觉 [36] 的基础模型已经展示了一种范式,通过在海量和多样化的数据上进行预训练,来实现通用的、与任务无关的模型。 除数据量更多带来的益处外,使用多种任务进行训练还能使表示更具泛化能力。 这些基础模型能够在各种任务中取得很高的任务成功率,对异常值更稳健,并且能够灵活地适应新任务。 这些方法将来自不同领域和任务的输入信号映射到一个高维表示空间,并表现出一致的缩放行为 [33, 28] 之后,只需要进行最少的微调就能将表示转移到下游任务以实现良好的性能。

图 1: 异构预训练 概念。 它将不同的具体实施方案,每个都有自己的 本体感受 视觉 传感器,映射到一个 共享 潜在空间,方法是使用特定于具体实施方案的标记器(“词干”)。 这将来自不同具体实施方案的异构数据 对齐 到一个联合表示空间。 这使我们能够在所有异构数据集的并集上训练一个共享的 Transformer 主干。 预训练的 Transformer 可以转移到一个新的具体实施方案,在转移时学习一个小的、新的标记器。

机器人技术的异质性带来了一个独特的挑战:不同的机器人是物理上不同的具体实施方案 1 硬件在不同的环境中运行。 每个具体实施方案都可以具有独特的 本体感受 ,包括不同的自由度、末端执行器、运动控制器和为特定应用构建的工作空间配置。 机器人技术中另一个常见的异质性是 视觉 异质性。 机器人通常配备有安装在不同位置(例如,手腕和/或第三人称)的不同相机传感器,并且每个机器人的视觉外观由于环境和任务而发生巨大变化。 本体感觉和视觉信息对于机器人学中的复杂、富含接触的、长视野行为至关重要。 此类信息学习不佳会导致过度拟合行为,例如对特定场景和任务重复运动,甚至轨迹。

在这项工作中,我们建议通过 异构预训练 (图 1 )将来自不同具体实施方式的本体感觉和视觉信息与策略的共享“语言”对齐来解决这个问题。 借助这种共享表示,新的具体实施方式只需要最少的数据和训练即可将其特定设置“翻译”成共享的“语言”。 换句话说,我们希望预训练与任务无关和与具体实施方式无关的基础模型,这些模型可以将来自单个具体实施方式的原始传感器信号映射到共享的潜在空间。 以前的工作在仅对人类视频的策略的视觉部分进行预训练方面取得了重大进展 [48, 53, 34, 61] 以及使用统一模型和数据集格式预训练完整策略 [6, 14, 55] (例如,使用语言 [5] )。 此外,他们假设在预训练中没有本体感觉,并在迁移学习中事后添加它。

我们引入了异构预训练 Transformer (HPT),这是一个旨在可扩展地从异构具体实施方式的数据中学习的架构系列。 HPT 对通用策略网络架构进行模块化(图 2 )并使用监督学习预训练潜在 Transformer 的 策略表示 受从多模态数据中学习的启发 [1, 73, 19, 30] ,我们使用 特定于具体实施方式的 分词器,称为“stem”,来对齐各种传感器输入,例如摄像机视图和本体感觉输入。 “trunk”是 共享的 ,并且在不同数据集之间进行预训练,并在适应预训练时未知的新具体实施方式和任务时进行迁移。 此外,我们使用特定于任务的动作解码器,称为“head”,来产生动作输出。 重要的是,在“对每个具体实施方式进行分词”后,HPT 在 潜在符元 的短序列的共享空间中运行。 这种层次结构是受到人类如何处理脊髓神经回路水平的特定运动反应和感知刺激之间的反馈回路的启发 [68]

我们广泛调查了策略预训练的缩放行为和各种设计,其程度超过 50 个独立的数据源(是 [55] 的两倍多)以及超过 10 亿个参数的模型大小。 与缩放定律 [26, 28] 相似,我们发现,在一定程度上,HPT 也会随着数据集的数量和多样性,以及模型和训练计算量的增加而扩展。

此外,异质性可能发生在不同的具身领域,例如真实机器人硬件、模拟领域和人类视频。 我们在预训练过程中纳入了许多可用的具身数据集,涵盖了不同的具身方式,例如真实机器人 [14, 75, 38] 、模拟 [81, 89, 49, 20, 85, 80] 和互联网人类视频 [15] ,并展示了我们框架的通用性,包括超越昂贵的现实世界机器人遥操作的具身方式。

通过在多个模拟基准 [89, 49, 81] 和现实世界灵巧任务之间进行迁移学习实验,我们与多个基线和从头开始的对应方法进行了比较。 总体而言,基于预训练目标,HPT 可以随着模型、数据、计算量以及真实机器人、模拟和人类视频之间机器人数据集异质性的增加而扩展。 这些预训练过程和模型可以简化构建针对新具身方式和新任务的可靠机器人策略,这在数据需求和泛化性能方面都有优势。 为了尝试扩展异质性预训练,我们开源了代码和权重,我们希望 HPT 可以为从异质性具身方式和任务中学习机器人表示提供一些启发。

图 2: HPT 架构。 HPT 被模块化成茎、躯干和头部。 茎,由 本体感受 标记器和 视觉 标记器组成,将不同具身方式的视觉和本体感受观测映射到固定数量(例如 16 个)的标记。 共享 躯干,是一个 Transformer,将连接的标记映射到共享表示。 然后,头部将处理后的标记映射到不同下游任务中的动作。 对于特定具身方式,会激活一对茎/头部(由开关表示)。 躯干是共享的,并在有监督学习中使用带动作标签的数据进行预训练,然后转移到新具身方式。 此过程可扩展到 52 个数据集和 10 亿个参数。

2 相关工作

预训练和迁移学习。

预训练 [2] ,通过直接监督 [37] 和/或自监督 [56, 24, 12, 21, 10] ,已被证明可以学习对计算机视觉 [7, 36] 和自然语言 [57] 中未见的下游任务有用的表示,以及它们的交集 [59] 从 ImageNet [16] 或网络规模数据 [37, 59, 17] 中学习到的表示显示出对分布变化的鲁棒性,并且可以转移到新任务。

最近涌现的基础模型 [3] 通过将与任务无关的目标应用于多任务数据,扩展了这些表示学习方法 [26, 28] 此外,最近的工作 [45, 41, 44] 表明,小的投影层可用于对齐基础模型的预训练特征空间。 与其他领域不同,机器人学的数据量和多样性较少,但异质性却大得多。

对齐。 最近的一些工作,如 Flamingo [1] 、Perceiver [30] 和 ImageBind [19] ,提出了通过将图像、语言和音频等 多模态数据 的表示对齐到同一个潜在空间,以实现表示学习。 我们的架构设计也受到多模态学习社区中 LLaVA [44] 等方法的启发。 最近,GPT-4o [57] 、Gemini [76] 、MM1 [51] 、X-VILA [88] 和 Chameleon [74] 展示了从多种模态中预训练通用 Transformer 的能力。 当我们扩展到使用异构嵌入并重用来自不同嵌入的数据时,对齐模态和/或嵌入的概念很重要。

机器人学中的表示学习。

表示学习已在机器人社区中得到探索。 之前的工作,如 R3M [53] 、VC-1 [48] 、Voltron [34] 和 SpatialVLM [11] ,通过使用人类视频和机器人数据 [69] 训练策略来研究视觉表示。 最近的工作 [60, 4, 87, 70, 39] 也将来自多种模态和数据分布的表示对齐,用于机器人任务。 预训练后,在目标域中进行使用冻结表示和/或微调的迁移学习。

通用策略。 机器人领域的规模化策略学习利用了来自真实机器人 [6, 72] 、人类视频 [53, 48] 和模拟领域 [32, 62, 82, 79] 的不同数据。 也有一些关于多任务学习 [64, 65, 84, 22] 、元学习 [78, 54, 18] 、少样本学习 [83] 和集群学习 [81] 的研究。 最近,RT-X、Octo、OpenVLA [6, 14, 55, 35] 在来自不同机器人实体的数据集上训练了通用视觉-语言-动作机器人策略。

与这些工作相比,HPT 处理更广泛的异构性,包括本体感受和视觉,探索在更多异构领域(包括真实机器人、人类视频和模拟数据)上扩展行为,并在模拟基准中以更大的规模进行评估。

专家混合。

我们的架构设计与条件计算和 MoE [50, 43, 71] 中的工作相关,其中我们为每个实体创建一个专家,并且路由器(用于整个网络)由实体确定。 该技术已被用于将语言模型扩展到相当大的规模 [31]

3 异构预训练 Transformer (HPT)

图 3: HPT 中的茎架构。 在 HPT 茎中,本体感受标记器使用 MLP 将本体感受信息映射到特征,然后由 16 个可学习标记进行关注。 视觉标记器使用预训练的编码器,并且类似地使用注意力机制将视觉特征映射到 16 个固定标记。 该架构灵活地处理输入序列,而不会增加标记的大小。

异构机器人学习 中,跨实体,数据来自不同的领域,例如模拟和真实机器人,跨越感官模态,例如 RGB 图像、语言指令、深度图、3D 点云和触觉图像。 每个机器人都是一个独特的硬件体现,具有不同程度的自由度、末端执行器、传感器配置、控制器和动作空间,以及特定于应用程序的物理设置。

在接下来的部分中,我们将讨论 HPT 网络架构和解决上述异质性的训练过程。 我们将网络架构(图 2 )模块化为特定于体现的茎、共享主干和特定于任务的头。 直观地说,茎,如图 3 所示,是神经网络的早期层,将来自异构体现和模态的感官输入对齐到共享表示空间。 网络的 共享 中间部分称为主干,它将感官表示处理成可以用于多种任务的潜在表示。 最后,网络的最后一部分是头,它将该潜在表示映射到感兴趣的各个任务中的动作空间。 训练过程,称为 异构预训练 ,根据采样的体现和任务数据分配和对齐特定的茎/头对,并且仍然享有共享主干中联合训练的优势。 这可以被认为是用神经网络对每个体现进行标记化,并减轻了在标准训练过程中将体现统一到同构数据形式的必要性。

3.1 网络架构

茎。

HPT 中的茎 θ stem (图 3 )由本体感受器标记化器和视觉标记化器组成。 这些标记化器将来自不同体现的异构输入映射到具有 固定维度 固定数量 的符元,这使主干能够以相同的方式处理它们,尽管存在很大的异质性,以及享受对固定上下文长度的缩放和推理益处。 主要思想是利用注意力 [77, 30, 9] 将固定数量的可学习符元关注到观测的特征。 虽然我们主要关注本体感受和视觉,但处理触觉、3D 和动作输入中其他类型的传感器异质性可以在茎中灵活扩展。

  • 本体感受标记化器。 在图 3 (左)中,对于体现 k ,本体感受标记化器将任何具有维度 d p k (例如,末端执行器姿态为 7)的机器人本体感受信息的序列映射到具有维度 d N p (例如, N p = 16 )符元,其值范围从 128 到 1024。 为实现此目标,我们首先使用一个 MLP 将本体感受输入映射到维度为 d 的特征空间中。然后我们应用正弦位置编码,并在状态特征和可学习符元之间使用注意力机制,映射到维度为 16 d 个符元中。本体感受信息对于机器人策略学习至关重要,但其用法通常只是将特征与视觉编码器简单地串联 [40]

  • 视觉符元化。 在图 3 (右)中,视觉符元化可以将任何维度为 H × W × 3 的相机图像序列(多视图视频)映射到维度为 d N v 个符元(默认情况下使用 N v = 16 个符元)。为了实现这一点,我们首先使用 预训练的冻结特征网络 (例如,来自 ResNet 的 7×7 特征),然后将特征展平。 之后,我们再次使用这些特征和可学习符元之间的注意力机制,将视觉输入映射到维度为 d 16 个符元中。

在按时间顺序分别处理每个模态之后,我们将所有模态符元连接起来,并添加额外的模态嵌入和正弦位置嵌入。 这用作我们将在下面介绍的躯干的输入序列。 为了避免过度拟合,主干只有少量参数(一个 MLP 和一个注意力层)。

Octo [55] 等相关工作以及其他工作 [53, 48, 6] 主要集中在通过掩蔽或自监督学习来预训练策略的视觉主干。 它们通常将单视图图像序列沿通道 [6] 堆叠起来,用于特定机器人,或者使用大量符元( [55] 中为 256 个)。 相反,HPT 使用带有预训练视觉编码器的主干,将任意图像序列映射到一个简短的符元序列(16 个)。 此外,HPT 并非在迁移过程中 添加 本体感受,而是 联合预训练 视觉和本体感受部分,来自异构数据集。

躯干。

作为预训练的核心组件,躯干架构遵循 Transformer,在维度为 d 的潜在空间中由 θ trunk 参数化。输出符元序列长度 L 与输入符元序列长度相同。 输出符元序列简单地被池化作为观测的最终组合特征。 躯干在不同的体现形式和任务中共享,以捕获复杂的输入-输出关系(即,躯干参数的数量与体现形式和任务的数量无关)。


图 4: 机器人数据集异质性。 我们展示了来自不同领域的数据集混合的示例(每种颜色代表不同的具体实现方式),包括真实机器人遥操作 [14] 、部署的机器人 [38] 、模拟和人类视频 [15] 参见附录部分 A 获取数据集混合的详细信息。





表 1: HPT 的网络细节。 宽度表示主干 Transformer 的潜在维度大小,深度表示块的数量。 默认 设置为 HPT-Small 模型。






表 2: 预训练设置的数据集详细信息。 默认 设置使用来自 RT-X 的 27 个数据集进行训练,这些数据集包含 16k 个轨迹(每个数据集最多 1000 个轨迹),而 扩展 设置则涉及更多数据和计算。



头部。

策略头部 θ head 获取主干 Transformer 的输出,并将它映射到每个数据集中的动作空间 𝒜 对于每个具体实现方式和任务,策略头部可以是任意架构(例如 MLP),它以主干的池化特征作为输入,并输出归一化的动作轨迹。 策略头部在转移到新的具体实现方式时会重新初始化。

3.2 训练目标

给定总共 K 个数据集,这些数据集包含来自不同分布 𝒟 1 , , 𝒟 k , , 𝒟 K 的异构具体实现方式,我们令 𝒟 k = { τ ( i ) } 1 i M k 表示数据集 𝒟 k 中的一组 M k 个轨迹,其中 τ ( i ) = { o t ( i ) , a t ( i ) } 1 t T 表示长度为 T 的观察和动作元组对的第 i 个轨迹。 目标是在所有数据集上最小化以下损失

是行为克隆损失,计算为基于数据集统计的归一化动作标签和网络的动作预测之间的 Huber 损失。 θ = k = 1 K { θ k stem , θ k head } θ trunk 表示网络参数,包括特定于具体实施方式的茎和头 θ k stem , θ k head (用于数据集 k ),以及所有实施方式之间共享的一组共享主干参数 θ trunk 此训练过程有两个数据扩展轴:一个数据集 D k 的数量 M k 以及数据集的总数 K 。在预训练阶段,仅在每次迭代时更新主干参数,并且每个异构实施方式和任务的茎和头根据训练批次采样进行更新。 请参见附录部分 A.3 中的实现细节。

3.3 迁移学习

策略迁移过程类似于将新域的特征(通过预训练的茎编码器)与主干的预训练嵌入空间对齐 [41, 44] 给定来自新实施方式的新数据集 𝒟 K + 1 ,目标可以与预训练相同或其他选择 [13] 我们使用特定于具体实施方式的输入和输出维数(如不同的本体感受和动作维数)重新初始化头和茎参数,并冻结主干的权重。

4 预训练实验

在本节中,我们旨在回答以下问题:HPT 预训练在跨域异构数据下是否具有 缩放行为

默认设置。 我们使用 27 个机器人遥操作数据集,包括最近公开的 Open-X Embodiment 数据集的子集 [14] 作为训练语料库。 默认情况下,我们使用场景的一个摄像头视图,以及预训练的冻结 ResNet18 图像编码器来计算视觉特征。 只要可用且提供,我们就使用本体感受信息,例如末端执行器姿态和关节位置。 我们使用每个数据集最多 1000 个轨迹,总共 16k 个轨迹,以及一个保留的验证数据集,每个数据源最多 200 个轨迹。 此外,我们使用了一个具有 317 万个参数的主干大小的模型,该模型表示为 HPT-Small(表 1 )。 训练使用 256 的批量大小进行 80k 次迭代,这大约是潜在空间中的 0.65B 个 Token 馈入 HPT,以及视觉和本体感觉 Token 空间中的大约 5B 个 Token (与水平相关)。 虽然我们没有对动作空间或观察空间进行对齐或预处理 [55, 86] ,除了规范化,数据清理和过滤将非常有用。

缩放设置。 我们在训练过程中使用 52 个数据集的 200k 条轨迹,包括模拟(例如 [49] )、已部署的机器人(例如 [38] )、人类视频(例如 [15] ),来自不同的具体实施方式。 这包括许多公共和可访问的机器人数据集。 除了不同机构的不同任务外,这些异构混合数据集(图 4 和图 13 )带有不同的视图、语言输入和不同环境中的不同观察输入。

4.1 协议

我们使用 平均验证损失 (对看不见的轨迹的预测误差)在预训练的最后一次迭代中评估 HPT 预训练性能。 这些验证数据集在训练期间与轨迹计数和模型无关。 除非特别说明,验证数据集来自 默认设置 中的相同 27 个数据集。 请注意,在许多现实世界的机器人环境中大规模评估预训练模型是不现实的,而且如果我们忽略这个目标,几乎没有评估替代方案来衡量大规模预训练。 在自然语言处理 [29, 33] 等领域,训练损失目标(例如困惑度)通常用于衡量预训练的进展。 诚然,这个指标存在一些需要注意的地方,包括闭环性能差距和任务成功率差距。 我们将在关于 HPT 转移学习的第 5 节中解决这些问题。 有关更多详细信息和讨论,请参阅附录第 A 节和第 D 节。

图 5: 数据规模化 . 我们在数据集大小和数据集数量方面进行规模化 HPT 实验。 每个点都是完整训练运行的验证损失。 (a) 我们在 27 个数据集上评估损失,其中每个数据集的轨迹总数范围从每个数据集最多 10 个轨迹(总共 270 个)到每个数据集最多 100000 个轨迹(总共 170k 个)。 我们比较了两种模型尺寸,HPT-S/L,其中 HPT-L 是一个更大的模型,其训练使用的符元数量是 HPT-S 的 4 倍。(b) 我们计算了固定子集的 10 个数据集的验证损失,这些数据集具有固定数量的 epoch (2)。 我们计算了从 HPT-S 到 HPT-XL 的模型尺寸以及从 10 到 52 的数据集数量的 4 次运行的平均值和标准差。
图 6: Epoch 规模化 . 我们在样本总数方面进行规模化 HPT 实验。 每个点都是完整预训练运行的验证损失。 设置: HPT-S, 27 个数据集,每个数据集最多 1000 个轨迹。 左) 我们将批次大小的数量扩大,并测量验证损失的变化。 右) 从左图得出,我们将批次看到的批次数量乘以每个批次的样本数量。

4.2 规模化行为

数据规模化。 在图 5 (a) 中,我们观察到即使在越来越异构的具体实现中,验证损失也保持稳定并按比例缩放。 此外,我们发现计算量(例如,每次训练运行看到的样本数量)和数据量需要同步缩放 [33] 以在训练过程中更接近收敛。 在图 5 (a) 中的红线中,我们观察到当我们通过使用更大的模型并将批量大小增加到每数量级增加轨迹计数的两倍来增加轨迹总数时,验证损失会更好。 严格增加数据,同时保持其他数据受限(HPT-S 和固定迭代次数),可能会导致在每个数据集最多约 1000 条轨迹时,性能出现早期高原,如图 5 中的蓝线所示。 在图 5 (b) 中,我们还在固定数量的 epoch 中对越来越多的数据集进行预训练,并在固定子集(前 10 个数据集)上进行评估。 我们假设使用更多具体实现进行训练有助于主干的泛化。 这些实验可以扩展到 20 万条轨迹和 52 个数据集的程度。

图 7: 模型缩放 我们沿着模型尺寸运行缩放 HPT 实验。 每个点都是一次完整的训练运行。 设置:27 个数据集,每个数据集最多 1000 条轨迹。 我们沿着模型尺寸(从 1M 到 1B)对蓝线和红线进行缩放。 红线是用增加的数据和 epoch 训练的,以达到收敛。 具体来说,我们逐步将批量大小从 256 增加到 2048(每增加一个模型尺寸数量级就增加一倍),并使用 17 万条轨迹。

模型缩放。 在图 7 中,我们将 RT-X 中的数据集数量固定为 27 个,并为每个数据集使用最多 1000 条轨迹。 我们根据模型大小(从 1M 到 1B)进行扩展,并逐步增加批处理大小,从 256 到 2048(每增加一个模型大小顺序就翻倍),并使用具有 170k 条轨迹的较大数据集。 我们观察到,当我们扩展到具有更大计算量的更大模型时(红线),预训练可以实现较低的验证损失,直到达到稳定状态。 我们没有发现深度扩展和宽度扩展之间存在显著差异。

时期扩展。 在此实验中,我们将数据集数量固定为 27 个,并为每个数据集使用最多 1000 条轨迹。 在图 6 中,我们观察到增加批处理大小(左侧),这有效地扩展了训练符元(右侧),通常可以提高模型性能,直到收敛。 我们的另一个观察结果是使用分布式工作人员从尽可能多的数据集加载数据以聚合每个批次。 我们假设在异构数据集上进行训练的大方差可以通过使用较大的批处理大小来减少。 有关更多实验细节,请参见附录 B

4.3 在合成数据和互联网人类视频上进行预训练

我们对超出现实世界机器人遥操作数据的实验进行了研究,因为这种数据收集和扩展成本很高。 对于其他数据集,我们考虑了 7 个跨越许多流行模拟器的模拟数据集,包括 Drake [81] 、Mujoco [89, 49] 、Isaac Sim [20] 和 PyBullet [85, 80] ,以及 Sapien [52] 和 Flex [66] ,并使用图像输入和专家演示。 对于缺少本体感受和动作信息的人类数据集,我们使用姿势和二维位置作为监督策略学习目标的替代。 我们总共使用了来自 EPIC kitchen [15] 和 PoCo [82] 的 300 条轨迹,最大轨迹长度为 1000。 有关数据集组合的更多详细信息,请参见附录图 13 和表 4

在图 8







请到「今天看啥」查看全文