【强化学习】分层强化学习

news/2024/11/17 6:34:28/

最近一直在做实验的一篇论文有一些些分层强化学习的思想,就来学一学真分层强化学习,虽然已经是三四年前流程的东西了,但也有了解的必要(要不不知道怎么入手了)

分层强化学习的主要思想是将一个复杂的任务分成很多个子任务,每个子任务逐步执行的过程。

分层强化学习

在强化学习中,由于环境的复杂程度逐渐提高,出现的维度困难,过高的维度使得策略的训练出现了很大的困难,于是出现了任务分层的思想。在多数文章中,任务被分成了2层,高层策略是去计划长时间的收益,而低层策略是为了直接与环境交互,达到高层策略所指定的目标。在形式上强化学习研究的是MDP问题,分层强化学习研究的是SMDP问题

三个难点:

  1. 如何训练低层策略与环境交互
  2. 如何定义高层策略的动作
  3. 在不过度收集数据的情况下,如何训练多个策略

SMDP问题

在马尔可夫决策过程中,下一个状态 S t + 1 S_{t+1} St+1仅与当前状态 S t S_t St有关,因此每次决策时不需要考虑历史状态,根据累计奖励构成的状态值函数和状态-行为值函数来学习最优策略。但对于多个动作在多个时间步骤完成或才能体现其真正价值的问题,MDP无法进行较好的优化处理,从而引入了半马尔可夫决策过程(SMDP)。SMDP依赖历史状态,在SMDP中,两个决策之间的时间间隔为T,T既可以是实数也可以是整数。状态s和时间τ的联合概率写作 P ( s ′ , τ ∣ s , α ) P(s′,τ|s,α) P(s,τs,α)。因此MDP与SMDP的区别也在于此,马尔可夫决策过程中, 选择一个动作后, agent会立刻根据状态转移方程P跳转到下一个状态, 而在半马尔可夫决策过程 (SMDP) 中, 当前状态到下一个状态的步数是个随机变量τ, 即在某个状态s下选择一个动作a后, 经过τ步才会以一个概率转移到下一个状态s’,SMDP的状态选择可以取决于前面的整个序列。

经典分层强化学习

Option

由Sutton提出的Option概念是对动作的一种抽象,一个option被定义为一个三元组, < π , β , I > <\pi,\beta,I> <π,β,I> π \pi π表示此option中的策略, β \beta β表示终止条件, β ( s ) \beta(s) β(s)表示状态s有 β ( s ) \beta(s) β(s)的概率终止并退出此option,I表示option的初始状态集合,只有当状态 s ∈ I s\in I sI才会执行option,根据这个option中的策略,智能体选择一个动作或者一个option,直到option根据终止条件β终止,之后智能体开始选择下一option。需要注意的是智能体选择一个动作的情况也可以被称为一个option,这种情况被称作one-step option,当所有的option都是 one-step option时这个SMDP模型就退化为MDP。

为了使用option来解决分层强化学习问题,还需要定义一个更高级的策略 μ : S × O s μ:S×Os μ:S×OsO表示所有option的集合, 而Os表示状态s下可用的option的集合。

HAMs

HAMs的主要思想是根据人类的先验经历制定一些状态,agent在受限制的动作空间中进行状态转移。

一个HAM机是一个三元组, N = ( μ , I , δ ) N=(\mu,I,δ) N=(μ,I,δ),μ是机器状态(machine state)有限集,I是从环境状态到机器状态的确定初始状态的随机函数,δ是概率转移方程。在HAM中机器状态一共有四种,Action状态下会执行一个MDP过程,call状态当前状态机被挂起,根据随机函数初始化下一个状态机,choice状态非确定地选择机器的下一个状态,stop状态停止当前状态机的活动,agent根据之前选择的动作进行状态转移并记录奖赏。Choice状态点是SMDP make decision的point,就像Options中的high-level一样,需要选择哪个option去执行接下来一段时间的action,这里Choice状态则是选择哪个FSM在接下来去与环境交互。

MAXQ

