AI時代系列(3) 機器學習三部曲: 📘 第三部:《強化學習 —— AI 的決策與進化》
35/100 第四週:📌 時序差分學習 TD
35. Q-Learning 演算法 💪 強化學習的經典 off-policy 方法!
________________________________________
🎯 單元導讀:
Q-Learning 是強化學習中最具代表性的 Off-policy TD 控制演算法。
它透過更新 Q 值估計,學習在每個狀態下選擇能 最大化長期回報的行動,
即使實際採取的行動並非最優,也能學到最優策略!
________________________________________
🧠 一、Q-Learning 的公式
Q 值更新規則如下:
Q(s_t, a_t) = Q(s_t, a_t)
+ α × ( [r_{t+1} + γ × max_{a'} Q(s_{t+1}, a')]
- Q(s_t, a_t) )
在 Q-learning 中,AI 會用目前的 Q(sₜ, aₜ) 加上學習率 α 乘以「目標值與現有估計值的差距」來修正。這個目標值包含了當下得到的獎勵 rₜ₊₁,加上在下一個狀態 sₜ₊₁ 下,所有可能動作中最高的估計價值 maxₐ′ Q(sₜ₊₁, a′)。
整體來說,Q-learning 是希望每次更新都往「當前觀察到的最佳可能回報」靠近,逐漸學出最優的策略。
關鍵特點:
• 即使當前策略是 ε-greedy,更新時仍使用 下一狀態中 Q 值最大的行動
• 所以稱為 Off-policy:行為策略 ≠ 評估策略
________________________________________
🔁 二、Q-Learning 演算法流程
1️⃣ 初始化所有 Q(s, a) 為 0
2️⃣ 對每個 episode:
a. 初始化狀態 s
b. 依 ε-greedy 選擇行動 a
c. 執行 a,觀察獎勵 r 與新狀態 s′
d. 計算最大化行動的 Q 值: maxa′Q(s′,a′)
e. 根據更新公式調整 Q(s,a)
f. 將狀態更新為 s←s′,若為終止狀態則 episode 結束
________________________________________
📊 三、SARSA 與 Q-Learning 對照
SARSA 屬於 On-policy 演算法,每次更新時使用實際依據行為策略所選出的動作 a′,學習過程與行為保持一致,因此策略較保守、風險控制較好,適合用在如機器人導航、交通控制或即時互動系統等穩定性要求高的應用。而 Q-Learning 屬於 Off-policy,更新時不管實際選擇的動作,而是直接取下一狀態中預期最優的 maxₐ′ Q(s′, a′),學習速度較快,能快速收斂到高報酬策略,但也可能在早期出現較大波動,適合像 AlphaGo、資源分配、博弈策略等競爭性強、可大量模擬的任務。
________________________________________
🕹 四、實戰應用場景
• 自動駕駛汽車選擇最安全且最快的路徑
• 金融 AI 根據市場情境學習買賣最佳時機
• 無人機自主導航,避開障礙並找最短路徑
________________________________________
🧪 五、延伸任務挑戰
1️⃣ 在 Gym 的 FrozenLake 環境中用 Q-Learning 訓練成功率 90% 的策略
簡答:
FrozenLake 是典型的離散迷宮環境,透過 Q-learning 可訓練 AI 學會避開冰窟走到終點。透過反覆試誤,AI 會逐漸累積每個狀態下的 Q 值,形成穩定路徑。當訓練充足、探索與學習率設計合理時,可達到超過 90% 的通關成功率。
訓練技巧:
• 設定足夠的訓練迭代(如 5000 次以上)
• 適當的 ε 衰減,初期多探索,後期專注利用
• α 設定適中,避免學習過快或過慢
________________________________________
2️⃣ 嘗試不同的 ε 值與學習率 α,觀察學習速度與穩定性差異
簡答:
• ε(探索比例):
o ε 較高(如 0.3~0.5):初期探索更多路徑,收斂較慢,但更能避免陷入次優解。
o ε 較低(如 0.05~0.1):學習穩定,但若早期策略不好,可能學不到最佳路徑。
• α(學習率):
o α 較高:快速學習新經驗,但容易震盪不穩。
o α 較低:學習較慢,但穩定累積知識。
適當組合 ε 和 α,可找到較佳的學習平衡,讓模型穩定又高效。
________________________________________
3️⃣ 改用 Double Q-Learning,降低過度估計偏差(Overestimation Bias)
簡答:
在一般 Q-learning 中,取 maxₐ′ Q(s′, a′) 可能會系統性高估價值,特別在有隨機性或誤差的環境下,造成學習偏差。Double Q-learning 透過兩組獨立 Q 表交替更新,使用一組 Q 來選擇動作,另一組 Q 來計算估值,可有效降低高估問題,讓策略更穩定、保守,提升長期表現。
________________________________________
✅ 六、小結與啟示
• Q-Learning 是強化學習的經典方法,核心是「最大化未來預期回報」
• 即使當下選擇非最佳行動,仍能學得最優策略(Off-policy 精神)
• 適合需要學得快、有穩定最佳行為目標的應用場景
• 憑藉簡單更新公式與實用性,Q-Learning 是每個 RL 學者必學的一步!









