
強化學習 (RL) - Q-Learning
這不是考試,是一場生存遊戲。本文將介紹強化學習的核心組件與經典的 Q-Learning 演算法,看看 AI 如何透過「獎勵與懲罰」學會尋寶。
WRITTEN BY

- Name
- Harry Chang
1. 前言:這不是考試,是生存遊戲
前 21 天我們學的 (監督式/非監督式學習) 像是「考試」:
- 監督式 (Supervised):老師給你考古題和答案,你要死背下來。
- 非監督式 (Unsupervised):老師給你一堆資料,你要自己整理歸納。
今天我們要進入一個全新的領域:Reinforcement Learning (RL,強化學習)。它像是玩馬利歐 (Mario) 或 訓練狗狗:沒人告訴你每一步該怎麼走,你只能透過不斷嘗試 (Trial and Error),做得好有糖吃 (Reward +1),做錯了會受傷 (Reward -1),目標是活下去並拿到最高分。
RL 的發展演進
| 年份 | 模型 | 重要性 |
|---|---|---|
| 1989 | Q-Learning | RL 始祖。Watkins 提出,用表格 (Table) 來記錄經驗。 |
| 2013 | DQN | 深度學習革命。將 Q-Learning 結合神經網路,成功玩 Atari 遊戲。 |
| 2016 | AlphaGo | 震驚世界。結合了 RL + MCTS,擊敗圍棋世界冠軍。 |
| 2017 | PPO | 現代標準。OpenAI 提出,現在 ChatGPT 的 RLHF 就是用它。 |
MCTS (蒙地卡羅樹搜尋): 隨機試玩 (Simulation)。想像你在走迷宮,MCTS 會派 1000 隻螞蟻隨機亂跑,看哪條路跑出去的螞蟻最多,就走那條路。AlphaGo 就是用這個方法快速判斷目前的棋局「勝率」。
2. 核心組件
RL 的世界由 5 個核心元素組成:
- Agent (代理人):主角 (例如:馬利歐、AlphaGo)。
- Environment (環境):遊戲世界 (例如:關卡、棋盤)。
- State (狀態 S):現在的情況 (例如:前面有烏龜)。
- Action (動作 A):你能做什麼 (例如:跳躍、向右走)。
- Reward (獎勵 R):環境給你的回饋 (例如:吃到金幣 +10)。
互動迴圈 (The Loop)
3. 核心算法:Q-Learning (Q 表學習)
這是最經典、最簡單的 RL 演算法。它的核心思想是建立一張 作弊小抄 (Q-Table)。
什麼是 Q-Table?
想像你在玩迷宮,你有一本筆記本,記錄著在每個路口做每個動作的預期分數。
- 行 (Row):代表每個位置 (State)。
- 列 (Column):代表每個動作 (Action)。
- 值 (Q-Value):代表該動作預期能拿到的分數。
Q-Learning 公式
💡 公式白話文:
- 現實與理想的差距:我剛剛拿到的獎勵 + 下一步最好的預期分數,減掉我原本以為的分數。
- (學習率):我多相信新的經驗?(通常 0.1)。
- (遠見因子):我多在乎未來的獎勵?(0.9 代表很有遠見)。
4. 實戰:尋寶遊戲 (Treasure Hunt)
我們實作一個簡單的 1D 世界:o---T。其中 o 是探險家,T 是寶藏。

訓練過程
- Episode 1:Agent 像無頭蒼蠅,亂走很久才摸到寶藏。
- Episode 10:Agent 變成老司機,直接衝向寶藏。
Q-Table 解讀
這張表就是 Agent 的「腦袋」,記錄了在每個位置(State)做每個動作(Action)的 「含金量 (Q-Value)」:
- 動作分析:
- Action: Right (往右):你會發現分數從 +15 一路飆升到 +80。這代表 Agent 意識到越往右走,離寶藏越近,未來的期望獎勵就越高。
- Action: Left (往左):在位置 0 往左走會拿到 -10(撞牆受罰);其餘位置的分數較低,因為那是拿不到寶藏的「回頭路」。
數據循環:分數是如何傳遞的?
為什麼圖片中的數字是這樣排列的?我們帶入公式跑一次 「位置 3 往右走」 的更新循環:
- 現在情況:Agent 站在位置 3,筆記本上記錄往右走值 60 分。
- 看到希望:它往右看了一眼位置 4,發現那邊往右走值 80 分!
- 算出期望:算上 0.9 的遠見因子,位置 4 的價值對現在來說是 分。
- 修正大腦:AI 發現「未來的希望 (72)」比「舊的印象 (60)」還要好,於是它會把 60 分往 72 分的方向上修。
結論:寶藏的獎勵就像 「墨水滴進水裡」,會隨訓練次數向後擴散。AI 不需要知道寶藏在哪,它只需要在每個路口選數字大的方向走,自然就會抵達終點。
5. 下一關預告
當狀態太多 (例如圍棋有 種狀態),Q-Table 寫不下怎麼辦?
Day 23 我們將介紹 Deep Q-Network (DQN),看看我們如何用「神經網路」來取代這張作弊小抄!