DQN发展历程(一)

DQN发展历程(二)

DQN发展历程(三)

DQN发展历程(四)

DQN发展历程(五)

值函数的近似

  • 当状态-动作数目太多时,使用表格存储所有的状态-动作会造成维度灾难,无法求解大规模问题。
  • 可以采用一个函数来近似这个这个表格,输入状态-动作,输出对应的状态值。
  • 可以使用神经网络来充当这个近似函数。

DQN

  • 使用来一个神经网络来作为近似函数求解状态值。
  • 每一步都更新这个神经网络,由于每步之间的输入数据是相关的,无法满足神经网络输入数据独立同分布的要求。
  • 由此,使用一个经验池来存储更新过的(S,A,R),隔一段时间随机从这个经验池中抽取一个batch的(S,A,R)来修正神经网络的权值,以打乱数据之间的相关性。

Nature DQN

  • 在此之前,训练时,计算状态值使用的是这个神经网络估计,而更新神经网络也使用同一个神经网络来估计状态值,容易造成过拟合,不利于算法的收敛。
  • 于是,使用两个神经网络,一个用于策略的选择,一个用于状态值的更新。用于策略选择的神经网络,隔一段时间和另一个神经网络同步一次。通过异步更新加速算法的收敛。

DDQN

  • 在DQN中,每次更新状态值都使用贪婪法选取最大的状态值来更新,每次都选择最大,容易造成过度估计。
  • DDQN在选择动作时分为两步,先在当前在选择动作的Q网络找到最大Q值对应的动作a,再把a代入计算Q值的网络中获得Q值。

Prioritized Replay DQN

  • DQN在经验池中随机选取batch更新神经网络,但是batch中每个(S,A,R)对神经网络的作用是不同的。通过对每个(S,A,R)做优先级排序,优先使用更新神经网络误差大的数据项,达到加速收敛的目的。

Dueling DQN

  • 而 Dueling DQN 则对Q值改进。由于某些情况下,采用不同的动作对状态对不大,所以把Q分解为两个部分:
  • 第一部分价值函数是仅仅与状态S有关,与具体要采用的动作A无关。
  • 第二部分优势函数同时与状态S和动作A有关
  • 通过最后再把两部分合并,通过解耦Q使得对不同的状态有更好的灵敏度。

参考

david siver 课程

https://home.cnblogs.com/u/pinard/

DQN(Deep Reiforcement Learning) 发展历程(五)的更多相关文章

  1. DQN(Deep Reiforcement Learning) 发展历程(三)

    目录 不基于模型(Model-free)的预测 蒙特卡罗方法 时序差分方法 多步的时序差分方法 参考 DQN发展历程(一) DQN发展历程(二) DQN发展历程(三) DQN发展历程(四) DQN发展 ...

  2. DQN(Deep Reiforcement Learning) 发展历程(四)

    目录 不基于模型的控制 选取动作的方法 在策略上的学习(on-policy) 不在策略上的学习(off-policy) 参考 DQN发展历程(一) DQN发展历程(二) DQN发展历程(三) DQN发 ...

  3. DQN(Deep Reiforcement Learning) 发展历程(二)

    目录 动态规划 使用条件 分类 求解方法 参考 DQN发展历程(一) DQN发展历程(二) DQN发展历程(三) DQN发展历程(四) DQN发展历程(五) 动态规划 动态规划给出了求解强化学习的一种 ...

  4. DQN(Deep Reiforcement Learning) 发展历程(一)

    目录 马尔可夫理论 马尔可夫性质 马尔可夫过程(MP) 马尔可夫奖励过程(MRP) 值函数(value function) MRP求解 马尔可夫决策过程(MDP) 效用函数 优化的值函数 贝尔曼等式 ...

  5. [DQN] What is Deep Reinforcement Learning

    已经成为DL中专门的一派,高大上的样子 Intro: MIT 6.S191 Lecture 6: Deep Reinforcement Learning Course: CS 294: Deep Re ...

  6. Deep Reinforcement Learning 基础知识(DQN方面)

    Introduction 深度增强学习Deep Reinforcement Learning是将深度学习与增强学习结合起来从而实现从Perception感知到Action动作的端对端学习的一种全新的算 ...

  7. 深度学习方法(五):卷积神经网络CNN经典模型整理Lenet,Alexnet,Googlenet,VGG,Deep Residual Learning

    欢迎转载,转载请注明:本文出自Bin的专栏blog.csdn.net/xbinworld. 技术交流QQ群:433250724,欢迎对算法.技术感兴趣的同学加入. 关于卷积神经网络CNN,网络和文献中 ...

  8. 深度强化学习(Deep Reinforcement Learning)入门:RL base & DQN-DDPG-A3C introduction

    转自https://zhuanlan.zhihu.com/p/25239682 过去的一段时间在深度强化学习领域投入了不少精力,工作中也在应用DRL解决业务问题.子曰:温故而知新,在进一步深入研究和应 ...

  9. 论文笔记之:Dueling Network Architectures for Deep Reinforcement Learning

    Dueling Network Architectures for Deep Reinforcement Learning ICML 2016 Best Paper 摘要:本文的贡献点主要是在 DQN ...

