返回Blog

机器人学习的传播政策:它是什么以及如何使用它

了解如何扩散模型超过行为克隆,你需要哪些数据,如何训练,以及RCSV数据服务如何支持扩散政策项目.

部分: [模仿学习指南]

通过将行动生成视为一种谤性问题,它处理了操纵行为的多元化,高维性性质,简单的行为克隆算法无法做到.你需要知道的就是将其应用于你自己的机器人项目.

传播政策是什么?

扩散政策是一种基于指责扩散概率模型 (DDPM) 的机器人控制政策的类型. 基于这种数学框架,它是基于像稳定的扩散模型的文本-图像模型. 在机器人背景下,生成的"图像"是机器人行动的序列 (轨迹). 从行动空间中的纯粹的高斯噪音开始,该模型反复将其定制成目前视觉观测和机器人状态,在10100的指示步骤后产生了一致的高质量的行动序列.

对于机器人来说,这很重要.人类对同一任务的示范自然是多模式的:一个人可能会从左侧或右侧抓住杯子,这取决于微妙的文本线索. 必须将这种分布分解成一个预测的模型要么将承诺一个模式,并且在另一半时间失败,要么平均模式,并产生一个奇怪的间接轨迹,总是失败.

分数匹配理论:如何扩散模型学习行动

扩散政策的数学基础是分数匹配学习数据分布的日志概率密度梯度.在前进过程中,在T时间段上,逐步添加了Gaucian噪音从示范数据集中的行动轨迹.在T步骤上,噪音轨迹大约是标准的Gaucian噪音. 神经网络训练以逆转这一过程:鉴于有噪音的行动轨迹和当前的观察,预测添加的噪音 (或相等,"分数"是日志密度的梯度).

预测噪音和实际噪音在前进过程中增加之间的平均平方错误损失.

() () () () () () () () () () () () () () () () () () () () () () () () () () () () () () () () () () () () () () () () ) () () ) () ) () () ) () ) () ) () ) () ) () ) () () ) () ) () ()

在 a_0 是清洁行动轨迹,epsilon 是Gaussian噪音,alpha_t 是时间步骤 t的噪音时间表参数,预期是所有训练示例,噪音样本和时间步骤.这个目标相当于在每个时间步骤中对噪音分布的分数匹配.

机器人技术的功能是调节机制. 观察通常来自CNN或ViT编码器的图像特性,加上自觉状态,将其偏向向于适合当前场景的行动轨迹. 由于观察特征通过学习的行动分布的不同区域来引导测试过程,相同的测试网络可以产生不同的轨迹.

网络与变压器架构

对于该项目,了解妥协是选择合适的变体的关键.

美国CNNU-Net背骨 (广播政策-C)

U-Net的脊柱将行动序列视为1D信号,并采用了具有跳转连接的卷积架构. 结构与图像扩散模型相同,但运行于时间而不是空间尺寸.观察功能通过FiLM (特征性线性调节) 调节注射在每个 U-Net块上.

  • 标准配置的参数: ~25M
  • 训练时间: RTX 3090 4-8小时200集
  • ** 传导 (DDPM,100步):** ~900ms每一个行动部分
  • ** 传导率 (DDIM,10步):** ~15ms/动作部分
  • **优势:**快速推断,低GPU内存,适合单任务政策
  • **缺点:**多任务或语言条件设置的有限容量

变压器背骨 (分散政策-T)

变体脊柱将每个行动时间步骤视为一个代币,将观察代币和扩散时间步骤嵌入到序列中.整个序列的自我关注使得行动依赖性更丰富的时间建模成为可能.

  • 参数: ~60-100M,具体取决于配置
  • 训练时间: RTX 3090 8-16小时200集
  • ** 推理 (DDPM,100步):** ~2.5s/动作部分
  • ** 传导 (DDIM,10步):** ~45ms每个动作部分
  • **优势:**更高的容量,更好的多任务扩展,通过跨重视来调节自然语言
  • 缺点: 推断速度较慢,GPU内存更高 (需要16GB+VRAM),调节更难

