【具身智能】RT-2:视觉-语言-动作模型(VLA)

2024-01-27 09:40

本文主要是介绍【具身智能】RT-2:视觉-语言-动作模型(VLA),希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

文章目录

  • 前言
  • 一、视觉-语言-动作(VLA)模型
  • 二、利用 VLM 控制机器人
  • 三、实验
  • 四、 Demo
  • 五、总结


在这里插入图片描述

前言

Robotic Transformer 2(RT-2)是由谷歌 DeepMind 新推出的大语言模型,它为人类提供了通过纯语言命令来优化机器人控制的能力。与此前的大模型不同,RT-2是一种新型的视觉-语言-动作(VLA)模型,它可以从网络和机器人数据中学习,并将这些知识转化为机器人控制的通用指令,帮助机器人在现实环境中完成各种复杂任务,同时提高机器人的适应性和判断推理能力。

高容量的视觉-语言模型(VLM)是在网络规模的数据集上训练的,使得这些系统在识别视觉或语言模式并跨越不同语言方面表现出色。但是,为了使机器人达到类似的能力水平,它们需要首先收集机器人数据,涵盖每个对象、环境、任务和情况。

在RT-2的论文(https://robotics-transformer2.github.io/assets/rt2.pdf)中,作者介绍了这种新型的VLA模型,它可以从网络和机器人数据中学习,并将这些知识转化为机器人控制的通用指令。这种模型不仅保留了网络规模的能力,还可以让机器人在没有先前经验的情况下进行学习和控制。这是一项重要的进步,因为它可以使机器人更加灵活和适应不同的环境和任务。


一、视觉-语言-动作(VLA)模型

Robotic Transformer 2(RT-2)是建立在 Robotic Transformer 1(RT-1)基础上的,这是一个经过多任务演示训练的模型,可以学习机器人数据中看到的任务和对象的组合。RT-2 使用了 RT-1 的演示数据,这些数据是由 13 个机器人在办公室、厨房环境中收集的,历时 17 个月。
在这里插入图片描述

RT-2展示了超越其所接触的机器人数据的泛化能力以及语义和视觉理解能力。这包括解释新命令并通过执行基本推理(例如关于对象类别或高级描述的推理)来响应用户命令。该模型甚至能够使用思维链提示,使其能够执行多阶段的语义推理,,比如找出哪个物体可以临时代替锤子(一块石头)、哪种饮料最适合疲惫的人 (能量饮料)。


二、利用 VLM 控制机器人

RT-2模型基于VLM,接受一个或多个图像作为输入,并生成一系列标记,通常代表自然语言文本。这种类型的VLM已经在处理大规模网络数据方面取得了成功,用于执行视觉问答、图像字幕、对象识别等任务。研究员依靠Pathways Language and Image model(PaLI-X)和Pathways Language model Embodied(PaLM-E)作为RT-2的核心支持。

要实现机器人的控制,则必须训练它以输出动作。为了解决这一挑战,研究员将操作表示为标记(类似于语言标记)在模型输出中,将操作描述为可以由标准自然语言标记生成器处理的字符串,如下所示:

在这里插入图片描述
基于PaLI-X和PaLM-E模型的独特标记方案,我们为动作表示保留了特定的token。机器人的动作以文本字符串形式呈现,这些字符串可以是机器人动作令牌编号的序列,例如[1 128 91 241 5 101 127 217]。这些标记依次表示机器人任务的继续或结束、末端执行器的六自由度位置和旋转位移以及夹持器的使用情况。

通过这种表示方式,我们能够直接微调现有的视觉-语言模型,并将其转换成视觉-语言-动作模型。

在推理过程中,文本token被分解为机器人动作,从而实现了闭环控制。
在这里插入图片描述
在这里插入图片描述


三、实验

研究人员在 RT-2 模型上进行了超过6000次的机器人评估试验,以评估RT-2模型的性能和能力。

RT-2在语义理解和基本推理方面的性能展示在下图中。例如,在任务“把草莓放进正确的碗里”中,RT-2需要理解草莓和碗的表征,并在场景上下文中进行推理,以确定草莓应该与相似的水果放在一起。而在任务“拾起即将从桌子上掉下来的袋子”中,RT-2需要理解袋子的物理属性,以消除两个袋子之间的歧义并识别处于不稳定位置的物体。

需要注意的是,所有这些场景中测试的交互过程在机器人数据中从未出现过。
在这里插入图片描述

为了评估 RT-2 的性能,研究员将它们评估指标分类为:符号理解、推理和人类识别,并评估 RT-2 的两个变体:
RT-2 在PaLM-E(12B 参数)之上进行训练,
RT-2 在PaLI-X之上进行训练(55B 参数)

下图表明在设定的评估指标测试上,RT-2 模型优于之前的 RT-1 和视觉预训练 (VC-1) 基线。
在这里插入图片描述
下图表明的 RT-2 模型的泛化能力也有大约2倍的提升。
在这里插入图片描述
为了更好地理解 RT-2 的不同设计选择如何影响泛化结果,研究员消除了两个最重要的设计决策:

  • 模型尺寸:RT-2 PaLI-X 变体的 5B 与 55B,
  • 训练策略:从头开始训练模型、微调、协同微调。

下面的结果表明了视觉语言模型预训练权重的重要性以及模型泛化能力随着模型大小而提高的趋势。

在这里插入图片描述
另外研究员还在开源语言表基准表上评估 RT-2 ,通过模拟和真实语言表数据来训练 RT-2。除了在模拟基准上实现最先进的结果(90% vs 之前 SoTA 的 77%)之外,我们还在现实世界中评估了生成的模型。我们用以前在语言表数据集中从未见过的对象(例如番茄酱瓶、香蕉等)演示了 RT-2 的泛化能力:
在这里插入图片描述
在这里插入图片描述


四、 Demo

Robotic Transformer 2 (RT-2)|2023【谷歌DeepMind】

谷歌RT-2机器人新AI霸主

五、总结

总的来说,RT-2模型代表了机器人控制领域的一大突破。它将互联网规模的视觉-语言模型的强大知识与机器人控制任务相融合,为我们带来了令人瞩目的进展。这一方法在泛化能力、语义理解以及推理方面都有显著提升,为未来机器人的发展开辟了新的前景。这些更为先进和适应性更强的机器人将能够在各种复杂的现实环境中执行各种任务,从而为人工智能和机器人技术的不断演进做出了巨大贡献。

这篇关于【具身智能】RT-2:视觉-语言-动作模型(VLA)的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/649849

相关文章

GO语言短变量声明的实现示例

《GO语言短变量声明的实现示例》在Go语言中,短变量声明是一种简洁的变量声明方式,使用:=运算符,可以自动推断变量类型,下面就来具体介绍一下如何使用,感兴趣的可以了解一下... 目录基本语法功能特点与var的区别适用场景注意事项基本语法variableName := value功能特点1、自动类型推

GO语言中函数命名返回值的使用

《GO语言中函数命名返回值的使用》在Go语言中,函数可以为其返回值指定名称,这被称为命名返回值或命名返回参数,这种特性可以使代码更清晰,特别是在返回多个值时,感兴趣的可以了解一下... 目录基本语法函数命名返回特点代码示例命名特点基本语法func functionName(parameters) (nam

Go语言连接MySQL数据库执行基本的增删改查

《Go语言连接MySQL数据库执行基本的增删改查》在后端开发中,MySQL是最常用的关系型数据库之一,本文主要为大家详细介绍了如何使用Go连接MySQL数据库并执行基本的增删改查吧... 目录Go语言连接mysql数据库准备工作安装 MySQL 驱动代码实现运行结果注意事项Go语言执行基本的增删改查准备工作

Go语言使用Gin处理路由参数和查询参数

《Go语言使用Gin处理路由参数和查询参数》在WebAPI开发中,处理路由参数(PathParameter)和查询参数(QueryParameter)是非常常见的需求,下面我们就来看看Go语言... 目录一、路由参数 vs 查询参数二、Gin 获取路由参数和查询参数三、示例代码四、运行与测试1. 测试编程路

Go语言使用net/http构建一个RESTful API的示例代码

《Go语言使用net/http构建一个RESTfulAPI的示例代码》Go的标准库net/http提供了构建Web服务所需的强大功能,虽然众多第三方框架(如Gin、Echo)已经封装了很多功能,但... 目录引言一、什么是 RESTful API?二、实战目标:用户信息管理 API三、代码实现1. 用户数据

Go语言网络故障诊断与调试技巧

《Go语言网络故障诊断与调试技巧》在分布式系统和微服务架构的浪潮中,网络编程成为系统性能和可靠性的核心支柱,从高并发的API服务到实时通信应用,网络的稳定性直接影响用户体验,本文面向熟悉Go基本语法和... 目录1. 引言2. Go 语言网络编程的优势与特色2.1 简洁高效的标准库2.2 强大的并发模型2.

Go语言使用sync.Mutex实现资源加锁

《Go语言使用sync.Mutex实现资源加锁》数据共享是一把双刃剑,Go语言为我们提供了sync.Mutex,一种最基础也是最常用的加锁方式,用于保证在任意时刻只有一个goroutine能访问共享... 目录一、什么是 Mutex二、为什么需要加锁三、实战案例:并发安全的计数器1. 未加锁示例(存在竞态)

C语言自定义类型之联合和枚举解读

《C语言自定义类型之联合和枚举解读》联合体共享内存,大小由最大成员决定,遵循对齐规则;枚举类型列举可能值,提升可读性和类型安全性,两者在C语言中用于优化内存和程序效率... 目录一、联合体1.1 联合体类型的声明1.2 联合体的特点1.2.1 特点11.2.2 特点21.2.3 特点31.3 联合体的大小1

Go语言使用select监听多个channel的示例详解

《Go语言使用select监听多个channel的示例详解》本文将聚焦Go并发中的一个强力工具,select,这篇文章将通过实际案例学习如何优雅地监听多个Channel,实现多任务处理、超时控制和非阻... 目录一、前言:为什么要使用select二、实战目标三、案例代码:监听两个任务结果和超时四、运行示例五

C语言中%zu的用法解读

《C语言中%zu的用法解读》size_t是无符号整数类型,用于表示对象大小或内存操作结果,%zu是C99标准中专为size_t设计的printf占位符,避免因类型不匹配导致错误,使用%u或%d可能引发... 目录size_t 类型与 %zu 占位符%zu 的用途替代占位符的风险兼容性说明其他相关占位符验证示