1. 程式人生 > >條件隨機場介紹(6)—— An Introduction to Conditional Random Fields

條件隨機場介紹(6)—— An Introduction to Conditional Random Fields

因此 500px 內部 都是 問題 網絡 很多 選擇 精確

6. 相關研究和未來方向

本部分簡要分析條件隨機場的發展路線,特別是在結構化預測(structured prediction)方面。除此之外,還將分析條件隨機場與神經網絡和最大熵馬爾可夫模型(MEMMs)的關系。最後列出了幾個未來研究的開放領域。

6.1 相關研究

6.1.1 結構化預測

分類方法提供了強大的工具來對離散的輸出進行預測。但是在本文所考慮的一些問題中,我們希望預測的是更復雜的目標,如自然語言處理中的分析樹[38,144]、不同語言句子間的對齊(alignments)[145]、移動機器人路線規劃[112]等。其中每個復雜目標都有著自己的內部結構,如分析樹的樹狀結構,我們應當能夠利用這些結構以實現更有效的預測。這類問題稱為結構化預測(structured prediction)。正如條件隨機場是邏輯回歸在預測任意結構上的拓展,結構化預測領域也將分類問題拓展至結構化預測目標。

結構化預測方法本質上是分類問題和圖模型的結合,它將多元數據的簡潔建模能力與利用輸入數據大量特征進行預測的能力相結合。條件隨機場是解決這類問題的方法之一,它對邏輯回歸進行了拓展。同樣,其他標準分類方法也可以拓展至結構化預測。關於結構化預測的詳細信息,請參考文獻[5]。本節,我們僅列出其中的幾個方法。

為了更正式的解釋什麽是“結構”,我們簡要回顧一般的分類問題。很多分類方法都可以看作要學習一個判別函數\(F(y,\mathbf x)\),其輸出為有限集\(y\in \mathcal Y\),例如\(\mathcal Y = \{1,2,\dots, C\}\)。給定測試輸入\(\mathbf x\)

,預測一個輸出\(y^*=\arg\max_y F(y,\mathbf x)\)。例如,很多判別函數具有線性特征,即\(F(y,\mathbf x) =\theta^T_y \phi(\mathbf x)\)\(\theta_y\)為權值向量。

結構化預測問題與分類問題相似,但有一個本質的不同之處。在結構化預測中,可能的輸出集\(\mathcal Y\)非常大,例如,將句中的詞標記為命名實體的方法,如2.6.1節所示。很明顯,在這種情況下每個\(y\in \mathcal Y\)(或者說標記一個序列的每種方法)都有一個離散的參數向量\(\theta_y\)是不可能的。因此,在結構化預測方法中,我們添加了判別函數根據輸出結構進行分解的約束條件。正式地,在結構化預測中我們將輸出作為一個隨機向量\(\mathbf y = (y_1, y_2, \dots , y_T)\)

,將判別函數根據個各個_部分_(parts)\(Y_a\)進行分解,每個部分都是\(\mathbf y\)中變量的子集。【這正是結構化預測中“結構”這個詞的來源】。我們為每個部分指定個索引\(a\in \{ 1, 2,\dots, A\}\)。於是,主要假設是將判別函數分解為
\[ F(\mathbf y, \mathbf x) = \sum_{a=1}^A F_a(\mathbf y_a, \mathbf x). \tag{6.1} \]
有了我們在前文中所分析的無向的任意結構條件隨機場,對上述討論應當比較熟悉。例如,任意結構條件隨機場的對數概率就可以寫為這種形式,因為在預測的時候我們可以忽略\(Z(\mathbf{x})\)。結構化預測方法所共有的性質是,判別函數根據“部分”進行分解。這些方法的區別在於,如何利用數據估計判別函數的參數。

結構化預測算法有很多種。條件隨機場的似然基於所有輸出上的求和,來計算配分函數\(Z(\mathbf x)\)和邊緣分布\(p(y_i|\mathbf x)\)。其他大部分結構化預測方法基於最大化而非求和。例如,最大分離的方法(maximum-margin methods)在單變量分類上非常成功,已被擴展至結構化數據,成為結構化SVM[2,147]和最大分離馬爾可夫網絡[143]。感知機更新也被拓展成為結構化模型[25]。該算法特別吸引人,因為它要比選擇\(\mathbf y^*\)算法在實現上要困難一些。在線感知識更新也考慮進最大分離的目標,於是得到MIRA算法[28]。

