深度强化学习-Dueling DQN算法原理与代码

Dueling Deep Q Network(Dueling DQN)是对DQN算法的改进,有效提升了算法的性能。如果对DQN算法还不太了解的话,可以参考我的这篇博文:深度强化学习-DQN算法原理与代码,里面详细讲述了DQN算法的原理和代码实现。本文就带领大家了解一下Dueling DQN算法,论文链接见下方。

论文:http://proceedings.mlr.press/v48/wangf16.pdf

代码:https://github.com/indigoLovee/Dueling_DQN

喜欢的话可以点个star呢。

1 Dueling DQN算法简介

Dueling DQN算法提出了一种新的神经网络结构——对偶网络(duel network)。网络的输入与DQN和DDQN算法的输入一样,均为状态信息,但是输出却有所不同。Dueling DQN算法的输出包括两个分支,分别是该状态的状态价值V(标量)和每个动作的优势值A(与动作空间同维度的向量)。DQN和DDQN算法的输出只有一个分支,为该状态下每个动作的动作价值(与动作空间同维度的向量)。具体的网络结构如下图所示:

单分支网络结构(DQN和DDQN)

 对偶网络结构(Dueling DQN)

在DQN算法的网络结构中,输入为一张或多张照片,利用卷积网络提取图像特征,之后经过全连接层输出每个动作的动作价值;在Dueling DQN算法的网络结构中,输入同样为一张或多张照片,然后利用卷积网络提取图像特征获取特征向量,输出时会经过两个全连接层分支,分别对应状态价值和优势值,最后将状态价值和优势值相加即可得到每个动作的动作价值(即绿色连线操作)。

为什么要采用对偶网络结构?

其实动机很简单:很多游戏的Q值,只受当前状态影响,无论采取什么动作区别不大。如下图所示:

 这是Atari game中的一个赛车游戏,Value表示状态价值,Advantage表示动作优势值,图中黄色部分表示注意力。当前方没有车辆时,智能体左右移动并没有影响,说明动作对Q值没有影响,但是状态对Q值很有影响。从上面两幅图可以看出,Value更加关注远方道路,因为开的越远,对应的状态值越大;Advantage没有特别注意的地方,说明动作没有影响。当前方存在车辆阻挡时,智能体的动作选择至关重要,说明动作对Q值存在影响,同样状态对Q值也会存在影响。从下面两幅图可以看出,Value同样更加关注远方道路,但是Advantge此时会关注前方车辆,因为如果不采取相应动作,智能体很有可能会发生碰撞,分数就会很低。对偶网络思想符合很多场景的设定。

2 Dueling DQN算法原理

2.1 优势函数(Advantage function)

在讲优势函数之前,我们先来回顾一些基本概念吧。

折扣回报(Discounted return):

U_{t}=R_{t}+\gamma R_{t+1}+\gamma ^{2}R_{t+1}+\gamma ^{3}R_{t+3}+\cdots

U_{t} 表示从t时刻开始,未来所有奖励的加权求和。在t时刻,U_{t}是未知的,它依赖于未来所有状态和动作。

动作价值函数(Action-value function):

Q_{\pi }(s_{t},a_{t})=E\left [ U_{t}\mid S_{t}=s_{t},A_{t}=a_{t} \right ]

 Q_{\pi }(s_{t},a_{t})是回报U_{t}的条件期望,将t+1时刻以后的状态和动作全部消掉。Q_{\pi }(s_{t},a_{t})依赖于状态s_{t}、动作a_{t}以及策略\pi

状态价值函数(State-value function):

V_{\pi }(s_{t})=E\left [ Q_{\pi }(s_{t},A) \right ]

V_{\pi }(s_{t})Q_{\pi }(s_{t},a_{t})的期望,将Q_{\pi }(s_{t},a_{t})中的动作a_{t}消掉。V_{\pi }(s_{t})依赖于状态s_{t}  和策略\pi

最优动作价值函数(Optimal action-value function):

Q^{\ast }(s,a)=max_{\pi }Q_{\pi }(s,a)

 动作价值函数Q_{\pi }(s_{t},a_{t})依赖于策略

评论 15
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值