【论文阅读】Hierarchical Deep Reinforcement Learning: Integrating Temporal Abstraction and Intrinsic Motiv
【2016NIPS】
任务:层次强化学习
该文提出了一种层次强化学习方案,在顶层部分中,通过价值函数引导策略模型掌握内部目标,在底层部分则决定了执行的具体操作步骤。从而使得整个系统能够实现顶层设定的具体目标
内在目标能够提供更多类型的探索活动,并通过这种方式帮助缓解数据稀疏性带来的问题。此外,在以实体及其相互关系的空间为维度的目标定义下,在保证有效探索的同时还可以限定有效的探索范围,并最终提升学习效果
模型
整体结构

该系统由两个层次化的阶段构成
顶层元控制器接收当前状态s_t并输出目标状态g_t
次级控制器则基于当前的目标状态与状态s_t生成动作序列a_t
在下一时间步中目标状态保持不变直至次级控制器控制下的智能体完成对该目标的执行任务或者游戏结束为止随后元控制器将重新获取新的目标
激励
controller通过内在激励作为目标函数:

用于评估目标g_t是否达成
meta-controller通过外在激励作为目标函数:

即从外部环境获得的激励
算法

模型训练时controller和meta-controller均使用DQN算法
controller:

其中g为状态s时meta-controller生成的目标行为, π_{ag} 为动作策略 meta-controller:

将对比分析Q1与Q2之间的区别。将 controller 在 达成 目标 g 的过程中所获得的 外部 环境激励 f_t 视为 一个 整体后 ,其 在 N 步骤 中的作用被整合考虑 。这导致 Q2 所产生的 转移过程 包括的状态量及变量更多 ,相较于 Q1 的 更 细粒度 的 时间 划分 ,因此 在 时间 尺度 上 Q2 的 生成 过程 慢于 Q1
整体算法如下:

实验
离散随机决策过程
游戏设置:

游戏每次从状态s_2开始进行。可以选择向左移动或者向右移动。其中向左移动必然是成功的;而向右移动成功的概率仅为50%。如果不成功,则会返回至左边的状态。游戏的目标状态为s_1。若游戏路径经过状态s_6后再到达目标状态s_1时,则激励值设为1;否则激励值设为0.01。将所有可能的状态作为目标进行处理。

将本文的方法与基于Q-Learning的基准方法进行比较时会发现,在状态空间中仅能实现直接到达目标状态s_1并获得激励值为0.01的任务范围内,Q-Learning方法表现较为有限相比之下,层次化的方法能够实现先从状态s_6过渡至状态$s_1`
Atari(Montezuma’s Revenge)
游戏设置:

人物(红色)拾获钥匙可得100奖励分,请问是否可用此钥匙开启左侧或右侧的门?若开启成功,则能兑换额外300奖励。但为获取此钥匙,请务必先攀爬至下梯子处,并完成所有必要步骤后方可以上至梯子处并完成一系列复杂步骤。
内部critic被表示为由三个元素组成的形式:<实体₁, 关系, 实体₂>;在此游戏中, 实体₁始终代表人物角色, 实体₂则可指代任何其他物体;其中relation可被视为'抵达'的过程.
meta-controller接收连续的4帧游戏画面(每帧尺寸84×84像素),并配合使用物体检测算法识别出画面中的物体对象,在结果中确定其中一个物体作为控制目标。
controller接收同样的连续4帧画面,并结合meta-controller识别出的目标对象掩膜信息来计算并决定下一步的动作指令。
两者的网络架构基本上都由四层卷积层构成。
在训练过程中采用双阶段策略,在第一阶段由meta-controller进行随机输出;随后开始对controller进行培训;当controller能够根据目标执行相应的子任务后;之后两者被整合在一起用于整体优化

训练过程中的游戏机制的激励作用下,可以看出DQN网络难以实现有效的激励效果;然而,在采用多层级策略优化方法将复杂任务拆解为子任务后,则能够获得较为理想的结果。

训练过程中将钥匙作为目标的完成成功率

在训练初期阶段(或时间),各种物体被选作目标的概率基本相同;然而,在后续阶段(或时间),将钥匙设为目标的频率显著增加。
