大模型时代的具身智能系列专题(四)

google deepmind团队

谷歌旗下最大的两个 AI 研究机构——地处伦敦 DeepMind 与位于硅谷的 Google Brain 合并成立新部门 Google DeepMind。其将机器学习和系统神经科学的最先进技术结合起来,建立强大的通用学习算法。代表作有AlphaGo,AlphaStar,AlphaFold等。近期在具身智能方面诞生了RT系列的作品。

主题相关作品

  • RT-1
  • RT-2
  • RT-H
  • RT-Trajectory

RT-1

RT1的出现就是为了解决:
• 机器人学习中的泛化问题。尤其是在真实世界控制任务中,模型需要能够处理多样化的任务、环境和对象。
• 机器人数据收集的难度和成本较高问题。训练具有良好泛化能力的学习模型,解决了如何在机器人领域中利用大规模、多样化的任务无关数据集来训练模型的问题
fig1
使用Everyday robots的移动机械手,它有7个自由度的手臂,一个两指夹持器和一个移动底座
fig2
我们的训练数据由人类提供的演示组成,我们用机器人刚刚执行的指令的文本描述来标注每个片段。指令通常包含一个动词和一个或多个描述目标对象的名词。为了将这些指示组合在一起,我们将它们分成许多技能。

tab1
RT-1的Transformer架构模型通过开放式任务无关训练和高容量架构来吸收多样化的机器人数据。RT-1模型结合了FiLM(Feature-wise Linear Modulation)调节的EfficientNet、TokenLearner以及Transformer,以实现高效的推理速度和实时控制的可行性。RT-1 的输入由图片序列、自然语言指令构成,输出由机械臂运动的目标位姿( x, y, z, roll, pitch, yaw)、gripper stαtus 、模式转换指令构成。

robotics transformers

fig

Instruction and image tokenization

使用预训练的EfficientNet和Universal Sentence Encoder来处理图像和文本指令,提取特征。通过FiLM层将图像特征和文本嵌入结合起来,以增强模型对任务相关特征的提取。
6张动作视频历史帧序列(分辨率300×300)输入到预训练的 ImageNet EfficientNet-B3 模型中得到 9×9×512 的 spatial feature map 然后flatten得到81个visual tokens
为了融合语言指令,RT-1 使用 Universal Sentence Encoder(USE)对指令进行 embedding,然后将这个 embedding 作为预训练的FiLM(Feature-wise Linear Modulation)层的输入
RT-1的图像和指令 tokenization 总共有16M的参数,包含26层 MBConv 块和FiLM层,输出 81个 vision-language tokens。

为了包含语言指令,我们以预训练语言嵌入的形式将image tokenizer设置在自然语言指令上,从而允许在早期提取与任务相关的图像特征并提高RT-1的性能。指令首先通过Universal Sentence Encoder(Cer et al., 2018)嵌入。然后将该嵌入用作输入,将identity初始化的FiLM层(Perez等人,2018)添加到预训练的EfficientNet中,以调节图像编码器。通常,将FiLM层插入预训练网络的内部会破坏中间激活,并抵消使用预训练权值的好处。为了克服这个问题,我们初始化稠密层(fc和hC)的权重,使FiLM仿射变换为零,允许FiLM层最初充当恒等并保留预训练权重的函数。我们发现,在没有ImageNet预训练的情况下,使用从头初始化的effentnet进行训练时,identity-initialized FiLM也会产生更好的结果,但它并没有超过上面描述的初始化。

TokenLearner

使用TokenLearner模块来减少Transformer需要处理的token数量,从而提高推理速度
为了进一步压缩需要处理的token数量并加快推理速度,RT-1采用了TokenLearner,这是一个element-wise attention module,它学习如何将大量token映射到更少的token集合中。

