條件隨機場介紹(2)—— An Introduction to Conditional Random Fields
1. 引言
在許多實際應用中,能夠對相互依賴的多個變量進行預測的能力非常重要。這些應用的涵蓋範圍很廣,包括圖片區域劃分[49,61,69]、Go遊戲中的得分評估[130]、DNA基因切分[7]、自然語言文本語法解析[144]等。這些應用所共有的特征,是在已知觀測特征向量\(\mathbf{x}\)的條件下,預測隨機向量輸出\(\mathbf{y}=\{y_0,y_1,\cdots,y_T\}\)。以自然語言處理中的詞性標註問題為例,該問題中變量\(y_s\)是位於\(s\)的詞的詞性標記,輸入\(\mathbf{x}\)為特征向量\(\{\mathbf{x}_0,\mathbf{x}_1,\cdots,\mathbf{x}_T\}\)
解決這類多元預測問題的方法之一(特別是當目標是最大化\(y_s\)中正確標記的數量時),是為每個\(s\)學習一個獨立的分類器\(\mathbf{x}\mapsto y_s\)。然而,這種方法的問題在於很難描述輸出變量之間復雜的依賴關系。例如,英語中形容詞一般不在名詞之後;計算機視覺領域中,圖像相鄰的相素往往具有相同的類別標記。另一個困難,是輸出變量可能需要表示成復雜的結構(如解析樹)。若使用獨立分類器,那麽在樹的頂部使用什麽樣的語法規則會對樹的其他部分會產生重大的影響。
圖模型(graphical model)是一種能夠自然地表示輸出變量之間依賴關系的方法。圖模型的類型有很多,如貝葉斯網絡、神經網絡、分形圖、馬爾可夫隨機場、Ising模型等,它可以將大量變量之上的復雜分布表示為較小的變量集合之上的局部因子(local factors)的乘積。進而,能夠描述給定概率密度的因子分解與該分布中的條件獨立關系集合之間的一致性。這種一致性使得建模更加方便,因為我們能常能夠根據領域知識做出合理的獨立性假設,進而確定因子的選擇。
許多圖模型的研究關註生成模型(生成模型試圖構建輸入輸出之上的聯合概率分布\(p(\mathbf{y},\mathbf{x})\)),特別是在統計自然語方處理領域。盡管生成模型有許多優點,但也具有嚴重的不足之處。在\(\mathbf{x}\)
解決該問題的一種途徑是采用判別模型,與邏輯回歸等分類方法相似,將模型直接構建為條件分布\(p(\mathbf{y}|\mathbf{x})\)。這樣做既使模型得到簡化又能夠滿足分類任務的需要。這正是條件隨機場所采用的方法。條件隨機場本質上是判別分類方法和圖模型兩者優點的結合,它既具有對輸出\(\mathbf{y}\)簡潔建模的能力,又能夠利用大量輸入特征\(\mathbf{x}\)用於預測。條件模型的優點是,那些僅涉及到\(\mathbf{x}\)的變量依賴關系對條件模型沒有任何影響,這樣就使得精確的條件模型比聯合模型要簡單得多。生成模型與條件隨機場之間的區別,與樸素貝葉斯和邏輯回歸之間的區別類似。實際上,多項式邏輯回歸可以看作僅有一個輸出變量的最簡單的條件隨機場。
條件隨機場已經在多問題中得到成功的應用,包括文本處理[105,124,125],生物信息[76,123],計算機視覺[49,61]等。早期應用中大都使用線性鏈條件隨機場,最近的一些研究中使用了更為一般的結構。一般圖結構的模型在預測復雜的結構,如圖或樹,或者放松實體間獨立性假設(如關系學習[142])等方面非常有用。
本文介紹條件隨機場模型的構建、推斷與參數估計,對讀者關於圖模型的知識沒有做要求,因此對很多領域的從業人員會很有用。本文首先描述了條件隨機場問題(第2部分),包括線性鏈條件隨機場,一般圖結構的條件隨機場,以及包含隱變量的隱條件隨機場。我們還描述了條件隨機場如何既被看作邏輯回歸的推廣,又可以被看作隱馬爾可夫模型的判別化類比。
在接下來的兩個部分中,我們介紹條件隨機場的推斷(第4部分)和學習(第5部分)。推斷問題涉及到計算\(p(\mathbf{y}|\mathbf{x})\)的邊緣分布,以及使似然概率最大化的\(\mathbf{y}^*=\arg\max_{\mathbf{y}}p(\mathbf{y}|\mathbf{x})\)。學習問題主要關註參數估計,確定能夠使\(p(\mathbf{y}|\mathbf{x})\)與訓練樣本\(\{\mathbf{x}^{(i)},\mathbf{y}^{(i)}\}^N_{i=1}\)最佳擬合的參數。推斷過程和學習的過程緊密相關,因為推斷算法通常是學習算法的子程序。
最後,我們介紹了條件隨機場與其他模型之間的關系,包括其他的結構化預測方法、神經網絡,以及最大熵馬爾可夫模型(MEMM)(第6部分)。
1.1 實現細節
本文中,我們盡量給出其他研究文獻中常常省略掉的實現細節,例如特征工程的相關問題(第2.5部分)、推斷過程中如何避免數值下溢(第4.3部分),以及條件隨機場在一些基準問題上訓練的可伸縮性(第5.5部分)。
下面是幾個常見的條件隨機場實現工具:
CRF++ http://crfpp.sourceforge.net/
MALLET http://mallet.cs.umass.edu/
GRMM http://mallet.cs.umass.edu/grmm/
CRFSuite http://www.chokkan.org/software/crfsuite/
FACTORIE http://www.factorie.cc
此外,馬爾可夫邏輯網絡(Markov Logic networks)軟件(如Alchemy:http://alchemy.cs.washington.edu/)也可以用於構建條件隨機場模型。Alchemy、GRMM和 FACTORIE 是我們知道的僅有的能夠處理任意圖形結構的工具包。
條件隨機場介紹(2)—— An Introduction to Conditional Random Fields