论文笔记之:Deep Recurrent Q-Learning for Partially Observable MDPs
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的更多相关文章
- 论文笔记(2):A fast learning algorithm for deep belief nets.
论文笔记(2):A fast learning algorithm for deep belief nets. 这几天继续学习一篇论文,Hinton的A Fast Learning Algorithm ...
- 论文笔记——A Deep Neural Network Compression Pipeline: Pruning, Quantization, Huffman Encoding
论文<A Deep Neural Network Compression Pipeline: Pruning, Quantization, Huffman Encoding> Prunin ...
- 论文笔记之: Recurrent Models of Visual Attention
Recurrent Models of Visual Attention Google DeepMind 模拟人类看东西的方式,我们并非将目光放在整张图像上,尽管有时候会从总体上对目标进行把握,但是也 ...
- 论文笔记:Deep feature learning with relative distance comparison for person re-identification
这篇论文是要解决 person re-identification 的问题.所谓 person re-identification,指的是在不同的场景下识别同一个人(如下图所示).这里的难点是,由于不 ...
- 论文笔记:Deep Residual Learning
之前提到,深度神经网络在训练中容易遇到梯度消失/爆炸的问题,这个问题产生的根源详见之前的读书笔记.在 Batch Normalization 中,我们将输入数据由激活函数的收敛区调整到梯度较大的区域, ...
- 论文笔记:Deep Attentive Tracking via Reciprocative Learning
Deep Attentive Tracking via Reciprocative Learning NIPS18_tracking Type:Tracking-By-Detection 本篇论文地主 ...
- 论文笔记之:UNSUPERVISED REPRESENTATION LEARNING WITH DEEP CONVOLUTIONAL GENERATIVE ADVERSARIAL NETWORKS
UNSUPERVISED REPRESENTATION LEARNING WITH DEEP CONVOLUTIONAL GENERATIVE ADVERSARIAL NETWORKS ICLR 2 ...
- 论文笔记 — L2-Net: Deep Learning of Discriminative Patch Descriptor in Euclidean Space
论文: 本文主要贡献: 1.提出了一种新的采样策略,使网络在少数的epoch迭代中,接触百万量级的训练样本: 2.基于局部图像块匹配问题,强调度量描述子的相对距离: 3.在中间特征图上加入额外的监督: ...
- 论文笔记 - An Explanation of In-context Learning as Implicit Bayesian Inference
这位更是重量级.这篇论文对于概率论学的一塌糊涂的我简直是灾难. 由于 prompt 的分布与预训练的分布不匹配(预训练的语料是自然语言,而 prompt 是由人为挑选的几个样本拼接而成,是不自然的自然 ...
随机推荐
- python yield的初识
---------2016-5-18 10:49:45-- source:
- Android pulltorefresh使用
pulltorefresh插件可以轻松实现上拉下拉刷新,github.com上直接搜索进行下载. 布局文件: <RelativeLayout xmlns:android="http:/ ...
- JMS消息中间件系列[ActiveMQ](一)
版本5.13.3的特性: 1.Supports a variety of Cross Language Clients and Protocols from Java, C, C++, C#, Rub ...
- 课时8—弹窗modal
首先弹窗的实现效果如下: 主要实现的代码如下: CSS: .header,.footer,.wrap-page{ position:absolute; left:; right:; backgroun ...
- 博客打开慢?请禁用WordPress默认的谷歌字体!
最近几天,谷歌中国挂了之后,发现我的博客打开极慢,原以为是空间问题,可一查,发现同台服务器的用户打开并不慢,排除了空间问题后,这边查询元素发现博客打开时加载了一个链接地址“fonts.googleap ...
- env.sh
#!/bin/sh#docker exec -i t nginx /usr/share/app/nginx/vip/webapp/evn.sh testtestUrl='http:\/\/192.16 ...
- qsort函数
qsort函数用法举例 #include <stdio.h> #include <stdlib.h> #include <string.h> //数字比较函数 in ...
- C语言基础--进制
进制表示: // 1.默认就是10进制 ; // 2.在前面加上一个0就代表八进制 ; // %d是以十进制的方式输出一个整数 printf("%d\n", num1); // % ...
- iOS开发中的数据安全隐患和解决方案
移动互联网的兴起,每天都会涌现大量的app产品,无论公司开发还是个人开发,大家都在追求更快的抢占市场,但是确忽略了打磨产品,也忽略了移动开发中的数据安全隐患,如果我们用Charles工具,很容易截获到 ...
- 利用Scrollow写一个下拉刷新
利用scrollView滑动的2个监听方法实现 //滑动结束时候 出发的方法 - (void)scrollViewWillEndDragging:(UIScrollView *)scrollView ...