首页 理论教育 DuelingDQN算法的优化探究

DuelingDQN算法的优化探究

时间:2023-06-30 理论教育 版权反馈
【摘要】:在众多DQN变种中,有一种叫作“Dueling DQN”的模型。该模型是在2016年发表的论文Dueling Network Architectures for Deep Reinforcement Learning中被提出的,它也是DeepMind的大作之一。“Dueling”的英文意思是“使某人参加决斗”。Dueling DQN的结构比较有趣,是一个中间分叉的结构。DQN和Dueling DQN的结构对比,其中每个白色的立方体都代表一层,如下图所示。如图所示的Dueling DQN与DQN相比,只做了很少的修改。那么,这个结构所表示的含义和原来的DQN究竟有什么不同?

DuelingDQN算法的优化探究

在众多DQN变种中,有一种叫作“Dueling DQN”的模型。该模型是在2016年发表的论文Dueling Network Architectures for Deep Reinforcement Learning中被提出的,它也是DeepMind的大作之一。“Dueling”的英文意思是“使某人参加决斗”。在这篇论文的摘要中有这么一句:“Our dueling network represents two separate estimators:one for the state value function and one for the state-dependent action advantage function.”意为“该Dueling网络的形式为,提供两个分离的估值函数,一个是状态估值函数,另一个是独立于状态的动作优势估值函数。”这就是它的本意。

Dueling DQN的结构比较有趣,是一个中间分叉的结构。DQN和Dueling DQN的结构对比,其中每个白色的立方体都代表一层,如下图所示。

DQN和Dueling DQN的结构对比

在如图所示的DQN中,最后一层中有一长一短两个条状向量。这两个条状向量将前面三个卷积层输出的内容“拉直”了,其中短一些的向量表示最终输出的Action。这两层之间使用全连接网络。

如图所示的Dueling DQN与DQN相比,只做了很少的修改。被“立直”的条状向量出现了两个分支。上面的分支映射到一个叫作Vπ(s)的输出,这就是状态估值函数,用“白话”说,就是估算一个状态本身有多少价值。下面的分支映射到Aπ(s,a),这就是所谓独立于状态的动作优势估值函数。从形式上看,这也是在计算一个状态s下的a的估值。那么,这个结构所表示的含义和原来的DQN究竟有什么不同?假设有这样一个前提:(www.xing528.com)

也就是说,一个完整的估值函数Qπ(s,a),实际上是由两部分组成的,一部分是由状态s下的动作质量a贡献的,另一部分是由状态s本身的价值决定的,两部分直接线性叠加,构成了Qπ(s,a)。对这个公式做简单的移项,就能得到

网络相当于对这样一个假设直接进行了相应的实现。最后一层就是两个值直接相加得到的输出Qπ(s,a)。这种包含两个分支的网络,前面的网络是共享的,后面的网络则各有各的待定系数。

这两个分支网络真的能分别学到自己应该学到的东西吗?答案是肯定的。例如:当前的情况非常好,不管做什么动作,都能在游戏中“活”得很好;当前的情况非常糟糕,不管做什么动作,都会“死”在游戏中。在传统的DQN模型中,在这两种情况下,s通过特征提取产生的特征肯定是一样的,最后一层的Q(s,a)的输出动作a则完全不同,而Q的估值是一样的。

免责声明:以上内容源自网络,版权归原作者所有,如有侵犯您的原创版权请告知,我们将尽快删除相关内容。

我要反馈