第三部《強化學習》34/100 SARSA 演算法 🧠 On-policy 控制範例教學!

更新 發佈閱讀 10 分鐘

AI時代系列(3) 機器學習三部曲: 📘 第三部:《強化學習 —— AI 的決策與進化》

34/100 第四週:📌 時序差分學習 TD

34. SARSA 演算法 🧠 On-policy 控制範例教學!

________________________________________

🎯 單元導讀:

SARSA (State → Action → Reward → State' → Action'。)是一種典型的 On-policy TD 控制演算法,名稱來自其五個核心元素:

State → Action → Reward → State' → Action'。

SARSA 在實際互動中,根據「當下所用策略」來學習與更新 Q 值,並逐步改進策略。

適合用於需要持續互動、策略跟著行為更新的場景。

________________________________________

🧠 一、SARSA 名稱由來

時間 t 時間 t+1


+---------+ a_t +---------+

| s_t | -----------> | s_{t+1}|

+---------+ +---------+

| |

| |

| |

r_{t+1} a_{t+1} (根據策略選)

SARSA 取用的五個元素:

(s_t, a_t, r_{t+1}, s_{t+1}, a_{t+1})

在 SARSA 演算法中,每次更新會用到五個資訊:

當下的狀態 sₜ

當下採取的動作 aₜ

產生的即時獎勵 rₜ₊₁

移動後的新狀態 sₜ₊₁

以及在 sₜ₊₁ 下根據當前策略選出的下一個動作 aₜ₊₁。

SARSA 會將「實際經歷的路徑」拿來修正 Q 值。更新時,先觀察新得到的回報 rₜ₊₁,再加上在新狀態 sₜ₊₁ 下對自己實際選擇 aₜ₊₁ 的預期價值,整體當成新的估計,與原本的 Q(sₜ, aₜ) 做誤差修正。因為用的是當前策略選的 aₜ₊₁,所以稱為 On-policy 學習。

👉 重點口訣:

「做完後馬上看自己下一步選什麼」

這就是 SARSA 和 Q-Learning 最大不同。SARSA 會去取實際選到的 a_{t+1},而不是取 Q 最大值。

________________________________________

⚙️ 二、SARSA 演算法公式

Q 值更新公式如下:

Q(s_t, a_t) <-- Q(s_t, a_t)

+ α * [r_{t+1} + γ * Q(s_{t+1}, a_{t+1}) - Q(s_t, a_t)]

其中:

α:學習率

γ:折扣因子

Q(st,at)Q(s_t, a_t)Q(st,at):目前的估計

Q(st+1,at+1)Q(s_{t+1}, a_{t+1})Q(st+1,at+1):下一狀態在當前策略下的估計值

SARSA 每次更新時,利用學習率 α 決定修正幅度,折扣因子 γ 反映對未來回報的重視程度。它根據目前狀態與動作的估計值 Q(sₜ, aₜ),以及下個狀態中依照當前策略實際選出的動作所對應的估計值 Q(sₜ₊₁, aₜ₊₁),來計算誤差並修正 Q 值。透過不斷累積這些經驗,SARSA 逐步學習出符合策略的最佳行動方案。

📌 SARSA 強調 依據目前策略執行與更新,這與 Q-learning 的最大值選擇不同。

________________________________________

🔁 三、SARSA 執行流程

1️⃣ 初始化 Q(s,a)

2️⃣ 重複進行每一個 episode:

 a. 從起始狀態 s,依 ε-greedy 選擇行動 a

 b. 執行動作,獲得 rrr、觀察下一狀態 s′

 c. 依 ε-greedy 再選擇下一個行動 a′

 d. 根據更新公式修正 Q(s,a)

 e. 更新公式利用 (s, a, r, s′, a′) 這五個元素修正 Q 值,持續學習更好的策略。

直到 episode 結束。

________________________________________

🧩 四、SARSA 與 Q-learning 比較

SARSA 是 On-policy 方法,在更新 Q 值時使用實際依照當前策略所選出的動作 a′,因此學習過程與行為策略保持一致,收斂較保守,適合需要穩定控制的應用情境,如交通控制或機器人導航。而 Q-learning 屬於 Off-policy 方法,更新時直接取下一狀態所有可能動作中最大 Q 值(argmax a),較激進,收斂速度可能更快,但也容易學到高風險策略,適合像博弈、對戰等追求高效率的任務。

________________________________________

🕹 五、實作範例情境:走迷宮任務(GridWorld)

SARSA 學習讓智能體從起點走到目標,並盡量避免掉入陷阱。

狀態:地圖位置 (x, y)

行動:上、下、左、右