实用建议: 在推断速度 (实时控制在10Hz+) 重要的情况下,使用U-Net的背骨用于单任务政策. 使用Transformer的背骨用于多任务政策,语言设置,或者当您有500多个示范,并且能够从更大的模型中获益时.U-Net的变体是80%的项目的正确起点.

输入时间:DDPM与DDIM相对一致性蒸

扩散政策的推断时间成本是其主要的实际限制. 拒绝过程需要通过网络进行多次前进通行,每个过程都产生了略低噪音的行动轨迹. 步骤的数量直接决定了推断延迟和行动质量.

Scheduler Steps 延迟 (U-Net, RTX 3090) Quality vs DDPM-100 Notes
DDPM 100 ~900ms Baseline (100%) Too slow for most real-time control
DDIM 25 ~40ms 98-99% Good default for deployment
DDIM 10 ~15ms 95-98% Recommended for 10Hz+ control
Consistency Distillation 1-3 ~3-5ms 90-95% Best for high-frequency control, requires additional training

行动散步机制减轻延迟问题: 扩散政策预测在单个代码传递中进行16-32次未来操作.机器人在计算下次操作时,在控制频率 (例如10Hz) 上执行该部分的第8次操作. 这种重叠执行意味着有效控制率由零件执行时间限制,而不是断时间,只要在当前零件耗尽之前,断断完成.

为什么传播政策比标准行为克隆更有效

标准行为克隆 (BC) 训练一个政策作为一个监督回归问题:给定观察,预测行动.这在观察到行动的映射是确定性和单模特化时工作.在实践中,操纵任务很少是.即使像从表中选出块这样的"简单"任务都涉及多个有效的方法角度,抓住姿势和抓住前配置. 无明的BC生产出在决策点上犹,做出妥协的运动选择,或者在测试分布与训练略有不同时完全失败的政策.

在原稿中,它在Robomimic基准指标中的12项任务中11项取得了最先进的结果,特别是在具有高动作多模性任务上取得了较大的利率. 在实机器人评估中,散政策显示了更强大的恢复行为当机器人达到一个略错误的中间状态时,该政策可以恢复,因为它是从广泛的分布中采样而不是遵循确定性路径.

基准结果:Robomimic和RoboSuite

Task (Robomimic) BC (多层感知器) BC-RNN ACT Diffusion Policy
Lift 78% 96% 98% 100%
Can 54% 82% 90% 96%
Square (bimanual) 18% 56% 72% 88%
Transport (long-horizon) 6% 24% 48% 62%

在多个有效战略存在的多模式任务 (广场,运输) 中,利率较大.在单模式任务 (升) 中,优势较小,因为所有基线都能找到单个正确的战略.

什么时候选择传播政策与行动

与ACT (变革器的行动分量) 相比,扩散政策通常在具有强大的多模式性任务上表现得更好,而在ACT的分量预测闪耀的长视线依赖性任务上表现得更糟.以下是决策框架:

Choose Diffusion Policy When Choose ACT When
Multiple valid grasp strategies exist for each scene Task has a single dominant strategy
You have 300+ demonstrations and want to leverage data scale You have 50-150 demonstrations and need fast iteration
Recovery from perturbations is important Temporal consistency over long horizons matters more
Control rate of 10Hz is sufficient You need 50Hz+ control frequency
Single-arm manipulation with variable approach Bimanual coordination requiring tight temporal sync

实际上,这两个算法都足够竞争力,数据集的质量和数量比政策架构选择更重要.如果你不确定要使用哪个,首先试试ACT以查看代速度,然后如果观察到模式平均失败,则试试Difusion Policy.

传播政策的数据要求

扩散政策受益于比ACT更多的数据,主要是因为测试网络具有更多的参数和更丰富的建模目标. 为了实现强大的部署性能,处理对象位置变化,照明变化和偶尔的传感器噪音,每任务预算300-500次示范.与ACT不同,扩散政策往往不断改进,增加数据量到相当大的数据集,因此如果您计划投资于大规模数据收集工作,则它是更好的选择.

数据多样性与体积一样重要.示范应跨越你在部署中预期的对象位置,方向和场景配置范围.一个紧密的示范集群,有对象总是在同一位置,将产生一个失败的政策,当一个对象被移动几厘米时. 系统地随机定位对象位置,照明条件和操作员抓住风格,以确保生成可通用的数据集.

