Offline : How to Leverage Diverse Demonstrations in Offline Imitation Learning

ICML 2024
paper
code

Intro

文章提出一种从混合质量数据中高效抽取有用状态动作数据用于模仿学习。算法基于一种假设,即使当前状态并非属于专家状态,但是若在该状态下采取动作导致下一状态是专家状态,那么该状态相较于随机状态更有价值。

Method

基于上述假设,算法首先训练一个判别器区分专家状态与混合非专家状态
max ⁡ d E s ∼ D e [ log ⁡ d ( s ) ] + E s ∼ D u [ log ⁡ ( 1 − d ( s ) ) ] ( 10 ) \max_d\mathbb{E}_{s\sim\mathcal{D}_e}\big[\log d(s)\big]+\mathbb{E}_{s\sim\mathcal{D}_u}\big[\log(1-d(s))\big]\quad(10) dmaxEsDe[logd(s)]+EsDu[log(1d(s))](10)
其中 D u = D e ∪ D b \mathcal{D}_u=\mathcal{D}_e\cup\mathcal{D}_b Du=DeDb。若状态的 d ( s ) d(s) d(s)大于一个阈值,则将k-step的历史数据看作是有价值的专家级数据并存储
在这里插入图片描述

直接从 D e D_e De D s D_s Ds混合进行BC学习容易因为采样得到的数据 { s , a , s ′ } \{s,a,s'\} {s,a,s}中状态均为专家状态,但是动作可能并非来自专家数据,进而造成干扰。因此,采用判别器进行状态判断,分别进行行为克隆。
max ⁡ π E D e [ log ⁡ ( π ( a ∣ s ) ) ] + E D s [ 1 ( D e ( s ) = 0 ) log ⁡ ( π ( a ∣ s ) ) ] \max_{\pi}\mathbb{E}_{\mathcal{D}_{e}}[\log(\pi(a|s))]+\mathbb{E}_{\mathcal{D}_{s}}[\mathbb{1}(\mathcal{D}_{e}(s)=0)\log(\pi(a|s))] πmaxEDe[log(π(as))]+EDs[1(De(s)=0)log(π(as))]
在实际操作中,利用重要新采样对上式改进并且将第二项的指示函数改造为狄雷克分布函数
max ⁡ π J ( π ) ≐ E D u [ α ( s , a ) log ⁡ ( π ( a ∣ s ) ) ] + E D s [ β ( s , a ) log ⁡ ( π ( a ∣ s ) ) ] (13) \begin{aligned}\max_{\pi}J(\pi)&\doteq\mathbb{E}_{\mathcal{D}_{u}}[\alpha(s,a)\log(\pi(a|s))]\\&+\mathbb{E}_{\mathcal{D}_{s}}[\beta(s,a)\log(\pi(a|s))]&\text{(13)}\end{aligned} πmaxJ(π)EDu[α(s,a)log(π(as))]+EDs[β(s,a)log(π(as))](13)
其中 α ( s , a ) ≐ D e ( s , a ) D u ( s , a ) = D ∗ ( s , a ) 1 − D ∗ ( s , a ) \alpha(s,a)\doteq\frac{\mathcal D_e(s,a)}{\mathcal D_u(s,a)}=\frac{D^*(s,a)}{1-D^*(s,a)} α(s,a)Du(s,a)De(s,a)=1D(s,a)D(s,a),其中针对状态动作对的判别器 D ( s , a ) D(s,a) D(s,a)训练如下
max ⁡ D E D e [ log ⁡ D ( s , a ) ] + E D u [ log ⁡ ( 1 − D ( s , a ) ) ] . ( 15 ) \max_D\mathbb{E}_{\mathcal{D}_e}[\log D(s,a)]+\mathbb{E}_{\mathcal{D}_u}[\log(1-D(s,a))].\quad(15) DmaxEDe[logD(s,a)]+EDu[log(1D(s,a))].(15)
第二项的 β \beta β为一个狄雷克分布函数
β ( s , a ) ≐ 1 ( d ∗ ( s ) ≤ σ ) . \beta(s,a)\doteq1(d^*(s)\leq\sigma). β(s,a)1(d(s)σ).

伪代码

在这里插入图片描述

结果

在这里插入图片描述
不同数量下随机轨迹与单条专家轨迹组合下的实现效果
在这里插入图片描述
不同数量的专家数据下的实验效果
在这里插入图片描述

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

AI赋能银行国际结算审单:合合信息抽取技术的实践与应用

官.网地址:合合TextIn - 合合信息旗下OCR云服务产品 时下,银行国际业务是金融体系的重要组成部分,涵盖了外汇交易、国际结算、贸易融资、跨境投资等领域,这些业务对于国际贸易和全球经济发展具有重要作用。国际业务部门单据、凭证…

ffmpeg实现视频播放 ----------- Javacv

什么是Javacv和FFmpeg? Javacv是一个专门为Java开发人员提供的计算机视觉库,它基于FFmpeg和Opencv库,提供了许多用于处理图 像、视频和音频的功能。FFmpeg是一个开源的音视频处理工具集,它提供了用于编码、解码、转换和播放音视频…

LabVIEW RT环境中因字符串拼接导致的系统崩溃问题

在LabVIEW实时操作系统(RT)环境中运行的应用程序出现字符串拼接后死机的问题,通常涉及内存管理、内存泄漏或其他资源管理问题。以下是一些指导和步骤,帮助解决这个问题: 1. 内存泄漏检测 字符串拼接会在内存中创建新…

Android Glide loading Bitmap from RESOURCE_DISK_CACHE slow,cost time≈2 seconds+

Android Glide loading Bitmap from RESOURCE_DISK_CACHE slow,cost time≈2 seconds 加载一张宽高约100px多些的小图,是一张相当小的正常图片,loading Bitmap from RESOURCE_DISK_CACHE竟然耗时达到惊人的3秒左右!(打开Glide调试…

XSKY 在金融行业:新一代分布式核心信创存储解决方案

近日,国家金融监督管理总局印发了《关于银行业保险业做好金融“五篇大文章”的指导意见》,在数字金融领域提出明确目标,要求银行业保险业数字化转型成效明显,数字化经营管理体系基本建成,数字化服务广泛普及&#xff0…

python实战根据excel的文件名称这一列的内容,找到电脑D盘的下所对应的文件位置,要求用程序实现

今天客户需要 根据excel的文件名称这一列的内容,找到电脑D盘的下所对应的文件位置,要求用程序实现 数据样例:记录.xlsx 解决代码: 1、安装必要的库: pip install pandas openpyxl2、编写Python脚本: im…

国际贸易条件简称的解析说明

声明:本文仅代表作者观点和立场,不代表任何公司!仅用于SAP软件应用学习参考。 SAP创建销售订单的界面有个国际贸易条件的字段,这个字段选择值主要有如下选择值,国际贸易条件简称的具体解析说明如下: EXW &…

CAD2022下载与安装

CAD2022下载与安装 安装包下载安装包解压缩软件安装安装完成 安装包下载 安装包下载链接: https://pan.xunlei.com/s/VNyyAVUev-7XHig_2VIGiTN1 提取码:mxt8 下载安装包,完成后,得到一个压缩文件 安装包解压缩 右键解压到当前…

D-Bus——system 调用session 报错

以下代码是一个 session 服务和 systemd 服务 demo &#xff1a; systemd DBus #include <QCoreApplication> #include <QDBusConnection> #include <QDBusInterface> #include <QDBusError> #include <QDebug>class TestObject : public QObje…

如何清理鼠标右键的一些无用的选项

清理鼠标右键出现的无用&#xff08;无效&#xff09;选项 最近安装了很多乱七八糟的软件&#xff0c;之后也手动卸载了不少&#xff0c;但使用鼠标右键点击文件夹的时候&#xff0c;发现多了一些我不知道&#xff0c;或者说是我不想用的情况&#xff0c;目前情况已经解决&…

nginx rewrite地址重写

常用的nginx正则表达式 ^匹配以...开头的字符串$匹配以...结尾的字符串^$^$表示空行*匹配前面的字符0次或者多次&#xff08;通配符*表示任意数量的任意字符&#xff09;匹配前面的字符1次或多次?匹配前面的字符0次或1次.匹配除了“\n”之外的任意单个字符&#xff0c;[.\n]表…

两种AI 图像生成技术:MidJourney 和 Stable Diffusion

目录 1、MidJourney1.1 MidJourney基本特点1.2 MidJourney的玩法教程 2、Stable Diffusion2.1 Stable Diffusion基本特点&#xff1a;2.2 Stable Diffusion生成展示 3、两种技术的区别4、AI 绘画与它们的联系5、总结 MidJourney 和 Stable Diffusion 是当前两种流行的 AI 图像生…

最短路:spfa算法

最短路&#xff1a;spfa算法 题目描述参考代码![在这里插入图片描述](https://img-blog.csdnimg.cn/direct/3be484da34a84911a0a7dab3f1d84945.png) 题目描述 参考代码 输入示例 3 3 1 2 5 2 3 -3 1 3 4输出示例 2#include <iostream> #include <cstring> #inc…

每天五分钟计算机视觉:如何在现有经典的卷积神经网络上进行微调

本文重点 在深度学习领域,卷积神经网络(Convolutional Neural Networks,CNN)因其强大的特征提取和分类能力而广泛应用于图像识别、自然语言处理等多个领域。然而,从头开始训练一个CNN模型往往需要大量的数据和计算资源,且训练时间较长。幸运的是,迁移学习(Transfer Le…

【电子通识】焊接常见的不良有哪些?

在焊接完成后的调试阶段&#xff0c;有时总会发生一些奇怪的异常。也许是因为在焊接过程中出现了一些莫名其妙的焊接缺陷&#xff0c; 这些焊接缺陷产生的原因各不相同。 在实际的SMT贴片加工或插件焊接中&#xff0c;我们一般会采取一些方法来避免这些焊接不良的现象。那么常见…

247 H指数

法一&#xff1a; 不进行排序&#xff0c;直接依照原数组进行解&#xff0c;先假设h为1&#xff0c;然后找引用超过1篇的论文数量&#xff0c;如果满足&#xff0c;则再假设h为2。这样比较慢&#xff0c;时间复杂度为o(n方)。 int hIndex(vector<int>& citations) {…

我的编程语言学习记录:一段不断探索的旅程

目录 我的编程语言学习记录&#xff1a;一段不断探索的旅程 1.引言 2.我的编程之旅开始 第一站&#xff1a;Python — 简洁之美 第二站&#xff1a;JavaScript — 网页的魔法 第三站&#xff1a;Java — 企业级的力量 3.学习过程中的挑战与克服 1.理解概念 3.记忆语法…

Linux命令详解(1)

在Linux操作系统中&#xff0c;命令行界面&#xff08;CLI&#xff09;是一个强大的工具&#xff0c;它允许用户通过键入命令来与系统交互。无论是系统管理员还是普通用户&#xff0c;掌握一些基本的Linux命令都是非常重要的。在本文中&#xff0c;我们将探讨一些常用的Linux命…

文字悬停效果

文字悬停效果 效果展示 CSS 知识点 CSS 变量使用回顾-webkit-text-stroke 属性的运用与回顾 页面整体结构实现 <ul><li style"--clr: #e6444f"><a href"#" class"text">First</a></li><li style"--cl…

简单脉冲动画效果实现

简单脉冲动画效果实现 效果展示 CSS 知识点 CSS 变量的灵活使用CSS 动画使用 页面整体结构实现 <div class"pulse"><span style"--i: 1"></span><span style"--i: 2"></span><span style"--i: 3"…