引言
想象一下倒咖啡的场景。你拿起水壶,对准壶嘴,然后倾斜。此时,如果你的视线瞬间模糊,或者灯光闪烁了一下,你会把水壶扔掉吗?大概率不会。你会依赖肌肉记忆以及前一刻的动作上下文——你知道自己正处于倾倒动作的中间,所以你会平稳地继续这一动作。
然而,对于机器人来说,这种连续性却出奇地难。现代机器人操作在很大程度上依赖于 模仿学习 (Imitation Learning, IL) , 即机器人通过模仿人类演示来学习技能。该领域内一种流行的方法是 扩散策略 (Diffusion Policy, DP) , 它将机器人的动作生成视为一个去噪过程。虽然这种方法很强大,但标准的 DP 往往将动作视为相对独立的,或者过度依赖于世界的瞬时状态。
问题在于: 在现实世界中,传感器存在噪声,摄像头会被遮挡,硬件也存在局限性。当视觉输入质量下降时,一个仅仅依赖“我现在看到了什么”的机器人很容易失败。它缺乏时间上下文——即它自身运动的“历史”——来填补这一空白。
在这篇文章中,我们将深入探讨一篇题为 “CDP: Towards Robust Autoregressive Visuomotor Policy Learning via Causal Diffusion” (CDP: 通过因果扩散实现鲁棒的自回归视觉运动策略学习) 的论文。研究人员提出了一种新的框架,即 因果扩散策略 (Causal Diffusion Policy, CDP) , 该框架明确地将动作预测建立在历史动作序列的条件之上。通过这种方式,机器人学会了推理时间连续性,从而能够抵御糟糕的传感器数据。此外,为了使这一计算繁重的过程快到足以进行实时控制,他们引入了一种巧妙的 缓存共享机制 (Cache Sharing Mechanism) 。

如上图 1 所示,当视觉观测退化 (如 B 面板中的低分辨率输入) 时,标准机器人 (C 面板) 无法抓取障碍物。然而,通过利用 时间动态上下文 (Temporal Dynamic Context) ——具体来说是先前动作的历史——CDP 智能体 (D 面板) 成功完成了任务。
背景: 一致性的挑战
在剖析解决方案之前,让我们先建立基准。
机器人技术中的扩散模型 扩散模型通过学习逆转噪声过程来工作。在图像生成中,你从静态噪声开始,将其去噪成一张图片。在机器人技术中,特别是 扩散策略 (DP) , 模型从一条充满噪声的动作轨迹开始,并在机器人观测 (如摄像头图像) 的条件下,将其细化为平滑的、专家级的运动规划。
问题: 分布偏移与独立性 标准的 DP 通常采用朴素的行为克隆方法。它通常基于当前的观测来建模动作。虽然它可能会生成一连串动作,但它并不总是严谨地考虑决策的顺序结构。
这导致了两个主要问题:
- 分布偏移 (Distributional Shift) : 某一时间步的小预测误差可能会将机器人推向一个稍微陌生的状态。如果模型不考虑它是如何到达那里的 (历史) ,它可能会犯另一个错误。这些错误会累积,最终导致机器人偏离航线并失败。
- 对观测质量的敏感性: 如果摄像头画面变得嘈杂或分辨率下降 (这在实时硬件限制中很常见) ,规划抓取所需的“空间约束”就会消失。如果没有“我刚才向左移动了”的记忆,机器人就会迷失方向。
CDP 的作者认为,机器人的动作本质上是连续且在时间上相关的。为了解决鲁棒性问题,策略必须回顾过去,才能迈向未来。
核心方法: 因果扩散策略 (CDP)
因果扩散策略 (CDP) 是一个基于 Transformer 的扩散框架。名称中的“因果 (Causal) ”指的是严格遵守时间顺序: 未来的预测以过去发生的事情为条件,而未来的事件不能影响过去。
该方法包含三大创新:
- 因果动作生成 (Causal Action Generation) : 一种以历史动作为条件生成新动作的 Transformer 架构。
- 历史动作再去噪 (Historical Actions Re-Denoising) : 一种让机器人对其过去的错误具有鲁棒性的训练技巧。
- 分块自回归推理与缓存共享 (Chunk-wise Autoregressive Inference with Cache Sharing) : 一种让这些繁重计算能够实时运行的效率机制。
让我们一步步来拆解这些内容。
1. 因果动作生成
CDP 的核心是一个 Transformer 模型,它接受两个主要输入: 历史动作 (Historical Actions) (机器人刚刚做了什么) 和 去噪目标 (Denoising Targets) (对机器人下一步应该做什么的噪声猜测) 。
在训练期间,模型查看一系列动作。它将这些动作分为“过去”部分 (历史动作, \(\tilde{A}\)) 和“未来”部分 (目标动作, \(A\)) 。

