[EAI-027] RDT-1B,目前最大的用于机器人双臂操作的机器人基础模型

Paper Card

论文标题:RDT-1B: a Diffusion Foundation Model for Bimanual Manipulation
论文作者:Songming Liu, Lingxuan Wu, Bangguo Li, Hengkai Tan, Huayu Chen, Zhengyi Wang, Ke Xu, Hang Su, Jun Zhu
论文链接:https://arxiv.org/abs/2410.07864v1
项目主页:https://rdt-robotics.github.io/rdt-robotics/
论文出处:/
论文被引:/

Abstract

双臂操作由于协调两只机械臂的复杂性(导致多模态动作分布)以及训练数据的稀缺性,开发基础模型极具挑战性。本文提出了用于双臂操作的扩散基础模型 Robotics Diffusion Transformer (RDT)。 RDT 构建在扩散模型的基础上,有效地表征多模态动作分布,并创新性地设计了可扩展的Transformer来处理异质的多模态输入,以学习非线性和高频的机器人数据。为了解决数据稀缺问题,引入了物理可解释的统一动作空间,该空间可以统一各种机器人的动作表示,同时保留原始动作的物理意义,便于学习可迁移的物理知识。凭借这些设计,成功地对迄今为止最大的多机器人数据集完成了参数量最大的基于扩散的机器人操作基础模型 RDT-1.2B 的训练。 最后,在一个自建的多任务双臂数据集上对RDT进行了微调,该数据集包含超过 6K+ episode,以改进其操作能力。真实机器人上的实验表明,RDT 显著优于现有方法。 展示了对未见的物体和场景的零样本泛化,理解并遵循语言指令,只需 1∼5 次演示数据就能学习新技能,并有效地处理复杂、灵巧的任务。

Summary

用于机器人双臂操作的基础模型 1.2B,跟pi0是同期发布的工作,应该不是参数规模最大的了。这个模型的优势是整个DiT骨干上进行扩散过程,相比pi0仅仅在action expert进行扩散,能够统一动作空间。劣势是没办法做多模态推理,对语言指令的语义泛化能力没有使用VLM的pi0好。开源了 6k+ 条的双臂操作数据,功德无量~
在这里插入图片描述

研究背景

当前缺少用于机器人双臂操作的基础模型,主要原因是包含高维动作空间的数据稀缺(可用数据 < 10K episode),硬件成本高,数据采集困难。为了解决这个问题,首先能够使用已有的机器人数据,这些数据可以是单臂机器人的数据,提供一个比较好的start up之后,再使用专门的双臂数据进行微调,并且要具备一定的泛化能力。要达成这个目标,需要解决下述模型层面问题:1)需要一个在表达能力和可扩展性方面非常强大的架构,尤其是对机器人动作空间多模态分布特性的建模能力;2)能够有效地处理多模态的异质数据,包括文本、图像和动作(不同机器人本体、不同机器人观测空间等等);3)能够高效稳定地在大规模数据上进行训练。

方法介绍

本文提出了一个具备强大泛化能力的双臂操作基础模型 Robotics Diffusion Transformer (RDT),其以 DiT 作为骨干网络,这使得其具备对复杂动作分布的建模能力,精心设计了多模态编码器,以消除模态间的异质性。

  • 为了适配机器人动作的高频变化和非线性动力学,针对DiT做了优化,主要包括MLP解码,改进的归一化方法和交替条件注入(alternating condition injecting)。
  • 为了能够在异质数据上训练,设计了可解释的统一动作空间,这是一个用于具有夹爪机器人的统一动作格式,可以在保留原始操作物理语义的前提下,缓解不同机器人动作空间配置的冲突,从而学习跨机器人本体的课泛化的物理世界知识。

问题描述

机器人本体:松灵 ALOHA 双臂机器人,通过遥操作收集数据,包括两个二指夹爪,两个腕部相机和第三视角相机
在这里插入图片描述
在这里插入图片描述