另外一類結構化方法是基於搜索的方法[31,32],這類算法利用啟發式的方法對輸出進行搜索,並且學習分類器用於預測下一個搜索步。其優點在於能夠很好地適應於許多復雜的需要執行搜索的問題。它還可以在預測中考慮任意損失函數(不同於判別函數的分解方法)。最後,LeCun等[68]基於energy-based方法對很多預測方法進行了擴展,包括上面列出的方法。

最大化方法和基於搜索的方法的一個優勢是不必在所有配置上求和以計算配分函數了邊緣分布。在一些組合問題中,例如配匹和網絡流問題,找到最優的配置是可行的,但是在配置上求和不可行,例如Taskar等[145]。對於更復雜的問題,不論求和還是最大化都不可行,這種優勢就變得非常重要,不過即便是在這種情況下,最大化的方法也使得應用近似搜索更容易,例如定向搜索和剪枝(beam search and pruning)。例如,Pal等[102]即是一個試圖簡單地在條件隨機場訓練中引入定向搜索而帶來困難的例子。

值得註意的是,盡管基於最大化的訓練方法在參數估的時候沒有使用似然,但其得到的參數依舊可以使用因子分解的條件概率分布\(p(\mathbf y |\mathbf x)\),即定義2.3中的條件隨機場。

或許概率方法的主要優點是能夠自然地通過邊緣化引入隱變量。這很有用,例如,在協作分類( collective classification)方法中[142]。更多隱變量結構化模型的例子,請參考Quattoni等[109]和McCallum等[84]。一個特別有說服力的例子是Bayesian方法,其中模型參數本身被integrated out(第6.2.1節)。最近的研究中已經提出了將潛在變量引入到SVM和結構化SVM中的方法[36,159]。

各種結構化預測方法的精度還沒有得到很好的理解。目前,很少有對不領域的結構化預測方法進行比較的研究,盡管Keerthi和Sundararajan[53]給出了一些實驗研究。我們認為,不同的結構預測方法之間的相似性比差異更重要。與結構化預測算法本身相比,特征選擇對性能的影響更大。

6.1.2 神經網絡

神經網絡與條件隨機場之間有著緊密的關系,它們都可被看作判別式訓練的概率模型。神經網絡最知名的是在分類問題上的應用,但是它們也可用於多輸出問題的預測。例如,例用共享隱變量[18]的方法,或直接構建輸出結果之間依賴關系的模型[67]。盡管神經網絡一般使用梯度下降(5.2節)訓練,但理論上來說也可以使用任何其他能用於條件隨機場的方法。主要的區別在於,神經網絡利用共享隱變量表示輸入變量間的依賴關系,而結構化方法則直接將輸出變量之間的這種關系作為一個函數來學習。

由於這個原因,很容易錯認為條件隨機場是凸的而神經網絡不是。這是不準確的。沒有隱含層的神經網絡是一個線性分類器,有很多種方法可以有效的進行訓練,而具有隱變量的條件隨機場則具有非凸的似然函數(2.4節)。正確的理解是,在完全觀測的模型中,似然函數是凸的,若有隱變量,則是非凸的。

因此,關於神經網絡與結構化預測模型對比主要的新見解是:如果在輸出層節點之間添加了連接,或者如果有一個好的特征集,那麽不要隱含層也可能獲得良好的模型。如果可以不要隱含層的話,那麽實際中就可以避免局部極小問題。不過,對於較為困難的任務,盡便是在有輸出層結構的情況下,隱含層的存在也會帶來一些優勢。一旦模型中引入了隱狀態,不管是神經網絡還是結構化模型,貌似非凸性不可避免(至少目前對機器學習的理解是這樣的)。

條件隨機場在另一個方面與神經網絡也很相似。具體地,考慮一個序列長度為2的線性鏈條件隨機場。該條件隨機場是一個線性模型,對於任意兩個標記取值\(\mathbf y =(y_1,y_2)\)\(\mathbf y‘=(y_1‘,y_2‘)\),對數機率\(\log\big(p(\mathbf y|\mathbf x)/p(\mathbf y‘|\mathbf x)\big)\)是參數的線性函數。不過,邊緣分布不是線性的。或者說,\(\log\big(p(y_1|\mathbf x)/p(y_1‘|\mathbf x)\big)\)不是參數的線性函數。原因在於,計算\(y_1\)的邊緣分布時,變量\(y_2\)起了與隱變量類似的作用。這種觀點已被用於利用per-position分類器及擴展的特征集構建近似條件隨機場[71]。

6.1.3 MEMMs、有向模型和標記偏置

