一句话定位

UniAct(CVPR 2025)学习一个 256 条码字、跨机器人共享的”通用动作”码本(vector-quantized codebook),用一个微调过的 VLM 根据观测+语言目标选码,再用极轻量的逐本体 MLP 解码头把码字翻译回各机器人的实际控制信号,使一个 0.5B 参数的策略在 WidowX 真机和 libero 仿真上普遍超过 14 倍大的 openvla(7B),并能仅用新码头(4M/500M ≈ 0.8% 参数)快速适配未见过的新本体 AIRBOT。

背景与定位

范式:码本式跨本体通用动作空间(Universal Action Space),试图从根本上解决”异构本体的动作空间无法共享”这个卡住通用具身基础模型发展的核心矛盾。论文把此前处理动作异构性的路线归纳为两类失败模式:一类是 openvla、Octo(见 octo)、RT-X 系列这类做法,强行把不同动作空间视为等价,套用同一套离散化/归一化(如统一转成相对末端位姿),代价是相似的编码在不同数据源里可能代表完全不同的物理含义;另一类是 crossformer-cross-embodied-learningrdt-1b、π0(见 pi0)代表的朴素聚合思路——手工设计一个物理上可解释、覆盖所有本体的统一动作空间,需要大量人工工程,且没有真正挖掘不同本体间的共享结构。

第三类相关工作是**隐动作空间(latent action space)**方法:LAPA(见 lapa-latent-action-pretraining)、IGOR、LAPO 通过在无动作视频上联合训练逆/正向动力学模型来提取隐动作,但这类隐动作只解释”两帧画面之间发生了什么变化”,容易被环境变化、新物体出现等与控制无因果关系的因素污染,且对观测间隔敏感;BeT、VQ-BeT、QueST 等用 K-means/VQ 对动作聚类建码本,但只在单一本体域内建模复杂人类示教的多模态性,没有触及跨本体异构问题。

UniAct 的关键区别:universal action extractor 不是单纯解释帧间视觉变化,而是一个以任务目标为条件的选码器——给定观测 o 和语言目标 g,VLM 输出选择每个码字的似然 p(u|o,g),逼迫码本捕捉”任务进展”而非噪声视觉变化;同时码本和解码头端到端联合训练在真实动作监督信号上,因此码字与实际控制存在因果连接(而非解释视频帧差的隐动作)。训练数据来自 Open X-Embodimentlibero、Droid 三个数据源的混合。

模型架构

Universal Action Extractor(选码器):基于 LLaVA-OneVision-0.5B(预训练 VLM)微调而来,输入观测 o(第三人称图像)与语言目标 g,输出在通用动作码本上的似然分布 p(u|o,g)。

Universal Action Space(码本):建模为 vector-quantized codebook,𝒰 ∈ ℝ^(256×128),即 N=256 个码字,每个码字 D=128 维。选码过程本是不可导的 arg max,训练时用 Gumbel-Softmax 类别重参数化(而非 Straight-Through Estimator,论文消融显示 STE 因硬采样每步只更新一个码字、易导致码本坍缩)近似,softmax 温度 τ 在训练过程中逐步衰减以兼顾早期探索与后期收敛稳定性。

Heterogeneous Decoding(异构解码头):K 个(K = 训练域数,本文 28)轻量级解码头 h_k,每个都是简单 MLP,输入为选出的通用动作 u* 与共享视觉骨干(ImageNet 预训练 ResNet18)抽取的视觉特征 o,输出该本体的实际控制信号 â^(k)。刻意保持解码头极简(简单 MLP 而非复杂网络),是为了让模型的主要学习能力都投入到通用动作本身,最大化跨本体泛化能力,而不是让某个解码头过拟合到单一本体的数据分布。

分辨率/精度:VLM 输入分辨率 384×384,ResNet18 输入 224×224(均沿用各自原始配置)。

动作表示:不做时序 chunk(每步基于当前 o,g 预测单步码字与动作),损失函数按各域动作标签性质定制——离散动作用 Cross-Entropy,连续动作用 MSE / Huber / diffusion loss。GitHub 代码库额外提供一个可选的 ACT(Action Chunking Transformer 风格)解码头,但论文实验与 Model Zoo 发布的 Libero / Bridge 权重均为 MLP 解码头

