策略梯度方法的优缺点
在这一点上,你可能会问:“但是深度 Q 学习很棒!为什么要使用策略梯度方法?” 为了回答这个问题,让我们研究一下**策略梯度方法的优缺点**。
优点
与基于价值的方法相比,策略梯度方法有多个优点。让我们来看一些。
集成简单
我们可以直接估计策略,而无需存储其他数据(动作值)。
策略梯度方法可以学习随机策略
策略梯度方法可以**学习随机策略,而价值函数则不能**。
这有两个后果
我们**不需要手动实现探索/利用权衡**。由于我们输出动作上的概率分布,因此代理会探索**状态空间,而不会总是采取相同的轨迹**。
我们也摆脱了**感知别名**问题。感知别名是指两种状态看起来(或实际上)相同,但需要采取不同的动作。
让我们举个例子:我们有一个智能吸尘器,其目标是吸尘并避免杀死仓鼠。
我们的吸尘器只能感知墙壁在哪里。
问题在于**这两个红色(彩色)状态是别名状态,因为代理对每个状态都感知到上墙和下墙**。
在确定性策略下,策略在处于红色状态时要么总是向右移动,要么总是向左移动。**这两种情况都会导致我们的代理卡住,永远无法吸尘**。
在基于价值的强化学习算法中,我们学习**准确定性策略**(“贪婪 ε 策略”)。因此,我们的代理可能需要花费大量时间才能找到灰尘。
另一方面,最优随机策略**将在红色(彩色)状态下随机向左或向右移动**。因此,**它不会卡住,并且很有可能到达目标状态**。
策略梯度方法在高维动作空间和连续动作空间中更有效
深度 Q 学习的问题在于,**它们的预测为每个可能的动作分配了一个分数(最大预期未来奖励)**,在每个时间步长,给定当前状态。
但是如果我们有无限的动作可能性呢?
例如,对于自动驾驶汽车,在每个状态下,你都有(接近)无限的动作选择(将方向盘转动 15°、17.2°、19.4°,鸣笛等)。**我们需要为每个可能的动作输出一个 Q 值!**并且**对连续输出取最大动作本身就是一个优化问题!**
相反,使用策略梯度方法,我们输出**动作上的概率分布**。
策略梯度方法具有更好的收敛特性
在基于价值的方法中,我们使用一个激进的算子来**改变价值函数:我们对 Q 估计取最大值**。因此,如果该变化导致不同的动作具有最大值,则动作概率可能会因估计动作值的任意小变化而发生巨大变化。
例如,如果在训练过程中,最佳动作是向左(Q 值为 0.22),而之后的训练步骤是向右(因为向右的 Q 值变为 0.23),那么我们就会显著地改变策略,因为现在策略大部分时间会选择向右而不是向左。
另一方面,在策略梯度方法中,随机策略的动作偏好(采取动作的概率)**会随着时间平滑地变化**。
缺点
当然,策略梯度方法也有一些缺点。
- 策略梯度方法经常收敛到局部最大值而不是全局最优值。
- 策略梯度更新速度较慢,**一步一步来:训练时间可能更长(效率低下)。**
- 策略梯度可能具有高方差。我们将在演员-评论家单元中了解原因以及如何解决这个问题。
👉 如果你想更深入地了解策略梯度方法的优缺点,可以查看此视频。
< > 在 GitHub 上更新