具身智能论文问答(2):Diffusion Policy

第一部分:背景与痛点(为什么我们需要扩散策略?)

在文章开头,作者首先指出了传统机器人学习(比如传统的行为克隆 Behavior Cloning)面临的一个巨大难题:多模态分布问题(Multi-modal distribution)

  • 通俗理解: 假设机器人面前有一个水杯,它想要绕过中间的障碍物去拿杯子。它可以从左边绕,也可以从右边绕,这两个动作都是"正确"的。

  • 传统AI的笨办法: 如果你把这两种正确的数据都喂给传统的AI(比如使用均方误差 MSE 训练的神经网络),AI 会试图去寻找一个"平均值"。结果就是,机器人既不走左边,也不走右边,而是笔直地往前走------直接撞上障碍物。这就是传统算法处理多模态时的崩溃现象。

  • 引出主角: 为了解决这个问题,作者把目光投向了当时在图像生成领域大火的扩散模型(Diffusion Models,比如 Midjourney 和 Stable Diffusion 背后的技术)

第二部分:核心思想(什么是扩散策略?)

论文的核心创新点可以用一句话概括:把机器人的"动作规划",变成一个类似于"AI生成图像"的去噪过程。

  • AI画画是怎么做的: 你给 AI 一段文字(Prompt),AI 先生成一张完全是由雪花噪点组成的乱码图,然后一步步把噪点去掉,最后变成一张精美的猫咪照片。

  • Diffusion Policy是怎么做的: * 条件(Prompt): 机器人身上的摄像头拍到的当前画面,以及它的机械臂当前的位置(这些被称为 Observation/条件)。

    • 生成目标(输出): 不是生成一张画,而是生成未来一段时间内机械臂要走的一系列轨迹(Action Sequence)

    • 去噪过程: 一开始,AI 会随机生成一段乱七八糟、毫无逻辑的动作轨迹(纯噪声)。然后,它看着当前的摄像头画面,一步步地修改这条轨迹,把不合理的动作"剔除"掉,最后"雕刻"出一条平滑、准确的抓取轨迹。

第三部分:关键技术设计(它是怎么落地的?)

为了让这个聪明的想法真正在物理世界的机器人身上奏效,作者在论文中提出了几个非常关键的工程设计:

1. 视觉条件化(Visual Conditioning) 机器人不需要像算命一样凭空预测动作。文章中提到,扩散模型是在"给定当前视觉观察"的前提下去做推断的。也就是"看着眼前的状态,决定未来的动作"。

2. 预测一段轨迹,而不是一个动作(Action Sequence Prediction) 以前的机器人经常是"走一步看一步",这就导致动作一卡一卡的。Diffusion Policy 是一次性预测未来比如 16 个步骤的完整动作轨迹。这样保证了动作的连贯性。

3. 滚动视野控制(Receding Horizon Control / 闭环执行) 这是文章中非常重要的一点!

  • 做法: 假设 AI 一次性预测了未来 16 步的动作,但机器人只执行前面的 8 步。执行完这 8 步后,机器人重新看一眼世界(获取新图像),然后再重新预测未来的 16 步,周而复始。

  • 为什么这么做: 就像我们开车一样,眼睛看着前方 100 米的路(预测长远),但手里的方向盘是根据眼前 10 米的情况随时微调的(闭环控制)。这大大提高了机器人应对突发干扰的能力。

4. 两种网络架构(UNet vs Transformer) 论文里比较了两种做去噪的底层神经网络:

  • CNN-based (UNet): 速度快,对局部细节把握好,适合大多数常规任务。

  • Transformer-based: 擅长处理复杂的、时间跨度长的数据,但算力要求更高。

第四部分:实验结果与优势(它到底有多强?)

在文章的后半段,作者在各种复杂的仿真环境和真实的机械臂上做了实验(比如推方块、倒水、打毛线等)。结论是它全方位碾压了以前的方法,主要优势有三个:

  1. 完美解决"撞墙"问题: 它能极其优雅地处理前面提到的"多模态"问题。它会果断地选择从左绕或者从右绕,绝对不会再去走平均值的死胡同。

  2. 动作极其丝滑: 因为它本质上是在优化一条完整的轨迹,加上扩散模型本身的特性,机器人做出的动作像人类一样连贯,不再是机械的抖动。

  3. 训练极其稳定: 相比于以前一些花里胡哨的模型(比如 GAN 或者隐式模型),扩散策略虽然推断时间稍长,但在训练阶段非常听话,不容易崩溃。

