大模型的预训练方法也适用机器人,复杂数据无需“量身定做”,也能完美对接。
在机器人领域,一场关于“通用智能”的探索正如火如荼地展开。
MIT 的何恺明和 Lirui Wang 等人最近成功在“通用数据”上取得了进展,让机器人离拥有“通用大脑”的目标又近了一步。
机器人数据的异质性问题一直是机器人训练的大难题。
以往,训练机器人需要为每种任务、每种环境,甚至每台机器人的不同硬件量身采集数据。
举个例子,假设需要为一个家庭服务机器人进行训练,团队通常要为不同任务和环境单独收集数据,如厨房中的搬运、清洁任务,或卧室内的物品分类。
数据必须特定、精准,这让数据采集量变得庞大而复杂,相当于不同的电子设备需要各自的“充电接口”,换个场景就得换一套数据格式。
这种方式导致数据难以通用,训练中存在大量重复劳动。明明数据总量看着比以前多得多,但实际训练时可用的数据量并没有实现大幅增长。
想要实现真正的通用机器人,就意味着必须收集尽可能全面的数据集。但这样一来,收集和整理数据的成本会极高,据估算可能高达数百万美元,且整个流程耗时数月,效率低下。
为了应对这一问题,研究团队纷纷尝试新方法。
比如,斯坦福大学的 RoboTurk 项目想通过远程操作来降低数据收集成本,但这只能缓解一部分压力。由于高质量传感器、定制环境和复杂的演示操作需求,任务专用的数据收集依然耗时且昂贵。
收集不好搞那自己造总行了吧?
许多团队转而依靠“合成数据”作为替代。合成数据虽说解决了一部分量的问题,却仍然无法完全彻底替代真实数据,尤其在应用于多任务通用训练时依然面临障碍。
MIT 这支团队两个都不选,他们选择另辟蹊径,与其不断增加新的数据,不如着手让现有数据实现“通用”!
他们的论文将在神经信息处理系统会议上发表,第一作者是来自MIT CSAIL (计算机科学与人工智能实验室 )的副教授何恺明和同一实验室的博士生 Lirui Wang、赵家梁,第二作者是 Meta 的研究员陈鑫磊。
论文里提出了名为“异构预训练 Transformers”(Heterogeneous Pretrained Transformers,HPT)的新架构。
在他们的研究中,不同来源的数据——无论是模拟数据还是真实机器人传感数据——都被对齐到一种共享“语言”,使得生成式 AI 模型能够“理解”这些数据。
换言之,无论是来自视觉传感器的数据还是机械臂位置编码器的原始信号,HPT 都能将它们转化为通用的数据格式,避免了重复的数据收集,也不浪费任何一种数据。
Lirui Wang 认为这样能够更好地发挥本体感知的作用,让机器人实现更多的灵巧动作。
HPT 的优势不仅在于通用性高,还兼具高效、低成本的特点。由于所需任务专用数据量更少,HPT 在模拟和实际测试中均展现了出色的表现,性能比传统训练方式提升了 20% 以上。
1
来自GPT-4的启发
机器人通常采用模仿学习的方式,通过人类演示或远程操控的方式获取训练数据,导致一旦环境或任务发生变化,机器人就容易“出错”。
这种数据非通用性一直是机器人学习的痛点,限制了其在多样任务中的灵活性,也限制了通用机器人的开发。
研究团队从 GPT-4 等大语言模型中汲取了灵感:GPT-4 这样的模型能顺利处理多任务的核心在于“大规模预训练+少量微调”的模式。
即便语言数据类型丰富且复杂,GPT-4 并不需要为每个任务分别准备数据,原因在于所有内容都被视为同一种语言——“句子”。
相比之下,机器人数据更为复杂,不仅有相机图像、语言指令,还有深度图等多样形式。每种数据源的适用性还受到机器人硬件、传感器等差异的限制。
因此,研究团队的挑战在于如何实现一种“通用的语言”来整合机器人数据。
他们提出的解决方案是“异构预训练 Transformer”(HPT)架构,分成了三个模块:
在 Stem(茎)部分,HPT 对不同的数据进行对齐,将它们转化为标准化的令牌序列;接着在 Trunk(树干)部分,通过多重转换和编码操作,将这些令牌转化为共享的潜在表示;最后在 Head(头)部分,将潜在表示转化为具体的动作指令,驱动机器人完成相应操作。
HPT 像“大模型”一样,随着处理的数据量增长,模型的性能也逐步提升。
为了支撑这种通用化训练,团队建立了一个庞大的数据集,包括 52 个数据集、200,000 条机器人轨迹,涵盖了人类演示视频和模拟数据。
借助这一数据集,HPT 可以高效预训练,用户只需提供少量特定任务或设计信息,就能让 HPT 在预训练知识的基础上完成微调,适应新任务。
HPT 在预训练和微调的方式上也有所创新。
与大模型同步更新所有模块不同,HPT 在预训练阶段只调整 Trunk 参数,而 Stem 和 Head 部分只会在微调阶段根据具体任务进行调整。
此外,HPT 不仅处理视觉数据,还支持直接处理传感器采集的原始信号,进一步扩大了数据使用范围。
目前,研究团队还在探索增加数据多样性,以进一步优化 HPT 的性能。他们的最终目标是实现“通用机器人大脑”,让用户即插即用,无需繁琐的培训和数据收集,让机器人训练变得像下载个 APP 一样简单。
2
不止“看见”,还要“感觉”
以往的研究往往更侧重视觉数据,而这篇论文难得的将本体感知也放到了核心部分。
具体来说,本体感知赋予了机器人对关节角度、末端执行器位置、姿态等内部状态的把控力。
这种能力在执行高精度任务时尤为重要。比如,拧紧螺钉、拿稳玻璃杯这类任务,光靠“看”还不够,机器人还需要“知道”自己的手臂位置、关节角度等内部信息,防止动作过多或偏移,最终减少失误。
研究团队认为本体感知才是让机器人完成一些精细且复杂的操作的关键。如果本体感知信息没有得到良好的学习和利用,机器人可能会在特定场景和任务中表现出重复的运动或轨迹,导致过拟合。
同样,具身智能强调的也是机器人与物理环境的交互能力,这种智能不依赖单一模态,而是通过整合外部视觉和内部本体感知,形成一种更全面的任务理解力。
因此,研究团队将视觉和本体感知信号作为等同重要的数据源进行“通用”处理。
这种综合处理使得机器人不再单纯依靠视觉,而是以一种“通用智能”的方式理解任务。
例如,在清扫任务(Sweep Leftover)中,HPT 架构允许机器人整合视觉和本体感知的多模态数据,结果显示,经过微调的 HPT-B 和 HPT-XL 模型的任务成功率远高于只依赖视觉模型的 VC-1。
(微调的 HPT 模型与几种基线模型(包括纯视觉预训练模型)之间的比较)
3
研究方法
HPT 架构设计
HPT架构把策略神经网络分为三个模块:Stem(茎)、Trunk(树干)和 Head(头),分别对应特定的实例输入、通用的处理层和任务特定的输出。通过这种模块化设计,HPT 能够将不同环境和任务下的传感器和视觉数据对齐为标准化的令牌序列,使机器人可以应对多样化任务。
Stem:数据输入层
Stem 是 HPT 的前端层,用于将不同任务和环境下的传感器数据(如相机图像和本体感受)转换为固定数量的令牌,供后续的通用处理使用。它包含本体感知分词器和视觉分词器两部分。本体感知分词器将机器人状态信息(如执行器位置、关节角度等)编码为16个标准令牌。首先通过多层感知器(MLP)将输入数据映射到特征空间,添加正弦位置编码,再利用注意力机制进行处理。视觉分词器处理相机图像(视频)数据,采用预训练的 ResNet18 提取图像特征,然后展平这些特征,并通过注意力机制转化为 16 个令牌,确保视觉数据能够以标准化的格式进入模型。
Trunk:共享中间层
Trunk 是 HPT 的核心部分,包含一个可扩展的 Transformer 架构,用于将 Stem 模块生成的令牌序列转换为通用的潜在表示。通过自注意力机制和前馈神经网络,Trunk 将输入数据编码成共享的表示,便于不同任务 Head 模块调用,以输出特定的机器人指令。
Head:任务输出层
Head 模块负责将 Trunk 的潜在表示转化为任务的具体动作。首先,Head 对输出动作空间进行标准化处理,再根据特定策略(如MLP或Transformer解码器)将数据映射为控制机器人执行的动作序列。最终,Head 根据不同任务生成适配的输出。
训练目标
预训练阶段
在预训练过程中,HPT 的目标是最小化跨多个数据集的行为克隆损失。HPT 通过多数据集的归一化动作标签与预测动作的 Huber 损失,优化不同任务下的模型参数。公式如下:
在训练中,Trunk 参数会在每次迭代中更新,而 Stem 和 Head 则基于训练批次动态更新。
迁移学习
在迁移学习阶段,面对新的任务,HPT 会重新初始化 Head 和 Stem 参数,并冻结 Trunk 权重,使 Trunk 的预训练知识直接迁移到新任务中,减少训练时间和数据需求。
4
实验设计
默认设置
实验的初始设置中,研究团队选择了 27 个机器人遥操作的数据集用于预训练,每个数据集最多包含 1000 条轨迹,总计约 1.6 万条轨迹。模型使用的是 HPT-Small 版本,参数量为 317 万,训练批量设置为 256 ,在 80,000 次迭代中完成训练。为了评估模型性能,研究者还构建了一个由这 27 个数据集组成的验证集。
扩展设置
在更大规模的实验中,研究团队扩展了数据来源,使用 52 个不同的数据集进行预训练,这些数据集包括模拟数据、实际部署的机器人数据,以及人类执行任务的视频数据。每个数据集最多包含 20 万条轨迹。这个设置中采用的模型版本为 HPT-XLarge,参数量高达 1 亿,训练批量增至 2048,以更大规模的数据和更高参数量提高模型的泛化能力。
合成数据和互联网人类视频
为增强数据多样性,研究团队还利用了 7 个模拟数据集和 EPIC 厨房及 PoCo 的互联网人类视频数据进行额外的预训练。
暂无评论内容