【强化学习实战-05】Dueling DQN保姆级教程(1):以Cart Pole为例

【强化学习实战-05】Dueling DQN保姆级教程:以Cart Pole为例Dueling DQNAdvantage function (优势函数)Dueling DQN参考文献:Dueling Network Architectures for Deep Reinforcement Learning https://arxiv.org/abs/1511.06581Wang Z, Schaul T, Hessel M, et al. Dueling network architectures
摘要由CSDN通过智能技术生成

Dueling DQN

参考文献

  • Dueling Network Architectures for Deep Reinforcement Learning https://arxiv.org/abs/1511.06581
  • Wang Z, Schaul T, Hessel M, et al. Dueling network architectures for deep reinforcement learning[C]//International conference on machine learning. PMLR, 2016: 1995-2003.

本笔记整理自 (作者: Shusen Wang):
https://www.bilibili.com/video/BV1rv41167yx?from=search&seid=18272266068137655483&spm_id_from=333.337.0.0

Note

  • Dueling Network不仅可以用在DQN,还可以用在其他地方。
  • Dueling Network是一种更好的网络结构。跟DQN相比,他只是在神经网络的网络结构上做了改进。

Dueling network是在2016年发表在PMLR上的论文Dueling Network Architectures for Deep Reinforcement Learning提出的,其作者为:Google 的DeepMind团队。作者包括:Ziyu Wang、Tom Schaul、Matteo Hessel、Hado van Hasselt、Marc Lanctot、Nando de Freitas。

这篇论文中提出了一个重要的概念:Advantage function (优势函数)。下面我们来详细介绍Dueling Network。

Advantage function (优势函数)

在介绍Advantage function (优势函数)之前,首先我们需要再次回顾相关概念。

在这里插入图片描述

  • 折扣回报(Discounted return): 也就是从 t t t时刻到结束的累计总回报。 U t = R t + γ ⋅ R t + 1 + γ 2 ⋅ R t + 2 + γ 3 ⋅ R t + 3 + ⋯ = ∑ k = 1 + ∞ γ k R t + k \begin{aligned} U_t &= R_t + \gamma \cdot R_{t+1} + \gamma^2 \cdot R_{t+2} + \gamma^3 \cdot R_{t+3} + \cdots \\ &= \sum_{k=1}^{+\infty}{\gamma^k R_{t+k}} \end{aligned} Ut=Rt+γRt+1+γ2Rt+2+γ3Rt+3+=k=1+γkRt+k

注意,大写字母都是随机变量。每一步的reward,也就是 R t , R t + 1 , R t + 2 , ⋯ R_t, R_{t+1}, R_{t+2}, \cdots Rt,Rt+1,Rt+2,,全部是随机变量,因为我们并不知道真实、准确的reward function,只能是自己凭借经验去设置一个自己觉得合理的reward function。或者说,等待环境返回一个reward的观测值: r t r_t rt

  • 动作-价值函数(Action-value function) Q π ( s t , a t ) Q_{\pi}(s_t, a_t) Qπ(st,at),表示在策略 π \pi π下,状态为 s t s_t st时采取动作 a t a_t at,获得的总折扣回报 U t U_t Ut的期望。也就是 Q π ( s t , a t ) = E [ U t ∣ S t = s t , A t = a t ] Q_{\pi}(s_t, a_t) = \mathbb{E}[U_t | S_t = s_t, A_t = a_t] Qπ(st,at)=E[UtSt=st,At=at]

