当前位置: 首页 > 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…...

synchronized 学习

学习源: https://www.bilibili.com/video/BV1aJ411V763?spm_id_from333.788.videopod.episodes&vd_source32e1c41a9370911ab06d12fbc36c4ebc 1.应用场景 不超卖,也要考虑性能问题(场景) 2.常见面试问题: sync出…...

使用分级同态加密防御梯度泄漏

抽象 联邦学习 (FL) 支持跨分布式客户端进行协作模型训练,而无需共享原始数据,这使其成为在互联和自动驾驶汽车 (CAV) 等领域保护隐私的机器学习的一种很有前途的方法。然而,最近的研究表明&…...

YSYX学习记录(八)

C语言&#xff0c;练习0&#xff1a; 先创建一个文件夹&#xff0c;我用的是物理机&#xff1a; 安装build-essential 练习1&#xff1a; 我注释掉了 #include <stdio.h> 出现下面错误 在你的文本编辑器中打开ex1文件&#xff0c;随机修改或删除一部分&#xff0c;之后…...

unix/linux,sudo,其发展历程详细时间线、由来、历史背景

sudo 的诞生和演化,本身就是一部 Unix/Linux 系统管理哲学变迁的微缩史。来,让我们拨开时间的迷雾,一同探寻 sudo 那波澜壮阔(也颇为实用主义)的发展历程。 历史背景:su的时代与困境 ( 20 世纪 70 年代 - 80 年代初) 在 sudo 出现之前,Unix 系统管理员和需要特权操作的…...

什么?连接服务器也能可视化显示界面?:基于X11 Forwarding + CentOS + MobaXterm实战指南

文章目录 什么是X11?环境准备实战步骤1️⃣ 服务器端配置(CentOS)2️⃣ 客户端配置(MobaXterm)3️⃣ 验证X11 Forwarding4️⃣ 运行自定义GUI程序(Python示例)5️⃣ 成功效果![在这里插入图片描述](https://i-blog.csdnimg.cn/direct/55aefaea8a9f477e86d065227851fe3d.pn…...

适应性Java用于现代 API:REST、GraphQL 和事件驱动

在快速发展的软件开发领域&#xff0c;REST、GraphQL 和事件驱动架构等新的 API 标准对于构建可扩展、高效的系统至关重要。Java 在现代 API 方面以其在企业应用中的稳定性而闻名&#xff0c;不断适应这些现代范式的需求。随着不断发展的生态系统&#xff0c;Java 在现代 API 方…...

windows系统MySQL安装文档

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

DeepSeek源码深度解析 × 华为仓颉语言编程精粹——从MoE架构到全场景开发生态

前言 在人工智能技术飞速发展的今天&#xff0c;深度学习与大模型技术已成为推动行业变革的核心驱动力&#xff0c;而高效、灵活的开发工具与编程语言则为技术创新提供了重要支撑。本书以两大前沿技术领域为核心&#xff0c;系统性地呈现了两部深度技术著作的精华&#xff1a;…...

Unity中的transform.up

2025年6月8日&#xff0c;周日下午 在Unity中&#xff0c;transform.up是Transform组件的一个属性&#xff0c;表示游戏对象在世界空间中的“上”方向&#xff08;Y轴正方向&#xff09;&#xff0c;且会随对象旋转动态变化。以下是关键点解析&#xff1a; 基本定义 transfor…...

Modbus RTU与Modbus TCP详解指南

目录 1. Modbus协议基础 1.1 什么是Modbus? 1.2 Modbus协议历史 1.3 Modbus协议族 1.4 Modbus通信模型 🎭 主从架构 🔄 请求响应模式 2. Modbus RTU详解 2.1 RTU是什么? 2.2 RTU物理层 🔌 连接方式 ⚡ 通信参数 2.3 RTU数据帧格式 📦 帧结构详解 🔍…...