PEPG/PGPE介绍

Reading time ~2 minutes

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+1p(st+1st,at)

我们也会假设这样的一个随机策略(stochastic policy),在actions上的分布依赖于当前state以及关于agent参数的real valued vector θ

atp(atst,θ)

最后,我们假设:每个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)=Tt=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)Tt=1p(st+1|st,at)p(at|st,θ)

将它代入到等式(2)生成:

θJ(θ)=Hp(h|θ)Tt=1θp(at|st,θ)r(h)dh

…(3)

很明显,在histories的整个空间上进行积分是不可行的,我们因此对采样方法进行resort:

θJ(θ)1NNn=1Tt=1θp(ant|snt,θ) r(hn)

…(4)

其中:

  • histories hi会根据p(hiθ)被选中。

接着该问题是:如何建模p(atst,θ)

在policy gradient方法(比如:REINFORCE)中,参数θ会被用于决定一个probabilistic policy:πθ(atst)=p(atst,θ)。一个常见的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(ρ)1NNn=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=α(rb)(θiμi)Δσi=α(rb)(θ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++r2,并将它对比baseline reward b。该方法会生成:

Δσi=α(r++r2b)(ϵ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)2mr+rΔσi=αmb((r++r)2b)(ϵ2σ2iσi)

…(15)

PGPE的伪代码如算法1所示。注意:出于简洁,reward normalizeation项已经被忽略。

图片名称

算法1

#

kuaishou LiveForesighter介绍

kuaishou直播团队在《LiveForesighter: Generating Future Information for Live-Streaming Recommendations at Kuaishou》提出了它们的电商直播推荐LiveForesighter:#...… Continue reading

kuaishou MomentCross介绍

Published on February 20, 2025

kuaishou LiveStream RS介绍

Published on February 19, 2025