Policy Gradients

前言: 为什么将这节单独拿出来学习呢?因为 Policy Gradients算法 与之前的 Q-Learning算法是不一样的。Policy Gradients的特点:回合更新,连续动作(与Q Learning不同)

对于理论部分,网上有很多详细的解释了,我在这里就不班门弄斧了,请移步至 Policy Gradient算法详解。我在这里主要写下几点自己的理解。

论文:https://papers.nips.cc/paper/1713-policy-gradient-methods-for-reinforcement-learning-with-function-approximation.pdf
推荐博客:https://lilianweng.github.io/lil-log/2018/04/08/policy-gradient-algorithms.html

在了解 Policy Gradients算法之前,请先回忆一下机器学习中的梯度下降算法。
Policy Gradients_第1张图片
梯度下降是迭代法的一种,可以用于求解最小二乘问题(线性和非线性都可以)。在求解机器学习算法的模型参数,即无约束优化问题时,梯度下降(Gradient Descent)是最常采用的方法之一,另一种常用的方法是最小二乘法。在求解损失函数的最小值时,可以通过梯度下降法来一步步的迭代求解,得到最小化的损失函数和模型参数值。反过来,如果我们需要求解损失函数的最大值,这时就需要用梯度上升法来迭代了。在机器学习中,基于基本的梯度下降法发展了两种梯度下降方法,分别为随机梯度下降法和批量梯度下降法。
可以用数学公式表达为:
Policy Gradients_第2张图片


回到 Policy Gradients算法,其实是与梯度下降算法一致的,只不过这里多加了一个 Vt, 这里 Vt 表示当前动作对参数的修改幅度。

(举例:如果在 Policy(s,a) 很小的情况下,拿到了一个大的 R,也就是大的 Vt,那 - delta(log(Policy(s, a)) * V) 就更大,表示更吃惊(我选了一个不常选的动作,却发现原来它能得到了一个好的 reward,那我就得对我这次的参数进行一个大幅修改)。 这就是吃惊度的物理意义啦。)

Policy Gradients_第3张图片

注意:

  1. Policy Gradients算法是用于连续动作的,并且是回合更新。
  2. Policy Gradients算法不是基于值选取动作的,而是基于概率选择动作的。
  3. Policy Gradients算法不是依赖误差反向传播的,而是进行策略的梯度下降进行优化。

参考文献:梯度下降解释

你可能感兴趣的:(强化学习)