Sep 2022-Actor Prioritized Experience Replay
论文宗旨:
由于PER 是以TD-error成正比的非均匀概率进行抽样的,但是在AC算法中即连续动作空间中,会表现出低效果。
分析结果是:Actor不能有效的从high TD-error的transition中学习,Q网络下近似的policy gradient会偏离最优Q下的真实梯度。
提出修正方法:
- Actor从low TD-error的transition中学习;但是发现在q网络更新中与MSE损失相结合时,PER并不能完全消除偏差,采用huber loss
- 对于low TD-error的采样;方法:其概率与TD误差成反比,适用于创建一个包含优先级全局逆的new tree,并且q网络更新也使用LAP优先级方法,and Huber loss不能应用于策略梯度的计算
- 用完全不同的transition优化演员和评论家网络可能违反AC理论:使用相同的transitions set(作为采样mini-batch的一部分)进行优化,并且对共享transitions set进行均匀采样,q网络更新也使用LAP优先级方法的镜像loss函数--PAL
1 Introduction
PER非均匀采样,分析了PER在AC中为何不能有效:
对于critic:TD-error可以代表Q学习的loss和对未来回报的不确定性。
但是对于actor:actor不能有效训练,因为这些经验是critic未知未来回报的(就好比:一个经验很少的老师期待可以学习的很好)
本文会证明actor使用high TD-error训练的策略梯度会出现偏差
本文Discoveries:
- 依赖与critic的策略梯度不能使用使得critic有高不确定性的transitions
- critic和actor选择不用的transition违反AC算法。因为critic参数更新依赖actor
- 损失函数要与优先级抽样一起考虑:因为在采样的时候离群偏差的transition可能会被泄露
2 Related Work
PER的改进算法:
Rainbow, distributed PER, distributional policy gradients、
prioritizing the sequences of transitions 、 optimization of the prioritization scheme、
determining which transitions to favor or forget、 the composition and size of the experience replay buffers
基于学习的采样策略:
train a multi-layer perceptron whose input is the concatenation of reward, time step, and TD
error.
与这些可学习的采样策略相反,本文以基于规则的方式引入了对优先体验重播的修正
最近的研究:PER、LAP和MaPER。
本文实验比较:我们的方法(LA3P)与均匀抽样、PER、LAP和MaPER进行了比较。
3 Technical Preliminaries
3.1 Deep Reinforcement Learning
在动作值函数(q函数或批评家)Qπ下评估策略的性能:
根据贝尔曼方程确定动作值函数:
TD-learning算法是一种基于Bellman方程的更新规则:
TD error:
3.2 Prioritized Experience Replay
PER两点改变:
-
采用随机优先级方案:
这样做的动机是,只有在重放transition时才更新TD error。最初的high TD error的transition会更频繁地更新,从而导致贪婪优先级。由于贪婪采样,噪声q值估计增加了方差;如果直接对与TD误差成比例的transition进行采样,过拟合是不可避免的:修正:给每个transition赋一个概率值,与其TD-error成正比,并设置为超参数α的幂次以平滑极值:
-
偏好随机优先级的high TD error的transition会使下一个状态对于Q值的分布偏移
修正:重要性采样
4 Prioritized Sampling in Actor-Critic Algorithms
用标准的非策略连续控制方法解释了PER的不良性能
Lemma 1
引理1:
如果δ是与评价网络Q相关的TD error,则存在一个δo(τt)≠0的过渡元组τt = (St, at, rt, St+1),使得τt上的绝对TD error与至少τt或τt+1上的绝对估计误差成正比
证明:
TD error的自举值估计公式:
在策略Π下的最优动作价值函数没有TD error:
两个式子相减:
x是时间步t的估计误差;y是后续时间步t + 1的估计误差
如果x = 0,则y≠0,反之亦然,因为γ≥0
因此,如果q网络对应的TD误差非零,则在τt或τt+1上存在Qθ的估计误差
假设δθ(τt)<0, x≥0,y <0。在这种情况下,如果x保持不变,则TD误差的增加会增加y的绝对估计误差。
推断在时间步长t的绝对时间差误差|δθ(τt)|与τt或τt+1的绝对估计误差之间可能存在正比关系。
RL函数估计误差通常是由使用函数逼近器和自举引起的;由于估计误差通常不能区分为函数逼近和bootstrapping,因此不能推导出估计误差和TD误差之间总存在正比关系。此外,在某些条件下,TD-learning可能是一个糟糕的估计,例如当奖励有噪声时。TD误差衡量的是过渡的意外程度,而不是估计精度。因此,引理1必须证明这种相关性对于某些状态-动作对是存在的
Theorem 1
利用上述结果来解释为什么使用具有较大TD误差的转换不能有效地执行策略优化
定理1:
设τi是一个满足引理1的transition。那么,如果δθ(τi) ≠ 0,则δθ(τi)正比于估计梯度的误差
证明:
用策略参数φ的函数近似形式化地表示标准策略迭代:
用函数逼近法给出了策略迭代中策略梯度的一般公式:
我们可以忽略dπ(si)由于策略参数φ对d没有影响:
如果策略是随机的,则上式转化为:
梯度正比于Q的估计值
用真q值和估计误差来表示策略梯度:
真实Q与真实梯度的关系:
上述两个式子可见:随着Q估计值偏移真实Q值,增长的估计误差会增加了与实际政策梯度的差异:
根据Lemma 1:
我们推断,当前步t中增加的绝对TD error会增加当前t或后续步t+1中与实际策略梯度的差异:
Corollary 1.
定理1:如果actor网络使用与large TD error相对应的transition进行优化,则当前或后续步的策略梯度可能与实际梯度偏离
推论1:
如果transition的 TD error增加,则关于Q-network的任何策略梯度算法计算的近似策略梯度都可能偏离当前或后续transition在最优q函数下计算的实际梯度。
当采用actor网络时,这是优先采样性能下降的一个重要因素
Remark 1
最近的一项发现:解释了连续控制中优先抽样的较差性能的补充
通过随机采样的具有较大TD误差的转换进行优先级排序,将s0的分布移动到Es 0 [Q(s 0, a0)]。因此,这种诱导的偏差可通过重要性采样进行修正;
在发现中:在q网络更新中,当与MSE损失相结合时,PER并不能完全消除偏差,可能会偏向离群点
修正:L1 loss可以满足这样的性质
在实践中,L1损失可能不是理想的,因为每次更新都需要一个恒定大小的步长,如果学习率太大,可能会导致目标overstepped
修正结果:采用常用的Huber损耗,κ = 1:
误差小于1的样本应均匀采样,以防止由MSE和优先级引起的偏差;LAP算法将低优先级的样本限定为至少一个样本来实现这一目标。
LAP算法将式(25)中表示的Huber损失与以下改进的随机优先级方案相结合,克服了Remark 1中提到的问题:
Remark 2
为了进一步消除优先体验重放算法中有利于离群值转换的偏差,应将κ = 1的Huber损失与上述优先级方案结合使用
Fujimoto等人提出的结果对我们在remark 2中强调的PER性能较差的理论结论进行了补充。
我们的重点是连续控制算法,相比之下,Remark 2包括离散和连续的非策略深度强化学习。
Corollary 1和Remark 2为连续控制中PER算法的缺陷奠定了基础
5 Adaptation of Prioritized Experience Replay to Actor-Critic Algorithms
5.1 Inverse Sampling for the Actor Network
Observation 1
如果没有使用sampled transitions之后的transitions来优化参与者网络,那么在PER算法下,AC方法的性能可能不会下降。然而,在连续控制的标准脱策略算法中,这种可能性仍然很小。【因为replay buffer在初始优化步骤中包含很少的转换,其数量小于批量大小】
推论1中的需求可以通过从优先重放缓冲区中进行反向采样来实现,即通过PER方法对执行器网络的低TD误差转换进行采样
一种本能的对转换进行采样的方法,其概率与TD误差成反比,适用于创建一个包含优先级全局逆的new tree。
尽管通过之前定义的和树数据结构,vanilla中的优先级在每个训练步骤中都会更新,但对actor更新的反向采样需要在训练之前创建一个新的和树。在每个更新步骤中,优先级的计算如下:
Remark 2所述,使用MSE和PER仍然会导致不同的偏差,这些偏差可能有利于异常值转移。因此,我们采用LAP的优先级方案:
在每个优化步骤t, Q-network和优先级分别更新为
Huber损失不能应用于策略梯度的计算
首先,根据q网络的损失即TD误差确定优先级,而MSE损失结合基于TD误差的优先采样是上述离群点偏差的主要原因;
此外,通过一类不可替代的策略梯度技术来计算策略损失和梯度。
因此,离群点偏差不会影响策略梯度,策略网络不需要使用Huber损失
5.2 Optimizing the Actor and Critic with a Shared Set of Transitions
用完全不同的transition优化演员和评论家网络可能违反AC理论
如果critic更新被一组位于actor从未优化过的状态-动作空间中的特征,可能存在很大的不稳定性:critic使用的transition是通过actor处理的,actor从未看到这些转换;因此critic的行为评价的可靠性可能会受到质疑
TD和估计误差之间并不总是直接相关的。
因此,一些过渡最初可能具有较低的TD误差。如果actor在整个学习过程中针对这些低TD误差转换进行优化,并且Q-network只关注剩余的大TD误差转换,则actor和critic训练中使用的样本可能不相同。尽管这仍然有一点可能性
但我们通过一组共享transition来更新actor和critic网络,作为采样mini-batch的一部分,从而克服了这一问题
Observation 2
如果分别通过逆优先级和优先级采样对actor和critic的转换进行采样,它们可能永远不会观察到相同的转换,这违反了actor-critic理论,并导致学习中的不稳定。因此,actor和critic应该使用相同的transitions set进行优化,至少在每个更新步骤中为采样的小批量transitions的一部分进行优化
如何选择 the set of shared transitions
均匀采样转换:
Transitions with large TD error和Transitions with small TD error两种选择意味着对共享转换集进行均匀采样仍然是唯一的选择。
虽然均匀采样的小批量中可能包含较大的TD误差转移,但由于在小批量学习中进行平均,它们的影响被降低了。
如Remark 2所述,Huber损失(κ = 1)与优先采样相结合可以消除LAP算法中的离群点偏差。Fujimoto等人[2020]还介绍了LAP的镜像损失函数,具有等效的期望梯度,用于从经验回放缓冲区中均匀采样。
为了在均匀采样中观察LAP的相同好处,应该使用它的镜像损失函数,优先近似损失(PAL)而不是MSE。与LAP函数的情况类似,在策略网络的更新中也不使用PAL损失。PAL函数表示为:
为了消除均匀采样对应物中的离群值偏差,应该使用优先化近似损失(priority Approximate Loss, PAL)函数,该函数与PER结合后的Huber损失具有相同的期望梯度
LA3P
PER correction算法,即损失调整的近似Actor优先体验重放(LA3P)
总结一下方法:
- 在每个更新步骤中,均匀采样大小为λ·N的小批次转换,其中λ∈[0,1]表示均匀采样transition的分数,这是引入的唯一超参数。
- 在均匀采样的批处理下,分别对critic和actor网络进行优化。critic根据PAL函数进行更新,之后更新优先级。
- 然后,分别通过优先级采样和逆优先级采样对critic和actor网络采样(1−λ)·N个transitions。
- 然后,通过Huber损失(κ = 1)优化critic,并使用策略梯度技术优化actor。
- 最后,再次更新优先级。
总的来说,actor和critic网络在每个更新步骤中通过N次转换进行优化,就像标准的非策略actor-critic算法一样。
异议:LA3P引入了额外的tree,增加了计算复杂度
解决:最新推出的CPU支持单指令多数据结构(SIMD)可以克服该缺点