解决的问题:以语言为条件的双臂视觉操作任务,在家居场景具有重要价值。给定语言指令 l,和 t 时刻的观测信息 ot(包括:相机的历史序列长度为T的RGB输入x,机器人低维的本体感受信息 zt,以及控制频率 c),模型需要生成动作 at 来控制双臂实现 l 指定的目标。注意,动作 at 通常是本体感受信息 zt+1的子集。

一个典型的双臂操作任务涉及的元素:

  • 一个技能:例如,抓取,擦拭等
  • 一个物体:例如,瓶子,桌子等
  • 一个场景:任务发生的场景
  • 一个关于如何执行技能的模态描述:例如用左手臂拿起瓶子

对于一个新任务,需要模型能够泛化到训练数据未出现过的元素。本文的的目标是训练一个适用于双臂操作机器人的基础模型 RDT 实现上述元素的泛化。注意,是利用多种机器人数据增强双臂操作的泛化能力,而非训练一个跨机器人本体泛化的基础模型。

需要解决两个问题:

  1. 如何设计强大的模型架构?
  2. 如何针对异质的数据训练?

模型架构

什么是机器人动作的多模态特性?给定语言指令和观测信息,可能存在多条可以执行的机器人动作轨迹来执行任务。如果是确定性映射的方式,模型会学习动作分布的平均值,从而导致无法完成任务。而如果使用连续条件分布建模,比如基于扩散模型,则可以解决这个问题。但随之而来的是原生的DiT架构建模的是图像和视频,并且在时间和空间上是连续的,帧与帧之间的变化是增量的。然而,机器人相关的低维动作模态等物理量是非线性的并且是高频变化的,这些特性源于注入碰撞、约束和材料阻尼等物理交互产生。此外,还可能由于传感器不可靠导致存在数值不稳定的问题。

基于扩散的动作建模

两点需要注意:去噪过程在整个网络进行,可以学习到统一的动作空间;预测的是 action trunk 而非单点的action。
在这里插入图片描述

异质多模态输入编码

异质性体现在模态的格式、维度数量和信息量(编码后的token)方面。为了解决这个问题,需要将不同的模态编码到一个统一的隐空间中,使用的编码器如下:

  • 低维输入:包括机器人诶本体感受信息,动作块、控制频率,使用带有傅立叶特征的 MLP 编码捕获低维空间中的高频变化
  • 图像输入:使用 SigLIP 从图像中提取高维的、包含丰富的空间和语义信息
  • 语言输入:使用 T5-XXL 从语言中提取长度变化、高度抽象、模糊和复杂的信息

小的trick:不同模态输入可能包含非常不同的信息量,比如第三视角相机捕获的全局视图的图像包含的信息量多于腕部相机捕获的图像,为了避免模型只关注全局视图走捷径而忽略腕部相机视图,从而失去感知深度的能力,在编码过程中以一定概率随机地对每个多模态输入进行mask,以防止模型过度依赖特定输入。

DiT骨干网络改进

对 DiT 的三个改进:

  • QKNorm 和 RMSNorm:为了解决机器人物理量的数值不稳定导致的梯度不稳定和数值溢出问题,在计算attention时,增加了 QKNorm。action prediction本质上可以看作一个时间序列预测问题,而原始DiT 中的LayerNorm中的centering 操作会导致 token shift 和 attention shift 从而破坏时间序列的对称性。因此,替换为了 RMSNorm。图 4 可以看出,如果没有这种修改,预训练会非常不稳定,并且可能导致梯度爆炸。
  • MLP解码器:为了提高对非线性的机器人动作的建模能力,将现行解码器替换为非线性MLP解码器,作为从隐空间到物理空间的投影。图 4 可以看出,如果没有这个改进,RDt 无法有效地捕获非线性动态,从而导致无法完成需要精细操作的灵巧操作任务。
  • Alternating Condition Injection (ACI):RDT中的图像和语言输入作为条件,是高维的,并且长度可变,这与传统 DiTs 中的类别标签条件不同。这些信息丰富的条件难以压缩成单个 token,使得原始的 adapter layer 的 norm 方法不适用。因此,采用交叉注意力来适应不同长度的条件,避免在进一步压缩时造成信息丢失。此外,由于图像通常远多于文本token,同时注入两种模态往往会掩盖文本相关信息,从而削弱指令遵从能力(图 4)。 为了缓解这个问题,在 successive layer 的交叉注意力中交替注入图像和文本token,而不是在每一层都注入

