当前位置: 首页 > news >正文

一文详解Diffusion Policy

这是目前机器人控制、具身智能、VLA 落地里最强的动作生成算法之一。


目录

一、一句话说清:Diffusion Policy 是什么?

二、它解决了机器人控制的什么致命问题?

三、超直观理解:扩散模型怎么生成动作?

1)训练阶段:给动作 “加噪声”

2)推理阶段:从噪声 “生成动作”

四、Diffusion Policy 核心结构(机器人专用版)

输入:

输出:

模型结构:

五、为什么 Diffusion Policy 在机器人上这么强?(重点)

1)天生输出平滑轨迹

2)能学习多模态动作分布

3)鲁棒性极强

4)长时序动作生成超强

六、和 ACT 对比(你最关心)

七、最简单的逻辑总结(记这个就够)

八、如果你要落地,我可以继续给你:


一、一句话说清:Diffusion Policy 是什么?

Diffusion Policy = 用扩散模型(Diffusion Model)来生成机器人连续动作序列。

它不是生成图片,而是生成:机器人关节角度 / 末端位姿 / gripper 开合 的平滑轨迹。


二、它解决了机器人控制的什么致命问题?

传统机器人策略(BC、RL、ACT)都有通病:

  1. 动作容易抖动、不平滑
  2. 多模态、多解法的任务学不会(比如一条任务有多种正确姿势)
  3. 一扰动就崩,鲁棒差
  4. 长时序轨迹很难生成

Diffusion Policy 直接把这些问题全部干掉


三、超直观理解:扩散模型怎么生成动作?

扩散模型分两步:加噪(训练) → 去噪(推理)

1)训练阶段:给动作 “加噪声”

  1. 给一段完美的机器人动作轨迹
  2. 一步步加高斯噪声,直到变成纯随机噪声
  3. 让神经网络学习如何把噪声变回干净动作

→ 模型学会:任何噪声 → 还原成正常动作

2)推理阶段:从噪声 “生成动作”

  1. 输入:当前观测(图像 + 关节状态)
  2. 输入:一段纯随机噪声(当作初始动作)
  3. 模型一步步去噪
  4. 最后输出:一段高质量、超平滑的机器人动作序列

四、Diffusion Policy 核心结构(机器人专用版)

输入:

  • 视觉图像(单目 / 多目)
  • 机器人当前状态(关节角)
  • 语言指令(可选)

输出:

未来 N 步动作序列(Action Sequence)例如未来 16/32/64 步关节角度。

模型结构:

  • 视觉编码器(ResNet / ViT)
  • 时序编码器(处理历史观测)
  • 扩散 UNet 或 Transformer(去噪网络)

五、为什么 Diffusion Policy 在机器人上这么强?(重点)

1)天生输出平滑轨迹

扩散模型生成连续分布,动作不会跳变。机器人控制最需要的就是平滑、低抖动

2)能学习多模态动作分布

一个任务可以有多种正确做法:

  • 抓杯子可以左边抓、右边抓
  • 放物体可以有多种姿势

传统模型只会学 “平均动作” → 很烂。扩散模型学完整分布→ 能生成各种正确动作。

3)鲁棒性极强

就算观测有噪声、遮挡、晃动,依然能输出稳定动作。真实机器人环境必备。

4)长时序动作生成超强

一次生成 16~64 步动作,不会像单步策略那样误差累积、漂移、崩溃


六、和 ACT 对比(你最关心)

方法核心思想平滑度多模态鲁棒性难度
ACTTransformer + CVAE + 动作块
Diffusion Policy扩散模型去噪生成动作极高极强极强中高

结论:

  • 高精度、柔顺、复杂操作Diffusion Policy 更强
  • 速度快、轻量→ ACT 更快
  • 现在最顶尖具身智能(如 Google RT-X、DeepMind)都在往Diffusion Policy

七、最简单的逻辑总结(记这个就够)

  1. 传统策略:预测单点动作
  2. ACT:预测一整段动作块
  3. Diffusion Policy:用扩散模型生成一整段高质量动作轨迹

它是目前机器人连续控制最强范式之一。也是你做VLA + 实体机器人 + 精细操作的终极方案。


八、如果你要落地,我可以继续给你:

  • 最精简的Diffusion Policy 代码(PyTorch)
  • 可直接跑的扩散策略训练脚本
  • 适配机械臂 / 轮式机器人的版本
  • 结合FSDP / DeepSpeed分布式训练方案
http://www.cnnetsun.cn/news/1333346.html

相关文章:

  • C++11中智能指针:shared_ptr的引用计数是线程安全的吗?
  • 不懂代码,我用AI编程给5岁女儿开发了个流光画板(带你一步一步设计一个属于自己的流光画板)
  • VScode快捷键
  • 小白从零开始勇闯人工智能:LangChain 入门指南(下)
  • AI时代的教育“外包”:中国家长将作业辅导交给机器
  • 2026年课程论文降AI率工具推荐:便宜好用才是硬道理
  • 软件系统安全赛初赛misc题-steganography wp
  • 东方仙盟・神识共创共生,智启万象—架构思路—未来之窗行业应用跨平台架构
  • linux-安装配置jdk mysql redis elasticsearch
  • Python 之程序截图的几种方式(含chromedriver下载链接)
  • android studio项目 gradle-xx-bin.zip下载失败或很慢的解决方法
  • AperiSolve 开源项目教程
  • 企业决策视角下微服务全链路性能瓶颈分析平台对比及实践指南
  • 【C语言】程序环境与预处理
  • SCUT_thesis项目:解决长章名换行后不居中的排版问题
  • PowerPlatformConnectors三大类型深度对比:自定义、认证与独立发布者连接器怎么选?
  • Pleaserun vs 手动编写init脚本:效率提升10倍的秘密
  • dbblog部署教程:Docker容器化部署与服务器配置全流程
  • AniVu BitTorrent下载功能深度测评:速度与稳定性全面测试
  • DC-TTS语音合成效果对比:LJ Speech与KSS数据集实测
  • 提升Haskell开发效率:ghcid高级功能与实用技巧
  • Saasify:让API变现从未如此简单!一站式实现API商业化的终极指南
  • Ikemen-GO开发者指南:用Go语言构建自定义格斗游戏引擎
  • GoMLX未来路线图:即将发布的5大令人期待的功能
  • lidar_camera_calib常见问题排查:从数据准备到结果验证的全流程避坑指南
  • 如何用tinygrad实现高效目标检测:YOLO和RetinaNet完整指南
  • 如何用tinygrad实现高效全局优化:从模拟退火到能量最小化的完整指南
  • 提升深度学习模型性能:tinygrad图像数据增强完全指南
  • 如何利用tinygrad数据流水线实现高效数据加载和预处理:从理论到实践
  • 为什么选择gorilla/csrf?深入解析Go语言中最受欢迎的CSRF防护库