精读笔记

Problem Setting

论文标题:ChainedDiffuser: Unifying Trajectory Diffusion and Keypose Prediction for Robotic Manipulation(CoRL 2023 / 2023)。

这篇论文面对的不是一般的 visuomotor cloning,而是一个更具体的瓶颈:长时程 6-DoF 操作任务中,动作同时具有“语义稀疏性”和“轨迹连续性”。很多任务的关键决策只发生在少数帧,例如抓取点、放置点、打开门把手的位置;但任务是否成功又取决于关键帧之间的连续路径,例如擦桌子的覆盖轨迹、开门时顺着铰链约束走、推物体时不能简单避障。

以前的 keypose 系列方法把问题简化为预测关键末端姿态,再用 planner 连接。这在 pick-and-place 上很有效,但在需要接触、推动、擦拭、铰链约束或故意碰撞的任务里,planner 的 inductive bias 反而错了:它通常默认避障、平滑、几何可达,而任务真正需要的是带任务语义的接触轨迹。相反,trajectory diffusion / dense policy 可以直接建模连续动作,但把完整长程行为作为一个生成对象,会让模型同时承担语言 grounding、阶段切换、多模态动作选择和局部控制,结构上很低效。

所以这篇论文的关键矛盾是:高层任务进展需要离散/稀疏的语义抽象,低层执行又必须保留连续、多模态、接触相关的轨迹分布。ChainedDiffuser 试图把这两个尺度的建模负担拆开,而不是让 planner 或单一 diffusion model 独自承担全部。

Motivation

已有两条路线各自缺一个关键能力。

Keypose prediction 缺的是 learned trajectory distribution。它把最难的连续交互部分交给 motion planner,但 planner 并不知道何时应该避障、何时应该接触、何时应该沿物体约束运动。更严重的是,真实世界 human demos 通常没有提供 planner 所需的干净状态、碰撞模型或可解释约束,因此 planner 依赖精确建模这一点本身就是不稳的。

Trajectory diffusion 缺的是 explicit task structure。扩散模型擅长拟合多模态局部动作分布,但如果直接让它生成长时程轨迹,它需要在高维连续空间里隐式学习阶段边界和语义决策。对于有限演示数据,这很容易退化为局部分布拟合,而不是可靠的长程任务执行。

作者真正抓住的缺口是:操作轨迹中的“where to go next”和“how to get there”应该由不同 inductive bias 的模型处理。前者需要全局视觉-语言-几何 grounding;后者需要局部连续生成和多模态轨迹建模。ChainedDiffuser 的动机就是把这两个问题显式解耦,但仍保持学习式而非手工规划。

Core Idea

核心思想可以概括为:用 keypose 给 diffusion 提供任务结构,用 diffusion 替代 keypose 方法中的 hand-designed planner。也就是说,它不是简单把 Act3D 和 Diffusion Policy 拼起来,而是重新因子化了 imitation learning 的动作分布。

传统 dense policy 试图直接学习 p(a_{1:T} | observation, language)。ChainedDiffuser 近似学习 p(k_1, ..., k_n | global context) 以及每个局部段 p(τ_i | q_i, k_i, scene, language)。这个因子化引入了一个很强的 inductive bias:长程任务由一串语义关键状态组织,而每个关键状态之间的运动是局部条件生成问题。这个 bias 对机器人操作很自然,因为很多 demonstration 本身就是由人类可理解的子目标和连续动作段组成。

和 prior 的本质区别在于:keypose 不再是最终动作抽象,而是 trajectory generator 的条件变量;diffusion 也不再负责整段任务规划,而是负责补全局部可执行运动。这种信息流让全局 transformer 只做它擅长的 grounding / next subgoal selection,让 diffusion 只做它擅长的多模态局部轨迹建模。可扩展性主要来自这种任务分解,而不是某个单独网络结构。

Method

方法中真正必要的机制有三个。

第一,3D macro-action prediction。它解决的是全局语义定位问题:在当前场景和语言条件下,下一个值得执行的末端关键姿态在哪里。使用 3D point-based action selection 的意义不是单纯提高分辨率,而是把动作预测绑定到物理空间,减少固定相机视角下 2D feature-to-action 的脆弱映射。这里借用了 Act3D 的核心能力,因此宏动作预测本身不是本文最原创的部分,但它是层级结构成立的前提。

第二,goal-conditioned local trajectory diffusion。它解决的是 planner 无法可靠处理的局部运动生成问题。给定当前末端状态和预测 keypose,扩散模型生成固定长度的 dense micro-actions。这里 diffusion 的必要性在于它能表达多模态轨迹,而不是把多个可行路径平均成一条不可执行的回归轨迹。对 contact-rich 和 articulated-object 任务,这一点比传统 motion planner 更关键。

第三,macro-level closed-loop + micro-level open-loop。系统每执行完一个局部段后重新观察并预测下一个 macro-action,因此在阶段级别有反馈;但段内轨迹是开环执行。这是一个实用折中:它降低了实时生成和控制难度,但也明确限制了对快速扰动、接触偏差和执行误差的恢复能力。

训练上,keyframe extraction 来自夹爪开合或机器人停顿等启发式。这个设计很重要但也暴露出隐含监督:模型的层级结构依赖演示中存在可抽取的关键帧,而不是完全自动发现 temporal abstraction。

Key Insight / Why It Works

最核心的有效性来自 better inductive bias,而不是 diffusion 本身的魔法。

ChainedDiffuser 之所以有效,是因为它把高维长程轨迹生成拆成了两个统计上更容易的问题:少量关键姿态的多模态分类/检测,以及短轨迹段的条件生成。前者的多模态主要来自语义和空间选择,后者的多模态主要来自局部路径形状。把这两类多模态混在一个 dense policy 里会显著增加样本复杂度;拆开后,每个模块看到的条件分布更窄、更局部、更容易由有限 demos 覆盖。

最可能的核心贡献是“用 predicted keypose 作为 diffusion 的目标条件”。这让 diffusion 不需要自己解决 long-horizon credit assignment 或阶段发现,只需要学习如何到达一个语义上已经合理的目标。换句话说,keypose 是对 diffusion search space 的强约束。它既像 hierarchical policy,也像给生成模型加了一个 latent plan,只不过这个 latent plan 是显式的 SE(3) macro-action。

Act3D 的 3D 表示是重要辅助,但不是本文的主要新思想。它带来了 viewpoint robustness 和高精度位置选择,尤其在 RLBench 多相机设置下有利。不过这里的增益有一部分可能来自强 backbone、CLIP 预训练、3D lifting 和 test-time point sampling,而不是 ChainedDiffuser 层级机制本身。文中虽然有 open-loop diffusion、trajectory regression、Act3D planner 等对比,但对 representation gain 与 hierarchy gain 的完全解耦仍不充分。

Diffusion 相比 deterministic regression 的优势在实验中比较可信:回归会平均多模态轨迹,尤其在 cup-in-cabinet 这类路径有多个模式的任务中容易产生无效中间解。局部 diffusion 不一定学到了“规划”,更准确地说是学到了 demonstration trajectory manifold 上的 conditional sampling。

需要注意:这里的 reasoning 很可能主要是 retrieval / interpolation over demonstrations plus strong spatial grounding。模型没有显式搜索,没有物理约束求解,也没有长期状态建模。它表现出的“知道怎么开门/擦桌子”很大程度依赖训练任务中相似几何和动作模式的覆盖。说它解决了 contact-rich planning 过强;更合理的说法是,它用 learned local trajectory prior 替代了不适配的 generic motion planner。

Relation To Prior Work

这篇处在 keyframe abstraction、3D action detection、diffusion policy 三条线的交叉点。

相对 CLIPort、PerAct、HiveFormer、Act3D 等 keypose / macro-action 方法,它真正新增的是:不再把 keypose 视为足够的控制输出,也不再依赖外部 planner 连接 keyposes。这个变化很实质,因为它把低层运动从“几何规划问题”改成“条件生成问题”,直接允许学习接触、非避障和任务相关轨迹。

相对 Diffusion Policy、SE(3)-DiffusionFields、goal-conditioned diffusion policies,它真正不同的是:不让 diffusion 独自承担长时程行为生成,而是用显式 keypose 序列给 diffusion 加结构。它属于 hierarchical imitation learning,而不是纯 action diffusion。diffusion 在这里更像 local motor primitive generator。

看似新的部分中,很多是已有思想重组:CLIP frozen encoder、RGB-D lifting 到 3D、keyframe extraction、transformer cross-attention、DDPM action generation 都不是单独创新。实质创新在于组合方式和职责划分:semantic keypose detector + learned trajectory connector。这个组合恰好击中了 keypose 方法和 diffusion 方法各自最弱的地方。

