分层强化学习

分层强化学习

HRL方法通过引入抽象( Abstraction)机制来实现状态空间的降维,将学习任务分解到抽象内部和抽象之间不同层次上来分别实现,使得每层上的任务仅需在低维空间中进行。因此,建立在合理抽象机制上的HRL能极大减少存储空间和计算量,加快学习速度,有利于解决“维度灾难"问题。典型的HRL方法有Parr提出的HAM、Dietterich提 出的MAXQ、Sutton提 出的Option和Hengst提出的HEXQ等。

Option

SMDP可以算是一类特殊的适用于建模具有连续时间离散事件性质的系统。Parr(1998)的。如前面所说,任何-一个SMDP都存在-一个潜在的MDP与之对应,而给定一个MDP也存在经由抽象转化为一个SMDP来处理的可能。Suttonetal(1999)最早研究了这种关系,并提出了Option 做为行动的- 一个替代概念。Option可以理解为选择的意思,本质上它指出智能体在一个决策过程中所要挑选的仅仅是一个选择,而不用再去区分这个选择到底是一个类似MDP中行动那样的原子动作,还是SMDP中那样的时延行为。所谓经抽象后的持续一个时间段的行为本质上也是由原子动作组成的,图2.16简单的说明了它们之间的联系。

image-20220613213446693

在MDP模型中加入Option

Option是对MDP原子行动的一个扩展,使其加入了具有时延过程的行动。

Option 由三部分组成:

  • 一个策略π:S×A[0,1]

  • 一个终止条件β:S[0,1]​,在状态s按照概率β(s)终止Option。通常,将Option任务的子目标状态点st+1的终止条件设定为β(st+1)=1

  • 一个初始集合$ \mathcal{I} \subseteq S s_t \in \mathcal{I},Option\langle \mathcal{I}, \pi, \beta\rangle\mathcal{I}$ 必须包含且只可以包含该Option可能探索到的所有状态:

一个Option I,π,β 当且仅当stI时在状态st是可用的。如果Option被选择,则按照π选择行动,直到Option根据β随机终止。

具体来说,一个马尔可夫过程是按下面的流程进行的。

​ 首先,行动at根据π(st,)选择并执行

​ 此时Option或者以概率β终止,或者继续,

​ 然后继续根据π(st,)确定at+1,

如此循环,当终止时智能体再次有机会来选择另一个Option。

MDP, Option以及SMDP之间的关系,为使用Option进行规划提供了基础。

在MDP上叠加Semi-Markov-Option,便可以形成SMDP。若把所有Option均拓展到基本动作层,则策略π便可确定马尔可夫决策过程中的一个常规策略,并称其为与π对应的平坦策略,标记为flat(π)

在MDP模型中加入Option后,将所有Option O需要相应引入一些新的定义。

首先,行动集合换为Option集合,Option简记为o。设原MDP问题中使用rsa表示立即收益,使用pssa表示状态转移函数,可以定义相应的执行Option至其结束后的期望收益rsa,及基于Option的转移函数psso(描述时间的变量记入状态内),

ε(o,s,t)表示在时刻to在状态s发起的事件,则有:

(1)rso=E{rt+1+γrt+2++γk1rt+kε(o,s,t)}pss+o=k=1p(s,k)γk

在策略π下,Option中状态s的状态价值函数为:

(2)Vπ(s)=E{rt+γri+1++γτ1rt+τ1+γτVπ(st+τ)ε(π,s.t)}

其中ε(π,s.t)表示在1时刻时,Option π在状态s下被启动。
相应的Option o中状态s的值函数的最优方程分别为:

(3)V0(s)=maxuOs{R(s,o)+sP(ss,o)VO(s)}

(4)Qo(s,o)=R(s,o)+sP(ss,o)maxQ0oOs(s,o)

定义在Option上的标准Q-学习的值函数迭代公式为:

(5)Qk+1(s.o)=(1αk)Qk(s,o)+αk[r+γτmaxQiσQi(s,o)]

​ 可以证明当满足标准Q-学习的收敛条件时,基于Option的Q-学习算法可以按照概率1收敛到Qo

综上可知,Option算法的任务分层过程是一个在状态空间上不断发现子目标,并基于这些子目标构建Options的过程。随着该过程的不断进行,系统的决.策空间就会相应增长,新构建的Option会被添加到任务的决策空间中,因此,构建合理的Option可以有效地避免智能体在动态环境中的盲目探索,大大加快系统的学习速度。

​ 事实上,Option 记录的就是一个子策略。目前在Option基础上做的研究工作的一个关键问题是怎样确定Option及怎么样由Option 来进行分等级的规划。而如何从一个普通 MDP问题中抽象出合适Option集合是该理论更好应用的难点问题(Ravindran B, et al, 2003, 2007)。

HAM (Hierarchical Abstract Machines)

Hierarchical Abstract Machines - YouTube

Parr提出了一种典型的分层强化学习方法HAM ( Hierarchical Abstract Machines) [61],它把各个子任务抽象为一个基于马尔可夫决策过程建立的随机有限状态机

有限状态机参考笔记

M=<S,A,P,R>表示有限马尔可夫决策过程,其中,S为状态集,A为可执行的动作集,P:S×APD(S)表示状态转移概率函数,R表示奖赏函数。

用随机有限状态机的集合H={Hi}来表示HAM的策略,其中,Hi包含状态集$ S_i,φ_i:S→S_i,(H_i)δ_i,H_i=<S_i,δ_i,φ_i>$。

