GR2——在大规模视频数据集上预训练且机器人数据上微调,随后预测动作轨迹和视频(含GR1详解)

前言

上个月的24年10.9日,我在朋友圈看到字节发了个机器人大模型GR2,立马去看了下其论文(当然了,本质是个技术报告)

那天之后,我就一直想解读这个GR2来着

然,意外来了,如此文《OmniH2O——通用灵巧且可全身远程操作并学习的人形机器人(其前身H2O是HumanPlus的重要参考)》开头所说

由于我司「七月在线」自今年年初以来,一直在针对各个工厂、公司、客户特定的业务场景,做解决方案或定制开发,所以针对每一个场景,我们都会反复考虑“用什么样的机器人、什么样的技术方案”做定制开发

  1. 于此,便不可避免的追踪国内外最前沿的机器人技术进展,本来准备在上一篇博客《VLM驱动机器狗——从UMI on Legs到Helpful DoggyBot:分别把机械臂装到机器狗背上、夹爪装到机器狗嘴里》之后,解读今天上午看到的字节刚发的机器人大模型GR2

    当时,还发微博说,“头一次看paper不看正文,而是直奔其References:​看有没有我预想中的文献,说明咱看paper的能力相比去年强很多了
  2. 没想到晚上,一在上海一机器人公司的朋友,又发我了一个链接:OmniH2O: Universal and Dexterous Human-to-Humanoid Whole-Body Teleoperation and Learning,并说这个挺可以的

在字节机器人大模型GR2之前,故先解读这个OmniH2O及其前身H2O

  1. 可在解读OmniH2O的过程中,发现了MDM这个方法挺有用的,包括后续的RobotMDM,加之还有朋友私我UCSD的Exbody相关的问题,故又去写了这篇文章
    从MDM、RobotMDM到UCSD的Exbody——人体运动扩散模型:赋能机器人的训练
  2. 后来,再考虑到想阐述清楚GR2,则得先阐述好通过学习人类视频训练机器人的方法,于是又去写了下面这篇SeeDo(其实在SeeDo之前,我还写了篇对OpenAI o1的解读,我可太忙了,^_^)
    从视频中学习的SeeDo:VLM解释视频并生成规划、代码(含通过RGB视频模仿的人形机器人OKAMI、DexMV)
  3. 然机器人领域实在是发展太快了,我自己在视频号上看到了iDP3(且友人丁研究员也和我说了这个iDP3),于此便有了本文
    iDP3——改进3D扩散策略以赋能人形机器人的训练:不再依赖相机校准和点云分割(含DP3、Diff-Control、ControlNet详解)
  4. 再后来,又和友人丁研究员在交流UMI、fastumi的过程中,聊到了清华高阳团队的一篇论文
    于此,又有了这篇文章
    机器人领域中的scaling law:通过复现斯坦福机器人UMI——探讨数据规模化定律(含UMI的复现关键)
  5. 最后,昨天看到了UC伯克利的HIL-SERL,于此,又有了这篇对HIL-SERL的解读
    HIL-SERL——UC伯克利提出的通用灵巧机器人框架:结合视觉和人类示教与纠正的RL方法(可组装电脑主板和插拔USB)

真是疯狂的10月份

  • 一方面,我和项目组各种疯狂推进我司各个大模型项目的开发(继论文审稿、翻译、修订之后,正在推进论文对话、idea提炼,以及针对视频的字幕生成、视频总结、视频VLM问答)
  • 一方面,我疯狂解读各个机器人paper
    毕竟,无论想搞啥,比如机器人,当看了一个领域的100篇paper之后,算法上便基本没有太多秘密了,毕竟,很多是工程优化的问题
    当然了,为免歧义,秘密还是有的 只是没有太多了,所以得始终不断追最前沿paper

好在如今总算可以写字节的这个GR2

第一部分 GR-2:具备网络规模知识的生成式视频-语言-动作模型

1.1 GR1

