强化学习总结(3)———Dueling-DQN

上一篇总结了我对DQN的理解 https://blog.csdn.net/qq_37553152/article/details/90812273

Dueling-DQN是对传统DQN的一种改进算法,它的核心思路是优化神经网络的结构。在传统DQN算法中,根据神经网络的输出确定每个动作Q值,然后选出最优的动作,其神经网络的大概模型如下图。

在Dueling-DQN中,对网络的输出层(图2-5中的红色部分)进行了改进,将其分为了两个部分。如下图所示。

如上图所示,在一般的DQN网络模型中,输入层接三个卷积层后,接两个全连接层,输出为每个动作的Q值。而(第二个模型)竞争网络(dueling net)将卷积层提取的抽象特征先分流到两个支路中。一路代表状态值函数 V(s),表示静态的状态环境本身具有的价值;另一路代表依赖状态的动作优势函数 A(a) (advantage function),表示选择某个Action额外带来的价值。最后这两路再聚合再一起得到每个动作的Q值。这样的话可以更好的适应于不同的环境。

这样可以得到以下的表达式。第一部分仅与状态S有关,与具体要采用的动作A无关,即价值函数部分,第二部分同时与状态S和动作A有关,即优势函数部分。

    

其中,是公共部分的网络参数,beta是价值函数独有部分的网络参数,alpha是优势函数独有部分的网络参数。也就是说,Dueling-DQN网络的输出由价值函数网络的输出和优势函数网络的输出线性组合得到。但是上述公式不能辨识最终输出中V和A各自的作用,为了可以体现这种可辨识性(identifiability),实际使用的组合公式如下。

以上就是我目前对Dueling-DQN的简单总结。

猜你喜欢

转载自blog.csdn.net/qq_37553152/article/details/90812681