條件隨機場Conditional Random Field-CRF入門級理解


條件隨機場Conditional Random Field-CRF入門級理解

 

有向圖與無向圖模型

CRF模型是一個無向概率圖模型,更寬泛地說,它是一個概率圖模型。現實世界的一些問題可以用概率圖模型表示。這里可以用一個簡單的例子說明:建立一個簡單的圖模型來分析一部電影是否會獲得高票房。這個例子主要用於介紹概率圖模型,其中的觀點內容純屬編造。經過“認真”分析,發現一部電影的票房和以下因素有很大的關系:

  • 劇本是否精彩,內容是否充實;
  • 演員陣容是否強大,是否有可以吸引票房的明星;
  • 演員表演是否精彩到位;
  • 前期宣傳是否到位;
  • 上映時間是否合適,同期是否有其他實力強勁的電影;
  • 投資。

上面的這些因素可以轉化成一個個隨機變量,將它們按照彼此之間的依賴關系進行連線,就得到了下圖:

從模型圖中可以很清晰看出每一個項目與電影票房之間的關系。擁有了這些關系,就可以根據其中一些變量推斷出其他變量的情況。這里將每一個變量都離散化為2個等級——好和差,然后就可以根據分析得到的經驗構建心目中的條件概率分布表,如下圖所示:

有了這個圖和對應的表格,整個概率圖模型就變得十分明確,這個圖模型可以幫助完成很多事情,讀者可以使用它在概率圖模型的小世界中完成各種各樣的推斷,例如:

計算聯合概率(Joint Probability)。一個投資少、宣傳弱、陣容弱、表演弱且票房好的電影出現的概率有多大?公式如下:

計算邊際概率(Marginal Probability)。投資多,陣容強,票房好,其他無所謂的電影出現的概率有多大?公式如下:

計算條件概率(Conditional Probability)。當一個電影宣傳強、陣容強、表演強、票房好時,它(竟然)投資少的概率有多大?公式如下:

可以看出,這些推斷都可以通過上面的圖模型很好地推斷出來,為理解這個模型提供更多的幫助。以上是一個簡單的概率圖模型的例子。當然,上面這個模型是一個有向圖模型,還不是CRF歸屬的無向圖模型

概率圖模型主要由有向圖和無向圖兩部分組成。那么無向圖和有向圖有什么區別呢?就是隨機變量的依賴關系。方向有什么好處和壞處呢?有了方向,整個概率圖中概率或者信念(belief)的流動方向就可以確定,就能知道一個個隨機變量之間的依賴關系,例如在上面的例子中,好幾個因素和投資都有依賴關系,所以在求解時,投資這個因素需要首先明確。

在有向圖模型中,每一個隨機變量都擁有自己的條件概率分布(Conditional Probablistic Distribution,CPD),這些隨機變量的概率依賴於它的父輩隨機變量的取值。這樣的局部條件概率是很有用的,它使得計算聯合概率和邊際概率時變得比較容易。以上面的那些例子為例,在計算時我們只需要將這些CPD的取值連乘起來就可以了。

無向圖因為沒有方向,也就沒有CPD,但是無向圖模型還是有自己的辦法。無向圖模型中同樣的一個個類似CPD的東西被稱作Factor,像有向圖中的節點擁有自己的CPD一樣,Factor也有自己的表示形式。它也可以像CPD一樣用表格的形式表示。

例如空間內有四個粒子,每個粒子都有兩種狀態,它們之間還存在着一定的相互影響關系,這個關系由Factor來就如下圖所示:

從上面的例子可以看出,Factor和CPD相比有一個明顯的不同。CPD中所有的概率和為1,而Factor里所有的條目-entry沒有和且和並不為1。

和不為1並不是很好理解,概率的基本原則就是需要所有事件發生的概率和為1。當然這沒有錯,因為無向圖的Factor表示的並不是條件概率,而是一種更為對稱的親密關系(affinities)。求解無向圖的聯合概率需要換一種方法,那就是把所有的Factor像有向圖模型的貝葉斯網絡那樣都連乘起來,再進行歸一化。

在上面的例子中,如果要求P(A=1,B=1,C=1,D=1)的概率,那么有:

上面的計算也可以用代碼的形式進行計算:

這樣就得到了所有的聯合概率:

 

從代碼中可以看出,沒有了有向圖的依賴,無向圖少了很多約束,計算公式反而更簡潔。當完成歸一化后,這些計算結果就可以像有向圖那樣表示隨機變量的聯合概率。這些聯合概率實際上代表了無向圖模型的概率分布,這種分布被稱為Gibbs分布 。Gibbs分布就是利用Factor表示的無向圖模型的概率分布,它的形式如下所示:

實際上Gibbs分布的形式展示了利用無向圖模型計算聯合概率的過程。得到了聯合概率,就可以計算邊際概率和條件概率。通過上面的計算,無向圖模型和有向圖模型又走到同一起跑線。由於兩者確實存在明顯不同,因此兩者的名字也有些不同,有向圖網絡一般被稱為“貝葉斯網絡”(Bayesian Network),而無向圖網絡一般被稱為“馬爾可夫隨機場”(Markov Random Field)。

為什么會有無向圖和有向圖這兩類圖模型,兩者能不能合二為一?實際上這兩種模型有各自的應用領域,有向圖模型雖然清晰簡單,但它並不能表示所有的真實場景,有向圖模型通常需要一個有順序的推斷過程,這里暗示了一些依賴關系和獨立條件,而無向圖模型由於沒有方向,也就沒那么多限制,所以無向圖模型可以用來對更多更復雜的問題進行建模。但是放棄了方向,也就意味着放棄了條件依賴和一些條件獨立的特性,於是只能用Factor的形式和Gibbs分布進行表示,表示形式有些復雜。

