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]

伪代码

在这里插入图片描述

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

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

相关文章

【python】python中的argparse模块,教你如何自定义命令行参数

✨✨ 欢迎大家来到景天科技苑✨✨ 🎈🎈 养成好习惯,先赞后看哦~🎈🎈 🏆 作者简介:景天科技苑 🏆《头衔》:大厂架构师,华为云开发者社区专家博主,…

C++容器——list

目录 list容器 list容器使用流程 加入头文件 定义 list容器的使用 添加元素: 删除元素: 访问元素: 容器大小: 迭代器操作: 其他操作: list容器 功能:将数据进行链式存储 链表(list…

数据结构--队列

一、认识队列 队列(Queue)是一种 受限的线性数据结构,具有 先进先出(FIFO,First In First Out)的特点。 受限之处: 只允许在表的前端(front)进行删除操作。只允许在表…

《Decoupled Optimisation for Long-Tailed Visual Recognition》阅读笔记

论文标题 《Decoupled Optimisation for Long-Tailed Visual Recognition》 长尾视觉识别的解耦优化 作者 Cong Cong、Shiyu Xuan、Sidong Liu、Shiliang Zhang、Maurice Pagnucco 和 Yang Song、 来自新南威尔士大学计算机科学与工程学院、北京大学计算机学院多媒体信息处…

乡村振兴与乡村振兴战略的深度融合:落实乡村振兴战略,推动乡村全面发展,打造富强民主文明和谐美丽的社会主义现代化新农村

一、引言 在全面建设社会主义现代化国家的新征程中,乡村振兴战略承载着推动乡村全面发展、实现农业农村现代化的重大使命。乡村振兴战略的实施,不仅关系到亿万农民的福祉,也关系到国家整体发展的质量和水平。因此,深化乡村振兴与…

YOLOv8项目使用说明

1. 下载群公告中的百度云连接,得到一个压缩文件 2. 解压并使用相关软件(如pycharm、VSCode等)打开 3. 选择一个合适的模型yaml文件,及数据集yaml文件进行训练 4. 配置并填入数据集yaml文件 5. 运行即可

MyCat实现分库分表

两个集群 两个库 两个表 搭建数据库服务使用docker启动两个mysql 3506 3507连接MyCat创建两个数据源连接MyCat创建集群 mycat创建逻辑库MyCat创建全局表广播表创建分片表mycat逻辑库MyCat插入数据mycat查看数据物理库3506查看数据物理库3507查看数据 ER表创建ER表mycat插入数据…

【Linux:lesson1】的基本指令

🎁个人主页:我们的五年 🔍系列专栏:Linux课程学习 🌷追光的人,终会万丈光芒 🎉欢迎大家点赞👍评论📝收藏⭐文章 目录 🚗打开Xshell,登陆root…

Python | Leetcode Python题解之第76题最小覆盖子串

题目: 题解: class Solution:def minWindow(self, s: str, t: str) -> str:ans_left, ans_right -1, len(s)left 0cnt_s Counter() # s 子串字母的出现次数cnt_t Counter(t) # t 中字母的出现次数less len(cnt_t) # 有 less 种字母的出现次数…

【Vue基础】Vue在组件数据传递详解

Vue核心基础-CSDN博客 先回顾Vue特性: Vue.js 是一个用于构建用户界面的渐进式框架,具有许多强大的特性。以下是一些主要的 Vue 特性: 响应式数据:Vue 使用双向绑定来实现数据的响应式更新。当数据发生变化时,视图会自…

系统重构思路

系统重构之道 现在是进行重构的恰当时机吗?重构前需要做什么准备?如何保障重构工作顺利完成并达成预期目标?从这几个大家都关心的问题,来谈谈重构工作遵循的基本思路和原则。 从实际问题出发 “不能解决实际问题的重构就是耍流…

详解:ic网站建设开发需要注意什么?

IC网站建设开发需注重专业内容的呈现、强大的产品检索功能、全面的技术支持、严格的合规性展示、便捷的采购工具、良好的用户账户管理、移动适应性和多语言支持,以及高性能与高安全性,以满足行业用户的专业需求,提升网站的实用性和吸引力。 …

winhex工具,将文件转换为16进制数据放入代码。

今天介绍winhex工具,可以将任何内容读取读取为16进制数据。下面看下效果。 下载链接: WinHex: Hex Editor & Disk Editor, Computer Forensics & Data Recovery Software 一、WinHex打开文件 我们要打开的文件: 打开后: 我…

数据结构--单链表 详解(附代码

目录: 1:链表的概念及结构 2:实现单链表 3:常见疑问 解答 (看到最后!!) 一:链表的概念及结构 1.1 概念: 链表是⼀种 物理存储结构上非连续、非顺序的 存储结…

Qt | QSpinBox 类 QDoubleSpinBox 类(微调框)

01、QSpinBox 类 1、QSpinBox类是 QAbstractSpinBox 类的直接子类和具体实现, 2、QSpinBox 类被设计用于处理整数和离散值集合,对于浮点值使用 QDoubleSpinBox 类实现。 3、QSpinBox 默认只支持整数值,但可通过其内部的成员函数进行扩展,以支持使用不同的 字符串。 02…

Web数字孪生引擎

Web数字孪生引擎是指用于在Web上创建和运行数字孪生的软件平台。它们通常提供一组API和工具,用于连接到实时数据源、可视化数据并创建交互式体验。Web数字孪生引擎被广泛应用于各种应用,例如工业物联网、智能建筑、城市管理和公共安全等。北京木奇移动技…

stata空间计量模型基础+检验命令LM检验、sem、门槛+arcgis画图

目录 怎么安装stata命令 3怎么使用已有的数据 4数据编辑器中查看数据 4怎么删除不要的列 4直接将字符型变量转化为数值型的命令 4改变字符长度 4描述分析 4取对数 5相关性分析 5单位根检验 5权重矩阵标准化 6计算泰尔指数 6做核密度图 7Moran’s I 指数 8空间计量模型 9LM检验…

基于Huffman编码的字符串统计及WPL计算

一、问题描述 问题概括: 给定一个字符串或文件,基于Huffman编码方法,实现以下功能: 1.统计每个字符的频率。 2.输出每个字符的Huffman编码。 3.计算并输出WPL(加权路径长度)。 这个问题要求对Huffman编码算…

在 Kubernetes 上运行 Apache Spark 进行大规模数据处理的实践

在刚刚结束的 Kubernetes Community Day 上海站,亚马逊云科技在云原生分论坛分享的“在 Kunernets 上运行 Apache Spark 进行大规模数据处理实践”引起了现场参与者的关注。开发者告诉我们,为了充分利用 Kubernetes 的高可用设计、弹性,在越来…

FFmpeg常用API与示例(四)——过滤器实战

1.filter 在多媒体处理中,filter 的意思是被编码到输出文件之前用来修改输入文件内容的一个软件工具。如:视频翻转,旋转,缩放等。 语法:[input_link_label1]… filter_nameparameters [output_link_label1]… 1、视…