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 所有
未经原作者允许不得转载本文内容,否则将视为侵权;转载或者引用本文内容请注明来源及原作者
ICLR 2017-RL2: Fast Reinforcement Learning via Slow Reinforcement Learning的更多相关文章
- 从一篇ICLR'2017被拒论文谈起:行走在GAN的Latent Space
同步自我的知乎专栏文章:https://zhuanlan.zhihu.com/p/32135185 从Slerp说起 ICLR'2017的投稿里,有一篇很有意思但被拒掉的投稿<Sampling ...
- [2017.02.21] 《Haskell趣学指南 —— Learning You a Haskell for Great Good!》
{- 2017.02.21 <Haskell趣学指南 -- Learning You a Haskell for Great Good!> [官网](http://learnyouahas ...
- 论文翻译--StarCraft Micromanagement with Reinforcement Learning and Curriculum Transfer Learning
(缺少一些公式的图或者效果图,评论区有惊喜) (个人学习这篇论文时进行的翻译[谷歌翻译,你懂的],如有侵权等,请告知) StarCraft Micromanagement with Reinforce ...
- [2017.02.21-22] 《Haskell趣学指南 —— Learning You a Haskell for Great Good!》
{- 2017.02.21-22 <Haskell趣学指南 -- Learning You a Haskell for Great Good!> 学习了Haskell的基本语法,并实现了一 ...
- 机器学习(Machine Learning)&深度学习(Deep Learning)资料【转】
转自:机器学习(Machine Learning)&深度学习(Deep Learning)资料 <Brief History of Machine Learning> 介绍:这是一 ...
- 机器学习(Machine Learning)&深度学习(Deep Learning)资料
<Brief History of Machine Learning> 介绍:这是一篇介绍机器学习历史的文章,介绍很全面,从感知机.神经网络.决策树.SVM.Adaboost到随机森林.D ...
- 机器学习(Machine Learning)&深入学习(Deep Learning)资料
<Brief History of Machine Learning> 介绍:这是一篇介绍机器学习历史的文章,介绍很全面,从感知机.神经网络.决策树.SVM.Adaboost 到随机森林. ...
- 机器学习(Machine Learning)&深度学习(Deep Learning)资料(Chapter 2)
##机器学习(Machine Learning)&深度学习(Deep Learning)资料(Chapter 2)---#####注:机器学习资料[篇目一](https://github.co ...
- 机器学习(Machine Learning)&深度学习(Deep Learning)资料汇总 (上)
转载:http://dataunion.org/8463.html?utm_source=tuicool&utm_medium=referral <Brief History of Ma ...
- 最新小样本学习综述 A Survey on Few-Shot Learning | 四大模型Multitask Learning、Embedding Learning、External Memory…
目录 原文链接: 小样本学习与智能前沿 01 Multitask Learning 01.1 Parameter Sharing 01.2 Parameter Tying. 02 Embedding ...
随机推荐
- AI来实现代码转换!Python转Java,Java转Go不在话下?
今天看到个有趣的网站,给大家分享一下. 该网站的功能很神奇,可以实现编程语言的转化.感觉在一些场景之下还是有点作用的,比如你原来跟我一样是做Java的,因为工作需要突然转Go.这个时候用你Java的经 ...
- docker 部署 postgres
1. 打开dockerhub查找postgres版本 地址 https://registry.hub.docker.com/_/postgres/tags 2.复制需要的版本 docker pull ...
- NGINX配置SSL支持
前言 在文章-腾讯云申请免费SSL证书中, 我们已经申请好了SSL证书. 那么现在, 我们就要配置全站SSL了! 这次的工作主要是NGINX的配置, 同时会有一些我的博客本身的配置. 博客本身配置更改 ...
- 在线调试工具 Arthas
Arthas(阿尔萨斯) 是 Alibaba开源的一款 Java在线诊断工具,能够分析,诊断,定位Java应用问题,例如:JVM信息,线程信息,搜索类中的方法,跟踪代码执行,观测方法的入参和返回参数等 ...
- 页面div垂直内容超出后,edge浏览器右侧没有自动出现滚动条
搜索网上解决办法,是给父元素添加样式 overflow-y:scroll; height:100vh; 但此举只是给该父元素侧边添加滚动条,而且不好配合回到顶部这一效果 最后发现是在父组件的包裹元素中 ...
- IP代理的使用 IP代理爬取视频
IP代理的使用 IP代理的分类 透明代理:目标网址知道你使用了代理并且知道你的源IP地址 匿名代理:匿名程序比较低 也就是网站知道你使用代理 但是查不出来源IP地址 高匿代理:网站不知道你使用了代理 ...
- upload-labs游戏
upload-labs游戏 目录 upload-labs游戏 黑名单绕过方式 第1关:JavaScript前端验证 第2关:MIME类型的验证 第3关:特殊后缀的黑名单验证 第4关:.htaccess ...
- 传输层和网络层的checksum区别,TCP cksum为何包含伪首部
一直搞不清传输层和网络层的校验和为什么校验内容不一样,最近问了一些前辈,找寻了一些答案,总结一下自己的思考. 先说一下传输层(TCP)和网络层(IP)的校验和: TCP校验和有伪首部.TCP herd ...
- offsetX与offsetLeft
offsetX:鼠标指针距离当前绑定元素左侧距离,他并不是相对于带有定位的父盒子的x,y坐标, 记住了,很多博客都解释错了 offsetLeft,offsetTop 相对于最近的祖先定位元素.
- 系统论——复杂适应系统CAS(三)
美国的圣塔菲研究所一直是复杂性研究的中心.1994年,约翰·霍兰德在圣菲研究所举办的吴拉姆纪念讲座中做了名为"隐秩序"的著名演进,而后,出版了<隐秩序-适应性造就复杂性> ...