技术拆解(十七)具身智能:机器人动作生成为何走向Diffusion Policy?

前言:

读研的时候研究的是增量学习 ,这也是梁文峰近期说的通往AGI之路:让机器可以自主学习。

在不了解NLP领域前,CV领域模型的泛化能力很弱,增量学习的灾难性遗忘很严重。

所以很好奇大模型是怎么做到强泛化能力的,这也是学习的动力。后面才了解到,原来是:大力出奇迹,但这并不是真正的增量学习。简单的说,增量学习的定义是:

模型在复杂的环境中像人一样持续学习,学习新知识更新权重的同时,不会丢弃旧知识。

但是人在实际环境中,对记忆也不是一直都保持,也会遗忘,例如,你上周三中午吃了什么?可能大多数人都不记得了。

对于大模型来说,模型参数没变,对所有知识都会牢牢掌握,但当参数更新后,会对旧知识造成灾难性的遗忘。

从根本上来说,人脑的学习记忆和现在基于反向传播学习出来的模型,范式可能不会相同,但可以互相借鉴。

没想到之前学的VAE也在Diffusion中应用了,看来只要学,知识就是有用的,迟早会用上的。

总结:大模型已经解决了知识获取和泛化的一部分问题,但仍没有解决如何在真实环境中持续学习、选择性遗忘,并稳定地把新经验写回自身。


目录

