DQN(Deep Reiforcement Learning) 发展历程(五)
值函数的近似
- 当状态-动作数目太多时,使用表格存储所有的状态-动作会造成维度灾难,无法求解大规模问题。
- 可以采用一个函数来近似这个这个表格,输入状态-动作,输出对应的状态值。
- 可以使用神经网络来充当这个近似函数。
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) 发展历程(五)的更多相关文章
- DQN(Deep Reiforcement Learning) 发展历程(三)
目录 不基于模型(Model-free)的预测 蒙特卡罗方法 时序差分方法 多步的时序差分方法 参考 DQN发展历程(一) DQN发展历程(二) DQN发展历程(三) DQN发展历程(四) DQN发展 ...
- DQN(Deep Reiforcement Learning) 发展历程(四)
目录 不基于模型的控制 选取动作的方法 在策略上的学习(on-policy) 不在策略上的学习(off-policy) 参考 DQN发展历程(一) DQN发展历程(二) DQN发展历程(三) DQN发 ...
- DQN(Deep Reiforcement Learning) 发展历程(二)
目录 动态规划 使用条件 分类 求解方法 参考 DQN发展历程(一) DQN发展历程(二) DQN发展历程(三) DQN发展历程(四) DQN发展历程(五) 动态规划 动态规划给出了求解强化学习的一种 ...
- DQN(Deep Reiforcement Learning) 发展历程(一)
目录 马尔可夫理论 马尔可夫性质 马尔可夫过程(MP) 马尔可夫奖励过程(MRP) 值函数(value function) MRP求解 马尔可夫决策过程(MDP) 效用函数 优化的值函数 贝尔曼等式 ...
- [DQN] What is Deep Reinforcement Learning
已经成为DL中专门的一派,高大上的样子 Intro: MIT 6.S191 Lecture 6: Deep Reinforcement Learning Course: CS 294: Deep Re ...
- Deep Reinforcement Learning 基础知识(DQN方面)
Introduction 深度增强学习Deep Reinforcement Learning是将深度学习与增强学习结合起来从而实现从Perception感知到Action动作的端对端学习的一种全新的算 ...
- 深度学习方法(五):卷积神经网络CNN经典模型整理Lenet,Alexnet,Googlenet,VGG,Deep Residual Learning
欢迎转载,转载请注明:本文出自Bin的专栏blog.csdn.net/xbinworld. 技术交流QQ群:433250724,欢迎对算法.技术感兴趣的同学加入. 关于卷积神经网络CNN,网络和文献中 ...
- 深度强化学习(Deep Reinforcement Learning)入门:RL base & DQN-DDPG-A3C introduction
转自https://zhuanlan.zhihu.com/p/25239682 过去的一段时间在深度强化学习领域投入了不少精力,工作中也在应用DRL解决业务问题.子曰:温故而知新,在进一步深入研究和应 ...
- 论文笔记之:Dueling Network Architectures for Deep Reinforcement Learning
Dueling Network Architectures for Deep Reinforcement Learning ICML 2016 Best Paper 摘要:本文的贡献点主要是在 DQN ...
随机推荐
- JavaScript--动态加载脚本和样式(23)
一 动态脚本 // 当网站需求变大,脚本的需求也逐步变大;我们不得不引入太多的JS脚本而降低了整站的性能; // 所以就出现了动态脚本的概念,在适时的时候加载相应的脚本; 1.动态引入js文件 var ...
- 关于DDL、DML和DCL的区别与理解
2017年5月31日,天气阴.近期事情颇多,心情比较沉重. 端午刚过,早上上课,很多同学还处在端午的疲惫状态中没有回过神来,当然我也不例外.端午奔波三天,加上毕设的事情,可以说身心俱疲.状态不佳,整理 ...
- AngularJS学习 之 UI以及逻辑生成
学习<Angular高级编程>理解如下 要求: 创建如下界面,有导航栏,一个Watchlists面板,面板上有个加号button,一句说明“”Use+to create a list“” ...
- PHP编译安装时常见错误解决办法,php编译常见错误
PHP编译安装时常见错误解决办法,php编译常见错误 1.configure: error: xslt-config not found. Please reinstall the libxslt & ...
- KCF的弊端
一.前情提要 如果你对目标跟踪和KCF是什么东西还不了解的话欢迎你看前一篇博文KCF入门详解:https://www.cnblogs.com/jins-note/p/10215511.html ...
- 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 ...
- [iOS] Win8下在Vmware11中安装使用苹果系统OS X 10.10
近来因为人事变动,领导打算安排我做 iOS 的项目,所以需要花一些时间提前准备一下iOS相关的东西.因为自己手头上并没有 Mac(过年为了闲的时候能玩玩游戏买了联想,唉),想想不能只靠每天在公司的 ...
- GIT回推本地commit近期版本
一次意外吧,本地add并且commit之后拉了别人错误的代码下来,后来本地又需要进行编写测试,无奈只能回推到自己刚刚commit过的代码,但是git命令除了拉去提交等其他的不是很熟悉,在度娘之后也遇到 ...
- post请求的四种数据格式
1.application/json:这是最常见的 json 格式:{"input1":"xxx","input2":"ooo&q ...
- SqlServer 全文索引指令大全(转载)
-- 创建测试表 -- DROP TABLE FullTextIndexing CREATE TABLE FullTextIndexing ( ID ,) NOT NULL, Sentence VAR ...