强化学习之PPO算法-2. 算法原理

PPO算法的核心思想是通过限制新旧策略之间的变化,防止策略更新过度。具体来说,PPO通过以下目标函数来更新策略:

L CLIP ( θ ) = E t [ min ⁡ ( r t ( θ ) A ^ t ,  clip ( r t ( θ ) , 1 − ϵ , 1 + ϵ ) A ^ t ) ] L^{\text{CLIP}}(\theta) = \mathbb{E}_t \left[ \min \left( r_t(\theta) \hat{A}_t, \ \text{clip}(r_t(\theta), 1 - \epsilon, 1 + \epsilon) \hat{A}_t \right) \right] LCLIP(θ)=Et[min(rt(θ)A^t, clip(rt(θ),1ϵ,1+ϵ)A^t)]

其中:

  • r t ( θ ) = π θ ( a t ∣ s t ) π θ old ( a t ∣ s t ) r_t(\theta) = \dfrac{\pi_\theta(a_t|s_t)}{\pi_{\theta_{\text{old}}}(a_t|s_t)} rt(θ)=πθold(atst)πθ(atst) 表示新旧策略的概率比。
  • A ^ t \hat{A}_t A^t 是优势函数的估计。
  • ϵ \epsilon ϵ 是控制策略更新幅度的超参数。

2.1 优势函数估计

优势函数 A ^ t \hat{A}_t A^t 可以通过广义优势估计(Generalized Advantage Estimation,GAE)来计算:

A ^ t = δ t + ( γ λ ) δ t + 1 + ( γ λ ) 2 δ t + 2 + … \hat{A}_t = \delta_t + (\gamma \lambda) \delta_{t+1} + (\gamma \lambda)^2 \delta_{t+2} + \dots A^t=δt+(γλ)δt+1+(γλ)2δt+2+

其中,TD残差 δ t \delta_t δt 定义为:

δ t = r t + γ V ( s t + 1 ) − V ( s t ) \delta_t = r_t + \gamma V(s_{t+1}) - V(s_t) δt=rt+γV(st+1)V(st)

γ \gamma γ 是折扣因子, λ \lambda λ 是用于平衡偏差和方差的超参数。

2.2 策略更新

PPO的策略更新通过最大化 L CLIP ( θ ) L^{\text{CLIP}}(\theta) LCLIP(θ) 来实现。由于引入了 clip \text{clip} clip 操作,损失函数对 r t ( θ ) r_t(\theta) rt(θ) 的变化在 [ 1 − ϵ , 1 + ϵ ] [1 - \epsilon, 1 + \epsilon] [1ϵ,1+ϵ] 范围之外不再敏感,从而限制了每次更新的步幅。

2.3 价值网络更新

除了策略网络,PPO还使用价值网络来估计状态值函数 V ( s ) V(s) V(s),其损失函数为:

L VF ( θ ) = E t [ ( V θ ( s t ) − V t target ) 2 ] L^{\text{VF}}(\theta) = \mathbb{E}_t \left[ \left( V_\theta(s_t) - V_t^{\text{target}} \right)^2 \right] LVF(θ)=Et[(Vθ(st)Vttarget)2]

其中, V t target V_t^{\text{target}} Vttarget 是对真实价值的估计,例如使用TD目标:

V t target = r t + γ V ( s t + 1 ) V_t^{\text{target}} = r_t + \gamma V(s_{t+1}) Vttarget=rt+γV(st+1)

2.4 总损失函数

综合考虑策略损失和价值函数损失,以及可能的熵正则项,PPO的总损失函数为:

L ( θ ) = L CLIP ( θ ) − c 1 L VF ( θ ) + c 2 S [ π θ ] ( s t ) L(\theta) = L^{\text{CLIP}}(\theta) - c_1 L^{\text{VF}}(\theta) + c_2 S[\pi_\theta](s_t) L(θ)=LCLIP(θ)c1LVF(θ)+c2S[πθ](st)

其中:

  • c 1 c_1 c1 c 2 c_2 c2 是权衡各项损失的系数。
  • S [ π θ ] ( s t ) S[\pi_\theta](s_t) S[πθ](st) 是策略的熵,鼓励探索。
上一篇:十二、结构型(代理模式)


下一篇:王牌功能 | 法大大“合同起草”,让合同定稿不再难搞!