Double DQN

简介

Double DQN的出现,是为了解决DQN和Q-Learning等学习算法中的过高估计。

论文参考这里

代码参考这里(by莫烦大神)

思想

传统DQN学习过程如下:过高估计存在于对Q(s',a')的预测。传统的思想是用一个evaluate网络来计算Q(s,a),再用一个target网络来直接计算Q(s',a'),从而求出最大值。(你想啊,s'就不服了,凭什么我不能用evaluate网络计算呢?,这就诞生了下面的double dqn)。

natural_dqn

Double dqn说:在计算Q(s',a')的时候,将s'输入evaluate网络,得到Q(s',a'),然后选出来最大的那个a'' = argmaxQ(s',a''),再将s'输入target网络计算得到Q(s',a''),将Q(s',a'')用来当作label进行更新。(如果你对dqn熟悉的话,相信你最多读上两遍这段话,就知道double dqn的做法了)。

double_dqn

结果

当然就是一定程度减小了过高估计,代码运行结果如下:

result
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • Q-Learning,学习Action对应期望值(Expected Utility)。1989年,Watkins提...
    利炳根阅读 5,139评论 1 0
  • 背景 一年多以前我在知乎上答了有关LeetCode的问题, 分享了一些自己做题目的经验。 张土汪:刷leetcod...
    土汪阅读 14,354评论 0 33
  • 时间过得飞快,五月剩下一半,再一个半月学生时代就结束了。然而,在跨过最后一道坎之前,一切缅怀都为时尚早。接下来的答...
    蔓越梅小丸子阅读 1,252评论 0 0
  • 你說時間太會變魔術 你說你不在的時候每樣東西都是你唯獨人類不是 你說快被時間的洪流沖散了 你說因為和你一起的時候時...
    Hero啾啾啾阅读 1,418评论 0 1
  • 你能看到自己心的模样吗?或许有人会说了,心哪里有模样啊,有模样的地方是脸,我能看想到脸部的模样。 没错,许多人说的...
    喜水阅读 3,150评论 0 0

友情链接更多精彩内容