Deep Reinforcement Learning Lecture 6

Proximal Policy Optimization

Proximal Policy Optimization

Proximal Policy Optimization (PPO) 的 objective function:

$$\max_{\theta}\left( \mathbb{E}_t\left[\frac{\pi_{\theta}(a_t|s_t)}{\pi_{\theta_{\text{old}}}(a_t|s_t)} A^{\pi_{\text{old}}}_t\right] - \beta \mathbb{E}_t\left[\textbf{KL}[\pi_{\theta_{\text{old}}}(\cdot|s_t), \pi_{\theta}(\cdot|s_t)]\right]\right)$$

其中第二项是为了保证 $\pi$ 在更新时不要发生太大的变化,这样可以让训练更稳定。

Adaptive KL Penalty

系数 $\beta$ 是可以调节的,用于调节 KL penalty 的比重,也可以 adaptively 调节。比如令

$$d = \mathbb{E}_t\left[\textbf{KL}[\pi_{\theta_{\text{old}}}(\cdot|s_t), \pi_{\theta}(\cdot|s_t)]\right]$$

再设定一个目标 $d_{\text{targ}}$,

  • 当 $d<d_{\text{targ}}/1.5$ 时,$\beta\leftarrow \beta/2$。
  • 当 $d>d_{\text{targ}}\times 1.5$ 时,$\beta\leftarrow \beta\times 2$。

PPO with Clipped Objective

为了让训练更加稳定,对 $r_t=\frac{\pi_{\theta}(a_t|s_t)}{\pi_{\theta_{\text{old}}}}$ 进行 clip:

$$L^{\text{CLIP}}=\mathbb{E}_t\left[\min \left(r_t A^{\pi_{\text{old}}}_t, \text{clip}(r_t, 1-\epsilon, 1+\epsilon) A^{\pi_{\text{old}}}_t\right)\right]$$

PPO in Practice

一般在使用时,会在 CLIP 项后额外加两项,而 KL divergence 则作为调节 learning rate 的判据 (KL小就调大 lr,KL大就调小 lr)。

Licensed under CC BY-NC-SA 4.0