fig1
实现思路:
• 计算一个空间注意力图,突出显示重要区域(使用卷积层或 MLP)。
• 然后将这个空间自注意力图应用到输入中,来为每个区域进行不同的加权(忽略不必要的区域),并将结果空间池化,来生成最终学习的 token。
• TokenLearner将来自FiLM-EfficientNet层的81个视觉token降采样到8个最终token,这些token随后被传递给Transformer层。

Decoder-only Transformer

采用Transformer模型来学习图像、文本和动作之间的映射关系,并输出离散化的动作token。
实现思路:
• 将6张图的序列,每张图的8个token concat 成48个token
• 输入到一个decoder-only的Transformer里,包含有8个自注意力层和19M的参数,用于输出action token。

Action tokenization

action token在RT-1中被离散化为256个区间。这包括臂部运动的7个维度(x、y、z、滚转、俯仰、偏航、夹持器开度)和基座运动的3个维度(x、y、偏航)。
RT-系列训练中使用的动作字符串表示。这样一个字符串的例子可以是一系列机器人动作令牌号码,例如“1 128 91 241 5 101 127 217”,其中每个数字代表一个特定的动作区间(旋转、位置变化)。
pos
对所有的 action 进行归一化,然后拼接,得到下面这个轨迹:
fig2

Loss

我们使用标准的分类交叉熵目标和因果mask(早先在基于transformer的controllers上用的)

Inference speed

与许多大型模型的应用(如自然语言或图像生成)相比,需要在真实机器人上实时运行的模型的独特要求之一是快速和一致的推理速度。考虑到执行本工作中所考虑的指令的人类速度(我们测量的速度在2 - 4秒范围内),我们希望模型不会明显慢于此。根据我们的实验,这一要求对应于至少3hz的控制频率和由此产生的模型推理时间预算,给定系统中的其他延迟,小于100ms。

Model selection

通过Real to sim来近似评估跨多任务的模型性能,训练一个retinaGAN将仿真图像转成真实图像:
在这里插入图片描述

RT-2

前作RT1的限制:
• RT1 是纯 low-level controller 的任务,训练的时候不会从互联网规模的丰富语义知识中受益
• 机器人控制数据成本高,数据集小(130k),模型泛化性能差
• 模型参数量少(35M),无法具有理解和推理能力
• PaLM-E 这些又是 high-level planning 的,训练的时候会从互联网规模的丰富语义知识中受益,但是本质上是充当状态机的角色,只是解释命令并将其解析为单个原语(例如拾取和放置对象)

解决思路:
• 利用好PaLM-E 这种预训练的能力来增强泛化能力
○ RT1 只是尽可能地拟合数据集的轨迹,泛化能力有限
○ RT1+PaLM-E 可以找一些更符合人的行为的轨迹
• 即训练一个单一的模型同时具有以下两种能力:
○ 将机器人的观察转换成动作的能力(RT1)
○ 多模态大模型的推理能力(PaLM-E 等)

方法

结合high-level planning 的VLM 和大规模网络数据,使用网络数据和机器人轨迹联合微调SOTA VLM 得到Vision-Language-Action Models,即将大型预训练VLM 的能力直接集成到机器人的low-level control中(或者反过来说),从而促进泛化并实现语义推理的涌现
fig2

Pre-Trained Vision-Language Models(high-level reasoning & planning)

在这里插入图片描述
利用预训练的视觉-语言大模型(PaLI-X(5B & 55B)和PaLM-E(12B)),输入图片序列和文本,产生一个 token序列
1. 大规模数据集:这些模型通常在包含数十亿图像-文本对的大规模数据集上进行预训练,这些数据集涵盖了多种语言和广泛的主题,从而使模型能够学习到丰富的视觉和语义知识。
2. 多模态学习:预训练视觉-语言模型通过同时处理视觉(图像)和文本(描述、问题等)输入,学习到跨模态的表示,这使得模型能够理解和生成与视觉内容相关的自然语言。
3. 强大的基础能力:通过在多样化的互联网数据上进行预训练,这些模型获得了强大的基础能力,包括对象识别、场景理解、属性抽取和复杂的推理任务。
4. 迁移学习:预训练模型的一个关键优势是它们可以通过迁移学习适应特定的下游任务。这意味着在预训练阶段学到的知识可以迁移到新的任务上,通常通过在特定任务的数据上进行微调来实现。
注意:
• PaLM-E 生成连续的是控制指令(high-level instruction),如上图所示,而不是 action,直接output action的工作比如Gato、VIMA、RT-1等
• 文章只是假定了存在一个low-level policy or planner(low-level controller),可以将这些instruction翻译成low-level actions

