Deep Recurrent Q-Learning for Partially Observable MDPs

   摘要:DQN 的两个缺陷,分别是:limited memory 和 rely on being able to perceive the complete game screen at each decision point.

  为了解决这两个问题,本文尝试用 LSTM 单元 替换到后面的 fc layer,这样就产生了 Deep Recurrent Q-Network (DRQN),虽然每一个时间步骤仅仅能看到一张图像,仍然成功的结合了相关信息,在Atari games 和 partically observed equivalents feature flikering game screens,得到了 DQN 相当的效果。另外,当用部分观测进行训练,并且用逐渐增加的完整的观测时,DRQN 的性能和观测成一定的函数关系。相反的,当用全屏进行训练的时候,用部分观测进行评估,但是DRQN 的性能却比 DQN 的效果要差。所以,给定同样长度的历史,recurrency 是一种实际可行的方法来存储 DQN 的输入层的历史。

     引言:开头讲了 DQN 取得的成功,后面开始说他的两个弱点,使得 MDP问题逐渐变成了 部分观测的马尔科夫决策过程(partically-observable markov decision process)。

  像下图所展示的那样,仅仅给定一帧图像,许多游戏就变成了 POMDPs。一个例子就是,我们只能知道这个球的位置,但是无法得知其速度。但是知道球的运动方向是非常重要的,因为这将会决定最优的踏板的位置。

  我们观测到 DQN 的性能在给定不完全的状态观测时,性能就会下降。我们假设 DQN 可以被改善的能够处理 POMDPs,通过引入 RNN 的 advances 。 所以,我们引入了 Deep Recurrent Q-Network (DRQN),组合了 LSTM 和 Deep Q-network。关键的是,我们表明 DRQN 能够处理部分观测的情况,and that recurrency confers benefits when the quality of observations change during evaluation time .

  

  Deep Q-learning 的简介(略)

  Partical Observability : 

  在真实世界的环境中,很少有 full state of the system 可以提供给 agent 。换句话说,马尔科夫属性在这样的环境中,几乎不成立 。部分观测的 MDPs 可以更好的抓住环境的动态,通过显示的认识到:agent 接受到的感知都是潜在系统状态的部分glimpse (only partical glimpses of  the underlying system state)。形式上来说,POMDP 可以表达为 6个变量:

  (S, A, P, R, X, O). 假设这几个变量分别为:状态,动作,转移函数,奖励,X 表示真实的环境,但是agent 只能感知其部分信息 o 。

  在一般情况下,预测一个 Q-value 可能是不准确的,是因为: $Q(o, a|\theta) != Q(s, a|\theta)$ 。

  我们的实验表明,添加了 recurrency 到 DQN 当中,允许 Q-network 能够更好的预测潜在的系统状态,缩小上述不等式两者之间的差距。从而更加准确的预测 Q values ,进一步的提升学习到的策略。

  DRQN Architecture:

  像图 2 所示的那样,DRQN 的结构是将 DQN 上的 第一个 fc layer 替换成了 LSTM 单元。

  

  对于输入来说,Recurrent network 输入一张 84*84 的图像。

  