数据构建

统一的动作空间

为了能够在异构多机器人数据上进行训练,需要一个在各种机器人之间共享的统一动作空间,它可以为多机器人动作提供统一的格式。 从机器人的原始动作空间到统一动作空间的映射应该是物理上可解释的,其每个维度都应该具有明确的物理意义。这可以使得模型从不同的机器人数据中学习共享的物理规律,从而提高从不同机器人数据中学习的效率。

如图 3 左侧所示,通过将原始动作向量中的每个元素根据其物理意义填充到统一动作空间向量的对应位置来将机器人的动作空间嵌入到这个统一空间中,剩余位置则用填充值填充(表 4 列出了具体的含义)。在这个统一空间下,能够利用几乎所有带夹爪的现代机器人的数据上预训练 RDT,并极大地扩展数据规模,以满足基础模型的要求。 预训练数据包含 46 种不同机器人的数据集(表 6),总规模为 1M+ 条轨迹,共计 21TB。
在这里插入图片描述
在这里插入图片描述

双臂操作任务数据收集

高质量的微调数据集对于模型性能至关重要。从三个方面确保数据集的高质量:

  1. 在数量方面,收集了 6K+ 条轨迹,是目前最大的双臂数据集之一;
  2. 在全面性方面,考虑了 300+ 个具有挑战性的任务,涵盖了从抓取和放置到连接电缆等大多数操作任务类型,甚至包括书写数学方程;
  3. 在多样性方面,准备了 100+ 个物体,包括不同尺寸和纹理的刚性和非刚性物体,以及 15+ 个不同照明条件的不同房间
    此外,进一步利用 GPT-4-Turbo 来重写人工标注的指令,以增加文本多样性。
    在这里插入图片描述

消融实验

实验设置

旨在通过真实机器人实验回答以下问题:

Q1: RDT 的零样本泛化能力是否可以泛化到未见的物体和场景?

Q2: RDT 的零样本指令遵循能力对未见的模态的有效性?

Q3: RDT 能否促进对未见的技能的少样本学习?

Q4: RDT 是否能够完成需要精细操作的任务?

Q5: 大模型参数、大数据量和扩散模型对 RDT 的性能有帮助吗?

  • RDT (ours): the original RDT.
  • RDT (regress): RDT without diffusion modeling. It models the deterministic mapping (ℓ,𝒐t)↦𝒂t.
  • RDT (small): RDT without large parameters. It has only 166M parameters.
  • RDT (scratch): RDT without pre-training. It is trained from scratch during fine-tuning.

研究任务:一共7个,来评估 RDT 从不同维度的泛化能力和功能,包括模型在现实世界任务中可能遇到的复杂场景,例如各种未见的元素和灵巧的操作。如图5和表1所示。
在这里插入图片描述
在这里插入图片描述
数据量:

  • Wash Cup: 133 demos for seen cups combined and 0 demos for unseen cups;
  • Pour Water: 350 demos for seen rooms combined and 0 demos for unseen rooms;
  • Pour Water-L-1/3 & Pour Water-R-2/3: 18 demos for the water level of little, 19 demos for half, and 19 demos for full;
  • Handover: 5 demos; Fold Shorts: 1 demo;
  • Robot Dog: 68 demos.

模型训推:

  • 训练:48 个 H100 GPU,一个月,1M steps
  • 微调:48 个 H100 GPU,三天,130K steps

模型推理:

  • 框架:DPM-Slover++
  • RTX 4090 24GB GPU 推理频率 6Hz Action Trunk,381 Hz Actions

