深度强化学习课程文档
引入截断替代目标函数
并获得增强的文档体验
开始使用
引入截断替代目标函数
回顾:策略目标函数
我们来回顾一下强化学习中要优化的目标是什么

其思想是,通过对这个函数进行梯度上升步骤(相当于对这个函数的负值进行梯度下降),我们将**推动我们的智能体采取能带来更高奖励的行动,并避免有害的行动。**
然而,问题出在步长上
- 太小,**训练过程太慢**
- 太高,**训练中变异性太大**
对于 PPO,其思想是使用一个称为*截断替代目标函数*的新目标函数来约束我们的策略更新,该函数将**使用一个截断限制策略变化的范围。**
这个新函数**旨在避免破坏性的大权重更新**

让我们研究一下每个部分,以了解它是如何工作的。
比率函数

该比率计算如下

这是采取行动的概率在状态在当前策略中,除以旧策略的相同值。
正如我们所见,表示当前策略与旧策略之间的概率比
- 如果,则**动作在状态在当前策略中比在旧策略中更有可能。**
- 如果在 0 和 1 之间,**当前策略的动作比旧策略的动作可能性小**。
因此,这个概率比是**估计旧策略和当前策略之间差异的简单方法。**
截断替代目标函数的未截断部分

该比率**可以替代我们在策略目标函数中使用的对数概率**。这为我们提供了新目标函数的左半部分:将比率乘以优势。

然而,如果没有约束,如果所采取的行动在当前策略中比在旧策略中更有可能,**这将导致显著的策略梯度步长**,从而导致**过度的策略更新。**
截断替代目标函数的截断部分

因此,我们需要通过惩罚导致比率远离 1 的变化来约束这个目标函数(在论文中,比率只能在 0.8 到 1.2 之间变化)。
通过截断比率,我们确保不会有太大的策略更新,因为当前策略不能与旧策略相差太大。
为此,我们有两种解决方案
- TRPO(信任区域策略优化)在目标函数之外使用 KL 散度约束来约束策略更新。但这种方法**实现复杂且计算时间较长。**
- PPO 通过**截断替代目标函数**直接在目标函数中截断概率比。

这个截断部分是一个版本,其中被截断在.
使用截断替代目标函数,我们有两个概率比,一个未截断,一个在范围内的截断比率,epsilon 是一个超参数,帮助我们定义这个截断范围(在论文中.).
然后,我们取截断目标和未截断目标的最小值,**因此最终目标是未截断目标的下界(悲观界)。**
取截断目标和未截断目标的最小值意味着**我们将根据比率和优势情况选择截断目标或未截断目标**。
< > 在 GitHub 上更新