udpate ch5.md
This commit is contained in:
@@ -129,9 +129,8 @@ $$
|
||||
我们可以通过重要性采样把同策略换成异策略,但重要性采样有一个问题:如果 $p_{\theta}\left(a_{t} | s_{t}\right)$ 与 $p_{\theta'}\left(a_{t} | s_{t}\right)$ 相差太多,即这两个分布相差太多,重要性采样的结果就会不好。
|
||||
怎么避免它们相差太多呢?这就是PPO要做的事情。
|
||||
|
||||
**注意,虽然 PPO 的优化目标涉及到了重要性采样,但其只用到了上一轮策略 $\theta^{\prime}$ 的数据。PPO 目标函数中加入了 KL 散度的约束,行为策略 $\theta^{\prime}$ 和目标策略 $\theta$ 非常接近,PPO 的行为策略和目标策略可认为是同一个策略,因此 PPO 是同策略算法。**
|
||||
|
||||
如式(5.6)所示,PPO 实际上做的事情就是这样,在异策略的方法里优化目标函数 $J^{\theta^{\prime}}(\theta)$。但是这个目标函数又牵涉到重要性采样。在做重要性采样的时候,$p_{\theta}\left(a_{t} | s_{t}\right)$ 不能与 $p_{\theta'}\left(a_{t} | s_{t}\right)$相差太多。做示范的模型不能与真正的模型相差太多,相差太多,重要性采样的结果就会不好。我们在训练的时候,应多加一个约束(constrain)。这个约束是 $\theta$ 与 $\theta'$ 输出的动作的 KL 散度(KL divergence),这一项用于衡量 $\theta$ 与 $\theta'$ 的相似程度。我们希望在训练的过程中,学习出的 $\theta$ 与 $\theta'$ 越相似越好。因为如果 $\theta$ 与 $\theta'$ 不相似,最后的结果就会不好。所以在 PPO 里面有两项:一项是优化本来要优化的$J^{\theta^{\prime}}(\theta)$,另一项是一个约束。这个约束就好像正则化(regularization)的项(term) 一样,它所做的就是希望最后学习出的 $\theta$ 与 $\theta'$ 相差不大。
|
||||
如式(5.6)所示,PPO 需要优化目标函数 $J^{\theta^{\prime}}(\theta)$。但是这个目标函数又牵涉到重要性采样。在做重要性采样的时候,$p_{\theta}\left(a_{t} | s_{t}\right)$ 不能与 $p_{\theta'}\left(a_{t} | s_{t}\right)$相差太多。做示范的模型不能与真正的模型相差太多,相差太多,重要性采样的结果就会不好。我们在训练的时候,应多加一个约束(constrain)。这个约束是 $\theta$ 与 $\theta'$ 输出的动作的 KL 散度(KL divergence),这一项用于衡量 $\theta$ 与 $\theta'$ 的相似程度。我们希望在训练的过程中,学习出的 $\theta$ 与 $\theta'$ 越相似越好。因为如果 $\theta$ 与 $\theta'$ 不相似,最后的结果就会不好。所以在 PPO 里面有两项:一项是优化本来要优化的$J^{\theta^{\prime}}(\theta)$,另一项是一个约束。这个约束就好像正则化(regularization)的项(term) 一样,它所做的就是希望最后学习出的 $\theta$ 与 $\theta'$ 相差不大。**注意,虽然 PPO 的优化目标涉及到了重要性采样,但其只用到了上一轮策略 $\theta^{\prime}$ 的数据。PPO 目标函数中加入了 KL 散度的约束,行为策略 $\theta^{\prime}$ 和目标策略 $\theta$ 非常接近,PPO 的行为策略和目标策略可认为是同一个策略,因此 PPO 是同策略算法。**
|
||||
|
||||
$$
|
||||
\begin{aligned}
|
||||
|
||||
Reference in New Issue
Block a user