监督学习 v.s。离线(批量)强化学习

Supervised learning v.s. offline (batch) reinforcement learning

我能找到的大多数资料(例如 David Silver 的在线课程)都提供了关于监督学习和强化学习之间关系的讨论。然而,它实际上是监督学习和在线强化学习之间的比较,在这种情况下,代理在环境中运行(或模拟交互)以在对底层动力学的了解有限的情况下获得反馈。

我对离线(批量)强化学习更好奇,其中数据集(收集的学习经验)是先验。那么与监督学习相比有什么区别呢?他们可能有哪些相似之处?

I am more curious about the offline (batch) setting for reinforcement learning where the dataset (collected learning experiences) is given a priori. What are the differences compared to supervised learning then ? and what are the similarities they may share ?

在在线设置中,监督学习和强化学习的根本区别在于探索的需要和RL中exploration/exploitation之间的trade-off。然而,在离线设置中也存在一些差异,这使得 RL 比监督学习更 difficult/rich 成为问题。我能想到的一些不同之处:

  1. 在强化学习中,代理会收到所谓的“评估反馈”,即标量奖励,这会为代理提供有关所采取行动质量的一些反馈,但不会告诉代理如果此操作是最佳操作,则代理。将此与代理接收所谓的“指导性反馈”的监督学习进行对比:对于学习者所做的每个预测,它都会收到一个反馈(标签),说明最佳 action/prediction 是什么。 Rich Sutton 的书第一章详细介绍了指导性和评价性反馈之间的区别。强化学习本质上是用稀疏标签进行优化,对于某些动作你可能根本得不到任何反馈,而在其他情况下反馈可能会延迟,这就造成了 credit-assignment 问题。

  2. 在强化学习中,你有一个时间方面,目标是找到一个最优策略,将状态映射到某些 horizon(time-steps 的数量)上的动作。如果 horizon T=1,那么它只是一个 one-off 预测问题,就像在监督学习中一样,但如果 T>1 那么它是一个序列优化问题,你必须找到最佳动作而不仅仅是在一个状态下但在多个状态下,并且由于在一个状态下采取的行动会影响未来状态下应采取的行动(即它是动态的)这一事实而变得更加复杂。

  3. 在监督学习中,有一个固定的 i.i.d 分布,从中提取数据点(这至少是常见的假设)。在 RL 中没有固定的分布,而是这种分布取决于所遵循的策略,而且这种分布通常不是 i.i.d 而是相关的。

因此,RL 是一个比监督学习更丰富的问题​​。事实上,可以将任何监督学习任务转换为强化学习任务:监督任务的损失函数可以用来定义奖励函数,较小的损失映射到较大的奖励。虽然不清楚为什么要这样做,因为它将监督问题转化为更难的强化学习 问题。强化学习比监督学习做出更少的假设,因此通常比监督学习更难解决。但是反过来是不行的,一般情况下是不可能把强化学习问题转化为监督学习问题的。