AI時代系列(3) 機器學習三部曲: 📘 第三部:《強化學習 —— AI 的決策與進化》
15/100 第二週:📌 策略與動態規劃
15.價值疊代(Value Iteration)📈 直接更新狀態價值!
________________________________________
🎯 單元導讀:
前一篇我們介紹了「策略疊代」,交替進行策略評估與策略改善,可以學出最優策略。
這一篇要介紹的是它的「速成兄弟」——價值疊代(Value Iteration)!
價值疊代的核心理念是:
不用等策略評估收斂,直接更新每個狀態的價值,再即時選出最優行動!
它不但計算快、記憶體省,在許多離線策略學習中都扮演重要角色。
________________________________________
📘 一、價值疊代是什麼?
價值疊代(Value Iteration)是動態規劃方法之一,透過反覆更新價值函數 V(s),逐步逼近最優狀態價值 V*(s),然後從中導出最優策略。
它直接根據 貝爾曼最優方程式(Bellman Optimality Equation) 進行更新:
V(s) <- max_a Σ_s' [ P(s' | s, a) * ( R(s, a, s') + γ * V(s') ) ]
解析:
這個公式的意思是:
V(s):目前狀態 s 的價值。
max_a:在所有可能的行動 a 中,挑選出能讓後續期望回報最大的那個行動。
Σ_s':針對執行行動 a 後,可能轉移到的每個後續狀態 s' 進行加總。
P(s' | s, a):在狀態 s 採取行動 a 之後,轉移到狀態 s' 的機率(環境轉移機率)。
R(s, a, s'):在 s 採取 a 轉移到 s' 後獲得的即時獎勵。
γ * V(s'):考慮未來從 s' 狀態開始的長期價值,並乘上折扣因子 γ(未來回報的重要性衰減)。
整個公式就是:
在每個狀態 s,我們計算對所有可能行動 a 的期望回報(立即獎勵 + 折扣後未來價值),選擇其中回報最大的 a,作為這次的 V(s) 更新。
不斷重複這個更新,V(s) 會逐漸逼近最優狀態價值 V*(s)。
📌 「價值疊代就是:每次對每個狀態,選擇未來期望回報最高的行動,來更新它的價值。」
________________________________________
🔁 二、價值疊代演算法流程
初始化 V(s) = 0(對所有狀態)
Repeat:
對每個狀態 s:
V(s) ← max_a Σ_{s'} P(s'|s,a) [ R(s,a,s') + γ V(s') ]
Until 所有 V(s) 的改變 < ε(收斂閾值)
最後策略 π(s) ← argmax_a Σ_{s'} P(s'|s,a) [ R(s,a,s') + γ V(s') ]
價值疊代的基本流程是:一開始將所有狀態的價值 V(s) 初始化為 0。接著反覆進行更新:對每個狀態 s,計算在所有可選行動 a 中,哪一個行動能帶來最高的期望回報(包含立即獎勵與未來價值),並用這個最大值來更新 V(s)。這樣的更新會一直進行,直到所有狀態的 V(s) 變化幅度小於預設的收斂閾值 ε,代表價值已經趨於穩定。最後,我們再根據收斂後的 V(s) 計算出每個狀態最佳的行動 π(s),也就是對應能達到最大期望回報的行動,從而得到最優策略。
________________________________________
🧠 三、與策略疊代的比較
策略疊代與價值疊代在運作方式上有所不同。策略疊代是每輪分別完整執行一次評估與改進,單輪花費較久,但收斂輪數較少;而價值疊代則將評估與改進合併在每次更新中,單次運算較快,但需要更多輪才能收斂。策略疊代適合狀態空間較小、模型明確的情境,而價值疊代則更適合狀態龐大或需線上近似的複雜環境,運算資源更靈活。
📌 一句話總結:
策略疊代比較穩健,價值疊代比較快速。
________________________________________
🕹 四、舉例說明:猴子迷宮中的 V 更新
假設猴子在 5x5 格迷宮中,會這樣做價值疊代:
• 每一格的 V 值都初始化為 0
• 每次更新,根據四個方向模擬「走一步後」的回報 + 折扣未來價值
• 不用管策略是什麼,直接更新「哪個方向最划算」
等 V 值穩定後,從每個格子中挑出「Q 值最高的行動」,就能組成最終策略 π*!
________________________________________
📦 五、實務應用場景
價值疊代特別適用在模型已知的情境下,例如離線的規劃路徑任務中,像倉儲地圖可以事先計算出最短成本的最佳路線;在模擬環境訓練中,例如遊戲 AI,由於環境模型明確,能快速反覆運算學出強大的策略;此外,結合近似函數後(如 Deep Value Iteration),還可以擴展到大型或連續狀態空間的複雜問題,使得價值疊代的應用範圍更為廣泛。
________________________________________
🧩 六、思考挑戰與任務
1️⃣ 價值疊代能否應用在你生活中的某個決策情境?
在現實生活中,價值疊代的概念可以運用在許多決策上。例如找工作時,每份工作的薪資、發展潛力、人脈資源等,就像是不同的即時獎勵與長期價值。我們可以試著分析各個選項的長期回報(類似 V 值),並在每次獲得新資訊後不斷更新評估,逐漸找到最適合自己發展的選擇。又如日常選路或規劃行程時,也可以根據交通情況、花費時間、舒適度等多種因素,不斷調整路徑選擇,逼近最優行動路線。
2️⃣ 手動計算 3x3 迷宮中的 V 值更新流程
設想一個 3x3 迷宮,左上角為起點,右下角為出口,每移動一步扣 1 分,到達出口加 10 分。初始化 V(s)=0,然後反覆更新每個格子的 V 值,計算往上下左右移動的期望值,取最大值更新 V(s)。每輪更新後,各格子的 V 值會逐步逼近最佳值,最後穩定在最短路徑的期望回報上。這個過程幫助我們直觀理解價值疊代如何一步步逼近最優決策。
3️⃣ 若一個策略 π 無法產生最大回報,它的 V 值更新會有哪些限制?
如果採用的策略 π 不是最佳策略,它所計算出來的 Vπ(s) 只能反映當前策略下的長期回報,無法達到真正的最優 V*(s)。也就是說,它的更新結果會受限於該策略的行動選擇範圍,只能在既有行為下去累積回報,無法主動探索更高回報的路徑。要突破這個限制,就必須進行策略改善,將選擇空間擴大,才能讓 V 值進一步逼近最優結果。
________________________________________
✅ 七、小結與啟示
• 價值疊代是透過貝爾曼最優方程直接更新 V 值的高效學習方法
• 它不需要明確定義策略,而是透過 V 的「貪婪選擇」來推導策略
• 適合快速計算最優策略,尤其在狀態空間不大的情境中效果出色
• 真實生活中,我們也可以透過「直接評估行動的未來價值」來做出更聰明的選擇!