想象一下你正试着把一张大沙发搬进一道狭窄的门。在你动手之前,你很可能会先在脑海中模拟这个过程。你会想象如果以 45 度角倾斜沙发,沙发腿会被卡住,于是你会修改计划,决定先拆掉沙发腿。这个过程——心理模拟,继而进行批判和修正——对人类来说是第二天性。在认知科学中,这通常与“系统2”思维联系在一起: 缓慢、深思熟虑且合乎逻辑。

然而,机器人通常难以做到这一点。虽然最近的视觉语言模型 (VLMs,如 GPT-4V 或 Gemini) 赋予了机器人令人印象深刻的“看”和“描述”世界的能力,但它们的表现通常更像是“系统1”思维者: 快速、直觉化,但容易犯冲动性错误。它们可能识别出一块需要移动的积木,但却意识不到现在移动它会导致一堆其他积木在五步之后倒塌。

在研究论文 《Reflective Planning: Vision-Language Models for Multi-Stage Long-Horizon Robotic Manipulation》 (反思性规划: 面向多阶段长视距机器人操作的视觉语言模型) 中,研究人员介绍了一种新颖的框架,赋予了 VLM 这种缺失的能力: 想象未来并对其进行反思的能力。

本文将探讨这种被称为 ReflectVLM 的方法,它是如何将大模型的语义知识与“心眼” (即扩散模型) 相结合,从而解决那些甚至难倒了最先进商业模型的复杂长视距难题。

问题所在: 为什么 VLM 难以处理物理问题

视觉语言模型是在互联网规模的数据上训练的。它们知道“苹果”是“红色”的,“勺子”应该放在“碗”里。然而,它们缺乏对复杂物理和时间因果关系的根本理解。

当机器人面对多阶段操作任务时——比如组装一个复杂的互锁拼图——它不能仅仅看着当前状态就猜测下一步动作。它需要向前看。

  1. 长视距依赖 (Long-Horizon Dependencies) : 在第 1 步犯的错误可能直到第 10 步才会导致失败。
  2. 物理约束: 积木可能是互锁的。你不能在移除积木 A 之前插入积木 B,但 VLM 可能只是看到“积木 B 能放进洞里”就试图把它塞进去。
  3. 误差累积 (Error Compounding) : 在一个 50 步的任务中,如果每一步的成功率是 95%,那么总成功率将低于 8%。一个小失误,整个计划就会泡汤。

传统的机器人技术通过“任务与运动规划” (TAMP) 来解决这个问题,TAMP 使用严格的符号逻辑。但 TAMP 需要完美了解每个物体的几何形状和质量,这在现实世界中很少能获得。我们需要的是兼具 VLM 的灵活性和 TAMP 的规划严谨性。

解决方案: 反思性规划

研究人员提出了一种测试时 (test-time) 计算框架,使 VLM 能够在行动前“思考”。其核心直觉很简单: 不要只预测下一个动作。要预测该动作的结果,审视它,然后问自己: “这是我想要的吗?”

如下图 Figure 1 所示,该系统包含一个 VLM (规划器) 和一个扩散动力学模型 (模拟器) 。

Figure 1. 反思性规划。我们的方法使用 VLM 提出动作,并使用扩散动力学模型来想象执行该计划后的未来状态。想象出的未来状态有助于 VLM 对初始计划进行反思并提出更好的动作。

该过程在一个循环中工作:

  1. 提议 (Propose) : VLM 建议一个动作 (例如,“拿起紫色积木”) 。
  2. 想象 (Imagine) : 生成模型创建一张图像,展示该动作之后世界的样子。
  3. 反思 (Reflect) : VLM 观察这个“想象的未来”。如果结果看起来很糟糕 (例如,积木倒了) ,它会修改其计划 (例如,“实际上,应该拿起黄色积木”) 。

让我们深入了解使这一切成为可能的技术架构。

核心方法: 深入架构内部

该框架建立在两大支柱之上: 交互式后训练 (教 VLM 如何反思) 和 扩散动力学模型 (给 VLM 一种看见未来的方式) 。