之前的工作GR-1[5]中利用大规模文本-视频数据进行视频生成预训练。他们的动机是他们相信视频包含有关环境动态以及环境应如何根据文本描述演变的宝贵信息,而这些信息可以在下游策略学习中促进动作预测

与GR-1[5]相比,GR-2将预训练视频的数量从800万扩展到3800万,从而在各种未见过的场景中提升了泛化能力

// 待更

1.2 GR2的两阶段训练与其在真实机器人上的部署

1.2.1 GR2的两阶段训练:视频生成预训练和机器人数据微调

由于在视频生成上进行预训练可以有效地将视频中的有价值知识转移到策略学习中,从而提高动作预测能力

他们在一个广泛的视频数据集上对GR-2进行了预训练,该数据集涵盖了不同背景下(家庭、户外、工作场所、休闲等)的多样化日常人类活动

主要的预训练目标很简单:给定一个文本描述和一个视频帧,模型根据文本预测后续帧。通过掌握这一自回归预测任务,可以让模型用于捕捉关键的时间动态和语义信息

如下图所示,GR-2 经过两个训练阶段:视频生成预训练和机器人数据微调

最终,通过对机器人轨迹的微调,GR-2展示了学习多种操作任务并适应新场景的能力,包括新的背景、环境、物体和任务。值得注意的是,GR-2能够高效地从仅有5,000条轨迹的数据集中学习超过100项任务(平均每项任务50条轨迹)

且R-2基于GR-1 [5]进行了几个关键改进

  1. GR-2在3800万条文本-视频数据(超过500亿个token)上进行了预训练,能够完成超过100项操作任务,并执行超过100个物体的抓取任务。它显著扩大了预训练数据和任务的数量
  2. 开发了一种新颖的模型架构,使得从预训练中获得的知识可以无损地无缝转移到下游微调。该模型在处理多任务和具有挑战性的泛化环境中表现出强大的可扩展性
  3. 为了在真实机器人上进行部署,他们引入了一种全身控制WBC)算法,该算法结合了轨迹优化和实时运动跟踪

具体来说,他们希望训练一个通用策略\pi,它将语言指令l、环境观察序列\mathbf{O}_{t-h: t}和机器人状态序列\mathbf{S}_{t-h: t}作为输入,该策略以端到端的方式输出一个动作轨迹\mathbf{a}_{t: t+k}

\mathbf{a}_{t: t+k}=\pi\left(l, \mathbf{o}_{t-h: t}, \mathbf{s}_{t-h: t}\right)

其中,hk分别表示观测历史和动作轨迹的长度

1.2.2 模型与训练:先预训练、后微调,最后通过CVAE生成动作轨迹

如之前所述,GR-2是一种以语言为条件的GPT风格视觉操作策略模型(包含230M个参数,其中95M是可训练的),训练过程分为两个阶段:

  • 视频生成预训练
    在预训练阶段,在一个精心挑选的大规模视频数据集上训练GR-2
  • 机器人数据微调
    之后,在机器人数据上微调GR-2,以同时预测动作轨迹和视频

\pi\left(l, \mathbf{o}_{t-h: t}, \mathbf{s}_{t-h: t}\right) \rightarrow \mathbf{o}_{t+1}, \mathbf{a}_{t: t+k}

但在预训练之前,需要先解决数据输入的问题

GR-2的输入包括语言指令、一系列视频帧和一系列机器人状态,过程中,他们

  1. 对于语言指令
    使用一个冻结的文本编码器 [Learning transferable visual models from natural language supervision,说白了,就是CLIP,关于CLIP的介绍详见此文的第一部分] 来对语言指令进行tokenize
  2. 对于视频中的图像帧
    使用 VQGAN [7,即Taming transformers for high-resolution image synthesis] 将每个图像转换为离散的token
    VQGAN 在大量互联网数据以及领域内的机器人数据上进行训练,并在训练过程中保持冻结。这种方法有助于快速训练并支持生成高质量的视频
  3. 对于机器人状态
    其包含末端执行器的位置和旋转,以及二元夹持器状态。这些状态通过线性层进行编码,这些层在微调阶段是可训练的

