第三部《強化學習》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的沙龍
13會員
344內容數
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
我想要一天分享一點「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
追蹤感興趣的內容從 Google News 追蹤更多 vocus 的最新精選內容追蹤 Google News