跨本体(cross-embodiment)机制:所有本体共享同一个 VLM 选码器与同一套码本,只有解码头是本体专属且参数量极小,这是 UniAct 实现”少量参数+少量数据即可适配新本体”的结构基础。

规模:整体实例化为 0.5B 参数(主要由 LLaVA-OneVision-0.5B 贡献)。

数据

预训练总计 约 1 百万条演示,来自 28 个不同本体,混合了 Open X-Embodimentlibero、Droid 三个开源机器人数据集合,统一标准化为”含第三人称视觉观测 + 语言指令”格式,但刻意保留动作异构性(不同数据集混用 EEF 位置、EEF 速度、关节位置等不同控制接口),与两个基线(Octo、OpenVLA)需要”手工清洗成同一种动作空间”(如统一转成相对末端位姿、剔除关节位置动作)形成对比。默认只使用每个数据集的第一路第三人称视角(沿用 OpenVLA/Octo 惯例)。

28 个数据集的完整训练混合表(论文 Table 4,Trajectory / Samples / 采样率% / 控制接口):

DatasetTrajectorySamplesSample rate(%)Control Interface
Utaustin Mutex1,500361,8711.0EEF Position
Berkeley Cable Routing1,55738,7890.2EEF velocity
NYU Franka Play45444,4121.0EEF velocity
Kuka557,8937,130,15712.7EEF Position
Austin Sailor240352,1102.2EEF velocity
Fmb8,6111,136,9071.0EEF velocity
Berkeley Autolab1,00095,3101.2EEF Position
Viola15075,6140.9EEF Position
Dobbe5,2081,139,8741.4EEF Position
Iamlab CMU631146,2410.9EEF Position
Austin Buds5034,1100.2EEF Position
Language Table441,9116,602,0774.4EEF Position
Stanford Hydra569357,1374.4EEF Position
Robo Set18,2461,419,8385.0Joint position
Austin Sirius559279,7241.7EEF velocity
Dlr Edan1048,8240.1EEF Position
Fractal86,5993,607,02812.7EEF Position
TOTO1,003324,6692.0Joint position
Berkeley Fanuc41558,6600.7EEF Position
CMU Stretch13525,0120.2EEF Position
Roboturk1,934186,9102.3EEF Position
Jaco Play97666,0940.4EEF Position
Taco Play3,603230,9663.0EEF Position
BC-Z42,8115,957,0977.5EEF Position
Droid92,11527,043,92910.0EEF Position
Furniture Bench5,1003,905,7172.4EEF velocity
Bridge28,933899,68513.3EEF Position
Libero6,5001,007,2045.0EEF Position

(采样率按数据集加权,用于平衡本体/任务/场景,而非按轨迹条数等比例采样;WidowX 真机基准对应表中 Bridge 数据集,Franka 仿真基准对应表中 Libero 数据集。)

新本体快速适配(AIRBOT):仅采集 100 条新演示,覆盖 4 种截然不同的控制接口(相对/绝对末端位置、相对/绝对关节位置),UniAct 与两个基线均未在预训练阶段见过 AIRBOT。

训练方法

目标函数:联合优化码本 𝒰 与选码器参数 θ、以及全部 K 个异构解码头,最小化 K 个域上行为克隆损失之和 min_{𝒰,θ} Σ_k E[ℒ_k(â^(k), a)](论文 Eq.6);ℒ_k 按域内动作标签性质选择 Cross-Entropy(离散)或 MSE/Huber/diffusion loss(连续)。训练策略上,𝒰 与选码器每步都更新,而各异构头 h_k 只依据对应域采样到的批次更新——类似元学习中”全局共享参数 + 任务专属组件”的分工。

类别重参数化:用 Gumbel-Softmax 而非 Straight-Through Estimator;论文消融发现 STE 的硬采样每步只优化一个码字,容易造成码本坍缩,Gumbel-Softmax 的软权重能让梯度分布到多个候选码字上,利于码本多样性学习。

预训练超参(论文 Table 3):optimizer AdamW,batch size 1024,learning rate 2×10⁻⁵,weight decay 0,β₁,β₂=0.9,0.95,500K 迭代BFloat16 精度。

图像增强(论文 Table 2):RandomResize(ratio=0.75–1.333,scale=0.5–1.0,双三次插值)、RandomHorizontalFlip(p=0.5)、ColorJitter(对比度/亮度/饱和度均 0.6–1.4)。

