一張「誰依賴誰」的圖
到這一階段,你已經能為少數幾個變數寫出聯合機率分布。但設想一個有二十個變數的世界,每個變數取十種值。完整的聯合分布表會有十的二十次方個條目——這個數遠超你能估計或儲存的範圍。整套貝氏推斷之所以卡住,不是因為數學錯了,而是因為這種記帳根本做不到。
機率圖模型(圖模型)正是利用真實系統的一個事實來擺脫困境:大多數變數並不直接依賴於大多數其他變數。你早上的鬧鐘取決於星期幾,卻不取決於另一個國家的天氣。如果把變數畫成點,只在那些彼此直接影響的變數之間連線,得到的圖通常很稀疏——而正是這種稀疏,讓聯合分布得以分解成一個個小巧、可處理的部分。
貝氏網路:意味著「導致」的箭頭
貝氏網路是一種邊為箭頭的圖模型——一張沒有迴路的有向圖。每個隨機變數從它的每個直接成因(稱為父節點)那裡接收一條進入的箭頭。這個模型的承諾簡單而有力:完整的聯合分布,無非是每個變數一張小表的乘積,而每張表只給出該變數在其父節點條件下的機率。
經典的玩具例子:天可能下雨;雨可能來自雲;雨會打濕草地;但草地也可能是因為灑水器開過才濕的。畫四個點、三條箭頭,你就編碼了一個真正具備醫學式推理能力的引擎。觀察到草地是濕的,你就能用貝氏定理反推它下過雨的機率——而關鍵在於,如果你還得知灑水器開過,下雨這個解釋就變得不那麼可能了。這種「一個成因被證實、就降低對競爭成因的信念」的模式稱為「解釋消除」,貝氏網路會自動捕捉到它。
馬可夫隨機場:當不存在「先後」時
箭頭很適合表達因果,但有些關係並沒有方向。想想影像中的像素:一個像素往往與鄰居顏色相同,可你說不出是左邊的像素「導致」了右邊的。這種影響是相互的。對於這類情形,我們用馬可夫隨機場——一種無向圖模型,其中一條邊只是表示「這兩個變數在某種意義上傾向於彼此一致(或相關)」,沒有誰勝出,也沒有誰先動。
由於沒有父子順序,我們不能簡單地把若干小的條件表相乘。取而代之,我們給每一團相連的變數賦一個正的分數——配置越「和諧」分數越高——把所有分數相乘,再除以一個總的歸一化和,使結果成為合法的分布。那個對所有可能聯合配置求和得到的歸一化常數,就是我們付出的代價:精確計算它往往代價高得驚人。這正是無向模型為何高度依賴近似方法的原因,比如馬可夫鏈蒙地卡羅,尤其是吉布斯抽樣,它們用抽樣代替求和,從而繞開了那個常數。
這兩個家族不是對手,而是適用於不同形態知識的工具。有向網路在你有一個生成式故事時大放異彩——先發生這個,再發生那個。無向場則在影響對稱且局部時見長——像素、社交關係、網格中的詞語。許多真實系統用兩者的混合來描繪最為貼切。
隱馬可夫模型:一條你看不見的鏈
現在把這個想法專門用於序列。隱馬可夫模型(HMM)是處理隨時間展開的資料時,最簡單卻有意思的圖模型。它假設存在一條隱藏狀態的鏈——每個時間步都有一個你從不直接觀測到的潛變數——其中每個狀態只依賴於緊鄰它之前的那一個(這就是「馬可夫」假設:未來除了當下,把一切都忘了)。每一步,隱藏狀態都會發出一個可見的觀測,而你真正看到的,就只有這些觀測。
下面的圖把這種連線方式畫得很具體。把上面一行讀作隨時間向前行進的秘密真相,把下面一行讀作它一路上拋下的帶噪線索。經典例子:隱藏狀態是一個人想說的詞,觀測是你手機錄下的含糊音訊。
z1 -> z2 -> z3 -> z4 hidden states (latent) | | | | v v v v x1 x2 x3 x4 observations (visible)
一個 HMM 完全由三樣東西刻畫:每個起始狀態的可能性、一張轉移表(從一個隱藏狀態轉到另一個的機率),以及一張發射表(每個狀態產生每種觀測的機率)。注意其中的家族相似——如果把整條鏈坍縮成一步,HMM 本質上就是一個動起來的混合模型,是你早先見過的高斯混合在時間上的表親,只不過混合權重如今會逐步演變。
三個問題,三個答案
HMM 之所以如此受人喜愛,是因為得益於鏈狀結構,你想問的所有問題都有精確而快速的答案。這些問題其實只有三個,值得在腦中把它們分開來記。
- 似然——給定一個模型和一串觀測,這串序列有多大可能?由前向演算法解決:它從左到右掃描,一次性對所有隱藏路徑求和,而不是去逐一枚舉那指數級之多的路徑。
- 解碼——觀測背後最可能的那一條隱藏狀態序列是什麼?由維特比演算法解決:它用簡單的動態規劃,找出貫穿整條鏈的最佳路徑。
- 學習——只有觀測、沒有標籤時,哪套轉移表和發射表最能解釋它們?由 Baum-Welch 演算法解決,而它不過是上一篇的EM 演算法用在鏈上:先猜出這些表,推斷出可能的隱藏狀態,再重新估計這些表,如此反覆。
這正是結構帶來的回報:你曾用來擬合聚類的同一套 EM 機器,如今在完全沒有標註資料的情況下,學到了一個關於時間的模型。HMM 曾驅動了一整代語音辨識系統,至今仍是做詞性標註、基因查找,以及諸如命名實體辨識等其他序列標註任務的一種清爽方法。
它們的真實定位
人們很容易以為現代深度學習讓這一切都過時了。其實沒有——它只是重新劃定了邊界。馬可夫假設確實有其局限:HMM 除了當前狀態什麼都不記得,因此難以應對長程依賴,而循環網路或 Transformer 卻能輕鬆處理。在大型標註語料上拼原始準確率,神經序列模型通常會贏。
但圖模型仍憑三個實在的理由站得住腳。它們可解釋:箭頭和表格的含義,是人能讀懂、也能與之爭辯的。它們省資料:一個結構良好的貝氏網路,在深度網路只會過擬合的少數幾個樣本上,也能進行合理推理。它們還天生擅長處理缺失資料和不確定性——你可以觀測一部分變數、把其餘留空,仍能得到一個連貫的、帶有校準置信度的答案,而不是把猜測打扮成確定性。
比任何單一技術更持久的,是其中更深的教訓。這裡的兩個大思想——沿著依賴關係圖把難題分解,以及從可見的結果反推隱藏的成因——會在後續處處重現。當精確推斷變得過於昂貴時,接下來的指南會轉向變分推斷和抽樣。而現代的機率工具箱,從變分自編碼器到深度潛變數模型,在很大程度上正是這些同樣的圖模型思想,披上了神經網路的外衣。