JOVANA
Explore Library Glossary Getting Started Three Levels Fields How it works Mission
Join the mission
All guides

什麼是馬可夫決策過程?

認識那套把模糊的「智能體靠試誤學習」變成數學可解問題的形式語言。

為什麼需要一份正式藍圖

在訓練一個智能體之前,你得把問題本身描述得夠精確,精確到電腦能對它進行推理。強化學習(reinforcement learning)幾乎對所有問題都借用同一套整潔的描述:馬可夫決策過程(Markov decision process,MDP)。MDP 就是那個裝著一個世界、智能體的選擇、以及這些選擇後果的數學容器。一旦把問題寫成 MDP,一整箱演算法就突然全都能用上了。

可以把 MDP 想成一份完整寫下來的桌遊規則:有哪些格子、哪些走法合法、走一步後會發生什麼、以及怎麼計分。MDP 對序列決策問題做的正是同一件事——從一個機器人穿越房間,到推薦系統決定下一個要顯示什麼。

MDP 所形式化的代理—環境迴圈:先採取動作,再獲得新狀態與獎勵。

代理與環境之間的迴圈示意圖,交換動作、狀態與獎勵。

五個組成部分

MDP 通常寫成一個由五樣東西組成的元組(tuple)。它們單獨看都不難;威力來自它們如何彼此咬合。

  1. 狀態(states)——狀態空間是世界所有可能處境的集合。一個棋局、機器人的姿態、一位顧客的輪廓。
  2. 動作(actions)——動作空間是智能體在某狀態下能做的事:往左移、落一子、推薦第 7 號商品。
  3. 轉移(transitions)——轉移動態告訴你採取某動作後會落到哪個狀態。它常常是隨機的:同一步可能導向不同結果。
  4. 獎勵(rewards)——獎勵函數在每一步之後給出一個數字,用來編碼我們想要什麼。達成目標就加分,撞牆就扣分。
  5. 折扣(discount)——折扣因子(γ)控制未來的獎勵相對於眼前的獎勵有多重要。它值得我們用一整篇來談。

整套形式化就是這樣:一個狀態空間、一個動作空間轉移、一個獎勵函數、以及一個折扣。五個部分,你就能描述人們丟給強化學習的多數問題。

\mathcal{M} = \langle \mathcal{S},\, \mathcal{A},\, P,\, R,\, \gamma \rangle

整個 MDP 濃縮成一個元組:狀態空間 𝒮、動作空間 𝒜、轉移 P、獎勵 R 與折扣 γ——這就是五個要素。

具體範例:格子世界裡的機器人

想像一個 4×4 的格子。機器人站在某個格子上(這就是狀態)。它可以往上、下、左、右移動(動作)。地板很滑,所以「往右移」有 80% 的機率真的往右、20% 會打滑到旁邊(轉移——是隨機的!)。它在出口格子得到 +10,其他每一步都得到 −1,藉此催它快點(獎勵)。

一個互動式網格世界,就像那個會打滑的機器人網格——每個方格是一個狀態,每次移動是一個動作。

可互動的方格網格,代理在格子間移動以到達目標。

states  = [(r, c) for r in range(4) for c in range(4)]
actions = ["up", "down", "left", "right"]

def reward(state):
    if state == (3, 3):   # the exit
        return +10
    return -1             # cost of dwelling

def transition(state, action):
    # returns a list of (next_state, probability)
    intended = move(state, action)
    sideways = [move(state, a) for a in slips(action)]
    return [(intended, 0.8), (sideways[0], 0.1), (sideways[1], 0.1)]
把一個會打滑的格子世界寫成 MDP 的各個部分——注意轉移回傳的是機率,而不是單一的下一個狀態。

演算法需要的一切,現在都擺在桌面上了。它不需要理解機器人或地板——只需要轉移獎勵。正是這種刻意的「無知」,讓同一套演算法能橫跨機器人、遊戲與廣告。

讓這一切成立的那個安靜假設

藏在「馬可夫」這個字裡的,是一個強而有力的承諾:馬可夫性質(Markov property)。它說當前狀態已經包含了預測未來所需的一切——一旦你知道現在整個過去就再也添不了任何資訊。在格子裡,機器人站在哪裡就足以決定轉移要的全部;它是怎麼走到那裡的,完全無關緊要。

一個互動式馬可夫鏈:下一個狀態只取決於當前狀態——這正是馬可夫性質。

狀態及其轉移箭頭的互動式示意圖,轉移機率只取決於當前狀態。

正是這個假設讓數學保持乾淨。如果未來取決於整段歷史,每個演算法都會淹沒在不斷膨脹的紀錄裡。馬可夫性質讓我們得以一次只推理一步。下一篇就專講它——它何時成立、何時偷偷失效,以及如何刻意設計狀態讓它成立。