解决了输入的问题之后,接下来便可以做两阶段训练:即先预训练,后微调

  • 在预训练阶段的目标是让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被设计为优雅地处理多视角

    它的
    \rightarrow  输入包括tokenized的语言指令、从多个视角捕获的图像序列以及机器人状态序列
    \rightarrow  输出包括每个视角的未来图像和一个动作轨迹

    动作轨迹是通过条件变分自编码器CVAE生成的
    通过实验证明,生成动作轨迹而不是单步动作对于轨迹平滑和实时性能都至关重要

1.2.3 真实机器人系统与部署

他们的真实机器人系统由一个7自由度的Kinova Gen3机械臂和一个Robotiq 2F-85夹爪组成

此外,他们使用了两台摄像头:一个静态头部摄像头提供工作空间的概览;另一台安装在末端执行器上的摄像头提供夹爪与环境之间交互的特写视图

  1. GR-2在笛卡尔空间中生成一个动作轨迹
    为了确保机器人手臂准确地跟随这一轨迹,且他们开发了一种全身控制WBC算法,该算法采用轨迹优化来进行运动跟踪 [20]
    生成的轨迹首先经过优化,以提高其平滑性和连续性
  2. 随后,WBC算法将笛卡尔轨迹转换为低级关节动作,并以200 Hz的频率在真实机器人上执行。此过程将碰撞约束和可操作性整合到优化框架中

1.3 实验与效果论证:现实世界中的多任务学习

1.3.1 微调数据集:5000条轨迹、每个任务大约50条轨迹

他们通过远程操作收集了105个桌面任务的人类演示。这些任务涵盖了8种不同的技能,即拾取、放置、打开盖子、盖上盖子、打开、关闭、按压和倒液,如下图所示

总共,他们收集了大约40,000条轨迹,平均每个任务有400条轨迹。在经过精心挑选的大规模视频数据集上预训练的模型基础上,他们进一步使用该数据集微调了GR-2

  1. 此外,为了评估在数据稀缺情况下的性能,使用大约1/8的完整数据集训练GR-2(即5000条轨迹),这相当于每个任务大约50条轨迹

    为了更好地推广到未见过的场景,他们在微调期间通过在场景中添加新物体和/或更改背景来进行数据增强
    \rightarrow  且为了将新物体插入场景,他们还训练了一个扩散模型 [22],该模型结合了自收集的物体数据集和开放图像数据集 [23]。该模型使我们能够在指定区域插入特定物体
    \rightarrow  为了更改背景,利用了Segment Anything Model (SAM) [24]来提取与背景对应的区域
  2. 最后,使用了一个视频生成模型 [25,即 Latte: Latent diffusion transformer for video generation,详见此文的第一部分 Sora爆火之前,上海人工智能实验室一团队推出Latte],该模型依赖于原始视频和修复后的帧来生成增强视频,同时保留机器人的运动
    Finally, we employ a video generation model [25] that conditions on the original video and the inpainted frame to producean augmented video while preserving the robot motion

1.3.2 基本设置、泛化设置、及实验结果

在基本设置上,如下图最左侧所示

首先在两个基本设置下评估GR-2:简单和干扰。在简单设置中,测试环境与训练数据相似。在干扰设置中,在场景中添加了一些干扰物。这变得具有挑战性,因为1)干扰物,尤其是那些与目标物体颜色和/或形状相似的干扰物,可能会使机器人产生混淆,以及2)环境变得更加杂乱,有时需要避免碰撞以完成任务

