RoboCat:一个会「自我增值」的机器人通用智能体
🎯 为什么重要:从「一机一任务」到「一脑多体多任务」
机器人学习长期有个尴尬现实:每个任务、每台机器人,都要从头训一个专用策略。数据贵、人工演示贵、迁移难。Foundation model 在视觉和语言上已经证明「大模型 + 多任务 + 微调」可以打破这个魔咒——但机器人多了一个新维度:embodiment(本体),不同的手臂自由度、不同的观测空间、不同的动作空间,怎么用一个模型统一吃下?
💡 核心思想:视觉目标条件 + Gato 序列模型 + 自生成回灌
RoboCat 的本质是一个视觉目标条件(visual goal-conditioned)的自回归 Transformer——继承自 Gato 架构。任务怎么定义?给一张「成功状态」的目标图像 $g_t$,模型就要从当前观察 $o_t=(x_t,I_t)$(本体感觉 + 图像)预测动作 $a_t$:
$$\pi(a_t\mid o_t,g_t)=P_\theta(a_t\mid x_{ RoboCat 处在「Gato(证明通用 token 模型可行)」和「RT-X/Octo/π0(证明规模化数据 + 单一通用策略可行)」之间。它的独特价值是第一次把「自我改进闭环」在真机 36 台机器人上跑通。关联线索:跨本体通用智能体 / foundation agent。 不是。它是纯行为克隆(BC)——只是用大 transformer 序列模型来拟合 $\pi(a\mid o,g)$。RL 专家只是「数据生产者」之一(仿真中训练好后把轨迹倒进训练集),RoboCat 本身不在线 RL。自我改进闭环看起来像 RL,但论文 Broader Impact 明确指出:所有学习都是离线的、数据采集是冻结的模型部署——不在物理世界在线学习。 任务指定方式不同:RT-1/2 用语言指令,PaLM-E 用 VLM 输出语言再喂给低层控制器。RoboCat 用视觉目标图像——更直接、不需要语言标注,但表达力也较弱(论文 §7 未来工作提到语言条件作为下一步)。本体覆盖也不同:RT-1 跨 2 个本体但动作空间相同,RoboCat 跨 5 个本体且动作/观测维度都不同。 因为人类演示 off-policy、稀疏、贵(一次几秒钟);自生成数据 on-policy(贴近模型自身分布)、可大规模(机器人 24h 跑)、且能产生 curriculum 效果。Figure 10 实验证明:同样 500 演示,「直接混训练」<「先微调再采数据回灌」。 会。论文坦率说明 goal 图像含很多无关信息(光照、干扰物位置),且 RoboCat 不解决 goal distance / goal generation / exploration 这些经典 RL 问题。它假设评测时有一组 goal 图像可用——把问题限定在「给定 goal 学策略」,而不是「自己想象 goal」。🛠️ 三个让多本体「一个模型通吃」的关键设计
设计 心智 为什么必要 / 怎么实现
① Tokenize 一切,序列长度可变
把所有本体感觉、图像、目标、动作都拍扁成 token 序列;不同 DoF 的本体感觉 token 数不同
Transformer 原生支持可变长序列;5-DoF Sawyer 和 14-DoF KUKA 用不同的 token 长度 $L,Q$,模型自然吃下;上下文 1024 token ≈ 3 步历史
② VQ-GAN 图像编码(8×8 离散 token)
图像不是像素,是 64 个 codebook 索引
在 ImageNet + Atari + MuJoCo + 机器人图像上预训练并冻结;只编一次大幅加速训练;并让「预测未来图像」变得可行
③ 视觉目标 + Hindsight 重标注
任务定义=一张「成功图像」;任何轨迹的最后一帧都能当 hindsight goal
无需人工标注任务标签;自生成的失败数据也能用(last frame 仍是该任务的合法 goal);同时用「语义等价 goal」(另一条成功轨迹的末帧)
④ 自我改进闭环(核心贡献)
微调→部署→采数据→混合回原训练集→重训下一代
reward model 判成功;policy pool 自动 reset(A 任务的末态可作 B 任务的初态);自生成数据 + 演示 >> 只用演示
论文 Figure 10 的实验直接给出证据:把同样 500 条人类演示直接混进训练集 vs. 先用它微调一个专才、再用专才采几万条 on-policy 数据回灌,后者在 4 个任务上全面胜出。原因:人类演示是 off-policy 的、bang-bang 式的;自生成数据更接近模型自己的分布,是一种「self-distillation + curriculum」的混合体。
📊 关键结果:单模型吃下 253 个任务,KUKA 新本体 1000 演示到 86%
维度 数字(来自原文 Table 1 / Fig.5-11) 训练规模 240 个训练任务 + 13 个微调任务 = 253 个任务变体;5 个本体(2 仿真 + 3 真机);134 个真物体 真机规模 36 台真机器人(15 Panda + 17 Sawyer + 4 KUKA);1.18B 参数(24 层,embedding 2048,FFN 8196) 仿真训练任务成功率 RGB Stacking 82%/80%(Sawyer/Panda 7-DoF);Tower 60%;Pyramid 65%;Lifting 88%;Insertion-peg 75% 真机训练任务成功率 Sawyer 5-DoF Stacking 80%;Panda Lifting(齿轮/水果/蔬菜)54–94%;Insertion-peg 77%;Removal-peg 97% 微调到 全新任务/本体 水果入碗 Insertion-bowl 84%(1000 demos);KUKA 14-DoF Gear lifting 从 0-shot 0% → 500 demos 56% / 1000 demos 86% 对比 RGB Stacking Benchmark RoboCat 80%(均值)vs BC-IMP 79% vs Gato 78%——但 RoboCat 同时还会另外 250 个任务 对比 VFM Baseline(NFNet-f6 / Swin-L) 真机任务上 VFM 在 fine-tune 后几乎全败;RoboCat 仅用 500 演示就远超 VFM 的 1000 演示 自我改进增益 Figure 10:自生成数据 + 演示 > 只用演示,在 4 个 self-improve 任务上全胜 正迁移证据 完整 RoboCat 在 RoboCat-lim 训练子集上反而更好——多任务训练不是干扰,是相互借力 🌐 在领域中的位置
❓ 常见误区
RoboCat 是 RL 吗?
它和 RT-1 / RT-2 / PaLM-E 有什么区别?
为什么不直接用人类演示,非要让模型自己再采一遍?
「视觉目标」会不会有歧义?