1. 教 VLM 学会反思

标准的 VLM 被训练用来描述图像或回答问题。它们天生并非被训练来批判自己的机器人计划。为了解决这个问题,作者使用了一种受模仿学习启发的后训练策略。

他们假设在训练期间可以访问一个“专家策略” (预言机) 。这个专家知道最优的移动步骤。训练数据是通过在环境中运行 VLM 并对其进行修正来生成的。

至关重要的是,他们从这些交互中生成了两类训练样本,如 Figure 2 所示:

Figure 2. 训练数据生成。反思机制的训练数据是通过重新标记 (relabeling) rollouts 来收集的。对于每个时间步,生成两个训练样本: (Q1, A1) 用于动作提议,(Q2, A2) 用于反思。H 是想象视距,h 是历史长度。a_t^* 是由专家策略给出的动作标签。

  • 任务 1: 动作提议 (Q1, A1): “这是当前状态 \(I_t\) 和目标 \(I_g\)。我该做什么?”标签是专家动作 \(a^*_t\)。
  • 任务 2: 反思 (Q2, A2): “这是当前状态、目标,以及如果你遵循当前计划未来看起来样子的照片 (\(I_{t+H}\)) 。我该做什么?”标签仍然是专家动作 \(a^*_t\)。

第二个任务是关键所在。它迫使 VLM 学习视觉结果与正确决策之间的关联。如果未来的图像 \(I_{t+H}\) 显示出一团糟,VLM 就会学会输出一个能避免这种混乱的动作。

该模型使用组合的交叉熵损失函数进行优化:

结合动作提议和反思的损失函数方程。

这个方程确保模型在根据视觉反馈提议动作完善动作这两方面同时变得更好。

2. 想象引擎: 扩散动力学模型

为了让 VLM 进行反思,它需要一张图像来作为反思的对象。在现实世界中,你无法“撤销”机械臂撞坏桌子的操作。你需要一个模拟器。

作者训练了一个 扩散动力学模型 (DDM) 。 这充当了一个学习到的世界模型。它接收当前图像 (\(I_t\)) 和一个动作的文本描述 (\(a_t\)) ,并生成下一帧图像 (\(I_{t+1}\)) 。

Figure 3. 扩散动力学模型的架构,由潜在编码器、文本编码器、扩散 UNet 和潜在解码器组成。潜在编码器和文本编码器在训练期间被冻结,而扩散 UNet 和潜在解码器在我们的任务数据上进行微调。N: 随机噪声。

Figure 3 所示,该架构利用了预训练的 “InstructPix2Pix” 模型。

  • 编码器: 图像和文本动作被编码为潜在表示 (\(z_t\) 和 \(z_{a_t}\)) 。
  • 扩散 U-Net: 该网络接收噪声,并以当前状态和动作为条件对其进行去噪,转化为未来状态。
  • 解码器: 将潜在表示转换回像素完美的未来图像。

这种方法比从头编写物理引擎要灵活得多,因为它直接从视觉数据中学习。

3. 推理: “反思性规划”算法

在测试时 (当机器人实际工作时) ,系统将这些部分组合在一起。

  1. 初始提议: VLM 查看当前棋盘和目标。它建议一系列动作。
  2. 模拟循环: 扩散模型接收这些动作并递归生成帧: \(I_t \rightarrow I_{t+1} \rightarrow \dots \rightarrow I_{t+H}\)。
  3. 反思: VLM 接收原始目标、当前状态和最终想象的状态 (\(I_{t+H}\)) 。
  4. 决策: VLM 决定是坚持原计划还是输出纠正后的动作。

下面的 Figure 4 提供了一个这种机制实际运行的精彩“连续画面”示例。请看第 15 步。

Figure 4. 我们的方法解决复杂组装任务的连续画面。帧按时间步索引。目标图像位于左上角 (带绿色边框) 。每一帧都是执行上方动作 (黑色字体) 后的观察结果。灰色字体的另一个动作是 VLM 在反思后若修改计划原本提议的动作。我们高亮了第 15 步的反思过程,VLM 最初提议拿起紫色积木,但在反思后,它选择改为拿起黄色积木,因为生成的未来状态 (红框图像) 显示这离目标进展甚微。