如图 2(a) 所示,流程如下:
- 输入: 拥有退化的观测 (\(O\)) 、增强的历史动作 (\(\tilde{A}\)) 以及作为去噪目标画布的随机噪声 (\(N\)) 。
- 生成模块: 这是一个由 \(P\) 个块堆叠而成的模块。每个块都会细化特征。
- 输出: 模型预测出干净的目标动作 (\(A\)) 。
目标函数是一个标准的扩散损失函数——最小化预测动作与真实动作 (ground truth) 之间的差异:

Transformer 块结构
在“因果动作生成”模块内部,架构设计旨在仔细融合时间和视觉。每个块包含三个阶段:
- 因果时间注意力 (Causal Temporal Attention, CTA) : 这一层注入时间上下文。它允许去噪目标 (\(N\)) “关注”历史动作 (\(\tilde{A}\)) 。关键在于,它使用了 因果掩码 (Causal Mask) (图 2b) 。该掩码确保特定动作只能查看相关的历史,从而保持时间的完整性。
- 视觉-动作交叉注意力 (Visual-Action Cross Attention, VACA) : 一旦时间上下文设定完毕,模型就会观察环境。它使用交叉注意力从观测 (\(O\)) 中提取空间约束。
- MLP: 一个标准的多层感知机,用于处理特征以供下一个块使用。
从数学上讲,通过一个块的流程如下所示:

注意,视觉信息 (\(\text{Enc}(\mathbf{O})\)) 是在时间对齐之后整合的。这实际上是在说: “首先,根据历史理解运动的流向。其次,根据你所看到的调整该运动。”
2. 历史动作再去噪
自回归模型 (将自身输出作为输入反馈进去的模型) 存在一个微妙但关键的问题。如果机器人在时间步 \(t\) 犯了一个微小的错误,该错误就会成为时间步 \(t+1\) 的“历史动作”的一部分。在长视野 (long horizon) 中,这些错误会复合,导致漂移。
为了解决这个问题,作者引入了 历史动作再去噪 (Historical Actions Re-Denoising) 。
在训练期间,他们不仅仅将干净、完美的真实历史数据输入模型。相反,他们故意在历史动作 (\(\tilde{A}\)) 中加入小规模的噪声 (\(N_{\sigma}\)) 。

通过这种做法,模型学到它接收到的历史并非完美的。它学会了依赖粗粒度的时间动态 (运动的总体趋势) ,而不是前一坐标的精确数值。这作为一种正则化技术,模拟了机器人在现实世界中可能经历的不完美执行。
3. 分块自回归推理与缓存共享
上述架构非常强大,但 Transformer 以计算昂贵而闻名。如果机器人每次想要移动一毫米时都要重新处理整个动作历史,那么它的速度将太慢,无法接住掉落的物体或对推力做出反应。
作者提出了 分块自回归推理 (Chunk-wise Autoregressive Inference) 策略,并结合了 缓存共享机制 (Cache Sharing Mechanism) 。
滑动窗口 (分块推理)
CDP 不是一次预测单个动作 (太慢) 或一次预测整个轨迹 (太死板) ,而是预测一个动作“块 (chunk) ”。
- 机器人获取当前历史。
- 它生成一连串未来动作 (目标动作) 。
- 它执行该块中的有效部分。
- 它更新历史 (滑动窗口) 并重复。

