其他分享
首页 > 其他分享> > 强化学习-学习笔记12 | Dueling Network

强化学习-学习笔记12 | Dueling Network

作者:互联网

这是价值学习高级技巧第三篇,前两篇主要是针对 TD 算法的改进,而Dueling Network 对 DQN 的结构进行改进,能够大幅度改进DQN的效果。

Dueling Network 的应用范围不限于 DQN,本文只介绍其在 DQN上的应用。

12. Dueling Network

12.1 优势函数

Advantage Function.

回顾一些基础概念:

  1. 折扣回报:

    \(U_t = R_t + \gamma \cdot R_{t+1} + \gamma^2R+...\)

  2. 动作价值函数:

    \(Q_\pi(s_t,a_t)=\mathbb{E}[U_t|S_t=s_t,A_t=a_t]\)

    消去了未来的状态 和 动作,只依赖于当前动作和状态,以及策略函数 \(\pi\)。

  3. 状态价值函数:

    \(V_\pi(s_t)=\mathbb{E}[Q_\pi(s_t,A)]\)

    只跟策略函数 \(\pi\) 和当前状态 \(s_t\) 有关。

  4. 最优动作价值函数

    \(Q^*(s,a)=\mathop{max}\limits_{\pi}Q_\pi(s,a)\)

    只依赖于 s,a,不依赖策略函数。

  5. 最优状态价值函数

    \(V^*(s)=\mathop{max}\limits_{a}V_\pi(S)\)

    只依赖 S。

下面就是这次的主角之一:

下面介绍一个优势函数有关的定理:

定理一:\(V^*(s)=\mathop{max}\limits_a Q^*(s,a)\)

这一点从上面的回顾不难看出,求得最优的路径不同,但是相等。

上面提到了优势函数的定义:\(A^*(s,a)=Q^*(s,a)-V^*(s)\)

同时对左右求最大值:\(\mathop{max}\limits_{a}A^*(s,a)=\mathop{max} \limits_{a}Q^*(s,a)-V^*(s)\),而等式右侧正是上面定理,所以右侧==0;因此优势函数关于a的最大值=0,即:

\(\mathop{max}\limits_{a}A^*(s,a)=0\)

我们把这个 0 值式子加到定义上,进行简单变形:

定理二:\(Q^*(s,a)=V^*(s)+A^*(s,a)-\mathop{max}\limits_{a}A^*(s,a)\)

Dueling Network 就是由定理二得到的。

12.2 Dueling Network 原理

此前 DQN 用\(Q(s,a;w)\) 来近似 \(D^*(s,a)\) ,结构如下:

img

而 Dueling Network 对 DQN 的结构改进原理是:

image

注意这里的输出是一个实数,是对状态的打分,而非向量;

image

这个网络和上面的网络 \(V\) 结构有一定的相像,可以共享卷积层的参数;

后续为了方便,令 \(w=(w^A,w^V)\),即:

\[Q(s,a;w)=V(s;w^V)+A(s,a;w^A)-\mathop{max}\limits_{a}A(s,a;w^A) \]

现在 左侧 与 DQN 的表示就一致了。下面搭建Dueling Network,就是上面 V 和 A 的拼接与计算:

image

可见Dueling Network 的输入 和 输出 和 DQN 完全一样,功能也完全一样;但是内部的结构不同,Dueling Network 的结构更好,所以表现要比 DQN好;

注意,Dueling Network 和 DQN 都是对 最优动作价值函数 的近似。

12.3 训练 Dueling Network

接下来训练参数 \(w=(w^A,w^v)\),采用与 DQN 相同的思路,也就是采用 TD算法训练 Dueling Network。

之前介绍的 TD算法 的三种优化方法:

  1. 经验回放 / 优先经验回放
  2. Double DQN
  3. M-step TD target

都可以用在 训练 Dueling Network 上。

12.4 数学原理与不唯一性

之前推导 Dueling Network 原理的时候,有如下两个式子:

我们为什么一定要用等式 2 而不是等式 1 呢?也就是为什么要加上一个 值为 0 的 \(\mathop{max}\limits_{a}A^*(s,a)\)?

在上面的数学推导中,我们使用的是 \(\max \limits_{a}A(s,a;w^A)\)来近似最大项\(\max\limits_{a}A(s,a)\),而在实际应用中,用 \(\mathop{mean}\limits_{a}A(S,a;w^A)\)来近似效果更好;这种替换没有理论依据,但是实际效果好。

x. 参考教程

标签:12,Network,limits,max,mathop,DQN,Dueling
来源: https://www.cnblogs.com/Roboduster/p/16460740.html