Diffuision Policy + RL -------个人博客_ZSY_20241101

news/2025/1/12 6:46:31/文章来源:https://www.cnblogs.com/myleaf/p/18519907

Diffusion Policy: Visuomotor Policy Learning via Action Diffusion

Cheng Chi, Zhenjia Xu, Siyuan Feng, Eric Cousineau, Yilun Du, Benjamin Burchfiel, Russ Tedrake, Shuran Song
原论文链接
投在了IJRR上
点击:原作者论文思路讲解

1. PPO背景引入

这里简要交代PPO的算法原理及思想过程
image

image

image

image

image

image

image

image

image
好到这里就是PPO的基本思想和RL的前期铺垫工作

2. Diffusion Model回顾(DDPM)

image

image
训练过程
image
采样过程
image

3. Diffusion Policy

(1)什么是Diffusion Policy

1.首先Diffusion,它是一种生成方法,如今图像生成领域的成就基本都是基于Diffusion方法,比如常听的Stable Diffusion和Midjourney。

2.其次Policy,它是机器学习算法用来驱动机器人的核心组成部分,它的输入是各种感知信息(比如相机拍到的视频,还有机器人各个关节的位置),而输出的是机器人要执行的动作。

3.简单理解,Diffusion Policy就是应用Diffusion这种方法生成机器人动作的一种Policy。
image
image

(2)铺垫1 --Planning with Diffusion for Flexible Behavior Synthesis (Diffuser)

论文地址

image

scoop 意味着有人在你的想法之前发表了类似的想法
Diffuser (offline)

具体来说,如果有一个包含各式各样轨迹 (trajectories) 的数据集 ,离线强化学习的目标便是从轨迹中挖掘构造出一个性能优秀的智能体 (agent) ,希望它能够直接部署至环境并获得不错的收益。

原论文将数据集每一条轨迹(trajectory)进行拼凑,就像下面这样:
image

表达为如下的二维数组,后续的算法设计就是在这样定义的轨迹表示上进行优化。

那么它的模型架构是怎样的?
image
image
image
image
image

算法思想:其中J是用来进行预测累计轨迹回报的函数,这个函数可以使用神经网络来进行拟合,这样他的训练就是一个回归问题,用来回归每一个可能的ti的累计回报。
image

image

(3)铺垫2 --FiLM

一种特征层面的线性调节方式,在视觉推理(visual reasoning)任务中有很好的效果,可以用于特征合并,例如处理模型的多输入问题。

image

4.公式推导

论文中,首先非常简明扼要的交代了diffusion算法的一条公式:
image

就是我下面之前所讲的这个:
image
然后是梯度的表示和梯度下降:
image

image

即下图展示的过程:
image
文章使用了DDPM去逼近条件概率分布而不是联合分布,这也是由之前的论文总结而来。

image

(2)为什么要用Diffusion Policy

a. 解决Multi-Modal(多模态)的问题。

什么是多模态问题?

E.G.假设现在有100只兔子,前面有一个木桩,可能有30只兔子选择左转绕过桩子,有60只选择右转绕过桩子,有10只兔子选择撞死在桩子上。当这些所有的解决方案都合并为一个的时候,问题就变成了一个多模态分布。

传统前馈神经网络本质是一种有很多系数(w)的函数,例如使用MSE(均方误差)进行训练,即以一个目的进行优化为前提,对于给定的输入,只有一种可能的输出。然而,在某些情况下,一个输入可能对应两种不同的输出。
image
引入了概率分布,使得神经网络不再是一个输入一个输出的函数,而是一个输入可以有多个输出的函数。这种方法提供了更大的灵活性,可以表示各种概率分布,解决了原有方法的限制。

但和实际中机器人系统需要对机器人动作严格控制的思路是相违背的,对于全驱和欠驱系统,无论如何我们都希望可以严格控制机器人执行任务的表现,这也是为什么大多数人没有把机器人动作生成表现为一个概率分布的原因。

但实际过程中,举个例子,如果机器人卡Bug一直撞向桩子,我们如果给他添加概率,有一定概率撞,也有一定概率不撞,这样就可以提高系统的鲁棒性,解决由于严格执行而卡bug卡死的情况。

b. Action Space Scalability

image
下象棋,想7步,下一步

c. 训练稳定

image
Checkpoints,可能overfit/overtrain/diverge
训练期间可能不知道,就必须在机器人上运行并检查每一个Checkpoints,找到哪一个表现良好。这个过程比较tedious并且是very error-prone process

self-surprising 启发式(自我惊讶)

(3)Explicit Policy显式策略和Implicit Policy隐式策略

image

5. DDPM+PPO

未完待续。。。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.hqwc.cn/news/825463.html

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

抖音蓝V信息采集器快手蓝V商家联系方式批量提取工具

