第三部《強化學習》23/100 從遊戲中學策略 🎮 AlphaGo 的基礎就是這個!

更新 發佈閱讀 12 分鐘

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

23/100 第三週:📌 蒙地卡羅方法(Monte Carlo Methods)

23.從遊戲中學策略 🎮 AlphaGo 的基礎就是這個!

________________________________________

🎯 單元導讀:

在遊戲世界中,沒有現成答案能告訴 AI「哪一步一定對」。

那麼,AI 是怎麼學會打敗人類高手的?

答案就是:

從大量遊戲中累積經驗 → 蒙地卡羅方法 → 學出最強策略!

AlphaGo 的早期訓練階段,就是結合「自我對弈」與「蒙地卡羅控制(MC Control)」來逐步逼近最優策略。這種方法不靠老師、不用標籤,靠的全是自己玩出來的智慧。

________________________________________

🧠 一、什麼是蒙地卡羅控制(MC Control)?

控制(Control)與評估(Evaluation)的差別在於:

評估:只估算「給定策略 π」的好壞

控制:不只要評估,還要不斷改進策略 π → π' → π'',直到學出最好的!

🎯 目標:學會最優策略 π*

透過試錯模擬 + 回報統計 + Epsilon-Greedy 探索,不斷提升策略!

________________________________________

📦 二、MC 控制的核心流程(以 ε-Greedy 為例)

graph LR

A[初始化 π 隨機策略] --> B[執行多次 Episode]

B --> C[累積 Gt 更新 Q(s,a)]

C --> D[更新策略 π 為 ε-Greedy(Q)]

D --> B

步驟如下:

1️⃣ 執行策略 π 產生 episode

2️⃣ 對每個狀態-動作對 (s, a) 統計其回報 Gt

3️⃣ 更新動作價值函數 Q(s, a) ← 平均 Gt

4️⃣ 用 ε-Greedy 選擇行動,鼓勵探索新選項

5️⃣ 重複以上步驟,策略逐步逼近最優!

這個流程描述了**蒙地卡羅控制(MC Control)*的學習過程。首先,從一個隨機初始化的策略 π 開始,透過反覆執行多次完整的 episode 收集經驗。在每次 episode 中,對所有出現的狀態-動作對 (s, a) 計算其累積折扣報酬 Gₜ,並用平均 Gₜ 來更新動作價值函數 Q(s, a)。接著,使用 ε-Greedy 策略根據最新的 Q 值來選擇行動,在 exploitation 與 exploration 之間平衡,持續探索新可能的路徑。透過不斷重複這個過程,策略 π 會逐漸收斂,最終逼近最優策略 π,實現最佳決策行為。

________________________________________

🔁 三、Q 值更新公式

Q(s,a) {平均所有該對 (s,a) 的 G_t}

若用增量式更新,可寫成:

Q(s,a)←Q(s,a)+α[Gt−Q(s,a)]

其中:

G:該次 episode 中從 (s,a) 開始的累積報酬

α:學習率

________________________________________

🎮 四、AlphaGo 是怎麼用的?

階段 描述 技術

初期訓練 用人類棋譜訓練策略網路 監督學習(SL Policy Network)

中期進化 自我對弈 + 蒙地卡羅樹搜尋(MCTS) 蒙地卡羅控制方法

決策下棋 用 MCTS 根據局勢評估未來勝率 結合策略網路與價值網路

📌 AlphaGo 雖非純 MC 控制,但其核心概念「透過自我對弈學出策略」源自蒙地卡羅法!

________________________________________

💻 五、簡易實作框架(MC Control + ε-Greedy)

python

import numpy as np

from collections import defaultdict

def epsilon_greedy_policy(Q, state, n_actions, epsilon):

if np.random.rand() < epsilon:

return np.random.randint(n_actions)

else:

return np.argmax(Q[state])

Q = defaultdict(lambda: np.zeros(env.action_space.n))

returns = defaultdict(list)

for episode in range(num_episodes):

state = env.reset()

episode_data = []

done = False

while not done:

action = epsilon_greedy_policy(Q, state, env.action_space.n, epsilon)

next_state, reward, done, _ = env.step(action)

episode_data.append((state, action, reward))

state = next_state

G = 0

visited = set()

for state, action, reward in reversed(episode_data):

G = reward + gamma * G

if (state, action) not in visited:

returns[(state, action)].append(G)

Q[state][action] = np.mean(returns[(state, action)])

visited.add((state, action))