除了上述介紹的區別,Factor和CPD相比也有很大不同。因為沒有和為1的限制,所以整體上看它對數值要求很寬松,但是它也有自己的壞處,那就是想從Factor的表格形式中讀出一些有價值的信息是比較困難的,這個困難有兩個方面:

首先,因為不具有和為1的限制,無向圖模型的概率比較抽象。對比貝葉斯網絡的CPD,就會發現CPD描述得更加清楚。

其次,由於Factor的依賴關系不明朗,表格中記述的一些關系和全局狀態下的關系有時是相反的。當讀者具體觀察某個Factor時,會覺得某組隨機變量比另外一組親密度高,產生的概率一定更高;但是如果站在全局觀察,把聯合概率計算出來再去計算它們的邊際概率,就會發生Factor內表述的關系和全局信息相反。CPD在這方面具有絕對優勢,局部的條件概率放在全局還是合理的。

這里舉一個例子,如果將上面的代碼做一些改動,去求A、B的邊際概率,就有:

和A、B所在的Factor相比,Ф(A=1, B=1)在Factor中第二大,但是到了邊際概率中它卻成了第三大,說明從Factor中分析有時並不能看出某個事件的邊際概率。

至此,概率圖模型和有向無向圖模型相關的基本內容就介紹完了。

Log-Linear Model

在了解無向圖模型和Gibbs分布相關概念后,可以針對具體問題進行建模了,但是實際上,上述表格形式的模型並不好用。因為采用表格的形式去表達模型,需要將隨機變量的所有取值形式都寫出來,如果變量的取值范圍不大還可以接受,如果取值范圍非常大,那么這種表格形式對建模者來說就是個不小的負擔,所以表示Factor形式需要改變。為了解決這個問題,Factor的形式需要被重新定義,首先需要把Factor函數轉換成能量函數:

我們把Ф(X)稱作Factor函數,把ξ(X)稱作能量函數(Energy Function)。在物理學中,能量越大的物質存在的概率越小,能量越小的物質存在的概率越大。這個性質很符合函數的關系。這個函數帶來了兩個好處:

首先,Factor函數中的每一項表示了隨機變量間的親密關系,一般來說這個值是非負的,這個限制會對建模造成困擾,因此利用指數函數變換,現在的Energy函數擺脫了非負數的限制,變得可正可負。

另外還有一個十分重要的特性:原來的乘法關系變成了現在的加法關系。現在有:

變成加法關系后,建模求解都變得簡單了不少,因為加法的關系更利於分析和計算。當然,模型形式變換到這一步還不夠,想要得到進一步的化簡,就要引入Feature這個概念。

我們已經了解了Factor的一般表現形式--表格的形式,但很多時候Factor的表格是比較稀疏的。雖然參與一個Factor的隨機變量很多,但是真正有意義的親密關系其實沒幾個。這樣表格的形式就變得不再實用,Feature表示的形式更適合這種場景,那么Feature形式是什么樣的呢?

舉個例子,有一個由兩個灰白像素隨機變量組成的Factor,每個變量的取值范圍為[0,255]的整數。如果用Factor表示,這個Table將會有256*256=65536個條目,但是如果這個Factor中表示的親密關系和兩個像素的值是否相等有關,像素值相等是關系為1,不相等為0,那么用Feature表示需要寫成:

這種寫法只要用兩個條目就可以表述清楚。所以Feature就是通過盡可能地合並相同結果使Factor的表示變得簡潔。以上就是Log-Linear模型的特點,可以看出它對無向圖模型進行了極大的化簡。未來的模型主要基於這一個框架進行構建。

條件隨機場

條件隨機場的全稱是Conditional Random Field(CRF)。它是馬爾可夫隨機場的一種特殊形式。前面說到了馬爾可夫隨機場和聯合概率分布之間的計算關系,這里的條件隨機場則主要對應了條件概率分布。條件隨機場中參與計算的有兩部分隨機變量—X和Y。一般來說X被稱作觀察變量,也就是已知的變量,Y被稱作目標變量或者隱含變量,是需要通過模型求解的變量。CRF的出現與貝葉斯公式有關:

其中,P(X,Y)就是圖模型的聯合概率分布,而在有些問題中,對X單獨建模十分困難,而對X,Y聯合建模則相對容易些,這樣的問題需要特殊的條件約束。條件隨機場不允許任何一個Factor中只包含X的節點,Factor中要么包X和Y,要么只包含Y。於是上面的公式就可以做一定的修改,使得在建模時避免這些問題。這里給出一種相對簡單的條件隨機場,如下圖所示:

它的形式如下所示:

 

從圖中可以觀察出,它確實沒有只包含X的Factor。模型的條件概率通過計算聯合概率和邊際概率得到,而邊際概率又是通過聯合概率得到,這樣難以建模的邊際概率就通過聯合概率得到解決。

采用無向圖模型建模的CRF具有很強的表達能力和靈活性,但是計算起來卻不那么容易。所有的概率推斷必須從求解聯合概率入手,還要計算非常復雜歸一化項,所以計算是無向圖模型的一大難題。

學習來源:《深度學習輕松學》第九章—圖像的語義分割,作者馮超


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM