同一个观测可能对应多种合理动作
机械臂绕开障碍物接近目标时,从左侧或右侧走都可能成立。如果训练数据中两条路线都存在,简单地对动作做均方误差回归,可能得到一条位于两者之间、却正好穿过障碍物的路线。这个例子说明,预测动作的平均值与建模可行动作的分布,是两个不同的问题。
Diffusion Policy 把机器人策略表示为以观测为条件的去噪过程,在动作空间生成一段动作序列,并结合滚动时域控制执行。它所扩散的是动作,不是先生成一段视频再自动变成控制指令。原始工作同时讨论视觉条件、时序建模与多模态动作分布。来源:Diffusion Policy 论文。
训练与推理分别在做什么
训练时,给演示动作加入噪声,让网络结合观测学习去噪关系;推理时,从噪声动作序列出发,经过多次迭代形成候选动作。这里需要区分训练采用的扩散时间步与实际部署的采样步骤,二者不能仅凭名称认为完全一致。具体调度器和采样设置应以所用实现为准。
可以把它理解为“在视觉和机器人状态约束下,逐步修正一段操作草案”。但这只是帮助理解的类比。网络并没有因此获得显式的碰撞证明、接触力保证或对任意新场景的可靠性承诺;生成结果仍要通过动作接口与任务评估检验。
观测、预测、执行三个时域
| 时域 | 回答的问题 | 应检查的现象 |
|---|---|---|
| 观测时域 | 用多少历史信息判断当前状态 | 能否区分运动方向,是否引入旧画面 |
| 预测时域 | 一次生成多长的未来动作 | 远期动作是否偏离可达范围 |
| 执行时域 | 执行多少动作后重新观测 | 物体移动后能否及时修正 |
滚动时域的要点是执行一部分动作后重新规划,而不是把整段预测无条件播完。项目介绍给出了这一设计与视觉操作的结合方式。参见官方项目。实践中应把这三个时域连同控制频率一起记录,否则相同的“预测 16 步”在不同频率下代表完全不同的物理时间。
把延迟拆开,才能知道该优化哪里
建议为一次闭环记录五个时刻:图像采集、预处理结束、采样结束、指令发送、控制器接收。总延迟不仅包括神经网络推理,还可能包括图像传输、队列等待和进程间通信。只报告 GPU 上的前向时间,无法解释机器人为什么对物体移动反应迟缓。
如果采样耗时占主要部分,可以在固定权重下测试不同采样预算,比较完成率与耗时的变化;不能只因为速度变快就默认质量不变。如果等待队列占主要部分,应先处理阻塞和消息积压。异步执行可能提高吞吐,但也需要明确旧动作何时失效、新动作从哪一个时间点接续。
从失败视频回到可检查的证据
- 动作幅度异常:检查归一化统计是否与训练数据对应,以及输出代表绝对位置还是增量。
- 总在接触前停住:分别检查演示分布、末端可达性和夹爪时序,不能只凭图像判断原因。
- 分块切换时突然跳动:检查动作序列接续、时间索引和控制器插值。
- 离线指标正常,闭环失败:用失败时的观测回放推理,判断模型从哪一步进入陌生状态。
对同一初始状态重复试验时,应记录随机种子和采样设置。随机策略的单次成功视频只能展示一种结果,不能替代多次独立试验。
复现时先建立最小闭环
先用官方支持的仿真任务验证数据读取、训练和评估流程,再接入自己的数据。保持相机、动作表示和评估条件固定,分别比较策略质量与延迟。若要与 ACT 比较,应报告各自的数据量、训练预算和执行频率;把两个不同数据集上的结果放在一起,不能直接得出算法优劣。
这条路线的价值在于把“生成得合理”与“执行得有效”分开检查。扩散模型提供了动作分布的建模工具,系统集成决定这些动作是否在正确时刻、以正确单位到达控制器。
资料来源与延伸阅读
整理更新:2026-10-26。本文基于以上公开资料,经 AI 辅助整理与扩写;实践方案为编辑建议,未作为本站实测结果发布。工具接口请结合所用版本核对。