在第 15 步,VLM 最初想“拿起紫色积木”。然而,系统模拟了这一过程,并 (通过扩散模型) 意识到这会导致不良状态。反思机制介入,批判了该计划,并将动作切换为“拿起黄色积木”。这种自我纠正的能力正是防止困扰其他方法的误差累积的关键。

实验与结果

为了测试这一点,研究人员创建了一个用于互锁拼图任务的程序化生成引擎。这些不仅仅是堆叠积木;它们是组装任务,碎片必须按特定顺序插入 (例如,你不能在砌墙之前盖屋顶) 。

Figure 5. 任务示例。(a) 生成的具有互锁碎片的对阶段操作任务。上: 初始配置。下: 目标配置。(b) 图表显示了左侧蓝色组装板中物体之间的依赖关系。每个节点代表一个物体,每条有向边表示前驱物体应在后继物体之前组装。

Figure 5 所示,依赖关系可以建模为一个图,尽管机器人从未看到这个图——它只看到 RGB 图像。

表现如何?

结果非常鲜明。团队将 ReflectVLM 与最先进的商业模型 (GPT-4o, GPT-o1, Gemini 2.0) 以及传统的规划方法如蒙特卡洛树搜索 (MCTS) 进行了比较。

Figure 6. 我们的方法与基线方法的性能对比。100 个任务上的成功率 (%)。对于最先进 VLM 和 MCTS 的零样本测试,实验进行了一次;对于其他方法,结果是五个种子的平均值。

Figure 6 揭示了几个关键结论:

  1. 商业 VLM 失败: 即使是像 GPT-o1 这样强大的推理模型,也只达到了 15% 的成功率。它们根本无法处理这些拼图所需的细粒度物理因果关系。
  2. MCTS 挣扎: 令人惊讶的是,在 VLM 中添加蒙特卡洛树搜索 (一种标准的规划算法) 也仅达到了 24% 。 MCTS 计算量大,且对“价值函数” (机器人如何为状态打分) 非常敏感。在这些拼图中,大多数状态在最后一步之前看起来都是“中性”的,这使得标准搜索算法难以发挥作用。
  3. ReflectVLM 占据主导地位: 提出的方法 (Ours w/ diffusion) 达到了 82.4% 的成功率。它甚至可以与使用真实模拟器的方法 (“Ours w/ sim” 达到 85.4%) 相媲美,证明了学习到的扩散模型足够准确且实用。

它高效吗?

对“会思考”机器人的一个常见批评是它们太慢了。如果每走一步都要运行模拟,机器人会不会卡顿几分钟?

Table 2. 推理计算成本。每步推理的挂钟时间。MCTS 结果是 100 个任务和 1 个种子的平均值;其他结果是 100 个任务和 5 个种子的平均值。所有实验均在单个 A100 GPU 上完成。

Table 2 比较了推理时间。

  • MCTS: 每步约 391 秒。对于实时机器人来说,这慢得令人痛苦。
  • ReflectVLM (w/ diffusion): 每步约 11 秒。

虽然 11 秒并非反射意义上的“实时”,但对于复杂组装任务的高层规划来说,这是完全可以接受的。它比传统搜索方法快几个数量级,同时准确率显著更高。

结论与启示

论文 Reflective Planning 为下一代机器人智能体提供了一个令人信服的蓝图。它让我们从“盲目遵循指令”的范式转向“深思熟虑的推理”。

通过将 VLM 的语义理解与扩散模型的视觉前瞻相结合,作者创建了一个能够做到以下几点的系统:

  1. 可视化其行为的后果。
  2. 基于物理约束批判其自己的计划。
  3. 在错误发生之前恢复并修正。

这种“系统2”方法——三思而后行——很可能是通用机器人未来的发展方向,使它们能够在像我们的家庭和车间这样的非结构化环境中运行。随着扩散模型变得更快、更准确,机器人“梦想”未来的能力只会变得更加强大。