抖音蓝V信息采集器快手蓝V商家联系方式批量提取工具 作者V♥553813195 关于抖音蓝V信息采集器和快手蓝V商家联系方式批量提取工具,以下是详细的分析:一、抖音蓝V信息采集器 定义与功能 抖音蓝V信息采集器是一款专为抖音平台设计的工具,旨在帮助用户快速、准确地采集具有蓝V认…

halo配置踩坑过程小记

halo配置过程详解写在最前:​ 终于搞定了最后的一步域名解析配置,其实动态博客的折腾程度也不低于当时的hexo吧,也可能当时的痛苦过程已经忘了。。整理一下思路,记录一下配置过程走过的坑。 ​ 我是从hexo用了半年想折腾点新玩意儿的,其实hexo配置自动化部署之后也挺方便的…

wordpress设置自定义字体

wordpress设置自定义字体详解wordpress设置自定义字体: 失败的操作过程:写在最前:试了一天多的引用字体,方法包括但不限于:下载.ttf、.otf格式字体,转化为wotf 、wotf2格式,挂在github仓库用CDN引用,得到css链接​ 然后这里填字体名称和CSS链接,试了很久很久,都失败了…

组合数学与计数原理

组合数学与计数原理 date: 2024/10/29. 不同情况求组合数 求组合数的四种方法。 Lucas 定理 如果 \(p\) 是质数,则对于 \(\forall m, n \in \text{Z},1 \leq m \leq n\),有: \[\binom{n}{m}=\binom{m \bmod p}{n \bmod p}*\binom{m/p}{n/p} (\bmod p) \]即把 \(n,m\) 表示为…

Java面试题中高级进阶(JVM篇Java垃圾回收)

说说Java对象创建过程?知道类的生命周期吗?简述Java的对象结构?如何判断对象可以被回收?JVM的永久代中会发生垃圾回收么?你知道哪些垃圾收集算法?似乎有点模糊了,那就大概看一下面试题吧。前言 本来想着给自己放松一下,刷刷博客,突然被几道面试题难倒!说说Java对象创…

不写完整sql,DBeaver如何查询数据?效率翻倍!

前言 我们在使用DBeaver时,最常用的就是查询数据,除了在DBeaver里面直接写完整的sql语句进行查询外,其实还可以用不完整的sql语句来查询,效率翻倍。那么,我们该如何操作呢? 如何操作 首先,我们还是照旧打开某一张表的数据,这样默认是没有任何查询条件的。当我们需要按照…

在机器学习中,L2正则化为什么能够缓过拟合

在机器学习中,L2正则化作为一种有效的技巧,能够显著缓解模型的过拟合现象。主要原因包括:1.对权重进行约束,减少模型复杂性;2.增强模型的泛化能力;3.防止权重过大导致的数值不稳定;4.与损失函数相结合,实现模型目标的平衡;5.鼓励权重的均匀分布。通过L2正则化,我们可…

CTF学习(15)MISC(FLAG)

1.图片(?)--->查看详细信息(无果)--->010editor查看是否修改宽高或内藏编码(无果)---使用stegsolve逐层查看(无果) --->选中RGB三个通道的0层使用preview按钮发现存在PK文件(知识点:PK是一种压缩文件)选择SAVE Bin保存为.zip格式的文件 (目前遇到的这种LSB隐写题目都…

全栈(full stack)是什么意思

全栈(Full Stack)指的是一种技能集合和开发理念,涵盖软件开发的各个层面,从前端用户界面到后端服务器端、数据库和服务器管理等多个领域。全栈开发者具备跨越整个技术堆栈的能力,能够综合处理应用程序开发的各个方面,从而构建完整、高效且稳定的应用系统。1. 全栈开发的涵…

找不到符号

问题详情:有依赖有插件在代码里可以看到关联但注解后编译提示找不到符号尝试方法:清除缓存重新启动 无效重新加载maven 无效是否添加dependence 是否安装Lombok插件 有 无效先clear再compile 无效

2024御网线上Pwn方向题解

ASM Checksec检查保护基本上保护都关闭了 64位ida逆向程序只有一段,并且返回地址就是输入的数据,看起来就是srop了,找一下可以用的gadget通过异或清空rax值,然后通过异或ecx和1,异或rax和rcx即可增加rax的值,同理左移一位同样可以增加rax的值,将rax增加到0xf然后打srop,…

基于Java+SpringBoot+Mysql实现的快递柜寄取快递系统功能实现四

三、系统部分功能描述关于我们信息数据层Dao、物品分类信息数据层Dao、快递柜格子信息数据层Dao、投诉信息数据层Dao、快递柜类型信息数据层Dao、快递柜信息数据层Dao、新闻信息数据层Dao、日志信息数据层Dao、小区信息数据层Dao、用户信息数据层Dao一、前言介绍: 1.1 项目摘要…