为什么我们不使用重要性抽样进行一步 Q 学习?

机器算法验证 强化学习 q学习
2022-02-27 19:35:09

为什么我们不使用重要性抽样进行 1 步 Q 学习?

Q-learning 是脱离策略的,这意味着我们生成的样本具有与我们尝试优化的策略不同的策略。因此,通过使用行为策略生成的样本,应该不可能估计目标策略的每个状态-动作对的回报预期。

这是 1-step Q-learning 的更新规则:

Q(st,at)=Q(st,at)+α[Rt+1+γmaxaQ(st+1,a)Q(st,at)]

这是Sutton 的 RL 书籍的链接,以备您查找。

4个回答

这是您提供的一步式 Q-learning 更新规则:

Q(st,at)=Q(st,at)+α[Rt+1+γmaxaQ(st+1,a)Q(st,at)]

该更新规则实际上与“目标策略”(在这种情况下为贪婪策略)正在执行的操作完全匹配;我们更新刚刚获得新观察的状态-动作对的Q值( s_t,a_t,新观察为R_{t+1}),假设我们跟进贪婪/目标紧随其后的策略(导致\max_a Q(s_{t+1}, a))。在这个等式中,我们可能没有根据目标策略采取的唯一行动是行动a_t,但这很好,因为正是相同的行动是我们正在更新Q值的行动。Qst,atRt+1maxaQ(st+1,a)atQ


现在假设我们尝试天真地编写多步(或两步)更新规则,而不进行重要性采样。如下所示:

Q(st,at)=Q(st,at)+α[Rt+1+γRt+2+γ2maxaQ(st+2,a)Q(st,at)]

此更新规则假定我们的行为策略(通常类似于 -greedy)用于选择另一个动作,从而产生额外的奖励观察和状态 . 在这个更新规则中,我们突然遇到了离策略学习的问题,因为我们的更新规则使用了奖励 ,它是我们的目标策略可能没有选择的动作的结果,这是一个不同的动作(),我们实际上正在更新值。如果仅用于更新ϵat+1Rt+2st+2Rt+2at+1atQQ- 那些相同“不正确”动作的值,但如果我们使用它来更新不同(“正确”)动作(贪婪/目标策略也会选择的动作)的,那就不行了.Q

一步 Q 学习不会对前向轨迹进行采样,它只是从估计的动作值中获取最大值。

您会注意到,在蒙特卡罗控制中的重要性采样示例中,重要性采样的加权是迈出一步后应用的。所以第一步的权重总是1.0。这与在一步离策略引导方法中没有明显的重要性抽样是一致的。

在多步 Q 学习中,例如 Q( ),您应该注意到,除了贪心动作之外,采取任何动作都会将来自该轨迹的更多样本的权重归零,这些样本用于调整早期状态、动作值。这是重要性抽样的一种形式,因为在目标策略中不采取贪婪行动的概率为零。λ

从理论上讲,您还可以将未来贪婪行为的权重乘以在行为策略中选择它们的反概率 - 我没有尝试过,但我怀疑它主要只是与相互作用和/或增加方差而没有太多好处。您还需要跟踪(和平均)所有归零调整并将它们添加回 . . .λ

本书第 149 页对此进行了解释:

请注意,此处的重要性采样率比 n 步 TD (7.9) 晚一步开始和结束。这是因为我们在这里更新了一个状态-动作对。我们不必关心我们选择动作的可能性有多大;既然我们已经选择了它,我们希望从发生的事情中充分学习,仅对后续操作进行重要性采样。

重要性采样率

由于 a(t) 已经在 1 步中确定,因此重要性采样率为 1。