4

在一个完美的信息环境中,我们能够知道一个动作之后的状态,比如下棋,有没有理由使用 Q 学习而不是 TD(时间差分)学习?

据我了解,TD学习会尝试学习V(状态)值,但Q学习会学习Q(状态动作值)值,这意味着Q学习学习速度较慢(因为状态动作组合不仅仅是状态),是对吗?

4

4 回答 4

1

Q-Learning是一种TD(时间差)学习方法。

我认为您正在尝试参考 TD(0) 与 Q-learning。

我会说这取决于您的行为是否具有确定性。即使您有转换函数,在 TD(0) 中决定采取哪个动作也可能很昂贵,因为您需要计算每个步骤中每个动作的期望值。在 Q 学习中,这将被总结为 Q 值。

于 2016-02-26T11:49:41.893 回答
1

给定一个确定性的环境(或者如您所说,一个“完美”的环境,您可以在其中知道执行操作后的状态),我想您可以模拟给定状态下所有可能操作的影响(即,计算所有可能的下一个状态),并选择以最大值 V(state) 实现下一个状态的动作。

但是,应该考虑到价值函数 V(state) 和 Q 函数 Q(state,action) 都是为给定策略定义的。在某种程度上,价值函数可以被认为是 Q 函数的平均值,在某种意义上,V(s)“评估”所有可能动作的状态 s。因此,为了计算出对 V(s) 的良好估计,代理仍然需要执行 s 中的所有可能动作。

总之,我认为尽管 V(s) 比 Q(s,a) 更简单,但他们可能需要相似数量的经验(或时间)才能实现稳定的估计。

您可以在 Sutton & Barto RL 书籍的这一部分中找到有关值(V 和 Q)函数的更多信息。

于 2016-03-01T09:48:38.083 回答
0

实际上,Q-learning 是使用状态-动作对而不仅仅是状态的过程。但这并不意味着 Q 学习与 TD 不同。在 TD(0) 中,我们的代理采取一步(可能是状态-动作对中的一步或只是状态),然后更新它的 Q 值。在 n-step TD 中也是如此,我们的代理采取 n 步然后更新 Q 值。比较 TD 和 Q-learning 不是正确的方法。您可以改为比较 TD 和 SARSA 算法。还有TD和蒙特卡洛

于 2020-07-31T13:34:31.450 回答
0

Q learning 是一种 TD控制算法,这意味着它会尝试为您提供最佳策略,如您所说。TD 学习在可以包括控制算法以及仅针对固定策略的 V 的预测方法的意义上更通用。

于 2020-02-04T09:53:31.747 回答