Dueling Network Architectures for Deep Reinforcement Learning 〇. 文章信息 Dueling Network Architectures for Deep Reinforcement Learning Ziyu Wang、Tom Schaul、Matteo Hessel、Hado van Hasselt、Marc Lanctot、Nando de Freitas Google DeepMind https://arxiv.org/abs/1511.06581 一、写作动机 Dueling DQN出现以前,基于深度学习RL的大多数方法都是用标准的神经网络结构,如MLP、LSTM等。
Dueling Network Architectures for Deep Reinforcement Learning
Ziyu Wang、Tom Schaul、Matteo Hessel、Hado van Hasselt、Marc Lanctot、Nando de Freitas
Google DeepMind
https://arxiv.org/abs/1511.06581
Dueling DQN出现以前,基于深度学习RL的大多数方法都是用标准的神经网络结构,如MLP、LSTM等。此类工作的重点是改进控制和RL算法,或将现有的神经网络架构推广到RL中。
本文旨在提出一种适用于Model-free的RL算法的神经网络结构,该结构具有很好地灵活性和互补性。
若 s_t是智能体感知到的由 M个图像帧组成的视频,则有:
与之对应的,a_t是智能体备选动作的离散集,则 a_t \in A={1,2,3,\cdots,|A|}; 游戏模拟器产生的奖励信号则为 r_t。智能体的目标是最大化折扣汇报 R_t( R_t= \sum _{r=t}^\infty \gamma^{r-t}r_t),在这个公式中, \gamma\in[0,1]是折扣因子,它权衡了即时和未来奖励的重要性。
对于根据随机策略 \pi 行动的智能体,其状态-动作对(s, a) 和状态 s 的值定义如下:
Q^{\pi}(s,a) = E[R_{t}|s_{t}=s,a_{t}=a,\pi](动作价值函数)
V^{\pi}(s) = E_{a \sim \pi(s)}[Q^{\pi}(s,a)](状态价值函数)
Q^{\star}(s, a) = \mathop{max}\limits_{\pi} Q^\pi(s, a)(最优动作价值函数)
V^{\star}(s)=\mathop{max}\limits_{\pi}V^{\pi}(s)(最优状态价值函数)
A^{\pi}(s,a) = Q^{\pi}(s,a) - V^{\pi}(s,a)(优势函数)
Theorem 1:V^{\star}(s) = \mathop{max}\limits_{a} Q^{\star}(s, a) (最优价值优势函数等于最优动作价值函数关于动作 a的最大值)
另外有:
Theorem 2: Q^{\star}(s, a)=A^{\star}(s, a)+V^{\star}(s)-\mathop{max}\limits_{a}A^{\star}(s, a)
Q(s, a; θ)是神经网络对 Q^{\star}(s, a)的近似,神经网络的输入为状态 s,通过神经网络将输入映射到一个输出向量中,输出向量为 s状态下对每一个动作a的打分。
迭代i处的损失函数:
其中,y^{DDQN}{i}=r+\gamma Q(s'+ \mathop{max}\limits_{a'}Q(s',a';\theta^{-}))。
另外,还可以从梯度下降和经验回放的角度对训练的方式进行修改。
在学习过程中,智能体积累了一个数据集 D_t = {e_1, e_2, . . . , e_t},其中经验e_t = (s_t, a_t, r_t, s_{t+1}) 来自许多回合。
DDQN与DQN基本一致,只是改变了 y^{DDQN}_{i}的表达式。
与DQN不同,Dueling Network近似的是 A^{\star}(s, a)和 V^{\star}(s),分别为 A(s,a;\theta,\alpha)和 V(s;\theta,\beta)。这也就意味着,Dueling Network可以使用同一个卷积网络的参数来提取特征,但输出则使用不同的结构。