随机推荐

  1. JavaScript--动态加载脚本和样式(23)

    一 动态脚本 // 当网站需求变大,脚本的需求也逐步变大;我们不得不引入太多的JS脚本而降低了整站的性能; // 所以就出现了动态脚本的概念,在适时的时候加载相应的脚本; 1.动态引入js文件 var ...

  2. 关于DDL、DML和DCL的区别与理解

    2017年5月31日,天气阴.近期事情颇多,心情比较沉重. 端午刚过,早上上课,很多同学还处在端午的疲惫状态中没有回过神来,当然我也不例外.端午奔波三天,加上毕设的事情,可以说身心俱疲.状态不佳,整理 ...

  3. AngularJS学习 之 UI以及逻辑生成

    学习<Angular高级编程>理解如下 要求: 创建如下界面,有导航栏,一个Watchlists面板,面板上有个加号button,一句说明“”Use+to create a list“” ...

  4. PHP编译安装时常见错误解决办法,php编译常见错误

    PHP编译安装时常见错误解决办法,php编译常见错误 1.configure: error: xslt-config not found. Please reinstall the libxslt & ...

  5. KCF的弊端

      一.前情提要 如果你对目标跟踪和KCF是什么东西还不了解的话欢迎你看前一篇博文KCF入门详解:https://www.cnblogs.com/jins-note/p/10215511.html  ...

  6. IDEA报错:Error starting ApplicationContext. To display the auto-configuration report re-run your application with 'debug' enabled. ('crmWatcherService'错误)

    单表插入项目,插入前正常,插入后运行webapplication报错: run: debug: 于webapplication报错: Injection of autowired dependenci ...

  7. [iOS] Win8下在Vmware11中安装使用苹果系统OS X 10.10

      近来因为人事变动,领导打算安排我做 iOS 的项目,所以需要花一些时间提前准备一下iOS相关的东西.因为自己手头上并没有 Mac(过年为了闲的时候能玩玩游戏买了联想,唉),想想不能只靠每天在公司的 ...

  8. GIT回推本地commit近期版本

    一次意外吧,本地add并且commit之后拉了别人错误的代码下来,后来本地又需要进行编写测试,无奈只能回推到自己刚刚commit过的代码,但是git命令除了拉去提交等其他的不是很熟悉,在度娘之后也遇到 ...

  9. post请求的四种数据格式

    1.application/json:这是最常见的 json 格式:{"input1":"xxx","input2":"ooo&q ...

  10. SqlServer 全文索引指令大全(转载)

    -- 创建测试表 -- DROP TABLE FullTextIndexing CREATE TABLE FullTextIndexing ( ID ,) NOT NULL, Sentence VAR ...