【具身智能】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)的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!


原文地址:https://blog.csdn.net/Travis_X/article/details/132836542
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.chinasem.cn/article/649849

相关文章

Java的IO模型、Netty原理解析

《Java的IO模型、Netty原理解析》Java的I/O是以流的方式进行数据输入输出的,Java的类库涉及很多领域的IO内容:标准的输入输出,文件的操作、网络上的数据传输流、字符串流、对象流等,这篇... 目录1.什么是IO2.同步与异步、阻塞与非阻塞3.三种IO模型BIO(blocking I/O)NI

基于Flask框架添加多个AI模型的API并进行交互

《基于Flask框架添加多个AI模型的API并进行交互》:本文主要介绍如何基于Flask框架开发AI模型API管理系统,允许用户添加、删除不同AI模型的API密钥,感兴趣的可以了解下... 目录1. 概述2. 后端代码说明2.1 依赖库导入2.2 应用初始化2.3 API 存储字典2.4 路由函数2.5 应

C语言中的数据类型强制转换

《C语言中的数据类型强制转换》:本文主要介绍C语言中的数据类型强制转换方式,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录C语言数据类型强制转换自动转换强制转换类型总结C语言数据类型强制转换强制类型转换:是通过类型转换运算来实现的,主要的数据类型转换分为自动转换

利用Go语言开发文件操作工具轻松处理所有文件

《利用Go语言开发文件操作工具轻松处理所有文件》在后端开发中,文件操作是一个非常常见但又容易出错的场景,本文小编要向大家介绍一个强大的Go语言文件操作工具库,它能帮你轻松处理各种文件操作场景... 目录为什么需要这个工具?核心功能详解1. 文件/目录存javascript在性检查2. 批量创建目录3. 文件

C语言实现两个变量值交换的三种方式

《C语言实现两个变量值交换的三种方式》两个变量值的交换是编程中最常见的问题之一,以下将介绍三种变量的交换方式,其中第一种方式是最常用也是最实用的,后两种方式一般只在特殊限制下使用,需要的朋友可以参考下... 目录1.使用临时变量(推荐)2.相加和相减的方式(值较大时可能丢失数据)3.按位异或运算1.使用临时

使用C语言实现交换整数的奇数位和偶数位

《使用C语言实现交换整数的奇数位和偶数位》在C语言中,要交换一个整数的二进制位中的奇数位和偶数位,重点需要理解位操作,当我们谈论二进制位的奇数位和偶数位时,我们是指从右到左数的位置,本文给大家介绍了使... 目录一、问题描述二、解决思路三、函数实现四、宏实现五、总结一、问题描述使用C语言代码实现:将一个整

C语言字符函数和字符串函数示例详解

《C语言字符函数和字符串函数示例详解》本文详细介绍了C语言中字符分类函数、字符转换函数及字符串操作函数的使用方法,并通过示例代码展示了如何实现这些功能,通过这些内容,读者可以深入理解并掌握C语言中的字... 目录一、字符分类函数二、字符转换函数三、strlen的使用和模拟实现3.1strlen函数3.2st

Go语言中最便捷的http请求包resty的使用详解

《Go语言中最便捷的http请求包resty的使用详解》go语言虽然自身就有net/http包,但是说实话用起来没那么好用,resty包是go语言中一个非常受欢迎的http请求处理包,下面我们一起来学... 目录安装一、一个简单的get二、带查询参数三、设置请求头、body四、设置表单数据五、处理响应六、超

C语言中的浮点数存储详解

《C语言中的浮点数存储详解》:本文主要介绍C语言中的浮点数存储详解,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录1、首先明确一个概念2、接下来,讲解C语言中浮点型数存储的规则2.1、可以将上述公式分为两部分来看2.2、问:十进制小数0.5该如何存储?2.3 浮点

使用Python实现表格字段智能去重

《使用Python实现表格字段智能去重》在数据分析和处理过程中,数据清洗是一个至关重要的步骤,其中字段去重是一个常见且关键的任务,下面我们看看如何使用Python进行表格字段智能去重吧... 目录一、引言二、数据重复问题的常见场景与影响三、python在数据清洗中的优势四、基于Python的表格字段智能去重