我们可以使用 Q-learning 更新来进行策略评估(不是控制)吗?

人工智能 强化学习 q学习 政策评估
2021-11-16 10:19:39

出于策略评估的目的,我们是否可以使用 Q-learning 算法,即使从技术上讲,它是用于控制的?

也许是这样的:

  1. 将要评估的策略作为行为策略。
  2. 以常规方式更新 Q 值(即更新Q(s,a)使用动作a给予最高Q(s,a)价值)
  3. 决赛Q(s,a)values 将反映正在评估的策略的值。

鉴于我没有看到 Q-learning 在任何地方用于评估目的,我是否在这里遗漏了什么?

1个回答

对于离策略学习,你必须有两个策略——行为策略和目标策略。如果这两个策略相同,那么你最终会得到 SARSA,而不是 Q 学习。

你不能直接使用 Q learning 来评估一个固定的目标策略,因为它直接学习最优值函数作为目标策略,而不考虑行为策略。相反,您必须使用可以评估任意目标策略的另一种离策略学习变体。

您建议的算法是:

  1. 将要评估的策略作为行为策略。
  2. 以常规方式更新 Q 值(即更新Q(s,a)使用动作a给予最高Q(s,a)价值)
  3. 决赛Q(s,a)values 将反映正在评估的策略的值。

这不适用于评估行为策略。如果行为策略是随机的并且涵盖了所有可能的状态/动作选择,那么它仍然是 Q 学习并收敛于最优价值函数——如果行为策略没有经常到达重要状​​态,可能会非常缓慢。

off-policy 的“窍门”是环境交互部分使用行为策略收集数据,更新步骤使用目标策略计算估计收益。一般来说,对于政策外更新,可能需要进行更正以重新加权估计回报。然而,单步 TD 方法的一个优点是不需要额外的修正。

因此,这提供了一种方法来进行非策略 TD 学习,使用一种称为Expected SARSA的方法。要使用预期 SARSA,您需要知道动作选择的分布,即知道π(a|s)为目标策略。

这是您描述的变体,可用于评估您的目标策略π(a|s)

  1. 将任何“覆盖”目标策略的随机策略作为行为策略。
  2. 使用预期 SARSA 更新 Q 值Q(s,a)=Q(s,a)+α(r+γ[aπ(a|s)Q(s,a)]Q(s,a))
  3. 决赛Q(s,a)values 将反映正在评估的策略的值。

值得注意的是,预期 SARSA 的目标政策为π(s)=argmaxaQ(s,a)正是Q学习。预期 SARSA 是 Q 学习的严格概括,它允许学习任何目标策略的价值函数。你可能没有看到它像 Q 学习那样被广泛使用,因为学习最优值函数的目标在实践中更为常见。