View on GitHub

Appunti di Reinforcement Learning

< Torna all’indice dei conenuti

Proximal Policy Optimization

Motivazioni PPO:

Miglioramenti rispetto a TRPO:

Varianti di PPO:

Caratteristiche PPO:

Problema di ottimizzazione PPO-Clip

\[\theta_{k+1} = \arg \max_\theta E_{s,a \sim \pi_{\theta_k}}[L(s,a,\theta_k,\theta)]\]

Normalmente l’ottimizzazione avviene in minibatch con SGD per massimizzare $L$.

$L$ è definita come

\[L(s,a,\theta_k,\theta) = \min \left( \frac{\pi_\theta (a,s)}{\pi_{\theta_k}(a,s)} A^{\pi_{\theta_k}}(s,a), clip\left(\frac{\pi_\theta (a,s)}{\pi_{\theta_k}(a,s)},1-\epsilon,1+\epsilon \right) A^{\pi_{\theta_k}}(s,a)\right)\]

dove $\epsilon$ è un iperparametro piccolo che indica quanto può essere diversa la nuova policy.

La loss può essere semplificata, nella formula usata nell’implementazione, come:

\[L(s,a,\theta_k,\theta) = \min \left( \frac{\pi_\theta (a,s)}{\pi_{\theta_k}(a,s)} A^{\pi_{\theta_k}}(s,a), \ g(\epsilon, A^{\pi_{\theta_k}}(s,a))\right)\]

con

\[g(\epsilon,A) = \left \lbrace \begin{aligned} & (1+\epsilon)A, & A \ge 0\\ & (1-\epsilon)A, & A < 0 \end{aligned} \right.\]

Intuizione: si suppone un advantage positivo

\[L(s,a,\theta_k,\theta) = \min \left( \frac{\pi_\theta (a,s)}{\pi_{\theta_k}(a,s)}, (1+\epsilon)\right) A^{\pi_{\theta_k}}(s,a)\]

Osservazioni:

Pseudocodice

PPO Spinning Up