单智能体强化学习算法

DRQN:Deep Recurrent Q-Learning for Partially Observable MDPs

Posted by MY on August 3, 2020

论文链接:Deep Recurrent Q-Learning for Partially Observable MDPs, AAAI 2015

一、问题

DQN存在两个问题:

  • 经验池内存限制
  • 需要依靠完整的游戏界面(状态)

DeepMind关于DQN的原文中,通常Atari等游戏,常常通过将最近的4帧画面组成一个状态传入DQN中进行学习,这是由于仅凭借1帧画面很难判断部分物体的运动方向速度等信息,例如在Pong的游戏中,凭1帧的画面只能获取球跟球拍的位置,无法获取球将要运动的方向与速度,但是DRQN则可使用1帧替代之前的4帧称为一个状态,进行学习决策。但是如果在某些游戏中,4帧的画面还是无法满足状态的表达,这时就需要循环网络来辅助记忆。因为无法表达当前状态,就使得整个系统不具有马尔科夫性,其reward不仅与这帧画面有关,还与前若干帧画面有关。

在部分可观情况下MDP变为POMDP(部分可观马尔可夫决策过程)。在POMDP中,如果对DQN引入RNN(循环神经网络)来处理不完全观测将会取得较好的效果。DQRN相对于DQN能够更好的处理缺失的信息。

二、解法

2.1 结构设计

DRQN最小程度的修改DQN的结构,只将卷基层后一层的全连接层替换为了LSTM网络,最终输出结果为每个动作$a$对应的$Q(s,a)$值。在训练的过程中,卷积部分与循环网络部分一同更新迭代学习。其结构如下图所示:

1

2.2 更新方式

每次更新循环网络,需要包含一段时间连续的若干观测$o$与奖励值$r$。此外,在每次训练时,LSTM隐含层的初始状态可以是0,也可以从上一次的值继承过来。因此具有两种更新学习方式:Bootstrapped序列更新与Bootstrapped随机更新。

2.2.1 Bootstrapped 序列更新

从经验回放内存中随机选取一次游戏过程(episode),从这次游戏过程的开始一直学习到游戏结束。在每一个时刻$t$,其目标状态值还是通过目标网络来获取。在一次游戏过程中,每一时刻LSTM隐含层的状态值从上一时刻继承而来。

2.2.2 Bootstrapped 随机更新

从经验回放内存中随机选取一次游戏过程(episode),再在这个游戏过程中随机选择一个时刻点,再选择若干步进行学习(可以是一步)。在每一个时刻$t$,其目标状态值还是通过目标网络来获取。在每一次训练前需要将LSTM隐含层的状态置为0。

2.2.3 两种更新方式对比

  • 序列更新能够更好的让LSTM学习一次游戏过程的所有时间序列记忆,更有利于时序推理。但是由于序列化采样学习,违背了DQN随机采样的策略(因为神经网络要求学习数据独立同分布,由于时序数据之间有马尔科夫性,则会损害神经网络的学习效果)。
  • 随机更新更符合DQN的随机采样策略,但是需要每次更新前将LSTM隐含层状态置为0,这将损害LSTM的记忆能力。

实验证明这两种更新方法都能得到收敛的策略以及相似的效果。原文中主要采用随机更新的方法。

三、实验内容

在仿真阶段,原文采用0.5的概率对画面进行模糊处理来模拟部分可观的情景。对比实验为,DQN输入为连续的4帧画面,而DRQN输入为1帧画面:

1

作者想要测试使用完全观测数据训练DQN与DRQN,然后再使用部分观测数据评估DQN与DRQN。通过在9个游戏中进行测试得出平均结果如下图所示。发现DRQN在信息逐渐缺失的情况下,其效果下降小于DQN,说明其对缺失信息更具鲁棒性。

1

四、缺点

DRQN没有太大的系统上的性能提升;只适用于一些简单的场景

五、优点

DRQN更善于利用循环记忆来完善部分观测信息,推理出完整的状态信息。因此,DRQN可以是一种DQN输入多帧的一种替代算法。


支付宝打赏 微信打赏

您的打赏是对我最大的鼓励!


Share
Comments
Advertisements