缓存共享机制 (速度提升)
这是论文中的工程突破。在标准 Transformer 中,计算注意力需要查询 (Query, \(Q\)) 、键 (Key, \(K\)) 和值 (Value, \(V\)) 矩阵。 \( \text{Attention}(Q, K, V) = \text{softmax}(\frac{QK^T}{\sqrt{d_k}})V \)
对于 历史动作 , 其 \(K\) 和 \(V\) 矩阵仅取决于过去的动作。既然过去不会改变, 为什么要重新计算它们呢?
CDP 将历史分为“已缓存” (在之前的步骤中处理过) 和“未缓存” (新生成的) 。

如图 3(b) 所示,已缓存历史的键 (\(K\)) 和值 (\(V\)) 表示存储在内存中。在当前步骤中,模型只需要计算新的未缓存动作的 \(K\) 和 \(V\),以及去噪目标的 \(Q, K, V\)。
这些特征的提取由投影层 (QKV_MLP) 处理:

然后将这些新片段与缓存片段连接起来,形成当前步骤的完整矩阵:

最后,使用完整集合计算注意力,并利用掩码 \(\hat{M}\) 确保因果关系 (不能关注未来的块) :

通过复用之前步骤的计算结果,推理速度大幅提升,使得复杂的 Transformer 架构能够用于实时机器人控制。
实验与结果
研究人员在模拟环境 (Adroit, DexArt, MetaWorld, RoboFactory) 和真实世界的机器人上测试了 CDP。
模拟基准测试
主要的对比对象是标准扩散策略 (DP) 和 3D 扩散策略 (DP3) 。总结在下表 1 中的结果令人震惊。

在像 “Adroit Pen” (操作钢笔) 或 “MetaWorld Bin Picking” (箱中取物) 这样的困难任务上,CDP 取得了显著更高的成功率 (例如,Pen 任务为 68% vs 49% )。在 2D 和 3D 任务中的持续改进证实了因果生成范式优于简单的行为克隆。
鲁棒性测试
这篇论文的真正主张是针对退化的鲁棒性。为了测试这一点,研究人员在输入机器人的点云数据中人为注入了噪声 (使视觉变得“模糊”) 。

请看 图 4(a) 。 随着噪声比例增加 (x 轴向右移动) ,基线 DP3 (蓝线) 的性能直线下降至接近零。它完全依赖于清晰地看到物体。相比之下, CDP (橙线) 几乎保持平坦 , 即使在噪声很大的情况下也能保持较高的成功率。这证明了当视觉失效时,机器人成功地依赖了其动作序列的“记忆”。
效率分析
图 4(b) 强调了缓存共享机制的影响。如果不使用缓存 (蓝色虚线) ,随着历史长度的增加,推理时间呈线性急剧增长。使用缓存共享 (橙色实线) ,时间保持低且稳定。这种优化使得 CDP 能够使用长历史上下文而不产生滞后。
真实世界表现
团队在物理 RealMan 机械臂上验证了该方法。他们设计了堆叠立方体、收集物体和推动 T 形块等任务。


真实世界的结果与模拟结果一致。如上图可视化 (图 5) 所示,机器人执行了平滑的长视野任务。在定量上,与标准 DP 相比,CDP 在抓取、放置和整体任务完成方面取得了更高的成功率。

表 2 显示,对于“堆叠立方体”,CDP 实现了 16/20 的抓取成功率,而 DP 为 13/20 , 且最终成功率显著更高。
结论
因果扩散策略 (CDP) 代表了在使机器人模仿学习更可靠方面迈出的重要一步。通过承认机器人动作不是孤立事件,而是连续时间流的一部分,CDP 缓解了基于视觉控制的脆弱性。
以下是 CDP 为何重要的总结:
- 上下文是关键: 通过以 历史动作 为条件,机器人获得了一种“短期记忆”,使其能够抵御传感器噪声和遮挡。
- 鲁棒的训练: 再去噪 (Re-Denoising) 策略 (在扰动的历史数据上训练) 确保机器人即使稍微偏离完美路径也不会惊慌失措。
- 缓存带来的速度: 缓存共享机制 解决了自回归 Transformer 的瓶颈,实现了既智能又快速的控制。
随着机器人走出受控实验室,进入光照变化和传感器故障频发的混乱现实世界,像 CDP 这样优先考虑鲁棒性和时间一致性的方法对于下一代自主智能体将至关重要。
](https://deep-paper.org/en/paper/2506.14769/images/cover.png)