×

用Deep Recurrent Q Network解决部分观测问题!

96
石晓文的学习日记
2018.07.01 17:52 字数 1408

我们都知道,深度Q网络(Deep-Q-Network)最初是应用在让机器人打游戏,状态的输入常常是前几个画面的截图,但是有时候仅仅靠前面画面的图片是无法描述整个状态的,这就导致饿了部分观测的马尔可夫决策过程(Partially-Observable Markov Decision Process,POMDP)的情况出现。不过我们不慌,学者们将循环神经网络和DQN融合,提出了Deep Recurrent Q Network(DRQN),来解决部分可观测的问题。本文,我们来一探DRQN的究竟。

1、Partially-Observable Markov Decision Process

什么是部分可观测的马尔可夫决策过程?举个例子:

假设我们要训练一个agent来打上图中的游戏,如果只给当前的一幅图片作为state,是远远不够的。比如对于Pong这个游戏来说,agent仅仅观测到了一幅图,可以知道白色的小球的位置,但是其速度,方向是完全无法观测到的。而速度、方向这些信息是非常重要的,因为这将会决定最优的踏板的位置。这样,MDP问题就变成了POMDP问题。

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

2、DRQN细节

2.1 DRQN网络结构

DRQN作为DQN的一种变体,其拥有的特性和DQN都是一样的,比如:双网络结构和经验回放。只是网络结构作了一定的调整。因此,我们先来回顾一下2015年的论文中提出的DQN的结构,然后通过对比来看一下DRQN的结构。

DQN

DQN的结构如上图所示,state定义为前四帧画面,通过卷积层和全链接层来得到每一个动作的Q值。

DRQN

DRQN的结构如下图所示,DRQN中将DQN中的一个全链接层替换为了LSTM结构,每一次的输入由四帧画面变味了仅仅一张画面。LSTM的输出经过一个全链接层之后变为每个动作的Q值。

2.2 DRQN训练

我们都知道,LSTM可以对历史情况进行记忆,但是我们要怎么来训练LSTM中的参数呢?有两种解决方案:序列化更新(Bootstrapped Sequential Updates)和随机更新(Bootstrapped Random Updates)

序列化更新
从经验池中获取完整的序列,然后从序列的开始进行训练和更新,直到序列结束。
这种方式的优势是能够更好的训练RNN的参数(因为是完整的序列,可以使得LSTM有更好的记忆性),但是这种方法违背了DQN的随机采样原则(为什么要随机采样,保证数据的独立)。

随机更新
从经验池中采样完整的序列,然后随机选择一个时间点和后面的部分step(原文是 unroll itera- tions timesteps ),来训练和更新网络参数。对于每次训练来说,LSTM的初始state都是zero-state。
这种方式训练符合DQN的随机采样原则,但相对的,每次训练LSTM的state必须从zero-state开始,而且只能观测部分的timestamp,因此LSTM对于长时间的记忆效果不能保证。

经过试验表明,两种更新方式的效果是差不多的。文章中所做的实验是基于随机更新的策略。

3、实验效果

文中介绍了一种名为Flickering Pong的游戏,在这个游戏中,游戏的画面在50%的情况下是完整可观测的,在50%的情况下是模糊的。通过这种方法,文中就模拟了一个部分可观测的马尔可夫环境。

3.1 对比试验

文中对比了三种不同的网络:基于前4帧的DQN,基于前10帧的DQN以及DRQN。实验结果如下:

对于左图,文中对比了三种试验随着训练的深入,agent所能获得的分数的高低,可以看到,当我们提供给agent的帧数增加时,DQN的效果是可以得到提升的。但是DRQN的效果远好于DQN。

对于右图,我们对比了模糊比例不同时三种模型的泛化效果,可以看到,DRQN体现了极强的泛化性能。同时DQN随着可观测比例的提升(模糊比例的下降),效果呈现先上升后下降的趋势。

3.2 Atari游戏中的效果对比

在不同的Atari游戏中,DRQN的性能远好于标准的DQN:

同时,对于标准的Atari游戏增加50%的画面模糊比例,类似于刚才的试验,DRQN的效果也是远好于DQN的:

参考文献

1、https://www.cnblogs.com/wangxiaocvpr/p/5929638.html
2、https://arxiv.org/abs/1507.06527

欢迎关注个人公众号:小小挖掘机

image

添加微信sxw2251,可以拉你进入小小挖掘机技术交流群哟!

强化学习
Web note ad 1