Key

元学习系统(监督+从属)扩展于RL设置

LSTM用强化学习算法进行训练,可以使agent获得一定的学习适应能力

解决的主要问题

  • DRL受限于特定的领域
  • DRL训练需要大量的数据

作者参考了Hochreiter在2001年发表的Learning to Learn Using Gradient Descent论文的方法:(1)元学习系统由从属系统和监督系统两部分组成(2)循环网络可以在完全监督的环境下支持元学习


文章内容

  • Introduction

    使用标准的深度RL技术来训练递归神经网络,以使递归网络实现其自己的独立RL过程

    • 一个使用RL算法训练的系统,但它的递归动力学实现了另一个完全独立的RL过程
    • 在适当的情况下,二级学习的RL程序可以显示出原始RL程序所缺乏的适应性和样本效率
  • Methods

    • 元学习结合神经网络(Hochreiter等人的相关方法)

    • DEEP META-RL

      Meta-Learning的输入变成RL设置

      • agent接收到的输入指示了上一步的动作输出 和 该动作所产生的奖励(critical),而不是将目标输出作为辅助输入。
      • 同样的奖励信息被平行地提供给一个DRL程序,该程序调整循环网络的权值。

      文章中强调的一个关键点:这个学习到的RL过程可能与用于训练网络权值的算法截然不同。特别是,它的策略更新过程(包括该过程的有效学习率等特性)可能与调整网络权值所涉及的过程有显著差异,并且学习到的RL过程可以实现自己的探索方法。关键的是,在监督的情况下,学习到的RL过程将适合跨多任务环境的统计,使其能够快速适应。(这里递归网络实现的过程本身是一个成熟的强化学习算法,它协商探索-利用权衡,并基于奖励结果改进代理的策略)

    • formalism

      • 一个适当结构的agent嵌入一个循环神经网络,通过与序列的交互来训练MDP环境(也称为任务)。

      • 在一个新的episode开始时,采样一个新的MDP任务m ~ D和该任务的初始状态,并重置agent的内部状态(即,在其循环单位上的激活模式)。然后,代理在此环境中针对一定数量的离散时间步长执行其动作选择策略。在每一步t上,作为当前的整个历史轨迹episode的的函数执行动作a(从episode开始,循环单元被重置)。训练网络权重使所有步骤和片段的观察奖励总和最大化。

      • 训练后,agent的策略是固定的(即权重是固定的,但由于环境的输入和循环层的隐藏状态,激活是变化的),并对一组mdp进行评估,这些mdp要么来自相同的分布D,要么是对该分布稍加修改(以测试代理的泛化能力)。内部状态在任何新episode的评估开始时被重置。

      • 由于代理学习到的策略是依赖于历史的(因为它使用了一个循环网络),所以当暴露于任何新的MDP环境时,它能够适应和部署一个策略,以优化该任务的回报

  • Experiments

    • 研究问题

      • meta-RL是否符合完全成熟的RL,可以在exploration and exploitation tradeoff
      • meta-RL是否可以提高学习效率
    • 实验设置
      • 赌博机实验
      • MARKOV DECISION PROBLEMS
  • Conclusion

    Deep Meta-RL包含三个成分的组合:

    (1)使用深度RL算法训练递归神经网络

    (2)包括一系列相互关联的任务的训练集

    (3)网络输入,包括选择的动作和在前一个时间点收到的奖励

    Meta-RL关键:产生了一种利用任务结构中的不变性的学习认知学习算法


文章方法的优缺点

  • 优点

    • 元学习思想使得RL利用之前的经验信息
    • 能够快速适应新任务
  • 缺点
    • 基于上下文的,RL中在处理的时候需要一个完整episode
    • 泛化性适用范围是在众多MDP具有某种相似性的时候

Summary

 这篇论文主要是利用了2001年提出的元学习系统idea,把输入换成了RL设置的输入。目的是想要最优动作,标准RL的policy函数的输入只有当前s,即根据当前状态来选择动作。由于RNN的存在,即需要之前的信息,输入就变成了上一次a,r,和 当前s,来选择动作a

论文链接

版权归原作者 Lee_ing 所有

