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. 记录一次重置数据库root用户的过程

    服务器的mysql突然连接不上去了,密码也忘记了.只能重新设置密码了 1.使用如下指令打开mysql数据库配置文件(具体的文件路径以实际情况为准) vim /etc/my.cnf在虚拟机中直接输入即可 ...

  2. [Elixir/Erlang/Racket] 模式匹配,字符串,哈希表,格式化输出

    https://leetcode.cn/problems/evaluate-the-bracket-pairs-of-a-string/solutions/2057593/s-by-yhm138_-n ...

  3. 能让Java开发者提高效率的10个工具

    ​ Java受到全球百万计开发者的追捧,已经演变为一门出色的编程语言.最终,这门语言随着技术的变化,不断的被改善以迎合变化的市场需求. 无论你是否拥有一家科技公司,软件已经成为几乎每一个企业不可或缺的 ...

  4. Win10系统总是锁屏关闭屏幕该怎么办?

    Win10系统总是锁屏关闭屏幕该怎么办? 转目前发现最早之帖,自脚本之家:https://www.jb51.net/os/win10/398451.html   使用Win10系统很长时间了,最近发现 ...

  5. MarkdownStudy03JDK

    卸载JDK 删除jdk文件夹 删除配置环境(计算机>属性>高级>系统变量中的JAVA_HOME和Path) 删除JAVA_HOME环境变量 删除path环境变量 用dos窗口查看是否 ...

  6. ACM-NEFUOJ-P210畅通工程并查集

    题目:我已经明示到这个程度了你还不用并查集? #include<bits/stdc++.h> using namespace std; const int MAXN=1010; int F ...

  7. MySQL explain 和 profiling 详解

    MySQL explain 和 profiling 详解 mysql explain MySQL 的 EXPLAIN 是一个用于查询优化的工具,它可以显示 MySQL 数据库如何执行查询.它返回一组关 ...

  8. [Java/LeetCode]算法练习:转变日期格式(1507/simple)

    1 题目描述 题目来源: https://leetcode-cn.com/problems/reformat-date 给你一个字符串 date ,它的格式为 Day Month Year ,其中: ...

  9. DG修复:修改密码文件导致归档不应用

    问题描述:重启完备库,之后发现主备同步状态异常,mrp进程状态显示applying log,但是v$datagaurd_stats视图中查询到归档日志并没有在应用.主库切换归档,可以正常传输过来,但是 ...

  10. Rust中的迭代器的使用:map转换、filter过滤、fold聚合、chain链接

    什么是迭代器 Rust中的迭代器是一种强大的工具,它提供了一种灵活.通用的方法来遍历序列.迭代器是实现了Iterator trait的类型,并需要至少实现一个next函数,用于让迭代器指向下一个迭代对 ...