为什么REINFORCE算法中的折现率出现两次?


11

我正在阅读Richard S.Sutton和Andrew G.Barto撰写的《强化学习:入门》(初稿,2017年11月5日)。

在第271页上,给出了突发性蒙特卡洛策略梯度方法的伪代码。看着这个伪代码,我无法理解为什么折扣率似乎出现2次,一次处于更新状态,而第二次出现在返回状态。[见下图]

在此处输入图片说明

看来,步骤1之后的步骤返回只是第一步返回的截断。此外,如果您仅在书的上方看一页,则会发现方程式的折现率仅为1(收益率内的那一)。

为什么伪代码似乎不同?我的猜测是我误会了一些东西:

(13.6)θt+1 =˙ θt+αGtθπ(At|St,θt)π(At|St,θt).

Answers:


5

折扣因子确实出现了两次,这是正确的。

这是因为您试图在REINFORCE中针对一个偶发性问题(通过采用梯度)最大化的函数是给定(分布)开始状态的预期收益:

J(θ)=Eπ(θ)[Gt|St=s0,t=0]

G1G2γ=0

J(θ)γt


5

γt

我想补充说明一下,您似乎没有误解任何东西,书中的式(13.6)确实与伪代码不同

现在,我没有您刚才提到的那本书的版本,但是我确实有一份2018年3月22日以后的草案,关于这个特定主题的文字似乎很相似。在此版本中:

  • γ=1
  • 该证明最终导致了第329页上的相同公式(13.6)。
  • γ=1
  • γ<1

2
谢谢。在2017年草案中缺少对您的第三点的解释。
Diego Orellana

2
@DiegoOrellana我无法找到一个链接到3月22日选秀了,似乎有一个更晚草案(找不到日期提到的)在这里。这个版本实际上有一个花哨的封面,因此它甚至可能是最终版本,而不是草稿。如果将来链接确实断开,我怀疑这里会提供一个新链接。
丹尼斯·索米尔斯

3

这是一个微妙的问题。

如果您看一下原始论文中的A3C算法(第4页和伪代码的附录S3),那么他们的参与者评论算法(相同的偶发和持续问题算法)相对于参与者而言的伽马系数要小一些。 Sutton and Barto书中的情节问题的批评者伪代码(2019年1月版第332页,http://incompleteideas.net/book/the-book.html )。Sutton and Barto书中有额外的“第一”伽玛,如您的图片所示。那么,这本书还是A3C论文是错误的?并不是的。

钥匙在p。萨顿和巴托(Sutton and Barto)书中的199:

如果存在折现(伽马<1),则应将其视为终止的一种形式,只需在(9.2)的第二项中加入一个因子即可。

一个微妙的问题是,对折现系数伽玛有两种解释:

  1. 一个乘法因素,可以减轻对遥远未来奖励的重视。
  2. 在任何时间步长处,模拟轨迹虚假终止的概率为1-γ。这种解释仅对情节性案例有意义,而对连续性案例则无意义。

文字实现:

  1. 只需将将来的奖励和将来的相关数量(V或Q)乘以伽玛即可。
  2. 模拟一些轨迹,并在每个时间步长随机终止(1-伽马)。终止的轨迹没有立即或将来的回报。

Glnπ(a|s)

γ2Glnπ(a|s)0.81Glnπ(a|s)

Glnπ(a|s)G

您可以选择对伽玛的任何一种解释,但是您必须注意算法的后果。我个人更喜欢坚持解释1,因为它更简单。因此,我在A3C论文中使用了该算法,而不是Sutton and Barto书中的算法。

您的问题与REINFORCE算法有关,但我一直在讨论演员批评家。您有与两个伽玛解释和REINFORCE中的额外伽玛完全相同的问题。

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.