强化学习策略梯度推导
1. 目标函数定义:
强化学习的目标是最大化期望折扣累积回报:
J(θ)=Eτ∼πθ[R(τ)]=Eτ∼πθ[∑t=0T−1γtrt],J(θ)=Eτ∼πθ[R(τ)]=Eτ∼πθ[t=0∑T−1γtrt],
其中 γ∈[0,1]γ∈[0,1] 是折扣因子,τ=(s0,a0,r0,s1,a1,…,sT)τ=(s0,a0,r0,s1,a1,…,sT) 是轨迹。
2. 轨迹概率分解
轨迹的概率密度由策略和环境动态共同决定:
P(τ;θ)=P(s0)∏t=0T−1πθ(at∣st)⏟策略项∏t=0T−1P(st+1∣st,at)⏟环境动态项.P(τ;θ)=P(s0)策略项t=0∏T−1πθ(at∣st)环境动态项t=0∏T−1P(st+1∣st,at).
只有策略项 πθ(at∣st)πθ(at∣st) 依赖于参数 θ,环境动态 P(st+1∣st,at)P(st+1∣st,at) 是MDP的固有属性,与 θθ 无关。
3. 目标函数的积分形式
将期望展开为轨迹空间上的积分:
J(θ)=∫τP(τ;θ)R(τ) dτ.J(θ)=∫τP(τ;θ)R(τ)dτ.
4. 计算目标函数的梯度
对 θθ 求导:
∇θJ(θ)=∫τ∇θP(τ;θ)R(τ) dτ.∇θJ(θ)=∫τ∇θP(τ;θ)R(τ)dτ.
5. 应用对数导数技巧(Log-Derivative Trick)
利用恒等式 ∇θP(τ;θ)=P(τ;θ)∇θlogP(τ;θ)∇θP(τ;θ)=P(τ;θ)∇θlogP(τ;θ):
∇θJ(θ)=Eτ∼πθ[R(τ)∇θlogP(τ;θ)].∇θJ(θ)=Eτ∼πθ[R(τ)∇θlogP(τ;θ)].
6. 分解对数轨迹概率
展开对数概率:
logP(τ;θ)=logP(s0)+∑t=0T−1logπθ(at∣st)+∑t=0T−1logP(st+1∣st,at).logP(τ;θ)=logP(s0)+t=0∑T−1logπθ(at∣st)+t=0∑T−1logP(st+1∣st,at).
求梯度时:
∇θlogP(τ;θ)=∑t=0T−1∇θlogπθ(at∣st)+∇θlogP(s0)+∑t=0T−1∇θlogP(st+1∣st,at)⏟与θ无关,梯度为零.∇θlogP(τ;θ)=t=0∑T−1∇θlogπθ(at∣st)+与θ无关,梯度为零∇θlogP(s0)+t=0∑T−1∇θlogP(st+1∣st,at).
因此:
∇θlogP(τ;θ)=∑t=0T−1∇θlogπθ(at∣st).∇θlogP(τ;θ)=t=0∑T−1∇θlogπθ(at∣st).
7. 策略梯度表达形式
代入梯度表达式:
∇θJ(θ)=Eτ∼πθ[R(τ)∑t=0T−1∇θlogπθ(at∣st)].∇θJ(θ)=Eτ∼πθ[R(τ)t=0∑T−1∇θlogπθ(at∣st)].
8. 因果性(Causality)简化
当前动作 atat 仅影响未来奖励 rt,rt+1,…,rT−1rt,rt+1,…,rT−1,因此:
∑k=tT−1γk−trk=Q(st,at).k=t∑T−1γk−trk=Q(st,at).
最终梯度形式:
∇θJ(θ)=Eτ[∑t=0T−1∇θlogπθ(at∣st)⋅A(st,at)].∇θJ(θ)=Eτ[t=0∑T−1∇θlogπθ(at∣st)⋅A(st,at)].
蒙特卡洛与时序差分以及如何用在监督学习框架后续再写