Event Tables for Efficient Experience Replay
Abstract
事件表分层抽样(SSET),它将ER缓冲区划分为事件表,每个事件表捕获最优行为的重要子序列。
我们证明了一种优于传统单片缓冲方法的理论优势,并将SSET与现有的优先采样策略相结合,以进一步提高学习速度和稳定性。
在具有挑战性的MiniGrid域、基准RL环境和高保真赛车模拟器中的实证结果表明,SSET比现有的ER缓冲采样方法具有优势和通用性。
Introduction
如果事件与最优行为相关,并且历史足够长,与使用均匀采样甚至PER相比,SSET可以显著加快非策略学习的收敛速度。即使这些条件不满足,偏置校正项也会保留Bellman目标,尽管收敛速度可能会减慢。
虽然SSET是一种从ERB中优化采样的新方法,但它是许多现有优先级方法或行为塑造技术的补充。具体来说,SSET可以基于每个表中使用的具有TD-error PER的已知事件应用,从而将重点放在也需要值更新的关键状态上。
贡献:
(1)介绍事件表和事件表SSET框架
(2)我们推导出理论保证,通过适当设计的事件量化样本复杂性的改善,并提供偏差校正,确保Bellman目标保持不变。
(3)我们在具有挑战性的MiniGrid环境和连续RL基准(MuJoCo和Lunar Lander)中实证证明了SSET优于均匀采样或PER的优势,并发现将SSET与TD-error PER或基于潜在的奖励塑造相结合可以进一步改善学习
Related Work
人们提出了许多ERB优先采样的方法。使用最广泛的是优先经验回放(PER) (Schaul等人,2016),它优先考虑具有最大TD错误的状态/动作。然而,PER并不专门关注与最优策略一致的状态:实际上,即使在行为策略改变后,在一个策略下具有零TD误差的经验也可能永远不会再次采样。除了与PER的经验比较外,本文表明,SSET可以与PER一起使用,以利用这两种方法的好处:专注于依赖与最优策略一致的高价值事件轨迹,但也对那些具有高贝尔曼误差的轨迹上的状态进行优先级排序。其他基于模型误差(Oh等人,2021年)或元学习过程(Zha等人,2019年)的优先级来增强vanilla PER的方法也可以类似地与SSET结合使用
SSET并不试图使用同一轨迹的小批量数据,而是依靠采样将轨迹分散到多个小批量中,从而提供沿着轨迹的稳定性和备份。
SSET允许任何基于状态的事件对ERB进行划分,更重要的是存储导致事件的轨迹,而不仅仅是事件本身,这对于确保样本复杂度至关重要。
事件表分层抽样
直观地说,每个表都包含了在接近事件发生区域训练值函数所需的数据,并链接在一起形成了备份的“快车道”(图1),与单一的ER相比,这些数据会被过度采样

一个示例MiniGrid域,具有达到目标或房间之间的间隙的事件条件。蓝色方块表示可以过度采样的状态的“快车道”,因为它们同时出现在事件表和默认表中。灰色状态只出现在默认表中。
与PER和其他ERB优先级方案一样,SSET在随机环境中会引入偏差

