神經(jīng)網(wǎng)絡(luò)
原理
14.1 隱馬爾可夫模型
機(jī)器學(xué)習(xí)最重要的任務(wù)柏卤,是根據(jù)一些已觀察到的證據(jù)(例如訓(xùn)練樣本)來對感興趣的未知變量(例如類別標(biāo)記)進(jìn)行估計和推測璃俗。概率模型(probabilistic model)提供了一種描述框架敦腔,將學(xué)習(xí)任務(wù)歸結(jié)于計算變量的概率分布。在概率模型中鞋囊,利用已知變量推測未知變量的分布稱為“推斷”(inference)甸陌,其核心是如何基于可觀測變量推測未知變量的條件分布。具體來說近哟,假定所關(guān)心的變量集合為Y驮审,可觀測變量集合為O,其他變量的集合為R,“生成式”(generative)模型考慮聯(lián)合分布 P(Y, R, O)疯淫,“判別式”(discriminative)模型考慮條件分布 P(Y, R | O)地来。給定一組觀測變量值,推斷就是要由P(Y, R, O)或P(Y, R | O)得到條件概率分布 P(Y | O)熙掺。
直接利用概率求和規(guī)則消去變量R顯然不可行未斑,因為即便每個變量僅有兩種取值的簡單問題,其復(fù)雜度已至少是O(2^(|Y|+|R|))适掰。另一方面颂碧,屬性變量之間往往存在復(fù)雜的聯(lián)系,因此概率模型的學(xué)習(xí)类浪,即基于訓(xùn)練樣本來估計變量分布的參數(shù)往往相當(dāng)困難载城。
概率圖模型(probabilistic graphical model)是一類用圖來表達(dá)變量相關(guān)關(guān)系的概率模型。它以圖為表示工具费就,最常見的是用一個結(jié)點表示一個或一組隨機(jī)變量诉瓦,結(jié)點之間的邊表示變量間的概率相關(guān)關(guān)系,即“變量關(guān)系圖”力细。根據(jù)邊的性質(zhì)不同睬澡,概率圖模型可大致分為兩類:第一類是使用有向無環(huán)圖表示變量間的依賴關(guān)系,稱為有向圖模型或貝葉斯網(wǎng)(Bayesian network)眠蚂;第二類是使用無向圖表示變量間的相關(guān)關(guān)系煞聪,稱為無向圖模型或馬爾可夫網(wǎng)(Markov network)。若變量間存在顯式的因果關(guān)系逝慧,則常使用貝葉斯網(wǎng)昔脯;若變量間存在相關(guān)性,但難以獲得顯式的因果關(guān)系笛臣,則常使用馬爾可夫網(wǎng)云稚。
隱馬爾可夫模型(Hidden Markov Model, HMM)是結(jié)構(gòu)最簡單的動態(tài)貝葉斯網(wǎng)(dynamic Bayesian network),這是一種著名的有向圖模型沈堡,主要用于時序數(shù)據(jù)建模静陈,在語音識別、自然語音處理等領(lǐng)域有廣泛的應(yīng)用诞丽。
隱馬爾可夫模型中的變量可分為兩組鲸拥。第一組是狀態(tài)變量,通常假定狀態(tài)變量是隱藏的僧免、不可被觀測的崩泡,因此狀態(tài)變量亦稱隱變量(hidden variable)。第二組是觀測變量猬膨。箭頭表示了變量間的依賴關(guān)系角撞,在任一時刻呛伴,觀測變量的取值僅依賴于狀態(tài)變量,與其他狀態(tài)變量及觀測變量的取值無關(guān)谒所。
“馬爾可夫鏈”(Markov chain):系統(tǒng)下一時刻的狀態(tài)僅由當(dāng)前狀態(tài)決定热康,不依賴以往的任何狀態(tài)。
-
除了結(jié)構(gòu)信息劣领,欲確定一個隱馬爾可夫模型還需要以下三組參數(shù):
- 狀態(tài)轉(zhuǎn)移概率:模型在各個狀態(tài)間轉(zhuǎn)換的概率姐军,通常記為矩陣A。
- 輸出觀測概率:模型根據(jù)當(dāng)前狀態(tài)獲得各個觀察值的概率尖淘,通常記為矩陣B奕锌。
- 初始狀態(tài)概率:模型在初始時刻各狀態(tài)出現(xiàn)的概率,通常記為π村生。
-
通過制定狀態(tài)空間Y惊暴、觀測空間X和上述三組參數(shù),就能確定一個隱馬爾可夫模型趁桃,通常用其參數(shù) λ = [A, B, π]來指代辽话。給定隱馬爾可夫模型 λ,它按如下過程產(chǎn)生觀測序列 {x1, x2, ..., xn}:
- 設(shè)置 t = 1卫病,并根據(jù)初始狀態(tài)概率π選擇初始狀態(tài)y1油啤;
- 根據(jù)狀態(tài) yt 和輸出觀測概率 B 選擇觀測變量取值 xt;
- 根據(jù) yt 和狀態(tài)轉(zhuǎn)移矩陣 A 轉(zhuǎn)移模型狀態(tài)蟀苛,即確定 y_t+1益咬;
- 若 t < n,設(shè)置 t = t + 1帜平, 并轉(zhuǎn)移到第 2 步础废,否則停止。
-
在實際應(yīng)用中罕模,人們常關(guān)注馬爾可夫模型的三個基本問題:
- 給定模型 λ = [A, B, π], 如何有效計算其產(chǎn)生觀測序列 x = {x1, x2, ..., xn} 的概率 P(x | λ)帘瞭?換言之淑掌,如何評估模型與觀測序列之間的匹配程度?例如許多任務(wù)需根據(jù)以往的觀測序列{x1, x2, ..., x_n-1} 來推測當(dāng)前時刻最有可能的觀測值 xn蝶念,這顯然可轉(zhuǎn)化為求取概率 P(x | λ)抛腕。
- 給定模型 λ = [A, B, π] 和觀測序列 x = {x1, x2, ..., xn},如何找到與此觀測序列最匹配的狀態(tài)序列 y = {y1, y2, ..., yn} 媒殉? 換言之担敌,如何根據(jù)觀測序列推斷出隱藏的模型狀態(tài)?在語音識別等任務(wù)中廷蓉,觀測值為語音信號全封,隱藏狀態(tài)為文字,目標(biāo)就是根據(jù)觀測信號來推斷最有可能的狀態(tài)序列(即對應(yīng)的文字)。
- 給定觀測序列 x = {x1, x2, ..., xn}刹悴,如何調(diào)整模型參數(shù) λ = [A, B, π] 使得該序列出現(xiàn)的概率 P(x | λ)最大行楞?換言之,如何訓(xùn)練模型使其能最好地描述觀測數(shù)據(jù)土匀?在大多數(shù)現(xiàn)實應(yīng)用中子房,人工指定模型參數(shù)已變得越來越不可行,如何根據(jù)訓(xùn)練樣本學(xué)得最優(yōu)的模型參數(shù)就轧,恰是該問題证杭。
14.2 馬爾可夫隨機(jī)場
馬爾可夫隨機(jī)場(Markov Random Field, MRF)是典型的馬爾可夫網(wǎng),這是一種著名的無向圖模型妒御。圖中每個結(jié)點表示一個或一組變量解愤,結(jié)點之間的邊表示兩個變量之間的依賴關(guān)系。馬爾可夫隨機(jī)場有一組勢函數(shù)(potential functions)携丁,亦稱“因子”(factor)琢歇,這是定義在變量子集上的非負(fù)實函數(shù),主要用于定義概率分布函數(shù)梦鉴。
對于圖中結(jié)點的一個子集李茫,若其中任意兩結(jié)點間都有邊連接,則稱該結(jié)點子集為一個“團(tuán)”(clique)肥橙。若在一個團(tuán)中加入另外任何一個結(jié)點都不再形成團(tuán)魄宏,則稱該團(tuán)委“極大團(tuán)”(maximal clique);換言之存筏,極大團(tuán)就是不能被其他團(tuán)所包含的團(tuán)宠互。每個結(jié)點至少出現(xiàn)在一個極大團(tuán)中。
在馬爾可夫隨機(jī)場中椭坚,多個變量之間的聯(lián)合概率分布能基于團(tuán)分解為多個因子的乘積予跌,每個因子僅與一個團(tuán)相關(guān)。
顯然善茎,若變量個數(shù)較多券册,則團(tuán)的數(shù)目將會很多(例如,所有相互連接的兩個變量都會構(gòu)成團(tuán))垂涯,這就意味著會有很多乘積項烁焙,顯然會給計算帶來負(fù)擔(dān)。注意到若團(tuán)Q不是極大團(tuán)耕赘,則它必被一個極大團(tuán)Q所包含骄蝇,這意味著變量XQ之間的關(guān)系不僅體現(xiàn)在勢函數(shù)
ψQ 中,還體現(xiàn)在 ψQ 中操骡。于是九火,聯(lián)合概率分布P(x)可基于極大團(tuán)來定義赚窃。-
在馬爾可夫隨機(jī)場中如何得到“條件獨立性”呢?同樣借助“分離”的概念吃既,若從結(jié)點集 A 中的結(jié)點到 B 中的結(jié)點都必須經(jīng)過結(jié)點集 C 中的結(jié)點考榨,則稱結(jié)點集 A 和 B 被結(jié)點集 C 分離,C稱為“分離集”(separating set)鹦倚。對馬爾可夫隨機(jī)場河质,有
- “全局馬爾可夫性”(global Markov property):給定兩個變量子集的分離集,則這兩個變量子集條件獨立震叙。
- 局部馬爾可夫性(local Markov property):給定某變量的鄰接變量掀鹅,則該變量條件獨立于其他變量。
- 成對馬爾可夫性(pairwise Markov property):給定所有其他變量媒楼,兩個非鄰接變量條件獨立乐尊。
馬爾可夫隨機(jī)場中的勢函數(shù) ψQ(XQ的作用是定量刻畫變量集 XQ 中變量之間的相關(guān)關(guān)系,它應(yīng)該是非負(fù)函數(shù)划址,且在所偏好的變量取值上有較大的函數(shù)值扔嵌。為了滿足非負(fù)性,指數(shù)函數(shù)常被用于定義勢函數(shù)
14.3 條件隨機(jī)場
- 條件隨機(jī)場(Conditional Random Field, CRF)是一種判別式無向圖模型夺颤。
- 生成式模型是直接對聯(lián)合分布進(jìn)行建模痢缎,而判別式模型則是對條件分布進(jìn)行建模。前面介紹的隱馬爾可夫模型和馬爾可夫隨機(jī)場都是生成式模型世澜,而條件隨機(jī)場則是判別式模型
- 條件隨機(jī)場試圖對多個變量在給定觀測值后的條件概率進(jìn)行建模独旷。具體來說,若令 x = {x1, x2, ..., xn} 為觀測序列寥裂, y = {y1, y2, ..., yn} 為與之相應(yīng)的標(biāo)記序列嵌洼,則條件隨機(jī)場的目標(biāo)是構(gòu)建條件概率模型 P(y | x)。需要注意的是封恰,標(biāo)記變量 y 可以是結(jié)構(gòu)型變量麻养,即其分量之間具有某種相關(guān)性。例如诺舔,在自然語音處理的詞性標(biāo)注任務(wù)中鳖昌,觀測數(shù)據(jù)為語句(即單詞序列),標(biāo)記為相應(yīng)的詞性序列混萝,具有線性序列結(jié)構(gòu);在語法分析任務(wù)中萍恕,輸出標(biāo)記則是語法樹逸嘀,具有樹形結(jié)構(gòu)。
- 令 G = <V, E> 表示結(jié)點與標(biāo)記變量 y 中元素一一對應(yīng)的無向圖允粤。若圖G的每個變量 yv 都滿足馬爾可夫性崭倘,則(y, x)構(gòu)成一個條件隨機(jī)場翼岁。
- 理論上來說,圖 G 可具有任意結(jié)構(gòu)司光,只要能標(biāo)記變量之間的條件獨立性關(guān)系即可琅坡。但在現(xiàn)實應(yīng)用中,尤其是對標(biāo)記序列建模時残家,最常用的仍是鏈?zhǔn)浇Y(jié)構(gòu)榆俺,即“鏈?zhǔn)綏l件隨機(jī)場”(chain-structured CRF)。
- 與馬爾可夫隨機(jī)場定義聯(lián)合概率的方式類似坞淮,條件隨機(jī)場使用勢函數(shù)和圖結(jié)構(gòu)上的團(tuán)來定義條件概率 P(y | x)茴晋。給定觀測序列x,鏈?zhǔn)綏l件隨機(jī)場主要包含兩種關(guān)于標(biāo)記變量的團(tuán)回窘,即單個標(biāo)記變量{yi}以及相鄰的標(biāo)記變量{y_i-1, yi}诺擅。選擇合適的勢函數(shù),即可得到條件概率定義啡直。在條件隨機(jī)場中烁涌,通過選用指數(shù)函數(shù)并引入特征函數(shù)(feature function)。
- 條件隨機(jī)場和馬爾可夫隨機(jī)場均使用團(tuán)上的勢函數(shù)定義概率酒觅,兩者在形式上沒顯著區(qū)別撮执;但條件隨機(jī)場處理的是條件概率,而馬爾可夫隨機(jī)場處理的是聯(lián)合概率阐滩。
14.4 學(xué)習(xí)與推斷
-
基于概率圖模型定義的聯(lián)合概率分布二打,我們能對目標(biāo)變量的邊際分布(marginal distribution)或以某些可觀測變量為條件的條件分布進(jìn)行推斷。
- 條件分布我們已經(jīng)接觸過很多掂榔,例如在隱馬爾可夫模型中藥估算觀測序列 x 在給定參數(shù) λ 下的條件概率分布继效。
- 邊際分布則是指無關(guān)變量求和或積分后得到結(jié)果,例如在馬爾可夫網(wǎng)中装获,變量的聯(lián)合分布被表示成極大團(tuán)的勢函數(shù)乘積瑞信,于是,給定參數(shù) θ 求解某個變量 x 的分布穴豫,就變成對聯(lián)合分布中其他無關(guān)變量進(jìn)行積分的過程凡简,這稱為“邊際化”(marginalization)。
對概率圖模型精肃,還需確定具體分布的參數(shù)秤涩,這稱為參數(shù)估計或參數(shù)學(xué)習(xí)問題,通常使用極大似然估計或最大后驗概率估計求解司抱。但若將參數(shù)視為待推測的變量筐眷,則參數(shù)估計過程和推斷十分相似,可以“吸收”到推斷問題中习柠。因此匀谣,下面我們只討論概率圖模型的推斷方法照棋。
具體來說,假設(shè)圖模型所對應(yīng)的變量集 x = {x1, x2, ..., xN} 能分為 xE 和 xF 兩個不想交的變量集武翎,推斷問題的目標(biāo)就是計算邊緣概率 P(xF) 或條件概率 P(xF | xE)烈炭。其中聯(lián)合概率P(xE, xF)可基于概率圖模型獲得,因此宝恶,推斷問題的關(guān)鍵就是如何高效地計算邊際分布符隙,即P(xE)。
-
概率圖模型的推斷方法大致可分為兩類:
- 第一類是精確推斷方法卑惜,希望能計算出目標(biāo)變量的邊際分布或條件分布的精確值膏执;遺憾的是,一般情況下露久,此類算法的計算復(fù)雜度隨著極大團(tuán)規(guī)模的增長曾指數(shù)增長更米,適用范圍有限。
- 第二類是近似推斷方法毫痕,希望在較低的時間復(fù)雜度下獲得原問題的近似解征峦;此類方法在現(xiàn)實任務(wù)中更常用。
14.4.1 變量消去
- 精確推斷的實質(zhì)是一類動態(tài)規(guī)劃算法消请,它利用圖模型所描述的條件獨立性來削減計算目標(biāo)概率值所需的計算量栏笆。變量消去法是最直觀的精確推斷算法,也是構(gòu)建其他精確推斷算法的基礎(chǔ)臊泰。
- 變量消去法有一個明顯的缺點:若需要計算多個邊際分布蛉加,重復(fù)使用變量消去法將會造成大量的冗余計算。
14.4.2 信念傳播
- 信念傳播(Belief Propagation)算法將變量消去法中的求和操作看作一個消息傳遞過程缸逃,較好地解決了求解多個邊際分布時的重復(fù)計算問題针饥。
- 若圖結(jié)構(gòu)中沒有環(huán),則信念傳播算法經(jīng)過兩個步驟即可完成所有消息傳遞需频,進(jìn)而能計算所有變量上的邊際分布:
- 指定一個根結(jié)點丁眼,從所有葉結(jié)點開始向根結(jié)點傳遞消息,直到根結(jié)點收到所有鄰接結(jié)點的消息昭殉;
- 從根結(jié)點開始向葉結(jié)點傳遞消息苞七,直到所有葉結(jié)點均收到消息。
14.5 近似推斷
- 精確推斷方法通常需要很大的計算開銷挪丢,因此在現(xiàn)實應(yīng)用中近似推斷方法更為常用蹂风。近似推斷方法大致可分為兩大類:第一類是采樣(sampling),通過使用隨機(jī)化方法完成近似乾蓬;第二類是使用確定性近似完成近似推斷惠啄,典型代表為變分推斷(variational inference)。
14.5.1 MCMC采樣
- 在很多任務(wù)中,我們關(guān)心某些概率分布并非因為對這些概率分布本身感興趣礁阁,而是要基于它們計算某些期望,并且還能進(jìn)一步基于這些期望做出決策族奢。若直接計算或逼近這個期望比推斷概率分布更容易姥闭,則直接操作無疑將使推斷問題的求解更為高效。
- 采樣法正是基于這個思路越走。若樣本{x1, x2, ..., xN} 獨立棚品,基于大數(shù)定律,這種通過大量采樣的辦法就能獲得較高的近似精度廊敌。問題的關(guān)鍵是如何采樣铜跑,對概率圖模型來說,就是如何高效地基于圖模型所描述的概率分布來獲取樣本骡澈。
- 概率圖模型中最常用的采樣技術(shù)是馬爾可夫鏈蒙特卡洛(Markov Chain Monte Carlo, MCMC)方法锅纺。
- 若概率密度函數(shù)p(x)很復(fù)雜,則構(gòu)造服從 p 分布的獨立同分布樣本也很困難肋殴。MCMC方法的關(guān)鍵就在于通過構(gòu)造“平穩(wěn)分布為 p 的馬爾可夫鏈”來產(chǎn)生樣本:若馬爾可夫鏈運(yùn)行時間足夠長(即收斂到平穩(wěn)狀態(tài))囤锉,則此時產(chǎn)生的樣本 x 近似服從分布 p。
- MCMC方法先設(shè)法構(gòu)造一條馬爾可夫鏈护锤,使其收斂至平穩(wěn)分布恰為待估計參數(shù)的后驗分布官地,然后通過這條馬爾可夫鏈來產(chǎn)生符合后驗分布的樣本,并基于這些樣本來進(jìn)行估計烙懦。這里馬爾可夫鏈轉(zhuǎn)移概率的構(gòu)造至關(guān)重要驱入,不同的構(gòu)造方法將產(chǎn)生不同的MCMC算法。
- Metropolis-Hastings (MH) 算法是 MCMC 的重要代表氯析。吉布斯采用(Gibbs sampling)有時被視為 MH 算法的特例亏较,它也使用馬爾可夫鏈獲取樣本。
14.5.2 變分推斷
- 變分推斷通過使用已知簡單分布來逼近需推斷的復(fù)雜分布魄鸦,并通過限制近似分布的類型宴杀,從而得到一種局部最優(yōu)、但具有確定解的近似后驗分布拾因。
- 在實踐中使用變分法時旺罢,最重要的是考慮如何對隱變量進(jìn)行拆解,以及假設(shè)各變量子集服從何種分布绢记。顯然扁达,若隱變量的拆解或變量子集的分布假設(shè)不當(dāng),將會導(dǎo)致變分法效率低蠢熄、效果差跪解。
14.6 話題模型
- 話題模型(topic model)是一種生成式有向圖圖模型,主要用于處理離散型的數(shù)據(jù)(如文本集合)签孔,在信息檢索叉讥、自然語言處理等領(lǐng)域有廣泛應(yīng)用窘行。隱狄利克雷分配模型(Latent Dirichlet Allocation, LDA)是話題模型的典型代表。
- 詞(word)图仓、文檔(document)和話題(topic):“詞”是待處理數(shù)據(jù)的基本離散單元罐盔,例如在文本處理任務(wù)中,一詞就是一個英文單詞或有獨立意義的中文詞救崔』炭矗“文檔”是待處理的數(shù)據(jù)對象,它由一組詞組成六孵,這些詞在文檔中是不計順序的纬黎,例如一篇論文、一個網(wǎng)頁都可看作一個文檔劫窒;這樣的表示方式成為“詞袋”(bag-of-words)本今,數(shù)據(jù)對象只要能用詞袋描述,就可使用話題模型主巍≌┢茫“話題”表示一個概念,具體表示為一系列相關(guān)的詞煤禽,以及它們在該概念下出現(xiàn)的概率铐达。
- 形象地說,一個話題就像是一個箱子檬果,里面裝著在這個概念下出現(xiàn)概率較高的那些詞瓮孙。不妨假定數(shù)據(jù)集中一共包含K個話題和T篇文檔,文檔中的詞來自一個包含N個詞的詞典选脊。我們用T個N維詞向量 W = {w1, w2, ..., wT} 表示數(shù)據(jù)集(即文檔集合)杭抠,K個N維向量 βk (k = 1, 2, ..., K) 表示話題。
- 在現(xiàn)實任務(wù)中可通過統(tǒng)計文檔中出現(xiàn)的詞來獲得詞頻向量 wi (i = 1, 2, ..., T)恳啥,但通常并不知道這組文檔談?wù)摿四男┰掝}偏灿,也不知道每篇文檔與哪些話題有關(guān)。LDA從生成式模型的角度來看待文檔和話題钝的。具體來說翁垂,LDA認(rèn)為每篇文檔包含多個話題,不妨用向量 θt 表示文檔 t 中所包含的每個話題的比例硝桩, θ_t,k 即表示文檔 t 中包含話題 k 的比例沿猜,進(jìn)而通過下面的步驟由話題“生成”文檔 t:
- 根據(jù)參數(shù)為 α 的狄利克雷分布隨機(jī)采用一個話題分布 θt;
- 按如下步驟生成文檔中的 N 個詞:
a) 根據(jù) θt 進(jìn)行話題指派,得到文檔 t 中詞 n 的話題 z_t,n;
b) 根據(jù)指派的話題所對應(yīng)的詞頻分布 βk 隨機(jī)采用生成詞。