这是一个微妙的问题。
如果您查看原始论文中的 A3C 算法(p.4 和附录 S3 的伪代码),他们的演员批评算法(相同的算法包括偶发问题和持续问题)相对于演员 -萨顿和巴托书中情节问题的评论家伪代码(http://incompleteideas.net/book/the-book.html的 2019 年 1 月版的第 332 页)。Sutton 和 Barto 的书中有额外的“第一”伽马,如您的图片中所示。那么,无论是书还是 A3C 论文都错了?并不真地。
关键在p。萨顿和巴托的书 199:
如果存在贴现(gamma < 1),则应将其视为一种终止形式,这可以简单地通过在 (9.2) 的第二项中包含一个因子来完成。
微妙的问题是对贴现因子 gamma 有两种解释:
- 一个乘法因素,对遥远的未来奖励的权重较小。
- 在任何时间步,模拟轨迹虚假终止的概率 1 - gamma。这种解释只适用于偶发病例,而不适用于持续病例。
字面实现:
- 只需将未来的奖励和相关数量(V 或 Q)乘以 gamma。
- 模拟一些轨迹并在每个时间步随机终止它们(1 - gamma)。终止的轨迹没有立即或未来的奖励。
伽玛的两种解释是有效的。但是选择一个或另一个意味着你正在解决一个不同的问题。数学略有不同,你最终得到一个额外的伽马乘法G∇lnπ(a|s)与第二种解释。
例如,如果您在步骤 t=2 且 gamma = 0.9,则第二种解释的算法是策略梯度为γ2G∇lnπ(a|s)或者0.81G∇lnπ(a|s). 该项的梯度功率比 t=0 项低 19%,原因很简单,即 19% 的模拟轨迹在 t=2 时消失。
对于伽马的第一次解释,没有这样的 19% 衰变。策略梯度只是G∇lnπ(a|s)在 t=2。但是伽马仍然存在于G打折未来的奖励。
您可以选择对 gamma 的任何解释,但您必须注意算法的后果。我个人更喜欢坚持解释 1,因为它更简单。所以我使用 A3C 论文中的算法,而不是 Sutton 和 Barto 的书。
你的问题是关于强化算法的,但我一直在讨论演员评论家。您在 REINFORCE 中遇到了与两种伽马解释和额外伽马有关的完全相同的问题。