强化学习

SARSA

/ SAR-suh /

SARSA 是 Q学习更为谨慎的孪生兄弟。它俩几乎共享一切——都记着一本 Q 值的笔记本、都把它们朝「当下奖励加上日后价值」挪近——但有一处意味深长的不同:SARSA 更新一个 Q 值时,用的是它接下来「实际」采取的那个动作,连同任何探索性的失误,而非它「本可以」采取的最佳动作。它学的是自己「真实」行为的价值,连同其中的瑕疵。

这个名字不过是一次更新所需的五样东西,按顺序排开:State(状态)、Action(动作)、Reward(奖励)、next State(下一状态)、next Action(下一动作)——S、A、R、S、A。第二个「A」才是关键所在。正因为 SARSA 是从它自己真实的下一步去学习,它被称为「同策略」:它改进的,正是它当下所遵循的那个会探索的策略,而非某个它根本没在用的、理想化的贪心策略。

这在临近危险处会带来真切的实际差别。想象一条悬崖边的路。Q学习假定自己将永远最优地行动,于是学会贴着崖边走以求最短路径——可一个仍在探索的智能体若贴着边走,偶尔就会随机地一步踏空。SARSA 把这些偶尔的随机踏步也算了进去,于是学会与悬崖保持更安全的余地。两者并非简单的孰优孰劣:Q学习为一个完美无瑕的未来行动者找到最优路径,而 SARSA 则为一个「自知偶尔会失足」的智能体找到更明智的路径。

经典的「悬崖行走」网格:一排悬崖格子给予重罚。Q学习学出贴着崖边走的那条大胆路径(只要你永不失足,它就是最优)。SARSA 仍在用 ε-贪心探索,便学出后退一排的更安全路径——因为它把那种偶尔会把自己送下崖去的随机失步也算了进来。

同一座迷宫,两种心态:Q学习为完美行动者谋划;SARSA 为一个仍在探索、仍会失足者谋划。

SARSA 与 Q学习之间那唯一的差别——「实际的下一动作」对「最佳的下一动作」——正是「同策略」与「离策略」的教科书式例证。SARSA 在危险附近那种更安全、更保守的表现并非缺陷;它是「学习你真正在执行的那个策略的价值」所带来的诚实后果。

又称
state-action-reward-state-actionon-policy TD control同策略时序差分控制