具身智能controller---RT-1(Robotics Transformer)(上---方法介绍)

news2025/1/13 17:43:48

具身智能controller---RT-1(Robotics Transformer)(上---方法介绍)

  • 相关链接
  • 摘要和简介
    • 相关工作与预备知识
    • 系统概述
    • 模型 RT-1: ROBOTICS TRANSFORMER
      • 模型

相关链接

github链接
主页链接(包括论文和训练数据集)

摘要和简介

迁移学习在计算机视觉领域已有很多研究,但在端到端的机器人学习控制的领域研究还比较少,本论文提出通用的机器人模型一个关键点在于开放式的(open-ended)任务不可知的(task-agnostic)训练, 有着高容量(high-capacity)的网络结构,可以吸收所有不同种类的机器人数据。
论文里的核心问题:可否利用大量的机器人任务数据训练一个大规模多任务骨干模型?这个模型是否会从别的领域观测获得好处, 表现出对新任务、环境和对象的zero-shot能力? 其挑战主要存在两个方面:正确的数据集和合适的模型设计

  • 数据集:好的泛化性需要数据集同时具有规模和宽泛性,包含各种不同的任务和设置;
  • 模型设计: 需要大容量,Transformer网络很符合这个需求。
    为此,该论文提出一个先进的机器人控制网络RT-1
    (Robotics Transformer 1), 它将高维输入和输出编码成紧凑的token表征,包括图像,文本指令和电机控制指令,并可以进行实时推理控制。

相关工作与预备知识

  • 在使用语言和Transformer控制机器人这个方向,本工作在此方向上更进一步,将语言视觉观测映射到机器人动作的过程当作一个序列建模过程,并使用Transformer网络来学习这个映射;
  • 大部分工作专注于让Transformer学习单个任务(如Goto, Behaviour Transformer),本工作验证了基于Transformer的策略在保持实时性的同时,具有高容量(high capacity)和泛化性;
  • 本工作进一步支持了多任务和language-conditioned机器人学习的能力, 在大规模数据集(有大量不同行为,对象和场景)上提供了实验结果,并提出了新的结构和设计选项,使得机器人可以在更大规模上进行学习;
  • 机器人学习(Robot learning): 我们旨在学习机器人策略,用于从视觉观测中解决language-conditioned任务;
  • Transformers:,一个Transformer网络是一系列的模型映射,它将一个输入序列映射到一个输出序列,联合使用自注意力(self-attention)层和全连接神经网络;
  • 模仿学习(Imitation learning):在演示数据上学习机器人策略,类似一般深度学习中的监督学习,目标是最小化基于观测的预测值与标签值之间的差异。

系统概述

目标:创建和演示一个通用的机器人学习系统,可以吸收大规模的数据并能有效地泛化;
机器人平台:EverydayRobots的移动操作机器人,具有7自由度的机械臂,两指夹爪和一个移动底盘;
机器人

环境:三个厨房环境—两个真实办公厨房和一个基于这些真实厨房建模的训练环境;
环境

数据: 人类提供的示教,并对每个episode进行文本标注,用于表示其动作指令。我们最大的数据集包含在超过700个任务上超过130条独立示教;
skills
RT-1: 输入短序列图像和一条自然语言指令,输出当前时刻机器人的动作。为此,网络结构包括多个部分:首先使用一个基于ImageNet预训练的卷积神经网络对图像和文本进行处理生成多个token,然后使用Token Learner计算一个紧凑的token集合,最后使用一个Transformer处理这些Token,并产生离散的动作tokens。输出的动作包括机械臂的七自由度运动 (x, y, z, roll, pitch, yaw, opening of the gripper), 底盘的三自由度运动(x, y, yaw)和一个离散维度用于表征动作模式转换(控制机械臂,控制底盘或者结束)。

模型 RT-1: ROBOTICS TRANSFORMER

本部分介绍如何tokenize图像,文本指令和动作,然后讨论RT-1模型结构,并描述如何进行实时控制,最后介绍数据采集流程以及数据集中的技能和指令。

模型