另外,在Policy based reinforcement learning中,我们是学习状态价值函数 V π ( s ) V_{\pi}(s) Vπ(s),且 V π ( s ) V_{\pi}(s) Vπ(s)等于
V π ( s t ) = E A [ Q π ( s t , A ) ] = ∑ a π ( a t ∣ s t ) ⋅ Q π ( s t , a t ) ≈ ∑ a π ( a t ∣ s t ; θ ) ⋅ q ( s t , a t ; w ) \begin{aligned} V_{\pi}(s_t) &= \mathbb{E}_{A}[Q_{\pi}(s_t, A)] \\ &=\sum_{a} \pi(a_t|s_t) \cdot Q_{\pi}(s_t, a_t) \approx \sum_{a} \pi(a_t|s_t; \theta) \cdot q(s_t, a_t; \mathbf{w}) \end{aligned} Vπ(st)=EA[Qπ(st,A)]=aπ(atst)Qπ(st,at)aπ(atst;θ)q(st,at;w)
最后,我们会同时得到:

  • 策略网络(policy network),也就是 Actor π ( a ∣ s ; θ ) \pi(a|s; \theta) π(as;θ),和
  • 价值网络(value network),也就是Critic q ( s , a ; w ) q(s, a; \mathbf{w}) q(s,a;w)。注意这个价值网络 q ( s , a ; w ) q(s, a; \mathbf{w}) q(s,a;w)是不依赖于策略 π \pi π的,因为它就是一个唯一的神经网络而已, π \pi π变化,神经网络 q ( s , a ; w ) q(s, a; \mathbf{w}) q(s,a;w)不会变化。

虽然最后会同时得到策略网络(policy network) π ( a ∣ s ; θ ) \pi(a|s; \theta) π(as;θ)和价值网络(value network) q ( s , a ; w ) q(s, a; \mathbf{w}) q(s,a;w),但是最后我们只是用策略网络(policy network) π ( a ∣ s ; θ ) \pi(a|s; \theta) π(as;θ)去做动作(相当于去求解问题)。

因此,我们引出状态-价值函数 V π ( s t ) V_{\pi}(s_t) Vπ(st)

  • 状态-价值函数(State-value function) V π ( s t ) V_{\pi}(s_t) Vπ(st),表示在策略 π \pi π下,状态为 s t s_t st时会获得的总折扣回报 U t U_t Ut的期望。也就是
    V π ( s t ) = E A [ Q π ( s t , A ) ] = E a ∼ π ( s t ) [ Q π ( s t , a ) ] = ∑ a π ( a t ∣ s t ) ⋅ Q π ( s t , a t ) \begin{aligned} V_{\pi}(s_t) &= \mathbb{E}_{A}[Q_{\pi}(s_t, A)] \\ &= \mathbb{E}_{a \sim \pi(s_t)}[Q_{\pi}(s_t, a)] \\ &=\sum_{a} \pi(a_t|s_t) \cdot Q_{\pi}(s_t, a_t) \end{aligned} Vπ(st)=EA[Qπ(st,A)]=Eaπ(st)[Qπ(st,a)]=aπ(atst)Qπ(st,at)

基于价值函数,我们因此最优价值函数的概念。

在这里插入图片描述

  • 最优动作-价值函数(Optimal action-value function) Q ∗ ( s , a ) Q^{*}(s, a) Q(s,a),表示在所有可能的策略 π \pi π下,状态为 s t s_t st时采取动作 a t a_t at,获得的总折扣回报 U t U_t Ut期望的最大值。也就是 Q ∗ ( s t , a t ) = max ⁡    π Q π ( s , a ) Q^{*}(s_t, a_t) = \underset{\pi}{\max \,\,}{Q_{\pi}(s, a)} Q(st,at)=πmaxQπ(s,a)
    最优动作-价值函数(Optimal action-value function)可以直接指导Agent做动作。
  • 最优状态-价值函数(Optimal state-value function) V ∗ ( s ) V^{*}(s) V(s),表示在所有可能的策略 π \pi π下,状态为 s t s_t st时会获得的总折扣回报 U t U_t Ut期望的最大值。也就是 V ∗ ( s ) = max ⁡    π V π ( s ) V^{*}(s) = \underset{\pi}{\max \,\,}{V_{\pi}(s)} V(s)
  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值