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 ...
随机推荐
- 三天吃透MySQL面试八股文
本文已经收录到Github仓库,该仓库包含计算机基础.Java基础.多线程.JVM.数据库.Redis.Spring.Mybatis.SpringMVC.SpringBoot.分布式.微服务.设计模式 ...
- Java日常
学习Java第3天的小总结 一.感受总结 Java是目前市场上的主流语言,相对于C和C++语言来说,竞争更为激烈,而这一大特点也在激励着我不断去探索,去学习: 在下载相应编译环境的过程中,由于IDEA ...
- 自己动手从零写桌面操作系统GrapeOS系列教程——15.用汇编向屏幕输出字符
学习操作系统原理最好的方法是自己写一个简单的操作系统. 在上一讲中我们介绍了屏幕显示的原理,本讲我们来实战一下. 一.向屏幕输出一个字符mbr4.asm mbr4.asm中的代码如下: ;将屏幕第一行 ...
- 4.错误代码C1083
有的时候在VS中遇到的error C1083: 无法打开**: " * .*": No such file or directory的错误,这里总结了我遇到过的情况: 错误 C10 ...
- 声网 Agora 音频互动 MoS 分方法:为音频互动体验进行实时打分
在业界,实时音视频的 QoE(Quality of Experience) 方法一直都是个重要的话题,每年 RTE 实时互联网大会都会有议题涉及.之所以这么重要,其实是因为目前 RTE 行业中还没有一 ...
- springboot--多环境启动
法一: 法二:
- Golang 挑战:编写函数 walk(x interface{}, fn func(string)),参数为结构体 x,并对 x 中的所有字符串字段调用 fn 函数。难度级别:递归。
golang 挑战:编写函数 walk(x interface{}, fn func(string)),参数为结构体 x,并对 x 中的所有字符串字段调用 fn 函数.难度级别:递归. 为此,我们需要 ...
- 通俗易懂的spring事务的传播机制讲解!
spring事务理解 前提两个都是事务的方法,并且两个方法会进行调用,调用方统一使用required 举例有两个方法: required 如果当前上下文存在事务,被调用方则加入该调用方的事务,没有的话 ...
- R语言网络数据爬虫之三个问题
现在大家对爬虫的兴趣不断高涨,R和PYTHON是两个非常有力的爬虫工具.Python倾向于做大型爬虫,与R相比,语法相对复杂,因此Python爬虫的学习曲线会相对陡峭.对于那些时间宝贵,又想从网上获取 ...
- Python3.8环境安装PyHook3
Python3.8环境安装PyHook3 1. 安装python对应版本的pyhook3网 址:https://pypi.org/project/PyHook3/#files如果没有对应版本,请下载 ...