1 回顾 :DQN

DQN 笔记 State-action Value Function(Q-function)_UQI-LIUWJ的博客-CSDN博客

DQN是希望通过神经网络来学习Q(s,a)的结果,我们输入一个人状态s,通过DQN可以得到各个action对应的Q(s,a)

通常用TD来求解DQN

其中rt是实际进行交互得到的真实奖励,Q(s,a),是预测得到的价值函数

(注:Q是fixed target network,所以qt和yt会稍有不同)

在之前我们所说的DQN中,我们每次采样得到一组episode  ,然后就用这组episode来计算相应的loss,进行梯度下降更新参数

而用这组数据训练了模型之后,这组数据就被丢弃了

2 TD算法的缺点

2.1 缺乏经验

而事实上,经验是可以重复使用的

2.2 correlated updates

比如玩游戏,当前画面和下一帧画面之间的区别会非常小,也就是会非常相近。实验证明把这些episode数据尽量打散,有利于训练得更好

3 经验回放

经验回放可以克服之前的两个缺点

把最近的n条记录存到一个buffer里面

如果存满了,每次存入一条新的transition,就删除当前最老的那一条transition

3.1 使用经验回放之后的TD

这里是从buffer中随机选择一个transition,实际上是从buffer中随机选择一个batch,做mini-batch SGD

3.2 经验回放的好处

1 打破了transition的关联性

2 经验可以重复使用

4 优先经验回放

buffer里面有多条 transition,每条的优先级各不相同

比如以超级玛丽为例,左边是普通关卡,右边是打boss的关卡。左边常见右边不常见。由于右边的经验少,所以很难真正训练除右边的情况应该如何做决策,在这种情况下,右边的重要性更大一些。

在priority experience replay 中,如果一条transition有更高的TD error δt,那么我们就认为他距离TD target比较大,DQN就不熟悉这个场景,所以需要给他较大的优先级。

优先经验回放的思路就是用非均匀抽样代替均匀抽样,有两种抽样方法

rank(t)是δt排序后的序号,δt越大,rank(t)越小

抽样的时候是非均匀采样的,我们需要相应地调整学习率,以减少不同抽样概率带来的偏差

如果一条transition有较大的抽样概率,那么他的学习率应当相应地小一些 (用来抵消大抽样概率带来的偏差,因为大抽样概率那么我被采样到的次数就会稍多)

如果一条transition 刚被采集到,我们是不知道他的δt的,此时我们直接给他设置最大的优先级,也就是未被使用过的transition具有最高的优先级

每次使用一条transition之后,我们都要重新更新他的δt

参考资料:

深度强化学习(全)_哔哩哔哩_bilibili

强化学习笔记 experience replay 经验回放相关推荐

  1. 强化学习笔记 DDPG (Deep Deterministic Policy Gradient)

    1 总述 总体来讲,和actor-critic 差不多,只不过这里用了target network 和experience relay 强化学习笔记 experience replay 经验回放_UQ ...

  2. 【强化学习高阶技巧】Experience Replay经验回报

    强化学习相关的高阶技巧Experience Replay经验回报的介绍.此处笔记根据B站课程,王树森老师的强化学习记录而来.10.经验回放 Experience Replay (价值学习高级技巧 1_ ...

  3. 【李宏毅深度强化学习笔记】3、Q-learning(Basic Idea)

    [李宏毅深度强化学习笔记]1.策略梯度方法(Policy Gradient) [李宏毅深度强化学习笔记]2.Proximal Policy Optimization (PPO) 算法 [李宏毅深度强化 ...

  4. 【李宏毅深度强化学习笔记】6、Actor-Critic、A2C、A3C、Pathwise Derivative Policy Gradient

    [李宏毅深度强化学习笔记]1.策略梯度方法(Policy Gradient) [李宏毅深度强化学习笔记]2.Proximal Policy Optimization (PPO) 算法 [李宏毅深度强化 ...

  5. 强化学习笔记(4)之蒙特卡洛法

    强化学习笔记(4)之蒙特卡洛法 标签(空格分隔): 未分类 文章目录 强化学习笔记(4)之蒙特卡洛法 起源 蒙特卡洛法与动态规划法在强化学习中的区别 首次访问与每次访问 增量计算均值 强化学习中的探索 ...

  6. 强化学习笔记:Actor-critic

    0 复习 由于actor-critic 是 policy gradient 和DQN的一个结合,所以我们先对这两个进行一个简单的复习: 0.1 policy gradient 强化学习笔记:Polic ...

  7. 强化学习笔记4:强化学习分类

    1 model-free & model-based model-based(有模型) RL agent,它通过学习环境的状态转移来采取动作. model-free(免模型) RL agent ...

  8. CNTK与深度强化学习笔记: Cart Pole游戏示例

    CNTK与深度强化学习笔记之二: Cart Pole游戏示例 前言 前面一篇文章,CNTK与深度强化学习笔记之一: 环境搭建和基本概念,非常概要的介绍了CNTK,深度强化学习和DQN的一些基本概念.这 ...

  9. 强化学习笔记(一)马尔可夫决策过程

    强化学习笔记(一)马尔可夫决策过程 参考资料 正文 Q1: R t R_{t} Rt​, G t G_{t} Gt​, V ( S t ) V(S_{t}) V(St​)都有奖励或收获的含义,它们有什 ...

最新文章

  1. 如何选择真正的万兆防火墙?
  2. h5在手机端实现简单复制
  3. 3大主流NoSQL数据库性能对比测试报告
  4. java 日期的加减_用java实现日期类的加减
  5. python笔记-列表和元组
  6. Git的分支命令详解
  7. latex插入gif_如何将照片和GIF插入Google幻灯片
  8. Windows下C++将各种资源文件引入exe文件(即无需携带很多res资源包)
  9. 嵌入式操作系统内核原理和开发(线程状态)
  10. php学籍信息管理系统心得_php实现学生管理系统
  11. cad二次开发加载cad自动调用_python实例_cad半自动绘图
  12. 7天下载破千万,让你“变老”的FaceApp如何爆发式增长?
  13. 怎么在html中加水印,如何在h5网页添加水印
  14. 索尼NW-A55日版改中文
  15. 桌面右下角出现“测试模式 Windows7 内部版本7601”怎么回事?
  16. 二叉树的先序、中序、后续遍历(递归)
  17. 牛客练习赛47 B:DongDong认亲戚 (并查集)
  18. Jquery监听input回车事件
  19. 三角形周长最短问题_「初中数学」从三角形周长的最值问题说说解题策略
  20. 输入一个4位以内的正整数,输出各位数字之和

热门文章

  1. 【Python】 获取MP3信息replica
  2. Android消息机制——时钟显示和异步处理工具类(AsyncTask)
  3. cocos2dx 3.3 Director setNotificationNode BUG
  4. mysqldump导入导出mysql数据库
  5. 浏览器检测是否安装flash插件,若没有安装,则弹出安装提示
  6. Windows下的bat文件的@echo off 作用
  7. 程序包 javax.servlet 不存在 解决办法
  8. bilibili深入理解计算机系统笔记(2):第一次代码重构,汇编模拟器,递归,指令周期实现。
  9. 《现代操作系统》第1章读书笔记-- 引论(未完成)
  10. Leetcode455分饼干-贪心