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)
  • 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的更多相关文章

  1. 从一篇ICLR'2017被拒论文谈起:行走在GAN的Latent Space

    同步自我的知乎专栏文章:https://zhuanlan.zhihu.com/p/32135185 从Slerp说起 ICLR'2017的投稿里,有一篇很有意思但被拒掉的投稿<Sampling ...

  2. [2017.02.21] 《Haskell趣学指南 —— Learning You a Haskell for Great Good!》

    {- 2017.02.21 <Haskell趣学指南 -- Learning You a Haskell for Great Good!> [官网](http://learnyouahas ...

  3. 论文翻译--StarCraft Micromanagement with Reinforcement Learning and Curriculum Transfer Learning

    (缺少一些公式的图或者效果图,评论区有惊喜) (个人学习这篇论文时进行的翻译[谷歌翻译,你懂的],如有侵权等,请告知) StarCraft Micromanagement with Reinforce ...

  4. [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的基本语法,并实现了一 ...

  5. 机器学习(Machine Learning)&深度学习(Deep Learning)资料【转】

    转自:机器学习(Machine Learning)&深度学习(Deep Learning)资料 <Brief History of Machine Learning> 介绍:这是一 ...

  6. 机器学习(Machine Learning)&深度学习(Deep Learning)资料

    <Brief History of Machine Learning> 介绍:这是一篇介绍机器学习历史的文章,介绍很全面,从感知机.神经网络.决策树.SVM.Adaboost到随机森林.D ...

  7. 机器学习(Machine Learning)&深入学习(Deep Learning)资料

    <Brief History of Machine Learning> 介绍:这是一篇介绍机器学习历史的文章,介绍很全面,从感知机.神经网络.决策树.SVM.Adaboost 到随机森林. ...

  8. 机器学习(Machine Learning)&深度学习(Deep Learning)资料(Chapter 2)

    ##机器学习(Machine Learning)&深度学习(Deep Learning)资料(Chapter 2)---#####注:机器学习资料[篇目一](https://github.co ...

  9. 机器学习(Machine Learning)&深度学习(Deep Learning)资料汇总 (上)

    转载:http://dataunion.org/8463.html?utm_source=tuicool&utm_medium=referral <Brief History of Ma ...

  10. 最新小样本学习综述 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 ...

随机推荐

  1. 《MySQL是怎样运行的》第八章小结

  2. mysql索引类型详解

    转载网址: http://c.biancheng.net/view/7897.html

  3. PXE(cobbler)搭建,自动系统安装

    pxe pxe实现全自动安装操作系统,其中用到的软件包括(dhcp首先给客户端分配IP地址提供的系统引导安装系统指向tftp-server启动并加载网络repo仓库由http服务和系统镜像制作) dh ...

  4. 音视频同步!RTCP 协议解析及代码实现

    RTCP 是实时控制协议(Real-Time Control Protocol)的缩写.RTCP 由 RFC 3550 定义(取代作废的 RFC 1889). 实时传输协议(RTP)和实时控制协议(R ...

  5. java 环境变量配置详细教程(2023 年全网最详细)

    前言: 在上一篇文章中,壹哥给大家重点讲解了 Java 实现跨平台的原理,不知道你现在有没有弄清楚呢?如果你还有疑问,可以在评论区留言- 之前的三篇文章,主要是理论性的内容,其实你暂时跳过不看也是可以 ...

  6. Java面试——JVM知识

    一.什么情况下会发生栈内存溢出 [1]线程请求的栈深度大于虚拟机所允许的深度,将抛出 StackOverflowError 异常.递归的调用一个简单的方法,不断累积就会抛出 StackOverflow ...

  7. Mac 音频转换器推荐 DRmare Audio Converter、Audi Free Auditor

    给大家推荐两款 Mac 上的音频转换器,这两款转换器都可以转换苹果音乐,iTunes歌曲或者一些常规的音轨到MP3, FLAC, WAV, M4A, AAC格式等等,转换后我们就可以在所有的设备和播放 ...

  8. selenium验证码处理-获取验证码图片二进流数据转成原图保存

    1.因为视频的作者给的代码不完整,只有核心部分的代码. 2.视频作者示例使用的第三方破解12306的脚本网页(失效了) 所以本人无法复现,此次截取部分代码作为理解核心意思(思想方法最重要) 1.面向对 ...

  9. 关于关键字final用法以及意义

    *   * 1.final可以用来修饰的结构:类.方法.变量  *   * 2.final用来修饰一个类:此类不能被其他类所继承.  *           比如:String类.System类.St ...

  10. CLion在工程中添加目录&新文件

    1.将新建文件夹添加到cmake.txt文件里 include_directories(Core/新建文件夹 Core/UserInc Drivers/STM32L4xx_HAL_Driver/Inc ...