Jan 2023-Prioritizing Samples in Reinforcement Learning with Reducible Loss
1 Introduction
本文建议根据样本的可学习性进行抽样,而不是从经验回放中随机抽样。如果有可能减少代理对该样本的损失,则认为该样本是可学习的。我们将可以减少样本损失的数量称为其可减少损失(ReLo)。这与Schaul等人[2016]的vanilla优先级不同,后者只是对具有高损失的样本给予高优先级,这可能会导致数据点的重复采样,而这些数据点由于噪声而无法学习。
本文首先简要描述了当前在从缓冲区中采样时进行优先级排序的方法,然后给出了在强化学习中减少损失的直觉。
这些实验表明,与Hessel等人[2017]中使用的Schaul等人[2016]的损失项相比,基于可减少的损失进行优先级排序是一种更鲁棒的方法(如图1所示),并且可以在不增加任何额外计算复杂度的情况下进行集成。
2 Background
基本概念
2.1 Experience Replay
2.2 Target Networks
2.3 Off-Policy Algorithms
3 Related Work
3.1 Reducible Loss
优先训练在训练开始时保留训练数据的子集来训练小容量模型θho。
在训练期间,这个保留模型用于 衡量一个数据点是否可以在不经过训练的情况下学习
随着持有数据集的大小增加,这种估计变得更加准确。
主模型θ和保留模型在实际训练数据上的损失之间的差异被称为可减少损失Lr,它用于小批量采样中训练数据的优先级排序
Lr被认为通过对数据点的训练来衡量信息的增益
3.2 Prioritization Schemes
Sinha-2020 提出了一种在当前策略平稳分布下,基于经验的似然度重新加权的方法,以保证重复可见状态值函数的近似误差较小
Lahire-2021介绍了大批量经验回放(LaBER),通过采用 an importance sampling view(重要性采样视图)来估计梯度,以克服PER的优先级过时及其超参数敏感性的问题。LaBER首先从回放缓冲区中采样一个大批次,然后计算梯度范数,最后按优先级向下采样到一个较小大小的小批次。
Kumar-2020提出了分布校正(DisCor),这是一种纠正反馈形式,可以使学习动态更加稳定。DisCor计算最优分布并执行加权Bellman更新以重新加权重放缓冲区中的数据分布。
受DisCor的启发, 后悔最小化经验重放(remn)-2021用an error network(误差网络)估计Q值的次优性。
拓扑经验回放(TER)-2022将智能体的experience组织成a graph(图),该图跟踪状态q值之间的依赖性。
4 Reducible Loss for Reinforcement Learning
受监督学习中优先训练的激励,我们提出了一种针对强化学习问题的优先排序方案,即智能体应该专注于具有更高的可减少TD误差的样本,而不是根据TD误差进行优先级排序,。这意味着,我们应该使用TD误差可以减少多少的度量,而不是TD误差
这意味着算法可以避免重复采样agent无法学习的点,并且可以专注于最小化可学习点的误差,从而提高样本效率
为了确定样本的学习能力,我们需要了解样本的目标是如何表现的,以及它是如何随时间变化的。
强化学习中的训练数据是由变化的策略生成的。因此,holdout model需要不时地更新。
因此,在基于Q学习的强化学习方法中,hold-out模型的一个很好的代理是Eq. 8中Bellman更新中使用的目标网络:
由于目标网络仅使用在线模型参数定期更新,因此它保留了代理在使用过时策略训练的旧数据上的性能。目标网络可以很容易地用作 没有在新样本上训练的hold-out model 的近似值。
因此,我们将RL的可还原损失(ReLo)定义为数据点相对于在线网络(参数θ)和相对于目标网络(参数¯θ)的损失之差。
- 与PER相比相似之处,优先级方案在低优先级点的采样行为上
对于PER:不重要的数据点具有较低的Lθ,在ReLo中也将保持不重要。
因为如果Lθ很低,那么根据上述公式,ReLo也会很低。
这确保了我们保留了PER的理想行为,即不重复采样已经学习过的点- 不同之处在于存在较大的TD误差的采样点:
对于PER,如果由于转换本身的固有噪声,一个数据点可能具有很高的TD误差,即使在采样多次之后仍然保持很高,但它仍然具有较高的PER优先级。
但是它的优先级应该降低,因为可能有其他数据点更值得采样,因为它们有有用的信息,可以更快地学习。
对于ReLo:这样一个点会很低,因为Lθ和Lθ¯都很高
如果一个数据点被遗忘,那么Lθ将高于Lθ¯,并且ReLo将确保这些点被重新访问。
4.1 Implementation
我们应该为ReLo error创建一个映射fmap,它对所有值都是单调递增且非负的
当目标网络与主网络通过硬更新进行更新时,该值可以归零。然而,在一次更新之后,它很快变成非零
在实践中,我们发现将负值裁剪为零通过添加一个小参数来确保样本有最小概率:
- 由于不需要任何额外的训练,ReLo在计算上并不昂贵。它只涉及通过目标网络的状态的一个额外的前向传递
对于ReLo,唯一需要计算的附加项: Qtgt(st, at)计算Lθ¯。- ReLo也没有引入任何额外的超参数
- ReLo不一定依赖于确切的损失公式;只需要额外计算关于目标网络参数¯θ的Lalg。
如果损失只是均方误差,那么ReLo可以被简化,可以用Qθ和Qθ¯的差来表示。
但对非策略Q学习方法的其他扩展修改了这一目标,例如分布式学习Bellemare等人[2017]最小化KL散度,但不能以相同的方式简化两个KL散度之间的差异。
为了使ReLo成为一种可以跨这些方法使用的通用技术,我们用Lθ和Lθ¯来定义它。
Algorithm 1
Jan 2023-Prioritizing Samples in Reinforcement Learning with Reducible Loss的更多相关文章
- Statistics and Samples in Distributional Reinforcement Learning
郑重声明:原文参见标题,如有侵权,请联系作者,将会撤销发布! arXiv:1902.08102v1 [stat.ML] 21 Feb 2019 Abstract 我们通过递归估计回报分布的统计量,提供 ...
- (转) Deep Reinforcement Learning: Playing a Racing Game
Byte Tank Posts Archive Deep Reinforcement Learning: Playing a Racing Game OCT 6TH, 2016 Agent playi ...
- Awesome Reinforcement Learning
Awesome Reinforcement Learning A curated list of resources dedicated to reinforcement learning. We h ...
- (转) Deep Reinforcement Learning: Pong from Pixels
Andrej Karpathy blog About Hacker's guide to Neural Networks Deep Reinforcement Learning: Pong from ...
- 论文笔记之:Playing Atari with Deep Reinforcement Learning
Playing Atari with Deep Reinforcement Learning <Computer Science>, 2013 Abstract: 本文提出了一种深度学习方 ...
- [Reinforcement Learning] Model-Free Control
上篇总结了 Model-Free Predict 问题及方法,本文内容介绍 Model-Free Control 方法,即 "Optimise the value function of a ...
- [Reinforcement Learning] Model-Free Prediction
上篇文章介绍了 Model-based 的通用方法--动态规划,本文内容介绍 Model-Free 情况下 Prediction 问题,即 "Estimate the value funct ...
- [DQN] What is Deep Reinforcement Learning
已经成为DL中专门的一派,高大上的样子 Intro: MIT 6.S191 Lecture 6: Deep Reinforcement Learning Course: CS 294: Deep Re ...
- (zhuan) Evolution Strategies as a Scalable Alternative to Reinforcement Learning
Evolution Strategies as a Scalable Alternative to Reinforcement Learning this blog from: https://blo ...
- Machine Learning Algorithms Study Notes(5)—Reinforcement Learning
Reinforcement Learning 对于控制决策问题的解决思路:设计一个回报函数(reward function),如果learning agent(如上面的四足机器人.象棋AI程序)在决定 ...
随机推荐
- 关于报出这样的错误:org.apache.catalina.core.StandardWrapperValve.invoke 在路径为/tt1016_war_exploded的上下文中,Servlet[Servlet.m的解决方法
从23:30开始报错检查,现在才弄好,发出来分享一下 错误界面: 首先,我们需要检查一下我们利用DBUtil.java文件中引用的db文件名称是否正确,(我就是因为没有注意到文件名称是否正确报出500 ...
- mybatis源码-注解sql
Mybatis-注解sql Demo 主启动类 public class MybatisHelloWorld { public static void main(String[] args) thro ...
- MybatisX无法自动生成entity实体类
在做项目的时候,安装MybatisX插件可以让我们不用写实体类,加快我们的开发速度,让我们更专注于业务逻辑的开发,可是最近在做项目的时候,发现MybatisX插件的MybatisX-Generator ...
- 7个角度,用 ChatGPT 玩转机器学习
大家好,我是机器学习科普创作者章北海mlpy,探索更高效的学习方法是我一直等追求.现在的初学者太幸福了,可以利用ChatGPT来帮助你学习机器学习的各个方面. 比如[个人首测]百度文心一言 VS GP ...
- java 面向对象 --static
java 面向对象 --static package charpter5.Demo09; //static public class Student { private static int age; ...
- ChatGPT 何许人也
有时候会想,如果chatGPT是人,它会是一个怎样的人呢?下面是我的推测过程. 首先,她应该是女人 会推测而不会计算 你问它: 3457 * 43216 = ,它回答 149261912 (这是错的. ...
- MyBatis各个版本下载 以及 Apache Maven 安装
推荐下面两篇文章:实测有效! MyBatis下载和环境搭建 Maven详细安装教程
- mixins使用混入引入组件,并可以使用公共函数。组件类同名函数可以替代公共函数。使用$ref获得子元素数据和元素dom节点。使用$parents获得父元素数据。slot插槽的使用
父组件: <template> <div class="box"> <Header > <div slot="left" ...
- 在Centos8中默认使用DNF没有使用YUM
1. 检查DNF版本 检查您的系统上安装的DNF版本. # dnf --version 2. 列出启用的DNF仓库 dnf命令中的'repolist'选项将显示您系统中所有启用的仓库. # dnf r ...
- 【Vue原理模拟】模拟Vue实现响应式数据
1. 预期效果 当数据变动时,触发自定义的回调函数. 2. 思路 对对象 object 的 setter 进行设置,使 setter 在赋值之后执行回调函数 callback(). 3.细节 3.1 ...