目录
1. 引言
我们之前学习了许多DQN的优化技巧,现在我们再来看看一种有趣的DQN的优化:Dueling network
2. 数学推导
2.1 最优价值函数
我们之前已经学过了最优价值函数 ,这里的
是动作价值函数,最优指的是对策略
求最优。
2.2 最优状态函数
类比于最优价值函数,我们给出最优状态函数的定义,我们对状态函数 也关于
求最优便得到
,它可以衡量当前局势的好坏。
2.3 优势函数
我们定义优势函数 ,下面给出两个引理及其证明
通过移项和添项我们得到:
这给我们提供了一种新的DQN的构建方式,下面具体介绍用这个基于这个公式的神经网络Dueling network的具体结构。
3. 网络结构
3.1 优势网络
我们用网络来近似
,它输入当前状态,输出一个动作得分向量。注意优势网络输出的是一个向量
3.2 状态网络
我们用网络 来近似
,它输入当前状态,输出一个对当前局势的打分。注意状态网络输出的是一个实数而非向量。
3.3 新的DQN
我们用
来近似 ,它输入的是当前状态,输出由三部分组成:一个向量、一个实数、向量中最大得到分量(实数) 。输出也是一个向量,其中向量加上实数就是将向量的每一个分量都加上这个实数。
现在出现一个问题:我们为什么要在网络中加入 这一项呢?我们先考虑
,很容易知道
这个分解不唯一,这说明
和
这两个网络会不稳定,它们只需要分别加减某个常数即可保持
不发生改变,我们希望得到的两个网络是唯一的,于是我们引入
,网络
的变化也会使它变化,比如说
变大10,那么
中最大分量也会变大10,两者相减这个变化就被抵消了,那么
也就不发生改变了,保证了两个网络的稳定性。但是在实际应用中实践证明 使用
而不是
效果会更好。