SARSA算法機器學習領域的一種強化學習算法,得名於「狀態-動作-獎勵-狀態-動作」(State–Action–Reward–State–Action)的英文首字母縮寫。

SARSA算法最早是由G.A. Rummery, M. Niranjan在1994年提出的,當時稱為「改進型聯結主義Q學習」(Modified Connectionist Q-Learning)。[1]Richard S. Sutton英語Richard S. Sutton提出了使用替代名SARSA。[2]

SARSA算法和Q學習算法的區別主要在期望獎勵Q值的更新方法上。SARSA算法使用五元組(st, at, rt, st+1, at+1)來進行更新,其中s、a、r分別為馬可夫決策過程(MDP)中的狀態、動作、獎勵,t和t+1分別為當前步和下一步。[3]

算法

編輯
for each step in episode
 执行动作  ,观察奖励   和下一步状态  
 基于当前的   ,根据特定策略(如ε-greedy)选择  
  
   
until 状态   终止

在選擇下一步動作 時,採用ε-greedy策略,即:

  • 以 ε 的概率隨機選擇下一個動作
  • 以 1-ε 的概率選擇可以最大化 的下一個動作

在該算法中,超參數  學習速率  為折扣因子。

在更新 時,對比Q學習使用   作為預估,SARSA則使用   作為預估。[4]一些針對Q學習的提出優化方法也可以應用於SARSA上。[5]

相關條目

編輯

參考文獻

編輯
  1. ^ Online Q-Learning using Connectionist Systems" by Rummery & Niranjan (1994). [2022-07-14]. (原始內容存檔於2013-06-08). 
  2. ^ Jeevanandam, Nivash. Underrated But Fascinating ML Concepts #5 – CST, PBWM, SARSA, & Sammon Mapping. Analytics India Magazine. 2021-09-13 [2021-12-05]. (原始內容存檔於2021-12-05) (英語). 
  3. ^ Richard S. Sutton and Andrew G. Barto. Sarsa: On-Policy TD Control. Reinforcement Learning: An Introduction. [2022-07-14]. (原始內容存檔於2020-07-05). 
  4. ^ TINGWU WANG. Tutorial of Reinforcement: A Special Focus on Q-Learning (PDF). cs.toronto. [2022-07-14]. (原始內容存檔 (PDF)於2022-07-14). 
  5. ^ Wiering, Marco; Schmidhuber, Jürgen. Fast Online Q(λ) (PDF). Machine Learning. 1998-10-01, 33 (1): 105–115 [2022-07-14]. ISSN 0885-6125. S2CID 8358530. doi:10.1023/A:1007562800292 . (原始內容存檔 (PDF)於2018-10-30) (英語).