模型
指令和图像tokenization:RT-1通过将最新的6帧图像输入到基于ImageNet预训练的EfficientNet-B3网络来tokenizes这些图像,该网络使用6张300x300的图像,输出一张9x9x512的空间特征图,然后变平成81个512维的token输给后面的网络层来处理;指令首先通过universal sentense encoder进行编码,得到一个512维的向量,这个embedding然后输入到 identity-initialized FiLM层,加入到预训练的EfficientNet中用来训练图像编码器。整个图像和指令tokenization网络共有约6M参数,包括26层MBConv块和FiLM层,最终产生81个指令图像token;
TokenLearner:TokenLearner对81视觉指令token进行采样,最终获得仅仅8个tokens,输入到后续的Transformer层;
Transformer: 历史6张张图像指令对应的8 个token拼接在一起形成48个token(包括增加的位置编码),输入到Transformer骨干。Transformer是一个 decoder-only序列模型,它有8个self-attention层,总共约19M参数,最终输出action tokens;
动作tokenization:每个连续的动作被离散到256维的bin中,并被映射到其中之一;
Loss:标准分类交叉熵和随机mask
实时推理加速:1,使用token learner对原始token进行压缩;2,推理时保留历史5帧图像对应的指令图像token,而不必全部重新计算;分别加速2.4倍和1.7倍。

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

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

fpga开发——蜂鸣器

蜂鸣器的原理 有源蜂鸣器和无源蜂鸣器 无源蜂鸣器利用电磁感应现象,为音圈接入交变电流后形成的电磁铁与永磁铁相吸或相斥而推动振膜发声,接入直流电只能持续推动振膜而无法产生声音,只能在接通或断开时产生声音。无源蜂鸣器的工作原理与扬声…

LeetCode152.Maximum-Product-Subarray<乘积最大的子数组>

题目: 思路: 一开始是使用的每次乘积的最大值. 遍历. 然后因为有负数所以还是差点.看了答案,发现还需要保存一个负数的值.当当前的值是负数的时候 互换位置.然后获得当前最大值. 代码是: //codeclass Solution { public:int maxProduct(vec…

哈希表与布隆过滤器

文章目录 一、哈希函数是什么?哈希函数的应用场景哈希函数的构造方法 二、哈希表哈希表的底层设计题型 三、布隆过滤器布隆过滤器优点布隆过滤器缺陷布隆过滤器使用场景 一致性哈希算法.位图 3. 海量数据面试题 一、哈希函数是什么? 1 : 哈希函数没有随…

二.安装helm

1.什么是helm Kubernetes 包管理器 Helm 是查找、分享和使用软件构件 Kubernetes 的最优方式。 Helm 管理名为 chart 的 Kubernetes 包的工具。Helm 可以做以下的事情: 从头开始创建新的 chart将 chart 打包成归档(tgz)文件与存储 chart 的仓库进行交互在现有的 K…

【数据结构】_4.List接口实现类LinkedList与链表

目录 1.链表的结构与特点 1.1 链表的结构: 1.2 链表的特点: 2. 不带头单链表的模拟实现 3. 单链表OJ 3.1 题目1:移除链表元素: 3.2 题目2:反转一个单链表 3.3 题目3:返回链表的中间结点 3.4 题目4&#xff1…

Python连接MariaDB数据库

