令曉明,范少良,王文強(qiáng),顧?楠,張凱越
(1.蘭州交通大學(xué) 國(guó)家綠色鍍膜技術(shù)與裝備工程技術(shù)研究中心,蘭州 730070;2.蘭州交通大學(xué) 光電技術(shù)與智能控制教育部重點(diǎn)實(shí)驗(yàn)室,蘭州 730070;3.蘭州交通大學(xué) 自動(dòng)化與電氣工程學(xué)院,蘭州 7300070)
貝葉斯分層模型中的推理通過(guò)在概率模型中利用貝葉斯定理,計(jì)算給定數(shù)據(jù)條件下模型的條件概率,進(jìn)行模型的估計(jì)及對(duì)數(shù)據(jù)的預(yù)測(cè),依賴于推理算法估計(jì)后驗(yàn)概率。然而,后驗(yàn)概率因計(jì)算開銷巨大難以取得閉合解,在實(shí)踐中往往需要近似推理,主要有兩種方法:馬爾科夫鏈蒙特卡羅(MCMC,Markov chain Monte Carlo)和變分推理(VI,variational inference)。多年來(lái),MCMC是近似推理的主流范式,能夠?qū)崿F(xiàn)對(duì)目標(biāo)分布較為準(zhǔn)確的近似,但運(yùn)算緩慢。VI將高維度推理問(wèn)題轉(zhuǎn)化為優(yōu)化問(wèn)題,實(shí)現(xiàn)了更快速的近似計(jì)算,憑借其更快的收斂速度及對(duì)海量數(shù)據(jù)的強(qiáng)適應(yīng)性,受到眾多研究者的青睞。
近年來(lái)VI領(lǐng)域的研究集中于以下5個(gè)方面。
隨 機(jī) 變 分 推 理[1]( SVI, Stochastic Variational Inference)及其變體[2]通過(guò)引入隨機(jī)優(yōu)化方法,分別在大型數(shù)據(jù)集和稀疏情況中取得良好表現(xiàn)。進(jìn)一步地,Ranganath等人[3]開發(fā)了隨機(jī)推理中的自適應(yīng)學(xué)習(xí)率的設(shè)置方法;坍縮變分推理[4-6](CVI,CollapsedVariational Inference)通過(guò)積分消除部分變量,簡(jiǎn)化了計(jì)算。
文獻(xiàn)[7-9]使用不同的方式建立了保持一定依賴關(guān)系的結(jié)構(gòu),可以描述更豐富的變分族并提升VI的準(zhǔn)確性,但會(huì)引起計(jì)算量的顯著增加。
文獻(xiàn)[10]將原本的變分分布映射為更簡(jiǎn)單的分布并從中采樣;文獻(xiàn)[11]對(duì)變分目標(biāo)中難以處理的對(duì)象應(yīng)用蒙特卡羅梯度;文獻(xiàn)[12]通過(guò)引入隨機(jī)優(yōu)化、蒙特卡羅估計(jì)和方差減少技術(shù)實(shí)現(xiàn)了快速收斂。其他具備“黑盒”性的推理模型還包括層次變分模型 ( HVM, Hierarchical Variational Models)[8]和 變分高斯過(guò)程(VGP,Variational Gaussian Process)[13]等。
文獻(xiàn)[14]通過(guò)約束變分參數(shù)的后續(xù)迭代,克服了對(duì)初始化的敏感性,且能達(dá)到更好的局部最優(yōu);文獻(xiàn)[15]通過(guò)改造近似計(jì)算的目標(biāo),在統(tǒng)計(jì)和計(jì)算特性中取得了較好的平衡。
Stan[16]、PyMC3[17]和 Edward[18]是 3款具有代表性且比較完備的概率編程系統(tǒng),具有直觀、可讀、功能強(qiáng)大的語(yǔ)法,在不同程度上支持VI和MCMC采樣。
大數(shù)據(jù)時(shí)代下,鐵路故障、事故信息數(shù)據(jù)量龐大,文本中的非結(jié)構(gòu)化數(shù)據(jù)蘊(yùn)藏著大量的信息[19]。使用變分推理的主題模型在挖掘文本隱藏信息中具有效率上的獨(dú)特優(yōu)勢(shì)[20-23]。此外,主題模型還可用于對(duì)扣件的識(shí)別檢測(cè)等[24-27],使用VI可以顯著提升識(shí)別效率。
貝葉斯推理將模型框定為具有N個(gè)局部隱變量z1:N和觀測(cè)變量x1:N的模型,另有控制任意局部上下文的全局隱變量 β。p(·)為概率密度函數(shù),貝葉斯模型中推理的目標(biāo)是計(jì)算后驗(yàn)密度p(z,β|x)=p(z,β,x)/p(x),其中,p(x)稱為證據(jù),對(duì)于許多具有表現(xiàn)力的模型,p(x)難以計(jì)算,需要通過(guò)其他方法實(shí)現(xiàn)對(duì)證據(jù)的近似。
VI將近似推理視為一個(gè)優(yōu)化問(wèn)題。(1)引入一個(gè)關(guān)于隱變量的分布族,該分布族被構(gòu)造為各分量獨(dú)立的平均場(chǎng)形式;(2)以KL(Kullback-Leibler)散度定義變分目標(biāo),通過(guò)坐標(biāo)上升算法迭代得到參數(shù)更新方程;(3)若滿足指數(shù)族共軛條件,則能夠獲得更簡(jiǎn)單有效的更新形式。但經(jīng)典框架也暴露出許多問(wèn)題,包括參數(shù)的更新都依賴于其他參數(shù)與觀測(cè)變量,無(wú)法從無(wú)意義的初始化中恢復(fù),優(yōu)化計(jì)算的過(guò)程方差偏大間接影響收斂速度,易陷入糟糕的局部最優(yōu),依賴于對(duì)特定模型的推導(dǎo)等。
2.3.1 SVI概述
SVI使用自然梯度糾正了經(jīng)典梯度可能導(dǎo)致錯(cuò)誤方向的問(wèn)題[28],并通過(guò)以下3步有效減少了計(jì)算量:
(1)引入黎曼測(cè)度使對(duì)數(shù)規(guī)整器對(duì)自然參數(shù)的Hessian矩陣不再在參數(shù)更新方程中出現(xiàn)。
(2)通過(guò)引入隨機(jī)優(yōu)化,將跟蹤目標(biāo)轉(zhuǎn)化為噪聲估計(jì)[29]。
(3)從具有n個(gè) 局部的某局部隱變量z1:n中采集單樣本zi,i∈ {1,···,n},進(jìn)而替換z1:n,導(dǎo)出全局變分參數(shù)關(guān)于步長(zhǎng)的線性更新方式。
2.3.2 主題模型
主題模型是文本挖掘的重要模型,潛在狄利克雷分配模型(LDA,Latent Dirichlet Allocation)是其典型代表。VI是LDA參數(shù)估計(jì)的重要方法,SVI可以根據(jù)局部的擬合結(jié)果得到中間全局變分參數(shù),并將下一次迭代的全局變分參數(shù)設(shè)置為當(dāng)前參數(shù)的線性組合,從而顯著提升效率。
隨著鐵路系統(tǒng)故障文本信息日漸龐大,基于LDA及其變體的SVI技術(shù)將有助于快速分析故障文本數(shù)據(jù),并發(fā)掘熱點(diǎn)問(wèn)題,對(duì)鐵路系統(tǒng)故障的預(yù)防和分析提供重要依據(jù)。對(duì)于同樣數(shù)量龐大的圖像信息,基于主題詞包模型將圖像量化為圖像—單詞矩陣用于分類,度量空間不同造成的距離偏差可通過(guò)引入SVI的自然度量予以糾正,從而更準(zhǔn)確地實(shí)現(xiàn)基于近義詞分配的鐵路扣件等設(shè)備的狀態(tài)檢測(cè)。
VI使用KL散度定義變分目標(biāo)函數(shù),其本質(zhì)是一個(gè)非凸優(yōu)化問(wèn)題,包含了許多局部最優(yōu)解,所采用的迭代算法難以避免陷入糟糕的局部最優(yōu)解且對(duì)初始化參數(shù)選取敏感。
(1)鄰近變分推理(PVI,Proximity Variational Inference)建立在鄰近視角上,認(rèn)為梯度上升中的每一步是對(duì)前一步參數(shù)泰勒展開的有約束最小化[30-31],強(qiáng)制下一個(gè)點(diǎn)必須在以前一個(gè)點(diǎn)為球心、半徑受控于步長(zhǎng)的歐氏球內(nèi);(2)算子變分推理(OPVI,Operator Variational Inference)是一種將原變分目標(biāo)重新設(shè)計(jì)為算子變分目標(biāo)的通用框架,基于強(qiáng)化梯度/重參數(shù)化梯度計(jì)算梯度期望的蒙特卡羅估計(jì),且使用 Rao-Blackwellization 和控制變量技術(shù)來(lái)減小方差;(3)變分回火(VT,Variational Tempering)[32]引入了確定性退火,通過(guò)在模型中賦予異常值更高的溫度,降低了異常值對(duì)全局變分參數(shù)的影響,提升了局部最優(yōu)的魯棒性;(4)信賴域變分推理(TRVI,Trust Region Variational Inference)[33]使用信賴域步長(zhǎng)代替 SVI 中的自然梯度步長(zhǎng),有效改善了SVI陷入糟糕局部最優(yōu)解的情況,也降低了對(duì)超參數(shù)的敏感性;(5)總體經(jīng)驗(yàn)貝葉斯[34]明確地將經(jīng)驗(yàn)總體分布作為貝葉斯分析的一部分,進(jìn)一步得到碰撞變分推理(bump-VI),將優(yōu)化問(wèn)題擴(kuò)展為在尋找最優(yōu)近似后驗(yàn)分布的同時(shí)尋找潛在數(shù)據(jù)集的索引。
更穩(wěn)健的VI算法使得計(jì)算量明顯增加。對(duì)魯棒性的要求過(guò)高會(huì)直接導(dǎo)致算法更接近于全局尋優(yōu),削弱VI方法的效率優(yōu)勢(shì)。為實(shí)現(xiàn)有效的計(jì)算,需要避免在錯(cuò)誤方向上的步進(jìn),保持對(duì)新加入數(shù)據(jù)點(diǎn)的魯棒性,還要能從淺局部最優(yōu)解中脫離。滿足這些要求的算法在優(yōu)化過(guò)程中能夠進(jìn)一步收集局部的信息,或重新設(shè)計(jì)推理框架,從而獲得全新的特性,有助于形成更準(zhǔn)確、統(tǒng)計(jì)性質(zhì)更好的近似結(jié)果。
概率編程語(yǔ)言(PPL,Probabilistic Programming Language)是用于描述帶有概率的生成過(guò)程的規(guī)范化語(yǔ)言,其目標(biāo)是用簡(jiǎn)潔的形式描述一個(gè)概率模型,并實(shí)現(xiàn)自動(dòng)的學(xué)習(xí)與推理,用盡量少的代碼實(shí)現(xiàn)使用者的想法,顯著減輕VI研究者編寫繁復(fù)程序的負(fù)擔(dān)。
(1)Stan是一種用于指定統(tǒng)計(jì)模型的PPL,定義了以特定數(shù)據(jù)和常數(shù)為條件參數(shù)的對(duì)數(shù)概率函數(shù),能實(shí)現(xiàn)變分貝葉斯、期望傳播和使用近似積分的邊際推斷等算法。Stan比傳統(tǒng)聲明式圖形建模語(yǔ)言更具表現(xiàn)力,可支持使用類型聲明變量、局部變量和條件語(yǔ)句。(2)PyMC3是運(yùn)行在Python語(yǔ)言中的開源PPL,基于NUTS和HybridMC[35]并與眾多科學(xué)計(jì)算庫(kù)集成,具有強(qiáng)大的表達(dá)能力。雖然PyMC3中大多數(shù)面向用戶的功能都是用純Python編寫的,但其利用Theano[36]將模型轉(zhuǎn)碼為C并編譯為機(jī)器代碼,從而提高了性能。(3)Edward對(duì)程序的表達(dá)方式具有模型對(duì)計(jì)算圖的表示不變且推理對(duì)計(jì)算圖的表示不變的特點(diǎn),使得對(duì)復(fù)雜模型的建模變得簡(jiǎn)單,且所有的計(jì)算都只是象征性地記錄在隨機(jī)變量上,簡(jiǎn)化了在執(zhí)行程序之前的確定性和隨機(jī)性操作[37-38],其中,符號(hào)表示不需要具體化整個(gè)模型,避免了具體化大型模型帶來(lái)的不合理的內(nèi)存消耗[39],因而,具有極高的執(zhí)行效率。
(1)考慮VI的支持性,Edward和 PyMC3都支持較多的VI算法,相較Stan等其他算法匱乏的語(yǔ)言而言是更好的選擇;(2)考慮指定貝葉斯任務(wù)的代碼量、語(yǔ)言的自然性和概念的可解釋性,Edward和PyMC3的使用顯著易于Stan,而Edward后續(xù)被集成到TensorFlow中,易用性得到進(jìn)一步提升;(3)在完成貝葉斯推理任務(wù)的速度方面,得益于GPU加速支持,Edward和PyMC3的運(yùn)算速度更快,而PyMC3并沒(méi)有在所有的計(jì)算中都使用Theano,導(dǎo)致其效率低于Edward;(4)在所采用算法的魯棒性和API 的穩(wěn)定性方面,Stan 較為穩(wěn)定,它沒(méi)有大規(guī)模使用隨機(jī)優(yōu)化技術(shù),且不依賴于Theano,保證了執(zhí)行的可靠性。
VI是機(jī)器學(xué)習(xí)領(lǐng)域重要的推理方法,該領(lǐng)域進(jìn)一步的研究主要集中于以下幾個(gè)方面。
近似推理的核心問(wèn)題是有效性和準(zhǔn)確性的矛盾,如何將MCMC與VI結(jié)合一直以來(lái)都是近似推理研究的核心命題。目前,僅有少數(shù)研究在部分計(jì)算環(huán)節(jié)中做出了嘗試,幾乎都是基于特定問(wèn)題做出的小幅改進(jìn),還需進(jìn)一步探索出明確的VI-MCMC接口,這一方向的研究對(duì)于未來(lái)VI方法及應(yīng)用的發(fā)展至關(guān)重要。
VI方法的發(fā)展需要突破共軛限制,有學(xué)者提出適用于邏輯回歸的變分界[40]。非共軛模型中的推理可以使用Laplace逼近和Delta方法[41],但僅限于連續(xù)變量。Wand[42]等人使用輔助變量、求積和混合近似法對(duì)指數(shù)族之外的分布族進(jìn)行了探索。但非共軛模型是一個(gè)廣泛的研究范疇,這些方法尚不足以支撐非共軛模型的推理。基于這一現(xiàn)狀,非共軛條件下的推理或逼近方法將作為VI研究中自動(dòng)化推理方向的主要命題長(zhǎng)期存在。
對(duì)于深度學(xué)習(xí)所表現(xiàn)出的解釋性不足和難以包含先驗(yàn)知識(shí)等缺陷,有學(xué)者使用貝葉斯方法,如變分自編碼器(VAE,Variational Auto Encoder)及其變種改善了這些問(wèn)題。有學(xué)者賦予了VAE解釋性較強(qiáng)的先驗(yàn)?zāi)P蚚43-44],在這些模型中合理使用VI將帶來(lái)效率上的飛躍,使得VAE具有更好的生成結(jié)果。此外,由于VAE將數(shù)據(jù)強(qiáng)行投射到有限維度的指定分布上,導(dǎo)致生成信息質(zhì)量不高,而GAN(Generative Adversarial Network)使用神經(jīng)網(wǎng)絡(luò)學(xué)習(xí)該分布,雖然在匹配分布的過(guò)程中有可能發(fā)生模型坍縮,但其生成的數(shù)據(jù)質(zhì)量較高。將VAE與GAN有機(jī)結(jié)合是一個(gè)極具潛力的研究方向。
VI使用KL散度作為分布測(cè)度定義變分目標(biāo),對(duì)VI的一系列研究都是從KL散度開始的??紤]使用 其 他 散 度 如 α 散 度[45]、f散 度[46]、Stein散 度[47-48]、JS散度[49-50]等定義的變分目標(biāo)可以獲得更緊致的下界或更快的收斂速度,但基于這些散度的推理方法的研究尚不成熟,其計(jì)算方法、統(tǒng)計(jì)特性等方面的研究尚不全面和深入。
盡管概率編程已取得一定的發(fā)展,但近年來(lái)發(fā)展出的眾多推理方法在編程實(shí)現(xiàn)上仍存在困難。概率編程庫(kù)中可以使用的API接口仍不夠豐富,方差減少技術(shù)中的控制變量方法仍依賴于模型的特定設(shè)計(jì),不利于算法的快速收斂。
鐵路領(lǐng)域的信息種類繁多、數(shù)目龐大且存在大量非結(jié)構(gòu)化數(shù)據(jù),而數(shù)據(jù)間的關(guān)聯(lián)與內(nèi)在趨勢(shì)很難被發(fā)現(xiàn),需要具有較強(qiáng)表達(dá)能力的模型和快速的計(jì)算方法。使用主題模型與VI是較為理想的選擇,但其準(zhǔn)確性和魯棒性都有待提升。除文本外,VI在圖像和語(yǔ)音方面的研究已有進(jìn)展,但在鐵路領(lǐng)域的應(yīng)用較少。此外,隨著大規(guī)模貝葉斯網(wǎng)絡(luò)被用于解決交通流問(wèn)題,VI也更能發(fā)揮計(jì)算效率上的優(yōu)勢(shì)。
近似推理在很大程度上解決了貝葉斯模型中的推理問(wèn)題,有著廣泛的應(yīng)用。VI作為近似推理中除MCMC之外的另一方法,具有十分重要的意義,應(yīng)該更深入地研究其理論、方法與實(shí)踐。目前,針對(duì)VI方法的研究成果頗豐,在當(dāng)前的大數(shù)據(jù)時(shí)代,有必要進(jìn)一步研究和擴(kuò)展計(jì)算更快、更穩(wěn)定的方法。VI的實(shí)踐包括概率編程和應(yīng)用,已出現(xiàn)一批性能優(yōu)異且能夠與深度學(xué)習(xí)相結(jié)合的概率編程系統(tǒng),為VI在工業(yè)中的應(yīng)用打下了良好的基礎(chǔ)。