百度360必应搜狗淘宝本站头条
当前位置:网站首页 > 编程字典 > 正文

字节具身智能新成果用大规模视频数据训练GR-1,复杂任务轻松应对

toyiye 2024-06-21 12:08 10 浏览 0 评论

机器之心发布

机器之心编辑部

如何利用大规模的视频数据来帮助机器人学习复杂任务?

最近 GPT 模型在 NLP 领域取得了巨大成功。GPT 模型首先在大规模的数据上预训练,然后在特定的下游任务的数据上微调。大规模的预训练能够帮助模型学习可泛化的特征,进而让其轻松迁移到下游的任务上。

但相比自然语言数据,机器人数据是十分稀缺的。而且机器人数据包括了图片、语言、机器人状态和机器人动作等多种模态。为了突破这些困难,过去的工作尝试用 contrastive learning [1] 和 masked modeling [2] 等方式来做预训练以帮助机器人更好的学习。

在最新的研究中,ByteDance Research 团队提出 GR-1,首次证明了通过大规模的视频生成式预训练能够大幅提升机器人端到端多任务操作方面的性能和泛化能力。实验证明这种预训练方法可以大幅提升模型表现。在极具挑战的 CALVIN 机器人操作仿真数据集上,GR-1 在 1) 多任务学习 2) 零样本场景迁移 3) 少量数据 4) 零样本语言指令迁移上都取得了 SOTA 的结果。在真机上,经过视频预训练的 GR-1 在未见过的场景和物体的表现也大幅领先现有方法。

GR-1 在 CALVIN 中连续完成多个任务

GR-1 在真机上端到端完成多种任务

  • 论文地址:https://arxiv.org/abs/2312.13139
  • 论文网站:https://gr1-manipulation.github.io

方法

GR-1 是一个端到端的机器人操作模型,采用了 GPT 风格的 transformer 作为模型架构。GR-1 首先在大规模视频数据上进行视频预测的预训练。预训练结束后,GR-1 在机器人数据上微调。微调的训练任务包含未来帧的预测和机器人动作的预测。


GR-1 用来自 Ego4D [3] 数据的 8M 图片来做视频生成式预训练。在预训练阶段,GR-1 的输入包括视频片段和描述视频的文字。文字信息用 CLIP [4] 的文字编码器编码。视频中的图片用 MAE [5] 编码,然后通过 perciever resampler [6] 来减少 token 的个数。输出端 GR-1 在每一个时间戳通过学习 [OBS] token 来输出未来帧的图片。[OBS] 对应的输出通过一个 transformer 来解码成图片。在预训练阶段,GR-1 采用了 mean squared error (MSE) 的损失函数。

在机器人数据微调阶段,GR-1 的输入包括任务语言指令,机器人状态和观测图片。其中机器人状态包括 6 维机器人位姿和夹抓的开闭状态。机器人状态通过 MLP 来编码。输出包括未来帧的图片和机器人动作。语言和图片的编码方式与预训练阶段相同。输出端 GR-1 通过学习 [ACT] token 来预测下一个时间戳机器人的动作。机械臂动作的损失函数采用 smooth L1 loss;夹抓动作的损失函数采用 binary cross entropy loss。

实验

作者在 CALVIN 仿真平台上做了大量实验来验证 GR-1 的性能。CALVIN 是一个极具挑战性的机器人多任务操作仿真平台。其中包括 34 个通过语言指令的操作任务和 A, B, C, D 四个不同的环境。

在 ABCD->D 实验中,机器人在来自 A, B, C, D 四个环境的数据上训练,并在 D 中测试。在 ABC->D 实验中,机器人在来自 A, B, C 三个环境的数据上训练,并在 D 中测试。这个实验旨在测试 GR-1 应对零样本场景迁移的能力。测试中,机器人需要连续完成 5 个任务。表中展示了不同方法在连续完成 1,2,3,4,5 个任务的成功率和平均完成的任务数量。GR-1 在两个实验中都超过了现有方法并在零样本场景迁移上大幅领先。

该工作还进行了小数据集的实验以理解 GR-1 在数据比较少的时候的表现。在 10% data 实验中,作者把 34 个任务中的每个任务的训练轨迹控制在 66 条。总轨迹数约为 ABCD->D 实验中的 10%。为了测试 GR-1 应对未知语言的能力,作者用 GPT-4 为每个任务生成了 50 条新的未见过的语言指令来测试。GR-1 在小数据集和未知语言指令的设置中都超越了现有方法。

GR-1 真机实验包括了移动物体和开关抽屉,如下图所示:

移动物体实验指令包括将物体移动到盘子 / 桌面上。训练数据中包括移动一个茄子、西兰花和彩椒(如上图最左所示)。作者首先在这些训练数据中见过的物体上做实验。在这个设置下,作者还测试了加入了干扰物背景变化的实验。




作者还在训练数据中未见过的物体上做了实验。未见的物体包括未见过的物体实例(一组在训练数据中未见过的茄子、西兰花和彩椒)和未见过的物体种类(西红柿和黄桃)。




以下为开关抽屉的实验:



如下表所示,GR-1 在真机实验中大幅领先对比的现有方法。

在消融实验中,作者对比了去掉未来帧预测和保留未来帧预测但去掉预训练的模型的能力。结果表明预测未来帧和预训练两者都对 GR-1 学习鲁棒的机器人操作起到了关键作用。在预测动作的同时加入未来帧的预测能帮助 GR-1 学习根据语言指令来预测未来场景变化的能力。这种能力正是机器人操作中需要的:根据人的语言指令来预测场景中应用的变化能够指导机器人动作的生成。而大规模视频数据的预训练则能帮助 GR-1 学习鲁棒可泛化的预测未来的能力