CogSci 2017-Learning to reinforcement learn的更多相关文章

  1. Learning How to Learn, Part 1

    Jan 8, 2015 • vancexu Learning How to Learn: Powerful mental tools to help you master tough subjects ...

  2. Cousera课程Learning How to Learn学习报告

    花了三天完成了Cousera上的Learning how to learn的课程,由于未完成批阅他人作业,所以分不是很高,但是老师讲的课程非常的好,值得一听: 课程的笔记: 我们的一生是一个不断接触和 ...

  3. Learning How to Learn学习笔记(转)

    add by zhj: 工作中提高自己水平的最重要的一点是——快速的学习能力.这篇文章就是探讨这个问题的,掌握了快速学习能力的规律,你自然就有了快速学习能力了. 原文:Learning How to ...

  4. Learning How to Learn 学习如何学习

    Introduction 这是 UCSD 开设在 Coursera 上的课程 Learning How to Learn 的课程笔记.这门课程主要基于神经科学和认知心理学的一些研究成果讲述高效学习的理 ...

  5. Learning How To Learn

    1.Practice 2.memory every week for from working memory to long tern memory 3.sleep 4.running promote ...

  6. <Learning How to Learn>Week One: Focused versus Diffuse Thinking

    1-1 Introduction to the focused and diffuse modes (4:40) 两种思考的模式:focused mode以及diffuse mode focused ...

  7. 集成算法(chapter 7 - Hands on machine learning with scikit learn and tensorflow)

    Voting classifier 多种分类器分别训练,然后分别对输入(新数据)预测/分类,各个分类器的结果视为投票,投出最终结果: 训练: 投票: 为什么三个臭皮匠顶一个诸葛亮.通过大数定律直观地解 ...

  8. (转)Paper list of Meta Learning/ Learning to Learn/ One Shot Learning/ Lifelong Learning

    Meta Learning/ Learning to Learn/ One Shot Learning/ Lifelong Learning 2018-08-03 19:16:56 本文转自:http ...

  9. 18 Issues in Current Deep Reinforcement Learning from ZhiHu

    深度强化学习的18个关键问题 from: https://zhuanlan.zhihu.com/p/32153603 85 人赞了该文章 深度强化学习的问题在哪里?未来怎么走?哪些方面可以突破? 这两 ...

  10. (转) AI突破性论文及代码实现汇总

    本文转自:https://zhuanlan.zhihu.com/p/25191377 AI突破性论文及代码实现汇总 极视角 · 2 天前 What Can AI Do For You? “The bu ...

随机推荐

  1. JDK1.8中的时间处理API

    相比于JDK1.8之前的SimpleDateFormat以及Calendar等API带来的易误用.线程不安全等问题,JDK1.8提供了LocalDate,LocalTime,LocalDateTime ...

  2. 抽风的Maven、maven插件及配置

    Idea 配合 Maven使用中有时遇到莫名奇妙的问题,又莫名奇妙的恢复正常.整理如下: 1.删除系统环境变量Maven_Home,只需在IDEA中指定Maven及settings.xml即可. 有时 ...

  3. Spring-纯Java创建一个SSM【webapp】

    纯Java搭建webapp QuickStart 使用纯 Java 来搭建一个 SSM 环境,即在项目中,不存在任何 XML 配置,包括 web.xml 1创建一个Maven工程 引入依赖 <! ...

  4. Trino Master OOM 排查记录

    背景 最近线上的 trino 集群 master 节点老是因为 OOM crash,我们注意到 trino crash 前集群正在运行的查询数量正常,不太像是因为并发查询数据太多导致的 OOM.遂配置 ...

  5. python创建线程传参误区记录

    创建线程可以使用threading模块中的Thread子类: 其中Thread子类允许的参数如下: (self, group=None, target=None, name=None, args=() ...

  6. $\mathcal{Friends\,\,Of\,--Mathic}$

  7. Oracle_用户-授权-角色

    Oracle创建用户及表空间 1. 用户 创建用户: sql> create user <用户名> IDENTIFIED BY <用户密码> default tables ...

  8. 面对AI的兴起,从人类发展到个人发展,普通人应当如何抉择?

    这一周被各种 AI 卷的不行,从 ChatGPT 4.0 上线到百度文心一言发布会,再到微软的 Microsoft 365 Copilot. 网上有很多人.公众号吐嘈百度,而晓衡接触到的圈子还有一些不 ...

  9. Chrome浏览器插件 Undo Close Tab (恢复关掉的标签页)

    背景 如果您经常使用Chrome浏览器,也许有时候会意外关闭一个标签页,从而丢失您正在查看的内容.这时您可能会感到非常烦恼,并希望能够迅速找回这个标签页.当然,您可以通过点击浏览器历史记录中的条目来找 ...

  10. tcp,udp tcp三次握手四次挥手,基于套接字进行简单通信

    1.应用层: 应用层功能:规定应用程序的数据格式. 例:TCP协议可以为各种各样的程序传递数据,比如Email.WWW.FTP等等.那么,必须有不同协议规定电子邮件.网页.FTP数据的格式,这些应用程 ...