第三部《強化學習》22/100 第一次-訪問與每次-訪問法 📋 兩種觀察方式,結果各異!

更新 發佈閱讀 11 分鐘

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

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

22.第一次-訪問與每次-訪問法 📋 兩種觀察方式,結果各異!

_______________________________________

🎯 單元導讀:

在上一單元中,我們認識了蒙地卡羅方法(Monte Carlo, MC)透過「樣本平均」來估算狀態價值。

但你知道嗎?

在一個 episode 中,同一狀態可能出現多次,究竟該怎麼記錄並估算其報酬呢?

這就帶出蒙地卡羅方法中的兩大實作方式:

First-Visit(第一次訪問法) vs Every-Visit(每次訪問法)

雖然兩者最終都會收斂,但學習效率、穩定性與實作策略,可能大不相同!

________________________________________

🧠 一、兩種估值法的定義

在蒙地卡羅方法中,First-Visit MC 與 Every-Visit MC 是兩種常見的估值方式。

First-Visit MC 只在每個 episode 中,當某狀態第一次出現時才記錄該次的累積報酬 Gₜ,這樣可以去除重複樣本,雖然學習速度較慢,但估計值穩定、偏差較小。

而 Every-Visit MC 則在每次遇到該狀態時都記錄 Gₜ,樣本數快速累積,學習速度較快,但可能會因重複樣本而引入較高的變異性。

無論哪一種方法,核心都是透過多次完整的 episode 累積從時間 t 到回合結束的 累積折扣報酬 Gₜ 來估計狀態價值 V(s),隨著樣本增加,估計會逐步收斂至真實期望。

________________________________________

📦 二、範例說明

假設一個 episode 中的狀態序列為:

s0 → s1 → s2 → s1 → s3

First-Visit MC 統計

[第一次遇到 s1 時記錄 G (從第一次 s1 到結束的報酬)]

統計 G 值:

s1 (第一次出現) → G₁ = 累積報酬

