ICLR 2017-RL2: Fast Reinforcement Learning via Slow Reinforcement Learning
Key
GRUs+TRPO+GAE
解决的主要问题
- 现有RL方法需要手动设置特定领域的算法
- DRL学习的过程需要大量的试验牺牲了高样本复杂度(每个task需要数万次经验),相比人来说,这是由于缺乏先验知识(agent每次都需要从新建立关于MDP的相关知识信息)
文章内容
-
Introduction
贝叶斯RL将先验知识纳入学习过程,但是贝叶斯更新的精确计算在所有情况下都是非常困难的。
提出算法的思想:agent本身的学习过程视为一个目标,可以使用标准的强化学习算法进行优化。目标是根据特定的分布对所有可能的mdp进行平均,即提取到代理中的先验信息。将agent结构为一个循环神经网络,它的内部状态在各个episode中都被保留了下来,因此它有能力在自己的隐藏激活中进行学习。因此,学习agent也充当了学习算法,在部署时能够适应手头的任务。
-
Method
- Formulation
采样MDPs分布,与env交互;agent在每个task中交互n个episode,在训练每个task的时候,每条episode的隐含层信息会保留到下一条,但是两次trail之间(两个不同的MDP)不会保留。[a trail :固定MDP中,agent与env交互n个回合(episode)]
objective:最大化每个trail的预期累积总折扣奖励r,而不是每条episode
trail 1→policy 1
input:st+1,at,rt,dt
output:at+1,ht+2 (policy根据ht+1的隐藏层信息进行的输出)
底层MDP在不同的试验中变化,只要不同的MDP需要不同的策略,agent必须根据其当前所处的MDP的belief采取不同的行动。因此,agent被迫整合它收到的所有信息,并不断调整其策略。- policy表示:
门控制循环单位(GRUs),为了缓解由于梯度的消失和爆炸而导致的训练rnn的困难 - policy优化:
使用标准的现成RL算法来优化策略(因为任务定义为强化学习问题),使用Trust Region的一阶实现政策优化(TRPO),因为其优秀的经验性能,因为它不需要过多的超参数调优。
添加两个减少随机梯度估计中的方差方法:①使用了一个基线:一个使用gru作为构建块的RNN。②应用广义优势估计(GAE)
- Formulation
-
Evaluation
1.problem:
- RL2能够学习在具有特殊结构的MDP类上取得良好性能的算法吗
- 是否可以扩展到高维任务
2.文章分别在多臂赌博机、表格MDPs、可视化航行中进行了评估
- 多臂赌博机
在k=50和n=500的时候,RL2表现大不如Gittns,作者认为是轨迹探索的问题,因为它通过用Gittns获得轨迹进行元学习后,发现会达到Gittns一样好的相似结果。所以,该框架还有不足,应该还能改进更好的RL算法 - 表格MDPs
实验结果出现了在n越小的时候(即少量episode),RL2表现的更为优越了。作者认为出现这种情况是因为在n很小的时候,还有没有足够的样本来学习以至于不能形成一个很好的估计,所以小n的优势来自于需要更多积极的exploitation
???【but作者说,通过在这种设置下直接优化RNN,该方法应该能够应对这种样本短缺,相比于参考算法能够更快地决定 exploit。so?n越大效果比之前不好了,这是好还是坏?】 - 可视化航行
在迷宫探索中,agent进行前两个episode之间的轨迹长度都有显著的缩短,即前两个episode就能进行有效的探索以及适应,这说明agent已经学会如何使用过去信息。
but问题是agent偶尔会忘记target在哪,并且在第二个episode中继续探索,导致在第二个episode时候需要花费一些不必要地动作。so说明agent并不能完美地利用先验信息,我们期待agent在一个task中第一次episode的时候能够记住target位置,以便于在第二次episode时候能够完美地利用它。
-
Discussion
RL2:“快速”RL算法是一种计算,其状态存储在RNN激活中,RNN的权值由通用的“慢”强化学习算法学习
在实验中,改进RL2的不足:外环强化学习算法被证明是一个直接的瓶颈,策略可能也需要更好的架构
虽然本文方法已经为外循环算法和策略使用了泛型方法和体系结构,但这样做也会忽略底层的情景结构,未来希望利用问题结构的算法和策略架构能够显著提高性能
文章方法的优缺点
-
优点
- RNN的激活存储当前(以前不可见)MDP上的“快速”RL算法的状态
-
缺点
- 基于上下文的,RL中在处理的时候需要一个完整episode
- 也不能很好地利用先验信息(RNN不能解决长期依赖问题)
Summary
这篇文章是将agent结构为一个循环神经网络,利用了RNN来提取先验信息,以便于优化model。在评估的时候,虽然表现良好,但是也出现了一些问题,比如探索不足够,忘记target位置...很多问题归结为外环强化学习算法不够强大,需要更好地架构或者算法来改善这些问题。
我觉得这篇文章的方法和上一篇论文learning to reinforcement learn中提到的方法并没有差别太多。
论文链接
版权归原作者 Lee_ing 所有
未经原作者允许不得转载本文内容,否则将视为侵权;转载或者引用本文内容请注明来源及原作者