Frank S等人在《Parameter-exploring Policy Gradients》中提出了PEPG/PGPE算法:
1.介绍
Policy gradient方法,这么称呼是因为:他们可以在policy space中进行搜索,而非从一个value function上直接对policy进行派生。
2.方法
在本节中,我们源自于在Markovian environment中的关于情景强化学习(episodic reinforcement learning)的通用框架,提出PGPE算法。特别的,我们会强调下PGPE和其它policy gradient方法(比如:REINFORCE)之间的差异。在2.3节中,我们会引入symmetric sampling,并解释它会提升收敛速度。
2.1 Policy Gradients with Parameter-Based Exploration
考虑一个agent,它的action at是基于在time t时的state st,产生在下一step中的state st+1。我们会对continuous state spaces和action spaces感兴趣,这对于大多数技术系统的控制来说是需要的。
我们假设:environment是Markovian,在下一states st+1上的条件概率分布,整体通过前一state-action pair来决定,即:
st+1∼p(st+1∣st,at)我们也会假设这样的一个随机策略(stochastic policy),在actions上的分布依赖于当前state以及关于agent参数的real valued vector θ:
at∼p(at∣st,θ)最后,我们假设:每个state-action pair会生成一个Markovian reward标量:
rt(at,st)我们将由一个agent产生的state-action pairs的长度为T的state-action pairs序列称为一个history(文献中的其它地方,这样的序列被称为 trajectories 或 roll-outs):
h=[s1:T,a1:T]给定以上的公式,我们会使用每个history h与一个cumulative reward r进行关联,并对每个time step上的rewards进行求和:
r(h)=T∑t=1rt在这样的setting中,reinforcement learning的目标是:发现参数θ,最大化agent的expected reward:
J(θ)=∫Hp(h|θ)r(h)dh…(1)
一个最大化J(θ)的明显方法是:估计∇θJ,并使用它来执行梯度下降最优化(gradient ascent optimization)。注意:对于一个特定的history的reward是与θ独立的,我们可以使用标准恒等式 ∇xy(x)=y(x)∇xlogx来获取:
∇θJ(θ)=∫Hp(h|θ) ∇θlogp(h|θ) r(h) dh…(2)
由于environment是马尔可夫过程(Markovian), 并且states是在给定agent的actions选择下给定参数下是条件独立的,我们可以写成:
p(h|θ)=p(s1)T∏t=1p(st+1|st,at)p(at|st,θ)将它代入到等式(2)生成:
∇θJ(θ)=∫Hp(h|θ)T∑t=1∇θp(at|st,θ)r(h)dh…(3)
很明显,在histories的整个空间上进行积分是不可行的,我们因此对采样方法进行resort:
∇θJ(θ)≈1NN∑n=1T∑t=1∇θp(ant|snt,θ) r(hn)…(4)
其中:
- histories hi会根据p(hi∣θ)被选中。
接着该问题是:如何建模p(at∣st,θ)?
在policy gradient方法(比如:REINFORCE)中,参数θ会被用于决定一个probabilistic policy:πθ(at∣st)=p(at∣st,θ)。一个常见的policy model可以是一个参数化函数近似器,它的outputs定义了选中不同actions的概率。在本case中,通过在每个time step上根据policy分布选择一个action,来生成histories,接着,最终的gradient会通过对policy根据参数进行微分来计算。然而,在每个time step上从policy抽样,会导致在histories上的抽样具有一个高variance,因此会导致一个有噪声的gradient估计。
PGPE通过使用一个在参数θ上的概率分布来替换probibilistic policy,来解决variance问题,例如:
p(at|st,ρ)=∫Θp(θ|ρ)σFθ(st),atdθ…(5)
其中:
- ρ:是决定在θ上分布的参数
- Fθ(st):是(deterministic) action,指在state st下被具有参数θ的模型选中
- δ:是狄拉克δ函数(Dirac delta function)
该方法的优点是:actions是deterministic,因此整个history可以从单个参数的样本来生成。这种在samples-per-history上的简化法,会减小在gradient estimate中的variance。作为一个辅加好处,参数梯度(parameter gradient)会通过直接参数扰动(perturbations)进行估计,无需对任何导数(derivatives)进行backpropagate,它会允许使用无微分的controllers。
对于一个给定ρ的期望收益(expected reward)是:
J(ρ)=∫θ∫Hp(h,θ|ρ)r(h)dhdθ…(6)
对expected return根据ρ进行微分,并在之前应用log tricks,我们可以得到:
∇ρJ(ρ)=∫θ∫Hp(h,θ|ρ)∇ρlogp(h,θ|ρ)r(h)dhdθ…(7)
注意,h条件独立于θ∣ρ,我们有:p(h,θ∣ρ)=p(h∣θ)p(θ∣ρ),因此:∇ρlogp(h,θ∣ρ)=∇ρlogp(θ∣ρ)。将它代入等式(7)生成:
∇ρJ(ρ)=∫θ∫Hp(h,θ)p(θ|ρ)∇ρlogp(θ|ρ)r(h)dhdθ…(8)
接着再次使用抽样方法,这次首先从p(θ∣ρ)选择θ,接着运行agent来从p(h∣θ)来生成h。该过程会生成以下的gradient estimator:
∇ρJ(ρ)≈1NN∑n=1∇ρlogp(θ|ρ)r(hn)…(9)
假设:ρ包含了一个关于均值 {μi}、标准差{σi}的集合,它决定了在θ中每个参数θi的独立正态分布,对于logp(θ∣ρ)的导数会对μi和σi分别求导:
∇μilogp(θ|ρ)=θi−μiσ2i∇σilogp(θ|ρ)=(θi−μi)2−σ2iσ3i…(10)
它代入等式(9)中来逼近μ和σ的gradients.
2.2 使用一个baseline来Sampling
给定足够的样本,等式(9)会决定reward gradient到任意accuracy。然而,每个样本需要rolling out一整个state-action history,它代价很高。根据Williams(1992),我们可以通过抽取单个样本θ并将它的reward r与一个baseline reward b(通过在之前样本中给定的一个移动平均)进行对比,来获得一个成本更低的gradient estimate。
直觉上,如果r>b,我们会调节ρ,以便增加θ的概率,当r < b时则相反。
如果我们在positive gradient的方向上使用一个step size αi=ασ2i(其中:α是个常数),我们会获得以下的参数更新等式:
Δμi=α(r−b)(θi−μi)Δσi=α(r−b)(θi−μi)2−σ2iσi…(11)
2.3 对称采样(Symmetric sampling)
对于大多数场景,使用一个baseline采样很高效、并且是合理准确的,但它具有一些缺点。特别的,如果reward分布是非常倾斜的,那么在sample reward和baseline reward间的对比会误导向。一个更健壮的梯度近似法:可以通过测量在在当前均值两侧的两个symmetric samples间的reward差异来发现。
也就是说,我们:
- 选择一个来自分布N(0,σ)的扰动(perturbation)ϵ
- 接着创建symmetric参数样本:θ+=μ+ϵ和θ−=μ−ϵ
- 定义:r+为在给定θ+下的reward;r−为给定θ−下的reward
我们可以将两个样本插入到等式(9)中,并利用等式(10)来获取:
∇μiJ(ρ)≈ϵi(r+−r−)2σ2i…(12)
它会对在有限差分法( finite difference methods)中使用的中心差分近似法(central difference approximation)进行重新组装。如同之前一样使用相同的step sizes,对于μ项给出以下的更新公式:
Δμi=αϵi(r+−r−)2…(13)
对于标准差来说,该更新会更关系密切些。由于θ+和θ−是在一个定给σ下通过相同概率构建得到,在它们间的difference不能被用来估计σ gradient。作为替代,我们会采用两个rewards的均值r++r−2,并将它对比baseline reward b。该方法会生成:
Δσi=α(r++r−2−b)(ϵ2i−σ2iσi)…(14)
对比起第2.2节中的方法,symmetric sampling可以消除误导baseline的问题,因此,提升μ gradient estimates。它也可以提升σ gradient estimates,因此,两个样本在当前概率下等概率,因此可以互相增强作为修改σ的受益的predictors。尽管symmetric sampling需要在每次update时有两倍的histories,我们的实验表明:它可以在收敛质量和时间上给出一个很好的提升。
作为一个最终refinement,我们会通过引入一个normalization term,让step size与rewards的规模(可能未知)独立。假设:如果已知,m是agent可以接受到的最大reward;或者未知,则是至今接收到的最大reward。我们通过将它们除以在m和对称样本的平均reward间的difference归一化μ updates;我们则通过除以在m和baseline b间的differnece来归一化σ updates。给定:
Δμi=αϵi(r+−r−)2m−r+−r−Δσi=αm−b((r++r−)2−b)(ϵ2−σ2iσi)…(15)
PGPE的伪代码如算法1所示。注意:出于简洁,reward normalizeation项已经被忽略。
算法1
#