在泛化设置上,如上图右侧的三个部分所示。为了进一步研究GR-2在未见场景中的能力,他们引入了三个更具挑战性的设置:未见背景、未见环境和未见操作

  • 在未见背景中,通过添加两块与训练数据集中原始简单背景非常不同的桌布来改变背景,如上图图3所示
  • 对于未见环境,在两个未见的厨房环境中进行评估。除了改变背景,这些环境还包含场景相关干扰项
  • 最后,对于未见过的操作,指示机器人执行在其训练数据中未见过的操作。这包括操控未见过类别的物体和未见过的物体实例。由于机器人在训练数据中从未见过这些物体,这种设置极具挑战性。而且,针对未见过类别物体的操作指令进一步增加了难度

定性结果如下图左侧所示

定量结果如下图右侧所示

  1. 在简单设置下,GR-2在105个任务中达到了97.7%的成功率,展示了其强大的多任务学习能力。它还能稳健地处理干扰因素,并正确关注目标对象
  2. 在所有设置中,它提高了GR-1的成功率。值得注意的是,它在未见过的背景和未见过的环境中分别达到了71.4%和71.7%的成功率,是GR-1的两倍。通过引入数据增强,GR-2w/ DA能够实现更具竞争力的泛化性能,在未见过的环境中取得了87.0%的成功率

    并在所有三个泛化设置中获得了74.7%的平均成功率。在每个任务仅用50条轨迹进行训练时,GR-2在简单设置下仍能实现73.9%的成功率
  3. 在所有三种泛化设置中,GR-2的表现均优于GR-1。这展示了GR-2在高效适应新任务和环境方面的强大潜力。最终,GR-2在未见过的操作中达到了55.8%的成功率

    典型的失败情况包括1) 未能拾取新形状的未见过的物体,以及2) 在被指示拾取未见过的物体时错误地选择了错误的物体

1.3.3 CALVIN基准测试

CALVIN是一个模拟基准,旨在针对长时间跨度的语言条件下的机器人操作[21]。它包括34个任务,并结合了不受限制的语言指令

作者在ABCD-D分割上进行实验,该分割包含超过20,000个针对34种不同操作任务的专家演示。根据[21],对1,000个独特的指令链序列进行评估

对于每个序列,GR-2被指示连续执行5个任务。下图图10显示了连续完成1、2、3、4和5个任务的成功率以及平均长度

  1. 平均长度是一个综合评价指标,显示了机器人在1,000个评估序列中能够按顺序完成的任务的平均数量
    他们与五种最先进的基线方法进行了比较:RT-1 [15]、MT-ACT [26]、HULC [27]、RoboFlamingo [28]和GR-1 [5]

    \rightarrow  RT-1 [15]是一种语言条件多任务策略,通过FiLM层对语言条件进行编码
    \rightarrow  MT-ACT [26]同样使用FiLM层注入语言条件,并利用动作分块transformer解决动作数据中的多模态问题
    \rightarrow  HULC [27]是一种分层方法,首先在潜在空间中预测计划,并使用预测的计划生成动作
    \rightarrow  RoboFlamingo [28]在机器人数据上微调了一个大型预训练视觉语言模型,以执行语言条件操控

    最终,GR-2建立了新的技术标准。它在成功率和平均长度方面优于所有比较的基线方法。它将GR-1的1个任务成功率从94.9%提高到98.6%,5个任务成功率从73.1%提高到85.9%。平均长度从4.21增加到4.64

1.3.4 自回归视频生成

GR-2在大量多样化的视频上进行了预训练,使其能够预测图像空间内的未来状态。因此,这种视频生成能力可以有效地作为动作生成的规划器

也就是说,在生成视觉轨迹之后,可以基于视觉轨迹推断出动作轨迹

为了进一步研究这一设计的有效性,对视频预测结果进行了可视化,并与相应的实际展开进行了比较。他们展示了多任务学习「比如下图图12,其中体现了视频预测 (Pred) 和真实值 (GT) 的展示 13」、端到端箱子拾取(图14 15)和CALVIN(图16 17)的展开可视化