獎勵:到終點 +10,走到陷阱 -10,其餘為 0

策略:ε-greedy

演算法:SARSA 漸進式更新 Q 值 → 找出穩健路徑

________________________________________

🧪 六、延伸挑戰任務

1️⃣ 嘗試將 SARSA 套用到 21 點遊戲、走迷宮或電玩推薦場景

簡答:

21 點遊戲:SARSA 可根據玩家目前手牌總點數、莊家明牌與目前選擇的動作(要牌或停牌)作為狀態與行動,當完成一局後根據輸贏得到回饋,利用 TD 誤差修正 Q 值。經過多次訓練後,AI 可學會在不同情境下做出最佳要牌/停牌決策

走迷宮任務:每次移動的狀態為目前所在格子位置,行動為上下左右移動,獎勵根據是否抵達目標或掉入陷阱給出。SARSA 透過實際走的路徑更新 Q 值,比較適合在地圖中存在隨機障礙或有危險區域的迷宮訓練,學習保守且穩定的路徑。

電玩推薦場景:每次推薦一款遊戲(行動 a)後觀察使用者的反應(例如是否有下載、遊玩時間長短等作為獎勵 r),下一次根據用戶最新行為(狀態 s′)選擇新的推薦。SARSA 可以在實際互動中逐步學習用戶偏好,建立個人化推薦模型。

________________________________________

2️⃣ 改變 ε 值(如 0.1 → 0.3),觀察探索與保守性的變化

簡答:

ε 代表探索比例:

當 ε 提高時(例如 0.1 → 0.3),AI 增加隨機選擇動作的頻率,會去嘗試更多不熟悉的選擇,有機會發現更好的行動路徑。

ε 較大時:

o 初期探索更多樣,有助於避免過早陷入局部最優解。

o 但也可能短期內表現較波動,因為有些新嘗試帶來較差的結果。

ε 較小時:

o AI 較偏向利用現有已知的好策略,學習過程穩定。

o 但若早期策略不佳,可能長期卡在次優策略上。

實務建議:常用ε遞減法,讓系統初期多探索,後期逐漸轉向穩定利用。

________________________________________

3️⃣ 與 Q-learning 訓練同樣環境後比較學習穩定性與策略選擇

簡答:

SARSA (On-policy):

o 更新使用實際採取的動作,較符合真實行為。

o 學習較穩定,適合風險較高、不可犯錯的應用(如交通控制、醫療決策)。

o 偏向「穩健型學習」,行為一致,避免激進策略。

Q-learning (Off-policy):

o 更新時直接取最大 Q 值,追求理論上最好的策略,不考慮實際行為。

o 學習速度較快,容易發現高報酬策略,但可能出現高風險決策。

o 偏向「積極型學習」,在競爭型遊戲、對戰、博弈環境更具優勢。

兩者比較:

o SARSA 風險控制較好,穩定性高;Q-learning 收斂速度較快但可能振盪。

o 在環境具高不確定性與風險代價高時,SARSA 較適用;在高度可模擬、允許大量試錯的場景下,Q-learning 較具優勢。

________________________________________

✅ 七、小結與啟示

• SARSA 是 On-policy 強化學習代表,實務中常與 ε-greedy 策略搭配

• 更新是根據實際策略選擇的下一行動,而非理論上最優

• 學習過程更保守,穩定性較好,適合控制問題與風險可控任務

• SARSA 鼓勵「做中學」,一步步累積智慧,穩扎穩打!