与 Act3D 的关系尤其要明确:ChainedDiffuser 很大程度建立在 Act3D 的 macro-action predictor 上。论文附录也承认核心 pipeline 可替换 macro-action predictor。因而本文不是提出更强 keypose detector,而是提出 keypose detector 应该如何与 trajectory diffusion 组合成更通用的操作策略。

Dataset / Evaluation

评估主要在 RLBench 和小规模真实世界 Franka 任务上。RLBench 的好处是任务覆盖了 pick-place、按钮、滑块、门/冰箱/烤箱、擦拭等不同操作形态,尤其作者额外挑了 motion planner 困难的任务子集,这确实更能检验论文的核心 claim:仅靠 keypose+planner 不够,局部轨迹学习是必要的。

实验最有说服力的是对比 Act3D、open-loop trajectory diffusion、Act3D+trajectory regression。这个组合基本覆盖了三种关键替代解释:只要 keypose 是否够、只要 diffusion 是否够、用简单回归连接 keypose 是否够。结果支持层级 diffusion 的必要性。

但 evaluation 仍有局限。首先,RLBench 的任务结构天然适合 keyframe extraction,很多任务有明确阶段和夹爪事件;这可能放大了 ChainedDiffuser 的优势。其次,真实世界实验任务数和每个任务测试次数都较小,成功率更多说明 feasibility,而不是 robust generalization。第三,跨任务泛化、跨物体类别泛化、跨布局极端分布外泛化没有被充分验证。

随机相机扰动实验支持 3D 表示的 viewpoint robustness,但这部分更像 Act3D / 3D lifting 的贡献,不完全是 ChainedDiffuser 的层级贡献。总体上,benchmark 支持“learned local trajectory connector 优于 planner/regression”这个 claim;对“广泛泛化的机器人操作策略”支持较弱。

Limitation

最关键的限制不是论文列出的那些表面工程点,而是层级假设本身。

第一,方法假设任务可以被 keyposes 合理分解。对于连续技能中没有清晰关键帧的任务,或者关键变量不是末端 SE(3) pose 而是力、速度、接触状态、物体内部状态的任务,这种分解可能不充分。擦拭还能被切成抓取和擦拭段,但更复杂的双手、柔性物、装配、力控任务未必如此。

第二,keyframe extraction 是隐含监督。用夹爪开合和停顿作为关键帧启发式在 RLBench 很自然,但这不是通用 temporal abstraction learning。如果演示噪声大、操作者不停顿、或任务关键阶段不伴随夹爪事件,macro-action labels 会变弱,整个层级结构可能失效。文中未充分说明这种情况下的鲁棒性。

第三,micro trajectory 是 open-loop。macro-level 闭环只能在段与段之间纠偏,段内接触误差、物体滑移、深度噪声和控制偏差都可能积累。真实世界失败主要来自深度噪声,这说明模型对感知误差和局部执行误差并没有强恢复机制。

第四,scalability 上限不清楚。固定长度局部轨迹、SE(3) 末端动作、少量 demos 的 imitation,都意味着能力高度依赖训练覆盖。扩到更多任务时,macro-action predictor 的语义选择和 diffuser 的轨迹 manifold 都可能需要大量数据。若没有更强的 shared skill abstraction 或 online correction,所谓 generalization 可能只是 benchmark 内插。

第五,增益归因并不完全干净。ChainedDiffuser 的优势同时来自 3D point representation、Act3D macro predictor、CLIP features、trajectory diffusion、多任务训练和选择了 planner 困难任务。虽然消融方向合理,但仍难精确判断每一部分贡献。尤其和纯 diffusion baseline 的比较,如果后者没有同等强的目标条件和结构约束,那么差距主要证明 hierarchy 有用,而不是具体 ChainedDiffuser 设计最优。

Takeaway

  • 1. 对操作模仿学习,一个有效方向是显式分离“语义阶段选择”和“局部连续运动生成”。
  • 不要期待单一 dense policy 在有限数据下自动学出所有 temporal abstraction。
  • 2. Keypose 不应只是 planner 的接口,也可以作为 learned generative controller 的条件变量。
  • 这个 insight 很可迁移:在导航、装配、移动操作、多物体 rearrangement 中,都可以用 sparse semantic anchors 约束局部生成模型。

一句话总结

ChainedDiffuser 是 keypose-based hierarchical imitation 与 action diffusion 的一次有效合流:它的真正贡献不是新模块,而是把全局语义决策和局部轨迹生成重新因子化,从而用 learned trajectory prior 替代传统 planner 在接触操作中的薄弱环节。