当前位置: 首页 > news >正文

具身智能controller---RT-1(Robotics Transformer)(中---实验介绍)

6 实验

实验目的是验证以下几个问题:

  1. RT-1可以学习大规模指令数据,并且可以在新任务、对象和环境上实现zero-shot的泛化能力?
  2. 训练好的模型可以进一步混合多种其他数据(比如仿真数据和来自其他机器人的数据)吗?
  3. 多种方法如何对long-horizon的机器人场景实现泛化?
  4. 泛化度量如何随着数据数量和数据多样性变化?
  5. 在设计模型方面重要和实践的决策应该是什么?他们又将如何影响性能和泛化性?

6.1 实验设置

机器人环境
机器人训练数据的采集是在一个环境下的,示教共13个机器人采集,然后会放在另外两个不同的环境中进行验证。
Seen task performance:即在训练过的任务上来评测,但这类数据也存在一定的变化(如机器人位置,物体位置不同等),一共测试了超过200个任务: 36物体抓取任务, 35敲击物体的任务, 35摆放物体的任务,48个移动物体的操作,18个开关不同抽屉的任务和36个从抽屉中取出或者放置物体的任务;
Unseen tasks generalization:在21个未见的指令任务上进行了测试,这里的未见是指组合任务未见,但拆分的动作和目标对象是见过的;
Robustness:进行了30个任务对错误诱导的鲁棒性验证实验和22个背景鲁棒性验证实验,如下图所示:
干扰Long-horizon scenarios: 测试了机器人需要执行一些列技能的场景,在两个厨房场景中测试了15个这样的任务,每个任务需要约10个步骤,这些步骤由Saycan系统根据高层指令自动产生,然后由RT-1执行。

数据
本工作的目标是建立一个高性能机器人控制系统,,对新任务具有一定的通用性,并对背景和干扰选项具有鲁棒性,因此需要采集大量的机器人数据集,包括多任务、对象和环境。原始数据集包含约130k机器人示教,在13个机器人上耗时17个月采集;当前的技能包括:抓取,放置,开关抽屉,从抽屉取放东西, 直立地放置细长东西,将他们锁住,抽出餐巾纸和打开瓶罐,同时技能的扩充是很容易的,随着需求扩增数据即可。
数据

6.2 RT-1是否可以学习大规模指令数据,并且可以在新任务、对象和环境上实现zero-shot的泛化能力?

为回答这个问题,首先和先前的几个工作(Gato, BC-Z, BC-Z XL)进行对比比较,实验结果表明本方法具有更好的性能和泛化性;
为了进一步验证泛化能力,我们在厨房环境中进行实验,首先根据真实厨房环境与训练环境的差异,将其划分成L1-L3三个等级,L1表示对新的案台上面布局和不同光照条件的通用性,L2表示额外有未见过的诱导物体,L3表示额外有较大的新未见任务设置,未见物体或者未见位置,然后对比不同方法在这三种场景下的成功率。
实验对比泛化性

6.3 训练好的模型可以进一步混合多种其他数据(比如仿真数据和来自其他机器人的数据)吗?

设计了两大类实验:(1) RT-1同时在真实数据和仿真数据上进行训练和测试 (2) RT-1在大规模不同任务上机芯训练,这些数据来自不同机器人,实验结果如下:
sim+real使用多个机器人数据训练

6.4 多种方法如何对long-horizon的机器人场景实现泛化?

在Saycan的框架下验证RT-1在long-horizon任务上的泛化能力。另外因为移动操作任务同时需要导航和操作,因此策略对底盘位置的鲁棒性也很重要(底盘可能无法到达期望位置,这时机械臂需要一定的鲁棒性)。
long horizon任务

6.5 泛化度量如何随着数据数量和数据多样性变化?

此部分对数据集的大小和多样性进行消融实验,因为数据在传统数据受限的机器人学习中扮演着重要的作用。同时由于数据采集是很昂贵的,了解什么样的数据有助于模型实现特定性能和泛化性也是很重要的。
数据泛化性
数据增长

D4 模型消融实验:在设计模型方面重要和实践的决策应该是什么?他们又将如何影响性能和泛化性?

