策略梯度算法的引入表明策略算法更好,因为它直接优化策略而无需先计算Q。他们为什么在方程式中使用Q?他们如何直接计算整个事情而无需先计算Q函数?
答案 0 :(得分:0)
如果再走一步,您会看到
因为这个
然后,您无需具有独立的网络即可估计Q(或)V值。您可以通过执行某集的策略来计算返回$ G_t $,然后对策略网络参数(即
)应用Policy Gradient更新上面描述的是香草PG(REINFORCE),您可以在下面找到算法伪代码(来源:CMU Deep RL(10-703)):
另一个不错的参考是HERE。
此外:
您还可以参考上述文章中描述的演员批评。尽管REINFORCE不需要计算Q,但如果您除了可以学习策略,还可以学习V,它将有助于策略梯度更新==> Actor-Critic方法。
A2C的算法伪代码如下所示(来源:CMU Deep RL(10-703))。
答案 1 :(得分:0)
Policy渐变的真正需求不是它可以删除Q函数,而是帮助在连续动作空间(或大型动作空间)中执行动作。在连续空间中,如果仅使用Q函数,则必须将所有输入中的动作发送给Q函数估计器,并且/或者需要针对情节中的每个状态进行优化以找到最佳动作。它在计算上非常昂贵。为了摆脱这种优化,使用了策略估计器,它是通过策略梯度来学习的。正如在其他答案中很好地解释的那样,策略梯度中不一定需要Q函数/ V函数,但是使用它确实有帮助,因为
我们可以直接进行TD更新,也可以使用其他方法(而不是使用完整的蒙特卡洛全面部署)。
如果使用优势函数/更多方法,它会进一步减小梯度的方差,因为蒙特卡洛收益率存在很多方差。
通过使用策略网络,您可以避免运行优化算法以在每个步骤中找到最佳操作。
通过使用Q / V网络,您可以帮助进行策略梯度训练。