论文阅读-Policy Optimization for Continuous Reinforcement Learning

摘要

我们研究了连续时间和空间环境下的强化学习( RL ),其目标是一个具有折扣的无限时域,其动力学由一个随机微分方程驱动。基于连续RL方法的最新进展,我们提出了占用时间(专门针对一个折现目标)的概念,并展示了如何有效地利用它来推导性能差异和局部近似公式。我们进一步扩展这些结果,以说明它们在PG (策略梯度)和TRPO / PPO (信赖域政策优化/近端政策优化)方法中的应用,这些方法在离散RL环境中是熟悉和强大的工具,但在连续RL中不发达。通过数值实验,我们证明了我们方法的有效性和优势。

受两个问题的启发

  1. 定义MDP (带有折扣的目标)中的访问频率为:,其中{ Yt }为状态空间为S:= { s }的马尔可夫链,γ∈( 0、1 )为折扣因子。它在许多MDP的RL算法中起着重要的作用。因此,一个自然的问题是,什么是ρ ( s )的连续对应物?
  2. 对于连续RL,如何表征两种策略之间的性能差异?具体来说,我们能否推导出类似于MDP情形中的性能差异公式?能否将高效的策略优化方法的思想和工具应用到连续的RL设置中?  

主要贡献

1. 提供了一个统一的理论框架,用于连续时间和空间中的策略优化问题。

2. 引入了驻留时间/度量概念,解决了折扣目标下的策略优化问题。

3. 通过摄动分析推导了连续强化学习的性能差异公式。

4. 开发了策略梯度的连续对应项,以及性能度量的局部近似方法。

5. 提出了次优化-主优化算法,并推导了其性能上界。

6. 发展了信任区域策略优化/近端策略优化的连续对应项。

7. 展示了这些算法在连续时间和空间中的随机控制任务上的收敛性。

算法和实验

Sample-based Algorithms

超参数:

  1. 学习率α
  2. 轨迹截断参数(时间范围)T(需要足够大)
  3. 总样本量 N或采样间隔δt,其中 N·δt = T
  4. 从环境中观察到数据的时刻,记 ti:= i·δt,i = 0, . . . , N − 1

Continuous Policy Gradient (CPG)

为了从数据中估计策略梯度,首先采样一个独立的指数变量τexp(β) 以获得 。如果存在 q 函数 oracle,则可以获得策略梯度的无偏估计(其收敛分析遵循)。由于缺少这样的预言,我们采用广义优势估计 (GAE) 技术 来获得 q(Xt, at)≈(Q∆t(Xt, at;π)−V (Xt;π)) /δt≈(rtδt + e−βδtV (Xt+δt)−V (Xt))/δt。这产生了策略梯度算法 1。

Continuous PPO (CPPO)

我们现在给出算法2,它是PPO的连续版本,也是3.3节中MM算法的近似。为此,我们需要更多的超参数:容忍度水平ε和KL散度半径δ。此外,令

(经验地,我们发现对x取平均而不是取上确界,在减少计算负担的同时并不影响算法的性能,这与文献中在离散时间TRPO中观察到的情况类似。)

实验

LQ stochastic control

考虑一个由具体线性动力学和二次奖励的SDE驱动环境。线性二次(LQ)控制问题不仅因为具有优雅简单的解决方案,还因为它可以近似更复杂、非线性的问题。

将 CPO 和 CPPO 的性能与直接离散化时间,然后应用经典离散时间 PG 和 PPO 算法的方法进行了比较。实验表明,我们提出的 CPO 和 CPPO 在样本效率方面具有可比性,并且在许多情况下,它们在各种时间离散化下优于离散时间算法。

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

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

相关文章

使用mysql官网软件包安装mysql

确定你的操作系统,我的是Centos myqsl 所有安装包的地址:https://repo.mysql.com/yum/ 如果你是使用rpm安装你可以到对应的版本里面找到对应的包。 mysql 发行包的地址:http://repo.mysql.com/ 在这里你可以找到对应的发布包安装。 这里使用y…

