本發(fā)明涉及近似推理算法技術(shù)領(lǐng)域,具體為一種概率圖模型的近似推理算法。
背景技術(shù):
概率圖模型利用圖論的表示方法來描述聯(lián)合概率分布,是對不確定性問題進(jìn)行建模的有效工具。概率圖模型用節(jié)點(diǎn)表示變量,節(jié)點(diǎn)之間的邊表示局部變量間的概率依賴關(guān)系。在概率圖模型的表示框架下,聯(lián)合概率分布表示為定義在局部變量的勢函數(shù)的連乘積,該表示框架不僅避免了對復(fù)雜系統(tǒng)的聯(lián)合概率分布直接進(jìn)行建模,而且易于在圖模型建模中引入先驗(yàn)知識。概率圖模型主要包括馬爾可夫隨機(jī)場(markovrandomfield,mrf)、貝葉斯網(wǎng)絡(luò)(bayesionnetwork,bn)、因子圖(factorgraph,fg)等。概率圖模型推理涉及到圖模型的所有變量,而變量之間的耦合依賴關(guān)系是導(dǎo)致推理算法復(fù)雜度高的主要原因。在一般的概率圖模型中,由于精確推理是np難問題,目前的研究聚焦在近似推理算法。概率圖模型被廣泛應(yīng)用于諸多領(lǐng)域,如自然語言處理、計(jì)算機(jī)視覺、計(jì)算神經(jīng)學(xué)等。
馬爾可夫隨機(jī)場的最大后驗(yàn)概率推理是一個(gè)整數(shù)規(guī)劃問題,因此難以直接求解該優(yōu)化問題。一種常見的求解思路是,將該問題等價(jià)轉(zhuǎn)化為定義在約束域?yàn)檫吘壨苟喟?marginalpolytope)的線性規(guī)劃問題。由于精確描述邊緣凸多胞形需要的約束數(shù)量過于龐大,研究人員將該約束域松弛為局部一致性凸多胞形(localconsistencypolytope),該約束域包含有邊和節(jié)點(diǎn)邊緣概率的一致性約束。定義在局部一致性凸多胞形上的線性松弛問題,被稱為成對線性規(guī)劃松弛(pairwiselinearprogrammingrelaxation)。松弛后的線性規(guī)劃問題可以用優(yōu)化領(lǐng)域的一些標(biāo)準(zhǔn)優(yōu)化方法來求解。松弛后的線性規(guī)劃問題可以用優(yōu)化領(lǐng)域的一些標(biāo)準(zhǔn)優(yōu)化方法來求解。然而,當(dāng)圖模型的規(guī)模很大時(shí),yanover等人指出用標(biāo)準(zhǔn)的優(yōu)化方法沒有充分利用圖模型的結(jié)構(gòu)特點(diǎn),求解速度慢。因此,可以引入對偶分解法來求解線性規(guī)劃問題。對偶分解的思路是將原問題分解為若干易于求解的子問題,通過組合子問題的解來近似得到原問題的解。一種常見的子問題是樹狀子圖,不同的樹狀子圖分解方式對應(yīng)不同的近似推理算法,如樹重置權(quán)重消息傳遞(tree-reweightedmessagepassing,trw),最大-和擴(kuò)散(max-sumdiffusion,msd),最大乘線性規(guī)劃(maxproductlinearprogramming,mplp)。樹狀子圖的分解方式對應(yīng)于求解成對線性規(guī)劃松弛,而成對線性規(guī)劃松弛是對原問題的一個(gè)近似,所以這些算法無法保證推理結(jié)果的準(zhǔn)確性。
為了提高近似推理算法的準(zhǔn)確度,可以在原優(yōu)化問題的約束域引入高階約束。sontag和jaakkola提出了一個(gè)約束分離算法,該算法在每次迭代過程中選擇一個(gè)違反約束最大的k-叉環(huán)不等式約束,并將該不等式約束加到局部一致性凸多胞形中,從而使得約束域逐步逼近邊緣凸多胞形。每增加一個(gè)約束,該算法利用標(biāo)準(zhǔn)優(yōu)化方法進(jìn)行求解。由于該算法直接求解原問題,而沒有利用圖模型的結(jié)構(gòu)特點(diǎn),因此算法復(fù)雜度高。除了在原優(yōu)化問題的約束域引入高階約束之外,另一個(gè)提高近似推理算法準(zhǔn)確度的方法是在對偶問題中引入比樹狀子圖更加復(fù)雜的子圖。針對二值馬爾可夫隨機(jī)場,batra等人提出了一個(gè)更加準(zhǔn)確的近似推理算法,該算法將mrf分解為一組覆蓋原圖節(jié)點(diǎn)和邊的外平面子圖,每個(gè)外平面子圖利用最大權(quán)重完美匹配(maximumweightperfectmatchings)來求解。最大權(quán)重完美匹配算法能快速準(zhǔn)確地求解二值外平面子圖的推理問題。但是,batra等人提出的上述算法依然存在的問題是:算法沒有對外平面子圖對應(yīng)原問題的約束進(jìn)行分析,從而無法確定基于外平面子圖分解方式的準(zhǔn)確度下界。針對一般的多值mrf,yarkony等人提出一個(gè)新的推理算法,該算法將一個(gè)mrf分解為一個(gè)“覆蓋樹”,然后逐步增加可以用最大權(quán)重完美匹配算法求解的二值平面子圖(binaryplanarsubproblems,bpsp)。由于二值平面子圖的數(shù)量龐大,而且不同的bpsp分解對應(yīng)的算法收斂速度差異很大,因此bpsp的選擇是一個(gè)重要的問題。為了解決bpsp的選擇問題,首先要確定bpsp和原問題約束域之間的關(guān)系。然而,yarkony等人的文章并沒有研究bpsp和原問題約束域之間的關(guān)系。
技術(shù)實(shí)現(xiàn)要素:
為實(shí)現(xiàn)上述目的,本發(fā)明提供如下技術(shù)方案:一種概率圖模型的近似推理算法,首先利用分離算法選擇有效的k-叉環(huán)不等式約束;然后將這些k-叉環(huán)不等式約束對應(yīng)的環(huán)組合到一個(gè)平面子圖上,并逐次添加到對偶子問題中;最后通過優(yōu)化對偶問題來求解原推理問題;
假設(shè)由分離算法得到m個(gè)環(huán),記為c1,c2,...,cm;遍歷每個(gè)環(huán)ci,記錄環(huán)ci中每個(gè)節(jié)點(diǎn)的狀態(tài)劃分;如果ci的某個(gè)節(jié)點(diǎn)的狀態(tài)劃分和之前的環(huán)不一致,則不組合環(huán)ci至當(dāng)前bpsp,同時(shí),利用平面圖判定算法檢驗(yàn)增加環(huán)ci至bpsp是否會導(dǎo)致當(dāng)前bpsp變?yōu)榉瞧矫鎴D,若是,不組合環(huán)ci至當(dāng)前bpsp;
考慮任意一節(jié)點(diǎn)p,其變量取值記為xp(xp∈{1,2,...,k});假設(shè)邊(p,q)的變量取值為xp=u,xq=v,記(s1,s2)分別為節(jié)點(diǎn)(p,q)的狀態(tài)空間子集,即
在所有的平面子圖中,將邊(p,q)的狀態(tài)空間劃分為(s1,s2)的平面子圖集合表示為:
針對第k個(gè)平面子圖,定義一個(gè)示性函數(shù):
其中
類似地,定義樹狀子圖的示性函數(shù):
其中
將一個(gè)網(wǎng)格mrf分解為“行”、“列”樹狀子圖{t}和若干平面子圖{k},對偶目標(biāo)函數(shù)為:
利用平面子圖選擇準(zhǔn)則增加平面子圖,每增加一個(gè)平面子圖,優(yōu)化上述目標(biāo)函數(shù)。
作為發(fā)明一種優(yōu)選的技術(shù)方案,所述分離算法是定義在局部一致性凸多胞形上的最大后驗(yàn)概率推理問題,其最優(yōu)解為l(g)的某個(gè)頂點(diǎn);l(g)的頂點(diǎn)有整數(shù)向量和分?jǐn)?shù)向量,若優(yōu)化結(jié)果為整數(shù)向量,則得到了準(zhǔn)確的推理結(jié)果;否者為近似解,需要有選擇性地增加高階約束來提高推理的準(zhǔn)確度;切平面法通過增加約束來逐次提高推理結(jié)果的準(zhǔn)確度,切平面法的關(guān)鍵是設(shè)計(jì)約束分離算法,利用分離算法選擇違反約束最大的有效約束,使得當(dāng)前分?jǐn)?shù)向量解和約束域的整數(shù)向量分離。在分?jǐn)?shù)向量解下,不同的有效約束違反約束的程度不同。
作為發(fā)明一種優(yōu)選的技術(shù)方案,所述切平面法是先求解一個(gè)線性規(guī)劃松弛問題,在當(dāng)前分?jǐn)?shù)向量解下找到一個(gè)有效約束;再將該約束添加至當(dāng)前約束域,求解一個(gè)新的線性規(guī)劃松弛問題,并找到一個(gè)新的有效約束;最后將有效約束添加至約束域,求解得到整數(shù)向量解。
作為發(fā)明一種優(yōu)選的技術(shù)方案,基于最短路徑的k-叉環(huán)不等式約束分離算法,即篩選出違反約束最大的有效k-叉環(huán)不等式約束,為了利用最短路徑法選擇有效的k-叉環(huán)不等式約束,需要構(gòu)造一個(gè)輔助無向圖g′(v′,e′);
輔助無向圖的構(gòu)造方式為:對于投影圖的每一個(gè)節(jié)點(diǎn)m∈vπ,v′包含兩個(gè)復(fù)制節(jié)點(diǎn)m1和m2;節(jié)點(diǎn)集合v′由兩個(gè)子集構(gòu)成,分別為vπ1和vπ2;下標(biāo)為1的節(jié)點(diǎn)屬于子集vπ1,下標(biāo)為2的節(jié)點(diǎn)屬于子集vπ2;對于投影圖中的每一條邊(m,n)∈eπ,輔助圖g′包含的邊有(m1,n1),(m2,n2),(m1,n2),(m2,n1);對于任意一個(gè)節(jié)點(diǎn)m∈vπ,在輔助圖g′中求節(jié)點(diǎn)m1到m2的最短路徑,其中最短路徑定義為路徑上邊的權(quán)重之和最小。
與現(xiàn)有技術(shù)相比,本發(fā)明的有益效果是:本發(fā)明研究概率圖模型近似推理算法,提出了一個(gè)基于等價(jià)性定理的平面子圖選擇準(zhǔn)則,利用該準(zhǔn)則設(shè)計(jì)了一個(gè)對偶分解框架下的快速收斂推理算法,該算法首先利用分離算法選擇有效的k-叉環(huán)不等式約束,然后將這些k-叉環(huán)不等式約束對應(yīng)的環(huán)組合到一個(gè)平面子圖上,并逐次添加到對偶子問題中,最后通過優(yōu)化對偶問題來求解原推理問題。實(shí)驗(yàn)表明,該算法與其它主流近似推理算法相比,收斂速度更快。
附圖說明
圖1為本發(fā)明平面子圖選擇準(zhǔn)則示意圖;
圖2為本發(fā)明切平面法示意圖;
圖3為本發(fā)明最短路徑示意圖;
圖4為本發(fā)明對偶分解示意圖;
圖5為本發(fā)明投影圖的構(gòu)造方法示意圖;
圖6為本發(fā)明實(shí)驗(yàn)結(jié)果圖。
具體實(shí)施方式
下面將結(jié)合本發(fā)明實(shí)施例中的附圖,對本發(fā)明實(shí)施例中的技術(shù)方案進(jìn)行清楚、完整地描述,顯然,所描述的實(shí)施例僅僅是本發(fā)明一部分實(shí)施例,而不是全部的實(shí)施例。基于本發(fā)明中的實(shí)施例,本領(lǐng)域普通技術(shù)人員在沒有做出創(chuàng)造性勞動前提下所獲得的所有其他實(shí)施例,都屬于本發(fā)明保護(hù)的范圍。
實(shí)施例:
本發(fā)明提供一種技術(shù)方案:一種概率圖模型的近似推理算法,首先利用分離算法選擇有效的k-叉環(huán)不等式約束;然后將這些k-叉環(huán)不等式約束對應(yīng)的環(huán)組合到一個(gè)平面子圖上,并逐次添加到對偶子問題中;最后通過優(yōu)化對偶問題來求解原推理問題;其平面子圖選擇準(zhǔn)則如圖1所示;
假設(shè)由分離算法得到m個(gè)環(huán),記為c1,c2,...,cm;遍歷每個(gè)環(huán)ci,記錄環(huán)ci中每個(gè)節(jié)點(diǎn)的狀態(tài)劃分;如果ci的某個(gè)節(jié)點(diǎn)的狀態(tài)劃分和之前的環(huán)不一致,則不組合環(huán)ci至當(dāng)前bpsp,同時(shí),利用平面圖判定算法檢驗(yàn)增加環(huán)ci至bpsp是否會導(dǎo)致當(dāng)前bpsp變?yōu)榉瞧矫鎴D,若是,不組合環(huán)ci至當(dāng)前bpsp;
考慮任意一節(jié)點(diǎn)p,其變量取值記為xp(xp∈{1,2,...,k});假設(shè)邊(p,q)的變量取值為xp=u,xq=v,記(s1,s2)分別為節(jié)點(diǎn)(p,q)的狀態(tài)空間子集,即
在所有的平面子圖中,將邊(p,q)的狀態(tài)空間劃分為(s1,s2)的平面子圖集合表示為:
針對第k個(gè)平面子圖,定義一個(gè)示性函數(shù):
其中
類似地,定義樹狀子圖的示性函數(shù):
其中
將一個(gè)網(wǎng)格mrf分解為“行”、“列”樹狀子圖{t}和若干平面子圖{k},對偶目標(biāo)函數(shù)為:
利用平面子圖選擇準(zhǔn)則增加平面子圖,每增加一個(gè)平面子圖,優(yōu)化上述目標(biāo)函數(shù)。
所述分離算法是定義在局部一致性凸多胞形上的最大后驗(yàn)概率推理問題,其最優(yōu)解為l(g)的某個(gè)頂點(diǎn);l(g)的頂點(diǎn)有整數(shù)向量和分?jǐn)?shù)向量,若優(yōu)化結(jié)果為整數(shù)向量,則得到了準(zhǔn)確的推理結(jié)果;否者為近似解,需要有選擇性地增加高階約束來提高推理的準(zhǔn)確度;切平面法通過增加約束來逐次提高推理結(jié)果的準(zhǔn)確度,切平面法的關(guān)鍵是設(shè)計(jì)約束分離算法,利用分離算法選擇違反約束最大的有效約束,使得當(dāng)前分?jǐn)?shù)向量解和約束域的整數(shù)向量分離。在分?jǐn)?shù)向量解下,不同的有效約束違反約束的程度不同。
圖2為所述切平面法示意圖,(a)求解一個(gè)線性規(guī)劃松弛問題,在當(dāng)前分?jǐn)?shù)向量解下找到一個(gè)有效約束;(b)將該約束添加至當(dāng)前約束域,求解一個(gè)新的線性規(guī)劃松弛問題,并找到一個(gè)新的有效約束;(c)將有效約束添加至約束域,求解得到整數(shù)向量解。
基于最短路徑的k-叉環(huán)不等式約束分離算法,即篩選出違反約束最大的有效k-叉環(huán)不等式約束,為了利用最短路徑法選擇有效的k-叉環(huán)不等式約束,需要構(gòu)造一個(gè)輔助無向圖g′(v′,e′);輔助無向圖的構(gòu)造方式為:對于投影圖的每一個(gè)節(jié)點(diǎn)m∈vπ,v′包含兩個(gè)復(fù)制節(jié)點(diǎn)m1和m2;節(jié)點(diǎn)集合v′由兩個(gè)子集構(gòu)成,分別為vπ1和vπ2;下標(biāo)為1的節(jié)點(diǎn)屬于子集vπ1,下標(biāo)為2的節(jié)點(diǎn)屬于子集vπ2;對于投影圖中的每一條邊(m,n)∈eπ,輔助圖g′包含的邊有(m1,n1),(m2,n2),(m1,n2),(m2,n1);對于任意一個(gè)節(jié)點(diǎn)m∈vπ,在輔助圖g′中求節(jié)點(diǎn)m1到m2的最短路徑,其中最短路徑定義為路徑上邊的權(quán)重之和最??;
圖3為利用最短路徑法選擇有效k-叉環(huán)不等式約束的示意圖,以邊(m,n)為例,其輔助圖g′中的邊(m1,n1)和(m2,n2)的權(quán)重設(shè)為
如果上式的值小于1,則找到一個(gè)違反約束的k-叉環(huán)不等式約束。
本發(fā)明對于概率圖模型推理問題簡介:
概率圖模型在圖模型上定義一個(gè)聯(lián)合概率分布,而該聯(lián)合概率分布可以表示為圖模型上節(jié)點(diǎn)和邊上勢函數(shù)的乘積。這一結(jié)構(gòu)特性使得概率圖模型能夠通過描述局部變量間的依賴關(guān)系,來刻畫系統(tǒng)整體的聯(lián)合概率分布。將一個(gè)概率圖模型記為g=(v,e),其中v={1,2,...,n}表示n個(gè)節(jié)點(diǎn),
其中φp(xp)和φpq(xp,xq)分別表示節(jié)點(diǎn)和邊的勢函數(shù),最大后驗(yàn)概率等價(jià)于以下能量最小化問題:
精確推理只能在一些結(jié)構(gòu)和參數(shù)具有特殊性的mrf上進(jìn)行,例如樹狀mrf可以利用bp算法實(shí)現(xiàn)精確推理,該算法對樹狀mrf的參數(shù)沒有特殊的要求。然而對于一般的mrf,精確推理是np難問題,只能采用近似推理算法。推理問題是一個(gè)整數(shù)規(guī)劃問題,因此難以直接求解該優(yōu)化問題。為了便于求解,將原整數(shù)規(guī)劃問題等價(jià)轉(zhuǎn)化為定義在約束域?yàn)檫吘壨苟喟?marginalpolytope)的線性規(guī)劃問題;
在上式中,θp={θp(·)}和θpq={θpq(·,·)}是mrf勢函數(shù)的向量化表示。類似地,μp={μp(·)}和μpq={μpq(·,·)}分別為節(jié)點(diǎn)和邊的邊緣概率的向量化表示。雖然整數(shù)規(guī)劃問題被等價(jià)地轉(zhuǎn)化為一個(gè)線性規(guī)劃問題,但是由于約束域邊緣凸多胞形m(g)很復(fù)雜,難以用約束條件精確地描述。為此,研究人員將該約束域近似松弛為局部一致性凸多胞形l(g)(localconsistencypolytope),該約束域僅包含邊上的邊緣概率和節(jié)點(diǎn)邊緣概率的一致性約束。定義在局部一致性凸多胞形上的線性松弛優(yōu)化問題,被簡稱為成對線性規(guī)劃松弛(pairwiselinearprogrammingrelaxation)。直接優(yōu)化成對線性規(guī)劃松弛存在的問題是:1)無法保證推理結(jié)果的準(zhǔn)確性;2)求解速度慢。為了提高推理算法的運(yùn)行速度,采用對偶分解法來求解原優(yōu)化問題。對偶分解方法的優(yōu)勢在于該方法可以充分利用圖模型的結(jié)構(gòu)特點(diǎn)。
不同的對偶分解方式對應(yīng)不同近似推理算法。假設(shè)一個(gè)能量最小化問題被分解為若干易于求解的子問題,記為sp(g)={spi}。則該分解必須滿足以下約束:
其中sp(p)和sp(pq)分別代表包含有節(jié)點(diǎn)p和邊pq的子問題。針對上述分解方式,通過引入拉格朗日乘子
其中λ滿足
通過對偶分解,原問題被分解為若干可并行獨(dú)立求解的子問題{spi}
對偶問題通過整合所有子問題的解
在對偶分解框架下,不同的子問題分解方式具有不同的推理準(zhǔn)確度和收斂速度。針對不同的圖模型,如何選擇子問題從而提高算法的準(zhǔn)確度和收斂速度是一個(gè)重要的研究課題。
本發(fā)明對于平面子圖和k-叉不等式的等價(jià)性的說明:
圖5為投影圖的構(gòu)造方法示意圖;在對偶分解框架下,如何選擇子問題從而提高算法的準(zhǔn)確度和收斂速度是一個(gè)重要的研究課題。子問題分解需要考慮mrf的結(jié)構(gòu)和參數(shù)特點(diǎn),最常見的分解方式是將原問題分解為樹狀子圖。為了提高推理算法的準(zhǔn)確度,需要在樹狀子圖分解的基礎(chǔ)上,增加比樹狀子圖更為復(fù)雜的子問題。例如,可以增加平面圖模型、環(huán)子圖等來提高推理算法的準(zhǔn)確度。
對于非二值的平面圖模型,最大權(quán)重完美匹配法不能直接用來求解推理問題。yarkony等人發(fā)現(xiàn)了如果圖模型邊上的勢函數(shù)只取兩個(gè)不同的值,則可以將該邊等價(jià)投影到二值取值空間,求解完畢后再投影至原取值空間。若一個(gè)非二值平面圖的勢函數(shù)具有以下形式,則被稱為二值平面子圖(bpsp):
其中
以下介紹一類重要的高階約束,即k-叉環(huán)不等式約束,該不等式約束的定義起源于二值圖模型。對于任意一個(gè)環(huán)c和它的子集
其中[·]表示示性函數(shù),上述不等式對任意狀態(tài)取值均成立,對該不等式取期望,以下環(huán)不等式約束成立:
為了將上述環(huán)不等式約束擴(kuò)展到非二值圖模型,需要構(gòu)造投影圖(projectiongraph)。投影圖的構(gòu)造方法是將原圖的每個(gè)非二值變量通過取值空間劃分投影為二值變量。
投影圖上的環(huán)不等式約束對應(yīng)于原圖的k-叉環(huán)不等式約束,其表達(dá)式為:
在對偶分解方法中,每增加平面子圖bpsp中的一個(gè)環(huán)c,等價(jià)于在原問題中引入投影圖中環(huán)c′上定義的所有k-叉環(huán)不等式約束。在對偶問題中每增加bpsp的一個(gè)環(huán),等價(jià)于在原線性約束松弛問題上增加定義在投影環(huán)上的所有k-叉環(huán)不等式約束。因此,證明了平面子圖和k-叉不等式的等價(jià)性。
實(shí)驗(yàn):
為了驗(yàn)證算法的有效性,本文算法和其它四個(gè)具有代表性的主流算法進(jìn)行了比較,分別為:收斂樹重置權(quán)重消息傳遞(trw-s)、利用平面圖讓線性規(guī)劃松弛的下界更緊、利用消息傳遞讓線性規(guī)劃松弛的下界更緊(mplp)、以及選擇環(huán)約束方法。本文采用仿真數(shù)據(jù)生成方法,生成n×n的網(wǎng)格mrf,其中每個(gè)節(jié)點(diǎn)的狀態(tài)取值數(shù)為k(k∈{3,4}),節(jié)點(diǎn)和邊的勢函數(shù)滿足以下分布
其中,u[-1,1]和u[-a,a]分別為定義在區(qū)間[-1,1]和[-a,a]上的均勻分布。為了度量不同算法的性能,繪制不同算法的對偶函數(shù)值相對于迭代次數(shù)的變化曲線。對偶函數(shù)是原能量函數(shù)的一個(gè)下界,對偶函數(shù)值越大,則對應(yīng)的下界越緊、推理結(jié)果的準(zhǔn)確度越高。實(shí)驗(yàn)結(jié)果如圖6所示。
對于本領(lǐng)域技術(shù)人員而言,顯然本發(fā)明不限于上述示范性實(shí)施例的細(xì)節(jié),而且在不背離本發(fā)明的精神或基本特征的情況下,能夠以其他的具體形式實(shí)現(xiàn)本發(fā)明。因此,無論從哪一點(diǎn)來看,均應(yīng)將實(shí)施例看作是示范性的,而且是非限制性的,本發(fā)明的范圍由所附權(quán)利要求而不是上述說明限定,因此旨在將落在權(quán)利要求的等同要件的含義和范圍內(nèi)的所有變化囊括在本發(fā)明內(nèi)。不應(yīng)將權(quán)利要求中的任何附圖標(biāo)記視為限制所涉及的權(quán)利要求。