EasyDeepLearn

Value function clipping in PPO — why and how?

hard

Answer

  • LVF  =  maxL^{\mathrm{VF}}\; = \;\operatorname{max}((Vθ(st)    Vtarg)2(V{\theta}(s_{t})\; - \;V_{\mathrm{targ}})^{2}, (clip(Vθ(st),  Vold    ε,  Vold  +  ε)    Vtarg\mathrm{clip}(V{\theta}(s_{t}), \;V_{\mathrm{old}}\; - \;{\varepsilon}, \;V_{\mathrm{old}}\; + \;{\varepsilon})\; - \;V_{\mathrm{targ}})²) → same trust-region-style clip for the value function.
  • Prevents value update from swinging wildly per epoch.
  • Modest empirical improvement + more stable.
  • Implementation detail buried in original PPO paper's appendix but has real impact.
Check yourself — multiple choice
  • Random
  • Clip value fn analogously to policy: use max((V    Vtarg)2(V\; - \;V_{\mathrm{targ}})^{2}, (clip(V,  Vold  ±  ε)    Vtarg)2(\mathrm{clip}(V, \;V_{\mathrm{old}}\; \pm \;{\varepsilon})\; - \;V_{\mathrm{targ}})^{2}) → limits value swings per epoch; important PPO detail
  • Not needed
  • Same as PPO

PPO value clip: trust-region-style clip on V_θ; important implementation detail.

#actor-critic#engineering

Practise Reinforcement Learning

214 interview questions in this topic.

Related questions