策略梯度算法的引入表明,策略算法是更好的算法,因为它直接优化策略,而不需要先计算Q。那么为什么他们在等式中使用Q呢?他们如何在不先计算Q函数的情况下直接计算整个东西?
发布于 2019-10-14 03:35:05
为什么PG不需要计算Q?
如果你再往前走一步,你会发现

正因为如此,

那么你就不需要有一个单独的网络来估计Q(或)V值。您可以通过执行某一集的策略来计算返回$G_t$,然后对策略网络参数应用策略梯度更新,例如

上面描述的是vanilla PG (加强),你可以在下面找到算法伪代码(来源: CMU Deep RL (10-703)):

另一个很好的参考资料是HERE。
此外:
这一直都是真的吗?
你也可以参考上面帖子中描述的Actor-Critic。虽然强化不需要计算Q,但如果你除了策略之外还能学习V,它将有助于策略梯度更新==>参与者-批评者方法。
A2C的算法伪代码如下所示(来源: CMU Deep RL (10-703))。

发布于 2020-07-14 06:49:34
策略梯度的真正需要不是它可以删除Q函数,而是帮助在连续的操作空间(或大的操作空间)中采取操作。在连续空间中,如果我们只使用Q函数,我们必须将输入中的所有动作发送到Q函数估计器,和/或需要运行优化以找到最佳动作,对于剧集中的每个状态。这在计算上非常昂贵。为了摆脱这种优化,使用了策略估计器,该估计器是通过策略梯度学习的。正如在另一个答案中所解释的那样,在策略梯度中不一定需要Q函数/V函数,但使用这样做实际上是有帮助的,因为
通过使用策略网络,您可以避免运行优化算法来查找每个步骤的最佳操作。
通过使用Q/V网络,您可以帮助策略梯度训练。
https://stackoverflow.com/questions/58019303
复制相似问题