可能的性能提升猜想包括(i) 模型的容量和表征能力,可以通过消融模型大小和试用其他结构来验证(e.g., 移除Transformer部分); (ii)特定的动作表征, 可以使得表征复杂的多模态动作分别更容易,可以通过转向连续(正态分布)动作,或者自回归动作表征; (iii) ImageNet预训练权重初始化,可以通过随机初始化进行验证;(iv)短历史帧输入,可以通过减少观测历史来验证。更具体地,消融实验包括(1)减少模型大小(参数了从 35M 降低到 21M), (2) 移除Transformer结构 (使用一个预训练的EfficientNet), (3)使用连续的动作空间(使用MSE损失和 多变量正太分布输出(multivariate normal output)), (4) 自回归训练动作, (5)移除ImageNet的预训练权重初始化, and (6) 移除历史(将历史6帧观测减少到当前单帧)。
模型消融实验

7 结论,局限和未来工作

结论

  1. RT-1在超过700个指令任务上达到97%的成功率,同时对新任务,物体和环境具有比之前工作更好的泛化性;.
  2. RT-1可以成功吸收多种数据,来自仿真环境或者其他机器人,不会牺牲在原来任务上面的性能,同时改进了对新场景的泛化性;
  3. 展示了这种性能和通用性如何可以被应用到SayCan框架中执行最多可达50步的long-horizon任务。

局限

  1. RT-1是一种模仿学习的方法,因此也继承了该类方法的缺陷,如无法超越示教者的能力;
  2. 对未见新指令的泛化性来自于以前见过的概念组合,对完全未见的指令任务不具备泛化性;
  3. 我们的方法应用在大规模但并不灵巧的操作任务.

未来工作

  1. 通过开发允许非专家来训练机器人的方法来加快机器人技能的扩充;
  2. 当前RT-1对错误诱导的鲁棒性很好,其对背景和环境的鲁棒性可以通过增加环境的多样性来提升;已有工作见diffusion-rosie;
  3. 通过可扩展的注意力和记忆来提升反应速度和文本记忆。

个人见解
RT-1模型上最大的创新在于使用了Transformer网络,其架构上也方便进行scale,比如输出可以按需增加或者减少,同时足以容纳足够多的训练数据,另外就是用充足的实验证明了机器人利用模仿学习里的BC训练方法可以从大量数据中学习到较泛化的能力,突出了数据的重要性,指引了通用机器人的一个研发方向。

相关文章:

具身智能controller---RT-1(Robotics Transformer)(中---实验介绍)

6 实验 实验目的是验证以下几个问题: RT-1可以学习大规模指令数据,并且可以在新任务、对象和环境上实现zero-shot的泛化能力?训练好的模型可以进一步混合多种其他数据(比如仿真数据和来自其他机器人的数据)吗?多种方…...

无涯教程-jQuery - load( url, data, callback)方法函数

load(url,data,callback)方法从服务器加载数据,并将返回的HTML放入匹配的元素中。 load( url, [data], [callback] ) - 语法 [selector].load( url, [data], [callback] ) 这是此方法使用的所有参数的描述- url - 包含请求发送到…...

【Shell】Shell编程之免交互

免交互:不需要人为控制就可以完成的自动化操作 自动化运维 Shell脚本和免交互是一个概念,但是两种写法 here document 使用i/o重定向的方式将命令的列表提供给交互式的程序或者命令 是一种标准输入,只能接受正确的指令或命令&#x…...

从Vue2到Vue3【七】——Vue2中响应式原理的实现及其缺陷

系列文章目录 内容链接从Vue2到Vue3【零】Vue3简介从Vue2到Vue3【一】Composition API(第一章)从Vue2到Vue3【二】Composition API(第二章)从Vue2到Vue3【三】Composition API(第三章)从Vue2到Vue3【四】C…...

用C语言实现堆排序算法

1.设计思路 排序的思想将一个数组按递增的顺序进行排序,将数组的第一个位置空下(下标为0),因为会导致子节点和本身同一个结点(i和2i一致),每次堆排序在下标1的位置放上了最大值,然后…...

tauri在github上进行自动更新打包并发版过程,实战操作避坑

从网上找了很多很多的文章,结果还是入坑了,一个问题找了一天才解决: Error A public key has been found, but no private key. Make sure to set TAURI_PRIVATE_KEY environment variable. 596 ELIFECYCLE  Command failed with exit code…...

css中flex后文本溢出的问题

