如何从TD(λ)推导出蒙特卡洛、SARSA和Q-learning
基础知识非常重要。在深入研究强化学习(RL)中的现代算法之前,理解构建这些算法的基本原理至关重要。
在RL领域,这意味着我们必须理解时间差分(TD)学习的概念,它可以推广到TD(λ)。使用一个只有几行代码的单一代码库,我将展示如何通过一个经典RL问题的广义形式来解决它:
- 蒙特卡洛,
- SARSA,
- Q-learning,以及
- 0 < λ < 1的TD(λ)。
结果以gif的形式呈现,使用您可以轻松复用的实用函数。作为预告,通过本文的结尾,您将能够自己生成以下内容!
我们的智能体(用笑脸😃表示)从蓝色网格开始,试图到达黄色网格。红色网格会导致严重的负奖励并终止该回合,而橙色网格会带来一些惩罚但不是终止状态。环境是多风的,并且为了使问题更复杂,由于随机转换,智能体可以朝不同的方向移动。这就是为什么移动可能与策略(由箭头表示)不同。请注意,乍一看,策略可能看起来违反直觉。我向您保证,这是正确的,因为环境是如何定义的!
本文假设您具有RL的基本知识,但我将简要总结关键概念,以使内容对来自其他机器学习领域的从业人员也具有可访问性。
整体思路
RL的核心目标
在其核心,RL的目标是学习采取一系列行动,以最大化预期的总累积奖励。它考虑了延迟的后果,包括在不同状态下可用的行动集的限制。