论文阅读之:PRIORITIZED EXPERIENCE REPLAY

简介: PRIORITIZED EXPERIENCE REPLAY ICLR 2016   经验回放使得 online reinforcement learning agent 能够记住并且回放过去的经验。

 

PRIORITIZED EXPERIENCE REPLAY

ICLR 2016

  经验回放使得 online reinforcement learning agent 能够记住并且回放过去的经验。在先前的工作中,从回放记忆中随机的采样 experience transitions。但是,这种方法简单的在同一频率 回放 transitions,而不管其意义。本文提出了一种方法能够实现优先回放,能够更加高频的回放重要的 transitions,从而实现更加高校的学习。我们在 DQN 上使用优先经验回放,取得了更加有效的结果。

  online RL agent 当观察到一系列的经验时,增量的更新其参数。最简单的形式,即:在更新之后,他们立刻扔掉到来的数据。这种做法有两个问题:

  a. 强烈的相关更新操作破坏了许多流行的 基于随机梯度的算法;

  b. 快速的忘记可能稀缺的经验,但是后面可能还要用得上这个经验。

 

  Experience Replay 解决了上述问题:在一个 回放单元中存储 experience,通过混合或多或少的最近的经验来更新就有可能破坏 temporal correlation,rare experience 将会被用来不止一次更新。这就被用在 NIPS2013 和 Nature 2015的论文中,特别地,DQN 利用一个大的滑动窗口回放单元,随机的从中均匀采样,平均重复访问一个 transition 8次。总的来讲,experience replay 可以大量的降低需要去学习的经验,而是用更多的计算和更多的memory来替换--- which are often cheaper resources than the RL agent's interactions with its environment. 

  : a transition 是 agent在环境中的一次交互的原子操作,即:$ (state S_{t-1}, action A_{t-1}, reward R_t, discount t, next state S_t)$.

  

  Prioritized Replay 

  1. A Motivating Example

  设计这么一个优先回放功能,涉及到两个层次,即:选择哪些进行存储,另外就是选择哪些进行回放?本文主要是研究后者的,如何最有效的利用回放功能进行学习?

  如上图所示,本文给出了一个例子来充分的说明优先的潜在好处。引入了称为“Blind Cliffwalk”的环境,来示例说明当奖赏非常 rare的时候,探索所遇到的挑战。假设仅有 n 个状态,这个环境就要求足够的随机步骤知道得到第一个非零奖励;确切的讲,随机的选择动作序列就会有 $2^{-n}$的概率才能得到第一个非零奖赏。此外,最相关的 transitions 却藏在大量的失败的尝试当中。

  

  本文利用这个例子来 highlight 两个 agents的学习次数的不同。可以看到这两个 agent 都从同一个 回放单元中去获取Q-learning的更新,第一个agent 随机均匀的回放 transitions,第二个唤醒一个 oracle 来进行优先转移。这个 oracle 贪婪的选择使得在当前状态下最大化的降低全局损失的 transitions。从上图右侧的图可以看出,按照一定优化序列得到的转移 比 随机均匀采样要花费很少的尝试步骤,这明显的提升了训练的速度。

 

  2. Prioritizing TD-Error 

  优先回放的一个中心成分是评判优先的准则:衡量每一个转移 transitions 的重要性。一个理想的标准是当前状态下,RL agent 能够学习到的量,也就是期望的学习过程。但是这个标准并不能直接访问到,一个比较合理的代理,能够表示重要性的另一个衡量是:一个 transitions 的 TD error $\delta$ 的规模,来表示该转移的惊奇度 或者 出乎意料的程度:How far the value is from its next-step bootstrap estimation. 这非常适合增量的,在线 RL 算法,比如:SARSA 或者 Q-learning,已经计算 TD-error 并且 更新和 $\delta$成比例的参数。但是有些情况下, TD-error 仍然是非常差的预测,例如:当奖励非常 noisy的时候。

  为了说明通过 TD-error 优先回放的有效性,我们对比了 uniform 和 oracle baselines 在 Blind Cliffwalk 上的“贪婪 TD-error prioritization”算法。该算法存储了在回放单元中每次转移之后,最后遇到的 TD error 。将最大绝对值 TD误差的转移从 memory 中进行回放。然后对该转移进行 Q-learning的更新,更新和 TD error 的权重。新的转移到来之后,没有已知的 TD-error,所以我们将其放到最大优先级的行列,确保所有的 experience 至少回放一次。

  关于这样做的好处,从下图可以看出, oracle 的做法可以极大的降低无用的尝试,加速了算法的执行速度。

  3. Stochastic Priorization 

  然而,贪婪的 TD-error 优先 有几个问题:

  首先,为了避免在整个回放单元中扫描而带来的计算代价,TD 误差仅仅更新被回放的转移。这个带来的一个后果就是:带有低 TD error的转移在第一次访问时可能很长时间不会被回放(which means effectively never with a sliding window replay memory)。

  此外,对 noise spikes 非常敏感,bootstrapping 会加剧该现象,估计误差又会成为另一个噪声的来源。

  最终,贪婪优先集中于 一个小的经验子集,误差收缩的很慢,特别是使用函数估计的时候,意味着初始的高误差转移被经常回放。缺乏多样性使得该系统倾向于 over-fitting。

  

  为了解决上述问题,我们引入了一个随机采样的方法,该方法结合了 纯粹的贪婪优先 和 均匀随机采样。我们确保被采样的概率在转移优先级上是单调的,与此同时,确保最低优先级的转移的概率也是非零的。具体的,我们定义采样转移 i 的概率为:

  其中,pi 是转移 i 的优先级。指数 $\alpha$ 决定了使用多少优先级,当 $\alpha$ 等于 0 的时候是均匀的情况。

  第一种变体就是直接的,成比例的优先;

  第二种是间接的,基于排行的优先级,pi = 1/rank(i),其中 rank(i)是回放单元根据误差排行的转移 i 的排行。

  两个分布都是随着误差单调的,但是后者更鲁棒,因为其对离群点不敏感。两个变体相对均匀的baseline来讲都是有很大优势的,如上图右侧所示。

 

  4. Annealing The Bias 

  利用随机更新得来的期望值的预测依赖于这些更新,对应其期望的同样的分布。优先回放引入了误差,因为它以一种不受控的形式改变了分布,从而改变了预测会收敛到的 solution(即使 policy 和 状态分布都固定)。我们可以用下面的重要性采样权重来修正该误差:

  在经典的强化学习的场景下,更新的无偏性是训练最后接近收敛最重要的部分,因为这个过程是高度非静态,由于变化的策略,状态分布和引导目标;我们假设小的偏差可以忽略。

 

  本文将优先回放和 Double Q-learning 相结合,就是将 均匀随机采样 替换为 本文提出的 随机优先和重要性采样方法,具体算法见下图:

  

  

 

  

