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

馬可夫性質與狀態設計

「未來只取決於現在」是個禮物——但前提是你的狀態真的抓住了「現在」。本篇教你怎麼讓它成真。

馬可夫性質到底主張了什麼

馬可夫性質只說了一件乾淨俐落的事:下一個狀態的機率只取決於當前狀態與當前動作——不取決於之前發生過的任何事。知道整段歷史,並不會比只知道當下更佔優勢。當下就是過去的一份充分摘要。

P\!\left(S_{t+1}=s' \mid S_t=s,\, A_t=a\right) = P\!\left(S_{t+1}=s' \mid S_t=s,\, A_t=a,\, S_{t-1},\, A_{t-1},\, \ldots,\, S_0\right)

一行写出马尔可夫性质:下一个状态的概率只取决于当前的状态和动作,而与之前的整个历史无关。

為什麼要在乎?因為它把記帳工作從「記住一切」縮減成「記住當前狀態」。每個價值、每個轉移都能只用狀態來定義,而整套MDP 形式化就架在這一個承重的假設之上。

它何時悄悄失效

這個性質不是自然律——它是你如何定義狀態的一種性質。只要狀態漏掉了某個對未來有影響的東西,它就會失效。幾個經典陷阱:

  1. 漏掉了速度。一張球的照片告訴你它在哪裡,卻沒告訴你它要往哪去。下一格畫面取決於單張影像藏起來的運動資訊。
  2. 隱藏的模式。一個讀數 21°C 的恆溫器,在暖氣偷偷開著與關著時行為截然不同。模式很重要,卻不在讀數裡。
  3. 只看到局部。一台攝影機只看到房間的一角。智能體背後的東西仍會影響結果——這正是部分可觀測性的領域,留到第 5 篇講。
智能体看到的永远只是观测,而非隐藏的真实状态——卡尔曼式的跟踪器会推断出马尔可夫性质所需、却缺失的那部分(比如速度)。

交互式卡尔曼滤波器,从带噪声的部分观测中估计隐藏的运动状态。

設計一個配得上這個性質的狀態

實務上的修補方式是把狀態變豐富,直到它捕捉到足夠的過去。最常見的招數,就是把近期的歷史摺進狀態本身。

  1. 堆疊畫面:不用單張影像,改用最近四張。這樣位置速度就都看得見了。
  2. 把你能推斷出的隱藏變數加進來:在狀態向量裡放進「暖氣開/關」。
  3. 把歷史摘要成特徵:一個移動平均、一個計數器、一個「距上次事件已過多久」。

每加一樣東西都會撐大狀態空間,這會耗掉記憶體與資料——所以功夫在於只加剛剛好的量,以恢復馬可夫性質,又不讓空間爆炸。設計狀態是任何強化學習專案裡槓桿最高的選擇之一,而它完全握在你手上,不在演算法手上。

兩位親戚:隨機環境與獎勵過程

馬可夫性質並不要求世界是可預測的。確定性環境(deterministic environment)總是把同一個動作送向同一個結果;隨機性環境則會擲骰子。兩者都能是馬可夫——這個性質講的是下一狀態的分布取決於什麼(取決於當前狀態),而不是那個分布究竟是一根尖峰還是一片散開。

如果你把 MDP 裡的動作拿掉——讓狀態自行演化、但仍持續收集獎勵——你得到的就是馬可夫獎勵過程(Markov reward process)。它是一個沒有選擇的 MDP,很適合當墊腳石:你可以先研究獎勵如何累積,再加上「做決策」這層複雜度。連獎勵也拿掉,剩下的就是一條單純的馬可夫鏈(與你也許在別處遇過的隱藏馬可夫模型是近親)。

马尔可夫奖励过程其实就是一条马尔可夫链:状态自行演化并一路收集奖励,没有动作可供选择。

交互式马尔可夫链:节点是状态,由标注转移概率的箭头相连。