第一部分:核心机制与数学直觉 (Core Mechanisms)

1. 关于去噪过程的本质:

在 Diffusion Policy 的推理(Inference)阶段,模型是从一个高斯噪声序列开始的。请具体描述一下,网络(如 UNet)在这个过程中预测的目标到底是什么?它是直接预测最终的动作轨迹,还是预测每一步需要去除的噪声(Noise residual)?这与传统的直接输出动作的网络有什么根本区别?

2. 突破多模态分布崩溃:

我们知道传统行为克隆(基于 MSE 损失函数)在遇到多模态选择(比如避障时向左或向右均可)时,会输出平均值导致失败。从扩散模型背后的数学原理或采样机制来看,它是如何保证生成的结果一定是"有效的真实轨迹"之一,而不是"多个有效轨迹的平均值"的?

第二部分:关键工程设计 (Engineering Design)

3. 动作分块(Action Chunking)的必要性:

为什么 Diffusion Policy 强调要预测"一段未来动作序列"(Action Sequence),而不是像传统马尔可夫决策过程(MDP)那样只预测"下一个状态的单步动作"(Step-by-step)?在解决物理机器人的"系统延迟"和"动作卡顿"问题上,动作分块起到了什么决定性的作用?

4. 滚动视野控制(Receding Horizon Control)的权衡:

假设模型一次推理能生成未来 16 步的动作,但论文建议在实际闭环执行时,只执行前面的 8 步,然后就要重新观测和推理。为什么不把 16 步全部执行完再重新规划?这种"重叠执行"的策略对系统的鲁棒性(应对外界干扰)有什么具体好处?

5. 视觉条件的注入方式(Visual Conditioning):

视觉特征(Observation)是指导机器人行动的"眼睛"。在基于 CNN(1D-UNet)的扩散策略中,提取出的高维视觉特征向量,具体是通过什么样的方式(比如简单的特征拼接 Concat,还是类似 FiLM 的特征调制)融入到去噪网络中的?

第三部分:网络架构与性能对比 (Architecture & Performance)

6. 1D-UNet vs Transformer:

论文中详细对比了基于 CNN(1D-UNet)和基于 Transformer 的两种架构。在面对高频动作输出高维多视角的视觉输入时,这两种架构在"推理速度"、"训练稳定性"和"对超参数的敏感度"上各有什么优缺点?在工业界落地时你更倾向于选哪一个?

7. 历史帧信息的处理(Observation Horizon):

在输入条件中,通常不仅仅输入当前 1 帧的图像,而是输入过去几帧的"历史图像序列"(比如 T_{obs} = 2 或更多)。为什么单帧图像不够?多帧历史信息帮助模型捕捉到了物理世界里的什么隐藏信息?

8. 本体感受(Proprioception)与视觉的融合:

除了图像,机器人的当前关节角度、末端执行器位置等"本体数据"也是重要的输入。相比于高维的图像,本体数据是低维的向量。网络是如何处理并对齐这两种维度差异巨大的模态,以确保扩散过程能同时参考这两者的?

第四部分:痛点与进阶思考 (Limitations & Future)

9. 推理速度的致命伤与加速策略:

扩散模型天生有一个硬伤------推理太慢(因为要迭代几十步甚至上百步去噪)。而机器人的底层控制往往需要很高的控制频率(如 50Hz 以上)。在实际部署 Diffusion Policy 时,这会成为瓶颈吗?目前学术界通常采用什么采样算法(如 DDIM、DPM-Solver)来解决这个加速问题?

10. 与大模型(VLM/LLM)的结合展望:

Diffusion Policy 本身解决的是"底层控制(Low-level control)"问题。如果我现在想让机器人理解人类的一句自然语言指令(比如:"把那个红色的苹果放到篮子里"),你设想一下,应该如何将大语言模型(LLM)或视觉语言模型(VLM)与现有的 Diffusion Policy 框架缝合起来?语言指令应该作为什么角色加入到去噪过程中?