将一个马尔可夫决策过程分解为多个子任务,每一个子任务都有一个终止条件和一个动作集合,这个动作集合中的元素可以是一个MDP动作,也可以是其他子任务。每个子任务的目的是转移到一个可以满足终止条件的状态。与Option不同,MAXQ把每一个子任务都看作一个SMDP过程,每个子任务都可以调用其他子任务。

未来研究方向

  1. 分层强化学习的大型应用
  2. 自动分层

参考文献

[1]赖俊,魏竞毅,陈希亮.分层强化学习综述[J].计算机工程与应用,2021,57(03):72-79.
[2]周文吉,俞扬.分层强化学习综述[J].智能系统学报,2017,12(05):590-594.
[3]回到层次的开始-Options & MAXQ & HAMs


http://www.ppmy.cn/news/46217.html

相关文章

从入门到精通:SEO站外优化全面解析

通过​​第三章​​上下连续两期的干货内容&#xff0c;相信你已经掌握了 SEO 优化的基本方法&#xff0c;但你有没有发现&#xff1a;之前的内容都是针对网站本身进行优化的方法&#xff0c;其实&#xff0c;SEO 还有相当一部分功夫要放在站外优化上。 问题来了&#xff1a;站…

GIS开源库GEOS库学习教程(三):空间关系/DE-9IM/谓词

1、DE-9IM 要判断两个多边形的关系&#xff0c;实际上属于几何图形空间关系判断。几何图形并不只有多边形一种&#xff0c;它包括点、线、面构成的任何图形&#xff0c;两两之间相互关系也有很多种&#xff0c;因此空间关系非常复杂。根据前人的研究&#xff0c;总结出了DE-9IM…

Linux网络-传输层UDP/TCP详解

目录 计算机网络的层状结构 UDP协议 UDP报文格式 理解UDP/TCP报文的本质 UDP的特点 UDP的缓冲区 sendto/recvfrom/send/recv/write/read IO类接口 UDP是全双工的 UDP注意事项 UDP协议&#xff0c;实现简单聊天室&#xff08;服务端客户端&#xff09; TCP协议 TCP协…

php跨域调用json的例子

JSON和XML没什么太大区别&#xff0c;不过JSON有一个更大范围的应用&#xff0c;那就是&#xff0c;跨域的数据调用。由于安全性问题&#xff0c;AJAX不支持跨域调用&#xff0c;这样要调用不同域名下的数据&#xff0c;很麻烦。下面这个例子&#xff0c;足以展示php用json如何…

java运动会成绩管理系统dzkf0534程序

借助java编程语言、jsp技术、MySQL数据库和tomcat服务器来完成系统的所有功能&#xff0c;最后进行系统测试&#xff0c;来检测系统的权限和漏洞&#xff0c;从而将系统完善&#xff0c;达到符合标准。 &#xff0e;系统登录&#xff1a;系统登录是用户访问系统的路口&#xff…

【8086汇编】环境搭建 - 学习笔记:WIN10下安装配置 MASMPlus + DOSBox

【8086汇编】环境搭建 - 学习笔记&#xff1a;WIN10下安装配置 MASMPlus DOSBox 一、MASMPlus 1.2下载安装 二、DOSBox 0.74-3下载安装配置自动挂载C盘添加环境变量 三、masm v5.0四、ml.exe v6.11参考资料 一、MASMPlus 1.2 下载 脚本之家&#xff1a;MASMPlus(汇编开发环境…

jenkins——环境变量、节点配置以及节点环境变量的使用

这里写目录标题 一、Jenkins 环境变量1、环境变量分类a、系统内置环境变量b、用户自定义环境变量 2、环境变量的使用3、控制台输出 二、Jenkins 节点配置1、Jenkins的常用节点2、准备工作3、SSH类节点配置4、Java web节点配置5、Java web节点配置详细步骤 三、Jenkins 节点环境…

[NVMe 协议] PCIe 和 NVME 寄存器

声明 主页:元存储的博客_CSDN博客 依公开知识及经验整理,如有误请留言。 个人辛苦整理,付费内容,禁止转载。 内容摘要 前言 NVMe(Over PCIe)寄存器主要分为两类,一类是PCIe配置空间寄存器,一类是NVMe控制器相关的寄存器。 NVMe离不开PCIe,NVMe SSD是PCIe的endpoint。…