這段程式碼實現了**First-Visit 蒙地卡羅控制(MC Control)**的學習流程。首先定義 epsilon_greedy_policy 函式,讓智能體在每個狀態中以 ε-Greedy 策略在探索(隨機選擇)與利用(選擇當前 Q 值最大的動作)間平衡。對每個 episode,從環境重置後開始互動,持續依據策略選擇行動,並記錄每一筆 (state, action, reward) 資料直到回合結束。

當回合完成後,反向回溯整個 episode,計算每個 (state, action) 對應的累積報酬 G。利用 visited 集合確保在同一回合中每個 (state, action) 只統計第一次出現的 G 值(First-Visit MC 核心特徵),避免重複樣本偏誤。最後,將 G 累加進 returns 中,並以所有 G 值的平均作為該狀態-動作對 Q 值的估計。隨著多次 episode 累積,Q 值逐漸收斂,學出最佳策略。

________________________________________

🧩 六、挑戰與反思任務:

1️⃣ 為何 AlphaGo 初期不直接用強化學習,而要先從監督學習開始?

原因:

圍棋狀態空間極大,若一開始用強化學習從零探索,學習效率非常低,且容易陷入隨機亂走的低價值區域。

透過監督學習,先利用大量專業棋譜訓練出「模仿人類高手」的初始策略網路,快速建立合理基礎策略,讓後續強化學習有良好起點(即縮小探索空間,避免完全隨機)。

初期監督學習就像「先站在巨人肩膀上」,後續透過自我對弈的強化學習繼續優化、超越人類高手,成為 AlphaGo 突破的關鍵路徑設計。

________________________________________

2️⃣ ε-Greedy 探索機制的優點與風險是什麼?你會如何設計 ε 的變化曲線?

優點:

操作簡單、易於實作

保證每個行動都有被探索的機會(避免陷入早期錯誤固定策略)

風險:

若 ε 太高,容易長期做出過多隨機探索,浪費資源影響學習穩定性

若 ε 太低,容易太早過度利用現有知識,導致探索不足,陷入次優策略

ε 設計建議:

衰減式 ε (ε-decay)

o 例如初期設 ε = 1(完全隨機探索),隨訓練回合逐漸指數衰減:

ε = ε_min + (ε_start - ε_min) * exp(-decay_rate * episode)

o 讓探索從大量嘗試 → 逐步集中到穩定策略

固定下限 ε_min:避免學習後期仍保留少量探索(如 ε_min = 0.01)

________________________________________

3️⃣ 自我對弈是否有可能陷入「錯誤的策略迴圈」?如何避免?

確實有可能。

若智能體在自我對弈初期學到某些不合理但「互相能夠平衡」的次優策略組合,兩邊互相強化彼此的錯誤選擇,就會形成所謂的「錯誤策略迴圈(Self-reinforcing suboptimal loop)」。

避免方法:

多樣性探索:保留一定 ε-Greedy 探索比例,偶爾嘗試未曾出現的行動

引入外部樣本:適當參考人類高手棋譜或歷史數據,打破封閉性自我學習陷阱

隨機對手訓練:在訓練對手策略中注入隨機化成分,增加環境變異性

對抗訓練 (Adversarial Training):設計讓對手策略持續進化,提升策略穩健性

________________________________________

✅ 七、小結與啟示:

• 蒙地卡羅控制法讓 AI 可以「從玩中學」,不依賴人類標籤

• AlphaGo 的核心訓練之一就是讓 AI 反覆與自己對弈並逐步優化策略

• MC 控制結合 Q 值估算與 ε-Greedy 策略改進,是強化學習中最早的「策略進化法」之

• 為後續 Q-Learning、Actor-Critic 打下基礎!



留言
avatar-img
留言分享你的想法!
avatar-img
Hansen W的沙龍
9會員
274內容數
AIHANS沙龍是一個結合AI技術實戰、產業策略與自我成長的知識平台,主題涵蓋機器學習、生成式AI、創業經驗、財務規劃及哲學思辨。這裡不只提供系統化學習資源與實作案例,更強調理性思維與行動力的結合。無論你是AI初學者、創業者,還是追求人生升維的行者,都能在這裡找到前進的方向與志同道合的夥伴。
Hansen W的沙龍的其他內容
2025/09/24
蒙地卡羅方法有 First-Visit 與 Every-Visit 兩種估值法。前者僅記錄首次出現的報酬,避免樣本偏誤,估計穩定但收斂較慢;後者每次出現都記錄,樣本快速累積,收斂快但變異較高。兩者皆能收斂,適用場景不同。
2025/09/24
蒙地卡羅方法有 First-Visit 與 Every-Visit 兩種估值法。前者僅記錄首次出現的報酬,避免樣本偏誤,估計穩定但收斂較慢;後者每次出現都記錄,樣本快速累積,收斂快但變異較高。兩者皆能收斂,適用場景不同。
2025/09/24
蒙地卡羅方法透過完整回合模擬與統計平均,估算狀態價值,不需環境模型,適合有明確終點的任務。其應用涵蓋遊戲訓練、模擬決策與金融回測,是連接動態規劃與時間差分的重要強化學習基礎技術。
2025/09/24
蒙地卡羅方法透過完整回合模擬與統計平均,估算狀態價值,不需環境模型,適合有明確終點的任務。其應用涵蓋遊戲訓練、模擬決策與金融回測,是連接動態規劃與時間差分的重要強化學習基礎技術。
2025/09/23
本單元總結策略與動態規劃重點,包含策略評估、改善、疊代與價值疊代,並指出動態規劃與表格法的限制。透過 FrozenLake 策略疊代實作,展示如何在隨機環境中學習安全路徑,體驗貝爾曼方程與策略提升的威力,為進入 Q-learning 與無模型學習奠定基礎。
2025/09/23
本單元總結策略與動態規劃重點,包含策略評估、改善、疊代與價值疊代,並指出動態規劃與表格法的限制。透過 FrozenLake 策略疊代實作,展示如何在隨機環境中學習安全路徑,體驗貝爾曼方程與策略提升的威力,為進入 Q-learning 與無模型學習奠定基礎。
看更多
你可能也想看
Thumbnail
在小小的租屋房間裡,透過蝦皮購物平臺採購各種黏土、模型、美甲材料等創作素材,打造專屬黏土小宇宙的療癒過程。文中分享多個蝦皮挖寶地圖,並推薦蝦皮分潤計畫。
Thumbnail
在小小的租屋房間裡,透過蝦皮購物平臺採購各種黏土、模型、美甲材料等創作素材,打造專屬黏土小宇宙的療癒過程。文中分享多個蝦皮挖寶地圖,並推薦蝦皮分潤計畫。
Thumbnail
小蝸和小豬因購物習慣不同常起衝突,直到發現蝦皮分潤計畫,讓小豬的購物愛好產生價值,也讓小蝸開始欣賞另一半的興趣。想增加收入或改善伴侶間的購物觀念差異?讓蝦皮分潤計畫成為你們的神隊友吧!
Thumbnail
小蝸和小豬因購物習慣不同常起衝突,直到發現蝦皮分潤計畫,讓小豬的購物愛好產生價值,也讓小蝸開始欣賞另一半的興趣。想增加收入或改善伴侶間的購物觀念差異?讓蝦皮分潤計畫成為你們的神隊友吧!
Thumbnail
AlphaGo 的開發,讓人工智慧在圍棋的研究讓更多人被看到,也看到它成熟的結果。現代的圍棋教學和棋手訓練,也或多或少會借鏡各類的AI系統做學習。然而,教學的歷程,過度追求AI的棋步和棋法,有時會讓小朋友難以理解。一步登天的方式,有時反而會讓同學走得更坎坷。
Thumbnail
AlphaGo 的開發,讓人工智慧在圍棋的研究讓更多人被看到,也看到它成熟的結果。現代的圍棋教學和棋手訓練,也或多或少會借鏡各類的AI系統做學習。然而,教學的歷程,過度追求AI的棋步和棋法,有時會讓小朋友難以理解。一步登天的方式,有時反而會讓同學走得更坎坷。
Thumbnail
我想要一天分享一點「LLM從底層堆疊的技術」,並且每篇文章長度控制在三分鐘以內,讓大家不會壓力太大,但是又能夠每天成長一點。 繼 AI說書 - 從0開始 - 82 與 xxx ,我們談論了衡量 AI 模型的方式,那當你訓練的模型比 State-of-the-Art 還要好並想要進行宣稱時,需要
Thumbnail
我想要一天分享一點「LLM從底層堆疊的技術」,並且每篇文章長度控制在三分鐘以內,讓大家不會壓力太大,但是又能夠每天成長一點。 繼 AI說書 - 從0開始 - 82 與 xxx ,我們談論了衡量 AI 模型的方式,那當你訓練的模型比 State-of-the-Art 還要好並想要進行宣稱時,需要
Thumbnail
我想要一天分享一點「LLM從底層堆疊的技術」,並且每篇文章長度控制在三分鐘以內,讓大家不會壓力太大,但是又能夠每天成長一點。 延續 xxx 提到,既然提到訓練,就表示要有一套衡量基準供大家遵守,有鑑於此,以下繼續介紹幾類衡量方式: MCC: 首先介紹 True (T) Positive (
Thumbnail
我想要一天分享一點「LLM從底層堆疊的技術」,並且每篇文章長度控制在三分鐘以內,讓大家不會壓力太大,但是又能夠每天成長一點。 延續 xxx 提到,既然提到訓練,就表示要有一套衡量基準供大家遵守,有鑑於此,以下繼續介紹幾類衡量方式: MCC: 首先介紹 True (T) Positive (
Thumbnail
我想要一天分享一點「LLM從底層堆疊的技術」,並且每篇文章長度控制在三分鐘以內,讓大家不會壓力太大,但是又能夠每天成長一點。 Transformer 可以透過繼承預訓練模型 (Pretrained Model) 來微調 (Fine-Tune) 以執行下游任務。 Pretrained Mo
Thumbnail
我想要一天分享一點「LLM從底層堆疊的技術」,並且每篇文章長度控制在三分鐘以內,讓大家不會壓力太大,但是又能夠每天成長一點。 Transformer 可以透過繼承預訓練模型 (Pretrained Model) 來微調 (Fine-Tune) 以執行下游任務。 Pretrained Mo
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從底層堆疊的技術」,並且每篇文章長度控制在三分鐘以內,讓大家不會壓力太大,但是又能夠每天成長一點。 目前我們已經完成: Single-Head Attention 數學說明:AI說書 - 從0開始 - 52 Multi-Head Attention 數學說明:
Thumbnail
我想要一天分享一點「LLM從底層堆疊的技術」,並且每篇文章長度控制在三分鐘以內,讓大家不會壓力太大,但是又能夠每天成長一點。 目前我們已經完成: Single-Head Attention 數學說明:AI說書 - 從0開始 - 52 Multi-Head Attention 數學說明:
Thumbnail
我想要一天分享一點「LLM從底層堆疊的技術」,並且每篇文章長度控制在三分鐘以內,讓大家不會壓力太大,但是又能夠每天成長一點。 目前我們已經完成: Single-Head Attention 數學說明:AI說書 - 從0開始 - 52 Multi-Head Attention 數學說明:AI
Thumbnail
我想要一天分享一點「LLM從底層堆疊的技術」,並且每篇文章長度控制在三分鐘以內,讓大家不會壓力太大,但是又能夠每天成長一點。 目前我們已經完成: Single-Head Attention 數學說明:AI說書 - 從0開始 - 52 Multi-Head Attention 數學說明:AI
Thumbnail
我想要一天分享一點「LLM從底層堆疊的技術」,並且每篇文章長度控制在三分鐘以內,讓大家不會壓力太大,但是又能夠每天成長一點。 目前我們已經完成: Single-Head Attention 數學說明:AI說書 - 從0開始 - 52 Multi-Head Attention 數學說明:AI
Thumbnail
我想要一天分享一點「LLM從底層堆疊的技術」,並且每篇文章長度控制在三分鐘以內,讓大家不會壓力太大,但是又能夠每天成長一點。 目前我們已經完成: Single-Head Attention 數學說明:AI說書 - 從0開始 - 52 Multi-Head Attention 數學說明:AI
Thumbnail
我想要一天分享一點「LLM從底層堆疊的技術」,並且每篇文章長度控制在三分鐘以內,讓大家不會壓力太大,但是又能夠每天成長一點。 在 AI說書 - 從0開始 - 52 中,我們已經解析完 Attention 機制如何運作的,以下延伸至 Multi-Head Attention: Head 1
Thumbnail
我想要一天分享一點「LLM從底層堆疊的技術」,並且每篇文章長度控制在三分鐘以內,讓大家不會壓力太大,但是又能夠每天成長一點。 在 AI說書 - 從0開始 - 52 中,我們已經解析完 Attention 機制如何運作的,以下延伸至 Multi-Head Attention: Head 1
Thumbnail
在機器學習領域中,監督學習、無監督學習和強化學習是三種核心方法,它們在解決不同類型的問題時發揮著重要作用。
Thumbnail
在機器學習領域中,監督學習、無監督學習和強化學習是三種核心方法,它們在解決不同類型的問題時發揮著重要作用。
追蹤感興趣的內容從 Google News 追蹤更多 vocus 的最新精選內容追蹤 Google News