具身智能-论文-RDT-1B
RDT-1B: A DIFFUSION FOUNDATION MODEL FOR BIMANUAL MANIPULATION
论文原文地址:https://arxiv.org/abs/2410.07864
abstract
首先是几个比较重要的概念: 1. Bimanual manipulation: 双臂操作,指的是机器人使用两条机械臂协同完成任务;就像abstract中说的那样,双臂操作难点在于模型不仅要决定每条机械臂分别做什么,还需要保证两条机械臂在时间和空间上相互协调。 2. multi-modal action distributions:多模态的动作分布。这里和传统的“多模态”意义是不同的,指的是对于机器人来说,同一个任务、状态下,可能存在多种彼此明显不同、但都正确的动作方案。 3. diffusion transformer:扩散transformer,在RDT中的意思是:先随机生成一段毫无意义的双臂动作噪声,再让 Transformer 根据图像、语言指令和机器人当前状态,反复修改这段动作(去噪),最终得到一段合理的双臂动作序列。
总结一下,这篇paper的work主要是:
论文提出了一个面向双臂机器人操作的、大规模扩散基础模型 RDT-1B,通过统一不同机器人的动作表示,在大规模多机器人数据上预训练,再在双臂任务数据上微调,使机器人能够理解语言指令并完成复杂的双臂操作。
Introduction
要想生成一个真正userful的操作策略,(生成一个可泛化的policy,比如说,可以适应没有遇到过的物品和场景)一种主流的可行策略是,在大规模的数据集上借助模仿学习的方法训练出一个foundation model。 然而,由于双臂系统的成本很高导致无法获取需要的large-scale data,主流会采用cross-robot pretraining的方法:首先利用多种机器人的数据集进行预训练,然后再在目标机器人上进行微调;这样可以将可利用的数据量扩大三个数量级,从而使模型能够提取具有迁移能力的物理先验知识。
- cross-robot pretraining 是什么?

- 为什么双臂系统会产生过高的成本?这里gpt是如此解释的:

