论文链接:https://arxiv.org/html/2503.14734v1
代码链接:https://github.com/NVIDIA/Isaac-GR00T
0. 简介
NVIDIA近期发布的GR00T N1模型是其在具身智能领域的重要进展。该模型的核心目标是充分利用多种来源的数据,包括人类视频、仿真数据、不同构型机器人的真实操作数据以及通过视频生成技术获得的合成数据。通过这种方式,GR00T N1旨在解决具身智能所面临的数据稀缺和多样性不足的问题,从而提升机器人在复杂环境中的操作能力。
图1:机器人基础模型训练的数据金字塔。GR00T N1的异构训练语料库可以表示为一个金字塔:从底部到顶部,数据量逐渐减少,而具体化程度逐渐增加。
1. 主要贡献
GR00T N1的主要贡献在于其创新的数据利用策略和模型架构。
- 该模型不仅能够有效整合来自不同来源的数据,还能通过共享主干网络和潜在动作的概念,支持不同机器人构型的数据联合训练。
- 具体来说,GR00T N1引入了潜在动作编解码器,使得无标签的人类视频数据和真实机器人数据能够同时参与训练,降低了对大量标注数据的依赖。
- 此外,GR00T N1还通过先进的视频生成技术和逆运动学模型,进一步提高了数据的利用效率和标注的准确性。
2. 相关工作
在GR00T N1的研发过程中,多个相关工作为其提供了理论基础和技术支持。首先,HPT(Hierarchical Policy Training)方法通过共享主干网络来处理不同机器人构型的数据,尽管它未能充分利用人类视频数据。其次,IGOR和LAPA等模型则专注于潜在动作的预训练,为无标签数据的利用提供了思路。GR00T N1综合了这些研究的优点,设计出了一种既能处理多样化数据源,又能实现高效训练的新模型架构。
同时,在数据生成方面,GR00T N1借鉴了视频生成模型的最新进展,使用生成模型来扩充数据集,尤其是在仿真和合成数据的生成上。这种方法不仅减少了人工数据收集的成本,还显著提高了数据的多样性和丰富性。
3. 核心算法
GR00T N1模型的核心算法设计围绕着如何高效生成和处理动作,并充分利用多种数据源。其架构主要由两个部分组成:视觉语言模块(Vision-Language Module, VLM)和扩散变换器(Diffusion Transformer, DiT)。以下将详细介绍这两个模块的结构和功能。
图2:GR00T N1模型概述。我们的模型是一个视觉-语言-动作(VLA)模型,采用双系统设计。我们将图像观察和语言指令转换为一系列令牌,以供视觉-语言模型(VLM)主干处理。VLM的输出与机器人状态和动作编码一起传递给扩散变换器模块,以生成运动动作。
3.1 视觉语言模块(VLM)
VLM模块的主要功能是从图像和文本指令中提取特征,并为后续的动作生成提供上下文信息。GR00T N1使用Eagle-2 VLM作为其基础,该模型在大规模互联网数据上进行了预训练,并通过SmolLM2和SigLIP-2进行了微调。
-
输入处理:VLM模块接受图像观测和文本指令作为输入。图像被编码为224×224的分辨率,经过像素重排后生成64个图像token嵌入。这些嵌入与文本嵌入结合,形成一个丰富的多模态表示。
-
特征提取:通过对图像和文本的共同编码,模型能够提取出具有高度相关性的特征。在策略训练过程中,任务的文本描述和可能的多张图像会以对话格式传递给VLM,从而获得形状为(批量大小 × 序列长度 × 隐藏维度)的多模态特征。
-
层次选择:在实验中发现,使用VLM中间层的嵌入而非最终层的嵌入可以显著提高推理速度和下游任务的成功率。因此,GR00T-N1-2B选择了第12层的表示作为输出。
图3:GR00T N1模型架构。GR00T N1在多样化的机器人形态上进行训练,从单臂机器人手臂到双手灵巧的人形手都有涵盖。为了处理不同机器人形态的状态观察和动作,我们使用了具有形态感知的状态和动作编码器的DiT模块,以嵌入机器人的状态和动作输入。GR00T N1模型利用Eagle-2模型的潜在嵌入,结合机器人的视觉观察和语言指令。随后,视觉语言令牌将通过交叉注意力层输入到DiT模块中。
3.3 扩散变换器(DiT)
DiT模块负责处理机器人的状态和动作生成。它采用了一种变体的扩散变换器,结合了去噪步骤的自适应层归一化。
-
状态和动作编码器:针对不同机器人构型的状态和动作,GR00T N1为每种构型使用一个多层感知机(MLP)进行投影,确保所有输入映射到一个共享的嵌入空间。动作编码器还将扩散时间步与噪声动作向量一起编码,以便在生成过程中考虑时间因素。
-
流匹配机制:GR00T N1使用流匹配(Flow-Matching)技术,通过迭代去噪来生成动作。该模型接收噪声动作、机器人的状态编码、图像token和文本token作为输入。每个时间步t,模型处理的动作向量是一个包含多个时间步的块,设定H=16,使得模型能够在多个时间步内进行动作生成。
-
交叉注意力和自注意力:在DiT中,自注意力模块处理噪声动作token嵌入和状态嵌入,而交叉注意力模块则允许模型根据VLM输出的视觉-语言token嵌入进行条件化。这样的设计使得模型能够充分利用视觉和语言的信息来指导动作生成。
-
动作解码器:在最后的DiT模块之后,使用一个特定于构型的动作解码器(另一个MLP)对最终的H个token进行处理,从而预测出具体的动作。
3.3 训练过程
GR00T N1的训练过程分为预训练和后训练两个阶段:
-
预训练阶段:在这一阶段,模型通过流匹配损失对来自不同来源的数据进行训练,包括真实机器人数据和合成数据。对于无标签的人类视频数据,模型通过学习的潜在动作作为目标进行训练。
-
后训练阶段:在后训练阶段,模型针对每个单独的机器人构型进行微调。此时,语言组件保持冻结,其他部分进行细致调整,以增强模型在特定任务上的表现。
3.4 数据生成和利用
为了支撑GR00T N1的训练,研究团队采用了多样化的数据生成策略,包括:
-
潜在动作提取:通过训练VQ-VAE模型从人类视频和合成轨迹中提取潜在动作,以生成用于训练的标签。
-
神经轨迹生成:利用视频生成模型生成合成数据,显著扩充了训练数据集。
-
仿真轨迹:使用仿真技术生成大量的机器人操作轨迹,进一步丰富了模型的训练数据。
通过以上设计和策略,GR00T N1在处理复杂的机器人操作任务时展现出了强大的能力,能够在多种环境中灵活应对,具有广泛的应用潜力。
下面一节我们详细来介绍:
4. GR00T N1的训练数据结构
GR00T N1的训练数据被组织为三个层级的金字塔结构,具体如下:
4.1 底层(数量多,成本低)
- 人类第一视角视频数据:包括日常生活中人类与物体的互动视频。
- 互联网VLM预训练数据:通过大规模互联网数据对视觉语言模型进行预训练,提供了丰富的语义信息。
4.1.1 GR00T N1人形机器人预训练数据集
- 内部收集的数据:包含广泛的一般操作任务,主要集中在Fourier GR1上,通过遥操作进行数据采集。
- 数据采集方式:使用VIVE Ultimate Tracker和Xsens Metagloves跟踪操作者的手腕和手指动作,以实现对机器人的遥操作。每条数据记录时间为88小时,按每条15秒计算大约有2万条轨迹,能够通过数据生成技术扩展至10倍。
- Open X-Embodiment数据集:选择了RT-1、Bridge-v2、Language Table、DROID、MUTEX、RoboSet、Plex等多个子集,提供多样化的机器人操作任务数据。
- AgiBot-Alpha数据集:包含来自100个机器人的14万条轨迹,涵盖细致操作、工具使用和多机器人合作。
图6:通过远程操作进行数据收集。我们的远程操作基础设施支持多种设备捕捉人手运动,包括6自由度的手腕姿态和手部骨骼。机器人动作通过重定向生成,并在真实和仿真环境中的机器人上执行。
4.2 中层(数量中等,成本较低)
- 合成轨迹(Neural Trajectories):使用视频生成模型生成的轨迹数据。
- 仿真轨迹(Simulation Trajectories):基于物理模拟器生成的机器人操作轨迹,涵盖了多种操作任务。
4.2.1 视频生成模型生成的数据(Neural Trajectories)
- 微调过程:基于预训练的视频生成模型(如Sora等),在自己收集的真实机器人数据(3000条)上进行微调。
- 生成过程:通过大型模型检测初始帧中的物体,生成“拾取-放置”的操作组合,并过滤不合理的指令。将初始帧和新的语言指令输入视频生成模型即可生成新的视频数据。
- 数据过滤和重标注:使用多模态LLM对视频进行过滤,确保符合指令并重新标注。最终生成的827小时视频数据相当于原始数据的约10倍,整个过程耗费了3,600块L40 GPU运行1.5天,总计约10.5万GPU小时。
4.2.2 仿真数据(Simulation Trajectories)
- 基于DexMimicGen生成:主要流程包括从少量人类演示(数十条)开始,分解为基于物体的子任务,通过物体位置对齐和动作插值生成新轨迹,并保留成功轨迹。最终生成了78万条轨迹,等效于约6500小时的数据。
4.3 顶层(数量少,成本高)
-
真实机器人遥操作数据:包括各种构型的机器人在真实环境中的操作数据,数据收集成本高,但对于模型的准确性至关重要。
-
数据来源:包括Ego4D(日常活动第一视角视频)、Ego-Exo4D(第一视角+第三视角视频)、EPIC-KITCHENS(厨房活动)、HOI4D(人-物交互)、RH20T-Human(精细手部操作)、HoloAssist等。
4.3.1 如何充分利用各种来源的数据
当前面临的挑战包括:
- 不同机器人构型的数据整合:由于不同机器人构型的状态空间和动作空间不同,导致难以将这些数据进行联合训练(co-train)。
- 无标注数据的利用:许多数据(如人类视频和模型生成的视频)没有动作标签,如何将这些数据有效整合到训练中也是一个难题。
为了解决第一个问题,之前的HPT(High-Performance Training)采用了不同构型的机器人共享主干网络,每个构型单独训练一个状态和动作的编码器/解码器,但未能将人类视频数据纳入训练。
对于第二个问题,IGOR、LAPA和智元GO-1首先预训练一个潜在动作的编解码器,从而可以在人类视频数据上通过预测潜在动作的方式进行预训练。然而,这些模型在应用于机器人时仍需使用真实机器人的实际动作数据进行微调。
GR00T N1结合了这两种方法,不仅训练了一个潜在动作编解码器,还将潜在动作作为一个新的构型参与DiT部分的训练。这使得人类视频数据和带有真实动作数据的机器人数据能够一起进行联合训练,从而在理想情况下无需微调就能直接应用于机器人。
4.3.2 潜在动作(Latent Action)
潜在动作的实现基于VQ-VAE模型,包含编码器(Encoder)、解码器(Decoder)和代码本(Codebook)。编码器的输入为当前帧和未来帧,输出为一个连续的潜在向量。通过找到代码本中最近的离散向量,实现到离散空间的投影。解码器输入当前帧和离散向量,负责重建未来帧。
训练完成后,编码器被用作逆运动学模型,给定一对当前帧和未来帧,可以提取出潜在动作,作为真机数据、仿真数据和人类数据在预训练阶段的动作标签。
4.3.3 逆运动学模型(IDM)
为了充分利用视频生成模型合成的数据,GR00T N1还训练了一个逆运动学模型。与潜在动作不同,该模型可以直接预测实际的动作(如关节角、位姿等),并且IDM模型需要针对特定的机器人构型进行训练。IDM模型训练完成后,可以对视频生成的数据进行动作伪标签标注,作为模型的训练数据。需要注意的是,在使用动作伪标签进行训练时,该模型应视为一个新的构型,对应一个新的动作和状态编解码器。
5. 实验结论
在一系列实验中,GR00T N1展示了其卓越的性能。通过在多个任务上的验证,模型在真实机器人操作中的成功率达到了76.6%,而在新物体和容器操作任务中,成功率为73.3%。在微调阶段,GR00T N1的表现进一步提升,尤其是在使用视频生成合成数据进行联合训练时,成功率提高了4.2%至8.8%。
在真实世界数据稀缺的情况下,GR00T N1仍旧展现出强大的适应能力。即便在仅使用10%的真实数据进行微调的情况下,模型的成功率也接近于全数据下的性能。这表明GR00T N1在面对数据不足的场景时,依然能够保持较高的执行效率和准确性。
综上所述,GR00T N1不仅为具身智能的发展提供了新的思路,也为未来的机器人学习和应用奠定了坚实的基础。通过高效的数据利用和创新的模型设计,GR00T N1有望在各种复杂的现实环境中实现更为出色的表现。
6. 参考链接
https://mp.weixin.qq.com/s/momgPXcC5bT3VBTNRdu8sw