测试配置:

  • Wash Cup is tested with 8 trials for each cup (one seen cup, two unseen cups, 24 trials in total).
  • Pour Water is tested with 8 trials for each room (three unseen rooms, 24 trials in total).
  • Pour Water-L-1/3 and Pour Water-R-2/3 are tested with 8 trials each.
  • Handover, Fold Shorts, and Robot Dog are tested with 25 trials each.

实验分析

在这里插入图片描述
在这里插入图片描述

从表 3 的结果可以看出,RDT 始终优于其他基线方法。 这是因为 RDT 使用强大的网络架构与扩散相结合,能够准确地对多模态动作的分布进行建模,而离散化和 VAE 分别缺乏准确性和表达能力。 此外,大规模预训练后的大量参数提供了大量的先验知识,这极大地提高了泛化能力。 下面是详细分析:

Q1 & Q2: RDT 可以零样本泛化到未见的物体、场景和模态。 在 Wash Cup 和 Pour Water 任务中,RDT 仍然可以在未见的场景中取得很高的成功率,其性能与可见场景中的性能相差无几。 相反,其他基线方法甚至无法完成整个任务。 在 Pour Water-L-1/3 和 Pour Water-R-2/3 中,从图 5 或图 10 可以发现,RDT 精确地理解了要操纵哪只手以及要倒多少水,并通过其动作严格遵循指令,即使它从未见过像“三分之一”或“三分之二”这样的词正是因为大规模预训练,RDT 已经看到了大量的不同物体、场景和指令,从而导致了如此强大的零样本泛化

Q3: RDT 仅使用少量样本就可以学习新技能。 在 Handover 和 Fold Shorts 中,RDT 通过少样本学习学习了新的复杂技能,即移交和折叠,其动作模式与已知技能非常不同,而其他模型的成功率几乎为零。 这种改进也归因于大规模预训练。 少样本学习可以帮助 RDT 快速适应新的工作环境,这对实际应用具有重大意义

Q4: RDT 可以处理灵巧的任务。 在 Robot Dog 中,RDT 在推动操纵杆时准确地控制角度,而其他机器人则会导致机器狗偏离。这是因为扩散,可以对多模态和非线性动作的分布进行建模,从而使动作精度能够满足灵巧任务的要求。 操纵杆和遥控器都是黑色的,使得操纵杆在视觉上不明显。这可能会导致 ACT 容易发生故障。 相比之下,大规模预训练使 RDT 学习了更好的操纵杆概念的视觉语言表示,提高了识别能力

Q5: 大型模型尺寸、大量数据和扩散都是我们取得优异成绩的重要因素。 在表 2 中,如果没有这些因素,性能会严重下降。RDT (scratch) 在未见的物体和场景上的表现很差,这表明预训练的知识对于泛化至关重要

实验结论

本文提出了 RDT 来解决可泛化双臂操作中数据稀缺和操作复杂性增加的挑战,RDT 是一种基于扩散的语言条件视觉运动模仿学习基础模型(diffusion-based foundation model for language-conditioned visuomotor imitation learning)。 RDT 是在一个广泛的多机器人数据集上预训练的,并在一个自收集的双臂数据集上微调。引入了可解释的统一动作空间,以统一不同机器人之间的动作表示,增强了鲁棒性和可迁移性。RDT 超越了现有方法,不仅在灵巧的双臂能力和指令遵循方面表现出显著改进,而且在少样本学习和对未见物体和场景的零样本泛化方面也取得了卓越的性能。

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

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

MATLAB的数据类型和各类数据类型转化示例

一、MATLAB的数据类型 在MATLAB中 &#xff0c;数据类型是非常重要的概念&#xff0c;因为它们决定了如何存储和操作数据。MATLAB支持数值型、字符型、字符串型、逻辑型、结构体、单元数组、数组和矩阵等多种数据类型。MATLAB 是一种动态类型语言&#xff0c;这意味着变量的数…

