下面是小编为大家整理的分层强化学习算法综述,供大家参考。
分层强化学习算法综述 张佳栋 (北京邮电大学信息与通信工程学院,北京 081000)
摘
要:随着人工智能领域的飞速发展,强化学习算法作为人工智能领域的经典算法受到了广泛的关注与研究。为了解决新的更具挑战性、更复杂的问题,人们将分层思想引入了强化学习,。分层强化学习算法在处理有复杂系统的、复杂环境的、规模更加庞大的学习问题较传统强化学习算法有着更优异的处理能力。近年来人们对其的研究不断升温,取得了很多优秀的理论成果和实际应用。本文主要介绍分层强化学习算法最新的研究成果,即各种经典分层强化学习算法的简要内容。
关键词:人工智能;分层强化学习;复杂系统;复杂环境。
中图分类号:TN92 文献标识码:A Overview of hierarchical reinforcement learning algorithms ZHANG Jiadong School of Communication and Information Engineering, Beijing University of Posts and Telecommunications, Beijing 081000, China
Abstract: With the rapid development of artificial intelligence, reinforcement learning algorithm, as a classical algorithm in the field of artificial intelligence, has attracted extensive attention and research. In order to solve new, more challeng-ing and complex problems, people introduce the idea of stratification into reinforcement learning,. Hierarchical rein-forcement learning algorithm has better processing ability than traditional reinforcement learning algorithm in dealing with learning problems with complex system, complex environment and larger scale. In recent years, people"s research on it has been heating up, and many excellent theoretical results and practical applications have been obtained. This paper mainly introduces the latest research results of hierarchical reinforcement learning algorithms, that is, the brief contents of various classical hierarchical reinforcement learning algorithms. Key words: Artificial intelligence, hierarchical reinforcement learning, complex system, complex environment
1
引言
强化学习(Reinforcement Learning,RL)是机器学习的一个重要分支,它是智能体(Agent)根据自身状态(State)采取动作(Action)与环境进行交互获取奖励,最终完成一个最优策略使奖励最大化。2017 年最具影响力的 AlphaGo 大胜世界围棋冠军李世石和柯洁事件,其核心算法就是强化学习算法。但在传统强化学习中面临着维数灾难的问题,因为所有强化学习的方法都把状态动作空间视为一个巨大的、平坦的搜索空间,这也就意味着一旦环境较为复杂,状态动作空间过大,将会导致起始状态到目标状态的路径非常长,需要学习参数以及学习过程中的存储空间将会非常大,使得学习的难度成指数增加,并且强化学习效率以及效果不尽如人意。之后随着深度学习的再次兴起,其强大的探索能力受到了广大科研人员的热捧,于是结合两者深度强化学习也就此应运而生,深度强化学习不仅具有强大的探索能力,对于复杂的环境状态都能够有一个良好的处理,但当智能体具有复杂动作空间时,其依旧不能取得良好的结果,使得强化学习的发展再次碰触到了瓶颈。为解决强化学习发展
的瓶颈问题,研究者们将分层的思想加入强化学习中,提出分层深度强化学习(Hierarchical Deep Reinforcement Learning,HRL),HRL 的本质是通过将任务分解为不同抽象层次上的子任务,子任务的状态动作空间有限,对子任务能够有较快的求解速度,最终加快整体问题的求解。
本文首先对强化学习进行简要描述,然后介绍几种经典的分层强化学习算法的内容和基本思想。
2
强化学习理论基础 2.1
强化学习
关于机器学习的研究可以分为 3 个方向,即有监督学习、无监督学习和强化学习。其中强化学习的核心思想是通过 Agent 与环境的不断交互,以最大化累计回报为目标来选择合理的行动,这与人类智能中经验知识获取和决策过程不谋而合。特别是近年来深度强化学习在以 AlphaGo、AlphaZero、AlphaStar 等为代表的机器智能领域的突破[11],进一步展现了强化学习在解决复杂决策问题的能力,成为人工智能研究领域的热点。
如图 1 所示,强化学习的架构主要包括 Agent和环境两部分,Agent 首先对环境状态进行感知,然 后 决 定 选 择 采 取 的 动 作 。
图 1 强化学习的框架结构
Agent 的动作会对环境产生影响,其环境状态也会发生变化,此时 Agent 会收到来自环境的反馈信号,分别用正负反馈表示这个动作对学习目标是否有益。Agent 则通过不断地试错和反馈来不断优化动作选择策略,最终学习到一个有目标导向的策略。
根据环境模型是否已知,强化学习可分为有模型强化学习和无模型强化学习。若已知环境状态在智能体动作影响之下的转移规律和反馈,即状态转移概率函数和奖赏函数已知,则称为有模型强化学习,否则便是无模型强化学习。有模型强化学习主要基于动态规划的思想,采用 Bellman 方程和Bellman 最优方程进行策略迭代和值迭代。无模型强化学习则是基于采样的方式与环境进行交互学习,当前主要研究的方法可以分为 3 类:基于值函数的强化学习方法、基于策略搜索的强化学习方法和基于环境建模的强化学习方法。
1)基于值函数的强化学习。其核心思想是采用函数近似的方法将强化学习模型中的状态值函数、状态动作值函数或策略函数用一个显性的函数来表示,常用的近似函数有线性函数近似、决策树近似、核函数近似和神经网络等。其中深度神经网络是近年来在强化学习值函数近似方面应用最为广泛和成功的函数。其中,最为典型的应用开始于2013年 DeepMind 团队在 NIPS 上提出的DQN(deepQ-networks)算法,其基于值函数的泛化逼近方法,有效解决了强化学习的“维数灾难问题”,但在 Q 函数逼近过程中存在不稳定的现象。为解决部分可观察的马尔可夫决策问题,Hausknecht 等提出了基于循环神经网络与强化学习相结合的DRQN 算法,在实验环境中取得了远优于 DQN 算法的效果。典型的值函数近似方法还有 DDQN、Sarsa、Q-learning 等时序差分的强化学习算法,它们虽然在某些实际问题中取得了不错的效果,但其难以求解动作空间比较大和随机性策略问题,以及无法对连续动作空间问题进行建模等。
2)基于策略搜索的强化学习。其核心思想是将策略参数化,通过不断修正策略的参数求解最优策略。Silver 等结合 Actor-Critic 框架和 Q?learning 算法提出了确定性策略梯度算法(deterministicpolicygradientalgorithms,DPG),其将策略定义为一个确定性的策略函数,这样在训练模型时,就不需要考虑动作空间的大小或是否连续,能够提升连续动作空间问题求解中对于梯度的估计效率和准确性。针对经验回放的深度强化学习方法存在对内存和计算能力要求较高的问题,nih 等提出了异步梯度下降的深度 Actor-Crit?ic 框架,用于并行执行多个智能体用于神经网络控制器的优化,并与单步 Q-learning、Sarsa、多步 Q-learning 和Actor-Critic 等强化学习算法结合实现了对深度神
经网络的训练,并取得了更好的效果。除此之外还有可信赖域策略搜索算法 TRPO、价值梯度SVG[20]、引导策略搜索算法 GPS、近端策略优化算法 PPO 和广义优势估计算法 GAE 随机等几种典型的基于策略梯度的方法。
3)基于环境建模的强化学习。其核心思想是通过建立环境模型来产生模拟经验样本。对于某些智能体与环境的交互成本较高的情况,而基于环境建模的强化学习通过建立环境模型来模拟经验样本,可以减少采样次数,或者无需在真实环境中进行采样。Sutton 提出的 Dyna 框架是一种典型的基于环境建模的强化学习。其基本思想是利用与真实环境产生的经验样本来进行环境模型的学习,而值函数或者策略函数的学习与更新则基于真实样本和环境模型产生的虚拟样本。虽然 Dyna 框架能基于真实样本来进行环境模型学习,并取得了不错的效果,但其环境模型的建立和真实经验样本和虚拟样本的权衡仍然是制约该方法发展的关键难点。
2.2
马尔科夫决策过程
强化学习是学习一种从情景到动作的映射,以此来使得标量奖励或强化信号最大。强化学习的目标是给定一个马尔科夫决策过程(Markov Decision Process,MDP),寻找最优策略 π。强化学习的学习过程是动态的,其数据通过在不断与环境进行交互来产生并不断更新,马尔科夫决策过程有元组(S ,A ,P ,R ,γ)描述,其中 S 为有限的状态集,A为有限的动作集,P 为状态转移概率,R 为回报函数,γ 为折扣因子,用于计算累积回报。当一个智能体(agent)根据与环境的交互采取一个动作 α 后,它会获得一个即时收益 reward,然后根据其状态转移概率 P 到达下一状态 st+1,同时由于马尔科夫性,下一个状态 st+1 仅与当前状态 st 相关,所以每次做出决策时不用考虑历史状态,最终根据其累积奖励构成的状态值函数和状态-行为值函数,来学习到最优策略。
2.3
半马尔科夫决策过程
马尔科夫决策过程根据当前状态st选择一个动作后,会根据状态转移概率 P 和策略 π 跳转至下一状态 st+1,而且根据马尔科夫性其下一状态 st+1 仅与当前状态 st 有关。但由于在一些情况下,多个动作在多个时间步骤完成后才能体现出其真正的价值,对于这类情况 MDP 无法进行较好的优化处理,所以研究人员引入半马尔科夫决策过程 SMDP(Semi-MarkovDecisionProcess)[3],SMDP 是依赖历史状态的策略,两者的状态变化如图 1。Sutton提出对于任何 MDP,以及在该 MDP 上定义任何一组 option,仅在这些 option 中进行选择并执行每个option 以终止决策的过程就是 SMDP。SMDP 包括一组状态、一组动作,对于每对状态与动作都有一个累积折扣收益,同时与下一个状态和 transittime有一个明确的联合分布。
3
经典分层强化学习方法 3.1
Feudal
Feudal 分层强化学习算法正如其名字所述。思想来源于封建等级制度,将控制层次分为三个等级,当前层为 manager,当前层的上一层为super-manager,当前层的下一层为 sub-manager,属于典型的 multi-level control。
其算法学习中不同层次的控制遵守的基本原则是:
(1)reward hiding,即只要满足 manager 即奖励,不论是否满足 super-manager,通俗地说就是你只需要满足你的直属上级;
(2)information hiding,即 sub-manager 无需知道super-manager 给 manager 定的目标,以及super-manager 无需知道 manager 怎么做的。
具体的权值更新(奖励机制)设置为:
上层从下层的实际成果中获得 Q 值的更新,这相当于上层管理者不必关心下层细节,只从下层管理者的劳动成果中获得学习经验。并且只有在状态转换符合上层意愿时,才进行 Q 值的更新。
图 2 MAZE TASK 中 Feudal 分层学习方法示意图
在更新的论文中,对传统的封建分层强化学习进行改进,提出了基于封建网络的分层强化学习。基于封建网络(FeUdal Network, FuN)的分层强化学习是一种用于分层强化学习(Hierarchy Rein-forcement Learning, HRL)的新颖架构,它利用不同的时间分辨率,使用管理者模块和工作者模块。管理者以较低的时间分辨率运作,并设定抽象目标,然后抽象目标传达到工作者中,由工作者根据目标产生原始动作。FuN 促进长时间的信用分配,鼓励出现与管理者设定的不同目标相关的子策略。这些属性允许 FuN 在涉及长期信用分配或记忆的任务中显著优于其他类型的智能体。具体而言,FuN 主要包括以下优势:①FuN 是一致的、端到端的可微的模型,体现并概括了 FRL 的原则;②用于训练管理者的新颖的近似过渡策略梯度更新,可以利用管理者产生目标的语义;③算法中使用了具有方向性而非绝对性的目标。
3.2
HAMs
HAM 的意思是分层抽象机,核心思想是通过先验知识设计状态机,降低 MDP 复杂度,再求解简化 MDP 的最优策略,也是典型的 multi-level control。这里引入了状态机的几种状态:(1)Action state: 与环境交互;(2)Call state: 调用其他状态机(与 option 类似);(3)Choice state: 非确定地选择当前状态机的下一状态(需要学习的部分);(4)Stop state: 终止当前状态机,返回到调用的地方。具体的学习算法也是 Q-learning,不同的是将环境状态和状态机状态增广为新的状态空间,来学习使用当前状态机的哪种做法可以获得更好的 reward。
3.3
MAXQ
Dietterich 提出一种新的分层强化学习方法MAXQ 值函数分解(MAXQ value function de-composition),简称为 MAXQ。
核心思想是对任务进行值函数分解,分解为多个子任务,每个子任务对应一个 MDP。对不同子任务进行 Q 分解,属于 multi-level control。算法公式就是值函数的贝尔曼方程,一层一层向下分解就能写成所有子任务值的迭代和形式,可以把选取某个子任务看成传统的选择与环境互动的动作。优化方法和一般的 Q-learning 是一样的。
图 3 使用 MAXQ 的出租车接客任务的分解
3.4
MAHRL
多智能体分层强化学习 (multi-agent hierar-chical reinforcement learning,MAHRL)结合了强化学习、分层强化学习和多智能体(分布式 AI)系统,用以解决大规模的、复杂实时动态多智能体环境下的任务调度、资源分配、行为协调以及冲突消解等的协同问题。
面对大规模复杂背景下决策问题时,单 Agent系统无法实现多个决...
推荐访问:分层强化学习算法综述 分层 算法 综述