郭文強(qiáng)+彭程+張寶嶸+夏令君+佘金龍



摘 要: 針對(duì)復(fù)雜系統(tǒng)存在的不確定性、多故障以及傳統(tǒng)貝葉斯網(wǎng)絡(luò)診斷實(shí)時(shí)性差等問(wèn)題,提出一種基于分布式貝葉斯網(wǎng)絡(luò)的故障診斷方法。該故障診斷方法將大型、復(fù)雜系統(tǒng)故障診斷模型抽象為貝葉斯網(wǎng)絡(luò)模型,并將其分解為若干貝葉斯網(wǎng)絡(luò)子系統(tǒng),基于消息傳播機(jī)制完成多個(gè)子系統(tǒng)局部推理以及子系統(tǒng)間重疊子域緊湊的消息傳播,實(shí)現(xiàn)分布式貝葉斯網(wǎng)絡(luò)的故障推理與診斷。實(shí)驗(yàn)結(jié)果表明,該故障診斷方法可在復(fù)雜、不確定性系統(tǒng)中完成單故障和多故障推理、診斷任務(wù),與傳統(tǒng)貝葉斯網(wǎng)絡(luò)故障診斷方法相比,該方法在推理速度上的優(yōu)勢(shì)尤為突出,具有廣泛的應(yīng)用前景。
關(guān)鍵詞: 貝葉斯網(wǎng)絡(luò); 分布式推理; 多故障診斷; 復(fù)雜系統(tǒng)
中圖分類號(hào): TN711?34; TP391.4 文獻(xiàn)標(biāo)識(shí)碼: A 文章編號(hào): 1004?373X(2017)01?0119?06
Abstract: Since the complex system has the uncertain and multi?fault problems, and the traditional Bayesian network diagnosis has poor real?time performance, a fault diagnosis approach based on distributed Bayesian network is proposed. The large?scale and complex system fault diagnosis model is abstracted as the Bayesian network model with the fault diagnosis method. The Bayesian network model is decomposed into several Bayesian network subsystems. The information propagation mechanism is used to accomplish the partial inference of the multiply subsystems and compact information propagation of the overlap subdomain among subsystems, and realize the inference and diagnosis of the distributed Bayesian network fault. The experimental results demonstrate that the fault diagnosis method can accomplish the single fault and multi?fault diagnosis inference and diagnosis task in the complex and uncertain system. In comparison with the traditional Bayesian network fault diagnosis method, the method has the prominent advantage of fast inference speed and extensive application prospects.
Keywords: Bayesian network; distributed inference; multi?fault diagnosis; complex system
0 引 言
隨著高新技術(shù)在大型復(fù)雜系統(tǒng)中的廣泛應(yīng)用,一方面極大地改善了系統(tǒng)的性能,使系統(tǒng)功能越來(lái)越強(qiáng)大;另一方面,由于技術(shù)和結(jié)構(gòu)的復(fù)雜化,不確定因素及不確定信息充斥其間,系統(tǒng)的故障概率也大幅提高,并且由單故障轉(zhuǎn)向多故障并發(fā)。為保證系統(tǒng)正常運(yùn)行,必須采取有效的故障診斷方法,對(duì)系統(tǒng)進(jìn)行實(shí)時(shí)觀測(cè),準(zhǔn)確、及時(shí)地檢測(cè)與排除故障。
近幾年來(lái),多故障診斷問(wèn)題得到了國(guó)內(nèi)外學(xué)者的關(guān)注[1?4]。文獻(xiàn)[5]提出基于分布式神經(jīng)網(wǎng)絡(luò)的多故障診斷方法,需要系統(tǒng)中有足夠的可觀測(cè)節(jié)點(diǎn)才能進(jìn)行相應(yīng)的故障識(shí)別。文獻(xiàn)[6?7]提出有向圖模型的模糊多故障診斷算法,只考慮系統(tǒng)的結(jié)構(gòu)模型,未充分考慮測(cè)試過(guò)程中的不確定性因素,因此在工程應(yīng)用中受限。文獻(xiàn)[8]提出基于GSA的多故障診斷方法適用于小規(guī)模系統(tǒng),但對(duì)于大規(guī)模復(fù)雜系統(tǒng)診斷存在精度低且實(shí)時(shí)性差的問(wèn)題。
在不確定理論研究領(lǐng)域的研究中有機(jī)結(jié)合了圖論和概率論的貝葉斯網(wǎng)絡(luò)(Bayesian Network,BN)適合解決不確定性和不完備信息問(wèn)題,是目前一種有效的故障診斷方法。文獻(xiàn)[9]將故障樹(shù)轉(zhuǎn)化為集中推理的BN對(duì)系統(tǒng)進(jìn)行故障診斷,能夠降低故障樹(shù)故障概率推理復(fù)雜度,簡(jiǎn)化運(yùn)算,但該集中處理的BN故障診斷方法實(shí)時(shí)故障推理能力較低。
本文基于BN架構(gòu),提出一種將傳統(tǒng)集中式推理BN分解為分布式BN進(jìn)行表征與推理的方法進(jìn)行故障診斷。該方法將大型、復(fù)雜系統(tǒng)分解為若干子系統(tǒng),利用單BN分布式自主進(jìn)行推理,隨后利用重疊子域緊湊的消息傳播,實(shí)現(xiàn)多BN協(xié)同故障診斷推理,有效地避免了傳統(tǒng)BN診斷方法需要將所有觀測(cè)變量值送給集中處理器計(jì)算推理的缺點(diǎn),有效地提高了系統(tǒng)的實(shí)時(shí)性,并具有較好的多故障診斷能力。
1 問(wèn)題描述
BN中節(jié)點(diǎn)表示故障中的事件,節(jié)點(diǎn)可以取不同的值,邊表示節(jié)點(diǎn)之間的依賴關(guān)系,而這種依賴關(guān)系是通過(guò)節(jié)點(diǎn)的條件概率來(lái)表達(dá)不確定性的因果關(guān)系以及不確定性的信息問(wèn)題。然而,傳統(tǒng)BN模型并不能充分滿足復(fù)雜系統(tǒng)故障診斷的要求,分布式BN不僅有效避免了傳統(tǒng)BN的部分缺點(diǎn),而且能夠提高系統(tǒng)實(shí)時(shí)推理和診斷的能力。
借助已有的故障診斷知識(shí)庫(kù)邏輯關(guān)系,可方便地將問(wèn)題域轉(zhuǎn)化為BN結(jié)構(gòu)和參數(shù)模型來(lái)表征[10]。可觀測(cè)事件對(duì)應(yīng)BN模型中的證據(jù)節(jié)點(diǎn),待診斷事件對(duì)應(yīng)BN中待查詢節(jié)點(diǎn),故障診斷問(wèn)題就轉(zhuǎn)化為BN模型的求解問(wèn)題,利用成熟的推理算法,便可實(shí)現(xiàn)對(duì)復(fù)雜系統(tǒng)的故障信度的推理、計(jì)算,實(shí)現(xiàn)診斷任務(wù)。
圖1為分布式BN示意圖。其中,分布式BN整體等同于傳統(tǒng)集中推理構(gòu)架下的BN,即一個(gè)集中BN可分解為多個(gè)矩形框表示的子網(wǎng)(圖1中分別為和),每個(gè)矩形框重疊部分為子網(wǎng)的重疊子域,且重疊子域的任一節(jié)點(diǎn)僅有一個(gè)子網(wǎng)包含其全部父節(jié)點(diǎn)。
故障診斷問(wèn)題可以通過(guò)貝葉斯網(wǎng)絡(luò)(V,G,P)描述。在分布式BN中,是第個(gè)子域里的變量集。是一個(gè)有向無(wú)環(huán)圖,每個(gè)子圖的節(jié)點(diǎn)用表示。在中,是一個(gè)節(jié)點(diǎn),中的是全部父節(jié)點(diǎn)。令每個(gè)的勢(shì),僅有一個(gè)包含的子圖對(duì)其賦值為;而其他包含的勢(shì)均賦予均勻分布。是聯(lián)合概率分布,其中是中相關(guān)節(jié)點(diǎn)的勢(shì)函數(shù)之積。每個(gè)稱為的一個(gè)子網(wǎng)。
2 分布式BN推理
分布式BN推理可以分為兩個(gè)階段:各子網(wǎng)對(duì)應(yīng)的連接樹(shù)內(nèi)局部推理和連接樹(shù)間全局推理。其中局部推理是分布式貝葉斯網(wǎng)絡(luò)推理的基礎(chǔ),可采用連接樹(shù)算法完成。
2.1 局部推理算法
貝葉斯網(wǎng)絡(luò)的推理是貝葉斯網(wǎng)絡(luò)研究的重要內(nèi)容,研究人員提出了多種精確和近似推理算法,其中連接樹(shù)算法是目前計(jì)算速度最快、應(yīng)用最廣的貝葉斯網(wǎng)絡(luò)精確推理算法之一。
利用貝葉斯網(wǎng)絡(luò)進(jìn)行正確推理,若要借助無(wú)向圖模型,需將相應(yīng)貝葉斯網(wǎng)絡(luò)概率分布轉(zhuǎn)化為無(wú)向圖模型的勢(shì)函數(shù)。無(wú)向圖推理從數(shù)學(xué)角度都必須滿足兩個(gè)一致性:局部一致性和全局一致性[11?13]。
(1) 局部一致性
(2) 全局一致性
連接樹(shù)中新證據(jù)可通過(guò)這種方式進(jìn)行消息傳播,最終再次達(dá)到連接樹(shù)內(nèi)全局一致性。
2.2 全局推理算法
類似傳統(tǒng)BN連接樹(shù)推理算法,分布式BN在每個(gè)子網(wǎng)局部推理,通過(guò)子網(wǎng)內(nèi)部的消息傳遞達(dá)到局部一致性;各子網(wǎng)之間通過(guò)子網(wǎng)的消息通信達(dá)到分布式BN的全局一致性。
設(shè)為個(gè)子圖其中連通后得到連通圖,其中是子域里的變量集;是子域里的有向邊集。將組織成為一棵連接樹(shù)該樹(shù)的每個(gè)節(jié)點(diǎn)由構(gòu)成,和之間的連接用接口表示。稱為的超樹(shù),每個(gè)稱為一個(gè)超節(jié)點(diǎn),每個(gè)接口稱為一個(gè)超鏈。
一個(gè)鏈化連接森林(Linked Junction Forest,LJF)是一個(gè)四元組每一個(gè)是一個(gè)有向無(wú)環(huán)圖的弦化圖,且有一個(gè)超樹(shù)與對(duì)應(yīng);的連接樹(shù)為是鏈樹(shù)集合,其中是在中超鏈的集合,而每個(gè)是連接樹(shù)中的一個(gè)超鏈。
圖2是圖1分布式BN對(duì)應(yīng)的超樹(shù)。圖3為圖1對(duì)應(yīng)的LJF,其中:的子圖對(duì)應(yīng)的連接樹(shù)分別為為與的鏈樹(shù);為與的鏈樹(shù);和共同構(gòu)成鏈化連接森林。
分布式BN子網(wǎng)通信是通過(guò)共享變量的消息傳播實(shí)現(xiàn)的。類似普通BN的連接樹(shù)推理中的收集證據(jù)和發(fā)散證據(jù)消息傳遞,多貝葉斯網(wǎng)絡(luò)通信沿著超樹(shù)進(jìn)行兩輪信息傳播:信度收集(CollectBelief算法)和信度發(fā)布(DistributeBelief算法)。
2.2.1 UpdateBelief算法
UpdateBelief算法:此算法是在超樹(shù)中進(jìn)行的。BN通信時(shí)進(jìn)行的信度收集和信度發(fā)布算法都會(huì)調(diào)用此算法。
(3) 在中利用連接樹(shù)算法進(jìn)行局部信度更新。
2.2.2 CollectBelief算法
CollectBelief算法:令局部相關(guān)JT為如有鄰接子網(wǎng)分別為和。當(dāng)?shù)囊粋€(gè)子網(wǎng)向調(diào)用CollectBelief時(shí):
若:除外無(wú)其他鄰子網(wǎng)時(shí),在執(zhí)行匯集觀測(cè)和分發(fā)觀測(cè)操作后返回;
否則,對(duì)每個(gè),向調(diào)用CollectBelief。當(dāng)返回向調(diào)用UpdateBelief。
2.2.3 DistributeBelief算法
DistributeBelief算法:令局部相關(guān)JT為如有鄰接子網(wǎng)分別為和。當(dāng)?shù)囊粋€(gè)鄰接子網(wǎng)向調(diào)用DistributeBelief時(shí):
若:除外無(wú)其他鄰接智能體時(shí),在執(zhí)行UpdateBelief后返回;
否則,對(duì)每個(gè),向調(diào)用DistributeBelief。
雖然BN子網(wǎng)僅擁有整個(gè)系統(tǒng)的部分知識(shí),但利用重疊的子域信息更新,進(jìn)行了子網(wǎng)間的消息傳播,從而實(shí)現(xiàn)了子網(wǎng)信息的相互補(bǔ)充。因此,分布式BN局部和全局推理可以確保信度的更新,按照貝葉斯概率理論的精確推理予以實(shí)現(xiàn),從而為復(fù)雜系統(tǒng)中任意節(jié)點(diǎn)(可觀測(cè)節(jié)點(diǎn)和不可觀測(cè)節(jié)點(diǎn))的概率查詢提供支持。
3 應(yīng)用實(shí)例
為驗(yàn)證基于分布式貝葉斯網(wǎng)絡(luò)故障診斷方法的正確性和有效性,本文以某型號(hào)慣導(dǎo)系統(tǒng)進(jìn)行了單故障和多故障情況下的推理、診斷實(shí)驗(yàn),實(shí)驗(yàn)結(jié)果在4臺(tái)PC機(jī)上同時(shí)采用多智能體協(xié)同推理軟件WebWeaverIV完成,4臺(tái)PC機(jī)分別編號(hào)為1#,2#,3#,4#機(jī),配置如下:AMD 2.1 GHz 雙核CPU,6 GB內(nèi)存。假定故障診斷BN模型中各節(jié)點(diǎn)工作狀態(tài)分兩種:正常和異常,可分別用邏輯1,0表示。
3.1 故障系統(tǒng)分布式BN建模
某型號(hào)慣導(dǎo)系統(tǒng)故障診斷中的不確定性具體體現(xiàn)在:系統(tǒng)中某些信號(hào)始終不可觀測(cè);每個(gè)電路器件都存在故障的可能性。
慣導(dǎo)系統(tǒng)加電后,部分事件節(jié)點(diǎn)如表1,表2所示。該故障系統(tǒng)的貝葉斯網(wǎng)絡(luò)如圖4所示。其中,網(wǎng)絡(luò)中可觀測(cè)節(jié)點(diǎn)用白底圈表示,隱節(jié)點(diǎn)用灰底圈表示。
故障系統(tǒng)貝葉斯網(wǎng)絡(luò)模型已經(jīng)建成,現(xiàn)在需要合理分解該網(wǎng)絡(luò)。選擇可觀測(cè)的節(jié)點(diǎn)并且該節(jié)點(diǎn)的父節(jié)點(diǎn)必須在同一子網(wǎng)作為重疊的節(jié)點(diǎn),按照重疊節(jié)點(diǎn)數(shù)盡可能少的原則利用分布式貝葉斯網(wǎng)絡(luò)可將圖4所示的系統(tǒng)分為4個(gè)智能體子系統(tǒng)和一個(gè)通信子系統(tǒng)負(fù)責(zé)全局公共節(jié)點(diǎn)集合間的通信,如圖5所示。而對(duì)應(yīng)子系統(tǒng)如圖4中矩形虛線框所示,分別在1#機(jī)~4#機(jī)完成建模表征和推理,亦由1#機(jī)實(shí)現(xiàn),圖4兩個(gè)矩形虛線框的重疊部分為共享變量。
3.2 單陀螺故障診斷
陀螺本體出現(xiàn)故障的幾率較小,但無(wú)法用常規(guī)檢測(cè)手段在線檢測(cè)其狀態(tài),設(shè)其故障概率為即0.000 3。令陀螺本體出現(xiàn)故障,陀螺本體工作正常。現(xiàn)根據(jù)有限觀測(cè)和自主推理以及子網(wǎng)間通信和全局推理斷測(cè)隱節(jié)點(diǎn)“陀螺損壞”事件的狀態(tài)。
子網(wǎng)的觀測(cè)點(diǎn)有其中如圖6所示。子網(wǎng)的觀測(cè)節(jié)點(diǎn)有其中如圖7所示。利用分布式貝葉斯網(wǎng)絡(luò)在證據(jù)輸入前的先驗(yàn)概率和證據(jù)輸入后的子網(wǎng)絡(luò)協(xié)同推理結(jié)果如表3所示。限于篇幅,由于中節(jié)點(diǎn)不包括陀螺和陀螺全局推理圖表不再贅述。
由表3知,經(jīng)分布式BN局部推理和通信后全局推理,由先驗(yàn)概率的0.3‰升至14.782 692‰,陀螺本體出現(xiàn)故障的幾率增加了49.275 64倍。而由先驗(yàn)概率的0.3‰下降至0.003‰,出現(xiàn)故障的幾率為原來(lái)的1%。因此,可初步判定陀螺本體出現(xiàn)故障,而陀螺本體工作正常。
3.3 多故障診斷
兩個(gè)陀螺同時(shí)發(fā)生故障的概率很低,但仍然有可能發(fā)生。因此,針對(duì)捷聯(lián)慣導(dǎo)多故障問(wèn)題用分布式BN方法進(jìn)行仿真。
子網(wǎng)的觀測(cè)點(diǎn)有其中如圖4所示。子網(wǎng)的觀測(cè)節(jié)點(diǎn)有其中子網(wǎng)利用分布式BN在證據(jù)輸入前的先驗(yàn)概率和證據(jù)輸入后的多智能體自主推理以及通信后推理結(jié)果如表4所示。由表4知,經(jīng)多智能體自主推理和通信后推理,由先驗(yàn)概率的0.3‰升至14.782 69‰,陀螺本體出現(xiàn)故障的幾率增加了49.275 64倍。由表4知由先驗(yàn)概率的0.3‰升至10.002 628‰,出現(xiàn)故障的幾率升至了33.345 09倍。因此,可初步判定陀螺本體、陀螺本體均出現(xiàn)故障。
3.4 實(shí)時(shí)性分析
設(shè)分布式BN的連接樹(shù)參數(shù)如下:為子網(wǎng)總數(shù);為子網(wǎng)連接樹(shù)最大的簇?cái)?shù);為子網(wǎng)連接樹(shù)最大簇的序數(shù);為分布式BN連接樹(shù)中最大鏈的個(gè)數(shù);為變量最大取值的個(gè)數(shù)。
在超樹(shù)中的每條邊進(jìn)行信度通信,信度更新被CollectBelief和DistributeBelief各調(diào)用兩次,一棵有個(gè)超節(jié)點(diǎn)的超樹(shù)有條邊,UpdateBelief調(diào)用次。
UpdateBelief中更新個(gè)局部鏈的勢(shì),計(jì)算復(fù)雜度為匯集觀測(cè)和分發(fā)觀測(cè)算法復(fù)雜度為所以,CommunicateBelief算法總復(fù)雜度為在故障診斷領(lǐng)域,分布式BN中子網(wǎng)共享變量往往相對(duì)子網(wǎng)中變量個(gè)數(shù)規(guī)模較少。因此(局部連接樹(shù)最大的簇?cái)?shù)遠(yuǎn)遠(yuǎn)大于鏈樹(shù)中最大鏈的個(gè)數(shù))此時(shí)超樹(shù)中CommunicateBelief算法的復(fù)雜度[14]可簡(jiǎn)化為。
傳統(tǒng)BN采用連接樹(shù)算法時(shí)空復(fù)雜度[15]為,其中為連接樹(shù)中最大節(jié)點(diǎn)簇的大小,為最大變量空間的大小。
根據(jù)圖8所示,對(duì)于本次實(shí)例,用分布式BN時(shí)其推理時(shí)空復(fù)雜度而用傳統(tǒng)BN時(shí)為4個(gè)子網(wǎng)變量集合的并集,因此的推理算法的時(shí)空復(fù)雜度為顯然,分布式BN推理復(fù)雜度遠(yuǎn)遠(yuǎn)低于傳統(tǒng)BN推理復(fù)雜度,具有明顯的實(shí)時(shí)性優(yōu)勢(shì)。
4 結(jié) 語(yǔ)
為解決復(fù)雜系統(tǒng)故障診斷中的不確定性和多故障等問(wèn)題,提出一種基于分布式BN的故障診斷方法。該方法將故障診斷問(wèn)題轉(zhuǎn)化為分布式的故障診斷子BN模型,利用子BN局部推理算法以及子網(wǎng)絡(luò)間重疊子域緊湊的消息傳播,實(shí)現(xiàn)分布式BN故障全局推理計(jì)算完成診斷任務(wù)。實(shí)驗(yàn)結(jié)果表明,分布式BN故障診斷能完成復(fù)雜、不確定系統(tǒng)的故障診斷問(wèn)題,對(duì)單故障和多故障的診斷均有效,尤其與傳統(tǒng)的BN診斷方法相比,具有明顯的實(shí)時(shí)性優(yōu)勢(shì)。基于分布式BN的故障診斷方法能夠有效地解決多故障診斷的模型表征和推理計(jì)算問(wèn)題,為解決復(fù)雜、不確定系統(tǒng)的故障診斷提供了一種具有廣泛前景的新方法。
參考文獻(xiàn)
[1] 方甲永,肖明清,王學(xué)奇,等.測(cè)試不可靠條件下多故障診斷方法[J].北京航空航天大學(xué)學(xué)報(bào),2011,37(4):433?438.
[2] CHEN F F, TANG B P, SONG T, et al. Multi?fault diagnosis study on roller bearing based on multi?kernel support vector machine with chaotic particle swarm optimization [J]. Measurement, 2014, 47(1): 576?590.
[3] 劉磊,龍兵,劉震.兩種多故障診斷算法的性能比較研究[J].電子測(cè)量與儀器學(xué)報(bào),2011,25(1):75?80.
[4] CAI B P, LIU Y H, FAN Q, et al. Multi?source information fusion based fault diagnosis of ground?source heat pump using Bayesian network [J]. Applied energy, 2014, 114(2): 1?9.
[5] 趙文俊,黃家成,孫艷玉,等.基于多級(jí)BP神經(jīng)網(wǎng)絡(luò)的無(wú)線電羅盤(pán)多故障診斷研究[J].計(jì)算機(jī)測(cè)量與控制,2015,23(6):1871?1874.
[6] ZHANG B D, FANG C E, ZHANG H X, et al. A method of diagnosing steam turbogenerator set′s vibration multi?fault based on multi?layer fuzzy model [C]// Proceedings of 2006 IMACS Multiconference on Computational Engineering in Systems Applications. [S.l.]: IEEE, 2006: 1731?1735.
[7] 連可,黃建國(guó),龍兵,等.一種基于有向圖模型的模糊多故障診斷算法[J].系統(tǒng)工程與電子技術(shù),2008,30(3):568?571.
[8] 周偉,景博,黃以鋒,等.基于GSA的機(jī)載復(fù)雜系統(tǒng)動(dòng)態(tài)多故障診斷方法研究[J].儀器儀表學(xué)報(bào),2014(3):607?613.
[9] 段榮行,董德存,趙時(shí)旻.采用動(dòng)態(tài)故障樹(shù)分析診斷系統(tǒng)故障的信息融合法[J].同濟(jì)大學(xué)學(xué)報(bào)(自然科學(xué)版),2012,39(11):1699?1704.
[10] 李儉川,胡蔦慶,秦國(guó)軍,等.基于貝葉斯網(wǎng)絡(luò)的故障診斷策略優(yōu)化方法[J].控制與決策,2003,18(5):568?572.
[11] 郭文強(qiáng),高曉光,侯勇嚴(yán).復(fù)雜系統(tǒng)的圖模型多智能體協(xié)同故障診斷[J].計(jì)算機(jī)應(yīng)用,2010,30(11):2906?2909.
[12] XIANG Y, SMITH J, KROES J. Multiagent Bayesian forecas?ting of structural time?invariant dynamic systems graphical models [J]. International journal of approximate reasoning, 2011, 52(7): 960?977.
[13] 趙建喆,李凱.一種改進(jìn)的多模塊貝葉斯網(wǎng)絡(luò)局部推理算法[J].東北大學(xué)學(xué)報(bào)(自然科學(xué)版),2015(9):1251?1255.
[14] XIANG Y. Probabilistic reasoning in multiagent systems: a graphical models approach [M]. New York: Cambridge University Press, 2002.
[15] 田鳳占,張宏偉,陸玉昌,等.多模塊貝葉斯網(wǎng)絡(luò)中推理的簡(jiǎn)化[J].計(jì)算機(jī)研究與發(fā)展,2003,40(8):1231?1237.