其他分享
首页 > 其他分享> > 强化学习-学习笔记10 | 经验回放

强化学习-学习笔记10 | 经验回放

作者:互联网

Experience Replay 经验回放。价值学习高级技巧第一篇。

之前讲解的 价值学习的方法 都很简单,所以实现效果并不优秀。接下来会介绍一些高级的技巧,可以大幅度提高 DQN 的表现。Experience Replay 是最重要的技巧。

10. 经验回放

10.1 DQN / Deep Q Network

DQN 是用神经网络 \(Q(s,a;w)\) 来近似 Q-star 函数。通常用 TD 算法训练 DQN。TD算法思路如下:

10.2 DQN的不足之处

a. 经验浪费

这里的经验(包括经验回放)是指 从开始到结束所有的 transitions,刚才回顾的TD算法在使用了一次 transition 后就将它丢弃,这就造成了经验的浪费。

b. 相关更新

另外一个不足的原因是,前后两个 transition 之间存在很强的关联。实践证明这种相关性是 有害的。如果能够把 这些 transition 打散,更有利于训练 DQN。

经验回放就可以很好克服以上两个缺点。

10.3 经验回放原理

一个 transition 相当于一条训练数据,为了重复使用之前的 transition,可以把 最近的 transition 存入一个队列(Replay Buffer),容量为 n,n 是一个超参数。

经验回放 的使用方法:

经验回放的好处就是;

  1. 打破 transition 之间的相关性;
  2. 重复使用之前的经验。

10.4 经验回放改进

经验回放以改进效果明显而被广泛使用,也有了很多对经验回放的改进。下面介绍一种:优先经验回放 / Prioritized Experience Reply。

改进之处在于使用非均匀抽样来选择 transitions。

优先经验回放的想法如下:

抽样方法介绍两种:

  1. 使抽样概率与 TD-error 线性相关:\(p_t\propto|\gamma_t|+\epsilon\)

    \(\epsilon\) 是一个很小的数,避免 \(p_t\) 为 0 ;

  2. 对\(|\delta_t|\) 作排序,rank(t)是其序号,大的靠前,小的靠后:\(p_t\propto \frac{1}{rank(t)}\),这样就让排在前面的更容易被抽到。

调整学习率矫正偏差:

因为不同的 transition 被人为附上了不同的概率,成为了非均匀抽样,这样会造成 DQN预测有偏差,通过调整学习率来矫正:

当所有 transition 的概率都一样,那么所有的 transition 的学习率一样。如果非均匀抽样,需要根据不同的 transition 概率来调整学习率。

下面再考虑一个事情:

即,在优先经验回放中,我们需要把 TD-error 跟 transtions 放在一起,而刚放入队列的 transition 还没有进行训练 DQN,不知道 TD-error,这时直接把它的 \(\delta\) 设为最大值,给他最高的权重;

每次我们使用了 transition 之后,重新计算 它的 \(\delta_t\),更新 transition 的权重。

x. 参考教程

标签:10,经验,frac,回放,transition,学习,delta,TD
来源: https://www.cnblogs.com/Roboduster/p/16457727.html