前言
上个月的24年10.9日,我在朋友圈看到字节发了个机器人大模型GR2,立马去看了下其论文(当然了,本质是个技术报告)
这次也是我头一次看paper,不看正文,而是直奔其References,看有没有我预想中的文献,说明咱看paper的能力相比去年强很多了那天之后,我就一直想解读这个GR2来着
然,意外来了,如此文开头所说
由于我司「七月在线」自今年年初以来,一直在针对各个工厂、公司、客户特定的业务场景,做解决方案或定制开发,所以针对每一个场景,我们都会反复考虑“用什么样的机器人、什么样的技术方案”做定制开发
- 于此,便不可避免的追踪国内外最前沿的机器人技术进展,本来准备在上一篇博客《VLM驱动机器狗——从UMI on Legs到Helpful DoggyBot:分别把机械臂装到机器狗背上、夹爪装到机器狗嘴里》之后,解读今天上午看到的字节刚发的机器人大模型GR2
当时,还发微博说,“头一次看paper不看正文,而是直奔其References:看有没有我预想中的文献,说明咱看paper的能力相比去年强很多了”- 没想到晚上,一在上海一机器人公司的朋友,又发我了一个链接:OmniH2O: Universal and Dexterous Human-to-Humanoid Whole-Body Teleoperation and Learning,并说这个挺可以的
在字节机器人大模型GR2之前,故先解读这个OmniH2O及其前身H2O
- 可在解读OmniH2O的过程中,发现了MDM这个方法挺有用的,包括后续的RobotMDM,加之还有朋友私我UCSD的Exbody相关的问题,故又去写了这篇文章
从MDM、RobotMDM到UCSD的Exbody——人体运动扩散模型:赋能机器人的训练 - 后来,再考虑到想阐述清楚GR2,则得先阐述好通过学习人类视频训练机器人的方法,于是又去写了这篇(其实在SeeDo之前,我写了对OpenAI o1的解读,我可太忙了,^_^)
从视频中学习的SeeDo:VLM解释视频并生成规划、代码(含通过RGB视频模仿的人形机器人OKAMI、DexMV) - 然机器人领域实在是发展太快了,我自己在视频号上看到了iDP3(且友人丁研究员也和我说了这个iDP3),于此便有了本文
iDP3——改进3D扩散策略以赋能人形机器人的训练:不再依赖相机校准和点云分割(含DP3、Diff-Control、ControlNet详解) - 再后来,又和友人丁研究员在交流UMI、fastumi的过程中,聊到了清华高阳团队的一篇论文
于此,又有了这篇文章
机器人领域中的scaling law:通过复现斯坦福机器人UMI——探讨数据规模化定律(含UMI的复现关键) - 最后,昨天看到了UC伯克利的HIL-SERL,于此,又有了这篇对HIL-SERL的解读
HIL-SERL——UC伯克利提出的通用灵巧机器人框架:结合视觉和人类示教与纠正的RL方法(可组装电脑主板和插拔USB)
真是疯狂的10月份,一方面我和项目组各种疯狂推进我司各个大模型项目的开发(继),一方面我疯狂解读各个paper
好在如今总算可以写字节的这个GR2,且上个月清华也推出了一个类似的机器人大模型RDT,特此,在本文一并解读下
第一部分 GR-2:具备网络规模知识的生成式视频-语言-动作模型
1.1 GR1
// 待更
1.2 GR2的两阶段训练与其在真实机器人上的部署
1.2.1 GR2的两阶段训练:视频生成预训练和机器人数据微调
由于在视频生成上进行预训练可以有效地将视频中的有价值知识转移到策略学习中,从而提高动作预测能力
他们在一个广泛的视频数据集上对GR-2进行了预训练,该数据集涵盖了不同背景下(家庭、户外、工作场所、休闲等)的多样化日常人类活动。主要的预训练目标很简单:给定一个文本描述和一个视频帧,模型根据文本预测后续帧。通过掌握这一自回归预测任务,可以让模型用于捕捉关键的时间动态和语义信息
如下图所示,GR-2 经过两个训练阶段:视频生成预训练和机器人数据微调
最终,通过对机器人轨迹的微调,GR-2展示了学习多种操作任务并适应新场景的能力,包括新的背景、环境、物体和任务。值得注意的是,GR-2能够高效地从仅有5,000条轨迹的数据集中学习超过100项任务(平均每项任务50条轨迹)
且R-2基于GR-1 [5]进行了几个关键改进
- GR-2在3800万条文本-视频数据(超过500亿个token)上进行了预训练,能够完成超过100项操作任务,并执行超过100个物体的抓取任务。它显著扩大了预训练数据和任务的数量
- 开发了一种新颖的模型架构,使得从预训练中获得的知识可以无损地无缝转移到下游微调。该模型在处理多任务和具有挑战性的泛化环境中表现出强大的可扩展性
- 为了在真实机器人上进行部署,他们引入了一种全身控制(WBC)算法,该算法结合了轨迹优化和实时运动跟踪
具体来说,他们希望训练一个通用策略,它将语言指令、环境观察序列和机器人状态序列作为输入,该策略以端到端的方式输出一个动作轨迹
其中,和分别表示观测历史和动作轨迹的长度
1.2.2 模型与训练
如之前所述,GR-2是一种以语言为条件的GPT风格视觉操作策略模型(包含230M个参数,其中95M是可训练的),训练过程分为两个阶段:视频生成预训练和机器人数据微调
在预训练阶段,在一个精心挑选的大规模视频数据集上训练GR-2。之后,在机器人数据上微调GR-2,以同时预测动作轨迹和视频
GR-2的输入包括语言指令、一系列视频帧和一系列机器人状态,过程中,他们
- 使用一个冻结的文本编码器 [Learning transferable visual models from
natural language supervision,说白了,就是CLIP,关于CLIP的介绍详见此文的第一部分] 来对语言指令进行tokenize
对于视频中的图像帧,使用 VQGAN [7] 将每个图像转换为离散的token
VQGAN 在大量互联网数据以及领域内的机器人数据上进行训练,并在训练过程中保持冻结。这种方法有助于快速训练并支持生成高质量的视频
机器人状态包含末端执行器的位置和旋转,以及二元夹持器状态。这些状态通过线性层进行编码,这些层在微调阶段是可训练的 - 在预训练阶段的目标是让GR-2具备预测未来视频的能力。这使得模型能够建立一个强大的先验知识,用于预测未来事件,从而提高其进行准确动作预测的能力
该模型基于GPT风格的Transformer构建,接受经过tokenized的文本和图像序列作为输入,并输出未来图像的离散token,未来的图像则通过VQGAN解码器从这些token中解码出来 - 其中的预训练数据集包括常用的人类活动公共数据集,例如Howto100M、Ego4D、Something-Something V2、EPIC-KITCHENS和Kinetics-700
此外,为了将预训练数据定制化用于机器人操作任务,他们精心建立了一个数据处理流程,包括手动过滤和重新标注。此外,还包含了公开可用的机器人数据集,例如RT-1和Bridge。总共用于预训练的视频片段数量为3800万,相当于大约5000亿个token
下图便是他们整理的预训练数据集中的示例视频和动词分布。底部图表的 y 轴是高频词的对数频率 - 随后,GR-2可以在大规模预训练后无缝微调机器人数据
与预训练数据中的视频只有单一摄像头视角不同,机器人数据通常包含多个视角。GR-2被设计为优雅地处理多视角
它的输入包括tokenized的语言指令、从多个视角捕获的图像序列以及机器人状态序列。输出包括每个视角的未来图像和一个动作轨迹。动作轨迹是通过条件变分自编码器(cVAE)生成的
通过实验证明,生成动作轨迹而不是单步动作对于轨迹平滑和实时性能都至关重要
1.2.3 真实机器人系统与部署
他们的真实机器人系统由一个7自由度的Kinova Gen3机械臂和一个Robotiq 2F-85夹爪组成
此外,他们使用了两台摄像头:一个静态头部摄像头提供工作空间的概览;另一台安装在末端执行器上的摄像头提供夹爪与环境之间交互的特写视图
- GR-2在笛卡尔空间中生成一个动作轨迹
为了确保机器人手臂准确地跟随这一轨迹,且他们开发了一种全身控制(WBC)算法,该算法采用轨迹优化来进行运动跟踪 [20]
生成的轨迹首先经过优化,以提高其平滑性和连续性 - 随后,WBC算法将笛卡尔轨迹转换为低级关节动作,并以200 Hz的频率在真实机器人上执行。此过程将碰撞约束和可操作性整合到优化框架中
1.3 实验与效果论证:现实世界中的多任务学习
1.3.1 微调数据集:5000条轨迹、每个任务大约50条轨迹
他们通过远程操作收集了105个桌面任务的人类演示。这些任务涵盖了8种不同的技能,即拾取、放置、打开盖子、盖上盖子、打开、关闭、按压和倒液,如下图所示
总共,他们收集了大约40,000条轨迹,平均每个任务有400条轨迹。在经过精心挑选的大规模视频数据集上预训练的模型基础上,他们进一步使用该数据集微调了GR-2
- 此外,为了评估在数据稀缺情况下的性能,使用大约1/8的完整数据集训练GR-2(即5000条轨迹),这相当于每个任务大约50条轨迹
为了更好地推广到未见过的场景,他们在微调期间通过在场景中添加新物体和/或更改背景来进行数据增强
且为了将新物体插入场景,他们还训练了一个扩散模型 [22],该模型结合了自收集的物体数据集和开放图像数据集 [23]。该模型使我们能够在指定区域插入特定物体
为了更改背景,利用了Segment Anything Model (SAM) [24]来提取与背景对应的区域 - 最后,使用了一个视频生成模型 [25,即 Latte: Latent diffusion transformer for video generation,详见此文的第一部分 Sora爆火之前,上海人工智能实验室一团队推出Latte],该模型依赖于原始视频和修复后的帧来生成增强视频,同时保留机器人的运动
1.3.2 基本设置、泛化设置、及实验结果
在基本设置上,如下图最左侧所示
首先在两个基本设置下评估GR-2:简单和干扰。在简单设置中,测试环境与训练数据相似。在干扰设置中,在场景中添加了一些干扰物。这变得具有挑战性,因为1)干扰物,尤其是那些与目标物体颜色和/或形状相似的干扰物,可能会使机器人产生混淆,以及2)环境变得更加杂乱,有时需要避免碰撞以完成任务
在泛化设置上,如上图右侧的三个部分所示。为了进一步研究GR-2在未见场景中的能力,他们引入了三个更具挑战性的设置:未见背景、未见环境和未见操作
- 在未见背景中,通过添加两块与训练数据集中原始简单背景非常不同的桌布来改变背景,如上图图3所示
- 对于未见环境,在两个未见的厨房环境中进行评估。除了改变背景,这些环境还包含场景相关干扰项
- 最后,对于未见过的操作,指示机器人执行在其训练数据中未见过的操作。这包括操控未见过类别的物体和未见过的物体实例。由于机器人在训练数据中从未见过这些物体,这种设置极具挑战性。而且,针对未见过类别物体的操作指令进一步增加了难度
定性结果如下图左侧所示
定量结果如下图右侧所示
- 在简单设置下,GR-2在105个任务中达到了97.7%的成功率,展示了其强大的多任务学习能力。它还能稳健地处理干扰因素,并正确关注目标对象
- 在所有设置中,它提高了GR-1的成功率。值得注意的是,它在未见过的背景和未见过的环境中分别达到了71.4%和71.7%的成功率,是GR-1的两倍。通过引入数据增强,GR-2w/ DA能够实现更具竞争力的泛化性能,在未见过的环境中取得了87.0%的成功率
并在所有三个泛化设置中获得了74.7%的平均成功率。在每个任务仅用50条轨迹进行训练时,GR-2在简单设置下仍能实现73.9%的成功率 - 在所有三种泛化设置中,GR-2的表现均优于GR-1。这展示了GR-2在高效适应新任务和环境方面的强大潜力。最终,GR-2在未见过的操作中达到了55.8%的成功率
典型的失败情况包括1) 未能拾取新形状的未见过的物体,以及2) 在被指示拾取未见过的物体时错误地选择了错误的物体
// 待更