结论

GR-1 首次证明了大规模视频生成式预训练能帮助机器人学习复杂的多任务操作。GR-1 首先在大规模视频数据上预训练然后在机器人数据上进行微调。在仿真环境和真机实验中,GR-1 都取得了 SOTA 的结果,并在极具挑战的零样本迁移上表现出鲁棒的性能。

参考文献

[1] Nair, Suraj, et al. "R3m: A universal visual representation for robot manipulation." arXiv preprint arXiv:2203.12601 (2022).

[2] Xiao, Tete, et al. "Masked visual pre-training for motor control." arXiv preprint arXiv:2203.06173 (2022).

[3] Grauman, Kristen, et al. "Ego4d: Around the world in 3,000 hours of egocentric video." Proceedings of the IEEE/CVF Conference on Computer Vision and Pattern Recognition. 2022.

[4] Radford, Alec, et al. "Learning transferable visual models from natural language supervision." International conference on machine learning. PMLR, 2021.

[5] He, Kaiming, et al. "Masked autoencoders are scalable vision learners." Proceedings of the IEEE/CVF conference on computer vision and pattern recognition. 2022.

[6] Jaegle, Andrew, et al. "Perceiver: General perception with iterative attention." International conference on machine learning. PMLR, 2021.

相关推荐

为何越来越多的编程语言使用JSON(为什么编程)

JSON是JavascriptObjectNotation的缩写,意思是Javascript对象表示法,是一种易于人类阅读和对编程友好的文本数据传递方法,是JavaScript语言规范定义的一个子...

何时在数据库中使用 JSON(数据库用json格式存储)

在本文中,您将了解何时应考虑将JSON数据类型添加到表中以及何时应避免使用它们。每天?分享?最新?软件?开发?,Devops,敏捷?,测试?以及?项目?管理?最新?,最热门?的?文章?,每天?花?...

MySQL 从零开始:05 数据类型(mysql数据类型有哪些,并举例)

前面的讲解中已经接触到了表的创建,表的创建是对字段的声明,比如:上述语句声明了字段的名称、类型、所占空间、默认值和是否可以为空等信息。其中的int、varchar、char和decimal都...

JSON对象花样进阶(json格式对象)

一、引言在现代Web开发中,JSON(JavaScriptObjectNotation)已经成为数据交换的标准格式。无论是从前端向后端发送数据,还是从后端接收数据,JSON都是不可或缺的一部分。...

深入理解 JSON 和 Form-data(json和formdata提交区别)

在讨论现代网络开发与API设计的语境下,理解客户端和服务器间如何有效且可靠地交换数据变得尤为关键。这里,特别值得关注的是两种主流数据格式:...

JSON 语法(json 语法 priority)

JSON语法是JavaScript语法的子集。JSON语法规则JSON语法是JavaScript对象表示法语法的子集。数据在名称/值对中数据由逗号分隔花括号保存对象方括号保存数组JS...

JSON语法详解(json的语法规则)

JSON语法规则JSON语法是JavaScript对象表示法语法的子集。数据在名称/值对中数据由逗号分隔大括号保存对象中括号保存数组注意:json的key是字符串,且必须是双引号,不能是单引号...

MySQL JSON数据类型操作(mysql的json)

概述mysql自5.7.8版本开始,就支持了json结构的数据存储和查询,这表明了mysql也在不断的学习和增加nosql数据库的有点。但mysql毕竟是关系型数据库,在处理json这种非结构化的数据...

JSON的数据模式(json数据格式示例)

像XML模式一样,JSON数据格式也有Schema,这是一个基于JSON格式的规范。JSON模式也以JSON格式编写。它用于验证JSON数据。JSON模式示例以下代码显示了基本的JSON模式。{"...

前端学习——JSON格式详解(后端json格式)

JSON(JavaScriptObjectNotation)是一种轻量级的数据交换格式。易于人阅读和编写。同时也易于机器解析和生成。它基于JavaScriptProgrammingLa...

什么是 JSON:详解 JSON 及其优势(什么叫json)

现在程序员还有谁不知道JSON吗?无论对于前端还是后端,JSON都是一种常见的数据格式。那么JSON到底是什么呢?JSON的定义...

PostgreSQL JSON 类型:处理结构化数据

PostgreSQL提供JSON类型,以存储结构化数据。JSON是一种开放的数据格式,可用于存储各种类型的值。什么是JSON类型?JSON类型表示JSON(JavaScriptO...

JavaScript:JSON、三种包装类(javascript 包)

JOSN:我们希望可以将一个对象在不同的语言中进行传递,以达到通信的目的,最佳方式就是将一个对象转换为字符串的形式JSON(JavaScriptObjectNotation)-JS的对象表示法...

Python数据分析 只要1分钟 教你玩转JSON 全程干货

Json简介:Json,全名JavaScriptObjectNotation,JSON(JavaScriptObjectNotation(记号、标记))是一种轻量级的数据交换格式。它基于J...

比较一下JSON与XML两种数据格式?(json和xml哪个好)

JSON(JavaScriptObjectNotation)和XML(eXtensibleMarkupLanguage)是在日常开发中比较常用的两种数据格式,它们主要的作用就是用来进行数据的传...

取消回复欢迎 发表评论:

请填写验证码