具体地说,根据Theorem 2,有:
由于Dueling Network只是改变了网络的架构,所以训练网络的方法与DQN和DDQN一致,所有基于DQN的训练改进都可以用在Dueling Network上面。
因为 Q^{\star}(s, a)=A^{\star}(s, a)+V^{\star}(s),所以利用这种方式得到的 Q^{\star}(s, a)不唯一。
若同时给A^\star增一个数字,给V^\star减少相同的数字,则会得到与之前相同的Q^{\star}(s, a)。而增加 \mathop{max}\limits_{a}A(s, a; θ, α)一项后就不会出现这种情况。
在实际的使用中,往往 Q(s, a; \theta, \alpha, \beta)中的第三项不使用\mathop{max}\limits_{a}A(s, a; \theta, \alpha),而使用平均值,即:
为了评估学习到的 Q 值,论文选择了一个简单的环境,其中可以为所有 (s, a) ∈ S × A 分别计算准确的 Q_\pi(s,a)值。
这个环境,称之为走廊,由三个相连的走廊组成。走廊环境示意图如(a)所示,智能体从环境的左下角开始,必须移动到右上角才能获得最大的奖励。共有 5 种动作可用:上、下、左、右和无操作。两个垂直部分都有 10 个状态,而水平部分有 50 个状态。
论文在走廊环境的三种变体上分别使用 5、10 和 20 个动作将单流 Q 架构与Dueling Network架构进行了比较(10 和 20 动作变体是通过在原始环境中添加无操作而形成的)。
单流架构是一个三层 MLP,每个隐藏层有 50 个单元。Dueling Network架构也由三层组成。然而,在 50 个单元的第一个隐藏层之后,网络分支成两个流,每个流都是具有 25 个隐藏单元的两层 MLP。

结果表明,通过 5 个动作,两种架构以大致相同的速度收敛。然而,当我们增加动作数量时,Dueling Network架构比传统的 Q 网络表现更好。在Dueling Network中,流 V (s; θ, β) 学习到一个通用值,该值在状态 s 处的许多相似动作之间共享,从而导致更快的收敛。
论文在由 57 个 Atari 游戏组成的 Arcade Learning Environment上对提出的方法进行了综合评估。
论文的网络架构具有与 DQN 相同的低级卷积结构。有 3 个卷积层,后面是 2 个全连接层。第一个卷积层有 32 个步长为 4 的 8×8 滤波器,第二个是 64 个步长为 2 的 4×4 滤波器,第三个也是最后一个卷积层由 64 个步长为 1 的 3×3 滤波器组成。由于A和V流都将梯度传播到反向传播中的最后一个卷积层,论文将进入最后一个卷积层的组合梯度重新缩放 1/√2。这种简单的启发式方法温和地增加了稳定性。此外,我们对梯度进行裁剪,使其范数小于或等于 10。
评估函数:
结果:

Single Clip 的性能优于 Single。我们验证了这种增益主要是由梯度裁剪带来的。出于这个原因,我们在所有新方法中都加入了梯度裁剪。Duel Clip 在 75.4% 的游戏中(57 场中有 43 场)的表现优于 Single Clip。与单一基线相比,它在 80.7%(57 场比赛中的 46 场)的比赛中也获得了更高的分数。在所有有 18 个动作的游戏中,Duel Clip 有 86.6% 的几率更好(30 个中有 26 个)。这与上一节的研究结果一致。总体而言,Duel智能体 (Duel Clip) 在 57 场比赛中的 42 场比赛中达到了人类水平的表现。
能够使Q网络更好地收敛。因为针对动作价值Q ,传统的DQN算法直接进行Q值估计,而Dueling DQN则是将其拆分为两项:V和A,即状态价值函数V和优势函数 A,这样的好处就是能够在Q值相近的时候,通过拆解出来的A找到那个最优的动作。
鲁棒性更好。在给定状态的 Q 值之间的差异通常非常小的情况下,这种尺度差异可能导致更新中的少量噪声可能导致动作的重新排序,从而使策略突然切换。但是因为有具有优势函数A,所以Dueling Network架构对这种效果具有鲁棒性。
程岳,研究生,重庆邮电大学,目前研究方向为模糊时间序列分析、多源异构数据融合,大数据分析与智能决策重庆市重点实验室。