代理能否等到剧集结束才能确定 SARSA 中的奖励?

人工智能 强化学习 定义 奖励 萨尔萨
2021-10-28 10:47:35

来自 Sutton 和 Barto 的书 Reinforcement Learning (Adaptive Computation and Machine Learning series) (p. 99),首次访问 MC 预测的以下定义,用于估计VVπ给出:

在此处输入图像描述

确定每个行动的奖励是否是 SARSA 的要求?代理可以等到剧集结束来确定奖励吗?

例如,井字游戏的奖励在情节结束时决定,当玩家赢、输或平局时。奖励不是在每一步都可用t.

这是否意味着根据任务,并不总是可以在时间步确定奖励t,并且代理必须等到一集结束?如果代理直到一集结束才评估奖励,算法仍然是 SARSA 吗?

1个回答

这里有几件事要分解。

首先要纠正这个:

例如,井字游戏的奖励在情节结束时决定,当玩家赢、输或平局时。奖励不是在每一步都可用t.

在马尔可夫决策过程 (MDP) 中,每次总是有一个即时奖励tt=1t=T(终端状态)。这是算法所称的奖励分布Rt.

几乎所有的奖励都没有关系0. 这仍然是一个奖励价值,即使它不是一个有趣或信息丰富的价值。一些环境在几乎所有时间步上都会有非零奖励。除了定义代理目标的一两个重要例外之外,某些环境可能对每次转换都零奖励。

所以在井字游戏中,如果游戏还没有结束,奖励将是0因为没有一个玩家赢过或输过,而获得胜利是一个学习目标。如果你使用0tic-tac-toe 中所有不完整时间步的奖励值,以及 Sutton & Barto 编写的 SARSA 算法,那么它将按预期工作。你不需要等到剧集结束,算法仍然会学习预测动作的价值,尽管经历了很多rt=0在游戏开始和中间。

您展示了 MC 预测算法,该算法确实等到每集结束,直到使用经验回报计算估计值。

我认为您可能想要查看的一件事是时间步后立即奖励之间的区别(注意Rt+1) 并返回(注意Gt)。两者之间存在关系Gt=k=0γkRt+k+1. 所有基于价值的方法,例如 MC 预测或 SARSA,都是估计预期回报的方法Eπ[Gt]给定一些上下文,例如当时的状态或状态和动作t.

鉴于此,这应该回答您的其他问题。

确定每个行动的奖励是否是 SARSA 的要求?

这是 MDP 的一般要求,也是所有求解器所期望的。但是,默认为0很好,如果环境是这样的话。强化学习 (RL) 算法都可以应对重要奖励值的延迟(例如输赢游戏的延迟)。更大的延迟 - 例如数千0更有意义的值之间的奖励步骤 - 通常与更难解决的问题相关联,因此更简单的算法可能不实用。但只要有足够的经验,他们都能在理论上应付。

代理可以等到剧集结束来确定奖励吗?

不,您应该始终能够计算即时奖励rt+1采取每一个动作后at从状态st.

但是,一般来说,等到您总结出更多这些奖励(例如rt+1rt+n) 在估算回报之前gt更新价值估计。单步 SARSA(有时称为 SARSA(0))不等待 - 它使用单个即时奖励值进行更新步骤。然而,包括蒙特卡洛 (MC) 和 SARSA 的一些变体在内的其他代理类型可以并且确实等待 - 有时只是等待一些步骤,有时直到每集结束。

这是您在设计代理时可以做出的选择,这是有后果的。等到剧集结束(如在 MC 中)意味着您对价值进行了无偏估计,但需要更长的时间,并导致更新的可变性更高。在每一步之后使用奖励值(如在 SARSA(0) 中)意味着您可以进行更频繁的更新,这可能会收敛更多,但您会从有偏差的错误值开始。