论文宗旨:

由于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)可以克服该缺点

Actor Prioritized Experience Replay的更多相关文章

  1. 论文阅读之:PRIORITIZED EXPERIENCE REPLAY

    PRIORITIZED EXPERIENCE REPLAY ICLR 2016 经验回放使得 online reinforcement learning agent 能够记住并且回放过去的经验.在先前 ...

  2. (zhuan) Prioritized Experience Replay

    Prioritized Experience Replay JAN 26, 2016 Schaul, Quan, Antonoglou, Silver, 2016 This Blog from: ht ...

  3. 强化学习中的经验回放(The Experience Replay in Reinforcement Learning)

    一.Play it again: reactivation of waking experience and memory(Trends in Neurosciences 2010) SWR发放模式不 ...

  4. 【深度强化学习】Curriculum-guided Hindsight Experience Replay读后感

    目录 导读 目录 正文 Abstract[摘要] Introduction[介绍] 导读 看任何一个领域的文章,一定要看第一手资料.学习他们的思考方式,论述逻辑,得出一点自己的感悟.因此,通过阅读pa ...

  5. Revisiting Fundamentals of Experience Replay

    郑重声明:原文参见标题,如有侵权,请联系作者,将会撤销发布! ICML 2020 Abstract 经验回放对于深度RL中的异策算法至关重要,但是在我们的理解上仍然存在很大差距.因此,我们对Q学习方法 ...

  6. 强化学习(十一) Prioritized Replay DQN

    在强化学习(十)Double DQN (DDQN)中,我们讲到了DDQN使用两个Q网络,用当前Q网络计算最大Q值对应的动作,用目标Q网络计算这个最大动作对应的目标Q值,进而消除贪婪法带来的偏差.今天我 ...

  7. 【转载】 强化学习(十一) Prioritized Replay DQN

    原文地址: https://www.cnblogs.com/pinard/p/9797695.html ------------------------------------------------ ...

  8. (转) Using the latest advancements in AI to predict stock market movements

    Using the latest advancements in AI to predict stock market movements 2019-01-13 21:31:18 This blog ...

  9. (zhuan) Deep Deterministic Policy Gradients in TensorFlow

          Deep Deterministic Policy Gradients in TensorFlow AUG 21, 2016 This blog from: http://pemami49 ...

  10. (转) Let’s make an A3C: Theory

    本文转自:https://jaromiru.com/2017/02/16/lets-make-an-a3c-theory/ Let’s make an A3C: Theory February 16, ...

随机推荐

  1. 手把手带你玩转Linux

    今天这篇文章带你走进Linux世界的同时,带你手把手玩转Linux,加深对Linux系统的认识. 一.搞好Linux工作必须得不断折腾,说白了,只是动手力量必须强.我在初学Linux的那片,家中三台计 ...

  2. Celery框架从入门到精通

    目录 Celery介绍.安装.基本使用 一.Celery服务 1.celery架构 2.celery快速使用 二.Celer包结构 1.创建clery包结构 2.Celery执行异步任务.延迟任务.定 ...

  3. lua的一些封装方法

    获取点击屏幕坐标 1 function getTouchPosition() 2 local locationX, locationY 3 4 local listener = cc.EventLis ...

  4. 如何使用webgl(three.js)实现3D消防、3D建筑消防大楼、消防数字孪生、消防可视化解决方案——第十八课(一)

    序: 又是很久没出随笔文章了,一篇文章有时候整理一天,实在是抽不出来时间. 最近在回顾几年前的项目时,发现这个智慧三维消防可视化项目很有回顾价值,索性就拿出来讲讲. 首先,我们要知道消防里的知识,不是 ...

  5. jQuery下载步骤以及相关使用

    jQuery下载 进入相关网址执行下载操作,网址在这里:http://www.jq22.com/jquery-info122 进入页面之后,页面的左侧,会有这样的显示: 我们需要自主在这里选择自己需要 ...

  6. 基于 Agora SDK 实现 iOS 端的多人视频互动

    视频互动直播是当前比较热门的玩法,我们经常见到有PK 连麦.直播答题.一起 KTV.电商直播.互动大班课.视频相亲等. 本文将教你如何通过声网Agora 视频 SDK 在iOS端实现一个视频直播应用. ...

  7. SpringBoot---起步依赖starter

    1.简化spring应用的初始搭建和开发过程. springboot程序优点:自动配置.起步依赖(简化依赖配置).辅助功能(内置服务器...) <?xml version="1.0&q ...

  8. 论文翻译:2023_THLNet: two-stage heterogeneous lightweight network for monaural speech enhancement

    论文地址:THLNet: 用于单耳语音增强的两级异构轻量级网络 代码:https://github.com/dangf15/THLNet 引用格式:Dang F, Hu Q, Zhang P. THL ...

  9. Maven常用依赖包简单

    Maven官方仓库:Maven Repository: junit » junit (mvnrepository.com) Mysql 1 <!--Mysql--> 2 <depen ...

  10. sealos踩坑记录

    前言 记录下我安装sealos的踩坑历程,全网基本没有什么类似的可靠资料,也许是因为太小众了吧,希望能帮助到搜索到此文的人. sealos是什么 Sealos 是以 kubernetes 为内核的云操 ...