Proximal Policy Optimization
Proximal Policy Optimization (PPO) 的 objective function:
θmax(Et[πθold(at∣st)πθ(at∣st)Atπold]−βEt[KL[πθold(⋅∣st),πθ(⋅∣st)]])
其中第二项是为了保证 π 在更新时不要发生太大的变化,这样可以让训练更稳定。
Adaptive KL Penalty
系数 β 是可以调节的,用于调节 KL penalty 的比重,也可以 adaptively 调节。比如令
d=Et[KL[πθold(⋅∣st),πθ(⋅∣st)]]
再设定一个目标 dtarg,
- 当 d<dtarg/1.5 时,β←β/2。
- 当 d>dtarg×1.5 时,β←β×2。
PPO with Clipped Objective
为了让训练更加稳定,对 rt=πθoldπθ(at∣st) 进行 clip:
LCLIP=Et[min(rtAtπold,clip(rt,1−ϵ,1+ϵ)Atπold)]
PPO in Practice
一般在使用时,会在 CLIP 项后额外加两项,而 KL divergence 则作为调节 learning rate 的判据 (KL小就调大 lr,KL大就调小 lr)。