引言: “诺曼门”难题
我们都有过这种经历。你走到一扇门前,抓住把手,用力一拉。门纹丝不动。你有些尴尬地意识到,这扇门应该是推的。
这种被称为“诺曼门 (Norman Door) ”的场景,凸显了机器人技术中的一个根本挑战: 视觉歧义 。 在机器人的摄像头看来,推拉门和拉门通常看起来一模一样。两个盒子外观可能相同,但一个是空的,另一个左侧却装满了铅块。
在机器人领域,依靠单一的世界快照来处理这些场景的系统注定会失败。为了成功,机器人必须像人类一样行事: 尝试一个动作,观察结果 (门动了吗?) ,更新其内部模型,然后再试一次。这就是交互式感知 。
然而,教机器人有效地从历史中学习是非常困难的。今天,我们将深入探讨一篇新论文 “Learn from What We HAVE” , 该论文提出了一种新颖的架构,称为 历史感知验证器 (History-Aware VErifier, HAVE) 。 研究人员没有尝试训练一个巨大的“大脑”来根据历史预测完美动作,而是提出了一个更聪明的划分: 使用一个具有创造力的生成器来构思选项,并使用一个严格的、具有历史感知能力的裁判来验证它们。
核心挑战: 歧义性与多模态
在部分可观测马尔可夫决策过程 (POMDP) 中,机器人不知道世界的真实状态 (例如铰链的摩擦力或质心位置) 。它只能看到观测结果 (点云或图像) 。
当环境具有歧义性时,通常存在多种有效的交互方式,或称“模态”。对于一扇关闭的门,有效的初始动作可能包括“向左推”、“向右推”、“向左拉”或“向右拉”。
标准的深度学习方法是条件生成 : 训练一个扩散模型或策略,将交互历史作为输入并输出下一个动作。虽然这听起来合乎逻辑,但在实践中往往会失败。为什么?
- 模式坍塌 (Mode Collapse) : 条件模型通常难以捕捉所有不同的可能性 (模态) ,往往会退化为一种“平均”行为,结果什么都做不好。
- 数据效率低: 训练模型从视频历史中隐式地理解物理规律需要海量的数据。
HAVE 的作者们采用了受大型语言模型 (LLM) 近期成功启发的不同路线: 生成-验证范式。
方法: 将创造力与逻辑解耦
HAVE 的核心洞察在于,生成潜在动作和选择最佳动作是两个不同的问题,应该分开解决。
该系统由两个不同的模块组成:
- 生成器 (The Generator) : 一个无条件的扩散模型,仅基于当前观测提出多个候选动作。它不关心历史;它只是建议几何上看似合理的动作 (例如,“这里有个把手,也许可以抓它”) 。
- 验证器 (HAVE) : 一个具有历史感知能力的模型,对这些提议进行评分。它回顾过去 (例如,“我们刚才试着抓那个把手拉了一下,但失败了”) ,并给可能成功的动作打高分,给可能重复过去失败的动作打低分。
1. 生成器
生成器使用扩散 Transformer (DiT) 。它接收一个含噪声的 3D 关节流 (Articulation Flow) 和当前的点云观测,通过迭代去噪生成清晰的动作提议。

如图 12 所示,生成器使用 PointNet++ 来编码几何信息。重要的是,这个生成器在历史方面是无条件的。它只是问: “有哪些抓取这个物体的有效方式?”这确保了提议的高度多样性,防止机器人陷入尝试相同失败动作的死循环。
2. 历史感知验证器 (HAVE)
这是论文的核心。验证器的工作是查看生成器提出的一批动作,并挑选出胜者。
该架构 (图 1) 专门设计用于推理因果关系。

工作原理:
- 编码器: 系统对动作提议 (被评判的候选项) 、动作历史 (机器人之前做了什么) 以及结果历史 (之前的动作后物体如何移动——或没移动) 进行编码。
- 观测流: “结果”不仅仅是静态图像。模型计算时间步之间的 3D 流,以显式地表示运动。
- 注意力机制: 这是关键步骤。模型使用一个注意力层,其中:
- 查询 (Query, Q) : 当前的动作提议。
- 键 (Key, K) : 过去的动作。
- 值 (Value, V) : 过去的结果。
这种结构迫使网络去问: “这个提议的动作 (Q) 与我之前做的动作 (K) 有多相似,结果 (V) 是什么?” 如果提议与过去导致零移动 (失败) 的动作相似,网络就会学会给它分配一个低分。
理论动机: 为什么验证更有效
你可能会问: “为什么不直接训练一个更好的生成器?”
作者提供了一个令人信服的理论依据。他们证明,即使你的生成器很平庸,只要验证器比随机猜测稍微好一点,也能显著提高预期回报。