Windows下安装使用Squirrel

引言 SQuirrel SQL Client是一个用Java写的数据库客户端,用JDBC统一数据库访问接口以后,可以通过一个统一的用户界面来操作MySQL PostgreSQL MSSQL Oracle等等任何支持JDBC访问的数据库。使用起来非常方便。而且,SQuirrel SQL Client还是一个典型的Swing程序。 如果您的工作…

git:git rm --cached和git rm -f和git restore --staged的区别(附带详细步骤测试)和git diff比较本地分支和远程分支的区别(细分到文件/文件)

git rm --cached和git rm -f和git restore --staged的区别 当试图删除一个已经git add在暂存区的文件,我们使用 git rm --cached:从暂存区中移除,但保留在工作区中,且工作区中的文件内容在执行命令前需要还原到最后一次git add的…

统信 UOS V20 一键安装 Oracle 11GR2(231017)单机版

Oracle 一键安装脚本,演示 统信 UOS V20 一键安装 Oracle 11GR2(231017)单机版过程(全程无需人工干预):(脚本包括 ORALCE PSU/OJVM 等补丁自动安装) ⭐️ 脚本下载地址:…

100 个 Kotlin 面试问题及答案(其二)

尤其是在Android开发中,Kotlin已经成为一种流行的编程语言。为了帮助您在 Kotlin 面试中取得成功,我们为您简化了 100 个最常见的面试问题。本指南涵盖了广泛的主题,包括基本语言概念和高级功能。每个问题都附有简单的答案和实际示例&#xf…

Webpack常见插件和模式

目录 目录 目录认识 PluginCleanWebpackPluginHtmlWebpackPlugin自定义模版 DefinePlugin的介绍 ( 持续更新 )Mode 配置 认识 Plugin Loader是用于特定的模块类型进行转换; Plugin可以用于执行更加广泛的任务,比如打包优化、资源管理、环境变量注入等 …

Voodoo中国区刘毅:全球爆款休闲游戏的创意选品与研发发行 | TopOn观察

10月28日,由TopOn联合罗斯基主办的“游戏赛道新机会”主题沙龙在成都举办。活动邀请了多位国内外知名公司及游戏爆款产品的负责人分享,分别从各自的方向及经验出发,以数据、案例、产品分析、行业趋势等多个维度,为行业从业者带来独…

DataX-Oracle新增writeMode支持update

目录 前言 第一步下载源码 第二步修改源码 1、Oraclewriter 2、WriterUtil 2.1、修改getWriteTemplate方法 2.2、新增onMergeIntoDoString与getStrings方法 3、CommonRdbmsWriter 3.1、修改startWriteWithConnection 3.2、修改doBatchInsert 3.3、修改fillPreparedStatem…

QT6实现音频输出方法

一.QT6音频调用及与QT5的区别 1.音频输入 QAudioSource代替QAudioInput类 QAudioSource类提供了一个接口&#xff0c;用于从音频输入设备接收音频数据。 Header: #include <QAudioSource> qmake: QT multimedia 2.音频输出 QAudioSink代替QAudioOutput类 QAudioSi…

硬件10、从网站获取封装

百度搜索IC封装网或者网址https://www.iclib.com/ 搜索想要的器件&#xff0c;直接下载他的原理图库和封装库

Spring Cloud+Spring Alibaba笔记

Spring CloudSpring Alibaba 文章目录 Spring CloudSpring AlibabaNacos服务发现配置中心 OpenFeign超时机制开启httpclient5重试机制开启日志 SeataSentinel流量控制熔断降级热点控制规则持久化集成 OpenFeign集成 Gateway MicrometerZipKinGateway路由断言过滤器 Nacos 服务…