[一、Diffusion Policy的提出背景与模型定位](#一、Diffusion Policy的提出背景与模型定位)

[1.1 为什么普通动作回归容易产生"平均动作"](#1.1 为什么普通动作回归容易产生“平均动作”)

[1.2 ACT解决了动作分块,但仍然是一次解码](#1.2 ACT解决了动作分块,但仍然是一次解码)

[1.3 Diffusion Policy是什么](#1.3 Diffusion Policy是什么)

[1.4 Diffusion Policy不是图像扩散](#1.4 Diffusion Policy不是图像扩散)

[1.5 模型定位](#1.5 模型定位)

二、数据组织与动作表示

[2.1 一条示范Episode是什么](#2.1 一条示范Episode是什么)

[2.2 单步观察 ot 和观察窗口 Ot](#2.2 单步观察 ot 和观察窗口 Ot)

[2.3 单步动作 at 和动作块 At](#2.3 单步动作 at 和动作块 At)

[2.4 预测长度与执行长度不是同一个概念](#2.4 预测长度与执行长度不是同一个概念)

[2.5 一条训练样本和一个训练批次](#2.5 一条训练样本和一个训练批次)

[2.6 Diffusion Policy输出连续动作,不是动作Token](#2.6 Diffusion Policy输出连续动作,不是动作Token)

三、模型结构与条件融合

[3.1 Diffusion Policy整体结构](#3.1 Diffusion Policy整体结构)

[3.2 观察编码器负责什么](#3.2 观察编码器负责什么)

[3.3 为什么图像只需要编码一次](#3.3 为什么图像只需要编码一次)

[3.4 噪声预测网络输入和输出什么](#3.4 噪声预测网络输入和输出什么)

[3.5 CNN版本的Diffusion Policy](#3.5 CNN版本的Diffusion Policy)

[3.6 Transformer版本的Diffusion Policy【Decoder结构】](#3.6 Transformer版本的Diffusion Policy【Decoder结构】)

[3.7 扩散模型中的 Transformer 架构](#3.7 扩散模型中的 Transformer 架构)

[四、Diffusion Policy的训练过程](#四、Diffusion Policy的训练过程)

[4.1 必须区分两种"时间"](#4.1 必须区分两种“时间”)

[4.2 训练时从数据中取出什么](#4.2 训练时从数据中取出什么)

[4.3 给真实动作块加噪](#4.3 给真实动作块加噪)

[4.4 加噪会不会让真实机器人随机乱动](#4.4 加噪会不会让真实机器人随机乱动)

[4.5 网络训练时输入输出是什么](#4.5 网络训练时输入输出是什么)

[4.6 训练损失是什么](#4.6 训练损失是什么)

[4.7 为什么预测噪声能够学会动作](#4.7 为什么预测噪声能够学会动作)

[4.8 完整训练流程](#4.8 完整训练流程)

五、推理与滚动时域控制

[5.1 推理时为什么从随机噪声开始](#5.1 推理时为什么从随机噪声开始)

[5.2 为什么不能像ACT一样直接把噪声设为0](#5.2 为什么不能像ACT一样直接把噪声设为0)

[5.3 多轮去噪过程](#5.3 多轮去噪过程)

[5.4 为什么去噪需要多次网络前向](#5.4 为什么去噪需要多次网络前向)

[5.5 为什么预测16步却只执行8步](#5.5 为什么预测16步却只执行8步)

[5.6 Receding Horizon Control是什么](#5.6 Receding Horizon Control是什么)

[5.7 Receding Horizon Control不等于Temporal Ensembling](#5.7 Receding Horizon Control不等于Temporal Ensembling)

[5.8 Diffusion Policy是不是世界模型](#5.8 Diffusion Policy是不是世界模型)

[5.9 Diffusion Policy与ACT的定义区别](#5.9 Diffusion Policy与ACT的定义区别)

[六、Diffusion Policy的能力与意义](#六、Diffusion Policy的能力与意义)

[6.1 表达多模态动作分布](#6.1 表达多模态动作分布)

[6.2 保持时间动作一致性和适合高维连续动作](#6.2 保持时间动作一致性和适合高维连续动作)

[6.3 对人类示范中的停顿更加鲁棒](#6.3 对人类示范中的停顿更加鲁棒)

[6.4 适合复杂接触和操作任务](#6.4 适合复杂接触和操作任务)

七、核心贡献、局限与技术演进

[7.1 Diffusion Policy的核心贡献](#7.1 Diffusion Policy的核心贡献)

[7.2 Diffusion Policy的主要局限](#7.2 Diffusion Policy的主要局限)

[7.3 ACT、Diffusion Policy与π0对比](#7.3 ACT、Diffusion Policy与π0对比)

[7.4 三者的技术关系](#7.4 三者的技术关系)

[7.5 Diffusion Policy完整训练流程](#7.5 Diffusion Policy完整训练流程)

[7.6 Diffusion Policy完整推理流程](#7.6 Diffusion Policy完整推理流程)

[7.7 Diffusion Policy需要重点记住的十点](#7.7 Diffusion Policy需要重点记住的十点)

[7.8 具身智能VLA的动作生成范式选择](#7.8 具身智能VLA的动作生成范式选择)

哲学思考


一、Diffusion Policy的提出背景与模型定位

1.1 为什么普通动作回归容易产生"平均动作"

传统行为克隆通常直接学习从当前观察到当前动作的映射:

其中,ot表示机器人在时刻t的观察,at表示专家在该时刻执行的动作。训练时通常使用L1或MSE损失,让模型输出接近专家动作。这种方法隐含了一个假设:

对于一个观察状态,存在一个相对明确的正确动作。

但机器人操作中经常存在"一种状态对应多种合理动作"的情况。例如机械臂需要绕过一个障碍物时,既可以从左侧绕行,也可以从右侧绕行:

普通回归模型可能将两种动作进行平均:

结果既不明显向左,也不明显向右,反而可能直接撞向障碍物。Diffusion Policy正是针对机器人动作中的多模态分布、高维输出、时序相关性和高精度要求提出的。

1.2 ACT解决了动作分块,但仍然是一次解码

ACT已经把传统单步动作预测:

改成了动作块预测:

ACT通过CVAE潜变量建模示范风格,再由Transformer一次前向直接输出完整动作块。它解决了长任务中的误差累积、停顿处理和双臂动作协调问题,但其核心仍然是:

观察条件→一次网络前向→动作块

Diffusion Policy保留了"预测动作序列"的思路,但将动作块的生成方式改成了条件扩散过程:

观察条件+随机动作噪声→多轮去噪→连续动作块

因此,Diffusion Policy相较于ACT最关键的变化不是"是否使用动作块",而是:

从直接解码动作块→从噪声中生成动作块

1.3 Diffusion Policy是什么

Diffusion Policy由Cheng Chi等人于2023年提出。它将机器人视觉运动策略表示为一个条件去噪扩散模型,在给定视觉和机器人状态条件的情况下,从随机噪声开始,经过多轮去噪生成未来连续动作序列。

Diffusion Policy不是简单预测一个确定动作,而是学习:

在当前观察条件下,哪些未来动作序列是合理的。

1.4 Diffusion Policy不是图像扩散

普通图像扩散模型执行:

随机图像噪声→清晰图像

Diffusion Policy执行:

随机动作噪声→连续动作序列

图像只是动作生成的条件,不参与被扩散和还原的过程。原论文明确将输出变量从图像替换为机器人动作,并将扩散过程条件化在机器人观察上。因此:

Diffusion Policy扩散的是动作,不是图像

1.5 模型定位

Diffusion Policy可以概括为:

条件扩散模型+连续动作块生成+滚动时域控制

它主要是一种视觉---动作或状态---动作生成策略。原始Diffusion Policy:

因此它不是VLA,也不是显式世界模型,而是一种生成式机器人动作策略。


二、数据组织与动作表示

2.1 一条示范Episode是什么

一条完整机器人示范Episode可以表示为:

机器人观察通常可以进一步写成:

与ACT中的ALOHA不同,Diffusion Policy适用于多种机器人和任务,因此不能统一认为:D=14。论文评估覆盖了2DoF至6DoF动作空间以及单任务、多任务和不同机器人平台。

2.2 单步观察 ot 和观察窗口 Ot

Diffusion Policy通常不只使用当前一步观察,而是使用最近To步观察:

其中

To=Observation Horizon,观察窗口长度

需要区分:

如果:

To=2

那么:

最近多个观察能够帮助模型判断运动趋势。例如单张图像只能显示夹爪位于物体左侧,而两步观察还可以判断夹爪正在靠近物体还是正在远离物体。

2.3 单步动作 at 和动作块 At

从完整专家轨迹中,在时刻t截取未来Tp步动作:

其中:

动作块的形状为未来动作数量×每个动作的维度:

2.4 预测长度与执行长度不是同一个概念

Diffusion Policy还定义:

模型预测未来Tp步动作:

但机器人只执行前Ta步:

通常满足:

原论文将To、Tp和Ta分别定义为观察长度、动作预测长度和动作执行长度,并通过这种设计在轨迹连续性与环境响应能力之间取得平衡。官方Push-T图像配置中采用了一个典型配置示例,不是所有任务固定使用的参数。

2.5 一条训练样本和一个训练批次

一条训练样本可以写成:

如果批次大小为B=64,未来动作Tp=16,动作维度D=7,动作标签张量为:

代表64条训练样本×每条16个未来动作×每个动作7维

2.6 Diffusion Policy输出连续动作,不是动作Token

Diffusion Policy最终生成:

它不需要像RT-1或RT-2那样:连续动作→离散量化→动作Token→反量化。扩散网络内部会将动作、观察和扩散时间转换成连续隐藏特征,但这些特征Token只是神经网络中的浮点向量,不是离散动作词表。


三、模型结构与条件融合

3.1 Diffusion Policy整体结构

Diffusion Policy的完整结构可以概括为:

观察编码器(图像→ResNet18,机器人状态→MLP)

噪声网络(Conditional 1D U-Net或Time-Series Diffusion Transformer)

扩散调度器(调度器根据网络预测的噪声,计算下一步动作)

流程可以概括为:

3.2 观察编码器负责什么

观察窗口可能同时包含图像和低维机器人状态:

视觉图像先经过视觉编码器,例如ResNet:

机器人状态通过线性层或MLP编码:

然后组合成观察条件:

其中,ct用于描述:

  • 目标物体和障碍物的位置;

  • 机器人当前姿态;

  • 最近几个时间步的运动趋势;

  • 当前场景中与动作生成有关的信息。

原始视觉版Diffusion Policy使用经过修改的ResNet-18,并将全局平均池化替换为空间Softmax以保留空间信息,同时将BatchNorm替换为GroupNorm以提高训练稳定性。不同摄像头使用独立编码器,各时间步图像分别编码后再组合。

3.3 为什么图像只需要编码一次

一次动作生成要经过多轮去噪。如果每次去噪都重新编码图像,计算成本会很高。因此,系统先计算一次:

在整个去噪过程中复用同一个观察条件:

重复更新动作块,而不是观察图像。论文将视觉观察作为动作扩散的条件,而不是将观察和动作一起扩散,这样既不需要生成未来状态,也可以明显降低推理成本。

注:例T_o=2 的图像编码,本质上是将 多帧图像在 通道维度****上"堆叠" **,形成一个更高维度的输入,然后由统一的编码器提取融合了时序信息的视觉特征。**视觉编码器在整个推理过程中只需执行一次,后续的扩散去噪过程都基于这个固定的特征进行,从而提升了推理效率。

3.4 噪声预测网络输入和输出什么

噪声预测网络接收:

网络输出预测噪声:

模型根据该预测,将Atk更新为噪声更少的Atk−1,反复迭代后,才得到最终动作。需要注意:

噪声预测网络此时输出的不是机器人最终执行动作,而是当前动作块中噪声或修正方向的估计。

3.5 CNN版本的Diffusion Policy

CNN版本使用一维时序卷积网络处理动作块:

一维卷积沿未来动作的时间维度滑动,联合建模相邻时间动作之间的关系。观察条件和扩散时间步通过FiLM等方式调制卷积层特征。CNN版本的特点是:

  • 结构稳定;

  • 通常较容易训练;

  • 对新任务所需超参数调整较少;

  • 偏向生成平滑、低频的动作变化。

原论文建议在新任务中优先尝试CNN版本;当任务复杂或动作变化非常快速时,再考虑Transformer版本。

3.6 Transformer版本的Diffusion Policy【Decoder结构】

Transformer版本将整个带噪动作块作为一段时序数据处理。假设一个带噪动作块为:

动作块中的每一个带噪动作向量对应一个连续Action Token。Transformer结合完整动作序列、观察条件ct和扩散时间步k,一次预测与动作块同形状的噪声块:

可以理解为

对应关系为:

例如,一个k时刻,包含16个未来动作的带噪动作块:

经过Time-Series Diffusion Transformer后,输出一个k时刻对应的噪声预测块:

Transformer版本能够更灵活地建模动作块内的长距离关系,并减弱时序CNN可能产生的过度平滑,但通常对模型规模、学习率和其他超参数更加敏感。因此:

Diffusion Policy不是一种固定网络结构

更准确地说:

Diffusion Policy=条件动作扩散方法+CNN或Transformer噪声预测网络

3.7 扩散模型中的 Transformer 架构

Diffusion 在机器人动作预测与图像生成中的区别,不在于必须使用 Transformer Encoder 或 Decoder,而在于数据结构及其注意力关系。具体采用哪种架构和 Mask,属于模型设计选择,并非由扩散方法决定。

①Transformer Diffusion Policy【动作快使用因果自注意力】

原始 Diffusion Policy 采用以 Transformer Decoder 为核心的条件去噪网络:

  • 带噪动作块通过因果自注意力建模;

  • 每个动作位置只能读取自身及之前的带噪动作;

  • 观测信息通过交叉注意力输入动作网络。

因果 Mask 在这里是一种时间序列归纳偏置,但并不是扩散策略的必要条件。

②π₀等 Diffusion/Flow Policy【动作快使用全双向注意力】

π₀使用 Flow Matching 生成动作块,并采用全双向注意力:

  • 动作块中的所有位置可以相互读取;

  • 整个动作块被同时、联合建模;

  • 有利于形成连续、协调的动作轨迹。

因此,Diffusion/Flow Policy 的动作块既可以采用因果注意力,也可以采用双向注意力。

③图像扩散中的 Transformer【图像使用全双向注意力】

在 Pixel-space Diffusion、LDM和 Stable Diffusion 等图像生成方法中,去噪网络可以使用 U-Net,也可以使用 DiT。采用 DiT 时,通常使用 Encoder-style Transformer:

  • 图像被划分为多个 Patch Token;

  • 各个 Patch 之间采用双向注意力;

  • 每个位置都能读取整幅图像的其他位置,以建模全局空间关系。

总结

  • 原始 Transformer Diffusion Policy:Decoder 结构,动作块采用因果注意力。

  • π₀等 Diffusion/Flow Policy:动作块可以采用全双向注意力。

  • Transformer 图像扩散模型:通常采用 Encoder-style DiT和双向注意力。

  • Encoder、Decoder及注意力 Mask 都是针对数据结构的设计选择,并非扩散方法的固定要求。


四、Diffusion Policy的训练过程

4.1 必须区分两种"时间"

Diffusion Policy中同时存在两种时间变量。

第一种是真实机器人控制时间:它表示机器人在真实Episode中的时间位置。

第二种是扩散时间:它表示动作块目前被加入了多少噪声。

例如:

表示该动作块处于第50级噪声状态。扩散时间k只是一次网络生成过程内部的变量,并不代表机器人在真实环境中又运动了一步。

4.2 训练时从数据中取出什么

从离线专家示范数据中采样:

为了与扩散符号统一,将干净专家动作块记为:

其中:

它是人类或专家真正执行过的未来动作序列。

4.3 给真实动作块加噪

训练时随机采样高斯噪声:

其形状与动作块一致:

再随机采样一个扩散步骤:

然后构造带噪动作块:

其中:

当k较小时:动作仍然比较接近专家轨迹。

当k较大时:动作逐渐接近随机高斯噪声。

4.4 加噪会不会让真实机器人随机乱动

答案是不会。加噪发生在离线训练数据中的数字动作张量上:

专家动作文件→软件中加入高斯噪声

机器人在训练扩散模型时不需要真的执行带噪动作。也就是说,训练过程是:

离线动作数据→人工构造带噪样本→神经网络学习去噪

而不是让真实机器人随机运动,观察是否成功。Diffusion Policy仍然属于基于示范的离线模仿学习框架。论文的训练和评估均采用行为克隆设定。

4.5 网络训练时输入输出是什么

①网络输入为:

或者先编码观察后写成:

含义分别是:

  • 目前被污染的动作块;

  • 当前机器人观察条件;

  • 当前噪声程度。

②网络输出:模型认为动作块中被加入的噪声。

4.6 训练损失是什么

真实加入的噪声是:

网络预测的是:

因此训练损失为:

也可以写成:

原论文采用噪声预测损失来学习条件动作分布的Score或梯度场。训练目标不是让网络直接输出At0动作快,而是让它学会:

当前带噪动作中哪一部分是噪声,以及应该朝哪个方向修正。

4.7 为什么预测噪声能够学会动作

假设当前带噪动作:

位于动作分布中的某个位置。噪声预测模型近似提供一个方向:

该方向指向在当前观察条件下概率更高的动作区域。因此,多次修正可以理解为:

这也是Diffusion Policy能够表示多个动作模式的重要原因。它不是只记住一个平均动作点,而是学习整个动作概率分布的结构。

4.8 完整训练流程

Diffusion Policy的训练过程可以压缩为:

一句话理解:给模型一段被噪声污染的专家动作,同时告诉它当前观察和噪声程度,让它学习预测噪声,来还原合理动作。


五、推理与滚动时域控制

5.1 推理时为什么从随机噪声开始

推理阶段只有当前观察,没有未来真实专家动作,因此系统首先采样随机动作噪声:

其形状为:

表示为:先初始化一个未来Tp步的随机动作块,然后逐渐把它修正成可执行动作。

5.2 为什么不能像ACT一样直接把噪声设为0

ACT中的潜变量z是一个低维动作风格条件。即使令z=0,Policy仍然可以根据图像和机器人状态直接解码动作块。而Diffusion Policy中的z,即:

不是附加风格变量,而是最终动作块的初始版本,需要一步步去噪得到本身:

因此二者作用不同:

5.3 多轮去噪过程

推理时,模型不断预测噪声并更新动作:

每一步都调用:

一个简化更新可以表示为:

最终得到:

也就是:

原论文将该过程描述为从高斯噪声出发,经过多轮随机Langevin Dynamics或DDPM反向过程生成动作序列。

5.4 为什么去噪需要多次网络前向

普通回归策略只需要一次网络前向:

Diffusion Policy需要多次调用预测噪声网络:

它以更多计算成本换取:

  • 更强的多模态分布表示;

  • 更高维的动作序列建模;

  • 更稳定的训练;

  • 更连贯的动作生成。

原论文还使用DDIM减少推理去噪次数。在实机实验中,采用100步训练扩散过程和10步推理过程,在NVIDIA 3080 GPU上实现约0.1秒推理延迟。

5.5 为什么预测16步却只执行8步

假设:

模型生成:

但实际只执行

后面的不一定真正执行。预测较长动作的作用是让模型能够看到更完整的未来轨迹,使前半段动作具有方向和连续性;只执行前一部分,则可以避免机器人长期依赖旧观察。可以理解为:

预测长度较长→轨迹更连贯

执行长度较短→反馈更加及时

5.6 Receding Horizon Control是什么

执行前Ta步后,机器人获得新的观察窗口:

然后重新采样噪声并生成新的动作块:

完整循环为:

这就是Receding Horizon Control,通常翻译为:

  • 滚动时域控制;

  • 滚动预测控制;

  • 滚动重规划。

Diffusion Policy通过动作序列预测和滚动时域控制兼顾长期动作一致性和对新观察的响应能力。

5.7 Receding Horizon Control不等于Temporal Ensembling

①ACT的Temporal Ensembling是:

不同时间生成的重叠动作块→对同一执行时刻的多个预测加权平均

②Diffusion Policy的Receding Horizon Control是:

生成未来Tp步→执行前Ta步→丢弃剩余部分→根据新观察重新生成

所以二者都使用动作块,但闭环执行方法不同

疑问:每次执行的Ta的步,下一次执行刚好和这一次顺接上吗?

回答:是的,时间上绝对完美顺接,不会出现断裂或重叠。举例如下

5.8 Diffusion Policy是不是世界模型

不是世界模型,Diffusion Policy学习策略:根据观察状态生成未来动作

世界模型通常学习:根据观察状态和动作生成未来状态

Diffusion Policy只学习:当前观察下,什么动作序列比较合理。论文明确选择只扩散动作而不联合生成未来观察,以提高实时性和动作预测精度。

5.9 Diffusion Policy与ACT的定义区别

Diffusion Policy结构类似于Pixel-space Diffusion(像素空间扩散)

ACT则不是Latent Diffusion(潜在空间扩散),而是基于CVAE的动作块生成策略;其潜变量z用于表示动作风格,推理时取先验均值 z=0,并由Policy一次前向生成动作块。而LDM推理需要一直对潜在变量z减噪


六、Diffusion Policy的能力与意义

6.1 表达多模态动作分布

假设在当前状态下存在两条合理轨迹:

直接回归可能产生:

而Diffusion Policy可以学习两个不同的高概率区域。不同初始噪声可能收敛到不同模式:

这并不意味着每次更换噪声一定生成完全不同动作,而是意味着模型有能力表示多个合理解。论文在Push-T任务中展示了策略能够学习左右两种绕行方式,并在一次完整Rollout中保持其中一种模式。

6.2 保持时间动作一致性和适合高维连续动作

如果每一个未来动作都独立采样:

机器人会在两种合理轨迹之间反复摇摆。Diffusion Policy联合生成整个动作块At,动作块中的多个时间步会共同收敛到一条一致轨迹,因此更容易避免动作抖动和模式切换。论文将Temporal Action Consistency列为动作序列预测的重要优势。此外动作块整体是一个高维变量:

即使每个动作维度不高,乘上多个未来时间步后,整体输出维度也会明显增加。扩散模型原本就擅长在高维空间中生成复杂样本,因此适合联合生成多时间步、多关节连续动作。论文将高维输出空间作为Diffusion Policy的核心优势之一。

6.3 对人类示范中的停顿更加鲁棒

遥操作数据中常出现停顿:

或者速度动作接近0。单步策略容易把停顿误认为当前状态下最安全的动作,部署时可能卡住。Diffusion Policy生成完整动作序列,能够同时看到:

移动→短暂停顿→继续移动

因而更容易把停顿理解为轨迹中的一个局部阶段,而不是任务终点。论文指出,动作序列预测提高了策略对Idle Actions的鲁棒性。

6.4 适合复杂接触和操作任务

Diffusion Policy在仿真和真实机器人任务中评估了精确推动、杯子翻转、酱料倾倒和涂抹等操作,并在12个任务、4个机器人操作基准上取得相对于已有方法平均46.9%的成功率提升。

这些任务包含:

  • 多种可行轨迹;

  • 高维连续动作;

  • 接触和摩擦;

  • 周期性动作;

  • 长时间连续控制。

因此,Diffusion Policy的价值不只是"把扩散模型用到机器人",而是证明生成式动作分布能够有效改善复杂机器人模仿学习。


七、核心贡献、局限与技术演进

7.1 Diffusion Policy的核心贡献

第一,将机器人策略表示为条件去噪扩散过程,而不是单点动作回归。

第二,将未来动作块作为一个整体高维变量生成,提高时间一致性和连续性。

第三,通过随机初始化和迭代去噪表达多模态动作分布。

第四,将视觉观察作为固定条件,只对动作进行扩散,避免生成未来状态带来的额外计算。

第五,将动作序列预测与Receding Horizon Control结合,实现闭环滚动执行。

第六,提出CNN和Time-Series Transformer两类动作噪声预测网络,并针对实际机器人控制优化推理过程。

7.2 Diffusion Policy的主要局限

第一,推理需要多次运行噪声预测网络:一次动作生成=多次神经网络前向,因此延迟和计算成本高于普通回归或ACT。

第二,扩散步数、观察长度、预测长度和执行长度都需要根据任务调节。

第三,模型仍然依赖专家示范,进入训练数据没有覆盖的状态后可能失败。

第四,原始Diffusion Policy通常针对单任务或有限多任务训练,没有互联网VLM提供的开放语义知识。

第五,模型不显式预测环境未来,因此不具备完整世界模型或长期规划能力。

第六,随机采样可以表达多种动作模式,但也可能带来输出变化,安全关键场景仍需底层约束和稳定控制。

7.3 ACT、Diffusion Policy与π0对比

对比项 ACT Diffusion Policy π0
模型定位 动作分块模仿学习策略 生成式动作策略 通用VLA机器人基础策略
主要输入 图像、关节状态、z 观察窗口、带噪动作、扩散步 图像、语言、机器人状态、带噪动作
动作输出 连续动作块 连续动作块 连续动作块
生成方式 CVAE+Transformer一次解码 多轮扩散去噪 Flow Matching Action Expert
随机变量 低维风格变量z 与动作块同形状的初始噪声 与动作块相关的Flow噪声
推理次数 一次前向 多次去噪前向 多次Flow积分
闭环方式 Temporal Ensembling Receding Horizon Control 动作块滚动执行
语言能力 原始版本通常没有 原始版本通常没有 使用预训练VLM
世界模型 否 否 否
跨机器人预训练 通常没有 通常没有 重点能力

π0建立在预训练VLM之上,并使用Action Expert和Flow Matching生成连续动作块,目标是形成跨任务、跨机器人本体的通用机器人策略。

7.4 三者的技术关系

三者不能简单理解为完全替代关系:

①ACT重点回答:

如何一次预测一段连续动作,并减少动作抖动?

②Diffusion Policy重点回答:

如何生成包含多种合理模式的连续动作分布?

③π0进一步回答:

如何将互联网视觉语言知识、跨机器人数据和连续生成式动作策略组合成通用机器人基础模型?


7.5 Diffusion Policy完整训练流程

7.6 Diffusion Policy完整推理流程

7.7 Diffusion Policy需要重点记住的十点

① Diffusion Policy不是直接回归单个动作,而是从随机噪声中生成未来动作块。

② 小写ot是单步观察,大写Ot是最近多个时间步组成的观察窗口。

③ 小写at是单步动作,大写At是未来连续动作块

④ Diffusion Policy输出连续浮点动作,不使用离散动作Token,也没有动作词表。

⑤ 训练时只对离线专家动作数据加噪,不会让真实机器人随机乱动。

⑥ 噪声预测网络输出的是噪声或修正方向,不是最终执行动作。

⑦ 真实机器人时间t表示机器人实际控制过程;扩散时间k表示神经网络内部的噪声等级,二者完全不同。

⑧ 推理时从与动作块同形状的随机噪声开始,多轮去噪后得到未来连续动作序列。

⑨ 模型预测Tp步但只执行前Ta步,然后根据新观察重新生成,这就是Receding Horizon Control。

⑩ ACT使用重叠动作块和Temporal Ensembling;Diffusion Policy使用扩散动作生成和滚动重规划;π0则在VLM旁加入Flow Matching Action Expert,形成更通用的连续动作VLA策略。

7.8 具身智能VLA的动作生成范式选择

扩散模型是当前构建通用、高性能VLA模型的首选和主流技术;而ACT则在需要应对高频、长时序精细操作的特定场景下,凭借其独特的"动作分块"思路,扮演着不可或缺的补充角色。同时,将两者融合也正成为前沿趋势。

哲学思考

"机器人真正学会的,不是一个动作,而是一组可能。"

------当观察窗口、随机动作噪声、连续动作块和多轮去噪被放进同一条控制链路,机械臂便不再把左绕与右绕平均成一次撞墙;Tp负责看得更远,Ta负责只走眼前几步,Receding Horizon Control再用新观察不断修正方向。Diffusion Policy表面上是在用扩散生成动作,本质上是在把"唯一正确答案"改写为"多种合理轨迹",在滚动时域中,将选择权持续交给最新的观察。ACT解决动作如何成块,π0把语言与跨机器人知识接进策略,而真正改变具身智能边界的,不是模型能输出多少动作,而是它能否在噪声、反馈与变化中保留选择。

结尾语:如果本文对您有帮助,请点赞鼓励一下,这对我真的很重要。您的每一次鼓励,都是我继续创作的动力,谢谢啦!下次见。

相关推荐
回眸&啤酒鸭5 天前
【回眸】Minicart 电商购物车核心功能落地指南
人工智能
一隅论数智5 天前
给AI一张“业务概念地图“:本体如何从哲学走向企业智能
大数据·人工智能·经验分享·笔记·学习·学习方法·政务
默_笙5 天前
🍙 给每个请求过安检:FastAPI 是怎么把校验写进类型注解的
python
AI的探索之旅5 天前
97 个 OpenCV 实例(三十):双目立体,从标定到点云
人工智能·opencv·计算机视觉
AlbertZein5 天前
Step-5-Preview 上手实测:3D 游戏、金融分析、网页设计一次跑完
人工智能·aigc
LaughingZhu5 天前
Product Hunt 每日热榜 | 2026-09-19
人工智能·深度学习·神经网络·搜索引擎·百度
qq_426003965 天前
启动playwright录制codegen生成自动化测试脚本
python·自动化
虎头金猫5 天前
4K 视频总卡在公网带宽?用 N1 + OpenList 把网盘播放链路重新理顺
运维·服务器·网络·python·容器·beautifulsoup·pandas
美狐美颜SDK开放平台5 天前
开发直播APP时如何接入视频美颜SDK?开发流程与注意事项
android·人工智能·计算机视觉·音视频·直播美颜sdk