Dueling DQN 值函数和优势函数

时间:2024-03-15 08:15:51

定义advantage,动作的优势程度函数
将Q网络分成两个通道,一个输出V,一个输出A,最后再合起来得到Q
Q(s,a) = 状态的所有动作Q期望 + action-value的优势程度(思考优势程度的定义)
Q(s,a) = A(s,a) + V(s)
1.值函数V(s)
定义: 状态s下所有动作价值的期望(矩阵size=1)
2.优势函数A(s,a)
避免两个支路直接学习到V(s)=0或者A(s,a)=0的情况===>

优势函数(Advantage Function)

定义优势函数

Dueling DQN 值函数和优势函数

 

注意有 Dueling DQN 值函数和优势函数

值函数V 评估状态 S的好坏,动作值a评估在状态S下采取动作a的好坏,而优势函数A评估的则是在状态S采取各动作相对于平均回报的好坏,也就是采取这个动作的优势。

 

Dueling DQN有什么优点

Dueling DQN可以学到每个状态的V值,而不需要考虑在该状态采取什么样的动作。我们可以想想普通的DQN,它只能学到在某个状态下采取某个动作的Q值。当在某些状态下采取什么动作对最终回报没有什么影响时,Dueling DQN这种结构就非常有优势。

为了说明这一点,我们先看下面这张图

Dueling DQN 值函数和优势函数

图中显示我们的V值网络尤其关注远处地平线,也就是新的小车出现的地方,也很关注当前所获得的分数。相比之下,优势函数网络在不需要采取什么动作时,对图像输入并没有什么重点关注的地方(图右上角),而当有小车离得很近时,才会对“警觉”起来(图右下角)。