Offline: Overcoming Model Bias for Robust Offline Deep Reinforcement Learning

EAAI 2023
paper

Intro

model-free的离线强化学习由于价值函数估计问题存在训练的稳定性以及鲁棒性较低。本文提出基于模型的方法,同构构建稳定的动力学模型帮助策略的稳定训练。

method

本文基于模型的方法,所构造的转移模型输入状态动作,输出的状态差异 Δ s = s t + 1 − s t \Delta s=s_{t+1}-s_{t} Δs=st+1st而非直接预测下一状态值。
L ( ϕ ) = ∑ t ∥ f ϕ ( s t , a t ) − ( s t + 1 − s t ) − μ Δ s σ Δ s ∥ 2 L(\phi)=\sum_{t}\|f_{\phi}(s_{t},a_{t})-\frac{(s_{t+1}-s_{t})-\mu^{\Delta\mathbf{s}}}{\sigma^{\Delta\mathbf{s}}}\|_{2} L(ϕ)=tfϕ(st,at)σΔs(st+1st)μΔs2

文章假设转移误差符合分布 ( s ′ − s ′ ^ ) ∼ N ( 0 , − log ⁡ p e , β ( s , a ) ) (s'-\hat{s'})\sim\mathcal{N}(0,-\log p_{e,\beta}(s,a)) (ss^)N(0,logpe,β(s,a))。最小化模型误差的等价于如下
argmin ⁡ θ E [ ( s ′ − s ′ ^ ) 2 ] = argmin ⁡ θ E [ − log ⁡ p e , β ( s ^ , a ^ ) ] = argmax ⁡ θ E [ p e , β ( s ^ , a ^ ) ] = argmax ⁡ θ E [ μ β e ( s ^ ) β ( a ^ ∣ s ^ ) ] \begin{aligned}&\quad\underset{\theta}{\operatorname*{argmin}}\mathbb{E}[(s^{\prime}-\hat{s^{\prime}})^{2}]\\&=\quad\underset{\theta}{\operatorname*{argmin}}\mathbb{E}[-\log p_{e,\beta}(\hat{s},\hat{a})]\\&=\quad\underset{\theta}{\operatorname*{argmax}}\mathbb{E}[p_{e,\beta}(\hat{s},\hat{a})]\\&=\quad\underset{\theta}{\operatorname*{argmax}}\quad\mathbb{E}[\mu_{\beta}^{e}(\hat{s})\beta(\hat{a}|\hat{s})]\end{aligned} θargminE[(ss^)2]=θargminE[logpe,β(s^,a^)]=θargmaxE[pe,β(s^,a^)]=θargmaxE[μβe(s^)β(a^s^)]

进一步,文章利用一个VAE近似 μ β e ( s ^ ) β ( a ^ ∣ s ^ ) \mu_{\beta}^{e}(\hat{s})\beta(\hat{a}|\hat{s}) μβe(s^)β(a^s^),通过最小化ELBO实现参数优化
L ( ω ) = E q ω ( z ∣ s , a ) [ − log ⁡ p ω ( s , a ∣ z ) ] + D K L ( q ω ( z ∣ s , a ) ∣ ∣ p ( z ) ) p ( z ) ∼ N ( 0 , 1 ) L(\omega)=\mathbb{E}_{q_{\omega}(z|s,a)}[-\log p_{\omega}(s,a|z)]+D_{KL}(q_{\omega}(z|s,a)||p(z))\\p(z)\sim\mathcal{N}(0,1) L(ω)=Eqω(zs,a)[logpω(s,az)]+DKL(qω(zs,a)∣∣p(z))p(z)N(0,1)
然后通过最小化累计负对数似然,利用该模型限制策略以产生让模型偏差最小化的样本
E [ P ] = ∑ t E q ω ( z ∣ s , a ) , ( s , a ) ∼ π , f [ − log ⁡ p ω ( s , a ∣ z ) ] \mathbb{E}[P]=\sum_t\mathbb{E}_{q_\omega(z|s,a),(s,a)\sim\pi,f}[-\log p_\omega(s,a|z)] E[P]=tEqω(zs,a),(s,a)π,f[logpω(s,az)]

