本文作者是法国里尔大学Inria SequeL团队的博士生,Yannis Flet-Berliac,他在本文中对分层强化学习(HRL)的研究进行了总结,文章首先回顾了强化学习(RL)的基本原理,并阐述了其目前所面对的局限性。随后介绍了HRL如何解决RL的局限,包括其动机、主要框架和自身的局限性。最后,讨论了这一领域当前和未来的研究。
假设你的朋友刚烤好一个蛋糕,端来给你尝尝,很好吃,于是你想知道它的配方。让你的朋友告诉你如何烤好一个蛋糕似乎是件很容易的事情,他应该能把做法讲清楚。但这是一个比你想象的更加微妙的任务,他应该讲到多详细?他需要把每一个微小的动作都详细地解释给你吗?
应该是不需要的。
举个例子来说,勃艮第牛排,需要把“4根胡萝卜切成薄片”。在我们给别人介绍做法时,没有必要说:“拿起刀子,万一它切不好,就把它磨平。拿一块木板,把4根胡萝卜放在上面。把刀握在你的手上,收缩肌肉来切第一片胡萝卜。”
因此,让一个系统完成某个动作时,需要考虑相关的粒度级别。这种粒度很难在数学上集成到复杂的自学习系统中。
此外,在发育心理学中有越来越多的证据表明新生儿、灵长类动物、儿童和成人的基础知识依赖的是相同的认知系统。这些认知系统包括实体、代理、动作、空间、社会结构和直觉理论。在开放式游戏中,如把积木堆成稳定的结构,幼儿会使用这些知识来设置子目标。
为了实现这些目标,幼儿似乎在他们的基础知识的空间中产生了子目标,进行时间抽象。以勃艮第牛排的配方为例,洋葱的切割过程是一个时间延长的动作,并且可以根据所需的切割细度采用不同的步骤数来完成。这种时间抽象的概念,结合强化学习(Reinforcement Learning,RL),就转化为分层强化学习(Hierarchical Reinforcement Learning,HRL)。
在下面的文章中,我们对HRL研究进行了总结。我们首先回顾一下RL的基本原理,然后再阐述其目前的局限性。然后,我们将介绍HRL如何对抗RL的局限,包括其动机、主要框架和自身的局限性。最后,我们将讨论这一领域当前和未来的研究。
强化学习(RL)基本原理介绍
近来,强化学习(RL)方法在许多领域都取得了较好的研究结果,包括在围棋中击败人类的最佳棋手,从像素中学习玩雅达利游戏,以及在模拟或现实世界中教计算机控制机器人。这些成就是20世纪50年代以来试错学习和最优控制的研究的巅峰。从这两个领域中诞生了强化学习的领域,从那时起,它一直在发展,产生了令人难以置信的影响。
Csaba Szepesvári在他的书中写道:“强化学习既是学习问题,也是机器学习的子领域。”
简而言之,学习问题与软件代理有关,该软件在一个环境中通过试错来学习有目标导向的行为,而环境对代理的行为给出反馈,当代理的行为是朝着实现目标的方向时则给予奖励。
学习问题的设置非常简单。
有两个主角:一个代理和一个环境。环境是代理“生活”的地方,是它与之互动的地方。在每一个互动点,代理会对当前状态进行观察,然后决定要采取的动作。当代理对环境进行更改时,环境也会发生变化,但也可以自行改变。代理会从环境收到奖励信号,可以是一个数字(或一个分布),告诉它这个动作对代理的目标产生了好的还是坏的作用。
你或许会疑问,为什么RL不是直接监督学习(从数据样本(状态,动作)得到奖励)?Alex Graves在NeurIPS 2018的无监督学习报告中提到了这一点:
有了监督学习设置,我们将需要大量的数据,这是很难获得的,而且定义起来也很复杂。
我们从孩子们发现世界的过程中所学到的是,不依赖大量数据的学习感觉更像人类。
RL可以在各种复杂的真实环境中更好地泛化,例如内在动机和辅助任务。
第三点对HRL来说更有意义,HRL的目标是高效,特别是在学习的泛化和迁移方面。
所以RL的主要问题是:我们如何最大化未来的回报?
回答这个问题实际上需要回答其他的子问题,包括:
我们应该学习什么(模型、状态工具、策略等)?
我们应该如何学习(TD学习,Monte Carlo等)?
我们如何表示我们所学的知识(深度神经网络,表格等等)?
如何使用我们所学的知识?(这通常是第一个要回答的问题)
强化学习的难点
在Warneken和Tomasello的著名实验中,一个18个月大的幼儿在没有提前看过该如何做的情况下,他可以理解正在发生的事情,以及如何与环境互动。幼儿必须有一些常识才能做到这一点:理解物理、动作、限制和计划。
我们想用现有的RL方法建立这样一个有能力的系统,仍然有很长的路要走。一个原因是因为RL存在各种各样的缺陷,这些缺陷阻碍了学习过程,也让它无法被应用到更复杂的环境中。HRL旨在通过分解学习的特定部分来减轻学习的复杂性。与分层强化学习的优势相比,强化学习的主要弱点可以被分解如下:
样本效率:数据生成常常是瓶颈,当前的RL方法的数据效率较低。使用HRL,子任务和抽象动作可以用于同一域上的不同任务(迁移学习)。
扩展:将传统的RL方法应用于具有大的动作或状态空间的问题是不可行的(维数灾难)。HRL的目标是将大问题分解成更小的问题(高效学习)。
泛化:训练有素的代理可以解决复杂的任务,但是如果我们希望他们将经验迁移到新的(甚至相似的)环境中,即使最先进的RL算法也会失败(由于过度专业化而导致脆性)。
抽象:状态和时间抽象可以简化问题,因为子任务可以通过RL方法(更好的知识表示)得到有效解决。
此外,所有强化学习的基本算法都是所谓的“平坦”方法。他们把状态空间视为一个巨大的、平坦的搜索空间,这意味着从起始状态到目标状态的路径非常长。如果我们用食谱的例子来解释,状态空间是动作序列,这些动作完全是由一系列肌肉微收缩组成的。此外,这些路径的长度决定了学习的成本,因为未来的奖励信息必须沿着这些路径反向传播。总之,奖励信号既微弱,又会延迟。
也许我们可以后退一步,看看我们在20世纪70年代的研究:在规划领域的研究表明,层次化的方法,例如分层任务网络、宏观动作和状态抽象方法,可以让找到正确规划的计算成本以指数降低,但是我们仍然缺乏完全有效的方法,将分层结构集成到目前有效的RL算法中。
分层强化学习
正如我们刚才看到的,强化学习问题存在严重的扩展问题。而分层强化学习(HRL)通过学习在不同程度的时间抽象上进行操作,可以解决这些问题。
为了真正理解学习算法中层次结构的必要性,并且在RL和HRL之间建立联系,我们需要记住我们要解决的问题:马尔科夫决策过程(MDP)。HRL方法学习的策略由多层组成,每层负责在不同程度的时间抽象中进行控制。事实上,HRL的关键创新是扩展可用动作集,使得代理现在不仅可以选择执行基本动作,而且还可以执行宏动作,即低级动作的序列。因此,随着时间的推移,我们必须考虑到决策时刻之间所花费的时间。幸运的是,MDP规划和学习算法可以很容易地扩展以适应HRL。
为了做到这一点,我们首先介绍半马尔可夫决策过程(SMDP)。在这种情况下,p(s’|s,a)变成了p(s’,τ|s,a)。
上图说明了SMDP的范式:a是一个原始动作,σ是子程序或宏操作,π是动作策略,πσ是子程序特定的动作策略。V和Va是状态值。
HRL的希望在于:
长期信度分配:更快的学习和更好的泛化
结构化探索:用子策略探索而不是原始动作
迁移学习:不同级别的层次可以包含不同的知识,并允许更好的迁移。
下面我们对1993以来出现的基本方法进行概述。
HRL基本方法
封建等级式学习
受中世纪欧洲封建制度的启发,这一HRL方法演示了如何创建一个管理学习层次,其中领主(或管理者)学会把任务(或子目标)分配给他们的奴隶(或子管理者),而这些人反过来学习满足他们。子管理者在命令的环境中学习最大化它们的增强,如下面的图中黑色圆圈所示。
在实践中,封建学习利用了两个概念:
信息隐藏:管理层次结构在不同分辨率下观察环境
奖励隐藏:目标是管理者和“工作者”之间的沟通内容,为了实现目标则要给予奖励。
信息隐藏和奖赏隐藏的一个值得注意的效果是管理者只需要知道他们自己选择的任务所在粒度的系统状态。他们也不知道他们的工人做出了怎样的选择来满足他们的命令,因为系统设置不需要学习这些。
不过,封建Q-学习算法主要针对特定类型的问题,并没有收敛到任何明确定义的最优策略。但它为许多其他贡献铺平了道路。
选项框架(Option Framenwork)
HRL中最著名的公式应该就是选项框架了。A(马尔可夫)选择是一个三元组o=\u0026lt;Io,πo,βo\u0026gt;:
Io:起始状态
πo:选项的策略
βo:终止条件
一个人可以用上面的例子来理解这个框架的思想,其中选项可以概括为“去走廊”,动作(或原始选项)包括“向北、南、西或东”。选项可以被认为是在更高抽象程层次上的个体动作,因此可以抽象成技能。
与封建学习不同,如果动作空间由原始动作和选项组成,遵循选项框架的算法就可以收敛到最优策略。否则,它虽然会收敛,但到是收敛到分层最优的策略。
由此产生的想法是一个选项框架由两个层次组成:
底层是一个次级策略:
进行环境观测
输出动作
运行到终止
顶层是用于选择option的高级策略(policy-over-option):
进行环境观测
输出子策略
运行到终止
选项是很容易实现的,并且在定义高级能力方面是有效的,反过来又提高了收敛速度。此外,选项本身可以用来定义选项层次结构。然而,作为一个自然的结果,选项增加了MDP的复杂性。他们也没有明确地解决任务分割的问题。
层次抽象机(Hierarchical Abstract Machines,HAM)
HAM由非确定性有限状态机组成,其转换可以调用较低级别的机器(最佳动作尚未决定或学习)。机器是由有限状态自动机(FSA)表示的部分策略。有四种机器状态:
动作状态,在环境中执行动作
调用状态,将另一个机器作为子程序执行。
选择状态,非确定性地选择下一个机器状态
停止状态,停止机器的执行,并将控制返回到之前的调用状态。
我们可以将策略视为程序。对于HAM,学习发生在机器内,因为机器只是部分定义的。该方法是将所有机器平铺,并考虑问题的状态空间\u0026lt;s,m\u0026gt;,其中m是机器状态,s代表底层MDP的状态。
当机器遇到调用状态时,它以确定方式执行应该调用的机器。当遇到停止状态时,它只需要将命令发送回上级机器。MDP中的每个状态都进行动作的学习,学习直接发生在MDP中。与MDP不同的是,在HAM框架中学习只发生在选择状态。因此,学习存在的状态空间可以小于实际状态空间。
在上述示例中,每次遇到障碍物时,机器进入选择状态,其中要么选择跟随墙壁机器(沿着某个方向持续地跟随墙),要么选择退避机器(它向后移动,然后执行继续)。
因此,学习机器的策略是决定要调用哪一台机器,以及以什么概率调用。
基于上述原因,HAM框架通过限制可实现策略的种类,为我们提供了简化MDP的能力。与选项框架类似,它的最优性也有理论支持。主要问题是HAM的设计和实现比较复杂,并且没有很多重要的应用可用。
MAXQ
MAXQ是一种分层学习算法,一项任务的层次结构是通过将状态动作对的Q值分解成两个分量的和而得到的:Q(p,s,a)=V(a,s)+C(p,s,a),其中V(a,s)是在状态s(典型Q学习)中执行动作a获得的总期望奖励,C(p,s,a)是执行动作a后,父任务p的表现所获得的总期望奖励。实际上,动作a或许不仅包含原始动作,还包含动作序列。
从本质上讲,可以将MAXQ框架理解为将MDP的值函数分解为更小的MDP值函数的组合,这种更小的MDP是子任务的有限集合,其中每个子任务可以表示为1、终止语句,2、一组动作和3、伪奖励。在这个特定方面,MAXQ框架与封建Q学习相关。
然而,MAXQ相对于其他框架的优势在于它学习的是递归最优策略,这意味着在子任务的学习策略确定后,父任务的策略是最优的。也就是说,任务的策略是上下文无关的:每个子任务在没有所执行环境的参考时,都能得到最佳地解决。虽然这并不意味着它将找到一个最优策略,但它打开了状态抽象和更好的迁递学习的大门,并且可以向许多其他任务提供共同的宏动作。
状态抽象有助于减少内存。想一想:你的目标是要到一个门前,那么门是什么颜色,或者它是由木头还是金属制成的是无所谓的。状态抽象应该有助于表示相似的状态,并拒绝无关的状态变量。此外,随着状态抽象,必要的探索减少,并且它们的可重用性增加(因为它们不依赖于它们的上级父母)。事实上,抽象状态是一个状态变量较少的状态:世界上不同的状态对应于相同的抽象状态。因此,如果我们可以减少一些状态变量(只有几个变量与任务相关),那么我们可以显著地减少学习时间。最后,我们将针对不同的宏观动作使用不同的抽象状态。
简而言之,MAXQ框架对任务做到了真正的层次分解(与选项框架相反),它有助于子策略的重用,并允许时间和空间抽象。然而其中一个问题是,MAXQ的结构非常复杂,递归最优的策略很有可能并不是最理想的策略。
近期工作
受到这些HRL基础想法(封建学习、选项框架、HAM、MAXQ)的启发,近期发表的许多文章取得了相当令人鼓舞的结果。
分层强化学习FeUdal网络(FuN)
论文链接:https://arxiv.org/abs/1703.01161
FeUdal网络提出了模块化的结构。受到Hinton的封建强化学习思想的启发,系统的管理者选择一个方向进入隐状态空间,而工人学会通过环境中的动作来实现这个方向。这意味着FuN代表子目标作为隐状态空间中的方向,然后转化为有意义的行为原语。论文介绍了一种方法,能获得更好的长期信度分配,使记忆更易于追踪。
选项-评测体系结构(Option-Critic)
论文链接:https://arxiv.org/abs/1609.05140
虽然早期的工作使用预先指定的选项策略,但是最近在发现选项方面取得了成功,该论文展示了一个端到端可训练的系统,它可以通过子策略扩展到非常大的域,通过把策略梯度理论扩展到选项,用高级策略(policy-over-option)联合学习选项的理论概率。与FuN相反,这里管理者的输出由直接来自工人的梯度训练,并且不使用内在奖励。
如上图所示,终止事件更可能发生在门附近,直观地说,这意味着“到达那些门”被系统认为是有意义的子目标。
HIRO(数据高效分层强化学习)
论文链接:
https://arxiv.org/abs/1805.08296
该论文使用新的策略无关校正方法,并且学习算法直接使用状态观测作为目标,与以前的方法相比该方法样本效率较高。由于没有目标表示,因此不需要目标表示训练。这意味着较高级别的策略一开始就从任务奖励中接收到有意义的监督信号。
HAC(利用后见之明学习多级层次)
论文链接:https://openreview.net/forum?id=ryzECoAcY7
“我们引入了一种新的HRL框架,通过采用分层代理共同学习策略的层次结构,可以显著加速学习。我们的框架主要由两个部分组成:(i)一个特定的分层体系结构,(ii)一种用于在给定的稀疏奖励下并行学习多个层次的策略的方法。由我们的框架产生的层次体系有一个特定的结构,包括一套嵌套的、目标条件的策略,这些策略使用状态空间作为将任务分解成子任务的机制。HIRO与我们的方法是同时提出的,使用相同的分层体系结构,但由于他们不使用任何形式的后见之明,因此在稀疏报酬任务中学习多层次的策略是低效的。”
运动控制器(Locomotor Controllers)
论文链接:
https://arxiv.org/abs/1610.05182
“我们研究了一种用于运动任务的新的结构和训练程序。具有本体感受器的高频、低级“脊柱”网络通过对简单任务的训练来学习感觉运动原语。这个预先训练的模块是固定的,并连接到低频的、高级别的“皮层”网络上,可以访问所有的传感器,通过调整“脊柱”网络的输入来驱动动作。在一个整体的端到端架构完全失败的情况下,用预先训练的脊柱模块学习在多个高层次任务中取得了成功,并且能够获得从稀疏奖励中学习所需要的有效探索。
本文介绍了一种训练运动控制器的HRL方法,有效地提高了样本效率,实现了不同任务之间的迁换。作者的想法是根据任务获得不变的低级别的策略,然后,通过循环和重新训练控制低级策略的元策略,不同的技能可以通过较少的样本获得,而不用从头开始训练。
全长星际游戏的强化学习
论文链接:
https://arxiv.org/abs/1809.09095
在本文中,作者主要研究SC2LE,DeepMind提出的星际研究学习环境。他们开发了一种用于全长游戏学习的方法,其中控制器在每个相对较大的时间间隔(8秒),根据当前观测选择子策略。然后,在每个相对较短的时间间隔(1秒),子策略选择一个未经大量人类专家的游戏训练就已掌握的宏观动作。星际争霸是一个非常有挑战性的环境,状态和动作空间非常大。该方法利用分层结构来减少这些空间。此外,策略运动的执行步骤的数量随着控制器提供的时间抽象而减少。最后,每个子策略可以有它自己的特定奖励函数,它有助于将复杂的问题分成几个更容易的子问题。
h-DQN
论文链接:
https://arxiv.org/abs/1604.06057
“我们提出分层DQN(h-DQN)的框架,是一个结合分层值函数,在不同的时域尺度运作,有内部激励的深度强化学习。在最高层的值函数通过内部目标学习策略,较低层的函数通过原子动作学习策略来满足目标。h-DQN允许灵活的目标指定,例如实体和关系的函数。这为复杂环境的探索提供了一个高效的空间。我们通过两个反馈稀疏、延迟的问题证明我们的方法:(1)一种复杂的离散随机决策过程,(2)雅达利经典游戏“蒙特苏马的复仇”。
元学习共享层次结构(MLSH)
论文链接:
https://arxiv.org/abs/1710.09767
“在这项工作中,我们提出一种分层策略的端到端元学习方法。我们提出了一个模型将共享信息表示为一组子策略。然后,我们提供了一个框架,在环境分布中训练这些模型。即使我们没有对真正的目标进行优化,学习速度得到了显著的提升。此外,我们不需要手工工程就能自然发现不同的子策略。”
从迷宫中学习的向下、右和上移动的子策略
调制策略层次(MPH)
论文链接:
https://arxiv.org/abs/1710.09767
“我们引入了调制策略层次结构(MPH)来应对可被分解成子任务的稀疏奖励的环境。通过结合丰富的调制信号、时间抽象、内在动机,MPH受益于更好的探索过程和训练稳定性的提高。此外,与许多先进的方法相反,MPH不需要预训练、多个训练阶段或手动设计奖励。我们在两个模拟机器人操作任务中测试MPH:推东西和堆积木。在这两种任务中,MPH优于基线表现,和最近提出的MLSH算法,这表明我们的方法可能是未来研究的一个有前景的方向。
学习宏动作的策略性注意力作家(STRAW)
论文链接:
https://arxiv.org/abs/1606.04695
“我们提出了一种新的深度递归神经网络结构,它采用强化学习的设置,与环境进行纯粹的交互,以一种端到端的方式学习构建隐式计划。网络建立一个内部计划,通过观察来自环境的下一个输入不断进行更新。它还可以通过学习计划可以保证多长时间(不进行重新规划)来将这个内部表示划分给到相邻的子序列。结合这些特性,所提出策略注意力作家(STRAW)模型可以学习不同长度的高水平、时间抽象的宏动作,只从数据中学习,不需要任何先验信息。这些宏动作实现了结构化探索,降低了计算成本。实验证明,STRAW通过采用时间延长的规划策略,在几个雅达利游戏(如Ms.Pacman和Frostbite)中取得了很大的进步。同时它也是一个可以应用于任何序列数据的通用算法。”
H-DRLN
论文链接:
https://arxiv.org/abs/1604.07255
“我们提出了一个终身学习系统,它能将知识从一个任务迁移或重新利用到另一个,同时有效地保留先前学到的知识库。该系统通过学习可重用的技能来迁移知识,完成Minecraft中的任务。这些可重用的技能,我们称之为深度技能网络,随后通过两种技术:(1)深度技能阵列,(2)技能蒸馏(策略蒸馏(Rusu等人)的变体),整合到我们提出的分层深度强化学习网络(H-DRLN)的结构中学习技能。
抽象马尔可夫决策过程(AMDP)
论文链接:
https://aaai.org/ocs/index.php/ICAPS/ICAPS17/paper/view/15759
“我们提出抽象马尔可夫决策过程(AMDP)层次结构,作为推理子目标网络的方法。AMDP是一种特殊的MDP,其状态为底层环境状态(地面MDP)的抽象表示。AMDP的动作要么是来自环境MDP的动作原语,要么是要解决的子目标。MAXQ的一个主要限制是层次结构的值函数是通过在最低级别处理状态-动作空间,并将值备份到抽象的子任务节点(自下而上过程)来发现的。AMPD对每个子任务的过渡和奖励函数局部建模,能够更快的规划,因为跨越多个层次结构的备份是不必要的。这种自上而下的规划方法首先决定什么是一个好的子目标,再计划如何实现它。
错误指定问题的迭代分层优化(IMHOP)
论文链接:
https://arxiv.org/abs/1602.03348
“对于复杂的高维马尔可夫决策过程(MDP),有必要用函数逼近来表示策略。当表示不能代表任何可行策略时,都会错误指定问题。我们引入一个元算法,错误指定问题的迭代分层优化(IHOMP),使用RL算法作为“黑匣子”,反复学习能够修复错误指定问题的选项。为了使选项专门化,IHOMP使用状态空间的分区,并为分区中的每个类训练一个选项。”
HSP
论文链接:
https://arxiv.org/abs/1811.09083
“在训练分层模型之前,我们的方法使用无监督非对称的自我博弈作为低层策略的预训练。在自我博弈中,代理通过目标嵌入为自己设计任务,然后试图解决这些任务。随后,高级策略可以通过生成连续子目标矢量序列来指导低级策略。这些矢量序列可以在分层RL框架中使用,以加快对具有稀疏奖励的复杂任务的探索。在AntGather上的实验表明,与非分层策略梯度法不同,所产生的分层控制器能够移动Ant长距离以获得奖励。我们的自我博弈方法的一个限制是D(距离函数,用于决定是否自我博弈任务已经成功完成)的选择需要一些领域知识。”
无模型HRL中的学习表示
论文链接:
https://arxiv.org/abs/1810.10096
“我们提出并实现了一种新的无模型方法,用于子目标发现,该方法利用增量无监督学习在代理最近的经验的小内存上进行。当结合内在动机学习机制时,该方法基于环境中的经验一起学习子目标和技能。因此,我们提供了一个原始的方法,不需要获取环境模型,适用于大规模应用。我们在大规模的RL问题上进行了实验,例如难度很大的雅达利2600蒙特苏马复仇游戏的一部分。”
HRL的未来
长期以来,认知科学领域的研究人员认为人类和动物行为是基于层次结构的。当然,现实世界和复杂环境必然需要我们采取一种转变。这也是HRL主要吸引人的方面之一:使用技能来减少问题的搜索复杂性。
“停止学习任务,开始学习技能。”——Satinder Singh,NeurIPS 2018
然而,根据所使用的框架,人工指定一个良好的层次结构需要特定领域的知识和细致的工程技巧,激发自动学习技能的需要。本质上,为了选择适当的层次结构框架,需要知道域知识的可用程度(三者的组合也是可以想象的):
如果行为是完全指定的:选项框架
如果行为被部分指定:HAM框架
如果较少的域知识可用:MAXQ、学习选项框架
在下面的表中,列方向分别表示:
时间抽象:允许表示在不同的时间尺度上发生的动作方案的知识。我们讨论的是时间延长的动作。
状态抽象:当子任务忽略环境状态的某些方面时,它要求以终止语句的形式指定子任务,而不是使用选项或部分策略方法。
“子任务:程序员提供的固定策略”意味着给定一组选项,系统通过这些选项学习策略。
“子任务:非确定性有限状态控制器”意味着给定部分策略的层次结构,系统学习整个问题的策略。
“子任务:终止语句和局部奖励函数”意味着给定一组子任务,系统学习整个问题的策略。
分层最优策略是一种策略,它在给定层次结构的所有可表达的策略中是最优的。
递归最优策略是指每个SMDP(半马尔科夫决策过程)的策略最优,对应于分解中的每个子任务。
从根本上讲,HRL的优势在于:通过解决扩展问题而更快的学习、通过减少维数灾难解决大的状态-动作空间问题的强大能力、在不同的抽象状态任务上使用子目标和抽象的动作,使用多层次的时间抽象,更真实和更好的泛化能力,从之前的任务中迁移知识,这些似乎已经触手可及,但还没有完全实现。
有很多很棒的想法和算法,但到目前为止还没有产生很大的影响,或广泛采用。坦率地说,RL社区仍然存在合理的怀疑主义。一方面,例如通过更新层次代理的级别所产生的非平稳性等挑战,需要在实现上做出更多的努力,还需要引入额外的超参数。另一方面,我们还远没有达到合理的样本效率,正如Fruit等人在论文《Regret Minimization in MDPs with Options without Prior Knowledge》中所指出的:在选项框架中,选项是原子相互独立的宏动作。因此,我们失去了考虑选项之间的相互作用的潜在好处,而它可以显著提高样本效率。此外,如OpenAI博客文章中所述:“RL研究者(包括我们自己)普遍认为,长期的发展还需要本质上的进展,如分层强化学习。我们的结果表明,我们没有给予如今的算法合适的评价——至少在他们有足够的规模和合理的探索方式的情况下。
除非HRL框架具有更强的用户友好性和更好的技术规范,HRL将不会成为RL问题的标准。
也就是说,这些缺陷是与HRL的主要研究方向一致的已知问题,包括但不限于:
高阶状态迁移函数非平稳性的更好管理
自动学习层次结构
更有效的探索
丰富稀疏奖赏环境下有效分解的信号
提高稳定性
我们已经发现深度网络中出现的分层结构可应用于感知任务,如计算机视觉中的卷积神经网络,但这些是感知层面上的分层。如果我们可以以同样的方式在RL中构建层次化的时间和行为系统,这将像卷积神经网络一样产生重大影响。目前仍有许多工作要做,并且还需要一个坚实的基础。
我们能做什么?
如果你已经看到现在,这意味着你对HRL有着不错的兴趣。这篇文章的目标是概述主要的框架流,作为HRL后续贡献的启发,(希望)增强你对该领域的兴趣,并鼓励大家在该主题上进一步讨论。
正如我们所看到的,选项框架和MAXQ分解都为算法设计者提供了强有力的工具来分解问题。如果你对这项研究感兴趣,你可以选择你认为对你最有用的方法,或者你认为从改进中可获益最大的方法。然后,你可以使用开源代码(例如HIRO、HAC、MLSH、HSP),在其基础上打造新的思想,为基准测试开发新的假设,或者通过上面提到的许多工作中汲取灵感来自己实现一个系统。
从一个更普遍的观点来看,如果不能正确地评价这些发展,就不能对其进行量化,而且我认为目前仍然缺乏有效的工具来评测HRL的进展,甚至整个RL领域的进展。幸运的是,研究人员也在积极地研究这些问题。当然,我们有责任意识到该领域固有的问题,这些问题不会表现出短期的困难,但会阻碍我们长期的进步。我们有责任参与解决这些问题,以可复现的方式为领域进步作出贡献。
查看英文原文:The Promise of Hierarchical Reinforcement Learning