引言: “诺曼门”难题

我们都有过这种经历。你走到一扇门前,抓住把手,用力一拉。门纹丝不动。你有些尴尬地意识到,这扇门应该是推的。

这种被称为“诺曼门 (Norman Door) ”的场景,凸显了机器人技术中的一个根本挑战: 视觉歧义 。 在机器人的摄像头看来,推拉门和拉门通常看起来一模一样。两个盒子外观可能相同,但一个是空的,另一个左侧却装满了铅块。

在机器人领域,依靠单一的世界快照来处理这些场景的系统注定会失败。为了成功,机器人必须像人类一样行事: 尝试一个动作,观察结果 (门动了吗?) ,更新其内部模型,然后再试一次。这就是交互式感知

然而,教机器人有效地从历史中学习是非常困难的。今天,我们将深入探讨一篇新论文 “Learn from What We HAVE” , 该论文提出了一种新颖的架构,称为 历史感知验证器 (History-Aware VErifier, HAVE) 。 研究人员没有尝试训练一个巨大的“大脑”来根据历史预测完美动作,而是提出了一个更聪明的划分: 使用一个具有创造力的生成器来构思选项,并使用一个严格的、具有历史感知能力的裁判来验证它们。

核心挑战: 歧义性与多模态

在部分可观测马尔可夫决策过程 (POMDP) 中,机器人不知道世界的真实状态 (例如铰链的摩擦力或质心位置) 。它只能看到观测结果 (点云或图像) 。

当环境具有歧义性时,通常存在多种有效的交互方式,或称“模态”。对于一扇关闭的门,有效的初始动作可能包括“向左推”、“向右推”、“向左拉”或“向右拉”。

标准的深度学习方法是条件生成 : 训练一个扩散模型或策略,将交互历史作为输入并输出下一个动作。虽然这听起来合乎逻辑,但在实践中往往会失败。为什么?

  1. 模式坍塌 (Mode Collapse) : 条件模型通常难以捕捉所有不同的可能性 (模态) ,往往会退化为一种“平均”行为,结果什么都做不好。
  2. 数据效率低: 训练模型从视频历史中隐式地理解物理规律需要海量的数据。

HAVE 的作者们采用了受大型语言模型 (LLM) 近期成功启发的不同路线: 生成-验证范式。

方法: 将创造力与逻辑解耦

HAVE 的核心洞察在于,生成潜在动作和选择最佳动作是两个不同的问题,应该分开解决。

该系统由两个不同的模块组成:

  1. 生成器 (The Generator) : 一个无条件的扩散模型,仅基于当前观测提出多个候选动作。它不关心历史;它只是建议几何上看似合理的动作 (例如,“这里有个把手,也许可以抓它”) 。
  2. 验证器 (HAVE) : 一个具有历史感知能力的模型,对这些提议进行评分。它回顾过去 (例如,“我们刚才试着抓那个把手拉了一下,但失败了”) ,并给可能成功的动作打高分,给可能重复过去失败的动作打低分。

1. 生成器

生成器使用扩散 Transformer (DiT) 。它接收一个含噪声的 3D 关节流 (Articulation Flow) 和当前的点云观测,通过迭代去噪生成清晰的动作提议。

图 12: 动作生成器架构

如图 12 所示,生成器使用 PointNet++ 来编码几何信息。重要的是,这个生成器在历史方面是无条件的。它只是问: “有哪些抓取这个物体的有效方式?”这确保了提议的高度多样性,防止机器人陷入尝试相同失败动作的死循环。

2. 历史感知验证器 (HAVE)

这是论文的核心。验证器的工作是查看生成器提出的一批动作,并挑选出胜者。

该架构 (图 1) 专门设计用于推理因果关系。

图 1: HAVE 架构: 提议动作和历史动作通过 PointNet++ 进行编码以理解 3D 几何结构,并通过自注意力层进行序列推理。历史结果也进行类似的编码。它们一起通过一个显式注意力层以获得最终评分。

工作原理:

  1. 编码器: 系统对动作提议 (被评判的候选项) 、动作历史 (机器人之前做了什么) 以及结果历史 (之前的动作后物体如何移动——或没移动) 进行编码。
  2. 观测流: “结果”不仅仅是静态图像。模型计算时间步之间的 3D 流,以显式地表示运动。
  3. 注意力机制: 这是关键步骤。模型使用一个注意力层,其中:
  • 查询 (Query, Q) : 当前的动作提议。
  • 键 (Key, K) : 过去的动作。
  • 值 (Value, V) : 过去的结果。

这种结构迫使网络去问: “这个提议的动作 (Q) 与我之前做的动作 (K) 有多相似,结果 (V) 是什么?” 如果提议与过去导致零移动 (失败) 的动作相似,网络就会学会给它分配一个低分。

理论动机: 为什么验证更有效

你可能会问: “为什么不直接训练一个更好的生成器?”

作者提供了一个令人信服的理论依据。他们证明,即使你的生成器很平庸,只要验证器比随机猜测稍微好一点,也能显著提高预期回报。

图 7: 预期回报与模拟回报关于样本数量的关系: 我们可以看到不同生成器和验证器精度下,验证器带来的预期和模拟改进。

图 7 阐释了这个概念。即使生成器 (成功概率 \(p_G\)) 很低 (例如 0.2) ,使用具有合理准确率 (\(p_V\)) 的验证器,随着采样更多候选项 (\(N\)) ,系统的性能也会飙升。

通过采样 \(N\) 个动作,你增加了这批动作中至少存在一个“好”动作的概率。验证器只需要识别出它即可。这比强迫生成器在第一次尝试时就输出唯一最佳动作要容易得多。