Robot-Action Fine-tuning

RT-2将预训练的视觉-语言模型(VLMs)进一步训练,使其能够直接控制机器人的动作。这个过程的目标是让模型学会将视觉输入和语言指令映射到具体的机器人动作上,从而实现对机器人的闭环控制。
• 为了使视觉语言模型能够控制机器人,就必须训练它们来输出动作(low-level controller 而不是high-level instruction)
• 7个tokens表示一个动作,同 RT1
• 既学习从state/observation -> action 的映射
• 也能够从互联网的语言、视觉语言数据的大规模预训练中获益(Internet-scale training)
实现
标准的VLM模型可以输出完整的自然语言token;VLA模型需要输出能够被机器人执行的token,因此RT-2限制输出词汇表,仅采样可用的action token来实现对齐
• action 来自于当前图像、语言命令和特定timestep的机器人动作
• 把 action 对齐成 action tokens(同 RT1),这些action tokens 在模型的训练集中被当作自然语言text toekn 一样处理。
• 即:VLM 输出 text token,但是机器人需要 action token
在这里插入图片描述
训练的时候,把 action token 对齐为 text token,变成multimodal sentences放到训练集中,微调(co-finetune) VLM 得到 VLA
• web data:1B图片文本对,包含109种语言
• 机器人数据和RT-1相同,130k条数据;“Pick Object”, “Move Object Near Object”, “Place Object Upright”, “Knock Object Over”, “Open Drawer”, “Close Drawer”, “Place Object into Receptacle”, and “Pick Object from Receptacle and place on the counter”
• 在共同微调阶段,模型被训练来理解和生成这种结合了自然语言和动作标记的序列。模型学习如何根据视觉输入和语言指令生成正确的动作标记序列。
• 与原始web data一起 co-finetune 机器人数据,增加机器人数据集上的采样权重来平衡每个训练批次中robotics data和web data的比率。
推理的时候,transformer自回归生成的tokens会被de-tokenize为action(每一个timestep的action,交由机器人去执行)
这种action tokens和文本tokens对齐的方式在机器人policy中利用了VLM的backbone和pretraining,一定程度转移了泛化性、语义理解、机器人控制方面的推理能力

实验

• 该工作中训练的最大模型有55B参数;
• 可以直接运行在用于实时机器人控制的GPU上;
• 这是到目前为止最大的模型,用于端到端的机器人控制;
• 模型部署在muti-TPU的云服务上,通过网络调用这个服务;
• 最大的模型,RT2-PaLI-X-55B,运行频率1-3Hz;
• 小点的模型,5B参数,可以运行5Hz;
实验目标
• 评估RT-2在已知任务上的表现。
• 测试RT-2对新对象、背景和环境的泛化能力。
• 观察和量化RT-2的新兴能力,包括语义理解和基本推理。
• 研究模型参数数量和其他设计决策对泛化能力的影响。
• 探索RT-2是否能够展示类似于视觉-语言模型的链式推理能力。

指标

fig4
fig6
• 在已知任务上,RT-2与其他基线模型相比没有显著差异。
• 在泛化到新对象、背景和环境的实验中,RT-2比基线模型表现出约2倍的改进。
• 在评估新兴能力的实验中,RT-2在符号理解、推理和人类识别任务上显著优于基线模型。
• 在模型大小和训练策略的消融实验中,发现更大的模型和共同微调策略能够带来更好的泛化性能。

