Loading [MathJax]/jax/output/CommonHTML/config.js
前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >专栏 >强化学习(十)Double DQN (DDQN)

强化学习(十)Double DQN (DDQN)

作者头像
刘建平Pinard
发布于 2018-10-15 09:09:07
发布于 2018-10-15 09:09:07
3.1K00
代码可运行
举报
运行总次数:0
代码可运行

    在强化学习(九)Deep Q-Learning进阶之Nature DQN中,我们讨论了Nature DQN的算法流程,它通过使用两个相同的神经网络,以解决数据样本和网络训练之前的相关性。但是还是有其他值得优化的点,文本就关注于Nature DQN的一个改进版本: Double DQN算法(以下简称DDQN)。

    本章内容主要参考了ICML 2016的deep RL tutorial和DDQN的论文<Deep Reinforcement Learning with Double Q-learning>。

1. DQN的目标Q值计算问题

    在DDQN之前,基本上所有的目标Q值都是通过贪婪法直接得到的,无论是Q-Learning, DQN(NIPS 2013)还是 Nature DQN,都是如此。比如对于Nature DQN,虽然用了两个Q网络并使用目标Q网络计算Q值,其第j个样本的目标Q值的计算还是贪婪法得到的,计算入下式:$$y_j= \begin{cases} R_j& {is\_end_j\; is \;true}\\ R_j + \gamma\max_{a'}Q'(\phi(S'_j),A'_j,w') & {is\_end_j \;is\; false} \end{cases}$$

    使用max虽然可以快速让Q值向可能的优化目标靠拢,但是很容易过犹不及,导致过度估计(Over Estimation),所谓过度估计就是最终我们得到的算法模型有很大的偏差(bias)。为了解决这个问题, DDQN通过解耦目标Q值动作的选择和目标Q值的计算这两步,来达到消除过度估计的问题。

2. DDQN的算法建模

    DDQN和Nature DQN一样,也有一样的两个Q网络结构。在Nature DQN的基础上,通过解耦目标Q值动作的选择和目标Q值的计算这两步,来消除过度估计的问题。

    在上一节里,Nature DQN对于非终止状态,其目标Q值的计算式子是:$$y_j= R_j + \gamma\max_{a'}Q'(\phi(S'_j),A'_j,w')$$

    在DDQN这里,不再是直接在目标Q网络里面找各个动作中最大Q值,而是先在当前Q网络中先找出最大Q值对应的动作,即$$a^{max}(S'_j, w) = \arg\max_{a'}Q(\phi(S'_j),a,w)$$

    然后利用这个选择出来的动作$a^{max}(S'_j, w) $在目标网络里面去计算目标Q值。即:$$y_j = R_j + \gamma Q'(\phi(S'_j),a^{max}(S'_j, w),w')$$

    综合起来写就是:$$y_j = R_j + \gamma Q'(\phi(S'_j),\arg\max_{a'}Q(\phi(S'_j),a,w),w')$$

    除了目标Q值的计算方式以外,DDQN算法和Nature DQN的算法流程完全相同。

 3. DDQN算法流程

    这里我们总结下DDQN的算法流程,和Nature DQN的区别仅仅在步骤2.f中目标Q值的计算。

    算法输入:迭代轮数$T$,状态特征维度$n$, 动作集$A$, 步长$\alpha$,衰减因子$\gamma$, 探索率$\epsilon$, 当前Q网络$Q$,目标Q网络$Q'$, 批量梯度下降的样本数$m$,目标Q网络参数更新频率$C$。

    输出:所有的状态和动作对应的价值$Q$

    1. 随机初始化所有的状态和动作对应的价值$Q$.  随机初始化当前Q网络的所有参数$w$,初始化目标Q网络$Q'$的参数$w' = w$。清空经验回放的集合$D$。

    2. for i from 1 to T,进行迭代。

      a) 初始化S为当前状态序列的第一个状态, 拿到其特征向量$\phi(S)$

      b) 在Q网络中使用$\phi(S)$作为输入,得到Q网络的所有动作对应的Q值输出。用$\epsilon-$贪婪法在当前Q值输出中选择对应的动作$A$

      c) 在状态$S$执行当前动作$A$,得到新状态$S'$对应的特征向量$\phi(S')和奖励$R$,是否终止状态is_end

      d) 将$\{\phi(S),A,R,\phi(S'),is\_end\}$这个五元组存入经验回放集合$D$

      e) $S=S'$

      f)  从经验回放集合$D$中采样$m$个样本$\{\phi(S_j),A_j,R_j,\phi(S'_j),is\_end_j\}, j=1,2.,,,m$,计算当前目标Q值$y_j$:$$y_j= \begin{cases} R_j& {is\_end_j\; is \;true}\\ R_j + \gamma Q'(\phi(S'_j),\arg\max_{a'}Q(\phi(S'_j),a,w),w')& {is\_end_j\; is \;false} \end{cases}$$

      g)  使用均方差损失函数$\frac{1}{m}\sum\limits_{j=1}^m(y_j-Q(\phi(S_j),A_j,w))^2$,通过神经网络的梯度反向传播来更新Q网络的所有参数$w$

      h) 如果T%C=1,则更新目标Q网络参数$w'=w$

      i) 如果$S'$是终止状态,当前轮迭代完毕,否则转到步骤b)

      注意,上述第二步的f步和g步的Q值计算也都需要通过Q网络计算得到。另外,实际应用中,为了算法较好的收敛,探索率$\epsilon$需要随着迭代的进行而变小。

4. DDQN算法实例 

    下面我们用一个具体的例子来演示DQN的应用。仍然使用了OpenAI Gym中的CartPole-v0游戏来作为我们算法应用。CartPole-v0游戏的介绍参见这里。它比较简单,基本要求就是控制下面的cart移动使连接在上面的pole保持垂直不倒。这个任务只有两个离散动作,要么向左用力,要么向右用力。而state状态就是这个cart的位置和速度, pole的角度和角速度,4维的特征。坚持到200分的奖励则为过关。

    完整的代码参见我的github: https://github.com/ljpzzz/machinelearning/blob/master/reinforcement-learning/ddqn.py

    这里我们重点关注DDQN和上一节的Nature DQN的代码的不同之处。代码只有一个地方不一样,就是计算目标Q值的时候,如下:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
    # Step 2: calculate y
    y_batch = []
    current_Q_batch = self.Q_value.eval(feed_dict={self.state_input: next_state_batch})
    max_action_next = np.argmax(current_Q_batch, axis=1)
    target_Q_batch = self.target_Q_value.eval(feed_dict={self.state_input: next_state_batch})

    for i in range(0,BATCH_SIZE):
      done = minibatch[i][4]
      if done:
        y_batch.append(reward_batch[i])
      else :
        target_Q_value = target_Q_batch[i, max_action_next[i]]
        y_batch.append(reward_batch[i] + GAMMA * target_Q_value)

    而之前的Nature  DQN这里的目标Q值计算是如下这样的:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
 # Step 2: calculate y
    y_batch = []
    Q_value_batch = self.target_Q_value.eval(feed_dict={self.state_input:next_state_batch})
    for i in range(0,BATCH_SIZE):
      done = minibatch[i][4]
      if done:
        y_batch.append(reward_batch[i])
      else :
        y_batch.append(reward_batch[i] + GAMMA * np.max(Q_value_batch[i]))

    除了上面这部分的区别,两个算法的代码完全相同。

5. DDQN小结

    DDQN算法出来以后,取得了比较好的效果,因此得到了比较广泛的应用。不过我们的DQN仍然有其他可以优化的点,如上一篇最后讲到的: 随机采样的方法好吗?按道理经验回放里不同样本的重要性是不一样的,TD误差大的样本重要程度应该高。针对这个问题,我们在下一节的Prioritised Replay DQN中讨论。

(欢迎转载,转载请注明出处。欢迎沟通交流: liujianping-ok@163.com)

本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2018-10-12 ,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

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

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

评论
登录后参与评论
暂无评论
推荐阅读
编辑精选文章
换一批
Uber遭遇围歼:共享经济的片面理解
文|孟永辉 继与滴滴在中国大陆握手言和之后,Uber又与近日宣布将会停止其在中国台湾地区的服务。作为一家全球知名的互联网公司,Uber的做法向来和其创始人克拉尼克的作风一样让人看不懂。此次Uber宣布停止中国台湾地区的服务更是其众多“出其不意”做法的一个主要体现。凌厉的营销逻辑,直击本质的运营策略在为Uber发展带来巨大机会的同时,同样让它付出了沉重的代价。 早在Uber进入中国台湾地区之时,就以比普通出租车低10%-20%的费用和便捷的出行方式迅速占领市场,此举引发了中国台湾地区原有出
孟永辉
2018/05/11
6550
怪兽上市,哈啰、松果被传上市,共享经济又被盘活了?
如果把共享经济比作俄罗斯方块游戏,那么最近“怪兽充电宝上市”,“松果出行被传上市”就像俄罗斯方块中的竖条,再用很多其他形状的方块铺好地基时,只差这一个竖条,就将整个整个游戏盘活了,而他们的上市也再一次将共享经济市场盘活了。
灵猫财经
2021/04/10
3130
共享单车困兽之斗:大数据或成破解之法
文|孟永辉 共享单车用了不到半年的时间便红遍了大江南北,或黄,或橙,或蓝的主题色调让它们成为2016年下半年很多大城市当中一道亮丽的风景线。而或倒在地上,或占道停车的常见现象则让共享单车似乎又成了城市治理当中一个新的难题。 对于究竟是什么造就了共享单车的出现和火爆已经有过很多讨论,今天我们并不做过多地研究,单单从另外一个角度看一下共享单车火爆背后到底有着什么样的逻辑。对于共享单车的未来,我们又能做出怎样的期待才算是合理呢? 共享单车:资本寒冬下另类的亮丽风景 共享单车的萌芽及发展是整个资本寒冬下一道亮丽的
孟永辉
2018/05/11
6270
共享单车异军突起,基于共享经济的众筹新方向在哪?
谷歌、Facebook、苹果等国外互联网巨头纷纷将目光瞄准以智能驾驶、虚拟现实、智能汽车为代表的领域昭示着新一轮科技革命的开始。而在国内以BAT为代表的互联网巨头同样开始尾随其后,调整未来的发展方向。发端于新技术的全新思维正在国内外的互联网圈不断蔓延,这是一种必然的宿命。 “互联网+”时代的落幕让人们开始寻找新的发展方向和利润增长点,而这些科技巨头率先垂范无疑为人们提供了一个绝佳的实验范本。勇于做第一个吃螃蟹的人总是会有不断试错的时间和空间,而一旦行业内形成气候想要介入将会是难上加难。科技巨头尝到了这种甜
孟永辉
2018/05/11
5440
缺少新套路的共享单车到底要走向何方?
文|孟永辉 共享单车始终是现阶段互联网界一个始终都逃脱不了的话题。尽管共享单车轮番获得资本的青睐,用户对于共享单车的认可程度也在不断增加,但是共享单车并不被看好的声音始终都在互联网圈里不断出现,甚至还有人对共享单车提出了质疑的声音。知名投资人王功权就直言不讳地指出,共享单车的进入门槛不高,地域性强,模式易于模仿等缺点,最终让共享单车将会陷入到一种非常危险的境地之中。 的确,除了融资速度快,规模大之外,共享单车在其他方面的表现似乎并不能让人眼前一亮。因为无论从哪个角度来看,共享单车都始终是一个“老东西”。之
孟永辉
2018/05/11
5752
一半海水一半火焰,共享单车到底怎么了?
文|孟永辉 据媒体报道,共享单车平台ofo于3月1日宣布获得D轮融资,共计4.5亿美元。此轮融资由DST领投,滴滴、中信产业基金等多家知名国内外机构跟投。根据ofo方面透露,经过此轮融资之后,ofo已经成为行业内部估值最高的独角兽公司。 同ofo获得融资的风光不同,有关共享单车的负面报道依然在出现。共享单车集体被锁停车场、共享单车被损坏、共享单车被焚烧……这让人们对于共享单车的未来走向同样充满了担忧。原本希望能够给人们带来便利的共享单车缘何会受到破坏,共享单车的未来到底会是怎样呢? 共享单车火热与冷静的两
孟永辉
2018/05/11
5100
共享租车的理想、现实和未来
最近几个月大量融资新闻来自于共享经济领域,创业者们正在绞尽脑汁将一切物品、资源和服务通过互联网共享给他人。共享经济在硅谷产生了AirBnb和Uber两家现象级公司,在中国产生了百亿美元级公司滴滴快的,围绕汽车的共享除了Uber为代表的车位共享之外,还有一类则是整车共享模式的P2P租车,该领域的凹凸租车和PP租车分别拿到了经纬和IDG两家知名投资机构领投的融资,正在成为下一个巨头标的。 不持有的用车方式 共享租车平台解决用户只租车不租司机的“干租”需求。资源一侧接入了拥有多余车辆或者车辆某个时段闲置的车主,需
罗超频道
2018/04/28
6530
共享单车大败局:资本神话破灭始末
武汉市洪山区几栋排列齐整的高层居民楼旁,上万辆共享单车混乱地堆放着,一座小小的中式凉亭被尴尬地淹没在橙、黄、蓝、灰的单车海洋中。
亲民创业网
2018/12/25
3820
处于舆论场中央,共享单车如何才能破冰?
文|孟永辉 共享单车的倒闭潮并没有延缓人们对于它的怀疑与猜忌,有关合并,有关押金,有关活跃度等话题都在影响甚至改变着人们对于共享单车的原有认知。从小型的中下游平台到大型的头部平台,共享单车正在经历着一场自下而上的舆论洗礼和市场考验。共享单车到底是不是伪命题?如果不是,共享单车又要向何处去?这些问题正在成为当下共享单车市场亟待回答的主要问题。 从本质上看,共享单车的发展是一场由资本主导的大戏,它代表了移动互联网时代资本与行业共有的焦虑。而互联网巨头的加入则让共享单车行业的竞争上升到了更大的层面,对于共享单车的
孟永辉
2018/05/15
4810
区块链与共享经济
共享经济的本质——整合线下的闲散物品或服务者,让他们以较低的价格提供产品或服务。对于供给方来说,通过在特定时间内让渡物品的使用权或提供服务,来获得一定的金钱回报;对需求方而言,不直接拥有物品的所有权,而是通过租、借等共享的方式使用物品。
广州闪链科技
2018/10/17
7.5K0
区块链与共享经济
生鲜电商,说“死”并不新“鲜”
正如支付宝期望通过各种方式进入社交一样,互联网下半场企业之间的竞争更加隐蔽。生鲜电商也是如此。融资、烧钱、关门贯穿生鲜电商发展始终,强劲、平静、死亡是生鲜电商创业的主流“姿势”。这个姿势从本质上来讲并没有错,错误的在于在没有认识到生鲜电商本质的情况下就盲目发力,造成了资金、市场资源等诸多方面的浪费。 尽管生鲜电商走出了一条典型的互联网创业道路,但是依然会有独特的色彩。这种色彩背后除了与生鲜电商本身的特点之外,还与互联网本身的气候有着莫大的联系。 产品的独特性让生鲜电商具有独特的一面。同其他电商的品类相比,
孟永辉
2018/05/11
8670
关于国家战略规划“分享经济”的信任保障问题研究
腾讯研究院研究员 孙怡 引言   分享经济(Sharing Economy)也称为 “协同消费”,即公众通过社会化网络平台连接起来,以分享闲置资源的方式完成消费。这是一种互联网背景下的新经济形态,供需双方借助于中间平台进行资源的分享,一方面无缝的满足需方,另一方面提高供方闲置资源的利用率,带来福利和效率的提升。据普华永道调研显示,全球“分享经济”市场约为150亿美元,到2025年这一市场规模将增加至3350亿美元规模。   从分享经济的发展历程上看,其最早出现于1978年《美国行为科学家》杂志上,
腾讯研究院
2018/03/06
9690
关于国家战略规划“分享经济”的信任保障问题研究
大举扩张的Airbnb,或将重走Uber老路
Airbnb,可以说是全球共享经济的标杆企业,从今年8月高调进军中国市场以来,其扩张的步伐就从未停止过: 10月,与重庆、深圳、上海、广州4座城市签订了战略合作备忘录,同时还与中国旅游研究院签署战略合作备忘录; 11月,宣布成立Airbnb中国、推出新业务平台“Trips; 除此之外还有整个中国管理团队大换血、传闻收购小猪短租等等。 目前,Airbnb的估值已经达到了300亿美元。截至去年,Airbnb已经在190个国家、近34000个城市拥有了200多万个房源。特别是在上海的房源,短短的一年时间内翻了一番
镁客网
2018/05/28
3950
漩涡之下,共享单车如何才能成为“弄潮儿”?
文|孟永辉 共享单车的底牌越来越明显,继传出摩拜和ofo即将合并的传闻之后,又有投资人表示共享单车不能靠投资来维持,必须实现自我盈利。在经历了将近一年的发展之后,共享单车作为一种后“互联网+”时代的商业模式开始逐步进入到调整期。 不断有共享单车平台关门倒闭,不断有用户反馈押金无法及时退还,共享单车遭遇到的是越来越多的质疑和诟病。在整个行业的发展逐步进入到新技术阶段的当下,共享单车的发展模式似乎已经不再具有新颖性,资本和市场对于共享单车的耐心变得越来越少。 共享单车在刚刚出现的时候,之所以能够受到诸多资本巨头
孟永辉
2018/05/15
6070
共享充电宝并非共享,资源再配置才是关键
文|孟永辉 共享经济无疑是这个春天非常火爆的一个词汇。资本助推下的共享单车已经成为各大城市春光里一道亮丽的风景线,而共享充电宝的出现则让共享经济又火了一把。其实,共享经济从一开始就是一个非常吸引人的词汇,无论是从国外还是国内,我们都能找到很多共享经济方面的成功案例。从Uber到Airbnb,从摩拜单车到OFO……这些和共享经济都能扯上关系的公司似乎都是市场中非常惹人注目的部分,而他们的发展同样也印证着共享经济本身旺盛的生命力。 共享充电宝的出现让共享经济的大家族里又多了一个新成员,同人们对共享经济中其他门
孟永辉
2018/05/11
7610
洞察|深挖大数据“钻石矿” 共享经济成资本追逐热点
2016年,《政府工作报告》中首次引入了共享经济概念,李克强总理亦将共享经济列为深挖大数据“钻石矿”的一大利器。 目前,共享经济模式正在悄然改变我们的生活。Uber和滴滴改变了出行,Airbnb和途家则改变了住宿,而最近兴起的分答则改变了人们的知识分享方式。 专家认为,共享经济代表着未来消费,而这无疑是投资的最佳风口。数据显示,截至2015年末,在中国估值超过10亿元的分享经济相关企业已超过30家,累计估值金额超过700亿元。 不管是创业者还是投资方,都普遍看好其行业发展前景,将共享经济视为下一个十年的商
灯塔大数据
2018/04/09
9010
共享单车问题频出,洗牌期或将提前来临
文|孟永辉 共享单车的兴起是资本寒冬下的一个特例。作为共享经济的一种,共享单车从以开始出现就不被人看好,甚至有人断言共享单车的生存时间将会非常短暂。尽管如此,共享单车依然在非常短的时间内就获得了飞速发展,以摩拜单车、ofo为代表的共享单车平台不断获得融资正是这种飞速发展最为集中的体现。 继共享单车所带来的城市管理问题以及用户滥用共享单车造成的诸多问题之后,近日,ofo又被爆出出现了退款困难的情况。有媒体报道称,用户在退还共享单车的押金时遭遇到很多的不顺利,他曾经通过邮件、客服电话等方式联系ofo,但是退还
孟永辉
2018/05/11
5350
论云计算与共享经济理念
最近一段时间里,科技界里最火的应该是共享单车了。从2016年底以来,共享单车在国内突然就火爆了起来。仿佛在一夜之间,各大城市路边就排满了各种颜色的共享单车。摩拜单车、ofo小黄车、小鸣单车、优拜单车、野兽骑行等数十家创业型公司扑入到共享单车里面,背后是各种资本之间的较量。其实,共享单车来源于共享经济的概念,所谓共享经济是指拥有闲置资源的机构或个人有偿让渡资源使用权给他人,让渡者获取回报,分享者利用分享他人的闲置资源创造价值。共享经济在网络生活中非常普遍,从文字、图片到视频、软件,共享行为无处不在,形成了
静一
2018/03/27
2.1K0
论云计算与共享经济理念
小电没「电」了
继连续冲击IPO未果之后,小电再度传出了裁员2000人的消息。曾经风靡一时的共享充电宝,再一次走在了崩溃的边缘。从诞生的第一天开始,共享充电宝就备受争议。即使是在被资本追捧的年代里,依然有人表达过对于共享充电宝的质疑。比如,「国民老公」王思聪就曾经说过,共享充电宝要是能成,我就吃翔。当前,共享充电宝行业正在遭遇的这场寒冬,似乎正在印证着王思聪对于它的看法。
孟永辉
2022/03/28
2880
小电没「电」了
你所理解的分享经济,是否是我所感知的分享经济?
引爆市场的分享经济正逐步变成包罗万象的经济形态,对其界定百家争鸣,尚无定论 孙怡  腾讯研究院高级研究员 任帅涛 腾讯研究院助理研究员 随着Uber、滴滴、Airbnb等分享型经济企业在市场上走红,出行拼车、房屋共享、技能分享已经成为年轻人最热衷的生活方式。不仅如此,更多的分享经济领域横空出世,公安部和交通运输部近日公布《关于推进机动车驾驶人培训考试制度改革的意见》,将在2016年启动“自学直考”的改革,意味着自由教练,自由场地和自由教练车的分享经济型驾校将成为下一场盛宴。而在刚刚结束的中央经
腾讯研究院
2018/03/06
9330
推荐阅读
相关推荐
Uber遭遇围歼:共享经济的片面理解
更多 >
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档
本文部分代码块支持一键运行,欢迎体验
本文部分代码块支持一键运行,欢迎体验