我在大学里上了一门名为“智能机器”的课程。我们被介绍了三种强化学习方法,并被告知了使用它们的直觉,引用如下:
- Q学习 – 当MDP无法解决时最佳选择。
- 时间差分学习 – 当MDP已知或可以学习但无法解决时最佳选择。
- 基于模型 – 当MDP无法学习时最佳选择。
有没有好的例子解释何时选择一种方法而不是另一种方法?
回答:
时间差分是一种学习如何预测一个依赖于给定信号未来值的量的方法。它可以用来学习V函数和Q函数,而Q学习是一种特定的TD算法,用于学习Q函数。正如Don Reba所说,你需要Q函数来执行一个动作(例如,遵循epsilon-greedy策略)。如果你只有V函数,你仍然可以通过遍历所有可能的下一状态,并选择导致V值最高状态的动作来推导出Q函数。为了获取例子和更多见解,我推荐Sutton和Barto的经典书籍。
在无模型RL中,你不学习状态转换函数(模型),你只能依赖样本。然而,你也可能对学习它感兴趣,例如因为你无法收集许多样本而想要生成一些虚拟样本。在这种情况下,我们谈论的是基于模型的RL。基于模型的RL在机器人学中很常见,在那里你不能进行许多真实模拟,否则机器人会损坏。这是一篇很好的综述,包含了许多例子(但它只讨论了策略搜索算法)。另一个例子可以查看这篇论文。在这篇论文中,作者在学习策略的同时,学习了一个高斯过程来近似机器人的前向模型,以便模拟轨迹并减少与真实机器人的交互次数。