【强化学习高阶技巧】Experience Replay经验回报

强化学习相关的高阶技巧Experience Replay经验回报的介绍。此处笔记根据B站课程,王树森老师的强化学习记录而来。10.经验回放 Experience Replay (价值学习高级技巧 1_3)(Av374239425,P10)_哔哩哔哩_bilibili

1.回忆DQN和TD算法

已知Q*是最优动作函数,它给动作打分,评价这个动作好不好。DQN就是用神经网络Q(s,a;w)近似Q*。DQN的输入是状态s,DQN通过卷积层和全连接层,最终的输出是给各个动作的打分。

【强化学习高阶技巧】Experience Replay经验回报_第1张图片

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

【强化学习高阶技巧】Experience Replay经验回报_第2张图片

【强化学习高阶技巧】Experience Replay经验回报_第3张图片

2.Experience Replay经验回报

之前的训练过程存在两个缺点:

浪费经验 经验是可以重复利用的,但是TD Target只用一个即丢,导致经验没有充分利用,被浪费了。
状态转移的前后状态的相关性 s(t)和s(t+1)之间具有相关性,这种相关性是有害的,需要消除。

【强化学习高阶技巧】Experience Replay经验回报_第4张图片

 【强化学习高阶技巧】Experience Replay经验回报_第5张图片

引入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。

【强化学习高阶技巧】Experience Replay经验回报_第6张图片

【强化学习高阶技巧】Experience Replay经验回报_第7张图片

这里用一个gi,实际中可以使用minibatch多个gi的平均值做梯度更新。

使用Experience Replay的好处相对应的也有两个:

  •         打破了transitant的相关性
  •         重复利用experience 

3.经验回报的变体:Prioritized Experience Replay优先经验回报

本质区别是:使用非均匀抽样替代均匀抽样从buffer中抽取数据。

理论支持:buffer中的数据并不是同等重要的,数据的重要程度不同。如何判断数据的重要程度,看error的值,error越大,说明模型对该数据不熟悉,为了更好的训练,该数据的权重就大些。

两种不同的抽样方式:本质还是根据error抽样

【强化学习高阶技巧】Experience Replay经验回报_第8张图片

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

Summary:

【强化学习高阶技巧】Experience Replay经验回报_第9张图片

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

你可能感兴趣的:(强化学习,机器学习,人工智能,算法)