闭着眼睛抓方块:ASTEROID 如何让机器人学会"摸着石头过河"
一个简单的问题
你让一个机器人抓桌子上的方块。但机器人的摄像头关了。
它只能感觉到自己手臂的位置(关节角度、夹爪开合度),看不见方块在哪。它该怎么办?
传统方案是行为克隆(BC):让一个能看见的专家演示一遍,学生机器人照着学。但问题是——专家是看着方块直接抓的,它的轨迹里没有"探索"这个动作。学生看不见方块,照搬专家轨迹,第一次抓空了就彻底卡住——它不知道下一步该往哪摸。
这是所有部分可观测问题(POMDP)的经典困境:有特权的老师不知道怎么探索,没特权的学生需要自己探索。
华盛顿大学 WEIRD Lab 的 ASTEROID 论文给出了一个优雅的解决方案:非对称在线策略蒸馏。老师只负责在学生到达的地方给出正确答案,学生负责自己走到那里。两者协同,学生学会了"摸着石头过河"的能力。
核心矛盾:为什么传统蒸馏学不会探索
先说清楚为什么传统方法不行。
行为克隆(BC):学生看专家的轨迹,学着模仿。但专家的轨迹是从"能看见方块"的初始状态开始的——它不需要探索。学生看不见,照搬这条轨迹,一旦偏离就进入分布外(OOD)状态,彻底崩溃。
DAgger:学生自己走,专家在学生到达的每个状态给出正确动作。听起来不错?但在部分可观测下,学生的每个状态(历史)都和专家的状态(完整观测)不同——专家给的动作是基于"我能看见方块在哪",学生需要的是"我看不见,我该怎么探索"。DAgger 教的是"如果我能看见,该怎么动",不是"我看不见,该怎么找"。
DPT(离线上下文训练):用随机收集的交互数据训练一个历史条件策略。但随机交互覆盖不了部署时的真实历史分布——部署时学生会有目的地探索,它的历史和随机历史完全不同。
RL²:用 RL 训练一个循环策略,让它自己学会从交互中推断隐藏信息。理论上最优,但样本效率极低——在高维机器人任务上几乎不可行。
ASTEROID 的洞察是:学生需要自己生成历史(on-policy),但标签需要来自有特权的专家(asymmetric)。这两者的结合是关键。
ASTEROID 的工作流程
ASTEROID 的训练循环可以概括为三步:
第一步:学生自己走,生成历史。 学生从空上下文开始,在环境中交互,产生一条历史轨迹 \(h_t = (o_0, a_0, r_0, ..., o_t, a_t, r_t)\)。这个历史是学生"自己的经验",不是随机数据,也不是专家的轨迹。
第二步:专家在学生到达的状态给出标签。 从学生历史中的某个时间点 \(t\) 开始,切换到专家控制。专家有特权观测(能看见方块),它从这个状态出发,给出后续的正确动作序列。这产生了一组标签 \((o^*_{t:}, a^*_{t:})\)——"在这个历史下,正确的做法是什么"。
第三步:用这些标签训练学生。 训练目标是让学生在历史 \(h_t\) 下输出专家的动作 \(a^*_{t:}\)。关键在于,这个历史是学生自己生成的,所以训练数据天然覆盖部署时的分布。
这和 DAgger 的区别是:DAgger 在每一步都给标签,ASTEROID 给的是多步标签(从 \(t\) 开始的整段轨迹)。多步标签教会学生"在某个假设下坚持走到底",而不是每一步都切换——这避免了"犹豫不决"的 dithering 行为。
上下文长度课程:从短到长
ASTEROID 有一个巧妙的课程学习设计。在第 \(k\) 次迭代时,学生被 rollout \(k\) 个 episode,产生长度为 \(k\) 的历史。随着 \(k\) 增加,学生需要从更长的历史中推断隐藏信息。
这创造了一个自然的课程:
- \(k=1\):只有一个 episode 的历史,学生几乎没信息,只能随机探索
- \(k=2\):两个 episode,学生可以排除一些假设
- \(k=K\):\(K\) 个 episode,学生有足够信息推断隐藏变量
后验采样:ASTEROID 学到的探索策略
ASTEROID 学到的探索行为最接近后验采样(Thompson Sampling)。
后验采样的思路是:维护一个对隐藏变量的后验分布,每次从后验中采样一个假设,然后按照"这个假设是对的"来行动。如果结果和预期一致,后验集中到这个假设;如果不一致,排除这个假设。
ASTEROID 的学生策略天然实现了这一点。在 Ant Navigation 任务中,学生先朝一个方向走,如果没找到目标,就排除那个方向,转向其他方向。这和后验采样的行为模式一致——不是随机游走,是有目的的假设检验。
在 Procgen Maze(程序化生成的迷宫)中,学生用 3×3 的局部观测推断全局迷宫结构。它学会了"探索未访问的区域"而不是"随机游走"——这是后验采样在离散探索任务中的体现。
100 倍样本效率:监督学习 vs RL
ASTEROID 最惊人的数字是样本效率。
在 Wrist-Camera Peg-Insertion 任务(机器人用手腕摄像头探索桌面,找到钉子并插入孔)上,ASTEROID 比 RL 基线(BC+PPO)快约 100 倍。在 Tactile-Pick 任务(只有触觉感知,抓方块)上,ASTEROID 达到 92% 成功率。
原因很简单:ASTEROID 的训练信号是监督学习(专家标签),不是 RL 的稀疏奖励。监督学习每一步都有梯度信号,RL 需要等到 episode 结束才有奖励。在部分可观测的高维任务中,RL 的信用分配问题极其困难,而监督学习直接绕过了它。
打败 Claude Opus 5.5:学习 vs 前沿模型
论文有一个有趣的对比:ASTEROID 训练的策略 vs Claude Opus 5.5 作为策略。
在 Peg-Insertion 任务上,Claude Opus 5.5 被用作"代码即策略"——它看摄像头图像和机器人状态,写一小段代码控制机器人完成当前子任务。在全观测下,Claude 达到 65% 成功率(专家是 90%),但慢 2 倍。
在部分观测下(只有手腕摄像头),Claude 的成功率降到 50%,而 ASTEROID 达到 78%。
这说明:前沿模型能完成全观测任务,但"通过上下文探索"这个能力还不在它们的技能库里。ASTEROID 通过显式训练获得了这个能力,而 Claude 的 in-context learning 还覆盖不了这种需要长期记忆和假设检验的场景。
真实机器人:闭着眼睛抓方块
最酷的实验是真实机器人部署。
机器人在模拟器中训练(Isaac Lab + 域随机化),然后迁移到真实世界。任务:抓起桌上的方块。但摄像头关了——机器人只能用关节角度和夹爪位置来推断方块位置。
BC 基线在第一次抓空后就崩溃了——它进入了训练数据中没见过的状态(夹爪不在方块位置),不知道该怎么办。
ASTEROID 的策略在抓空后会继续探索其他位置——它学会了"如果这个位置没抓到,试下一个位置"。这种"从失败中学习"的行为是 BC 教不出来的,但 ASTEROID 通过 on-policy 历史训练天然获得了。
研究者还展示了一个定性实验:让机器人在箱子里翻找(视觉遮挡是自然的),或者在有视觉干扰物的环境中抓方块。ASTEROID 的策略都能完成——因为它本来就不依赖视觉。
为什么 on-policy 是关键
论文有一个消融实验直接回答了"为什么必须 on-policy"。
对比 ASTEROID 和 AAWR(用离线数据集训练的基线),在 Peg-Insertion 上:
- AAWR 的性能高度依赖离线数据集的多样性和质量
- ASTEROID 不依赖离线数据——它自己生成数据
这也解释了为什么 DPT(离线上下文训练)在连续控制任务上表现很差——随机探索覆盖不了"有目的地探索"的历史。
概念谱系:ASTEROID 在蒸馏谱系中的位置
ASTEROID 处于一个已经很丰富的蒸馏方法谱系中:
- 对称蒸馏(BC):学生和专家观测相同,学生直接模仿专家。不适用于部分可观测。
- 非对称蒸馏(DAgger):学生自己走,专家在学生到达的状态给标签。每步标签,不教多步规划。
- 非对称多步蒸馏(ASTEROID):学生自己走,专家在学生到达的状态给多步标签。教学生"在某个假设下坚持走到底"。
- 隐变量蒸馏(RMA):学生从历史推断隐变量,专家策略基于推断的隐变量行动。但隐变量推断不准时,专家策略会 OOD。
对机器人学习的实际意义
ASTEROID 对机器人学习有三个直接启示:
1. 探索是可以监督学习的。 传统观点认为探索需要 RL(因为探索的定义就是"尝试未知"),但 ASTEROID 证明了:通过 on-policy 历史 + 专家标签,监督学习也能教会探索。这绕过了 RL 的样本效率瓶颈。
2. 非对称蒸馏的关键是多步标签。 每步标签(DAgger)教的是"在这个状态下该做什么",多步标签教的是"在这个假设下该坚持什么"。后者才是探索的本质——你需要在不确定时坚持一个假设足够久,才能验证或推翻它。
3. 部署分布匹配比数据多样性更重要。 离线数据的多样性不等于部署分布的覆盖。on-policy 数据天然匹配部署分布,即使数据量更少,也更有用。
开放问题
ASTEROID 也有局限:
- 依赖特权专家:需要一个有特权观测的专家策略。如果专家本身不好训练(比如任务本身没有特权观测可用),ASTEROID 就不适用。
- 后验采样不是贝叶斯最优:后验采样有好的 regret 保证,但不是最优的——它牺牲了一些探索效率换取可计算性。
- off-support 信息:如果隐藏信息只能在专家支持外收集(专家不会去那些状态),学生就无法减少不确定性。这需要额外的"残差策略"来学习 off-support 探索。
结语
ASTEROID 解决了一个看似矛盾的问题:怎么教一个看不见的学生去探索? 答案是:让它自己走,让看得见的老师在它到达的地方指路。学生学会了"摸着石头过河"——不是因为它被告诉了"石头在哪",而是因为它被告诉了"在你现在这个位置,下一步该怎么走"。
这和人类学习探索的方式惊人地相似。婴儿学走路不是被告诉"重心在哪",而是通过自己的尝试和反馈学会的。ASTEROID 给了机器人同样的机会——用自己的经验学习,而不是照搬别人的轨迹。
100 倍的样本效率提升意味着:我们可能不需要那么多 RL 训练就能教会机器人探索。监督学习 + on-policy 数据可能是一条更实用的路径。在机器人学习从模拟器走向真实世界的今天,这个发现来得正是时候。
---
论文:*ASTEROID: Asymmetric On-Policy Distillation for In-Context Exploration* arXiv:2610.30105 项目主页:weirdlabuw.github.io/asteroid