Prioritized experience replay 笔记

2018-09-15  本文已影响0人  Junr_0926

1. 前言

对于增强学习过程中,agent在一系列的动作选择中得到的经验,存在很大的相关性,这违反了常见的梯度下降算法对于样本 iid的假设。同时对于一些出现几率很小,但是可能很有用的经验,忘记得非常快。DQN使用了experience replay来克服这些困难。
在这篇论文中,作者提出来优先选择那些对于训练更加有效的经验,而不是DQN中的uniformly。因为,对于一个agent来说,某些经验会比其他经验更加有用。作者提出,对于那些TD error更大的经验,给予更多的replay的机会。

2. 介绍

2.1 一个例子

为了显示priorization的潜力,作者使用了一个爬坡的例子,假设一个车子在类似抛物线的谷底,假设有n个状态,那么需要n的指数级的尝试才能遇到一个非零的reward。而这个稀有的正的奖励的经验,会被更多的0的奖励的经验淹没。
对于这个问题使用如下的方法来学习,第一个公式表示TD error:

Blind Cliffwalk
下图显示了uniform和选择最小化global loss的区别
update

2.2 Prioritizing with TD-error

对于prioitization,重要的是如何衡量经验的重要性。作者选择了TD-error。它直观地解释是:agent对这个经验的惊讶程度,也就是有多超乎意料。但是,当TD-error被噪音影响的话,就不是一个好的选择了。

2.3 Stochastic Prioritization

作者认为如果简单地选择最大TD-error作为优先权最大的经验,会有一些问题:TD-error在每次更新参数后也需要更新,为了避免更新所有的TD-error,那么可以更新replay的TD-error,这使得那些一开始具有小的TD-error的经验一直得不到关注,即使它们应该被replay。另外,这种方式对噪声非常敏感。除此之外,在使用函数估计的时候,这种方式往往只replay很小一部分经验,一些TD-error很大的经验被很多次地replay。这很容易过拟合。

为了克服这些困难,作者提出了随机优先。在pure greedy prioritizationuniform random sampling做一个折中。使用下式作为经验i的概率:

P
algorithm

2.4 Annealing the bias

作者认为,prioritized replay以一种不可控制的方式改变了更新的分布。因而改变了结果。

上一篇下一篇

猜你喜欢

热点阅读