论文笔记之:Deep Recurrent Q-Learning for Partially Observable MDPs的更多相关文章

  1. 论文笔记(2):A fast learning algorithm for deep belief nets.

    论文笔记(2):A fast learning algorithm for deep belief nets. 这几天继续学习一篇论文,Hinton的A Fast Learning Algorithm ...

  2. 论文笔记——A Deep Neural Network Compression Pipeline: Pruning, Quantization, Huffman Encoding

    论文<A Deep Neural Network Compression Pipeline: Pruning, Quantization, Huffman Encoding> Prunin ...

  3. 论文笔记之: Recurrent Models of Visual Attention

    Recurrent Models of Visual Attention Google DeepMind 模拟人类看东西的方式,我们并非将目光放在整张图像上,尽管有时候会从总体上对目标进行把握,但是也 ...

  4. 论文笔记:Deep feature learning with relative distance comparison for person re-identification

    这篇论文是要解决 person re-identification 的问题.所谓 person re-identification,指的是在不同的场景下识别同一个人(如下图所示).这里的难点是,由于不 ...

  5. 论文笔记:Deep Residual Learning

    之前提到,深度神经网络在训练中容易遇到梯度消失/爆炸的问题,这个问题产生的根源详见之前的读书笔记.在 Batch Normalization 中,我们将输入数据由激活函数的收敛区调整到梯度较大的区域, ...

  6. 论文笔记:Deep Attentive Tracking via Reciprocative Learning

    Deep Attentive Tracking via Reciprocative Learning NIPS18_tracking Type:Tracking-By-Detection 本篇论文地主 ...

  7. 论文笔记之:UNSUPERVISED REPRESENTATION LEARNING WITH DEEP CONVOLUTIONAL GENERATIVE ADVERSARIAL NETWORKS

    UNSUPERVISED REPRESENTATION LEARNING WITH DEEP CONVOLUTIONAL GENERATIVE ADVERSARIAL NETWORKS  ICLR 2 ...

  8. 论文笔记 — L2-Net: Deep Learning of Discriminative Patch Descriptor in Euclidean Space

    论文: 本文主要贡献: 1.提出了一种新的采样策略,使网络在少数的epoch迭代中,接触百万量级的训练样本: 2.基于局部图像块匹配问题,强调度量描述子的相对距离: 3.在中间特征图上加入额外的监督: ...

  9. 论文笔记 - An Explanation of In-context Learning as Implicit Bayesian Inference

    这位更是重量级.这篇论文对于概率论学的一塌糊涂的我简直是灾难. 由于 prompt 的分布与预训练的分布不匹配(预训练的语料是自然语言,而 prompt 是由人为挑选的几个样本拼接而成,是不自然的自然 ...

随机推荐

  1. C语言语法之运算符及优先级

    注:该内容整理自以下链接. http://blog.csdn.net/huangblog/article/details/8271791 表:C语言运算符及优先级 优先级 运算符 名称或含义 使用形式 ...

  2. 关于NOR-FLASH和NAND-fLASH的区别。——Arvin

    NANDFLASH: Nand-flash内存是flash内存的一种,1989年,东芝公司发表了NAND flash结构.其内部采用非线性宏单元模式,为固态大容量内存的实现提供了廉价有效的解决方案.N ...

  3. 分方式缓存常用的一致性hash是什么原理

    分方式缓存常用的一致性hash是什么原理 一致性hash是用来解决什么问题的?先看一个场景有n个cache服务器,一个对象object映射到哪个cache上呢?可以采用通用方法计算object的has ...

  4. dataserver test code

    main.go package main import ( "database/sql" "fmt" "log" "net/htt ...

  5. zoj 1203 Swordfish prim算法

    #include "stdio.h". #include <iostream> #include<math.h> using namespace std; ...

  6. hessian 协议

    什么是Hessian协议呢? 目前,Web服务技术是解决异构平台系统的集成及互操作问题的主流技术. 它所基于的XML已经是Internet上交换数据的实际标准,基于通用的进程间通信协议和网络传输协议屏 ...

  7. Android开发--EditText的应用

    1.简介 EditText主要用于数据的输入,验证等问题.例如,账号的注册,验证等等. 2.构建 如下图所示,在Text Fields有多种类型的数据输入框,我们创建图2所示的文本框,当点击按钮时,文 ...

  8. Objective-C( Foundation框架 一 数组(NSMutableArray))

    NSMutableArray:可变数组 NSMutableArray是NSArray的子类 创建NSMutableArray数组对象 添加数组元素: // 创建数组 NSMutableArray *a ...

  9. PHP 时间 date,strtotime ,time计算1970开始的第几天

    首先,需要看你的php时区配置参数 方式1:更改php配置文件,然后从其fast-cgi或者php调用的地方: 方式2:date_default_timezone_set('PRC'); date函数 ...

  10. iOS开发UI篇—Quartz2D简单使用(二)

    iOS开发UI篇—Quartz2D简单使用(二) 一.画文字 代码: // // YYtextview.m // 04-写文字 // // Created by 孔医己 on 14-6-10. // ...