【解决方案】MuMu模拟器移植系统进度条卡住98%无法打开

之前在Vmware虚拟机里配置了mumu模拟器&#xff0c;现在想要移植到宿主机中 1、虚拟机中的MuMu模拟器12-1是目标系统&#xff0c;对应的目录如下 C:\Program Files\Netease\MuMu Player 12\vms\MuMuPlayer-12.0-1 2、Vmware-虚拟机-设置-选项&#xff0c;启用共享文件夹 3、复…

DeepSeek介绍及使用ollama本地化部署DeepSeek-R1大模型

DeepSeek 中文名深度求索人工智能基础技术研究有限公司(简称“深度求索”或“DeepSeek”)&#xff0c;成立于2023年&#xff0c;是一家专注于实现AGI的中国公司。 在本月初推出 DeepSeek-R1后&#xff0c;该公司宣称其在执行数学、编码和自然语言推理等任务时“性能可与OpenAI…

金融级分布式数据库如何优化?PawSQL发布OceanBase专项调优指南

前言 OceanBase数据库作为国产自主可控的分布式数据库&#xff0c;在金融、电商、政务等领域得到广泛应用&#xff0c;优化OceanBase数据库的查询性能变得愈发重要。PawSQL为OceanBase数据库提供了全方位的SQL性能优化支持&#xff0c;助力用户充分发挥OceanBase数据库的性能潜…

简要介绍C语言与c++共有的数学函数

C语言和C都提供了丰富的数学函数&#xff0c;这些函数主要定义在 <math.h>&#xff08;C语言&#xff09;和 <cmath>&#xff08;C&#xff09;头文件中。以下分别介绍C语言与C共有的数学函数&#xff0c;以及C特有的数学函数。 C语言与C共有的数学函数&#xff08…

NVIDIA GPU介绍:概念、序列、核心、A100、H100

概述 入职一家大模型领域创业公司&#xff0c;恶补相关知识。 概念 一些概念&#xff1a; HPC&#xff1a;High Performance Computing&#xff0c;高性能计算SoC&#xff1a;System on Chip&#xff0c;单片系统FLOPS&#xff1a;Floating Point Operations Per Second&am…

Python中的函数(下)

函数返回值 返回单个值 函数可以通过 return 语句返回一个值。一旦执行到 return 语句&#xff0c;函数就会停止执行&#xff0c;并将指定的值返回给调用者。例如&#xff1a; 返回多个值 实际上&#xff0c;Python函数只能返回一个值&#xff0c;但可以通过返回一个元组来模…

python算法和数据结构刷题[2]:链表、队列、栈

链表 链表的节点定义&#xff1a; class Node():def __init__(self,item,nextNone):self.itemitemself.nextNone 删除节点&#xff1a; 删除节点前的节点的next指针指向删除节点的后一个节点 添加节点&#xff1a; 单链表 class Node():"""单链表的结点&quo…

https数字签名手动验签

以bing.com 为例 1. CA 层级的基本概念 CA 层级是一种树状结构&#xff0c;由多个层级的 CA 组成。每个 CA 负责为其下一层级的实体&#xff08;如子 CA 或终端实体&#xff09;颁发证书。层级结构的顶端是 根 CA&#xff08;Root CA&#xff09;&#xff0c;它是整个 PKI 体…

S4 HANA明确税金本币和外币之间转换汇率确定(OBC8)

本文主要介绍在S4 HANA OP中明确明确税金本币和外币之间转换汇率确定(OBC8)相关设置。具体请参照如下内容&#xff1a; 明确税金本币和外币之间转换汇率确定(OBC8) 以上配置&#xff0c;我们可以根据不同公司代码所配置的使用不同的汇率来对税金外币和本币之间进行换算。来针对…

YOLOv8源码修改(4)- 实现YOLOv8模型剪枝(任意YOLO模型的简单剪枝)

