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

// 待更

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

Autocad2018

链接: https://pan.baidu.com/s/1MTd0gc5Q5zoKFnPNwk1VXw 提取码: x15v

把握数字化新趋势,迎接生态架构新时代——The Open Group 2024生态系统架构·可持续发展年度大会参会指南

距离大会还有:22天 在数字化转型的浪潮中,如何抓住机遇,实现可持续发展,已成为各行各业关注的焦点。The Open Group 2024生态系统架构可持续发展年度大会,将于2024年11月22日在北京国贸大酒店隆重举行。本次大会汇聚全…

OpenGL入门006——着色器在纹理混合中的应用

本节将理解顶点和片段着色器在纹理混合中的应用 文章目录 一些概念纹理时间依赖动画 实战简介dependenciesshader.fsshader.vsteenager.pngtex.png utilswindowFactory.hshader.hRectangleModel.hRectangleModel.cpp main.cppCMakeLists.txt最终效果 一些概念 纹理 概述&…

Spring Cloud Bus快速入门Demo

1.什么是Spring Cloud Bus? Spring Cloud Bus 是一个用于将分布式系统的节点连接起来的框架,它使用了轻量级消息代理来实现节点之间的通信。Spring Cloud Bus 可以将配置变更事件、状态变更事件和其他管理事件广播到系统中的所有节点,以便于…

通过Wireshark抓包分析,体验HTTP请求的一次完整交互过程

目录 一、关于Wireshark 1.1、 什么是Wireshark 1.2、下载及安装 二、HTTP介绍 2.1、HTTP请求过程介绍 2.2 、TCP协议基础知识 2.2.1、概念介绍 2.2.2、TCP协议的工作原理 2.2.3、三次握手建立连接 2.3.4、四次挥手断开连接 2.3、Wireshark抓包分析过程 2.3.1、三次握…

聚观早报 | 比亚迪腾势D9登陆泰国;苹果 iOS 18.2 将发布

聚观早报每日整理最值得关注的行业重点事件,帮助大家及时了解最新行业动态,每日读报,就读聚观365资讯简报。 整理丨Cutie 11月5日消息 比亚迪腾势D9登陆泰国 苹果 iOS 18.2 将发布 真我GT7 Pro防尘防水细节 小米15 Ultra最快明年登场 …

tomcat 开启远程debug模式

1.修改位置 CATALINA_OPTS"-Xdebug -Xrunjdwp:transportdt_socket,address*:8000,servery,suspendn"2.修改环境变量的方式 apache-tomcat-9.0.86/bin/setenv.sh export JAVA_HOME/opt/jdk1.8.0_171 export CATALINA_HOME/opt/apache-tomcat-9.0.86 export JAVA_OP…

【工具变量】中国制造2025试点城市数据集(2000-2023年)

数据简介:《中国制造2025》是中国ZF于2015年5月8日印发的一项战略规划,旨在加快制造业的转型升级,提升制造业的质量和效益,实现从制造大国向制造强国的转变。该规划是中国实施制造强国战略的第一个十年行动纲领,明确提…

VScode的C/C++点击转到定义,不是跳转定义而是跳转声明怎么办?(内附详细做法)

以最简单的以原子的跑马灯为例: 1、点击CtrlShiftP,输入setting,然后回车 2、输入Browse 3、点击下面C_Cpp > Default > Browse:Path里面添加你的工程路径 然后就可以愉快地跳转定义啦~ 希望对你有帮助,如果还不可以的话&a…

java常用框架介绍

1. Spring Boot 特点:Spring Boot是Spring家族中的一个新成员,它基于Spring 4.0设计,提供了默认配置、简化依赖管理以及内嵌式容器等特性,使得开发者能够快速创建独立的、生产级别的Spring应用。 用途:Spring Boot特别…

Leetcode328奇偶链表,Leetcode21合并两个有序链表,Leetcode206反转链表 三者综合题

题目描述 思路分析 这题的思路就和我们的标题所述一样,可以看作是这3个题的合并,但是稍微还有一点点区别 比如:奇偶链表这道题主要是偶数链在了奇数后面,字节这个的话是奇偶链表分离了 所以字节这题的大概思路就是: …

自监督学习:机器学习的未来新方向

引言 自监督学习(Self-Supervised Learning, SSL)是近年来机器学习领域的一个重要发展方向,迅速成为许多研究和应用的热点。与传统的监督学习不同,自监督学习利用未标注数据,通过设计自我生成标签的任务,帮…

【算法】Prim最小生成树算法

目录 一、思想 二、代码 在阅读本文前推荐优先食用: 【算法】Kruskal最小生成树算法-CSDN博客https://blog.csdn.net/Eristic0618/article/details/143312482?spm1001.2014.3001.5501 一、思想 Kruskal算法基于边的选择,因此更适用于稀疏图。而对于…

CPU用户时间百分比

在计算机系统中,"CPU用户时间百分比(CPU User Time)"是一个性能监控指标,它描述了CPU在用户模式下执行的累积时间与总的CPU时间的比例。这个指标可以帮助我们了解系统在执行用户态程序时的负载情况。下面是一些关于CPU用…

java-智能识别车牌号_基于spring ai和开源国产大模型_qwen vl

用大模型做车牌号识别,最简单高效 在Java场景中,java识别车牌号的需求非常普遍。过去,我们主要依赖OCR等传统方法来实现java识别车牌号,但这些方法的效果往往不稳定。随着技术的发展,现在有了更先进的解决方案——大模…

IoTDB时序数据库使用

简介 Apache IoTDB 是一款低成本、高性能的物联网原生时序数据库。它可以解决企业组建物联网大数据平台管理时序数据时所遇到的应用场景复杂、数据体量大、采样频率高、数据乱序多、数据处理耗时长、分析需求多样、存储与运维成本高等多种问题。 IoTDB官网 1. 连接数据库 官方…

Android camera2

一、序言 为了对阶段性的知识积累、方便以后调查问题,特做此文档! 将以camera app 使用camera2 api进行分析。 (1)、打开相机 openCamera (2)、创建会话 createCaptureSession (3)、开始预览 setRepeatingRequest (4)、停止预览 stopRepeating (5)、关闭…

【设计模式系列】组合模式(十二)

目录 一、什么是组合模式 二、组合模式的角色 三、组合模式的典型应用 四、组合模式在Mybatis SqlNode中的应用 4.1 XML映射文件案例 4.2 Java代码使用案例 一、什么是组合模式 组合模式(Composite Pattern)是一种结构型设计模式,其核…

【Linux 27】HTTP 协议中的 cookie 和 session

文章目录 🌈一、Cookie 的相关概念⭐ 1. Cookie 的概念⭐ 2. Cookie 的工作原理⭐ 3. Cookie 的分类⭐ 4. Cookie 的用途⭐ 5. Cookie 设置的基本格式⭐ 6. Cookie 设置时的注意事项⭐ 7. Cookie 的生命周期⭐ 8. Cookie 的安全性问题 🌈 二、Session 的…

flask小白注意了!当我们通过IP:5000的形式无法访问服务时,大概率问题出在这里!!!

我们在使用Flask开发应用时,通过127.0.0.1:5000 或者localhost:5000访问应用正常,但是当使用本机ip 访问时却出现了 无法访问此网站的错误,如下图: 按照图中的提示,检查了代理服务器和防火墙(包括关闭了电脑…