Event Tables for Efficient Experience Replay的更多相关文章
- (zhuan) Prioritized Experience Replay
Prioritized Experience Replay JAN 26, 2016 Schaul, Quan, Antonoglou, Silver, 2016 This Blog from: ht ...
- 论文阅读之:PRIORITIZED EXPERIENCE REPLAY
PRIORITIZED EXPERIENCE REPLAY ICLR 2016 经验回放使得 online reinforcement learning agent 能够记住并且回放过去的经验.在先前 ...
- 【深度强化学习】Curriculum-guided Hindsight Experience Replay读后感
目录 导读 目录 正文 Abstract[摘要] Introduction[介绍] 导读 看任何一个领域的文章,一定要看第一手资料.学习他们的思考方式,论述逻辑,得出一点自己的感悟.因此,通过阅读pa ...
- 强化学习中的经验回放(The Experience Replay in Reinforcement Learning)
一.Play it again: reactivation of waking experience and memory(Trends in Neurosciences 2010) SWR发放模式不 ...
- Revisiting Fundamentals of Experience Replay
郑重声明:原文参见标题,如有侵权,请联系作者,将会撤销发布! ICML 2020 Abstract 经验回放对于深度RL中的异策算法至关重要,但是在我们的理解上仍然存在很大差距.因此,我们对Q学习方法 ...
- 强化学习(十一) Prioritized Replay DQN
在强化学习(十)Double DQN (DDQN)中,我们讲到了DDQN使用两个Q网络,用当前Q网络计算最大Q值对应的动作,用目标Q网络计算这个最大动作对应的目标Q值,进而消除贪婪法带来的偏差.今天我 ...
- 【转载】 强化学习(十一) Prioritized Replay DQN
原文地址: https://www.cnblogs.com/pinard/p/9797695.html ------------------------------------------------ ...
- Understanding Complex Event Processing (CEP)/ Streaming SQL Operators with WSO2 CEP (Siddhi)
转自:https://iwringer.wordpress.com/2013/08/07/understanding-complex-event-processing-cep-operators-wi ...
- 强化学习之二:Q-Learning原理及表与神经网络的实现(Q-Learning with Tables and Neural Networks)
本文是对Arthur Juliani在Medium平台发布的强化学习系列教程的个人中文翻译.(This article is my personal translation for the tutor ...
- Online Schema Change for MySQL
It is great to be able to build small utilities on top of an excellent RDBMS. Thank you MySQL. This ...
随机推荐
- excel里面嵌入一个表格
excel里怎么嵌入表格 excel是我们工作中经常会用的软件,有时两表格想放在一起比较,但是行高列宽调起来顾此失彼,so: 软件版本:Microsoft Office Excel 2010 操作系统 ...
- win10_pyhive链接hive失败,提示:Could not start SASL
win10_pyhive链接hive失败,提示:Could not start SASL https://blog.csdn.net/weixin_45684985/article/details/1 ...
- VSCode使用小技巧
VSCode写C/C++项目 我们需要先下载minGW,并需要在VS Code里面下载相应的插件, 如下: 然后,将vscode保存c++项目的文件夹用vscode打开,就会出现这样的形式: 一个标准 ...
- 《操作系统导论》读书笔记1——CPU虚拟化,进程
系列文章目录和关于我 一丶CPU的虚拟化 一个桃子,我们称之为物理(physical)桃子.但有很多想吃这个桃子的 人,我们希望向每个想吃的人提供一个属于他的桃子,这样才能皆大欢喜.我们把给每个 人的 ...
- vue核心原理(Diff算法、虚拟dom)
核心原理&源码 Diff 算法 这里参考大佬文章:https://mp.weixin.qq.com/s/oAlVmZ4Hbt2VhOwFEkNEhw diff 算法的进化 关于 diff 算法 ...
- .NET生成MongoDB中的主键ObjectId
前言 因为很多场景下我们需要在创建MongoDB数据的时候提前生成好主键为了返回或者通过主键查询创建的业务,像EF中我们可以生成Guid来,本来想着要不要实现一套MongoDB中ObjectId的,结 ...
- Kingpin Private Browser - 隐私保护浏览器,隐身模式、广告拦截做你的私人浏览器
Kingpin Private Browser 是一个功能齐全的浏览器,隐身模式和广告拦截总是启用.它不会记住历史记录.密码或cookie.默认情况下,浏览器使用谷歌搜索(您可以在设置中将其更改为Du ...
- node-sass与node版本对照图
- 关于java.lang.Object类、equals()、toString()的使用、以及方法得重载和重写得一些笔记
java.lang.Object类 * 1.Object类是所有Java类的根父类; * 2.如果在类的声明中未使用extends关键字指明其父类,则默认父类为java.lang.Object类 * ...
- 实现自定义注解,实现ioc与aop
实现自定义注解主要分三个步骤: 1.定义自己的注解类. 注解类默认继承Annotation接口. 且注解内的属性默认public(要给别人用的) 属性可以定义默认值也就是不给你的属性传值也会拥有默认. ...