原因: 为了给flex item提供一个合理的默认最小尺寸,flex将flex item的min-width 和 min-height属性设置为了auto flex item的默认设置为: min-width: auto 水平flex布局 min-height:auto 垂直flex布局 解决办法&…...

restful接口设计规范[仅供参考]

1. 域名 应该尽量将API部署在专用域名之下。 https://api.example.com 如果确定API很简单,不会有进一步扩展,可以考虑放在主域名下。 https://www.example.org/api/2. 版本(Versioning) 应该将API的版本号放入URL。 http://…...

Metabase 远程代码执行(CVE-2023-38646)

漏洞描述 Metabase是一款开源数据分析及可视化工具。它可允许用户连接至各种不同类型数据源,未经身份认证的攻击者可利用本漏洞在服务器上以运行 Metabase服务器的权限进行任意命令执行。 免责声明 技术文章仅供参考,任何个人和组织使用网络应当遵守宪法法律,遵守公共秩…...

【TiDB理论知识 07】SQL执行流程

一 DML语句读写流程 1 DML语句读流程概要 用户发出SQL 被协议层接收 Protocal Layer 通过PD获取时间戳 parse模块 解析SQL,通过词法解析 与 语法解析 生成AST语法树 编译SQL Compile模块 ,区分点查 与 非点查,生成执行计划 发送给Executor,从TIKV获…...

微服务——服务异步通讯RabbitMQ

前置文章 消息队列——RabbitMQ基本概念容器化部署和简单工作模式程序_北岭山脚鼠鼠的博客-CSDN博客 消息队列——rabbitmq的不同工作模式_北岭山脚鼠鼠的博客-CSDN博客 消息队列——spring和springboot整合rabbitmq_北岭山脚鼠鼠的博客-CSDN博客 目录 Work queues 工作队列…...

事件冒泡、事件捕获和事件委托

