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. 操作系统 && C语言 每日学习记录(day1 ~ day8) 已寄

    现在正式工作了,发现之前学的东西,很多一知半解,不通透,准备再好好系统学一些计算机原理的东西,每天学一学,在这里记录一下. 规划(7.17开始): 同学分享了个超级好的操作系统课程,每天看个一节:ht ...

  2. consumer goods cloud 之后续慢慢看系列

    继之前的内容和帮助文档之外,整理一些其他有用的CG资源,有时间可以深入学习一下. 零售执行: https://rise.articulate.com/share/R9_PIF3mcNMuAi4iUtA ...

  3. odoo 开发入门教程系列-模型之间的关系(Relations Between Models)

    模型之间的关系(Relations Between Models) 上一章介绍了为包含基本字段的模型创建自定义视图.然而,在任何真实的业务场景中,我们都需要不止一个模型.此外,模型之间的链接是必要的. ...

  4. flask-wtfwkfom使用

    我们在使用flask框架来搭建自己的博客,只要是设涉及到表单相关,必然会想起Flask-WTF与WTForms.对于flask初学者来说,比较容易混淆两者.今天想来一一解释两者的用法. Flask-W ...

  5. [Windows]BAT脚本自定义函数

    1 helloworld @echo off call :helloworld helloworld goto :EOF :helloworld setlocal echo %1 endlocal&a ...

  6. LeeCode 90双周赛复盘

    T1: 差值数组不同的字符串 思路:数组遍历 若前两个字符串差值数组不同,则只需要继续计算第三个字符串的差值数组即可得到答案 若前两个字符串差值数组相同,则依次遍历后续字符串,直至找到不同的差值数组 ...

  7. 极速免费部署,国内可用 ChatGPT 网页版

    极速免费部署,国内可用 ChatGPT 网页版 我的星球微信群虽然接入了ChatGPT,但是依然有星友反馈说艾特机器人太麻烦,有些问题也不方便公开. 昨天充值api成功了,终于有底气把网页版开放给星友 ...

  8. day117:MoFang:宠物栏的功能实现&宠物道具的使用

    目录 1.宠物栏的功能实现 2.宠物道具的使用 1.宠物栏的功能实现 1. 宠物的显示 2. 宠物的使用 3. 宠物的饱食度 4. 宠物的开锁 1.服务端提供显示宠物的api接口 orchard/so ...

  9. day15:递归函数&递归练习题

    递归函数 递归函数的定义 : 自己调用自己的函数就是递归 递: 去    归: 回   一去一回就是递归 一个简单的递归例子 # 1.一个简单的递归例子 def digui(n): print(n,& ...

  10. JMeter-BeanShell预处理程序和BeanShell后置处理程序的应用

    一.什么是BeanShell? BeanShell是用Java写成的,一个小型的.免费的.可以下载的.嵌入式的Java源代码解释器,JMeter性能测试工具也充分接纳了BeanShell解释器,封装成 ...