为什么策略梯度定理在强化学习中使用Q函数?

时间:2019-09-19 21:47:52

标签: reinforcement-learning policy-gradient-descent

策略梯度算法的引入表明策略算法更好,因为它直接优化策略而无需先计算Q。他们为什么在方程式中使用Q?他们如何直接计算整个事情而无需先计算Q函数?

Policy gradient theorm

2 个答案:

答案 0 :(得分:0)

为什么PG不需要计算Q?

如果再走一步,您会看到

enter image description here

因为这个

enter image description here

然后,您无需具有独立的网络即可估计Q(或)V值。您可以通过执行某集的策略来计算返回$ G_t $,然后对策略网络参数(即

)应用Policy Gradient更新

enter image description here

上面描述的是香草PG(REINFORCE),您可以在下面找到算法伪代码(来源:CMU Deep RL(10-703)):

enter image description here

另一个不错的参考是HERE

此外:

这总是真的吗?

您还可以参考上述文章中描述的演员批评。尽管REINFORCE不需要计算Q,但如果您除了可以学习策略,还可以学习V,它将有助于策略梯度更新==> Actor-Critic方法。

A2C的算法伪代码如下所示(来源:CMU Deep RL(10-703))。

enter image description here

答案 1 :(得分:0)

Policy渐变的真正需求不是它可以删除Q函数,而是帮助在连续动作空间(或大型动作空间)中执行动作。在连续空间中,如果仅使用Q函数,则必须将所有输入中的动作发送给Q函数估计器,并且/或者需要针对情节中的每个状态进行优化以找到最佳动作。它在计算上非常昂贵。为了摆脱这种优化,使用了策略估计器,它是通过策略梯度来学习的。正如在其他答案中很好地解释的那样,策略梯度中不一定需要Q函数/ V函数,但是使用它确实有帮助,因为

  1. 我们可以直接进行TD更新,也可以使用其他方法(而不是使用完整的蒙特卡洛全面部署)。

  2. 如果使用优势函数/更多方法,它会进一步减小梯度的方差,因为蒙特卡洛收益率存在很多方差。

通过使用策略网络,您可以避免运行优化算法以在每个步骤中找到最佳操作。

通过使用Q / V网络,您可以帮助进行策略梯度训练。