(第二次出現的 s1 不記錄

Every-Visit MC 統計

[每次遇到 s1 都記錄對應的 G]

統計 G 值:

s1 (第一次出現) → G₁ = 累積報酬

s1 (第二次出現) → G₃ = 累積報酬(從第二次 s1 開始計算)

小總結

First-Visit:只統計第一次 s1 → G₁

Every-Visit:統計 s1 的兩次出現 → G₁ 與 G₃,兩個都計入平均

________________________________________

🔁 三、估值流程對比圖

graph LR

A[Episode 開始] --> B1[First-Visit 檢查是否第一次出現]

A --> B2[Every-Visit 全部記錄 Gt]

B1 --> C1[若第一次則更新 V(s)]

B2 --> C2[每次出現都更新 V(s)]

________________________________________

📊 四、優劣比較分析

在蒙地卡羅方法中,First-Visit MC 與 Every-Visit MC 各有優缺點。First-Visit MC 因只記錄每個狀態在每個 episode 中首次出現時的 G 值,有效避免樣本重複造成的偏差,適合變異性較低的任務,但因樣本累積較慢,收斂速度較慢,實作上需判斷是否為首次出現。

Every-Visit MC 每次狀態出現都記錄 G 值,樣本快速累積,收斂速度較快,但在高變異性環境中可能出現樣本偏誤,需留意穩定性。不過在理論上,兩者最終都能保證一致收斂,實作上 Every-Visit MC 邏輯較單純、易於程式實現。

________________________________________

💻 五、簡易實作範例(Python)

以B lackjack-v1 為例:

First-Visit MC:

python

visited_states = set()

for t in reversed(range(len(episode))):

state, _, reward = episode[t]

G = reward + gamma * G

if state not in visited_states:

returns[state].append(G)

V[state] = np.mean(returns[state])

visited_states.add(state)

Every-Visit MC:

python

for t in reversed(range(len(episode))):

state, _, reward = episode[t]

G = reward + gamma * G

returns[state].append(G)

V[state] = np.mean(returns[state])

以 Blackjack-v1 環境為例,First-Visit MC 和 Every-Visit MC 主要差異在是否避免重複統計同一個狀態。First-Visit MC 透過建立 visited_states 集合,在每次回溯過程中,僅在第一次遇到該狀態時才記錄對應的累積報酬 G,避免同一回合中重複樣本造成偏差。而 Every-Visit MC 則在每次回溯時都直接將當下狀態的 G 累計進 returns 中,無論是否已經記錄過,因此樣本累積較快,更新更頻繁。最後,兩者皆透過對該狀態的所有 G 取平均,更新狀態價值函數 V(s)。兩種方法在實作上邏輯簡單,僅差在是否判斷狀態是否首次出現,適合根據任務特性選用。

_______________________________________

🎮 六、實務應用選擇建議

情境 建議方法

教學示範、 避免樣本偏態 使用 First-Visit

環境簡單、資料收集快 使用 Every-Visit

線上學習(即時) 較不適合 MC,建議用 TD

________________________________________

🧩 七、問題挑戰與反思任務

1️⃣ 如果一個任務中狀態反覆出現頻率很高,你會選用哪一種方法?為什麼?

建議選用:First-Visit MC。

原因是當某些狀態在單一 episode 中高頻出現時,Every-Visit 會將這些重複樣本全部納入平均,可能導致某些 G 值偏重而產生樣本偏誤(尤其是在 early stage,樣本量還不夠平衡時)。First-Visit 透過只取首次出現的 G 值,避免單次 episode 內的樣本偏倚,讓估計過程更穩定,特別適合反覆狀態頻繁出現的環境。

________________________________________

2️⃣ First-Visit MC 為何能減少樣本偏誤?

原因:

每個 episode 中,同一狀態可能因為策略結構或環境設計反覆出現,若每次都累積 G 值,會讓高頻狀態的 early samples 對整體平均影響過重,形成「樣本集中偏誤」。

First-Visit 僅記錄第一次出現時的 G,等於每個 episode 中,對每個狀態僅貢獻一筆樣本,讓各次 episode 貢獻的樣本權重一致。

這樣可以使不同 episode 之間的統計貢獻更均衡,降低 early bias,收斂雖稍慢,但估計更穩定。

_______________________________________

3️⃣ 試著設計一個小遊戲(如 4x4 走迷宮),記錄 First-Visit 與 Every-Visit 所產生的 Gₜ 差異。

設計範例:

地圖:4x4 迷宮(FrozenLake 類型簡化版)

起點:左上角 (0,0),終點:右下角 (3,3)

有 2 個冰洞設置在 (1,1) 和 (2,2)

策略設計:智能體採隨機移動,容易在 (1,1) 附近來回滑動

Episode 範例路徑:

s0 → s1 → s5 → s1 → s6 → s10 → s14 → s15

其中 s1 出現兩次。

記錄差異:

First-Visit:只記錄第一次 s1 出現的 G 值(假設為 0.7)

Every-Visit:兩次 s1 出現,分別記錄 G₁=0.7 和 G₂=0.3,兩筆樣本都進入平均

差異說明:若 s1 在多數 episode 中持續高頻出現,Every-Visit 對 s1 的統計樣本成長速度快,但容易受這些重複樣本主導平均值;First-Visit 則保持每回合每狀態一筆樣本,避免樣本權重失衡,收斂穩定但速度稍慢。

___________________________________

✅ 八、小結與啟示:

• 蒙地卡羅方法中有兩種觀察法:First-Visit(穩健)與 Every-Visit(效率高)

• 雖然理論上都會收斂,但實際應用場景與任務性質,會大幅影響表現

• 瞭解兩者差異,有助於未來開發更有效率的策略學習系統!



留言
avatar-img
留言分享你的想法!
avatar-img
Hansen W的沙龍
9會員
274內容數
AIHANS沙龍是一個結合AI技術實戰、產業策略與自我成長的知識平台,主題涵蓋機器學習、生成式AI、創業經驗、財務規劃及哲學思辨。這裡不只提供系統化學習資源與實作案例,更強調理性思維與行動力的結合。無論你是AI初學者、創業者,還是追求人生升維的行者,都能在這裡找到前進的方向與志同道合的夥伴。
Hansen W的沙龍的其他內容
2025/09/24
蒙地卡羅方法透過完整回合模擬與統計平均,估算狀態價值,不需環境模型,適合有明確終點的任務。其應用涵蓋遊戲訓練、模擬決策與金融回測,是連接動態規劃與時間差分的重要強化學習基礎技術。
2025/09/24
蒙地卡羅方法透過完整回合模擬與統計平均,估算狀態價值,不需環境模型,適合有明確終點的任務。其應用涵蓋遊戲訓練、模擬決策與金融回測,是連接動態規劃與時間差分的重要強化學習基礎技術。
2025/09/23
本單元總結策略與動態規劃重點,包含策略評估、改善、疊代與價值疊代,並指出動態規劃與表格法的限制。透過 FrozenLake 策略疊代實作,展示如何在隨機環境中學習安全路徑,體驗貝爾曼方程與策略提升的威力,為進入 Q-learning 與無模型學習奠定基礎。
2025/09/23
本單元總結策略與動態規劃重點,包含策略評估、改善、疊代與價值疊代,並指出動態規劃與表格法的限制。透過 FrozenLake 策略疊代實作,展示如何在隨機環境中學習安全路徑,體驗貝爾曼方程與策略提升的威力,為進入 Q-learning 與無模型學習奠定基礎。
2025/09/23
本單元說明動態規劃與表格法的限制:狀態空間龐大會造成維度爆炸、需完整模型、記憶體與運算成本過高,難應用於現實。為解決此問題,需轉向函數逼近與深度強化學習(如 DQN),提升擴展性與處理高維環境的能力。
2025/09/23
本單元說明動態規劃與表格法的限制:狀態空間龐大會造成維度爆炸、需完整模型、記憶體與運算成本過高,難應用於現實。為解決此問題,需轉向函數逼近與深度強化學習(如 DQN),提升擴展性與處理高維環境的能力。
看更多
你可能也想看
Thumbnail
在小小的租屋房間裡,透過蝦皮購物平臺採購各種黏土、模型、美甲材料等創作素材,打造專屬黏土小宇宙的療癒過程。文中分享多個蝦皮挖寶地圖,並推薦蝦皮分潤計畫。
Thumbnail
在小小的租屋房間裡,透過蝦皮購物平臺採購各種黏土、模型、美甲材料等創作素材,打造專屬黏土小宇宙的療癒過程。文中分享多個蝦皮挖寶地圖,並推薦蝦皮分潤計畫。
Thumbnail
小蝸和小豬因購物習慣不同常起衝突,直到發現蝦皮分潤計畫,讓小豬的購物愛好產生價值,也讓小蝸開始欣賞另一半的興趣。想增加收入或改善伴侶間的購物觀念差異?讓蝦皮分潤計畫成為你們的神隊友吧!
Thumbnail
小蝸和小豬因購物習慣不同常起衝突,直到發現蝦皮分潤計畫,讓小豬的購物愛好產生價值,也讓小蝸開始欣賞另一半的興趣。想增加收入或改善伴侶間的購物觀念差異?讓蝦皮分潤計畫成為你們的神隊友吧!
Thumbnail
我最近在網上學到了一個非常實用的方法,可以快速了解一個行業。這個方法來自麥肯錫的工作方法,搭配ChatGPT使用非常高效。只要你學會了,就能輕鬆掌握任何行業的基礎知識。 麥肯錫的方法論 第一步:總結關鍵詞
Thumbnail
我最近在網上學到了一個非常實用的方法,可以快速了解一個行業。這個方法來自麥肯錫的工作方法,搭配ChatGPT使用非常高效。只要你學會了,就能輕鬆掌握任何行業的基礎知識。 麥肯錫的方法論 第一步:總結關鍵詞
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開始 - 82 到 AI說書 - 從0開始 - 85 的說明,有一個很重要的結論:最適合您的模型不一定是排行榜上最好的模型,您需要學習 NLP 評
Thumbnail
我想要一天分享一點「LLM從底層堆疊的技術」,並且每篇文章長度控制在三分鐘以內,讓大家不會壓力太大,但是又能夠每天成長一點。 從 AI說書 - 從0開始 - 82 到 AI說書 - 從0開始 - 85 的說明,有一個很重要的結論:最適合您的模型不一定是排行榜上最好的模型,您需要學習 NLP 評
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
本文提供了一個關於模擬法演算法的問題,介紹了操作指令的格式及其解析。透過程式碼模擬每條指令,找出回到根目錄所需的操作次數。本文詳細說明瞭模擬法的複雜度分析,能夠幫助讀者更好地理解這個問題。
Thumbnail
本文提供了一個關於模擬法演算法的問題,介紹了操作指令的格式及其解析。透過程式碼模擬每條指令,找出回到根目錄所需的操作次數。本文詳細說明瞭模擬法的複雜度分析,能夠幫助讀者更好地理解這個問題。
Thumbnail
在機器學習領域中,監督學習、無監督學習和強化學習是三種核心方法,它們在解決不同類型的問題時發揮著重要作用。
Thumbnail
在機器學習領域中,監督學習、無監督學習和強化學習是三種核心方法,它們在解決不同類型的問題時發揮著重要作用。
追蹤感興趣的內容從 Google News 追蹤更多 vocus 的最新精選內容追蹤 Google News