首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >为什么策略梯度定理在强化学习中使用Q函数?

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

Stack Overflow用户
提问于 2019-09-20 05:47:52
回答 2查看 156关注 0票数 1

策略梯度算法的引入表明,策略算法是更好的算法,因为它直接优化策略,而不需要先计算Q。那么为什么他们在等式中使用Q呢?他们如何在不先计算Q函数的情况下直接计算整个东西?

Policy gradient theorm

EN

回答 2

Stack Overflow用户

发布于 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))。

票数 1
EN

Stack Overflow用户

发布于 2020-07-14 06:49:34

策略梯度的真正需要不是它可以删除Q函数,而是帮助在连续的操作空间(或大的操作空间)中采取操作。在连续空间中,如果我们只使用Q函数,我们必须将输入中的所有动作发送到Q函数估计器,和/或需要运行优化以找到最佳动作,对于剧集中的每个状态。这在计算上非常昂贵。为了摆脱这种优化,使用了策略估计器,该估计器是通过策略梯度学习的。正如在另一个答案中所解释的那样,在策略梯度中不一定需要Q函数/V函数,但使用这样做实际上是有帮助的,因为

  1. 我们可以直接进行TD更新,也可以使用其他方法,而不是使用完整的蒙特卡罗卷展栏。

  1. 如果我们使用优势函数/一些更多的方法,它可以进一步减少梯度的方差,因为蒙特卡洛方法返回的方差很大。

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

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

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/58019303

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档