第一部分:核心机制与数学直觉

1. 去噪过程的本质:预测噪声还是动作?

  • 答案: 在 Diffusion Policy 的标准设定中,网络(如 UNet)预测的是"每一步需要去除的噪声(Noise Residual)",而不是直接预测最终的干净动作。

  • 本质区别: 传统的网络(如行为克隆)是端到端的映射(X \\rightarrow Y),试图直接输出标准答案。而扩散模型预测噪声,本质上是在学习动作数据的"梯度场(Score Function)"。它在告诉模型:"在当前这个充满随机噪点的状态下,我应该往哪个方向推一把,才能让它更像一个真实的物理动作?"这种迭代式的修正,使得它对复杂分布的建模能力远超单步直接输出。

2. 如何突破"多模态分布"的平均值崩溃?

  • 答案: 传统 MSE 损失函数在遇到向左(-1)或向右(+1)的正确数据时,为了让整体误差最小,会无脑输出平均值(0,即撞墙)。

  • 扩散策略的解法: 扩散模型学习的是概率密度分布 P(Action \| Observation)。你可以把它想象成一个有多个坑洼的山谷(向左是一个坑,向右是一个坑,中间是山脊)。当你从高斯噪声(山顶)开始"去噪"时,相当于扔下一个小球,小球会顺着坡度(梯度)滚入其中一个确定的坑里(局部最优解),而绝不会停在山脊(平均值)上。这样就完美逼近了真实的多模态选择。


第二部分:关键工程设计

3. 动作分块(Action Chunking)的决定性作用

  • 答案: 动作分块不仅是为了"看得远",更是为了"抗系统延迟"和"保证时间一致性"。

  • 原因: 真实的机械臂有物理惯性和通信延迟。如果像马尔可夫决策那样"预测一帧,执行一帧",一旦出现微小的观测误差,下一帧的动作方向就会剧变,导致机械臂疯狂鬼畜、高频抖动。一次性预测未来 k 步的完整轨迹,等同于强制加入了时间维度的平滑约束,确保生成的这 k 步动作在物理学上是连贯且可执行的。

4. 滚动视野控制(Receding Horizon Control)的权衡

  • 答案: 这是一个在"长期连贯性"和"短期反应力"之间的精妙平衡。

  • 为什么不全执行完: 物理世界充满不确定性(比如杯子突然滑了一下)。如果一条道走到黑执行完 16 步,机器人就成了"睁眼瞎"。

  • 为什么不只执行 1 步: 会退化回高频抖动的问题。

  • 只执行 8 步的好处: 前半段执行保证了动作的平滑和连贯,丢弃后半段并重新观测,让机器人能够每隔几分之一秒就根据最新的视觉反馈"修正"原有的长期计划。这就是真正的闭环控制。

5. 视觉条件的注入方式

  • 答案: 在基于 1D-UNet 的架构中,视觉特征通常不会简单粗暴地拼接(Concat)在动作向量上,而是采用特征调制(Feature Modulation,如 FiLM 或 AdaGN)

  • 具体做法: 摄像头拍到的图像经过 ResNet 等视觉编码器提取成高维向量(特征 C)。这个向量会通过全连接层,生成一组缩放因子(Scale)和偏移因子(Shift)。然后,这组因子会被用来直接"相乘并相加"到 UNet 每一层的特征图上。通俗地说,视觉信息像一个"全局指挥官",在去噪的每一步中,调整去噪网络的运作方向。


第三部分:网络架构与性能对比

6. 1D-UNet vs Transformer 的抉择

  • 1D-UNet:

    • 优点: 推理速度快,CNN 天然的归纳偏置(Inductive Bias)非常适合处理一维的"连续动作序列"(保证相邻动作平滑),训练极度稳定。

    • 缺点: 感受野有限,处理超长序列有些吃力。

  • Transformer:

    • 优点: 注意力机制(Attention)能完美捕捉极长序列前后的复杂依赖关系,上限极高。

    • 缺点: 训练需要海量数据,对超参数敏感,推理稍慢。

  • 工业界倾向: 目前在需要高频反馈(如 50Hz 以上)的底层电机控制(Low-level control)中,1D-UNet 是绝对的主流和首选,因为它又快又稳。