但是cross-robot pretraining 又会带来两个伴随的核心问题: 1. 动作向量的维度翻倍,随之产生更复杂的动作分布;随之就要求模型具有更强的表达能力和可扩展性 2. 由于不同机器人之间的结构和动作空间的的差异,联合训练中会带来数据异质性和负迁移;现有方法通常要么直接丢弃那些结构不一致的机器人数据,要么只保留不同机器人之间共同不变的特征。这样做虽然降低了联合训练的难度,却牺牲了对于模型泛化十分重要的数据多样性。
本文的主要工作可以概括为以下五点:
1. 提出大规模双臂操作基础模型 RDT
论文提出了 Robotics Diffusion Transformer(RDT),面向语言指令条件下的双臂机器人操作。
RDT 以 Diffusion Transformer(DiT) 作为主干网络,目标是同时实现:
- 表达复杂的双臂动作分布;
- 支持大模型和大规模数据训练;
- 泛化到新物体、新场景、新指令和新技能。
2. 针对机器人数据改进 DiT 架构
作者没有直接照搬图像生成领域中的 DiT,而是针对机器人数据的特点进行了专门改造,主要包括:
- 使用 MLP Decoder,增强模型对非线性机器人动作的表达能力;
- 改进归一化方法,提高大规模训练时的数值稳定性;
- 采用 交替条件注入,更有效地融合语言、视觉和动作等多模态信息;
- 专门处理机器人数据中的非线性动力学、高频变化和数值范围不稳定问题。
3. 使用扩散模型表示双臂动作的多模态性
双臂机器人在同一个任务下,通常存在多种合理的操作方案,例如:
- 左手操作,右手辅助;
- 右手操作,左手辅助;
- 双手共同操作。
因此,双臂动作分布通常是多峰的。
RDT 利用扩散模型表示复杂的动作概率分布,从大规模数据中学习多种合理的双臂动作模式,避免普通回归模型将不同动作方案简单平均。
4. 提出物理可解释的统一动作空间
为了解决不同机器人之间动作格式、关节结构和控制方式不一致的问题,论文提出了:
Physically Interpretable Unified Action Space
具有物理可解释性的统一动作空间
它的主要作用包括:
- 统一不同机器人的动作表示;
- 保留原始动作的物理含义;
- 减少不同机器人数据之间的冲突;
- 支持跨机器人联合预训练;
- 帮助模型学习可迁移的通用物理知识。
5. 进行大规模预训练、双臂微调和真实机器人实验
作者首先在大规模多机器人数据集上对 RDT 进行预训练,并将模型规模扩展到:
[ 1.2B ]
即约 12 亿参数。
之后,作者又使用自行采集的多任务双臂数据集进行微调,该数据集包含超过:
[ 6000+ ]
条双臂操作轨迹。
实验结果表明:
- RDT 在多种复杂任务上优于已有方法;
- 在广泛任务上的成功率相较基线提升了 56%;
- 能够零样本泛化到新物体、新场景和新指令;
- 只需 1~5 个示范就能学习新技能;
- 能够完成精细操作,例如使用摇杆控制机器狗。
消融实验还表明,以下因素都对模型性能提升具有重要作用:
[ + + ]
总体总结
本文设计了一个面向双臂机器人操作的大规模扩散 Transformer。
其整体技术路线可以概括为:
[ ]
论文的核心贡献是:
- 提出了大规模双臂操作基础模型 RDT;
- 使用扩散模型表示复杂的多模态双臂动作分布;
- 针对机器人数据改进了 DiT 架构;
- 提出了具有物理可解释性的统一动作空间;
- 通过大规模跨机器人预训练,使模型获得较强的泛化能力和少样本学习能力。
3. PROBLEM FORMULATION AND CHALLENGES
本文的target robot是下面图中的ALOHA: 
下面是一些针对本文而言的术语:本文主要解决的问题是: 基于视觉、由语言指令控制的双臂机器人操作。 形式化的表示如下:
ℓ 为给定的一条语言指令
ot 为策略模型在时刻 t 接收到的当前观测内容
at 为输出的动作,控制机器人的两条机械臂完成语言指令 ℓ 所指定的目标。
进一步地:观测 ot 被表示为一个三元组:
ot := (Xt − Timg + 1 : t + 1,zt,c)
其中:
Xt − Timg + 1 : t + 1 := (Xt − Timg + 1,…,Xt)
各变量的含义如下:
- Xt − Timg + 1 : t + 1:长度为 Timg 的 RGB 图像观测历史;更具体一点理解,其中的的每一个 Xi 表示时刻 i 由多个摄像头拍摄到的 RGB 图像集合(当然这里还需要经过后续的编码,大致流程如下:
) 以及这里的长度是一种左闭右开的写法,本质上就是采集 t − Timg + 1到t 这些时刻的图像。
举个栗子:
zt:机器人在时刻 t 的低维本体感知状态;这里的“低维”是相当对于有几十万个像素得到图像而言的;简单说 zt 就代表了机器人当前的身体姿态和运动姿态
c:机器人的控制频率。通常以Hz为单位,表示每秒接收并执行的指令数量。c衡量的是真实世界中对应的控制命令更新速度,而上面的的每一个t时刻对应一次原子控制指令。
动作 at 通常是下一时刻期望本体状态 zt + 1 的一个子集。这里的核心理解如下:
总结一下,观测值包含了:过去若干时间步采集到的图像数据;机器人当前的状态;指令执行的频率。
对于一般的双臂操作,一般由如下的一系列elements构成:skill(具体操作行为)+object(操作对象)+scene(操作场景)+modality(具体的执行方式,比如“用左手完成”等等)显然一个有用的策略期望可以泛化到当前未知但是类似的场景,比如说你如果会用左手拿桌上的杯子,那么我会期望你也会用右手拿一个茶几上的杯子;同时这里再次总结了,为了训练双臂机器人模型,这里采用了大量多机器人(主要是单臂)进行pre-training,然后用少量目标bimanual数据进行微调
两个challenge
- 模型需要有强大的“表达能力”,这里指的就是模型需要能表示多个相互分离但都合理的答案
- 需要能够在异构数据集上进行训练;这里本质上是不同型号的机器人产生的数据在结构上差别是很大的,需要探究如何充分利用这些数据