总结

做的事情和大致的思路其实和以前的RT-1, VIMA等模型没啥区别,本质上就是一种将预训练的 PaLM-E 等预训练的 VLM 大模型如何加进这些模型中,不过从VLM finetune、action token对齐text token是比较新的点
限制:
• RT-2可以执行更加复杂的指令,这是因为从自然语言到动作能更容易被理解;但是不能泛化到新的行为上,因为网络上获取的数据只能帮助模型学会更多的视觉语义信息,无法学会新的行为
• 由于机器人数据集总体量级很少,并且无法搜集机器人没有做过的行为
• 可以从人类行为的视频中提取数据
无法实时推理:机器人控制模型需要模型能够实时推理,RT-2参数量太大,无法实时推理。后续工作的重点可以考虑模型量化和蒸馏,加快推理速度。

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

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

相关文章

基于语音识别的智能电子病历(三)之 Soniox

Soniox成立于2020年,目前总部位于美国加州福斯特城,该公司开发了市场上最好的语音识别引擎之一。该公司目前提供市面上领先的云转录引擎之一——这也是audioXpress成功用于采访和一般语音转文本转换的引擎。 专注于语音AI的Soniox在2021年推出了世界上第…

封装,static,代码块,对象的打印

封装,static,代码块,对象的打印 1. 封装1.1 封装的概念1.2 包的概念1.3 访问修饰限定符1.4 被封装的属性如何set和get? 2. static2.1 再谈学生类2.2 static修饰成员变量2.3 static修饰成员方法2.4 static成员变量初始化 3. 代码块…

基于Python的k-means聚类分析算法的实现与应用,可以用在电商评论、招聘信息等各个领域的文本聚类及指标聚类,效果很好

以微博考研话题为例 思路步骤: 数据清洗: 使用pandas读取数据文件,并进行数据清洗和预处理,包括去除重复值、数据替换等。 数据处理实现: 数据处理的过程如下: 数据清洗主要包括去重和数据转换两个步骤…

C++的第一道门坎:类与对象(二)

一.类中生成的默认成员函数详解 0.类的6个默认成员函数 编译器会给类生成六个默认成员函数,在类中即使我们什么都不做,也会自动生成。 默认成员函数:用户没有显式实现,编译器会自动生成的成员函数称为默认成员函数。 下面我们逐…

ubuntu 配置用户登录失败尝试次数限制

前言: 通过修改pam配置来达到限制密码尝试次数! 1:修改 /etc/pam.d/login 配置(这里只是终端登录配置,如果还需要配置SSH远程登录限制,只配置下面的 /etc/pam.d/pam.d/common-auth 即可) vim…

如何克隆非默认分支

直接git clone下来的我们知道是默认分支,那如何克隆其他分支呢: 比如这个,我们想克隆AdvNet。 我们可以在本地文件夹打开Git Bash 依次输入: git clone --branch AdvNet https://github.com/wgcban/SemiCD.git cd SemiCD git b…

【全开源】旅游系统源码(Uniapp+FastAdmin+ThinkPHP)

一款基于UniappFastAdminThinkPHP开发的旅游系统,包含消费者端(手机端)、机构工作人员(手机端)、机构端(PC)、平台管理端(PC)。机构可以发布旅游线路、景点项目&#xff…

计算机网络学习笔记——网络层(b站)

目录 网络层概述 网络层提供的两种服务 ①面向连接的虚电路服务 ②无连接的数据报服务 IPv4 路由选择 路由器转发IP数据报 静态路由选择 动态路由选择 路由信息协议RIP 开放最短路径优先OSPF(Open Shortest Path First) 内部网关协议IGP&…

【MATLAB】数字滤波器的设计

一、引言 在信号处理过程中,所处理的信号往往混有噪声,从接收到的信号中消除或减弱噪声是信号传输和处理中十分重要的问题。根据有用信号和噪声的不同特性,提取有用信号的过程称为滤波,实现滤波功能的系统称为滤波器。在以往的模拟电路中用的…