快速适配策略(AIRBOT):冻结码本与选码器,仅为每种新控制接口从零训练一个轻量 MLP 头;4 种接口各训练一个头。微调超参(论文 Table 7):AdamW,batch size 128,lr 3×10⁻⁴,weight decay 0,β₁,β₂=0.9,0.95,10K 迭代,BFloat16。微调新增参数占比 4M / 500M ≈ 0.8%,是三者中最小的(OpenVLA 97M/7000M≈1.4%,Octo 2M/100M=2%)。

LIBERO 微调基线对照:为保证公平比较,OpenVLA 与 Octo 也在同样的 LIBERO 数据上按各自官方流程微调(细节见下方 Infra 与评测节)。

Infra(训练 / 推理工程)

预训练64 张 NVIDIA A100,使用 DeepSpeed,训练时长约 10 天,精度 BFloat16;论文未披露具体 ZeRO stage / 张量并行等并行策略细节,仅确认使用 DeepSpeed。

AIRBOT 快速适配微调(UniAct 自身)4 张 A100,DeepSpeed,耗时约 1 小时

基线对照训练规模(非 UniAct,供参照):LIBERO 上微调 OpenVLA 用 8 张 A6000 GPU,耗时 7 小时;微调 Octo 用 2 张 RTX 4090,耗时 4 小时。AIRBOT 上微调 OpenVLA 用 8 张 A6000,耗时 1.5 小时;微调 Octo 用 2 张 4090,耗时 0.5 小时(OpenVLA 微调持续到训练集准确率达到官方要求的 95%)。

推理侧:论文未披露控制频率(Hz)、单步推理延迟或 FPS 数据;也未讨论边缘硬件部署或量化方案。GitHub 仅提供推理代码示例(uniact_model.infer(domain_name=...)),无性能基准。

评测 benchmark

三个基线对照模型:Octo(0.1B,扩散式策略)与 OpenVLA(7B,自回归离散动作),均在约 1M 条”精心清洗过、消除了动作异构性”的机器人演示上训练(如统一为相对 EEF 位置、剔除关节位置动作);UniAct-0.5B 使用同规模、同来源但未经此类繁琐清洗的原始异构数据训练。

WidowX 真机(BridgeV2 平台复现,Kim et al. [OpenVLA] 评测协议,19 个任务 × 10 次试验 = 190 次 rollout)

ModelVisualMotionPhysicalSemanticLanguage GroundingAverage
Octo24.030.010.019.448.328.9
OpenVLA-7B66.035.060.048.188.365.1
UniAct-0.5B(本文)69.066.070.038.873.363.3

UniAct-0.5B 在视觉、运动、物理三个泛化维度上超过 14 倍大的 OpenVLA-7B;在语义泛化与语言接地任务上数值上略低于 OpenVLA(论文表述为”comparable”),作者将其归因于 OpenVLA 更大的 7B 视觉语言骨干带来的语义理解/语言接地优势。WidowX 分任务详细得分见论文 Appendix Table 5(如 visual 子任务 “put eggplant into pot (easy)“:Octo 3.0 / OpenVLA 10.0 / UniAct 10.0;physical 子任务 “flip pot upright”:Octo 1.0 / OpenVLA 2.0 / UniAct 7.0 等,评分制为按任务进度打分而非纯二值成功率)。

LIBERO 仿真(130 任务,5 个 suite:Spatial/Object/Goal/Long/90,各 suite 20 次试验/任务;基线在官方代码上微调以对齐任务类型/专家轨迹数/图像质量)

ModelLIBERO-SpatialLIBERO-ObjectLIBERO-GoalLIBERO-LongLIBERO-90Average
Octo17.512.036.520.032.527.7
OpenVLA-7B43.066.554.513.044.144.1
UniAct-0.5B(本文)64.577.568.046.560.061.3

UniAct-0.5B 在全部 5 个 suite 上均超过两个基线,整体平均成功率比 7B 的 OpenVLA 高 17.2 个百分点(61.3 vs 44.1),比 Octo 高 33.6 个百分点(61.3 vs 27.7)。论文提到 OpenVLA 微调时即便清洗 no-op 数据、增加训练步数,动作准确率仍偏低,而 UniAct 对噪声数据表现出更强鲁棒性。

AIRBOT 快速适配(4 种控制接口 × easy/hard 两个任务版本,成功率%)

