$$\begin{aligned} \max_{\hat \theta} L(\hat \theta) &= {\mathbb E}_{s \sim \rho_\theta, a \sim \pi_{\theta}}\left[\min \left\{ \frac {\pi_{\hat \theta}(a | s)}{\pi_{\theta}(a | s)} A^{\pi_\theta}(a, s), {\rm clip}\left(\frac {\pi_{\hat \theta}(a | s)}{\pi_{\theta}(a | s)}, 1 - \epsilon, 1 + \epsilon\right) A^{\pi_\theta}(a, s) \right\} \right] \end{aligned} $$
其实就是将 TRPO 的二阶 KL 限制变成了一个硬的 clip,变成一阶优化的问题,可以使用 Adam 优化哩。
也有另一个变体叫做 PPO Penalty,也就是通过超参数控制 KL,类似正则化的思路:
$$\max_{\hat\theta} L(\hat\theta) - \beta D_{KL}(\pi_{\hat \theta}(\cdot | s) || \pi_{\theta}(\cdot | s)) $$
问题是这引入了 $\beta$,如何确定这个惩罚是一个很大的问题,因为 $L$ 和 $D_{KL}$ 的数量级是很难确定的,所以有一个启发式的方法设置 $\beta$:
- 如果说 $\nabla \theta$ 非常小,那么 $\beta$ 倍减,扩大搜索范围
- 如果非常大,那么 $\beta$ 倍增,增加控制强度