GR-2能够生成高质量的视频及其对应的动作。作者强调生成的视频能够忠实地与真实世界中的展开过程保持一致。这表明预测的动作正在尝试“重现”预测视频中的轨迹。这个特性带来了一个简单的方法,通过迭代改进视频生成来持续改进动作预测

// 待更

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.rhkb.cn/news/464458.html

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Hive自定义函数—剔除周日周六(小时级别)

🐱背景🍎 Hello,小伙伴们,许久不见,最近遇到一个需求场景,关于物流时差的计算,要求算出差值是小时,且要剔除周日周六,网上很多文章,最好的也就是按照天剔除周…

C++中的继承——第二篇

一、继承与友元 友元关系不能够继承(就像父亲的朋友不一定是自己的朋友) 具体实现起来就是父类的友元可以访问父类的成员,但是不可以访问子类的成员 二、继承与静态成员 子类的静态成员变量本质上与父类的是同一份,存储在静态…

02多线程基础知识

目录 1. 线程与进程 进程(Process) 线程(Thread) 2. 并发和并行 并发(Concurrency) 并行(Parallelism) 3. CPU 调度 定义 类型 调度算法 上下文切换 4.线程间的状态流转…

基于SpringBoot+Gpt个人健康管家管理系统【提供源码+答辩PPT+参考文档+项目部署】

作者简介:✌CSDN新星计划导师、Java领域优质创作者、掘金/华为云/阿里云/InfoQ等平台优质作者、专注于Java技术领域和学生毕业项目实战,高校老师/讲师/同行前辈交流。✌ 主要内容:🌟Java项目、Python项目、前端项目、PHP、ASP.NET、人工智能…

Kotlin by lazy和lateinit的使用及区别

在 Kotlin 中,lateinit 和 by lazy 都可以用来延迟初始化变量,但它们有不同的适用场景和使用方式。下面详细介绍它们的用法和区别。 1.lateinit lateinit 关键字用于延迟初始化 可变属性 (var),主要用于那些在声明时不能立即初始化&#xf…

提高文本处理效率:精通awk命令中的$NF

在AWK编程语言中,$NF是一个特定的变量,用于引用当前处理记录中的最后一个字段值。这里的NF是AWK的一个内置变量,表示当前记录所含字段的数量。通过使用$NF,可以直接获取到与NF数值相对应的那个字段的具体内容。 示例使用 以下文件…

通讯学徒学习日记

本章内容为 长期更新模式,目前入职的第三天,学徒状态。 文章目录 前言开始接水晶头、接光纤水晶头接光纤 PON(GPON 、EPON)AON 和 PON 的详解AONPON 前言 编程虽然是爱好,但确实也想把这份爱好变成工作。但是对于目前刚…

SpringBoot在线教育系统:集成第三方服务

5系统详细实现 5.1 普通管理员管理 管理员可以对普通管理员账号信息进行添加修改删除操作。具体界面的展示如图5.1所示。 图5.1 普通管理员管理界面 5.2 课程管理员管理 管理员可以对课程管理员进行添加修改删除操作。具体界面如图5.2所示。 图5.2 课程管理员管理界面 5.3 …

【用Java学习数据结构系列】泛型上界与通配符上界

看到这句话的时候证明:此刻你我都在努力 加油陌生人 个人主页:Gu Gu Study 专栏:用Java学习数据结构系列 喜欢的一句话: 常常会回顾努力的自己,所以要为自己的努力留下足迹 喜欢的话可以点个赞谢谢了。 作者&#xff…

backtrader下的轮动策略模板,附年化20.6%的策略源码。

原创内容第700篇,专注量化投资、个人成长与财富自由。 原创日更700天,回首向来萧瑟处,也无风雨也无晴。 但行好事,莫问前程,持续改1%,为社群的同学们提供价值。 今天我们实现backtrader下的轮动策略模板…

B2109 统计数字字符个数

B2109 统计数字字符个数 #include <iostream> using namespace std; # include <string.h> #include <ctype.h> #include <algorithm> int main(){ char str[256]; cin.getline(str,256); //fgets(str,256,stdin); int cnt 0; //for(size_t i 0…

