Offline : How to Leverage Diverse Demonstrations in Offline Imitation Learning

news2024/11/26 12:36:25

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.coloradmin.cn/o/1816729.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

【漏洞复现】海洋CMS /js/player/dmplayer/dmku/ SQL注入漏洞复现(CVE-2024-29275)

0x01 产品简介 海洋CMS是一套专为不同需求的站长而设计的内容管理系统,灵活、方便、人性化设计、内容的专业网站。海洋CMS基于PHPMySql技术开发,完全开源免费、无任何加密代码。简单易用是最大的特色,可快速建立一个海量 0x02 漏洞概述 海…

Redis高并发高可用

1. 复制机制 在分布式系统中,为了解决单点问题,通常会将数据复制多个副本部署到其他机器,以满足故障恢复和负载均衡等需求。Redis提供了复制功能,实现了相同数据的多个Redis副本。复制功能是高可用Redis的基础,后面的…

1224 - 过河卒

题目描述 AA 点有一个过河卒,需要走到目标 BB 点。 卒行走规则:可以向下、或者向右。同时在棋盘上的任一点有一个对方的马(如下图的 CC 点),该马所在的点和所有跳跃一步可达的点称为对方马的控制点。 例如&#xff…

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

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

Could not resolve dependencies for project XXX

大家好,这里是教授.F 如果项目上使用的是idea ide的多模块话,需要模块之间的依赖,比如说系统管理模块依赖授权模块进行认证和授权,而认证授权模块需要依赖系统管理模块进行,然后,就开始相互依赖&#xff0…

大水文之------端午练练JS好了

最近有点不太知道要干啥了,昨天看了集cocos的介绍,下载了个DashBoard,看了看里面的内容,确实有点小震惊,还有些免费的源码可以学习,挺好的。 昨天学习ts,感觉自己的js水平好像不太行&#xff0c…

【Three.js】知识梳理十一:Three.js高级纹理类型

在使用Three.js创建3D图形时,纹理扮演着重要的角色,它们可以增加模型的视觉效果,使模型看起来更加真实。本文将深入讨论几种高级纹理类型:法线贴图(Normal Maps),凹凸贴图(Displacem…

CentOS7发送邮件的设置教程?有哪些步骤?

CentOS7发送邮件时如何配置SMTP?怎样设置群发功能? 无论是系统通知、错误警报还是应用程序的邮件发送,邮件服务都是不可或缺的。在CentOS7中,设置邮件服务可能需要一些配置和调整。AokSend将详细介绍如何在CentOS7上设置并配置邮…

树结构的实现

树的概念 树是一种非线性的数据结构,它是由n个有限节点组成一个具有层次关系的集合,它看起来像棵树,所以称其为“树”。如下图: 树可以分为根和子树,而子树又可以被分为根和子树,故我们可以用递归对其进行实…

.NET周刊【6月第2期 2024-06-09】

国内文章 C#开源实用的工具类库,集成超过1000多种扩展方法 https://www.cnblogs.com/Can-daydayup/p/18230586 文章介绍了一个免费的C#工具类库Z.ExtensionMethods,可以通过NuGet包管理器轻松集成。该库支持.NET Standard 2.0和.NET Framework 4.0&am…

低价和低俗

无底线的低价可不就是低俗了吗? O(∩_∩)O哈哈~ AI说的(引导他说的) 以下几个角度可以进行论证: 低价竞争可能导致质量下降:为了达到极低的价格,商家可能会降低产品或服务的质量标准,使用劣质材料或减少投入。这样可能会影响产品的功能、安全性和使用体验,给消费…

clipboard.js(web页面实现点击复制)

文章目录 codeshow 一个很简单的需求&#xff0c;一个单页面需要一个点击复制的功能 后来在线上找到一个clipboard.js可以实现&#xff0c;这里只用到了最基础的用法&#xff0c;页面样式布局基于bootstrap5.2.3 code <div class"d-flex align-items-center justify-co…

从零实现KV存储项目实战

本项目是从零实现一个完整的、兼容Redis协议的KV数据库项目。 通过每一行代码的编写。你会对整个系统了如指拿&#xff0c;这样对自己基本功的锻炼、对编程能力的提升都是很大的 项目提供完整的视频教程代码 下面是关于KV存储项目的技术大纲&#xff1a; 如果你在学习的过程…

登Cell Press子刊,武汉理工大学团队基于集成学习提出简化电化学模型,0.17s完成3500s的1C恒流放电

2022 年 7 月&#xff0c;不老男神林志颖突发车祸&#xff0c;作为专业赛车手的他驾驶的特斯拉 Model X 在行驶过程中忽然偏离既定轨迹&#xff0c;一头撞向路边的隔离带&#xff0c;随后车辆起火&#xff0c;并在救援车拖吊过程中二次起火&#xff0c;最终整辆车被烧到只剩下了…

NET 使用UDP协议

1.简单的使用UDP对接示例&#xff1a; /// <summary>/// 定时器&#xff0c;每秒定时获取是否有udp数据/// </summary>public DispatcherTimer Timer1 new DispatcherTimer() { Interval new TimeSpan(0, 0, 0, 1) }; public UdpClient SocketUDP { get; set; }/…

unity实现一个大乱斗

1. 游戏说明 大乱斗是一种常见的游戏模式,所有角色会进人同一个场景,玩家可以控制它们移动, 也可以让角色攻击敌 打开客户端即视为进入游戏,在随机出生点刷出角色使用鼠标左键点击场景,角色会自动走到指定位置在站立状态下,点击鼠标右键可使角色发起攻击,角色会向鼠标指向的…

栈和队列(适配器模式模拟)

文章目录 声明stack的介绍queue的介绍deque双端队列简单介绍&#xff08;了解&#xff09;概述优缺点 适配器模式通过容器适配器模拟stack通过容器适配器模拟queue 总结 声明 模拟实现源代码已上传至gitee仓库&#xff1a;stack_queue_learn stack的介绍 stack文档介绍 sta…

优思学院带你走进精益生产:现场观察(Gemba Walk)的艺术

精益生产是一种管理哲学&#xff0c;其目标是在不断提高价值的同时&#xff0c;尽可能地减少浪费和缩短交付时间。实现精益生产的关键步骤之一是现场观察&#xff08;Gemba Walk&#xff09;&#xff0c;通过现场观察&#xff0c;可以深入了解生产流程&#xff0c;发现潜在的浪…

IDM2024手机版+电脑版免费高效的下载管理工具

在数字时代&#xff0c;下载管理软件已经成为我们日常工作和生活中不可或缺的工具。随着互联网的快速发展&#xff0c;我们需要下载的文件数量和大小不断增加&#xff0c;而传统的浏览器下载方式已经无法满足我们对速度和稳定性的需求。因此&#xff0c;选择一个高效的下载管理…

山东大学软件学院项目实训-创新实训-基于大模型的旅游平台(三十二)- 微服务(12)

目录 12.8 RestClient查询文档 12.8.1 快速入门 12.8.2 match&#xff0c; term&#xff0c;bool&#xff0c;range查询 12.8.3 排序和分页 12.8.4 高亮 12.8 RestClient查询文档 12.8.1 快速入门 Testvoid testMatchALL() throws IOException {// 1. 准备requestSearchReq…