摘要
本文介绍了一种具有经验回放能力的actor-critic深度强化学习agent,该经验回放具有稳定的,高效的采样效率,并且在具有挑战性的环境中表现出色,包括离散的Atari游戏和若干的连续控制问题。为此,本文介绍了一些包括采用偏差校正的截断重要性抽样,随机对抗网络体系结构以及一种新的信赖域策略优化方法。
1.介绍
现实的模拟环境可训练agent学习大量的认知技能,这是AI最新突破的核心。通过更丰富的现实环境,我们的agent能力得到了丰富和提高。不幸的是,这些进步伴随着仿真成本的大幅增加。特别是,每次agent对环境起作用时,都会执行昂贵的模拟步骤。 因此,为了降低仿真成本,我们需要减少仿真步骤(即从环境中采样数据)的数量。当在现实世界中部署agent时,对样本采样效率的需求变得更加迫切。
经验回放(experience replay)在深度Q-learning中很受欢迎,通常是出于作为减少样本相关性的技术而使用。回放实际上是提高样本效率的宝贵工具,正如我们将在实验中看到的那样,最先进的深度Q-learning方法展示了这一点是Atari上最有效的样本采样技术。但是,我们需要做得比深度Q-learning更好,因为它有两个重要的局限性:首先,采用确定性最优策略限制了其在对抗领域的使用。其次,对于大型动作空间,找到相对于Q函数的贪婪动作是昂贵的。
策略梯度方法一直是AI和机器人技术取得重大进展的核心。这些方法中的许多仅限于连续领域或非常具体的任务,例如playing-Go。现有的变体能同时适用于连续和离散领域,例如Mnih等人的在线策略异步优势actor-critic(A3C),但样本效率低下。
适用于连续和离散动作空间的稳定的,采样效率高效的actor-critic方法的设计一直是强化学习(RL)的长期阻碍。我们相信本文是成功应对这一挑战的第一篇论文。更具体地说,我们介绍了具有经验回放的actor-critic(ACER)方法,该方法几乎可以与Atari上的优先回放的深度Q网络的最新性能相匹配,并且在Atari和连续控制领域上的样本采样效率均优于A3C 。
ACER利用了深度神经网络、方差减少技术、离线策略Retrace算法和RL agent的并行训练的最新进展。然而,更加重要的是,它的成功取决于本文中提出的创新:具有偏差校正的截断重要性抽样,随机对抗网络体系结构以及高效的信赖域策略优化。
在理论上,本文证明了可以使用我们提出的具有偏差校正技术的截断重要性抽样重用Retrace算法。
2.背景和问题定义
考虑agent在离散时间步长上与其环境进行交互。在时刻
t,agent观察到
nx维状态向量
xt∈X⊆Rnx,根据策略
π(a∣xt)选择动作
at,并观察到环境产生的奖赏信号
rt∈R。我们将在第3节和第4节中考虑在
at∈{1,2,…,Na}处的离散动作,以及在第5节中考虑在
at∈A⊆Rna中的连续动作。
(1)动作和状态价值函数定义
Agent的目标是最大化期望累计衰减奖赏
Rt=∑i≥0γirt+i。衰减因子
γ∈[0,1)权衡当前和未来奖赏的重要性。对于遵循策略
π的agent,我们使用如下动作价值函数和状态价值函数的标准定义:
Qπ(xt,at)=Ext+1:∞,at+1:∞[Rt∣xt,at]andVπ(xt)=Eat[Qπ(xt,at)∣xt].
其中,数学期望受限于观察到的环境状态
xt和由策略
π生成的动作,另外,
xt+1:∞表示从时刻
t+1开始的状态轨迹。
(2)优势函数定义
我们还需要定义优势函数
Aπ(xt,at)=Qπ(xt,at)−Vπ(xt),由于
Eat[Aπ(xt,at)]=0,它提供了每个动作的相对度量。
(3)目标函数定义
可以使用对策略梯度的衰减近似来更新可微分策略
πθ(at∣xt)中的参数
θ,该参数是从Schulman等人的文献中借用的,定义为:
g=Ex0:∞,a0:∞[t≥0∑Aπ∇θlog πθ(at∣xt)].(1)
遵循Schulman等人的命题1,我们可以将上述表达式中的
Aπ(xt,at)替换为动作价值
Qπ(xt,at),衰减收益
Rt或TD误差
rt+γVπ(xt+1)−Vπ(xt),而不引入偏差。但是,这些选择会有不同的变化。此外,在实践中,我们将使用神经网络对这些数量进行近似,从而引入其他近似误差和偏差。通常,使用
Rt的策略梯度估计器将具有较高的方差和较低的偏差,而使用函数逼近的估计器将具有较高的偏差和较低的方差。将
Rt与当前价值函数逼近相结合以在保持有限方差的同时最小化偏差是ACER背后的主要设计原则之一。
为了权衡偏差和方差,Mnih等人的异步优势actor-critic(A3C)使用单个轨迹样本获得以下梯度近似值:
g
a3c=t≥0∑((i=0∑k−1γirt+i)+γkVθvπ(xt+k)−Vθvπ(xt))∇θlog πθ(at∣xt).(2)
A3C结合了k步收益和函数逼近,以权衡方差和偏差。我们可以将
Vθvπ(xt)视为用于减少方差的策略梯度基准。
(4)总结
在下面一节中,我们将介绍ACER的离散动作版本。ACER可以理解为Mnih等人的A3C方法的离线策略对应版本。因此,ACER建立在A3C的所有工程创新之上,包括高效的并行CPU计算。
ACER使用单个深度神经网络来估计策略
πθ(at∣xt)和价值函数
Vθvπ(xt)。(为了清楚和通用性起见,我们使用两个不同的符号来表示策略和价值函数的参数
θ和
θv,但其中大多数参数在单个神经网络中共享)尽管在A3C网络的基础上构建,但我们的神经网络将引入一些修改和模块。
3.具有经验回放的离散Actor-Critic
具有经验回放的离线策略学习似乎是提高actor-critic样本效率的明显策略。但是,众所周知,控制离线策略估计器的方差和稳定性非常困难。重要性抽样是离线策略学习中最受欢迎的方法之一。在本文中,其过程如下。假设我们检索了一条轨迹
{x0,a0,r0,µ(⋅∣x0),⋅⋅⋅,xk,ak,rk,µ(⋅∣xk)},其中动作已根据行为策略
µ进行了采样,该策略来自于我们的经验回放。然后,重要性加权策略梯度由下式给出:
g
imp=(t=0∏kρt)t=0∑k(i=0∑kγirt+i)∇θlog πθ(at∣xt),(3)
其中,
ρt=μ(at∣xt)π(at∣xt)表示重要性权重。该估计器没有偏差,但由于涉及许多潜在的无界重要性权重的乘积,因此存在很大的方差。为了防止重要性权重的乘积爆炸,Wawrzynski将该乘积进行截断。截断整个轨迹上的重要性采样能够引入明显的偏差,从而使方差存在边界。
最近,Degris等人通过在该过程的有限分布上使用边界价值函数来解决此问题,以产生梯度的以下近似值:
gmarg=Ext∼β,at∼μ[ρt∇θlog πθ(at∣xt)Qπ(xt,at)],(4)
其中,
Ext∼β,at∼μ[⋅]是行为策略为
µ时对极限分布
β(x)=limt→∞P(xt=x∣x0,µ)的期望。为保持表达式简洁,我们将用
Extat[⋅]替换
Ext∼β,at∼μ[⋅],并确保我们在必要时提醒读者。
关于方程式(4)的两个重要事实必须指出:首先,请注意,它取决于
Qπ而不取决于
Qµ,因此我们必须能够估计
Qπ。其次,我们不再具有重要性权重的乘积,而只需要估计边界重要性权重
ρt。在此较低维空间中的重要性采样(相对于轨迹而言,在边际上)有望表现出较低的方差。
Degris等使用
lambda收益估计方程(4)中的
Qπ:Rtλ=rt+(1−λ)γV(xt+1)+λγρt+1Rt+1λ。该估计器要求我们知道如何提前选择
λ来权衡偏差和方差。此外,当使用较小的
λ值来减少方差时,偶尔较大的重要性权重仍可能导致不稳定。
在以下小节中,我们采用Munos等人的Retrace算法估计
Qπ。随后,我们提出了一种重要的权重截断技术,以提高Degris等人的离线策略actor-critic的稳定性,并介绍了一种用于策略优化的高效计算的信赖域方案。连续行动空间的ACER的制定将需要在第5节中进行进一步的创新。
3.1 状态-动作价值函数的多步估计
在本文中,我们使用Retrace估计
Qπ(xt,at)。我们也对Precup等人的相关树备份方法进行了实验,但发现Retrace在实践中表现更好。给定行为策略
µ下生成的轨迹,Retrace估计器可以递归表示为:
Qret(xt,at)=rt+γρˉt+1[Qret(xt+1,at+1)−Q(xt+1,at+1)]+γV(xt+1),(5)
其中,
ρˉt为截断重要性权重,
ρˉt=min{c,ρt}且
ρt=μ(at∣xt)π(at∣xt)。
Q是当前
Qπ的价值估计,并且
V(x)=Ea∼πQ(x,a)。Retrace是一种离线策略的,基于收益的算法,它具有较低的方差,并且对于任何行为策略,都已证明(以表格形式)能够收敛到目标策略的价值函数,请参见Munos et al. (2016)。
递归的Retrace方程取决于估计值
Q。要计算它,在离散的动作空间中,我们采用具有“两个头部”的卷积神经网络,输出估计值
Qθv(xt,at)以及策略
πθ(at∣xt)。这种神经表示与(Mnih et al., 2016)中相同,只是我们输出的是向量
Qθv(xt,at)而不是标量
Vθv(xt)。估计
Vθv(xt)可以通过取
πθ下的
Qθv的期望值轻松得出。
为了近似策略梯度
gmarg,ACER使用
Qret估计
Qπ。由于Retrace使用多步收益,因此可以显着减少策略梯度估计中的偏差。
为了学习critic
Qθv(xt,at),我们再次使用
Qret(xt,at)作为均方误差损失的目标,并使用以下标准梯度更新其参数
θv:
(Qret(xt,at)−Qθv(xt,at))∇θvQθv(xt,at)).(6)
由于Retrace是基于收益的算法,因此还可以更快地学习critic。因此,在我们的设置中,多步估计器
Qret有两个目标:
(1)减少策略梯度的偏差;
(2)更快地学习critic,从而进一步减少偏差。
3.2 使用偏差校正的重要性权重截断
等式(4)中的边界重要性权重能变得很大,从而导致更新不稳定。为了防止高方差,我们提出了了截断重要性权重,并通过以下
gmarg分解引入校正项:
gmarg=Extat[ρt∇θlog πθ(at∣xt)Qπ(xt,at)]=Ext[Eat[ρˉt∇θlog πθ(at∣xt)Qπ(xt,at)]+Ea∼π([ρt(a)ρt(a)−c]+∇θlog πθ(a∣xt)Qπ(xt,a))],(7)
如前所述,
ρˉt=min{c,ρt}且
ρt=μ(at∣xt)π(at∣xt)。我们还引入了符号
ρt(a)=µ(a∣xt)π(a∣xt),如果
x>0,则
[x]+=x,否则为零。我们提醒读者,以上期望与行为策略下的极限状态分布有关:
xt〜β和
at〜µ。
等式(7)的第一项中重要性权重的裁剪确保了梯度估计的方差是有界的。校正项(等式(7)中的第二项)确保我们的估计没有偏差。请注意,校正项仅对
ρt(a)>c这样的动作有效。特别是,如果我们为
c选择较大的值,则校正项仅在等式(4)的原始离线策略估计器的方差非常大时才生效。发生这种情况时,我们的分解具有很好的性质,即第一项的截断权重最多为
c,而第二项的校正权重
[ρt(a)ρt(a)−c]+最多为1。
我们用神经网络近似
Qθv(xt,at)在校正项中对
Qπ(xt,a)进行建模。这种修改导致了我们称之为带有偏差校正技巧的截断,在这种情况下,将其应用于函数
∇θlog πθ(at∣xt)Qπ(xt,at):
g
marg=Ext[Eat[ρˉt∇θlog πθ(at∣xt)Qret(xt,at)]+Ea∼π([ρt(a)ρt(a)−c]+∇θlog πθ(a∣xt)Qθv(xt,a))].(8)
等式(8)涉及对马尔可夫过程的平稳分布的期望。但是,我们可以通过对从行为策略
µ生成的轨迹
{x0,a0,r0,µ(⋅∣x0),⋅⋅⋅,xk,ak,rk,µ(⋅∣xk)}进行采样来近似。这里的术语
µ(⋅∣xt)是策略向量。给定这些轨迹,我们可以计算出离线策略的ACER梯度:
g
tacer=ρˉt∇θlog πθ(at∣xt)[Qret(xt,at)−Vθv(xt)]+Ea∼π([ρt(a)ρt(a)−c]+∇θlog πθ(a∣xt)[Qθv(xt,a)−Vθv(xt)]).(9)
在上面的表达式中,我们减去了经典基线
Vθv(xt)以减少方差。
有趣的是,当
c=∞时,等式(9)恢复(离线策略)策略梯度到仅使用Retrace的形式。当
c=0时,等式(9)恢复到完全依赖
Q估计的actor critic更新。在连续控制领域,等式(9)还对
c=0时的随机梯度进行了概括,并使用重新参数化技巧来估计其第二项。
3.3 高效信赖域策略优化
Actor-Critic方法的策略更新经常表现出很大的方差。因此,为了确保稳定性,我们必须限制对策略的逐步更改。仅使用较小的学习率是不够的,因为它们无法在维持所需的学习速率的同时防止偶尔的大更新。信赖域策略优化(TRPO)提供了更适当的解决方案。
Schulman等人限制了更新策略与当前策略之间的差异,以确保稳定。尽管他们的TRPO方法有效,但每次更新都需要重复计算梯度的Fisher矢量积。这在大型模型中,是非常低效的。
在本节中,我们介绍一种新的信赖域策略优化方法,该方法可以很好地解决大型模型问题。我们建议不要维护一个更新策略以使其与当前策略接近(如TRPO),而应维持一个平均策略网络(average policy network),该网络代表过去策略的运行平均值,并迫使更新后的策略不会太过偏离该平均值。
我们将策略网络分解为两部分:一个分布
f和一个深度神经网络,该神经网络生成该分布的统计量
ϕθ(x)。也就是说,在给定
f的情况下,策略完全由网络
ϕθ:π(⋅∣x)=f(⋅∣ϕθ(x))特征化。例如,在离散领域中,我们选择
f为概率向量
ϕθ(x)的分类分布。概率向量当然由
θ参数化。
我们将平均策略网络表示为
ϕθa,并在每次更新策略参数
θ之后,“软”更新该网络的参数
θa:θa←αθa+(1−α)θ。
考虑例如公式(9)中定义的ACER策略梯度,对于
ϕ,有:
g
tacer=ρˉt∇ϕθ(xt)log f(at∣ϕθ(xt))[Qret(xt,at)−Vθv(xt)]+Ea∼π([ρt(a)ρt(a)−c]+∇ϕθ(xt)log πθ(a∣ϕθ(xt))[Qθv(xt,a)−Vθv(xt)]).(10)
给定平均策略网络,我们提出的信赖域更新涉及两个阶段。
(1)在第一阶段,我们使用线性化KL散度约束来解决以下优化问题:
zminimize21∣∣g^tacer−z∣∣22subject to ∇ϕθ(xt)DKL[f(⋅∣ϕθa(xt))∣∣f(⋅∣ϕθ(xt))]Tz≤δ(11)
由于约束是线性的,因此整体优化问题可以简化为简单的二次规划问题,可以使用KKT条件轻松地以封闭形式导出其解。令
k=∇ϕθ(xt)DKL[f(⋅∣ϕθa(xt))∣∣f(⋅∣ϕθ(xt))],则解为:
z∗=g^tacer−max{0,∣∣k∣∣22kTg^tacer−δ}k(12)
梯度的这种转换具有非常自然的形式。如果满足该约束,则相对于
ϕθ(xt)的梯度不变。否则,将在
k方向上按比例缩小更新,从而有效降低当前策略和平均策略网络的激活之间的变化率。
(2)在第二阶段,我们利用反向传播。具体而言,通过网络反向传播相对于
ϕθ的更新梯度,即
z∗,以计算相对于参数的导数。策略网络的参数更新遵循链式规则:
∂θ∂ϕθ(x)z∗。
信赖域步骤是在分布
f的统计信息空间中执行的,而不是在策略参数的空间中执行的。故意这样做是为了避免通过策略网络进行额外的反向传播步骤。
我们想指出的是,可以将本节中介绍的算法视为在反向传播中修改反向消息以稳定激活的通用策略。
代替信赖域更新,可以按照Heess等人的建议,在目标函数中添加适当缩放的KL成本。 但是,根据我们的经验,这种方法对选择超参数的鲁棒性较差。
ACER算法是上述思想的结合,精确的伪代码出现在附录A中。主算法(算法1)调用在线策略ACER来执行更新和采样轨迹。然后,它调用离线策略ACER组件来执行几个回放步骤。在在线策略中,ACER有效地成为A3C的修改版本,其中使用
Q而不是
V基准,并使用信赖域优化。
4.ATARI实验结果
5.具有经验回放的连续Actor-Critic
Retrace需要同时估计
Q和
V,但是我们不能轻易地对
Q进行积分以在连续动作空间中得出
V。在本节中,我们以新的RL表示形式以及对信赖域更新所必需的修改形式,提出了针对此问题的解决方案。
5.1 策略估计
回溯提供了学习
Qθv的目标,但没有提供学习
Vθv的目标。在给定
Qθv的情况下,我们可以使用重要性采样来计算
Vθv,但是该估计量具有较高的方差。
在Wang等人的对抗网络的启发下,我们提出了一种称为随机对抗网络(Stochastic Dueling Networks,SDN)的新架构,该模型旨在估算离线策略的
Vπ和
Qπ,同时保持两个估算之间的一致性。在每个时刻,SDN都会输出
Qπ的随机估计
Q
θv和
Vπ的确定性估计
Vθv,使得:
Q
θv(xt,at)∼Vθv(xt)+Aθv(xt,at)−n1i=1∑nAθv(xt,ui), and ui∼πθ(⋅∣xt)(13)
其中
n是一个参数,请参见图2。从
Ea∼π(⋅∣xt)[Eu1:n∼π(⋅∣xt)(Q
θv(xt,a))]=Vθv(xt)的角度来看,这两个估计值是一致的。此外,我们可以通过学习
Q
θv来了解
Vπ。为了看到这一点,假定我们完美地学习了
Qπ,使得
Eu1:n〜π(⋅∣xt)(Q
θv(xt,at))=Qπ(xt,at),则
Vθv(xt)=Ea∼π(⋅∣xt)[Eu1:n∼π(⋅∣xt)(Q
θv(xt,a))]=Ea〜π(⋅∣xt)[Qπ(xt,a)]=Vπ(xt)。因此,
Q
θv(xt,at)上的目标也提供了用于更新
Vθv的误差信号。
但是,除了SDN之外,我们还构造了以下新的目标来估算
Vπ:
Vtarget(xt)=min{1,μ(at∣xt)π(at∣xt)}(Qret(xt,at)−Qθv(xt,at))+Vθv(xt).(14)
上述目标也是通过截断和偏差校正技巧得出的;有关更多详细信息,请参见附录D。
最后,当在连续域中估计
Qret时,我们实现了截断重要性权重的稍微不同的表述
ρˉt=min{1,(μ(at∣xt)π(at∣xt))d1},其中
d是动作空间的维数。尽管不是必需的,但我们发现这种方法可以加快学习速度。
5.2 信赖域更新
要在连续控制领域中采用信赖域更新方案(第3.3节),只需选择分布
f和适合于连续动作空间的梯度规范
g^tacer即可。对于分布
f,我们选择协方差对角固定且均值为
ϕθ(x)的高斯分布。
为了在连续动作空间中导出
g^tacer,请考虑随机对抗网络的ACER策略梯度,但要考虑
ϕ:
gtacer=Ext[Eat[ρˉt∇ϕθ(xt)log f(at∣ϕθ(xt))(Qopc(xt,at)−Vθv(xt))]+Ea∼π([ρt(a)ρt(a)−c]+(Q
θv(xt,a)−Vθv(xt))∇ϕθ(xt)log f(a∣ϕθ(xt)))].(15)
在上面的定义中,我们使用
Qopc代替
Qret。在这里,
Qopc(xt,at)与Retrace相同,不同之处在于截断的重要性比被替换为1。 请参考附录B对该设计选择的扩展讨论。给定一个观测值
xt,我们可以采样
at′〜πθ(⋅∣xt)以获得以下蒙特卡洛近似:
g^tacer=ρˉt∇ϕθ(xt)log f(at∣ϕθ(xt))(Qopc(xt,at)−Vθv(xt))+[ρt(at′)ρt(at′)−c]+(Q
θv(xt,at′)−Vθv(xt))∇ϕθ(xt)log f(at′∣ϕθ(xt)).(15)
给定
f和
g^tacer,我们将采用与第3.3节中详述的相同步骤来完成更新。附录A中给出了用于连续空间结果的ACER算法的精确伪代码。
6.MUJOCO实验结果