相关文章
|
2月前
|
机器学习/深度学习 传感器 人工智能
【博士每天一篇论文-综述】Brain Inspired Computing : A Systematic Survey and Future Trends
本文提供了对脑启发计算(BIC)领域的系统性综述,深入探讨了BIC的理论模型、硬件架构、软件工具、基准数据集,并分析了该领域在人工智能中的重要性、最新进展、主要挑战和未来发展趋势。
52 2
【博士每天一篇论文-综述】Brain Inspired Computing : A Systematic Survey and Future Trends
|
2月前
|
存储 机器学习/深度学习 算法
【博士每天一篇论文-综述】An overview of brain-like computing Architecture, applications, and future trends
本文提供了对脑科学计算的介绍,包括神经元模型、神经信息编码方式、类脑芯片技术、脑科学计算的应用领域以及面临的挑战,展望了脑科学计算的未来发展趋势。
30 0
【博士每天一篇论文-综述】An overview of brain-like computing Architecture, applications, and future trends
|
机器学习/深度学习 自然语言处理 算法
【论文精读】COLING 2022-KiPT: Knowledge-injected Prompt Tuning for Event Detection
事件检测旨在通过识别和分类事件触发词(最具代表性的单词)来从文本中检测事件。现有的大部分工作严重依赖复杂的下游网络,需要足够的训练数据。
154 0
【论文精读】COLING 2022-KiPT: Knowledge-injected Prompt Tuning for Event Detection
|
机器学习/深度学习 存储 人工智能
【5分钟 Paper】Prioritized Experience Replay
【5分钟 Paper】Prioritized Experience Replay
|
机器学习/深度学习 传感器 算法
登山团队优化算法Mountaineering Team-Based Optimization MTBO附matlab代码
登山团队优化算法Mountaineering Team-Based Optimization MTBO附matlab代码
|
机器学习/深度学习 编解码
《Progressive Growing of GANs for Improved Quality, Stability, and Variation》-论文阅读笔记(二)
《Progressive Growing of GANs for Improved Quality, Stability, and Variation》-论文阅读笔记(二)
118 0
《Progressive Growing of GANs for Improved Quality, Stability, and Variation》-论文阅读笔记(二)
|
机器学习/深度学习
《Progressive Growing of GANs for Improved Quality, Stability, and Variation》-论文阅读笔记(一)
《Progressive Growing of GANs for Improved Quality, Stability, and Variation》-论文阅读笔记(一)
101 0
《Progressive Growing of GANs for Improved Quality, Stability, and Variation》-论文阅读笔记(一)
|
机器学习/深度学习 编解码 数据可视化
《Progressive Growing of GANs for Improved Quality, Stability, and Variation》-论文阅读笔记(三)
《Progressive Growing of GANs for Improved Quality, Stability, and Variation》-论文阅读笔记(三)
83 0
《Progressive Growing of GANs for Improved Quality, Stability, and Variation》-论文阅读笔记(三)
|
机器学习/深度学习 API
【读书笔记】Algorithms for Decision Making(8)
解决存在模型不确定性的此类问题是强化学习领域的主题,这是这部分的重点。解决模型不确定性的几个挑战:首先,智能体必须仔细平衡环境探索和利用通过经验获得的知识。第二,在做出重要决策后很长时间内,可能会收到奖励,因此必须将以后奖励的学分分配给以前的决策。第三,智能体必须从有限的经验中进行概括。
197 0
【读书笔记】Algorithms for Decision Making(8)
|
机器学习/深度学习 人工智能 算法
【读书笔记】Algorithms for Decision Making(1)
我自己的粗浅看法:机器学习要不是拟合逼近(经常提及的machine learning),要不就是决策过程(reinforcement learning),这本书主要讲述后者的前世今生。
319 0
【读书笔记】Algorithms for Decision Making(1)