观察表现也很重要.使用ResNet图像编码器训练的散播政策通常在狭窄任务分布上使用结的预训练编码器的政策,但在测试条件与训练不同时,预训练编码器 (R3M, MVP,DINO) 产生更好的通用化. 对于大多数实用项目, 开始使用预先训练的编码器来最大化数据集的价值,

培训设置和计算要求

散政策的参考实施 (可在哥伦比亚机器人实验室GitHub上使用) 采用UNet背骨 (更快的推理,更低的容量) 或变压器背骨 (更慢的推理,更高的容量).对于大多数单任务项目,UNet变体是正确的起点. 对于200集的数据集,单个RTX 3090或4090训练需要4-12小时,这取决于观察分辨率和行动视野长度.

设置正确的关键超参数:行动视界 (预测未来几步通常为桌面任务16-32),扩散步骤数 (100用于DDPM,10-25用于DDIM,质量损失最小),以及观察窗口 (包括过去的框架数量通常为 2).不要同时改变三个;调整一个时,请修复其他步骤. 改善政策绩效的最具影响力的变化通常是增加数据集规模,而不是调整架构超参数.

快速启动训练指令

编译参考实现 git 编译 T15 cd diffusion_policy pip 安装 -e . # 列车U-Net变体在数据集 (ZARR格式) python train.py --config-dir=. --config-name=image_pusht_diffusion_policy_cnn \任务.数据集_path=/path/to/your/dataset.zarr \ training.num_epochs=3000 \ policy.noise_scheduler.num_train_timesteps= \100_steps.horizon=16 \ policy.n_obs_steps=2 # 通过DDIM推断评估.py_conalu=. --config-name=DD_fig_policy_diff_policy\\n\n_scheduler.\\n_steps.\\n_steps.\n_s_s_s_s_s_s_s_s_s_s_s_s_s_s_s_s_s_s_s_s_s_s_s_s_s_s_s_s_s_s_s_s_s_s_s_s_s_s_s_s_s_s_s_s_s_s_s_s_s_s_s_s_s_s_s_s_s_s_s_s_s_s_s_s_s_s_s_s_s_s_s_s_s_s_s_s_s_s_s_

对于一个真正的机器人进行推断,100步的DDPM通常对高频控制来说太慢.使用10-25步的DDIM计划器,在RTX 3090 上运行在 ~20Hz,足以以使用缓冲器控制10Hz.

使用RCSV数据服务用于传播政策

RCSV的 [数据服务管道]T2) 通过扩散政策参考实现和HuggingFace LeRobot框架生成格式化数据集. 集集作为ZARR档案存储,具有同步的图像流,自觉状态和50Hz的操作. 质量过消除了任务未成功完成,机器人与环境碰撞或操作员犹产生非代表性的轨迹的事件.

我们的收拾服务使用[RCSV远程操作平台]T3) 双臂可控制领袖跟踪者,手腕安装和空头摄像头,以及可选的力扭矩记录. 对于多任务传播政策培训,一个政策学习多项任务,根据任务识别或语言,我们可以在同一活动中收集不同任务变体,并提供统一的数据集.试点计划为200个示范开始于2,500美元;500多个示范的完整活动开始于8,000美元.

工作的团队与 [OpenArm 1]T4) ($4,500) 或 [ALOHA]T5) 硬件平台获得本土硬件支持; 根据要求可提供自定义硬件集成. 对于那些想在投资数据收集之前评估传播政策的团队,我们的 [公开数据集]T6) 包括几百集的操作数据集,

相关阅读

  • VLA模型解释 - 什么时候使用VLA而不是扩散政策
  • 根据"ALOHA机器人指南"的规定,
  • [机器人培训数据是什么?]
  • 机器人数据注释 -- 标签传播政策数据集
  • RCSV数据服务 -- 关于传播政策的ZARR格式数据集
  • 公共数据集 -- 准备训练的操纵数据集
  • [基准指标]T14) - 根据任务进行政策绩效比较