同时,基于离线数据构建集成模型预测奖励函数,使得确定性策略下的模型预测结果为保守的估计
E [ R ] = η min ⁡ k { ∑ t γ t r ( s t , π θ ( s t ) , f k ( s t , π θ ( s t ) ) ) } + ( 1 − η ) 1 K ∑ k [ ∑ t γ t r ( s t , π θ ( s t ) , f k ( s t , π θ ( s t ) ) ) ] \mathbb{E}[R]=\eta\min_k\left\{\sum_t\gamma^tr(s_t,\pi_\theta(s_t),f_k(s_t,\pi_\theta(s_t)))\right\}\\+(1-\eta)\frac1K\sum_k\left[\sum_t\gamma^tr(s_t,\pi_\theta(s_t),f_k(s_t,\pi_\theta(s_t)))\right] E[R]=ηkmin{tγtr(st,πθ(st),fk(st,πθ(st)))}+(1η)K1k[tγtr(st,πθ(st),fk(st,πθ(st)))]
奖励模型与状态转移模型联合作为正则化项优化策略: L ( θ ) = − λ E [ R ] + ( 1 − λ ) E [ P ] L(\theta)=-\lambda\mathbb{E}[R]+(1-\lambda)\mathbb{E}[P] L(θ)=λE[R]+(1λ)E[P]

伪代码

在这里插入图片描述

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

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

相关文章

图鸟模板-官网:基于Vue 3的前端开发新篇章

一、引言 随着前端技术的飞速发展,企业对于官网的需求也从简单的展示型网站向功能丰富、交互体验良好的方向转变。在这样的背景下,图鸟模板-官网以其基于Vue 3的纯前端开发特性,以及支持微信小程序、支付宝小程序、APP和H5的跨平台能力&…

Android Native发布广播Intent步骤和原理解析

Android Native层发布广播Intent步骤和原理解析 一、Native层发送广播的机制和原理1.1 广播发送接口1.2 应该如何去发送广播1.3 调用流程1.4 IActivityManager.java 二、具体实现2.1 cpp实现代码2.2 实现过程遇到的问题2.3 发送多个值 最近出于工作需要,要在Native层…

REFORMER: 更高效的TRANSFORMER模型

大型Transformer模型通常在许多任务上都能达到最先进的结果,但是训练这些模型的成本可能会非常高昂,特别是在处理长序列时。我们引入了两种技术来提高Transformer的效率。首先,我们用一种使用局部敏感哈希的点积注意力替换了原来的点积注意力…

验证码生成--kaptcha

验证码生成与点击重新获取验证码 如图所示&#xff0c;本文档仅展示了验证码的生成和刷新显示。 1. 概述 系统通过生成随机验证码图像和文本。 2. 代码分析 2.1. Maven依赖 <dependency><groupId>com.github.penggle</groupId><artifactId>kaptch…

JAVA基础--File

文件 为什么要知道文件 在计算机磁盘中&#xff0c;文件是一个非常重要的存在&#xff0c;大家知道我们数据都是保存在计算机磁盘&#xff0c;而磁盘以文件为载体&#xff0c;将信息存储在磁盘文件中&#xff0c;接下来我们学习的IO流也主要是对文件中的数据进行读写操作&…

第四百九十九回

文章目录 1. 概念介绍2. 使用方法2.1 固定样式2.2 自定义样式 3. 示例代码4. 内容总结 我们在上一章回中介绍了"GetMaterialApp组件"相关的内容&#xff0c;本章回中将介绍使用get显示SnackBar.闲话休提&#xff0c;让我们一起Talk Flutter吧。 1. 概念介绍 我们在介…

毕业论文凑字数——关于IVR自动语音应答交互式电话导航自动总机等等概念的一些剖析

目录 IVR毕业论文的讨巧思路IVR自动语音应答IVR的使用流程IVR的各种应用IVR的基本配置 一个小朋友的毕业论文要凑字数&#xff0c;所以推荐她讲一讲IVR&#xff0c;因为IVR可以翻译的名字很多&#xff0c;比如交互式语音应答&#xff0c;自动语音应答&#xff0c;自动语音服务&…

C语言例题36、判断一个数是否是回文数

题目要求&#xff1a;输入一个5位数&#xff0c;判断它是不是回文数。即12321是回文数 #include <stdio.h>int main() {int x;int ge, shi, qian, wan;printf("请输入一个5位数&#xff1a;");scanf("%d", &x);ge x % 10; //个sh…

Xshell连接提示“SSH服务器拒绝了密码”

原因1&#xff1a;数字锁没有打开 没有打开NumLock&#xff08;数字小键盘上面有一个【Num】按键&#xff09;&#xff0c;需要按键开启。 注意要检查NumLock灯是否亮起。 或者改成用字母键上面的数字键输入就好了。 原因2&#xff1a;root密码设置错误&#xff08;这个是比较常…