留言
avatar-img
留言分享你的想法!
avatar-img
Hansen W的沙龍
9會員
274內容數
AIHANS沙龍是一個結合AI技術實戰、產業策略與自我成長的知識平台,主題涵蓋機器學習、生成式AI、創業經驗、財務規劃及哲學思辨。這裡不只提供系統化學習資源與實作案例,更強調理性思維與行動力的結合。無論你是AI初學者、創業者,還是追求人生升維的行者,都能在這裡找到前進的方向與志同道合的夥伴。
Hansen W的沙龍的其他內容
2025/09/24
TD 誤差衡量預測與實際回報的落差,驅動 AI 即時更新狀態價值。與 MC 相比,TD 更新快、變異小但可能有偏差,適合動態任務。核心在持續修正錯誤,逐步收斂至更佳策略。
2025/09/24
TD 誤差衡量預測與實際回報的落差,驅動 AI 即時更新狀態價值。與 MC 相比,TD 更新快、變異小但可能有偏差,適合動態任務。核心在持續修正錯誤,逐步收斂至更佳策略。
2025/09/24
TD 預測學習透過「即時回報+下一狀態估值」修正當前預測,核心是 TD 誤差。它可邊學邊估,不必等待完整回合,適合動態環境,更新快、變異小但可能有偏差,是強化學習實戰應用的重要方法。
2025/09/24
TD 預測學習透過「即時回報+下一狀態估值」修正當前預測,核心是 TD 誤差。它可邊學邊估,不必等待完整回合,適合動態環境,更新快、變異小但可能有偏差,是強化學習實戰應用的重要方法。
2025/09/24
TD(0) 是結合蒙地卡羅與動態規劃優點的強化學習方法,可在每步即時更新狀態價值,提升效率並適用持續任務。雖能快速收斂,但易受預測偏差影響,需調整學習率與探索策略。它是 DQN、Actor-Critic 等演算法的重要基礎。
2025/09/24
TD(0) 是結合蒙地卡羅與動態規劃優點的強化學習方法,可在每步即時更新狀態價值,提升效率並適用持續任務。雖能快速收斂,但易受預測偏差影響,需調整學習率與探索策略。它是 DQN、Actor-Critic 等演算法的重要基礎。
看更多
你可能也想看
Thumbnail
在小小的租屋房間裡,透過蝦皮購物平臺採購各種黏土、模型、美甲材料等創作素材,打造專屬黏土小宇宙的療癒過程。文中分享多個蝦皮挖寶地圖,並推薦蝦皮分潤計畫。
Thumbnail
在小小的租屋房間裡,透過蝦皮購物平臺採購各種黏土、模型、美甲材料等創作素材,打造專屬黏土小宇宙的療癒過程。文中分享多個蝦皮挖寶地圖,並推薦蝦皮分潤計畫。
Thumbnail
小蝸和小豬因購物習慣不同常起衝突,直到發現蝦皮分潤計畫,讓小豬的購物愛好產生價值,也讓小蝸開始欣賞另一半的興趣。想增加收入或改善伴侶間的購物觀念差異?讓蝦皮分潤計畫成為你們的神隊友吧!
Thumbnail
小蝸和小豬因購物習慣不同常起衝突,直到發現蝦皮分潤計畫,讓小豬的購物愛好產生價值,也讓小蝸開始欣賞另一半的興趣。想增加收入或改善伴侶間的購物觀念差異?讓蝦皮分潤計畫成為你們的神隊友吧!
Thumbnail
我想要一天分享一點「LLM從底層堆疊的技術」,並且每篇文章長度控制在三分鐘以內,讓大家不會壓力太大,但是又能夠每天成長一點。 回顧 AI說書 - 從0開始 - 129 中說,Bidirectional Encoder Representations from Transformers (BER
Thumbnail
我想要一天分享一點「LLM從底層堆疊的技術」,並且每篇文章長度控制在三分鐘以內,讓大家不會壓力太大,但是又能夠每天成長一點。 回顧 AI說書 - 從0開始 - 129 中說,Bidirectional Encoder Representations from Transformers (BER
Thumbnail
我想要一天分享一點「LLM從底層堆疊的技術」,並且每篇文章長度控制在三分鐘以內,讓大家不會壓力太大,但是又能夠每天成長一點。 回顧 AI說書 - 從0開始 - 87 說:Wang 等人 2019 年的論文,提供了合理答案的選擇 (Choice of Plausible Answers, COP
Thumbnail
我想要一天分享一點「LLM從底層堆疊的技術」,並且每篇文章長度控制在三分鐘以內,讓大家不會壓力太大,但是又能夠每天成長一點。 回顧 AI說書 - 從0開始 - 87 說:Wang 等人 2019 年的論文,提供了合理答案的選擇 (Choice of Plausible Answers, COP
Thumbnail
我想要一天分享一點「LLM從底層堆疊的技術」,並且每篇文章長度控制在三分鐘以內,讓大家不會壓力太大,但是又能夠每天成長一點。 回顧 AI說書 - 從0開始 - 87 說:Wang 等人 2019 年的論文,提供了合理答案的選擇 (Choice of Plausible Answers, COP
Thumbnail
我想要一天分享一點「LLM從底層堆疊的技術」,並且每篇文章長度控制在三分鐘以內,讓大家不會壓力太大,但是又能夠每天成長一點。 回顧 AI說書 - 從0開始 - 87 說:Wang 等人 2019 年的論文,提供了合理答案的選擇 (Choice of Plausible Answers, COP
Thumbnail
我想要一天分享一點「LLM從底層堆疊的技術」,並且每篇文章長度控制在三分鐘以內,讓大家不會壓力太大,但是又能夠每天成長一點。 回顧 AI說書 - 從0開始 - 87 說:Wang 等人 2019 年的論文,提供了合理答案的選擇 (Choice of Plausible Answers, COP
Thumbnail
我想要一天分享一點「LLM從底層堆疊的技術」,並且每篇文章長度控制在三分鐘以內,讓大家不會壓力太大,但是又能夠每天成長一點。 回顧 AI說書 - 從0開始 - 87 說:Wang 等人 2019 年的論文,提供了合理答案的選擇 (Choice of Plausible Answers, COP
Thumbnail
我想要一天分享一點「LLM從底層堆疊的技術」,並且每篇文章長度控制在三分鐘以內,讓大家不會壓力太大,但是又能夠每天成長一點。 回顧 AI說書 - 從0開始 - 87 說:Wang 等人 2019 年的論文,提供了合理答案的選擇 (Choice of Plausible Answers, COP
Thumbnail
我想要一天分享一點「LLM從底層堆疊的技術」,並且每篇文章長度控制在三分鐘以內,讓大家不會壓力太大,但是又能夠每天成長一點。 回顧 AI說書 - 從0開始 - 87 說:Wang 等人 2019 年的論文,提供了合理答案的選擇 (Choice of Plausible Answers, COP
Thumbnail
我想要一天分享一點「LLM從底層堆疊的技術」,並且每篇文章長度控制在三分鐘以內,讓大家不會壓力太大,但是又能夠每天成長一點。 如 AI說書 - 從0開始 - 78 所述,經過 AI說書 - 從0開始 - 74 到目前為止的實驗,應可以漸漸感受到 Transformer 模型如何從數學層面漸漸往
Thumbnail
我想要一天分享一點「LLM從底層堆疊的技術」,並且每篇文章長度控制在三分鐘以內,讓大家不會壓力太大,但是又能夠每天成長一點。 如 AI說書 - 從0開始 - 78 所述,經過 AI說書 - 從0開始 - 74 到目前為止的實驗,應可以漸漸感受到 Transformer 模型如何從數學層面漸漸往
Thumbnail
我想要一天分享一點「LLM從底層堆疊的技術」,並且每篇文章長度控制在三分鐘以內,讓大家不會壓力太大,但是又能夠每天成長一點。 Transformers for Natural Language Processing and Computer Vision, 2024 這本書中講 Trainin
Thumbnail
我想要一天分享一點「LLM從底層堆疊的技術」,並且每篇文章長度控制在三分鐘以內,讓大家不會壓力太大,但是又能夠每天成長一點。 Transformers for Natural Language Processing and Computer Vision, 2024 這本書中講 Trainin
Thumbnail
我想要一天分享一點「LLM從底層堆疊的技術」,並且每篇文章長度控制在三分鐘以內,讓大家不會壓力太大,但是又能夠每天成長一點。 在 AI說書 - 從0開始 - 52 中,我們已經解析完 Attention 機制如何運作的,以下延伸至 Multi-Head Attention: Head 1
Thumbnail
我想要一天分享一點「LLM從底層堆疊的技術」,並且每篇文章長度控制在三分鐘以內,讓大家不會壓力太大,但是又能夠每天成長一點。 在 AI說書 - 從0開始 - 52 中,我們已經解析完 Attention 機制如何運作的,以下延伸至 Multi-Head Attention: Head 1
Thumbnail
我想要一天分享一點「LLM從底層堆疊的技術」,並且每篇文章長度控制在三分鐘以內,讓大家不會壓力太大,但是又能夠每天成長一點。 Transformers for Natural Language Processing and Computer Vision, 2024 這本書中講 Attenti
Thumbnail
我想要一天分享一點「LLM從底層堆疊的技術」,並且每篇文章長度控制在三分鐘以內,讓大家不會壓力太大,但是又能夠每天成長一點。 Transformers for Natural Language Processing and Computer Vision, 2024 這本書中講 Attenti
Thumbnail
關於 SORA 技術原理的圖像式解說,內容從通用型人工智慧到生成運算的原理以及相關的技術研究成果。 提供了使用生成運算方式的 Diffusion Transformer 介紹和進階閱讀的指路。分享 AI 研究領域的開放性和合作精神,以及對視覺產業可能帶來的影響。
Thumbnail
關於 SORA 技術原理的圖像式解說,內容從通用型人工智慧到生成運算的原理以及相關的技術研究成果。 提供了使用生成運算方式的 Diffusion Transformer 介紹和進階閱讀的指路。分享 AI 研究領域的開放性和合作精神,以及對視覺產業可能帶來的影響。
追蹤感興趣的內容從 Google News 追蹤更多 vocus 的最新精選內容追蹤 Google News