前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >DQN系列(1):Double Q-learning

DQN系列(1):Double Q-learning

作者头像
深度强化学习实验室
发布2020-01-14 18:10:05
2K0
发布2020-01-14 18:10:05
举报

深度强化学习实验室报道

作者:DeepRL

论文地址: https://papers.nips.cc/paper/3964-double-q-learning.pdf

本论文由DeepMind发表于2015年NIPS的一篇论文,作者Hasselt。

前言: Q-Learning算法由于受到大规模的动作值过估计(overestimation)而出现不稳定和效果不佳等现象的存在,而导致overestimation的主要原因来自于最大化值函数(max)逼近,该过程目标是为了最大的累计期望奖励,而在这个过程中产生了正向偏差。而本文章作者巧妙的是使用了两个估计器(double estimator)去计算Q-learning的值函数,作者将这种方法定义了一个名字叫“Double Q-learning”(本质上一个off-policy算法),并对其收敛过程进行了证明(缺点:当然double Q-learning算法有时会低估动作值,但不会像Q学习那样遭受过高估计)

1. 问题及原因

"过估计" (overestimate) 过估计是指对一系列数先求最大值再求平均,通常比先求平均再求最大值要大(或相等,数学表达为:

一般来说Q-learning方法导致overestimation的原因归结于其更新过程,其表达为:

其中的 表示为最大化action-value, 而更新最优化过程如下:

对于任意的 来说,最优值函数 的更新依赖于 , 从公式中可以看出,我们把N个Q值先通过取max操作之后,然后求平均(期望),会比我们先算出N个Q值取了期望之后再max要大。这就是overestimate的原因。

注: 一般用于加速Q-learning算法的方法有:Delayed Q-learning, Phased Q-learning, Fitted Q-iteration等

2. Estimator原理与思想

通常情况下对于一个集合中的变量 来说,奖励的最大化累计期望表示为:

那么在实际的过程中,对于每个 ,我们定义 为采样,其中的 表示为对于所有采样的一个子集,假设 满足独立同分布情况, 那么期望值的“无偏估计”可以通过计算每个变量的样本平均值来获得,其计算方法如下:

注: 是 的估计器

这个过程是一个无偏估计,因为每一个采样 是一个对 的无偏估计,因此,近似中的误差仅由估计中的 “方差“ 组成,当我们获得更多样本时会减小。

为了后面方便理解,这里我们定义两个函数:“概率密度函数”(Probability Density Function, PDF)和“累积分布函数”(Cumulative Distribution Function, CDF),概率密度函数表示个 ,则累积分布函数表示为: ,同样的道理,对于PDF和CDF来说估计器分别表示为和。

补充1. 概率密度函数, 其实就是给定一个值, 判断这个值在该正态分布中所在的位置后, 获得其他数据高于该值或低于该值的比例,其中的曲线就是概率密度函数(PDF),通常情况下pdf的曲线下面积(AUC)总和为1,且曲线末端不会接触到x轴(换句话说, 我们不可能100%的确定某件事)。

2. 累积分布函数累积分布函数 (CDF) 计算给定 x 值的累积概率。可使用 CDF 确定取自总体的随机观测值将小于或等于特定值的概率。还可以使用此信息来确定观测值将大于特定值或介于两个值之间的概率。

例如,罐装苏打水的填充重量服从正态分布,且均值为 12 盎司,标准差为 0.25 盎司。概率密度函数 (PDF) 描述了填充重量的可能值的可能性。CDF 提供每个 x 值的累积概率。此处参考PDF-CDF指导

(1)单估计器方法(Single Estimator)

所谓的单估计就是使用一组估计量的最大值作为近似值,

即近似的最好的方式就是最大化估计器,表示为:

表示为估计器,而此处对于最大的估计器来说,它是依赖于 的,若要求取PDF,首先需要考虑CDF,但它的概率分布中最大的估计器小于等于,这等同于所有的估计均小于等于,数学表示为:

那么是对的无偏估计,详细表示为:

(2)双估计器方法(Double Estimator)

对每个变量使用两个估计器,并将估计器的选择与其值解耦。

问题:单一估计器方法导致过高估计可能会对使用此方法的算法(例如Q学习)产生很大的负面影响。为了解决这个问题,double estimator方法用来解决过高估计。

那么对于原来的 来说,此处我们需要定义两个估计器:和,他们分别表示为:,,然后两个估计器都使用采样的样本子集来更新,其规则表示为:

那么像单估计器一样,如果我们假设样本以适当的方式(例如随机地)分布在两组估计器上,则和也都是无偏的。设 为 中最大估计值集合,由于是一个独立的无偏估计值,那么 对于任何都成立,包括

此处有疑问,为什么包括??

设 是最大化 的估计器,表示为:,如果存在多个最大化的 是最大化估计量,我们可以例如随机选择一个,然后我们可以将用作的估计值,那么对于可以近似为:

随着我们获得更多的样本,估计量的方差减小,在极限情况下,

具体证明过程部分如下:

3. Double Q-learning算法

我们可以解释为 Q-learning学习其实使用单估计器(single estimate)去估计下一个状态:那么是 的一个估计,一般的,将期望理解为对同一实验的所有可能运行的平均,而不是(通常在强化学习环境中使用)对下一个状态的期望,根据原理部分,Double Q-learning将使用两个函数 和(对应两个估计器),并且每个函数都会使用另一个函数的值更新下一个状态。两个函数都必须从不同的经验集中学习,这一点很重要,但是要选择要执行的动作可以同时使用两个值函数。 因此,该算法的数据效率不低于Q学习。 在实验中作者为每个动作计算了两个Q值的平均值,然后对所得的平均Q值进行了贪婪探索。算法伪代码如下

为了区分Double Q-learning算法和Q-learning的区别,本文同样Q-learning算法伪代码贴出来了。

对比:此处对于Q-learning算法和double Q-learning 算法来说,double使用了B网络来更新A网络,同样的道理对于B网络则使用A网络的值来更新。

4. 实验过程于结果

在这里插入图片描述

5. 附录:收敛性证明过程

对于Double Q-learning收敛性的证明过程如下:

原文博客地址:

https://blog.csdn.net/gsww404/article/details/103413124

本文参与 腾讯云自媒体分享计划,分享自微信公众号。
原始发表:2019-12-24,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 深度强化学习实验室 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 1. 问题及原因
  • 2. Estimator原理与思想
    • (1)单估计器方法(Single Estimator)
      • (2)双估计器方法(Double Estimator)
      • 3. Double Q-learning算法
      • 4. 实验过程于结果
      • 5. 附录:收敛性证明过程
      领券
      问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档