强化学习相关的高阶技巧Experience Replay经验回报的介绍。此处笔记根据B站课程,王树森老师的强化学习记录而来。10.经验回放 Experience Replay (价值学习高级技巧 1_3)(Av374239425,P10)_哔哩哔哩_bilibili
1.回忆DQN和TD算法
已知Q*是最优动作函数,它给动作打分,评价这个动作好不好。DQN就是用神经网络Q(s,a;w)近似Q*。DQN的输入是状态s,DQN通过卷积层和全连接层,最终的输出是给各个动作的打分。

TD算法训练DQN的过程,其中(s(t),a(t),r(t),s(t+1))是一条训练数据。


2.Experience Replay经验回报
之前的训练过程存在两个缺点:
| 浪费经验 | 经验是可以重复利用的,但是TD Target只用一个即丢,导致经验没有充分利用,被浪费了。 |
| 状态转移的前后状态的相关性 | s(t)和s(t+1)之间具有相关性,这种相关性是有害的,需要消除。 |


引入Experience Replay就是为了解决这两个问题。(s(t), a(t), r(t), s(t+1))是一条训练数据,使用replay buffer存储transitant这样的训练数据,replay buffer的存储容量为n,n是一个超参,当replay buffer满了时,删除最早的数据。为了使L(w)最下化,从buffer中随机均匀抽样一条数据,计算TD Target和error,更新w。


这里用一个gi,实际中可以使用minibatch多个gi的平均值做梯度更新。
使用Experience Replay的好处相对应的也有两个:
3.经验回报的变体:Prioritized Experience Replay优先经验回报
本质区别是:使用非均匀抽样替代均匀抽样从buffer中抽取数据。
理论支持:buffer中的数据并不是同等重要的,数据的重要程度不同。如何判断数据的重要程度,看error的值,error越大,说明模型对该数据不熟悉,为了更好的训练,该数据的权重就大些。
两种不同的抽样方式:本质还是根据error抽样

非均匀抽样,根据抽样概率调整学习率。
Summary:

一条transition的误差越大,说明越重要,它的抽样概率就大,相应的学习概率就小,用小的学习概率抵消大的抽样概率带来的偏差。