最近一直在做实验的一篇论文有一些些分层强化学习的思想,就来学一学真分层强化学习,虽然已经是三四年前流程的东西了,但也有了解的必要(要不不知道怎么入手了)
分层强化学习的主要思想是将一个复杂的任务分成很多个子任务,每个子任务逐步执行的过程。
在强化学习中,由于环境的复杂程度逐渐提高,出现的维度困难,过高的维度使得策略的训练出现了很大的困难,于是出现了任务分层的思想。在多数文章中,任务被分成了2层,高层策略是去计划长时间的收益,而低层策略是为了直接与环境交互,达到高层策略所指定的目标。在形式上强化学习研究的是MDP问题,分层强化学习研究的是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的状态选择可以取决于前面的整个序列。
由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 s∈I才会执行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的主要思想是根据人类的先验经历制定一些状态,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在接下来去与环境交互。
将一个马尔可夫决策过程分解为多个子任务,每一个子任务都有一个终止条件和一个动作集合,这个动作集合中的元素可以是一个MDP动作,也可以是其他子任务。每个子任务的目的是转移到一个可以满足终止条件的状态。与Option不同,MAXQ把每一个子任务都看作一个SMDP过程,每个子任务都可以调用其他子任务。
[1]赖俊,魏竞毅,陈希亮.分层强化学习综述[J].计算机工程与应用,2021,57(03):72-79.
[2]周文吉,俞扬.分层强化学习综述[J].智能系统学报,2017,12(05):590-594.
[3]回到层次的开始-Options & MAXQ & HAMs