原文合集地址如下,有需要的朋友可以关注 本文地址 合集地址 什么是事件冒泡、事件捕获和事件委托? 事件冒泡(Event Bubbling)、事件捕获(Event Capturing)和事件委托(Event Delegation&…...

WEB 典型安全功能说明

WEB 典型安全功能 认证Authentication 认证是指通过验证用户的身份来确认用户是否有权访问某个系统或资源。在Web安全中,认证是非常重要的一环,它可以防止未经授权的访问,保护用户的数据和系统的安全。 登录 登录是用户认证的常见方式之一…...

SQL编译优化原理

最近在团队的OLAP引擎上做了一些SQL编译优化的工作,整理到了语雀上,也顺便发在博客上了。SQL编译优化理论并不复杂,只需要掌握一些关系代数的基础就比较好理解;比较困难的在于reorder算法部分。 文章目录 基础概念关系代数等价 j…...

qt signal slots lambda

这里用到了qt的版本检测 连接 Combox的currentIndexChanged事件 emit来触发处理的事件 ,进行业务或逻辑处理 这样的写法是lambda表达式的写法,和c#中的 (obj)>{ //todo } 类同 [](int indx){ //todo } #if QT_VERSION > QT_VERSION_CHECK(5,7,0)c…...

Spring【声明式事务】

事务简介 把一组业务当成一个业务来做;要么都成功,要么都失败!事务在项目开发中,十分重要,涉及到数据一致性的问题,需要十分注意!确保完整性和一致性! 事务的ACID原则:…...

【雕爷学编程】MicroPython动手做(17)——掌控板之触摸引脚2

知识点:什么是掌控板? 掌控板是一块普及STEAM创客教育、人工智能教育、机器人编程教育的开源智能硬件。它集成ESP-32高性能双核芯片,支持WiFi和蓝牙双模通信,可作为物联网节点,实现物联网应用。同时掌控板上集成了OLED…...

pytorch 中 view 和reshape的区别

在 PyTorch(一个流行的深度学习框架)中, reshape 和 view 都是用于改变张量(tensor)形状的方法,但它们在实现方式和使用上有一些区别。下面是它们之间的主要区别: 实现方式: reshap…...

认识数组指针

文章目录 数组指针的定义数组指针的应用 数组指针的定义 类比 整形数组——存放整形的数组 指针数组——存放指针的数组 整形指针——存放整形地址的指针 数组指针——存放数组地址的指针 深度理解 在之前我们知道:数组名表示首元素地址,但是有&#xf…...

SSM面试题-Spring容器的启动流程

解答: 1. BeanDefinitionReader读取配置文件(xml yml properties),创建BeanDefinition(存储bean的定义信息) 2. 配置文件读取成功后,将相应的配置转换成 BeanDefinition 的对象实例保存在DefaultListableBeanFactory#beanDefinitionMap 中 3. 根据配置的 BeanFacto…...

变量 varablie 声明- Rust 变量 let mut 声明与 C/C++ 变量声明对比分析

一、变量声明设计:let 与 mut 的哲学解析 Rust 采用 let 声明变量并通过 mut 显式标记可变性,这种设计体现了语言的核心哲学。以下是深度解析: 1.1 设计理念剖析 安全优先原则:默认不可变强制开发者明确声明意图 let x 5; …...

Cesium1.95中高性能加载1500个点

一、基本方式&#xff1a; 图标使用.png比.svg性能要好 <template><div id"cesiumContainer"></div><div class"toolbar"><button id"resetButton">重新生成点</button><span id"countDisplay&qu…...

电脑插入多块移动硬盘后经常出现卡顿和蓝屏

当电脑在插入多块移动硬盘后频繁出现卡顿和蓝屏问题时&#xff0c;可能涉及硬件资源冲突、驱动兼容性、供电不足或系统设置等多方面原因。以下是逐步排查和解决方案&#xff1a; 1. 检查电源供电问题 问题原因&#xff1a;多块移动硬盘同时运行可能导致USB接口供电不足&#x…...

MVC 数据库

MVC 数据库 引言 在软件开发领域,Model-View-Controller(MVC)是一种流行的软件架构模式,它将应用程序分为三个核心组件:模型(Model)、视图(View)和控制器(Controller)。这种模式有助于提高代码的可维护性和可扩展性。本文将深入探讨MVC架构与数据库之间的关系,以…...

SAP学习笔记 - 开发26 - 前端Fiori开发 OData V2 和 V4 的差异 (Deepseek整理)

上一章用到了V2 的概念&#xff0c;其实 Fiori当中还有 V4&#xff0c;咱们这一章来总结一下 V2 和 V4。 SAP学习笔记 - 开发25 - 前端Fiori开发 Remote OData Service(使用远端Odata服务)&#xff0c;代理中间件&#xff08;ui5-middleware-simpleproxy&#xff09;-CSDN博客…...

JS设计模式(4):观察者模式

JS设计模式(4):观察者模式 一、引入 在开发中&#xff0c;我们经常会遇到这样的场景&#xff1a;一个对象的状态变化需要自动通知其他对象&#xff0c;比如&#xff1a; 电商平台中&#xff0c;商品库存变化时需要通知所有订阅该商品的用户&#xff1b;新闻网站中&#xff0…...

代码规范和架构【立芯理论一】(2025.06.08)

1、代码规范的目标 代码简洁精炼、美观&#xff0c;可持续性好高效率高复用&#xff0c;可移植性好高内聚&#xff0c;低耦合没有冗余规范性&#xff0c;代码有规可循&#xff0c;可以看出自己当时的思考过程特殊排版&#xff0c;特殊语法&#xff0c;特殊指令&#xff0c;必须…...

[大语言模型]在个人电脑上部署ollama 并进行管理,最后配置AI程序开发助手.

ollama官网: 下载 https://ollama.com/ 安装 查看可以使用的模型 https://ollama.com/search 例如 https://ollama.com/library/deepseek-r1/tags # deepseek-r1:7bollama pull deepseek-r1:7b改token数量为409622 16384 ollama命令说明 ollama serve #&#xff1a…...

windows系统MySQL安装文档

概览&#xff1a;本文讨论了MySQL的安装、使用过程中涉及的解压、配置、初始化、注册服务、启动、修改密码、登录、退出以及卸载等相关内容&#xff0c;为学习者提供全面的操作指导。关键要点包括&#xff1a; 解压 &#xff1a;下载完成后解压压缩包&#xff0c;得到MySQL 8.…...

c# 局部函数 定义、功能与示例

C# 局部函数&#xff1a;定义、功能与示例 1. 定义与功能 局部函数&#xff08;Local Function&#xff09;是嵌套在另一个方法内部的私有方法&#xff0c;仅在包含它的方法内可见。 • 作用&#xff1a;封装仅用于当前方法的逻辑&#xff0c;避免污染类作用域&#xff0c;提升…...