1. 强化学习的目标
强化学习的目标是要找到一个策略 πθ,使得总体回报的期望最高:
J(θ)=Eτ∼πθ[R(τ)]
其中,τ 是轨迹,是一系列状态和动作在时间序列上的集合:
τ=(s0,a0,s1,a1,⋯)
J(θ) 是关于轨迹 τ 的期望,由期望的概念可知:
J(θ)=∫τpθ(τ)R(τ)dτ
其中 pθ(τ) 是轨迹 τ 的概率,R(τ) 是轨迹 τ 的回报。对期望的概念不熟悉,可以参见 Appendix 1。
轨迹 τ 是由一系列状态和动作构成,轨迹的概率 pθ(τ) 可以表示成状态和动作的条件概率乘积:
pθ(τ)=ρ(s0)t=0∏∞πθ(at∣st)p(st+1∣st,at)
其中,ρ(s0) 是环境给的初始状态的概率,πθ(at∣st) 是策略在状态 st 下选择动作 at 的概率, p(st+1∣st,at) 是状态转移概率。
注意:从一开始,为了便于统一和理解,在表述策略时,都将其表示成与参数 θ 是相关的:πθ
2. 策略梯度
为了求 J(θ) 的最大值,可以使用梯度上升:
θ←θ+α∇θJ(θ)
那么就是求 ∇θJ(θ):
∇θJ(θ)=Eτ∼πθ[t=0∑∞∇θlogπθ(at∣st)R(τ)]
具体的推导过程可以参见 Appendix 2。
3. 策略梯度的更近一步
至此,我们已经推导出了策略梯度的基本公式,但是差最后一步,先上结论:
∇θJ(θ)=Eτ∼πθ[t∑∇θlogπθ(at∣st)G(t)]
其中,Gt=∑k=t∞γk−trk。用大白话讲就是期望回报不能按照整条路径计算,应该从当前往后计算,这个也可以从实际的推导出看出,具体的推导过程可以参见 Appendix 3。
4. Appendix
4.1. 期望
期望是概率论和统计学中的一个核心概念,表示随机变量的平均值。对于离散型随机变量和连续型随机变量有不同的公式形式:
E[X]=x∑xP(X=x)
E[X]=∫xp(x)dx
4.2. 回报的期望的求导
∇θJ(θ)=∇θ∫τpθ(τ)⋅R(τ)dτ=∫τ∇θpθ(τ)⋅R(τ)dτ
由对数的导数可知:
∇θlogpθ(τ)=pθ(τ)∇θpθ(τ)
因此:
∇θpθ(τ)=pθ(τ)∇θlogpθ(τ)
代入到上式中:
∇θJ(θ)=∫τpθ(τ)∇θlogpθ(τ)⋅R(τ)dτ=Eτ∼πθ[∇θlogpθ(τ)R(τ)]
再将 logpθ(τ) 展开:
logpθ(τ)=log[ρ(s0)t=0∏∞πθ(at∣st)p(st+1∣st,at)]=logρ(s0)+t=0∑∞logπθ(at∣st)+t=0∑∞logp(st+1∣st,at)
带入到 ∇θlogpθ(τ) 中,由于 logρ(s0) 和 ∑t=0∞logp(st+1∣st,at) 均和 θ 无关,因此:
∇θlogpθ(τ)=t=0∑∞∇θlogπθ(at∣st)
最终得到:
∇θJ(θ)=Eτ∼πθ[t=0∑∞∇θlogπθ(at∣st)R(τ)]
4.3. 回报的期望计算
我们从 ∇θJ(θ) 开始:
∇θJ(θ)=Eτ∼πθ[t=0∑∞∇θlogπθ(at∣st)R(τ)]=t∑Eτ∼πθ[∇θlogπθ(at∣st)R(τ)]
将总回报 R(τ) 拆分成两个部分:
R(τ)=k<t∑γkrk+k≥t∑γkrk
带入到原公式中:
∇θJ(θ)=t∑(Eτ∼πθ[∇θlogπθ(at∣st)k<t∑γkrk]+Eτ∼πθ[∇θlogπθ(at∣st)k≥t∑γkrk])
现在需要证明的是 Eτ∼πθ[∇θlogπθ(at∣st)∑k<tγkrk]=0,这里使用到了全期望公式(Law of Total Expectation):
全期望公式(Law of Total Expectation):设$ X 是随机变量, Y $是另一个随机变量,只要期望存在,则有:
E[X]=E[E[X∣Y]]
根据上面的公式,为了简洁,令:Bt=∑k<tγkrk,则有:
E[∇θlogπθ(at∣st)Bt]=E[E[∇θlogπθ(at∣st)Bt∣st]]
在这里,Bt 只依赖于 (s0,a0,⋯,st−1,at−1),与 st 无关,因此,
E[∇θlogπθ(at∣st)Bt∣st]=Bt⋅E[∇θlogπθ(at∣st)∣st]
将后面的期望展开:
E[∇θlogπθ(at∣st)∣st]=a∑πθ(a∣st)∇θlogπθ(a∣st)=a∑∇θπθ(a∣st)=0
因此,就有了:
∇θJ(θ)=Eτ∼πθ[t∑∇θlogπθ(at∣st)G(t)]
其中,Gt=∑k=t∞γk−trk。注意这边折扣因子 γ 的含义。
全期望公式(Law of Total Expectation)很重要,后面还会使用到。
参考文献
[1] http://incompleteideas.net/book/RLbook2020.pdf