fatal error: ros/ros.h: 没有那个文件或目录

解决方法&#xff1a; 在出错的文件的包下的CMakeLists.txt文件里&#xff0c;加上 find_package(catkin REQUIRED COMPONENTSroscpp )include_directories(include ${catkin_INCLUDE_DIRS} )【ROS-解决问题】 fatal error: ros/ros.h: 没有那个文件或目录-CSDN博客

GO语言核心30讲 实战与应用 (第三​部分)

原站地址&#xff1a;Go语言核心36讲_Golang_Go语言-极客时间 一、io包中的接口和工具

设计模式-09 - 享元模式 flyweight pattern

设计模式-09 - 享元模式 flyweight pattern 1.定义 享元模式是一种设计模式&#xff0c;它使用共享对象来减少内存使用和提高性能。它通过存储共享的对象实例池来实现&#xff0c;这些实例可以被多个客户端同时使用。 享元模式定义了一个接口&#xff0c;使客户端可以访问共…

安全关闭Tcp连接

close与shutdwon int close(int sockfd);关闭sokcet&#xff0c;这里注意&#xff1a;当程序调用close关闭socket的时候,如果缓冲区中仍然有数据的话,协议栈会发送RST包代替FIN包&#xff0c;丢弃缓冲的数据&#xff0c;强行关闭连接 int shutdown(int sockfd, int howto);该…

【Rollup】用rollup从0到1开发一个js插件并发布到npm

Rollup 是一个 JavaScript 模块打包器&#xff0c;专注于打包 ES6 模块将其编译回多种模块化格式&#xff0c;尤其适合打包库和框架&#xff0c;因为它可以生成更小、更高效的代码&#xff0c;并且特别适合将代码打包成可在浏览器中使用的库。 从0到1开发js插件 1.创建文件夹…

es终止快照恢复进程的方法

方法1、删除索引可以终止&#xff0c;恢复进程。 DELETE index_* // 按通配符删除以index_开头的索引 DELETE _all // 删除全部索引 POST *,-.*/_close 关闭索引 POST *,-.*/_open 打开索引 DELETE *,-.* 删除全部索引方法2、强制重启es 集群也可也终…

安全狗入选福建省网信系统2024年度网络安全技术支撑单位

近日&#xff0c;福建省委网信办会同国家互联网应急中心福建分中心确定并公示了福建省网信系统2024年度网络安全技术支撑单位名单。 作为国内云原生安全领导厂商&#xff0c;安全狗也成功入选。 据悉&#xff0c;此次遴选工作依据《中华人民共和国网络安全法》《国家网络安全事…

如何通过AI技术实现员工培训的革命性变革

AI个性化培训&#xff1a;开启员工潜力的新篇章 在当今这个信息爆炸的时代&#xff0c;人工智能&#xff08;AI&#xff09;技术的影响力已经渗透到社会的各个层面&#xff0c;包括教育与培训行业。AI技术正在彻底改变我们获取知识与技能的方式&#xff0c;特别是在员工培训领域…

IDEA使用技巧2—发布web项目

作者&#xff1a;私语茶馆 1.War包类型 发布Web项目有两种模式&#xff1a;war和war exploded&#xff0c; war模式&#xff1a;将WEB工程以包的形式上传到服务器 &#xff1b;war exploded模式&#xff1a;将WEB工程以当前文件夹的位置关系上传到服务器&#xff1b; war ex…

已解决java.lang.NoClassDefFoundError: 找不到类定义错误的正确解决方法,亲测有效!!!

已解决java.lang.NoClassDefFoundError: 找不到类定义错误的正确解决方法&#xff0c;亲测有效&#xff01;&#xff01;&#xff01; 目录 问题分析 报错原因 解决思路 解决方法 检查类路径 确认类文件和库的位置 检查类加载器配置 确认依赖库的存在和版本 总结 问题…

解决NullPointerException at org.apache.hive.hcatalog.data.schema.HCatSchema.get问题

解决在org.apache.hive.hcatalog.data.schema.HCatSchema.get遇到NullPointerException 在使用hive sqoop import过程中遇到NullPointerExcetption at org.apache.hive.hcatalog.data.schema.HCatSchema.get 这大概率是导入hive的目标表结构与同步的column选项不匹配造成的。 …