在 Sutton & Barto 的 off-policy MC 控制算法中,当样本动作与目标策略不一致时,为什么我们要执行最后一次更新?

人工智能 强化学习 蒙特卡罗方法 策略外方法 萨顿巴托
2021-10-31 09:42:53

我有一个关于WSutton & Barto 的第 111 页上的 off-policy MC 控制算法中的术语我也将它包含在下图中。

Sutton Barto 的算法

我的问题:不应该检查At=π(St)更新前制作C(St,At)Q(St,At)? 并且,此时如果Atπ(St)那么内部循环应该在更新之前退出Q(). 如果At=π(St)那么不应该W更新为 W=W1b(At|St)在更新之前Q(s,a)和 $C(s, a) 函数?

所述算法对我来说似乎有问题。例如,如果说目标策略π是确定性和行为策略b是随机的。如果在期间T1行为策略采取的行动与π那么重要性采样率ρT1:T1=0. 但是,如图所示的算法会更新Q(ST1,AT1)因为我上面提到的检查直到内部循环结束时才会发生。我在这里想念什么?

1个回答

我认为这是确保收敛性的算法的一个有意的微妙细节。书中的主张是,对于任何b这为我们提供了“每对状态和动作的无限数量的回报”目标策略π会收敛到最优。

现在想象一下,我们有这么糟糕的政策b它永远不会与最后一步的目标政策行动保持一致t=T1每个生成的剧集:AT1=π(ST1). 在这种情况下,重量值将保持不变W=1并且算法将简化为(忽略t最后的索引S,A,R三胞胎):

C(S,A)C(S,A)+1Q(S,A)Q(S,A)+1C(S,A)[RQ(S,A)]

这只是 Q 值的表格增量平均(参见例如 eq. (2.3))。

如果我们在这些更新之前退出 for 循环,那么根本不会发生更新。对于所有那些“好”的采样策略,作者将无法声称收敛到最优策略b.