10.RedHat认证-Linux文件系统(上)

10.RedHat认证-Linux文件系统(上) ⽂件系统,顾名思义,是⼀个组织⽂件的“系统(system)”。file system ⽂件系统是⽤来组织⽂件的,通俗⼀点理解的话,⽂件系统是⽤来存储⽂件的。 硬盘是不能直接存放⽂件或数据。 我们通过将硬…

美光EMMC芯片丝印型号查询 8LK17/D9PSK, OXA17/JY997

问题说明 最近在使用美光EMMC的时候,发现通过芯片丝印查询不到 芯片的规格说明书; 经过查阅资料,发现美光的EMMC芯片 “由于空间限制,FBGA 封装组件具有与部件号不同的缩写部件标记”,需要通过官网查询丝印的FBGA cod…

百度智能云千帆AppBuilder升级!开放多源模型接入,思考模型再次加速!

>>【v0.5.4版本】 上线时间:2024/5/24 关键发版信息: 大模型优化:开放多源模型接入,思考模型再次加速! Agent思考模型:新增AppBuilder专用版模型ERNIE Speed-AppBuilder,自主任务规划…

Euler 欧拉系统介绍

Euler 欧拉系统介绍 1 简介重要节点与版本EulerOS 特色EulerOS 与 openEuler 区别联系Euler 与 HarmonyOS 区别联系 2 openEuler特色支持 ARM,x86,RISC-V 等全部主流通用计算架构融入 AI 生态嵌入式实时能力提升引入 OpenHarmony 一些突出功能 参考 1 简…

BIO/NIO学习

在传送文件的时候常常出现这么一个问题,就是当客户端的文件全部传送完了之后,服务器没有接收到客户端那边传过的停止信号,所以服务器也就跟着客户端停止运行了,我们可以使用 try {socket.shutdownOutput();} catch (IOException e…

VSCode安装platformio插件

文章目录 一、安装VSCode二、安装platformio(一)整理文件夹(二)整理Python环境(三)安装platformio 三、创建ESP8266项目四、使用命令行创建项目五、创建项目太久怎么办六、参考链接 一、安装VSCode VSCode…

这款网站测试工具,炫酷且强大!【送源码】

随着互联网的普及和发展,Web 应用程序的数量也越来越多,各种网络问题也是层出不穷,因而监测这些 Web 应用程序的性能和可用性变得非常重要。 今天的文章,了不起和大家分享一款十分好用的的网站分析项目 - Web-Check。 项目简介 …

xss-labs之level9、level10

一、level9 1、测试分析 尝试了之前的payload,发现都不行,看源码发现多了个strpos函数, strpos() 是一个在 PHP 中用于查找子串首次出现位置的函数。它接受两个参数:要搜索的字符串(主字符串)和要查找的子…

【PHP【实战训练】系统性学习】——最经典的web端头像上传,数据库内容安全精简

👨‍💻个人主页:开发者-曼亿点 👨‍💻 hallo 欢迎 点赞👍 收藏⭐ 留言📝 加关注✅! 👨‍💻 本文由 曼亿点 原创 👨‍💻 收录于专栏&#xff1a…

DSP6657 GPIO中断学习

1 简介 使用创龙板卡的KEY2按键通过中断的方式控制LED3的亮灭 2 中断学习 在C665x设备上,CPU中断是通过C66x CorePac中断控制器进行配置的。该中断控制器允许最多128个系统事件被编程到任意12个CPU可屏蔽中断输入(CPUINT4至CPUINT15)、CPU…

Spring:事务

1. 简介 spring对jdbc进行封装&#xff0c;简化对数据库的操作 2. HelloWorld 1. 搭建模块 2.加入依赖 <dependencies><!--spring jdbc Spring 持久化层支持jar包--><dependency><groupId>org.springframework</groupId><artifactId>s…