【论文阅读】Hierarchical Deep Reinforcement Learning: Integrating Temporal Abstraction and Intrinsic Motiv

【2016NIPS】
任务:层次强化学习

本文提出了层次强化学习,顶层使用价值函数让策略模型学习到内在目标,底层则决定具体的动作,从而来满足顶层提出的给定目标

内在目标可以提供更多的探索,从而缓解稀疏反馈的问题,目标定义在entity和相互之间关系的空间中,可以限制探索空间,提高学习效率

模型

整体结构

【论文阅读】Hierarchical Deep Reinforcement Learning: Integrating Temporal Abstraction and Intrinsic Motiv
由两阶段的层次化结构组成
顶层meta-controller输入为状态sts_t,输出为目标gtg_t
下层controller的输入为gtg_tsts_t,输出为动作ata_t
下个时间步gtg_t不变,直到controller控制下的agent达到该gtg_t,或者游戏结束,则再通过meta-controller获取下一个目标

激励

controller通过内在激励作为目标函数:
【论文阅读】Hierarchical Deep Reinforcement Learning: Integrating Temporal Abstraction and Intrinsic Motiv
用于评估目标gtg_t是否达成
meta-controller通过外在激励作为目标函数:
【论文阅读】Hierarchical Deep Reinforcement Learning: Integrating Temporal Abstraction and Intrinsic Motiv
即从外部环境获得的激励

算法

【论文阅读】Hierarchical Deep Reinforcement Learning: Integrating Temporal Abstraction and Intrinsic Motiv
模型训练时controller和meta-controller均使用DQN算法
controller:
【论文阅读】Hierarchical Deep Reinforcement Learning: Integrating Temporal Abstraction and Intrinsic Motiv
其中gg为状态ss时meta-controller输出的目标,πagπ_{ag} 为动作策略
meta-controller:
【论文阅读】Hierarchical Deep Reinforcement Learning: Integrating Temporal Abstraction and Intrinsic Motiv
对比Q1和Q2,meta-controller的Q2中把controller在完成目标gg时所使用的N步中获得的外在环境激励ftf_t作为一个整体,作为一个大时间步
即Q2产生的转移(sts_t,gtg_t,ftf_t,st+Ns_{t+N})比Q1产生的转移(sts_t, ata_t, gtg_t, rtr_t, st+1s_{t+1})时间尺度上慢

整体算法如下:
【论文阅读】Hierarchical Deep Reinforcement Learning: Integrating Temporal Abstraction and Intrinsic Motiv

实验

离散随机决策过程

游戏设置:
【论文阅读】Hierarchical Deep Reinforcement Learning: Integrating Temporal Abstraction and Intrinsic Motiv
戏每次从s2s_2开始,可以选择往左或往右,往左必定成功,但是往右只有50%的成功率,否则会往左
游戏终点为s1s_1,如果先到s6s_6再到s1s_1,则激励为1,否则为0.01
将所有的状态作为目标
【论文阅读】Hierarchical Deep Reinforcement Learning: Integrating Temporal Abstraction and Intrinsic Motiv
将本文方法与baseline(Q-learning)进行对比,可以看到Q-learning方法仅能学习到直接到达s1s_1获得0.01的激励,但是层次化方法可以学习到先到s6s_6再到s1s_1

Atari(Montezuma’s Revenge)

游戏设置:
【论文阅读】Hierarchical Deep Reinforcement Learning: Integrating Temporal Abstraction and Intrinsic Motiv
人物(红色)捡到钥匙可以获得100奖励,然后可以用钥匙打开左上角或右上角的门,再获得300奖励,但是捡到钥匙前需要先完成下*,再上*等一系列复杂动作

内部critic定义为三元组<entity_1, relation, entity2>,在本游戏中,entity_1一直为人物,entity_2可以是其他任意物体,relation可以定义为“到达”

meta-controller的输入为连续的4帧游戏画面(84*84),同时使用物体检测器来获得图像中的物体,输出其中的一个物体作为目标
controller的输入为连续的4帧游戏画面,再加上meta-controller输出目标物体的mask,输出下一步采取的动作
两者网络结构基本为4层卷积结构

训练时采用两阶段的训练方法,第一阶段meta-controller随机输出,而先训练controller,等到controller学会根据目标完成子任务后,两者再一起训练
【论文阅读】Hierarchical Deep Reinforcement Learning: Integrating Temporal Abstraction and Intrinsic Motiv
训练过程中的游戏激励,可以看到DQN网络基本无法获得激励,但是通过层次化方法进行子任务分解后,可以得到不错的结果
【论文阅读】Hierarchical Deep Reinforcement Learning: Integrating Temporal Abstraction and Intrinsic Motiv
训练过程中将钥匙作为目标的完成成功率
【论文阅读】Hierarchical Deep Reinforcement Learning: Integrating Temporal Abstraction and Intrinsic Motiv
训练前期各个物体作为目标的概率几乎一样,但是训练后期发现将钥匙作为目标的概率明显变大