【YOLOv5改进系列(6)】高效涨点----使用DAMO-YOLO中的Efficient RepGFPN模块替换yolov5中的Neck部分

文章目录 &#x1f680;&#x1f680;&#x1f680;前言一、1️⃣ 添加yolov5_GFPN.yaml文件二、2️⃣添加extra_modules.py代码三、3️⃣yolo.py文件添加内容3.1 &#x1f393; 添加CSPStage模块 四、4️⃣实验结果4.1 &#x1f393; 使用yolov5s.pt训练的结果对比4.2 ✨ 使用…

【Pytorch入门】小土堆PyTorch入门教程完整学习笔记(详细笔记并附练习代码 ipynb文件)

小土堆PyTorch入门教程笔记 最近在观看PyTorch深度学习快速入门教程&#xff08;绝对通俗易懂&#xff01;&#xff09;【小土堆】顺便做点笔记&#xff0c;方便回看&#xff0c;同时也希望记录的笔记能够帮助到更多在入门的小伙伴~ 【注】仅记录个人觉得重要的知识&#xff0c…

Java的静态代理与jdk动态代理

代理 我们经常利用代理进行解耦以及控制对实际对象的访问等工作。例如&#xff0c;我们可以通过代理对方法的调用进行更精细的控制&#xff08;例如加上日志、权限控制等&#xff09;&#xff0c;而无需修改实际对象的代码。代理的作用是无侵入式的给代码增加功能。有些事情是…

sql——对于行列转换相关的操作

目录 一、lead、lag 函数 二、wm_concat 函数 三、pivot 函数 四、判断函数 遇到需要进行行列转换的数据处理需求&#xff0c;以 oracle 自带的表作为例子复习一下&#xff1a; 一、lead、lag 函数 需要行列转换的表&#xff1a; select deptno,count(empno) emp_num from…

第十四届蓝桥杯JavaA组省赛真题 - 互质数的个数

解题思路&#xff1a; 快速幂 欧拉函数 快速幂比较常见于数据较大的取模场景&#xff0c;欧拉函数感觉还是有点抽象 注意&#xff1a; 取模的时候就不要简写了&#xff0c;例如&#xff1a;res res * a % mod;不要写成res * a % mod; import java.util.Scanner;public c…

算法之美:B+树原理、应用及Mysql索引底层原理剖析

B树的一种变种形式&#xff0c;B树上的叶子结点存储关键字以及相应记录的地址&#xff0c;同等存储空间下比B-Tree存储更多Key。非叶子节点不对关键字记录的指针进行保存&#xff0c;只进行数据索引 , 树的层级会更少 , 所有叶子节点都在同一层, 叶子节点的关键字从小到大有序排…

直流马达驱动芯片D6289ADA介绍

应用领域 适用于智能断路器&#xff08;家用或工业智能空开&#xff09;、新能源汽车充电枪锁、电动玩具、电磁门锁、自动阀门等的直流电机驱动。 功能介绍 D6289ADA是一款直流马达驱动芯片&#xff0c;它有两个逻辑输入端子用来控制电机前进、后退及制动。该电路具有良好的抗干…

如何解决 IntelliJ IDEA 中属性文件的编码问题

在使用 IntelliJ IDEA 进行开发过程中&#xff0c;我们经常会遇到属性文件&#xff08;.properties 文件&#xff09;的编码问题。如果属性文件的编码设置不正确&#xff0c;就会导致中文等特殊字符显示乱码。这是因为IntelliJ IDEA中默认的配置文件的编码格式是ISO-8859-1。 …

36-递归与迭代

36-1 用递归和迭代解决问题 1、求n的阶乘 公式&#xff1a; n!123...(n-1)n。用递归方式定义&#xff1a;0!1&#xff0c;n!(n-1)!n。 代码1&#xff1a; 我们先回忆一下之前用循环怎么实现的吧 非递归&#xff0c;也可称迭代&#xff1a; int main() {int n 0;scanf(&q…