CogSci 2017-Learning to reinforcement learn
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
CogSci 2017-Learning to reinforcement learn的更多相关文章
- Learning How to Learn, Part 1
Jan 8, 2015 • vancexu Learning How to Learn: Powerful mental tools to help you master tough subjects ...
- Cousera课程Learning How to Learn学习报告
花了三天完成了Cousera上的Learning how to learn的课程,由于未完成批阅他人作业,所以分不是很高,但是老师讲的课程非常的好,值得一听: 课程的笔记: 我们的一生是一个不断接触和 ...
- Learning How to Learn学习笔记(转)
add by zhj: 工作中提高自己水平的最重要的一点是——快速的学习能力.这篇文章就是探讨这个问题的,掌握了快速学习能力的规律,你自然就有了快速学习能力了. 原文:Learning How to ...
- Learning How to Learn 学习如何学习
Introduction 这是 UCSD 开设在 Coursera 上的课程 Learning How to Learn 的课程笔记.这门课程主要基于神经科学和认知心理学的一些研究成果讲述高效学习的理 ...
- Learning How To Learn
1.Practice 2.memory every week for from working memory to long tern memory 3.sleep 4.running promote ...
- <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 ...
- 集成算法(chapter 7 - Hands on machine learning with scikit learn and tensorflow)
Voting classifier 多种分类器分别训练,然后分别对输入(新数据)预测/分类,各个分类器的结果视为投票,投出最终结果: 训练: 投票: 为什么三个臭皮匠顶一个诸葛亮.通过大数定律直观地解 ...
- (转)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 ...
- 18 Issues in Current Deep Reinforcement Learning from ZhiHu
深度强化学习的18个关键问题 from: https://zhuanlan.zhihu.com/p/32153603 85 人赞了该文章 深度强化学习的问题在哪里?未来怎么走?哪些方面可以突破? 这两 ...
- (转) AI突破性论文及代码实现汇总
本文转自:https://zhuanlan.zhihu.com/p/25191377 AI突破性论文及代码实现汇总 极视角 · 2 天前 What Can AI Do For You? “The bu ...
随机推荐
- 安装Windows10后电脑整体速度变慢
是不是觉得从旧版本Windows系统比如(Windows 7)升级到Windows10以后,感觉什么操作都变慢了.譬如打开文件夹,游戏加载速度变缓慢.尤其是腾讯WeGame软件进入游戏前的检测速度明显 ...
- idea创建Spring项目时选择Maven还是Spring initializr?
今天在使用idea创建Spring项目时不知道选择Maven还是Spring initializr 接着都实验了一下,其实本质是一样的,使用"spring initializr"创 ...
- flutter ui---->一些类QQ的实现
整理一下比较有意思的类QQ的UI实现.Nothing that has meaning is easy. Easy doesn't enter into grown-up life. darken t ...
- nodejs,,一些基本操作--server。js
1.解决中文乱码问题: const http = require('http') const server = http.createServer((req, res) => { // 设置字符 ...
- Linux 磁盘空间查看及清理
1. 查看磁盘空间 查看当前目录各文件夹大小 du -ah -x --max-depth=1 查看文件大小 ls -lh 查看系统空间占用 df -h 2. 磁盘空间清理 Linux清除文件内容 ca ...
- python入门教程之十三错误和异常
作为 Python 初学者,在刚学习 Python 编程时,经常会看到一些报错信息,在前面我们没有提及,这章节我们会专门介绍. Python 有两种错误很容易辨认:语法错误和异常. Python as ...
- pandas之索引操作
索引(index)是 Pandas 的重要工具,通过索引可以从 DataFame 中选择特定的行数和列数,这种选择数据的方式称为"子集选择".在 Pandas 中,索引值也被称为标 ...
- pysimplegui之画布,图形,表格和树结构元素
画布元素 在我看来,tkinter Canvas 小部件是 tkinter 小部件中功能最强大的.虽然我尽我所能将用户与任何与 tkinter 相关的东西完全隔离,但 Canvas 元素是一个例外.它 ...
- QtDesigner第一个程序
用QTDesigner设计界面简单多了,而且更加直观.先看下效果图,是不是比我们用代码写的布局要美观多了 制作.ui界面 (1).打开Pycharm的界面设计工具QTDsigner Pycharm-& ...
- [J2EE]Spring MVC中访问静态资源[转]
1 文献来源 SpringMVC访问静态资源的三种方式(转) - 博客园 SpringMVC访问静态资源的三种方式 + 提供解决方案的原作者 2 前言 2.1 访问不到静态资源起因 如果web.xml ...