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 ...
随机推荐
- python-建造者模式
源码地址:https://github.com/weilanhanf/PythonDesignPatterns 说明: 假如要组装一台电脑,将主板,CPU,内存等部件按照某个稳定的步骤组合,基本过程是 ...
- 关于python操作带有中文文件名报错的解决办法
python代码的编码格式 #coding:utf-8 在操作文件时,如果文件名带有中文,则需要将文件路径以Unicode的编码格式进行操作 具体的方式如下 path = "你的 ...
- 微信小程序 引入公共页面的几种情况
1.不带参数 首先在pages文件夹中新建一个template文件夹,文件夹中新建一个template.wxml文件,代码如下 <!--template.wxml--> <templ ...
- PeopleSoft 多套Web App Prcs交叉访问
1.Process服务器比较简单,只需要与数据库关联,系统调用时候就会负载均衡,在PSADMIN增加服务器时候,需要选择在"主菜单>PeopleTools>进程调度器>服务 ...
- AsyncTask 处理耗时操作&&显示进度条
在Android中实现异步任务机制有两种,Handler和AsyncTask.优缺点自己百度,推荐使用AsyncTask. private ProgressDialog dialog; //新建一个对 ...
- url override and HttpSession implements session for form
url 重写结合HttpSession实现会话管理之 form 提交 package com.test; import javax.servlet.ServletException; import j ...
- Oracle EBS 新增 OAFM 个数
在 $INST_TOP/ora/10.1.3/opmn/conf/opmn.xml中 找到 <process-type id="oafm" module-id="O ...
- Oracle EBS FA 资产编号跳号
- Oracle EBS AR 其他API
DECLARE L_CR_ID NUMBER; L_ATTRIBUTE_REC AR_RECEIPT_API_PUB.ATTRIBUTE_REC_TYPE; L_GLOBAL_ATT_REC AR_R ...
- C# 字符串的操作
var tStr = "0|1:开门|2:关门|3:门检失败|4:开门|5:开门|6:关门"; ).Split(], s.Split(]).Replace(").Repl ...