Prioritized DQN

论文链接:https://arxiv.org/pdf/1511.05952.pdf

        经验回放(Experience replay)让在线强化学习代理记住和重复使用过去的经验。在之前的工作中,experience replay 是均匀随机取样。然而,这种方法不考虑样本的重要性。Prioritized DQN 使用了一个优先级经验的框架,以便更频繁地使用重要性高的样本,从而更有效地学习。

1)使用 TD 误差的优先级

        回放的优先级的核心是衡量每个 transition 的重要性的标准。

        这里使用 TD-error δ \delta δ 来规定优先学习的程度。如果 δ \delta δ 越大, 就代表我们的预测精度还有很多上升空间, 那么这个样本就越需要被学习,也就是优先级越高。通过存储 transition,及其每次回放更新得到的最新的 TD-error,将 TD-error 绝对值最大的 transition 从 memory 中进行回放。然后对该 transition 进行 Q-learning 的更新,并根据 TD-error,更新其优先级。而对于没有已知 TD-error 的新进入 memory 的 transition,将其放到最大优先级的行列,以确保所有的经验至少被回放一次。

2)随机优先级

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

  1. 为了避免对整个回放内存进行扫描,TD-error 只针对需要回放的 transitions 进行更新,这导致在第一次访问时,TD-error 较低的 transitions 可能在很长一段时间内不会回放。
  2. 对噪声峰值很敏感。
  3. 贪婪的 TD-error 优先级只关注经验的一个小子集,最初的高 TD-error 的 transitions 会频繁的重复出现,这种多样性的缺失容易使系统过拟合。

        为了解决上面的问题,引入了随机抽样方法,介于贪婪优先级和均匀随机抽样之间。需要确保被采样的概率在 transition 优先级中是单调的,同时保证最低优先级的 transition 的概率是非零的 。定义采样 transition i 的概率为:
在这里插入图片描述
其中, p i > 0 p_i>0 pi>0 表示 transition i 的优先级,指数 α \alpha α 决定使用多少优先级,等于 0 时对应均匀分布。

p i p_i pi 变量的有两种方法:

  1. 比例优先级: p i = ∣ δ i ∣ + ϵ p_i=|\delta_i| + \epsilon pi=δi+ϵ ϵ \epsilon ϵ 用来防止 transitions 的 TD-error 为 0 后不再被回放。
  2. 基于排名的优先级: p i = 1 / r a n k ( i ) p_i=1/rank(i) pi=1/rank(i) 。rank(i) 是 transition 根据它的 ∣ δ ∣ |\delta| δ 在 replay memory 中的排名。这种方法对异常值更加不敏感,因此更为鲁棒。

在这里插入图片描述

3)消除偏差,引入重要性抽样

        优先级回放引入了偏差,因为它以一种不受控制的方式改变了这种分布,因此改变了估计将收敛到的结果。通过使用重要性抽样(IS)权值来修正这种偏差:
在这里插入图片描述
Q-learning 算法更新中的 δ i \delta_i δi 替换为 w i δ i w_i \delta_i wiδi 。考虑稳定性,使用 1 / m a x i w i 1/max_iw_i 1/maxiwi 将其正则化。

  • 1
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值