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

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

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

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

模型

整体结构

在这里插入图片描述
由两阶段的层次化结构组成
顶层meta-controller输入为状态 s t s_t st,输出为目标 g t g_t gt
下层controller的输入为 g t g_t gt s t s_t st,输出为动作 a t a_t at
下个时间步 g t g_t gt不变,直到controller控制下的agent达到该 g t g_t gt,或者游戏结束,则再通过meta-controller获取下一个目标

激励

controller通过内在激励作为目标函数:
在这里插入图片描述
用于评估目标 g t g_t gt是否达成
meta-controller通过外在激励作为目标函数:
在这里插入图片描述
即从外部环境获得的激励

算法

在这里插入图片描述
模型训练时controller和meta-controller均使用DQN算法
controller:
在这里插入图片描述
其中 g g g为状态 s s s时meta-controller输出的目标, π a g π_{ag} πag 为动作策略
meta-controller:
在这里插入图片描述
对比Q1和Q2,meta-controller的Q2中把controller在完成目标 g g g时所使用的N步中获得的外在环境激励 f t f_t ft作为一个整体,作为一个大时间步
即Q2产生的转移( s t s_t st, g t g_t gt, f t f_t ft, s t + N s_{t+N} st+N)比Q1产生的转移( s t s_t st, a t a_t at, g t g_t gt, r t r_t rt, s t + 1 s_{t+1} st+1)时间尺度上慢

整体算法如下:
在这里插入图片描述

实验

离散随机决策过程

游戏设置:
在这里插入图片描述
戏每次从 s 2 s_2 s2开始,可以选择往左或往右,往左必定成功,但是往右只有50%的成功率,否则会往左
游戏终点为 s 1 s_1 s1,如果先到 s 6 s_6 s6再到 s 1 s_1 s1,则激励为1,否则为0.01
将所有的状态作为目标
在这里插入图片描述
将本文方法与baseline(Q-learning)进行对比,可以看到Q-learning方法仅能学习到直接到达 s 1 s_1 s1获得0.01的激励,但是层次化方法可以学习到先到 s 6 s_6 s6再到 s 1 s_1 s1

Atari(Montezuma’s Revenge)

游戏设置:
在这里插入图片描述
人物(红色)捡到钥匙可以获得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学会根据目标完成子任务后,两者再一起训练
在这里插入图片描述
训练过程中的游戏激励,可以看到DQN网络基本无法获得激励,但是通过层次化方法进行子任务分解后,可以得到不错的结果
在这里插入图片描述
训练过程中将钥匙作为目标的完成成功率
在这里插入图片描述
训练前期各个物体作为目标的概率几乎一样,但是训练后期发现将钥匙作为目标的概率明显变大

评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值
>