论文阅读笔记——RDT-1B: A DIFFUSION FOUNDATION MODEL FOR BIMANUAL MANIPULATION

RDT-1B 论文
模型表达与泛化能力 :由于双臂操作中动作空间维度是单臂空间的两倍,传统方法难以建模其多模态分布
数据 :双臂数据少且不同机器人的物理结构和动作空间差异(如关节数、运动范围)导致数据分布不一致,直接合并训练可能引发负迁移(negative transfer)。

负迁移 是迁移学习(Transfer Learning)中的一种现象,指在将一个领域(或任务)的知识迁移到另一个领域(或任务)时,由于源域(source domain)和目标域(target domain)之间的差异过大或不匹配 ,导致迁移后的模型性能反而比不迁移时更差

研究的是基于语言指令的双臂视觉操作。

给定一条语言指令 l \mathcal{l} l ,策略接受在时间 t ∈ N + t\in\mathbb{N}^+ t∈N+ 的观测 o t o_t ot,输出动作 a t a_t at。观测 o t : = X t − T i m g + 1 : t + 1 , z t , c o_t:={X_{t-T_{img}+1:t+1},z_t,c} ot:=Xt−Timg+1:t+1,zt,c 其中 X t − T i m g + 1 : t + 1 : = { X t − T i m g + 1 , ... ... , X t } X_{t-T_{img}+1:t+1}:=\{X_{t-T_{img}+1},......,X_t\} Xt−Timg+1:t+1:={Xt−Timg+1,......,Xt} 为 长度为 T i m g T_{img} Timg 的 RGB 视觉观测历史序列。 z t z_t zt 表示机器人在当前时刻的低维本体感知(如关节角度,末端位姿等),c 表示控制频率。(频率是为了让模型考虑数据集中不同控制频率带来的挑战)

在大规模多机器人数据集 D p r e \mathcal{D}{pre} Dpre (主要为单臂数据)上预训练模型,然后在目标机器人数据集 D f t \mathcal{D}{ft} Dft 上微调: D = { ( l ( i ) , o t ( i ) , a t ( i ) ) ∣ 0 ≤ t < T ( i ) , 1 ≤ i < N } \mathcal{D}=\{(\mathcal{l}^{(i)},o_t^{(i)},a_t^{(i)})|0≤t<T^{(i)},1≤i<N\} D={(l(i),ot(i),at(i))∣0≤t<T(i),1≤i<N} 其中 T ( i ) T^{(i)} T(i) 是第 i 条轨迹长度,N 是轨迹数量。

  • 如果将策略建模为确定性映射 ( l , o t ) − > a t (\mathcal{l},o_t)->a_t (l,ot)−>at 并回归训练数据中的 ( l ( i ) , o t ( i ) , a t ( i ) ) (\mathcal{l}^{(i)},o_t^{(i)},a_t^{(i)}) (l(i),ot(i),at(i))。策略将学习动作的"平均值",且由于机器人的物理量(动作和本体感受)是非线性动态不稳定 。故而选择建模条件分布。
    通过如下公式,得到扩散建模:
    a t k − 1 = α ˉ k − 1 β k 1 − α ˉ k a t 0 + α k ( 1 − α ˉ k − 1 ) 1 − α ˉ k a t k + σ k z , k = K , ... , 1 β k = 1 − α k α ˉ k − 1 : = ∏ i = 1 k − 1 α i \begin{aligned}a_t^{k-1}=\frac{\sqrt{\bar{\alpha}^{k-1}}\beta^k}{1-\bar{\alpha}^k}a_t^0+\frac{\sqrt{\alpha^k}(1-\bar{\alpha}^{k-1})}{1-\bar{\alpha}^k}a_t^k+\sigma^k\boldsymbol{z},\quad k=K,\ldots,1 \\\beta^k=1-\alpha^k\qquad \bar{\alpha}^{k-1}:=\prod^{k-1}_{i=1}\alpha^i\end{aligned} atk−1=1−αˉkαˉk−1 βkat0+1−αˉkαk (1−αˉk−1)atk+σkz,k=K,...,1βk=1−αkαˉk−1:=i=1∏k−1αi

异构性数据输入,且兼容多模态:

  • 低维输入是表示机器人物理量的低维向量,采用带傅里叶特征的 MLP,捕捉高频变化。对于每个机器人,用单一的空间容纳 z t z_t zt 和 a t a_t at( a t a_t at 通常是 z t + 1 z_{t+1} zt+1 的一个子集)。设计一个统一的空间------根据其物理意义将原始动作向量的每个元素填充到统一动作空间向量的相应位置,将机器人的动作空间嵌入到这个统一空间中,剩余的位置则进行填充。
  • 图像输入是高维的(1152)采用 SigLIP 编码,有三个视图------静态外部视图、右手腕视图和左手腕视图,选择两帧作为一个输入 X t − 1 : t + 1 : = ( { X t − 1 1 , X t − 1 2 , X t − 1 3 } , { X t 1 , X t 2 , X t 3 } ) X_{t-1:t+1}:=(\{X_{t-1}^1,X_{t-1}^2,X_{t-1}^3\},\{X_{t}^1,X_{t}^2,X_{t}^3\}) Xt−1:t+1:=({Xt−11,Xt−12,Xt−13},{Xt1,Xt2,Xt3})。
  • 语言输入采取 T5-XXL 编码

修改网络 DiT(解决不稳定性和非线性特征):

  • 采取 QKNorm 解决计算注意力时的不稳定性 问题,同时该任务可被视为时间序列预测任务,原始 DiT 的 LayerNorm 的中心化操作可能导致 token 偏移和注意力偏移 ,从而破坏时间序列的对称性,采取没有中心操作的 RMSNorm。(传感器失灵等导致机器人数据出现极端值,可能导致梯度不稳定和数值溢出等)。
  • 为提高机器人对非线性动作的逼近能力,用非线性 MLP 替换最终的线性解码器。
  • 在连续层的交叉注意力策略性交替注入文本和图像(图像的维度远高于文本维度,同时将两种模态注入主干网络,往往图像会淹没文本)。

实验结果

相关推荐
24白菜头1 小时前
C和C++(list)的链表初步
c语言·数据结构·c++·笔记·算法·链表
小军要奋进2 小时前
httpx模块的使用
笔记·爬虫·python·学习·httpx
齐尹秦2 小时前
CSS Id 和 Class 选择器学习笔记
css·笔记·学习
kfepiza3 小时前
`docker run --restart no,always,on-failure,unless-stopped`笔记250406
笔记·docker·容器
郭涤生3 小时前
Chapter 10: Batch Processing_《Designing Data-Intensive Application》
笔记·分布式
University of Feriburg4 小时前
4-c语言中的数据类型
linux·c语言·笔记·学习·嵌入式实时数据库·嵌入式软件
XYN614 小时前
【嵌入式学习3】基于python的tcp客户端、服务器
服务器·开发语言·网络·笔记·python·学习·tcp/ip
SofterICer4 小时前
Eclipse Leshan 常见问题解答 (FAQ) 笔记
java·笔记·eclipse
密码小丑5 小时前
玄机-应急响应-webshell查杀
网络·笔记
郭涤生5 小时前
微服务系统记录
笔记·分布式·微服务·架构