使用AWS Lambda构建无服务器应用程序

&#x1f493; 博客主页&#xff1a;瑕疵的CSDN主页 &#x1f4dd; Gitee主页&#xff1a;瑕疵的gitee主页 ⏩ 文章专栏&#xff1a;《热点资讯》 使用AWS Lambda构建无服务器应用程序 AWS Lambda 简介 创建 AWS 账户 创建 Lambda 函数 配置触发器 编写和测试代码 示例代码&am…

如何在Word的表格中一次性插入多行?

当我们想在Word中的表格中一次性插入多行时&#xff0c;却发现内置的插入功能并没有插入行数选项。 此时我们只需要选择多行&#xff0c;例如&#xff0c;选择5行&#xff0c;以同样的步骤插入&#xff0c; 在下方就新增了5行。 同理&#xff0c;插入其他自定义行数。

【ACM出版,EI稳定检索,九大高校联合举办, IEEE Fellow支持】2024年计算机视觉与艺术研讨会(CVA 2024,11月29-12月1日)

大会官网&#xff1a;www.icadi.net (CVA为ICADI分会&#xff0c;网站沿用主会议&#xff1b;议程、出版将以主会为准&#xff09; 大会时间&#xff1a;2024年11月29-12月1日 大会地点&#xff1a;中国-天津 终轮截稿&#xff1a;2024年11月22号&#xff08;特殊情况联系会…

火山引擎VeDI数据服务平台:在电商场景中,如何解决API编排问题?

01 平台介绍 数据服务平台可以在保证服务高可靠性和高安全性的同时&#xff0c;为各业务线搭建数据服务统一出口&#xff0c;促进数据共享&#xff0c;为数据和应用之间建立了一座“沟通桥梁”。 同时&#xff0c;解决数据理解困难、异构、重复建设、审计运维困难等问题&#x…

网付碰一下支付系统功能分享来了!

随着碰一下支付代理骗局的持续曝光&#xff0c;越来越多的人都开始将目光转向了碰一下支付系统源码部署这一入局方式之上&#xff0c;使得这一项目愈加火爆的同时&#xff0c;也让网付等头部聚合支付公司成为了大家关注的焦点&#xff0c;连带着网付碰一下支付系统有哪些功能这…

ElasticSearch学习篇16_《检索技术核心20讲》进阶篇之空间检索

背景 学习极客实践课程《检索技术核心20讲》https://time.geekbang.org/column/article/215243&#xff0c;文档形式记录笔记。 相关问题&#xff1a; 查询范围固定的需求 直接计算两点之间距离区域二进制编码GeoHash编码 查询范围不固定的需求 GeoHash编码索引结构设计 基于…

SSH详解

一、SSH 引入 在使用 https 协议访问我们的 Gitee 库的时候&#xff0c;如果我们想要克隆一个私有库&#xff0c;或者说想要使用 git push&#xff0c;我们都需要输入账户账号和密码&#xff0c;这样十分繁琐而且很不安全。 虽然我们可以使用 Git for Windows 的 Git Credent…

互联网大厂钟爱的压测工具分享,战绩可查!

双11来了&#xff0c;又到了一些互联网大厂技术团队疯狂&#xff08;~~加班&#xff09;~~备战的紧张时刻。 今天&#xff0c;为大家带来一期“互联网大厂亲测的压测工具分享”&#xff0c;并在结尾附上30天SaaS版免费体验&#xff01; 压力测试相比于监控而言&#xff0c;是…

mac-泛洪

泛洪攻击的类型 TCP SYN Flood&#xff1a; 攻击者向目标服务器发送大量的 TCP SYN 请求&#xff0c;但不完成握手过程。服务器为每个请求分配资源&#xff0c;最终可能耗尽其连接表&#xff0c;导致无法处理正常请求。 UDP Flood&#xff1a; 攻击者向目标发送大量的 UDP 数据…