实验与结果

团队在模拟环境和真实世界中测试了 HAVE,涵盖了三个涉及根本歧义性的不同任务。

1. 多模态门 (推/拉问题)

他们创建了一个门的数据集,这些门看起来一模一样,但开启方向不同 (推/拉,左/右) 。

图 2: 多模态门数据集性能: 左图显示了模拟中构建的多模态门示例,几何形状相同但开启方向不同。右侧柱状图展示了有效性指标“失败率”和效率指标“开启步数”,我们可以从中看到我们的方法相对于基线和消融架构的改进。

在图 2 中,我们看到了失败率。“仅生成器 (Generator Only) ” (基于几何形状猜测) 经常失败,因为它就像抛硬币一样。 FlowBot3D条件扩散 (Conditional Diffusion) 等基线方法也很吃力。而 HAVE 大幅降低了失败率。它还以更少的步数打开门,证明它学到了有效的探索策略。

2. 真实世界验证

模拟虽然有用,但现实世界是复杂的。作者将 HAVE 部署在面对定制歧义门的 Franka Emika Panda 机器人上。

图 3: 真实世界歧义门性能: 左侧是歧义门的视觉外观及其 4 种开启模式。我们为每种模式收集了 5 次试验。从柱状图中我们可以看到,HAVE 展示了更稳定、更高效的开启过程。

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

为了可视化这个“思考”过程,请看下面的分析:

图 18: 真实世界分析 (示例 1) : 尽管生成器频繁生成“向左推”这一失败模式,HAVE 仍抑制了该模式并打开了门。

在图 18 中,生成器频繁建议“向左推” (高蓝柱) 。然而,机器人之前尝试过向左推并失败了 (步骤 1) 。因此,验证器给“向左推”分配了非常低的分数 (右侧图表中的负值) ,并选择了“向右拉”,从而解决了任务。这就是显式的历史感知推理在起作用。

3. 不均匀物体抓取

第三个任务涉及抓取质心未知的物体——比如重锤或重量分布不均的棒。如果你抓在几何中心,它会倾斜并掉落。你必须通过探索找到平衡点。

图 17: 不均匀物体数据集示例: 从左到右,我们展示了不均匀物体数据集中棒、刀、复杂书签和不规则书签的视觉外观示例。

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

图 6: 表 2: 给定最大步数下歧义棒数据集和未见数据集的失败率 % (↓): 越低越好。 图 4: 动作序列 (点) 和理论质心范围 (条) 的可视化: “条件扩散”需要 5 步才能成功,而 HAVE (我们的) 仅需 3 步,且每次尝试都在理论质心范围内。

图 4 (在上图右侧可视化) 特别具有启发性。

  • 左图 (条件扩散) : 基线方法乱试一气。它试了最左边,然后是最右边,未能缩小解决方案的范围。
  • 右图 (HAVE) : 阴影条代表从之前的失败中推导出的“理论质心范围”。HAVE 选择的动作 (红点) 严格停留在这些逻辑边界内。它就像二分查找算法一样,缩小可能性范围,直到仅用 3 步就获得成功。

失败率 (图中的表 2) 证实了这一点: HAVE 在已知棒和未见物体 (如刀和书签) 上的失败率都显著降低。

为什么 HAVE 效果这么好?

我们可以将 HAVE 的成功归结为论文提供的几个关键分析见解。

对噪声的鲁棒性

作者比较了 HAVE 的双分支架构与仅将动作和观测拼接在一起的“普通 Transformer (Vanilla Transformer) ”。

图 5: 普通 Transformer 和 HAVE 之间的比较: 对噪声观测流的鲁棒性。

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

样本效率

验证器需要看多少个生成的动作才能做出好的决定?

图 6: 时间与准确率 vs 样本数量: 左图绘制了生成器和验证器的时间消耗关于生成样本数量的关系 (验证器历史长度 = 5) ;右图绘制了失败率关于样本数量的关系,比较了 HAVE 和预言机验证器 (总是从给定批次中选择最佳样本) 。关于预言机实验的详细信息见附录 C.1。

图 6 (右) 显示,当样本数量从 1 增加到约 5 时,性能急剧提高。在那之后,收益递减。这对于实时机器人技术来说是个好消息——你不需要生成 1000 个样本。只需生成 5-10 个候选项并进行验证,就足以击败基线。

从失败中学习

最后,研究人员可视化了验证器的内部分数,看看它是否真的“理解”了失败。

图 21: 失败历史分析 (平均分数) : 不同失败历史下的验证器分数分析。与失败模式匹配的动作获得较低的分数,显示了验证器从失败历史中学习的能力。

图 21 证实了这一点。当历史包含失败 (例如 1 步失败历史) 时,该特定“失败模式”的分数降至接近零,而“其他模式”的分数上升。随着机器人积累更多的失败 (2 步、3 步) ,这种区分变得更加明显。模型有效地学会了: “我已经试过 X 和 Y 了,所以答案肯定是 Z。”

结论

HAVE 论文展示了我们在歧义环境中处理机器人操作方式的转变。作者没有试图强迫单一生成模型“无所不知”,而是展示了解耦的力量。

通过使用无条件生成器提供多样性,并使用历史感知验证器提供逻辑,机器人可以:

  1. 推理过去的交互以避免重复错误。
  2. 在歧义场景中 (如寻找质心) 缩小可能性范围
  3. 在数据充满噪声的真实世界中高效运行

这种“先生成后验证”的方法反映了人类解决问题的方式——我们构思解决方案,然后根据经验批判性地评估它们。赋予机器人同样的能力,使我们离能够真正处理现实世界不可预测性的机器更近了一步。