線性鏈條件隨機場最初是最大熵馬爾可夫模型(maximum-entropy Markov model)的一種改進[85],它本質上是一個馬爾可夫模型,其轉移概率由邏輯回歸方法給出。正式地,MEMM的定義:
\[ \begin{align} p_\text{MEMM}(\mathbf y|\mathbf x) &= \prod_{t=1}^T p(y_t,|y_{t-1}, \mathbf x) \tag{6.2}\p(y_t|y_{t-1},\mathbf{x}) &= \frac{1}{Z_t(y_{t-1},\mathbf x)} \exp\left\{ \sum_{k=1}^K \theta_k f_k(y_t,y_{t-1}, \mathbf x_t) \right\} \tag{6.3} \Z_t(y_{t-1},\mathbf x) &= \sum_{y‘}\exp\left\{ \sum_{k=1}^K \theta_kf_k(y‘,y_{t-1},\mathbf x_t) \right\}. \tag{6.4} \end{align} \]
類似的思路也可以用在一般的有向圖中,其中分布\(p(\mathbf y|\mathbf x)\)用貝葉斯網絡表示,每個局部條件分布都是輸入為\(\mathbf x\)的邏輯回歸模型[117]。

在線性鏈情況下,MEMM與線性鏈CRF(式5.3)具有相同的形式,區別在於CRF中\(Z(\mathbf x)\)對序列求和,而MEMM中對應的項為\(\prod_{t=1}^T Z_t(y_{t-1}, \mathbf x)\)。這種區別造成了非常不同的結果。與CRF不是,MEMM的極大似然訓練不要求進行推斷,因為\(Z_t\)是簡單地對單一位置的標記進行求和,不必在整個序列上的標記上求和。這是有向模型的訓練計算量小於無向模型這種常見現象的一個例子。

不過MEMM模型存在理論缺陷,就是所謂的標記偏置(label bias)問題[63]。偏置標記本質上是未來的觀測不能影響前期狀態的後驗分布。為了理解偏置標記問題,考慮後向叠代(式4.9)。在MEMM中為
\[ \beta_t(i) = \sum_{j\in S} p(y_{t+1}=j| y_t = i, x_{t+1}) \beta_{t+1}(j). \tag{6.5} \]
很不幸,不管當前標記\(i\)的值是什麽,該求和結果總是1。意味著未來的觀測沒有為當前狀態提供任何信息。為了理解這點,假設為了方便歸納,令\(\beta_{t+1}=1\ (\text{for all } j)\)。然後,很明顯式(6.5)對\(j\)的求和失效,\(\beta_t(i)=1\)

或許一種更好的理解標記偏置問題的方法是圖模型的角度。考慮MEMM的圖模型,如圖6.1。觀察該圖的V形結構,我們從中可得到如下假設條件:在所有的時間步\(t\),標記\(y_t\)與未來觀測\(\mathbf x_{t+1}, \mathbf x_{t+2}\)等在邊緣分布上是獨立的。序列數據一般不滿足這種獨立性假設,這也解釋了條件隨機場性能比MEMM模型好的原因。並且,這種獨立性解釋了為什麽\(\beta_t(i)\)總是1。(一般而言,圖結構與推理算法之間的相關性是圖建模的主要概念優勢之一)。作為總結,標記偏置只是解釋的解果。

技術分享圖片

這裏有一個警告:(MEMM應用中)我們總是可以從前期和未來時間步獲得信息以構建特征向量\(\mathbf x_t\),而且在實踐中這樣做也很常見。這就產生(例如)\(\mathbf x_t\)\(\mathbf x_{t+1}\)之添加了邊的效果。這也解釋了為什麽MEMM和CRF在實踐中的性能差已也並非像想象中的那樣大。

從圖模型角度分析標記偏置問題突出了一個要點。標記偏置並不是由於模型是有向還是無向造成的,而是由於MEMM所使用的這種特殊的有向模型結構。這一點被Berg-Kirkpatrick等[6]有力地證實了,該研究對多種與MEMM類似的對數線性結構無向模型進行了無監督任的實驗,結果令人印象深刻。這些模型避免了標記偏置問題,因為它們具有更產生式(generative)的圖結構,而不是圖6.1中所示的V形結構。