目录 前言 1. 需修改的源码文件 1.1添加C2f_v2模块 1.2 修改模型读取方式 1.3 增加 L1 正则约束化训练 1.4 在tensorboard上增加BN层权重和偏置参数分布的可视化 1.5 增加剪枝处理文件 2. 工程目录结构 3. 源码文件修改 3.1 添加C2f_v2模块和模型读取 3.2 添加L1正则…

深入解析 C++17 中的 std::not_fn

文章目录 1. std::not_fn 的定义与目的2. 基本用法2.1 基本示例2.2 使用 Lambda 表达式2.3 与其他函数适配器的比较3. 在标准库中的应用3.1 结合标准库算法使用3.1.1 std::find_if 中的应用3.1.2 std::remove_if 中的应用3.1.3 其他标准库算法中的应用4. 高级技巧与最佳实践4.1…

【腾讯云】腾讯云docker搭建单机hadoop

这里写目录标题 下载jdk hadoop修改hadoop配置编写Dockerfile构建镜像运行镜像创建客户端 下载jdk hadoop wget --no-check-certificate https://repo.huaweicloud.com/java/jdk/8u151-b12/jdk-8u151-linux-x64.tar.gz wget --no-check-certificate https://repo.huaweicloud.…

SpringBoot 原理分析

SpringBoot 原理分析 依赖管理相关 启动器 starter Spring Boot 的 Starter 是预定义依赖项集合&#xff0c;可简化 Spring 应用配置与构建&#xff0c;启动时自动引入所需库、配置和功能。 Spring Boot 有很多预定义 Starter&#xff0c;如 spring - boot - starter - web 用…

MySQL 索引存储结构

索引是优化数据库查询最重要的方式之一&#xff0c;它是在 MySQL 的存储引擎层中实现的&#xff0c;所以 每一种存储引擎对应的索引不一定相同。我们可以通过下面这张表格&#xff0c;看看不同的存储引擎 分别支持哪种索引类型&#xff1a; BTree 索引和 Hash 索引是我们比较…

5.桥模式(Bridge)

动机 由于某些类型的固有的实现逻辑&#xff0c;使得它们具有两个变化的维度&#xff0c;乃至多个纬度的变化。 &#xfeff;class Messager{ public:// 登录virtual void Login(string username, string password)0;// 发送消息virtual void SendMessage(string message)0;/…

【Rust自学】15.1. 使用Box<T>智能指针来指向堆内存上的数据

喜欢的话别忘了点赞、收藏加关注哦&#xff0c;对接下来的教程有兴趣的可以关注专栏。谢谢喵&#xff01;(&#xff65;ω&#xff65;) 15.1.1. Box<T> box<T>可以被简单地理解为装箱&#xff0c;它是最简单的智能指针&#xff0c;允许你在堆内存上存储数据&am…

【电工基础】低压电器元件,低压断路器(空开QF),接触器(KM)

一.低压电器元件定义 电器可分为高压电器和低压电器两大类&#xff0c;我国现行标准是将工作在交流1200V(50Hz)以下、直流1500V以下的电器设备称为低压电器。 二.低压断路器&#xff0c;空开&#xff0c;空气断路器 1.空开图片与使用方式 当电路中发生严重过载、短路及失压等故…

论文阅读(七):贝叶斯因果表型网络解释遗传变异和生物学知识

1.论文链接&#xff1a;Bayesian Causal Phenotype Network Incorporating Genetic Variation and Biological Knowledge 摘要&#xff1a; 在分离群体中&#xff0c;数量性状基因座&#xff08;QTL&#xff09;定位可以确定对表型有因果效应的QTL。这些方法的一个共同特点是Q…

DeepSeek-R1 模型及GRPO算法学习

总结DeepSeek-R1 模型算法&#xff0c;并对其中的GRPO算法做一些学习补充。 DeepSeek-R1 论文总结 提出了通过强化学习提升大语言模型推理能力的方法&#xff0c;开发出 DeepSeek-R1-Zero 和 DeepSeek-R1 模型&#xff0c;在多个推理任务上表现出色&#xff0c;并开源模型推动…