Python连接MariaDB数据库 一、安装mariadb库 pip install mariadb 二、连接数据库 connect()函数连接数据库。 import mariadbconn mariadb.connect(user"root", password"Root123", host"192.168.0.182", port3306, database"compan…

Linux环境搭建(XShell+云服务器)

好久不见啊,放假也有一周左右了,简单休息了下(就是玩了几天~~),最近也是在学习Linux,现在正在初步的学习阶段,本篇将会简单的介绍一下Linux操作系统和介绍Linux环境的安装与配置,来帮…

【沁恒蓝牙mesh】组网方式选择与分析

本文主要介绍了【沁恒蓝牙mesh】组网方式选择与分析 1.开发环境搭建与程序烧录 参考博文:【经验】如何搭建沁恒蓝牙SoC CH58x开发环境 2. 组网方式 蓝牙mesh组网实践(配网方式的选择) 自配网:自己给自己配网,当节点…

Labview串口通信MSComm实现串口收发

文章目录 前言一、什么是 MSComm二、MSComm 控件下载三、MSComm 控件的注册四、使用 MSComm 控件1、前面板放置控件2、MSComm 的常用属性3、MSComm 控件的事件 五、实现串口收发1、搭建虚拟串口2、发送测试3、接收测试4、后面板核心程序框图 六、程序自取 前言 本文介绍使用 A…

study 第三方库

import osprint(os.listdir()) #列出当前目录下的文件 print(os.getcwd()) #获取绝对路径if not os.path.exists("b"):os.mkdir("b") if not os.path.exists("b/test.ext"):f open("b/text.txt","w")f.write("hello,f…

sql学习笔记

sql语句优先级 FROM → WHERE → GROUP BY → SELECT → HAVING → ORDER BY sql case用法 例题: 按照销售单价( sale_price )对练习 3.6 中的 product(商品)表中的商品进行如下分类。 低档商品:销售单价在1000日元以下&#x…

MATLAB | 产生阿尔法稳定分布噪声并作出概率密度函数

一、问题描述 想产生不同特征参数的α稳定随机变量,并且作出其概率密度函数进行对比。 二、解决思路 运行了MATLAB的官方实例代码: openExample(‘stats/ComparePDFsOfStableDistributionsExample’) (1)使用makedist()函数生成…

低代码未来的发展方向

大的未来都是AI ,AI , AI …,理论上不可能有别的。 拿iVX来说吧,已经做了一整套完整的 可视化编程范式,基本可以生成所有系统的前端后台和数据库代码。也就是说,其组件系统和逻辑表达(非代码&a…

整天用 Calendar 日历组件,不如自己手写一个吧!

目录 Date 的 api 实现日历组件 静态的布局 再来写逻辑 增加两个参数 提供 ref 来暴露 api 总结 日历组件想必大家都用过,在各个组件库里都有。比如 antd 的 Calendar 组件(或者 DatePicker 组件): 那这种日历组件是怎么实…

【论文阅读】A Comprehensive Survey

论文来源:Li M , Liu Y , Liu X ,et al.The Deep Learning Compiler: A Comprehensive Survey[J]. 2020.DOI:10.1109/TPDS.2020.3030548. 这是一篇关于深度学习编译器的综述类文章。 什么是深度学习编译器 深度学习(Deep Learning)编译器将…

STM32H5开发(4)----开发板介绍

STM32H5开发----4.开发板介绍 套件概述样品申请特征系统控制和生态系统访问功能示意图系统框图跳线设置开发板原理图 套件概述 STM32H503RBTx_LQFP64是STM32H5系列微控制器的一款出色评估套件,它采用了先进的40nm工艺制造,为开发者提供了卓越的性能和能…

MyBatis基础模块-类型转换模块

文章目录 1. 为什么需要类型转换模块2. TypeHandler 1. 为什么需要类型转换模块 执行sql,在PreparedStatement设置参数时,需要把java类型转换成jdbc类型,而从结果集中获取数据时,需要把jdbc类型转换为java类型。 2. TypeHandle…

软件测试未来的发展趋势以及软件测试进阶路线

全球各地的企业每天都在发展变化着,以应对市场挑战,满足日益成熟的客户需求。即使是正在进行的技术进步也会使软件测试专家在实践的过程中更加专注和精确。 2021年给软件测试领域带来了新的技术解决方案,以及质量保证和软件测试的实现。与此同…

【数据结构和算法14】堆结构(基于数组实现)

目录 1、有关二叉树和堆的介绍 2、大根堆的代码实现 3、小根堆的代码实现 1、有关二叉树和堆的介绍 计算机科学中,堆是一种基于树的数据结构,通常用完全二叉树实现。堆的特性如下 在大顶堆(大根堆)中,任意节点 C 与…

开源视频监控管理平台国标GB28181视频EasyCVR电子地图功能展示优化

视频监控综合管理平台EasyCVR可提供的视频能力包括:视频监控直播、云端录像、云存储、录像检索与回看、告警上报、平台级联、云台控制、语音对讲、电子地图、H.265自动转码等,也具备接入AI智能分析的能力。 视频汇聚平台EasyCVR可拓展性强、视频能力灵活…