随机有限状态机H,包含四种类型的内部状态: actionchoice,$ callstop$。

  • action类状态能够基于Hi的当前状态和M产生一个M的动作,即在t时刻时产生一个动作a=π(mt,st)Ast。其中,mtHi的当前状态,$s_t M$的当前状态;
  • choice类状态随机选择Hi的下一状态,并且需要在学习过程中优化Hi的策略;
  • call类状态会暂停当前运行的Hi,而去启动执行另一个Hj,$j m_j'H_jφ_j(s_i)$
  • stop状态停止执行当前的随机有限状态机Hi,且返回到调用它的随机有限状态机。

只有action类,接受一个状态输入,输出一个动作;其他的类都没有输出;

call类是控制,建立了一个分层体系,产生一个调用图(或者说栈堆)

一般来说,Hi的子目标被定义为stop类状态。在随机有限状态机的内部状态进行转换的同时,有限MDPM接受action类状态生成的动作,并按照其自身的状态转移概率转移到下一状态,同时获得环境的立即奖赏。但如果t时刻没有动作生成,则有限马尔可夫决策过程M会保持在当前状态.

MAXQ

MAXQ方法将整个学习任务W分解为子任务集W0,W1,,Wn,并将策略π分解为策略的集合π0,π1,πn,其中,πi,是子任务Wi的策略。进行学习的任务就是确定每个子任务Wi的最优策略π(i,s)。所有子任务形成了以W0为根节点的任务分层结构,即任务图。
从任务图可以看出各子任务之间的关系,上层子任务的完成依赖其下层子任务的实现,且上层子任务只能从它的子节点中选择执行子任务,因此对上层的策略空间进行了约束,有效缩小了各子任务的决策空间,显著加快了系统的学习速度。
由于解决了根任务W。也就解决整个学习任务W,因此为了解决W,需要依次选择调用基本动作或者其它子任务。任务图中各子节点的顺序是任意的,即任务图只约束了每层中可以选择的动作,因此,学习时需要高层控制器根据其采用的策略选择动作。

MAXQ中的每个子任务Wi可以由三元组<πi,Ti,Ri>构成。

  • 智能体从子任务Wi的子节点中,根据策略πi,选择执行子任务( 基本动作或复合动作);

  • 终止谓词Ti,将整个状态集划分为:

    • 引起Wi结束的终止状态集Fi
    • 策略πi可执行的活动.状态集Si
  • Ri 是奖赏函数。

投影值函数Vπ(i,s)给出了子任务Wi中状态s的期望回报值。对每个子任务Wi,Si,为其状态集,Wi 对应的所有子节点(子任务)为其动作集,Pi(s,τ|s,a)表示子任务Wi中,在状态s执行动作a导致环境状态转移到s的状态转移概率。对任意状态sSWi中执行动作a获得的立即奖赏为Ri(s,a)=V(a,s)。与子任务Wi 对应的状态的值函数方程为:

(6)V(i,s)=V(a,s)+s,tPl(s,τs,a)γτV(i,s)

其中,V(i.s) 是由状态s (子任务a结束时对应的状态)开始完成子任务Wi的期望回报值。

子任务Wi中,状态-动作对的值函数定义为:

(7)Q(i,s,a)=V(a,s)+s,τP1(s,τs,a)γτmaxQ(i,s,π(s))

其中,式(2-26)的第二项称为完成函数C(i,s,a),即:

(8)C(i,s,a)=sτP(s,τs,a)γτmaxQ(i,s,π(s))

上式给出了子任务a终止后完成子任务W,的期望回报值。

因此,通过MAXQ值函数分解,状态-动作对的值函数可以划分为立即奖赏V(a,s)和完成函数C(i,s,a)两部分,

(9)Q(i,s,a)=V(a,s)+C(i,s,a)

若已知MDP的分层策略π,假定根任务W0的策略选择执行子任务a1a1的策略选择执行子任务a2,这样依次进行选择,直到an1 的策略选择了基本动作an,,则根任务W0中状态s的投影值Vπ(0,s)可以分解为:

(10)Vπ(0,s)=Vπ(an,s)+Cπ(an1,s,an)++Cπ(a1,s,a2)+Cπ(0,s,a1)

其中

(11)Vτ(ann,s)=sP(ss,an)R(ss,an)

按照Dietterich的定义,当每个子策略πi均为Wi的最优策略时,分层策略π={π0,π1,,πn}即为任务W的递归最优策略。Ditterich证明了若智能体执行有序GLIE (Greedy in the Limit with Infinite Exploration) [941策略, 步长参数根据随机逼近条件收敛到0,且立即奖赏有界时,MAXQ_Q算法能够收敛。

自动分层研究

仿真实验

1 多出租车问题

以HRL研究中常采用的出租车问题(taxi domain)为任务背景。但以往的出租车问题主要是为单体分层强化学习设计的,本文将该任务拓展到更一般的情况,即多个乘客、多辆出租车(以Robot表示)。拓展后的出租车问题与多机器人搬运、垃圾收集、巡逻等问题是同构的。

image-20220628165614490

image-20220628165703078

image-20220628165716089

2 垃圾收集

3 多机器人足球

4 多机器人搜救

posted @   英飞  阅读(314)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 震惊!C++程序真的从main开始吗?99%的程序员都答错了
· 【硬核科普】Trae如何「偷看」你的代码?零基础破解AI编程运行原理
· 单元测试从入门到精通
· 上周热点回顾(3.3-3.9)
· winform 绘制太阳,地球,月球 运作规律
历史上的今天:
2023-03-24 Docker 挖坑
点击右上角即可分享
微信分享提示