SARSA 强化学习



SARSA 代表 **状态-动作-奖励-状态-动作**,它是 Q 学习算法 的改进版本,其中目标策略与行为策略相同。两个连续的状态-动作对以及智能体从第一个状态转换到下一个状态时接收的即时奖励决定了更新后的 Q 值,因此这种方法被称为 SARSA。

什么是 SARSA?

状态-动作-奖励-状态-动作 (SARSA) 是一种 强化学习 算法,它解释了学习过程中一系列事件。它是智能体在各种情况下做出正确选择的有效 **“策略上”** 学习技术之一。SARSA 背后的主要思想是反复试验。智能体在一个情境中采取行动,观察结果,并根据结果修改其计划。

例如,假设您正在教机器人如何走迷宫。机器人从特定位置开始,这就是 **“状态”**,您的目标是找到到达迷宫尽头的最佳路线。机器人可以在每个步骤中选择不同的方向移动,这被称为 **“动作”**。机器人会收到奖励形式的反馈,无论是正面的还是负面的,以指示它的表现如何。

SARSA 算法中更新语句的方程式如下:

SARSA Equation

SARSA 的组成部分

SARSA 算法的一些核心组成部分包括:

  • **状态 (S)** - 状态反映了环境,包含关于智能体当前情况的所有细节。
  • **动作 (A)** - 动作代表智能体根据其当前情况做出的决定。它从库中选择的动作导致从当前状态到下一个状态的改变。这种转变是智能体如何与环境互动以产生预期结果的方式。
  • **奖励 (R)** - 奖励是由环境提供的变量,是对智能体在特定状态下采取的行动的回应。此反馈信号显示智能体选择的即时结果。奖励通过显示哪些行动在某些情况下是可取的来帮助智能体学习。
  • **下一个状态 (S')** - 当智能体在一个特定状态下采取行动时,它会导致转变到一个不同的情况,称为“下一个状态”。这个新状态 (s') 是智能体更新后的环境。

SARSA 算法的工作原理

SARSA 强化学习算法允许智能体通过使用状态-动作-奖励-状态-动作序列随着时间的推移最大化累积奖励来学习并在环境中做出决策。它涉及与环境互动的迭代循环、从过去事件中获得见解以及增强决策策略。让我们分析 SARSA 算法的工作原理:

  • **Q 表初始化** - SARSA 通过初始化 Q(S,A) 开始,它表示将状态-动作对设置为任意值。在此过程中,确定起始状态 (s),并通过采用根据当前 Q 值做出回应的 epsilon-greedy 算法策略来选择初始动作 (A)。
  • **探索与利用** - 利用涉及使用之前估计的已知值来提高在学习过程中获得奖励的机会。另一方面,探索涉及选择可能带来短期利益但可能有助于在未来发现更好行动和奖励的行动。
  • **动作执行和反馈** - 一旦选择的动作 (A) 被执行,它就会产生奖励 (R) 并转换到下一个状态 (S')。
  • **Q 值更新** - 当前状态-动作对的 Q 值根据接收到的奖励和新状态进行更新。下一个动作 (A') 从 Q 表中更新的值中选择。
  • **迭代和学习** - 以上步骤重复进行,直到状态终止。在整个过程中,SARSA 通过考虑状态-动作-奖励的转换来不断更新其 Q 值。这些改进增强了算法预测状态-动作对未来奖励的能力,引导智能体从长远来看做出更好的决策。

SARSA 与 Q 学习

SARSA 和 Q 学习是强化学习中的两种算法,都属于基于值的算法。SARSA 遵循当前策略,而 Q 学习不遵循当前策略。这种差异会影响每种算法调整其动作值函数的方式。一些差异如下表所示:

特征 SARSA Q 学习
策略类型 策略上 策略外
更新规则 Q(s,a) = Q(s,a) + ɑ(r + γmaxaQ(s',a)-Q(s,a)) Q(s,a) = Q(s,a) + ɑ(r + γ Q(s',a')-Q(s,a))
收敛性 收敛到最优策略的速度较慢。 通常收敛到最优策略的速度更快。
探索与利用 探索直接影响学习更新。 探索策略可能与学习策略不同。
策略更新 根据实际采取的行动更新动作值函数。 更新动作值函数,假设始终采取最佳行动。
用例 适用于需要稳定性的环境。 适用于需要效率的环境。
示例 医疗保健、交通管理、个性化学习。 游戏、机器人技术、金融交易
广告