7. 历史帧信息(Observation Horizon)的隐藏价值

  • 答案: 单帧图像只能提供"位置(Position)",不能提供"动态(Dynamics)"。

  • 原因: 如果只有当前 1 帧图像,机器人不知道眼前的物体是静止的、正在掉落的,还是正在向左移动的。引入过去 T_{obs} 帧的历史图像,神经网络就能隐式地计算出"速度(Velocity)"和"加速度(Acceleration)"。此外,历史帧还能有效应对短暂的视觉遮挡(比如机械臂挡住了目标物)。

8. 本体感受(低维)与视觉(高维)的融合

  • 答案: 通过多模态投影空间对齐

  • 做法: 图像(比如 84 \\times 84 \\times 3)通过 CNN 降维成一个特征向量(例如 256 维)。同时,低维的本体数据(比如 7 个关节的角度数据)会通过一个多层感知机(MLP)升维,也映射成一个同样维度的特征向量(例如 256 维)。然后将这两个维度相同的向量进行拼接(Concat),形成最终的条件向量 C,再去指导扩散模型。


第四部分:痛点与进阶思考

9. 推理速度瓶颈与加速策略

  • 答案: 速度确实是标准扩散模型(如 DDPM)落地机器人的最大痛点。标准的 100 步去噪在机器端部署根本达不到实时控制的帧率。

  • 解决方案: 学术界和工业界目前普遍采用高级采样器,比如 DDIM(Denoising Diffusion Implicit Models)DPM-Solver 。这些算法突破了马尔可夫链的单步限制,允许模型"跳步"采样。在实际部署 Diffusion Policy 时,通常只需要 10 到 15 步 就能生成极高质量的动作轨迹,轻松将控制频率拉高到 10Hz 甚至更高,满足大部分抓取和操作任务。

10. 大模型(VLM/LLM)与 Diffusion Policy 的"大小脑结合"

  • 答案: 这是目前具身智能最火热的方向:层级控制架构(Hierarchical Control)

  • 大脑(LLM/VLM): 负责语义理解和高层规划(High-level planning)。当人类输入"把红色苹果放进篮子",VLM 进行推理,输出子任务级的指令(比如一段文本向量 embedding,或者目标点的图像特征)。

  • 小脑(Diffusion Policy): 负责底层执行(Low-level control)。将 VLM 输出的语言/视觉指令作为额外的"条件(Condition)"(通过 CLIP 等文本编码器提取特征,与图像特征融合),输入到 Diffusion 的去噪过程中。此时,扩散策略就变成了一个"遵从语言指令的动作生成器"。

相关推荐
AI科技星1 小时前
全域数学·72分册·射影原本 无穷维射影几何卷细化子目录【乖乖数学】
人工智能·线性代数·算法·机器学习·数学建模·数据挖掘·量子计算
Chef_Chen1 小时前
论文解读:MemOS首次把记忆变成大模型的一等公民资源,Scaling Law迎来第三条曲线
人工智能·agent·memory
风落无尘1 小时前
《智能重生:从垃圾堆到AI工程师》——第四章 变化的艺术
人工智能·线性代数·算法
发哥来了2 小时前
AI视频生成模型选型指南:五大核心维度对比评测
大数据·人工智能·机器学习·ai·aigc
发哥来了2 小时前
AI驱动生产线的实际落地:一个东莞厂商的技术选型实录
大数据·人工智能·机器学习·ai·aigc
AC赳赳老秦2 小时前
知识产权辅助:用 OpenClaw 批量生成专利交底书 / 软著申请材料,自动校验格式与内容合规性
java·人工智能·python·算法·elasticsearch·deepseek·openclaw
AI科技2 小时前
原因大揭秘:为什么别人的编曲伴奏做得又快又好,2026年度甄选5款AI编曲软件汇总
人工智能
Mark_Aussie2 小时前
Dify本地部署及使用
人工智能
guo_xiao_xiao_2 小时前
YOLOv11高空俯视场景猫狗人目标检测数据集-1488张-bag-1_4
人工智能·yolo·目标检测