DQN网络是深度学习和强化学习相结合地开局之作,本篇文章主要介绍DQN网络及其扩展网络,可以了解该网络的形成及其进化的演进脉络。如下图1所示,DQN及其扩展网络的演进关系图。
DQN
DQN网络通过experience replay 和 target network解决非线性函数近似Q函数,经常发生不稳定和发散的问题。其中,通过随机化数据后的experience replay 移除序列关系和平滑数据分布;使用target network来解决Q值和目标值的关系。
Experience Replay
每个time-step t 把智能体的experience 存储在数据集
中。
Target Network
训练神经网络时,均匀地从数据集中采样出mini-batch的数据,迭代地训练Q-Network和Target-Network。
Double Q-learning
为了解决DQN高估target的问题,该论文提出了Double Q-learning算法。该算法基于如下公式(1)作为Q函数学习的目标值,从而解决高估问题。 (1)
Prioritized replay
Prioritized replay的提出是基于DDQN。在这篇论文中,为了能够采样到有很大学习潜力的样本,对样本形成了概率分布,每个样本的概率与成正比。最终,基于该方法可以加快模型的训练速度。
Dueling networks
在Double Q-learning和Prioritized replay的基础之上,提出了Dueling networks。如下图1所示,Dueling Networks的网格结构。Dueling Networks有两个流,其中一个输出当前状态的Value,另一个输出当前(s,a)的优势值,两个流合并输出(s,a)的Q值。如下公式(2)所示,两个流的合并形式。 (2)

图2 Dueling Networks架构
该网络被提出的核心点:对于许多状态,评估每个动作选择的价值是不必要的。
Noisy Nets
为了提高强化学习算法的探索能力,该论文提出了一个NoisyNet。NoisyNet通过对神经网络中的权重参数增加noisy,进而提高算法的探索能力。其中,权重和噪音为高斯分布形成的值,高斯分布的均值和方差可通过梯度下降方法更新。
参考文献
- DQN: Mnih, Volodymyr, et al. “Human-level control through deep reinforcement learning.” Nature 518.7540 (2015): 529-533.
- OpenAI Baselines: ACKTR & A2C
- Rainbow: Combining Improvements in Deep Reinforcement Learning
- Deep Reinforcement Learning with Double Q-Learning
- Prioritized Experience Replay
- Dueling Network Architectures for Deep Reinforcement Learning
- NOISY NETWORKS FOR EXPLORATION
