
3.2.2 DQN
在2015年,Mnih等人[1]提出了DQN(Deep Q-Network),其是利用深度学习进行强化学习的网络。DQN利用Q-learning训练卷积神经网络,并且添加目标网络提高模型的学习性能。
在DQN出现之前,利用神经网络逼近强化学习中的动作值函数时会出现不稳定甚至不收敛的问题;DQN出现之后,使用经验回放和目标网络这两种技术解决了这个问题。
(1)经验回放
经验回放的具体做法是在每个时间点存储智能体的经验et=(st,at,rt,st+1),形成回放记忆序列D={e1,…,eN}。在训练时,每次从回放记忆序列D中随机提取小批量的经验样本,并使用随机梯度下降算法更新网络参数。经验回放通过重复采样历史数据增加了数据的使用效率,同时减少了数据之间的相关性。
(2)目标网络
DQN使用卷积神经网络逼近动作值函数,我们将该卷积神经网络称为Q网络,将动作值函数参数化表示为Q(s,a,θi),其中θi为Q网络在第i次迭代时的参数。Q网络每次迭代的优化目标值为:

该目标值由另外一个单独的目标网络产生,其中,
为下一时刻的状态,
为所有可能的动作,
为目标网络的参数。
在Q网络的训练过程中,参数θi通过最小化以下目标函数进行更新:

对上式求偏导可得:

目标网络和Q网络都为卷积神经网络,二者可以使用相同的结构。目标网络的参数每经过N次迭代便用Q网络的参数θi更新一次,在中间过程中目标网络的参数
保持不变。
DQN的网络结构如图3-3所示。网络的输入是经过预处理后的连续4帧游戏图像,经过3层卷积层和2层全连接层,输出每个动作所对应的Q值。与很多传统的卷积神经网络不同,DQN所用的卷积神经网络没有池化层。

图3-3 DQN网络结构示意
与传统的强化学习方法相比,DQN主要有两个贡献。
1)使用经验回放和目标网络来稳定模型的训练过程。
2)设计了一种端到端的强化学习方法,即以原始像素和游戏比赛得分作为输入,输出每个动作对应的Q值。
[1] Mnih V,Kavukcuoglu K,Silver D,et al.Playing Atari with Deep Reinforcement Learning[C].Proceedings of the Workshops at the 26th Neural Information Processing Systems,2013:201-220.