其他分享
首页 > 其他分享> > 【5分钟 Paper】Prioritized Experience Replay

【5分钟 Paper】Prioritized Experience Replay

作者:互联网

在这里插入图片描述

所解决的问题?

  Experience replay能够让强化学习去考虑过去的一些经验,在【1】这篇文章之前通常采用随机采样的方式在记忆库中采样。但是有一些记忆比较关键,因此随机采样的方式就不太好。作者提出了一种prioritizing experience的方式,来提高学习的效率。

背景

  之前的做法像DQN基本上都是从记忆库中sample一些experience data出来之后给model update一次之后就被丢弃了。但是这里会有些问题,就是如果采样方式比较好的话一来会切断数据之间的相关性,二来,对于一些相似度高的数据可以少采样一点,而很少见的数据可以多拿来更新几次。

  作者从以下文献获得灵感:

  Experiences with high magnitude TD error also appear to be replayed more often(Singer & Frank, 2009; McNamara et al., 2014).

  The TD error provides one way to measure these priorities (van Seijen & Sutton, 2013). 作者将这种方法用于model-free的强化学习中,而非model-base的方法中。

  做replay memory之前我们需要明确两个点。选择什么样的experiences去存储,选择什么样的experiencereplay,怎么实现?作者只解决后面这个问题。

所采用的方法?

   prioritized replay 中一个核心的问题就是如何来选择这个transition (s,a,r,s'),作者采用TD-error来衡量transition的重要性(how far the value is from its next-step bootstrap estimate (Andre et al., 1998))。

  greedy TD-error prioritization会产生一些问题:1. TD-error的样本可能永远不会被采样到;2. 整个算法对噪声会非常敏感;3. TD-error大的样本很容易使得神经网络过拟合(因为一直采样TD-error大的样本)。

  基于以上几点,作者提出stochastic sampling method,介于pure greedy prioritizationuniform random sampling之间的一种采样方法。the probability of sampling transition iii as:

P(i)=piαkpkα P(i) = \frac{p_{i}^{\alpha}}{\sum_{k}p_{k}^{\alpha}} P(i)=∑k​pkα​piα​​

  其中pi>0p_{i} >0pi​>0, is the priority of transition iii,指数α\alphaα determines how much prioritization is used,当α=0\alpha =0α=0时,就是随机选(uniform case)。

  对于上述的P(i)P(i)P(i),作者提出了两个变种:

  1. proportional prioritizationpi=δi+εp_{i}=|\delta_{i}| + \varepsilonpi​=∣δi​∣+ε,δi\delta{i}δi表示TD-errorε\varepsilonε表示一个很小的正数。这么做的目的是希望TD-error0的样本也能被采样得到。
  2. rank-based prioritizationpi=1rank(i)p_{i} = \frac{1}{\text{rank(i)}}pi​=rank(i)1​,其中rank(i)\text{rank(i)}rank(i)表示依据δi|\delta_{i}|∣δi​∣的排序结果。In this case, PPP becomes a power-law distribution with exponent α\alphaα.

  对于上述算法的实现细节:如下所示:

算法细节描述

Proportional prioritization

  随机更新对期望值的估计依赖于与预期相同的分布相对应的更新。优先重放机制引入了bias,它以一种不受控制的方式改变了这个分布,因此改变收敛结果(即使策略和状态分布是固定的)。通过引入importance-sample (IS) weights来弥补:

wi=(1N1P(i))β w_{i} = (\frac{1}{N} \cdot \frac{1}{P(i)})^{\beta} wi​=(N1​⋅P(i)1​)β

  其中1N\frac{1}{N}N1​表示样本最开始服从的分布,1P(i)\frac{1}{P(i)}P(i)1​表示的是样本引入优先级之后的分布。但是我们就是要做有偏估计,所以引入β\betaβ系数控制有偏和无偏的量,一旦有偏估计之后算法收敛性无法保证,因此可以随着迭代次数增加β\betaβ慢慢变成1。

  算法伪代码如下图所示:

Prioritized Experience Replay算法流程

取得的效果?

实验效果

  可以看出,rank-based的方法和proportional的方法都能加速收敛。

所出版信息?作者信息?

  这篇文章是ICLR2016上面的一篇文章。第一作者Tom SchaulGoogle DeepMindSenior research ScientistPostDoc at New York University from 2011-2013, PhD Student at IDSIA from 2007-2011。

在这里插入图片描述

参考链接

扩展阅读

  1. Some transitions may not be immediately useful to the agent,but might become so when the agent competence increases (Schmidhuber,1991).
  1. TD-errors同时也有被用于 explore (White et al., 2014) or which features to select (Geramifard et al., 2011; Sun et al., 2011)
小小何先生 发布了171 篇原创文章 · 获赞 136 · 访问量 18万+ 私信 关注

标签:采样,frac,Paper,Experience,参考文献,Replay,rank,error,TD
来源: https://blog.csdn.net/weixin_39059031/article/details/104431053