最後,或許可以嘗試一種將條件訓練和有向模型的優點相結合的不同的方法。可以想象著定義一個有向模型\(p(\mathbf y, \mathbf x)\),可能是一個生成模型,然後通過優化條件似然\(p(\mathbf y| \mathbf x)\)來訓練它。實際上,這種方法實稱為最大互信息訓練[4],在語音識別領域已經應用很久了。這種方法看起來提供了一種比CRF簡單的訓練算法,因為有向模型在訓練時總是比無向模型簡單。但實際上,這種方法並沒不排除訓練過程中運行推理。原因在於計算條件似然\(p(\mathbf y|\mathbf x)\)要求計算邊緣概率\(p(\mathbf x)\),其作為也\(Z(\mathbf x)\)在條件隨機場似然中的作用類似。實際上,有向模型的訓練可能比無向模型還要復雜,因為模型參數被限制為概率約束——這些約束實際上增加了優化問題的難度。

6.2 前沿領域

最後,我們給出幾個與條件隨機場相關的開放研究領域。在下面的所有領域中,研究問題都是一個更大的任意結構圖模型的特例,但是條件模型中特殊的附加考慮使問題更加復雜。

6.2.1 貝葉斯條件隨機場

一般情況下條件隨機場的參數數量都非常大,這使模型容易過學習。標準的應對方法是規則化,如5.1.1節所示。要解決這個問題,也可以使用完全貝葉斯過程近似。也就是說,不再將測試實例\(\mathbf x\)預測為\(\mathbf y^*=\max_\mathbf{y}p(\mathbf y|\mathbf x; \hat{\theta})\) (其中\(\hat{\theta}\)為單一參數估計),在貝葉斯方法中我們使用預測性分布$\mathbf y^* = \max_\mathbf y \int p(\mathbf y|\mathbf x;\theta)p(\theta|\mathbf x^{(1)}, \mathbf y^{(1)}, \dots, \mathbf x^{(N)}, \mathbf y^{(N)})d\theta $。該積分需要近似求得,例如,可以使用MCMC。

一般情況下,構建無向模型高效的貝葉斯方法比較困難,參見文獻[95,96]中的例子。有一些論文考慮了貝葉斯CRF的近似推理算法[107,154,161],但是盡管這些方法很有意思,但是對當前條件隨機場的規模(表5.1)來說沒什麽用處。甚至對於線性鏈模型,貝葉斯方法也很少用於條件隨機場,主要原因還在於其巨大的計算量需求。如果要利用模型平均的優勢,可能簡單的集成技術,如bagging,會有同樣的效果[141]。不過,貝葉斯方法的確有其他的一些潛在的優勢,特別是在考慮更復雜的、層次結構的先驗時。

6.2.2 半監督條件隨機場

條件隨機場應用的另一個困難是其需要大量的標註數據。與簡單分類相比,序列數據的標註更加耗時、成本更高。正因為如此,如果能有可以僅利用少量標註數據即可獲得精確結果的技術,那將會非常有用。

實現這個目標的一種方法是半監督學習,這種模型中除了一些完全標記的數據\(\{(\mathbf x^{(i)}, \mathbf y^{(i)})\}_{i=1}^N\)之外,還有大量的非標註實例\(\{ \mathbf x^{(j)} \}_{j=1}^M\),這些未標註數據只有輸入。不過,與生成式模型不同,如何在條件準則中引入未標註數據並不容易,因為未標註樣本來自分布\(p(\mathbf x)\),從理論上來說該分布必須與條件隨機場\(p(\mathbf y|\mathbf x)\)沒有關系。為了解決該問題,現有研究中提出了多種不同類型的考慮未標註數據的規則化項,包括熵規則化(entropy regularization)[46,52]、一般期望準則(generalized expectation criteria)[81]、判別方法[70]、後驗規則化[39,45],以及基於度量的學習(measurement-based learning)[73]。

6.2.3 條件隨機場的結構學習

本文中描述的所有方法都假設模型預先已經確定。一個很自然的問題是,模型的結構是否也能通過學習確定。如更任意結構的圖模型中一樣,這是一個困難的問題。實際上,Bradley和Guestrin[15]指出條件模型中的一個有意思的復雜問題。對於一個生成模型\(p(\mathbf x)\),極大似然結構的學習在模型是樹狀結構時可以利用著名的Chow-Liu算法有效的學習。在條件模型中,當估計\(p(\mathbf y|\mathbf x)\)時類似的算法更加困難,因為它要求估計形如\(p(y_u,y_v|\mathbf x)\)的邊緣分布,也就是說,需要估計輸入向量在每對輸出變量上的作用。而如果不知道模型的結構,就很難估計這些分布。

條件隨機場介紹(6)—— An Introduction to Conditional Random Fields