ModelRel. EEF (easy/hard)Rel. Joint (easy/hard)Abs. EEF (easy/hard)Abs. Joint (easy/hard)
Octo5.0 / 12.522.5 / 17.52.5 / 0.00.0 / 0.0
OpenVLA-7B32.5 / 22.517.5 / 2.532.5 / 15.02.5 / 7.5
UniAct-0.5B(本文)57.5 / 40.047.5 / 45.052.5 / 30.070.0 / 30.0

UniAct-0.5B 在全部 4 种控制接口、easy 与 hard 两个难度下均一致超过两个基线。

通用动作空间的可解释性分析:人工检查全部 256 个码字在不同机器人上解码出的行为,发现至少 40% 的码字表现出严格一致的语义行为(同一码字在 WidowX 真机与 Franka 仿真等存在巨大 sim-to-real / 视角差异的机器人上,解码出相似的动作,如”向前移动”);论文进一步展示可以完全不依赖机器人运动学知识、仅靠手选码字序列来操纵机器人完成 pick&place 等任务。

码字利用率的 JS 散度分析(论文 Table 1,P=pick up bowl,O=open drawer 两个任务,WidowX/Franka 两个机器人,数值越低说明利用率分布越一致)

P_WidowXP_FrankaO_WidowXO_Franka
P_WidowX00.340.450.51
P_Franka0.3400.600.58
O_WidowX0.450.6000.44
O_Franka0.510.580.440

同一任务、不同机器人之间的码字利用率分布差异(P_WidowX vs P_Franka = 0.34;O_WidowX vs O_Franka = 0.44)明显小于同一机器人、不同任务之间的差异(P_WidowX vs O_WidowX = 0.45;P_Franka vs O_Franka = 0.58),说明选码器确实在按”任务进展”而非”本体身份”分配码字。

创新点与影响

  • 核心创新:把跨本体动作异构性问题重新表述为”学一个目标条件的离散通用动作码本 + 逐本体轻量解码”,而不是强行统一动作空间或朴素聚合各本体动作空间;选码器以 VLM 为骨干、以任务目标 g 为条件(而非解释帧间视觉差异),使码字与真实控制行为存在因果连接,这是相对 LAPA/IGOR/LAPO 等隐动作方法的关键区别。
  • 参数效率:0.5B 的 UniAct 在 WidowX 真机视觉/运动/物理泛化与 LIBERO 全部 5 个 suite 上超过 14 倍大的 OpenVLA-7B;新本体适配只需极小的新增参数(4M/500M ≈ 0.8%,小于 OpenVLA 的 1.4% 与 Octo 的 2%),且无需对新数据做动作空间清洗。
  • 可解释性:256 个码字里至少 40% 展现跨本体、跨 sim-to-real gap 的一致语义行为,甚至可以直接手选码字序列”盲操作”机器人完成任务,论文认为这为把通用动作当作未来更大规模具身基础模型的”动作 tokenizer”(服务于世界模型规划等场景)提供了可能性。
  • 作者自陈局限(论文 Appendix D):(1) 当前仅在单臂机器人、不同控制接口设置上验证,尚不确定”通用动作”这一共性是否只存在于同类本体(机械臂)之间,还是能推广到双臂、灵巧手、四足乃至自动驾驶车辆等结构差异更大的本体;(2) 当前所有解码头统一用简单 MLP 以避免过拟合,但更复杂的本体(如双臂)理论上需要更复杂的解码头,如何按本体复杂度定制解码头容量尚未探索;(3) 是否”更多数据/更多本体”必然带来更好的通用动作空间(scaling law)尚未研究;(4) 通用动作作为未来世界模型 tokenizer 的潜力仅停留在讨论层面,未做实验验证。

原始链接

一手源存档(sources/)

  • uniact—github-readme — GitHub README 快照(模型加载/推理示例、Model Zoo 权重与已发布成功率、训练/快速适配脚本)
  • uniact—project-page — 项目主页快照(摘要、WidowX/LIBERO/AIRBOT 三张完整评测表、交互式”手选码字控制机器人”演示说明)
  • uniact—hf-card — HuggingFace 模型卡快照(license、指向论文/代码的极简卡片)
  • arXiv 原文 PDF/HTML(2501.10105,CVPR 2025 收录,v1 2025-01-17 / v2 2025-03-08)——不入 git,见上方原始链接