图 7 阐释了这个概念。即使生成器 (成功概率 \(p_G\)) 很低 (例如 0.2) ,使用具有合理准确率 (\(p_V\)) 的验证器,随着采样更多候选项 (\(N\)) ,系统的性能也会飙升。
通过采样 \(N\) 个动作,你增加了这批动作中至少存在一个“好”动作的概率。验证器只需要识别出它即可。这比强迫生成器在第一次尝试时就输出唯一最佳动作要容易得多。
实验与结果
团队在模拟环境和真实世界中测试了 HAVE,涵盖了三个涉及根本歧义性的不同任务。
1. 多模态门 (推/拉问题)
他们创建了一个门的数据集,这些门看起来一模一样,但开启方向不同 (推/拉,左/右) 。

在图 2 中,我们看到了失败率。“仅生成器 (Generator Only) ” (基于几何形状猜测) 经常失败,因为它就像抛硬币一样。 FlowBot3D 和 条件扩散 (Conditional Diffusion) 等基线方法也很吃力。而 HAVE 大幅降低了失败率。它还以更少的步数打开门,证明它学到了有效的探索策略。
2. 真实世界验证
模拟虽然有用,但现实世界是复杂的。作者将 HAVE 部署在面对定制歧义门的 Franka Emika Panda 机器人上。

图 3 中的结果与模拟一致。“基线 (Baseline) ” (FlowBot3D) 经常卡住或需要很多步才能打开门。HAVE 在不同模式 (左推、右推等) 下始终保持 100% 的成功率,并且平均步数更少。机器人尝试一个动作,意识到失败了,然后立即转向正确的模式。
为了可视化这个“思考”过程,请看下面的分析:

在图 18 中,生成器频繁建议“向左推” (高蓝柱) 。然而,机器人之前尝试过向左推并失败了 (步骤 1) 。因此,验证器给“向左推”分配了非常低的分数 (右侧图表中的负值) ,并选择了“向右拉”,从而解决了任务。这就是显式的历史感知推理在起作用。
3. 不均匀物体抓取
第三个任务涉及抓取质心未知的物体——比如重锤或重量分布不均的棒。如果你抓在几何中心,它会倾斜并掉落。你必须通过探索找到平衡点。

系统需要观察物体在之前的尝试中是如何倾斜的,以猜测质心在哪里。

图 4 (在上图右侧可视化) 特别具有启发性。
- 左图 (条件扩散) : 基线方法乱试一气。它试了最左边,然后是最右边,未能缩小解决方案的范围。
- 右图 (HAVE) : 阴影条代表从之前的失败中推导出的“理论质心范围”。HAVE 选择的动作 (红点) 严格停留在这些逻辑边界内。它就像二分查找算法一样,缩小可能性范围,直到仅用 3 步就获得成功。
失败率 (图中的表 2) 证实了这一点: HAVE 在已知棒和未见物体 (如刀和书签) 上的失败率都显著降低。
为什么 HAVE 效果这么好?
我们可以将 HAVE 的成功归结为论文提供的几个关键分析见解。
对噪声的鲁棒性
作者比较了 HAVE 的双分支架构与仅将动作和观测拼接在一起的“普通 Transformer (Vanilla Transformer) ”。

图 5 显示,虽然两者在完美数据 (GT obs flow) 下都表现良好,但在使用估计流 (DELTA) 时 (这也是真实机器人的情况) ,HAVE 的鲁棒性要强得多。通过显式构建“我提议了什么”和“历史上发生了什么”之间的注意力结构,HAVE 不太容易被噪声传感器数据迷惑。
样本效率
验证器需要看多少个生成的动作才能做出好的决定?

图 6 (右) 显示,当样本数量从 1 增加到约 5 时,性能急剧提高。在那之后,收益递减。这对于实时机器人技术来说是个好消息——你不需要生成 1000 个样本。只需生成 5-10 个候选项并进行验证,就足以击败基线。
从失败中学习
最后,研究人员可视化了验证器的内部分数,看看它是否真的“理解”了失败。

图 21 证实了这一点。当历史包含失败 (例如 1 步失败历史) 时,该特定“失败模式”的分数降至接近零,而“其他模式”的分数上升。随着机器人积累更多的失败 (2 步、3 步) ,这种区分变得更加明显。模型有效地学会了: “我已经试过 X 和 Y 了,所以答案肯定是 Z。”
结论
HAVE 论文展示了我们在歧义环境中处理机器人操作方式的转变。作者没有试图强迫单一生成模型“无所不知”,而是展示了解耦的力量。
通过使用无条件生成器提供多样性,并使用历史感知验证器提供逻辑,机器人可以:
- 推理过去的交互以避免重复错误。
- 在歧义场景中 (如寻找质心) 缩小可能性范围 。
- 在数据充满噪声的真实世界中高效运行 。
这种“先生成后验证”的方法反映了人类解决问题的方式——我们构思解决方案,然后根据经验批判性地评估它们。赋予机器人同样的能力,使我们离能够真正处理现实世界不可预测性的机器更近了一步。
](https://deep-paper.org/en/paper/2509.00271/images/cover.png)