【强化学习高阶技巧】Experience Replay经验回报
强化学习相关的高阶技巧Experience Replay经验回报的介绍。此处笔记根据B站课程,王树森老师的强化学习记录而来。10.经验回放 Experience Replay (价值学习高级技巧 1_3)(Av374239425,P10)_哔哩哔哩_bilibili
1.回忆DQN和TD算法
已知Q*是最优动作函数,它给动作打分,评价这个动作好不好。DQN就是用神经网络Q(s,a;w)近似Q*。DQN的输入是状态s,DQN通过卷积层和全连接层,最终的输出是给各个动作的打分。
TD算法训练DQN的过程,其中(s(t),a(t),r(t),s(t+1))是一条训练数据。
2.Experience Replay经验回报
之前的训练过程存在两个缺点:
浪费经验 | 经验是可以重复利用的,但是TD Target只用一个即丢,导致经验没有充分利用,被浪费了。 |
状态转移的前后状态的相关性 | s(t)和s(t+1)之间具有相关性,这种相关性是有害的,需要消除。 |
引入Experience Replay就是为了解决这两个问题。(s(t), a(t), r(t), s(t+1))是一条训练数据,使用replay buffer存储transitant这样的训练数据,replay buffer的存储容量为n,n是一个超参,当replay buffer满了时,删除最早的数据。为了使L(w)最下化,从buffer中随机均匀抽样一条数据,计算TD Target和error,更新w。
这里用一个gi,实际中可以使用minibatch多个gi的平均值做梯度更新。
使用Experience Replay的好处相对应的也有两个:
- 打破了transitant的相关性
- 重复利用experience
3.经验回报的变体:Prioritized Experience Replay优先经验回报
本质区别是:使用非均匀抽样替代均匀抽样从buffer中抽取数据。
理论支持:buffer中的数据并不是同等重要的,数据的重要程度不同。如何判断数据的重要程度,看error的值,error越大,说明模型对该数据不熟悉,为了更好的训练,该数据的权重就大些。
两种不同的抽样方式:本质还是根据error抽样
非均匀抽样,根据抽样概率调整学习率。
Summary:
一条transition的误差越大,说明越重要,它的抽样概率就大,相应的学习概率就小,用小的学习概率抵消大的抽样概率带来的偏差。
【强化学习高阶技巧】Experience Replay经验回报相关推荐
- 深度强化学习系列(8): Prioritized Experience Replay(PER-DQN)原理及实现
论文地址: https://arxiv.org/abs/1511.05952 本论文是由DeepMind操刀,Schaul主导完成的文章,发表于顶会ICLR2016上,主要解决经验回放中的" ...
- golang 分析调试高阶技巧
layout: post title: "golang 调试高阶技巧" date: 2020-6-03 1:44:09 +0800 categories: golang GC 垃圾 ...
- python get函数 i_Python高阶技巧,你 GET了吗?
原标题:Python高阶技巧,你 GET了吗? Python 是一种美丽的语言,它简单易用却非常强大.但你真的会用 Python 的所有功能吗? 下面是 Python 的 5 种高级特征,以及它们的用 ...
- 机器学习深度学习高阶内容系列-kaggle广告点击欺诈识别实战
机器学习深度学习高阶内容系列-kaggle广告点击欺诈识别实战 中国是全球最大的智能移动设备市场,每月有超过10亿台智能移动设备投入使用 .TalkingData是中国最大的独立大数据服务平台,覆盖全 ...
- Word论文必备的高阶技巧
之前写论文,大部分绘图之类都是用visio,ppt,ps.后来发现word绘图能力也足够达到论文的需求,不仅如此,还能有很多很有用的操作.于是.总结了一下.供以后使用.另有一篇word有关的简单排版技 ...
- 强化学习笔记 experience replay 经验回放
1 回顾 :DQN DQN 笔记 State-action Value Function(Q-function)_UQI-LIUWJ的博客-CSDN博客 DQN是希望通过神经网络来学习Q(s,a)的结 ...
- 深度强化学习应用实践技巧
文章目录 参考资料 1. 如何应用深度强化学习 1.1 简单测试阶段 1.2 快速配置阶段 1.3 部署训练阶段 2. 实现阶段 3. 训练和调试阶段 参考资料 <深度强化学习>书籍第18 ...
- 强化学习paper绘图技巧——改进smooth
绘图利器--Seaborn 强化学习的paper中离不开各种数据的可视化,绘图中如何对数据进行处理.平滑是个很重要的问题. 人类高质量图片: 人类低质量图片: 那么如何绘制出一张高质量的图片呢?这里介 ...
- python学习-高阶函数(函数传参、返回函数(闭包)、匿名函数lambda)
文章目录 高阶函数 函数传参 返回函数(闭包) 匿名函数lambda 高阶函数 定义: 至少满足下列一个条件: 接受一个或多个函数作为输入 输出一个函数 python里的高阶函数有 filter.ma ...
最新文章
- 坑爹系列1--Log
- 浅析强化学习及使用Policy Network实现自动化控制
- WebSocket实战之————Workerman服务器的安装启动
- Php的if自动转换类型,php输出数据字段类型自动转换函数
- Linux下C语言的文件操作
- CodeForces - 1208E Let Them Slide(模拟+multiset)
- js代码转python_Python和JavaScript间代码转换的4个工具
- 当查找名字的时候通过外围作用域向外查找(如何理解)
- cmake could not find openssl_使用CMake构建C++项目
- 数据量大的sql怎么做优化_南浔区360优化怎么做,百度关键词优化_万推霸屏
- python snownlp_GitHub - isnowfy/snownlp: Python library for processing Chinese text
- Vue加载组件、动态加载组件的几种方式
- 企业文件编号规则方法
- 广州java程序员平均工资_9月程序员工资统计已公布,你拖后腿了吗?
- 浏览器窗口通信的多种方式
- LFS-初入门第一篇(准备环境)
- Tungsten Fabric知识库丨更多组件内部探秘
- global mapper 导入bln文件和tif文件
- 大数据-HDFS 文件副本和 Block 块存储
- Python学习笔记(六) python-nmap下载及搭建