丁曉彬, 劉久富, 鄭銳, 王彪, 劉海洋, 楊忠, 王志勝
1.南京航空航天大學(xué) 自動化學(xué)院,江蘇 南京 210016 2.東南大學(xué) 電子信息工程學(xué)院,江蘇 南京 211189
在當(dāng)前的航天推進系統(tǒng)研究中,液體火箭發(fā)動機的故障檢測與分類是迫切需要解決的關(guān)鍵技術(shù)問題[1]。收集故障樣本較為困難,缺乏故障診斷經(jīng)驗,知識更新不及時等都是液體火箭發(fā)動機的故障診斷存在的難題。同時,對診斷的實時性、準(zhǔn)確性和完整性提出了更高的要求[2-3]。為了解決這些困難,一般將液體火箭發(fā)動機的檢測與診斷方法歸納為三大類[1]:1)基于直接測量及信號處理的方法;2)基于模型的方法;3)基于人工智能的方法。
近年來,隨著人工智能技術(shù)的發(fā)展與革新,基于人工智能的方法被大量應(yīng)用于各類系統(tǒng)的故障診斷中。徐宗本等[4]提出了一種用于空間推進系統(tǒng)的方法,該方法將神經(jīng)網(wǎng)絡(luò)與云理論相結(jié)合,是一種靜態(tài)網(wǎng)絡(luò)的故障診斷方法;黃強等[5]采用類似神經(jīng)網(wǎng)絡(luò)的方法實現(xiàn)了液體火箭發(fā)動機的故障診斷。但是,訓(xùn)練神經(jīng)網(wǎng)絡(luò)需要大量的樣本和訓(xùn)練時間,難以滿足故障診斷的實時性要求。彭小輝[6]等構(gòu)建出云分類器,將液體火箭發(fā)動機的故障問題變?yōu)槟J椒诸悊栴},與神經(jīng)網(wǎng)絡(luò)相比,該方法的結(jié)構(gòu)和參數(shù)具有明顯的物理含義,能夠挖掘到數(shù)據(jù)樣本中的深層含義,但對數(shù)據(jù)樣本的依賴程度太強,需要訓(xùn)練數(shù)據(jù)中具有完整的故障模式。
本文提出的貝葉斯網(wǎng)絡(luò)分類器的判別類條件網(wǎng)絡(luò)模型,是由類條件貝葉斯網(wǎng)絡(luò)模型經(jīng)過對數(shù)形式重新參數(shù)化得到的。然后,通過改進粒子群算法對其優(yōu)化求解,得到各節(jié)點的概率,完成分類任務(wù)。改進后的分類器對訓(xùn)練樣本要求較少,且分類器的訓(xùn)練效率高,算法收斂速度快,分類準(zhǔn)確率高。
貝葉斯網(wǎng)絡(luò)B=〈G,Θ〉是由結(jié)構(gòu)G(一個有向無環(huán)圖,其中每個節(jié)點表示一個變量Zi)和一組參數(shù)Θ組成的,其中,Θ是與貝葉斯網(wǎng)絡(luò)相關(guān)的參數(shù)集,這些參數(shù)可以量化結(jié)構(gòu)內(nèi)的依賴關(guān)系。變量Y=Z0表示類別,變量X1=Z1,X2=Z2,…,Xn=Zn,稱為屬性,其中,n表示屬性的數(shù)量。參數(shù)Θ由結(jié)構(gòu)G中的每個節(jié)點的一組表示局部條件概率分布的參數(shù)θz0|∏0(x)和θzi|y,∏i(x)組成。
若給定某一數(shù)據(jù)實例x=〈x1,x2,…,xn〉,則貝葉斯網(wǎng)絡(luò)的聯(lián)合概率分布為
(1)
式中:y∈Y,表示類變量的取值,與z0相同。
根據(jù)貝葉斯定理,相應(yīng)的條件概率分布PB(y|x)為
(2)
本文直接通過最大化條件對數(shù)似然函數(shù)(conditional log-likelihood,CLL)來優(yōu)化P(y|x)。這種方法直接優(yōu)化了從樣本特征到類標(biāo)簽的映射,因此對分類問題更加高效。
根據(jù)貝葉斯定理,本文將條件對數(shù)似然函數(shù)定義為
(3)
將Roos等[7]提出的定義稍作修改:
定義1 對具有嚴(yán)格正參數(shù)集θB*的網(wǎng)絡(luò)B*,若從屬性集(X1,X2,…,Xn)到類變量Y上的分布的所有函數(shù)集合采用式(2)的形式,則稱這類基于網(wǎng)絡(luò)B*的條件分布集合為類條件貝葉斯網(wǎng)絡(luò)模型,記為MB*。
根據(jù)Roos等[7]提出的貝葉斯網(wǎng)絡(luò),將判別類條件貝葉斯網(wǎng)絡(luò)定義如下。
重新定義式(2)中的P(y|x):
(4)
根據(jù)定義2,重新定義式(4)中與每個參數(shù)θ相關(guān)聯(lián)的參數(shù)β:
logθy=βy,logθxi|y,∏i(x)=βy,xi,∏i
現(xiàn)在式(4)變?yōu)?/p>
(5)
(6)
由于式(6)沒有封閉形式的解,本文將采用基于改進粒子群的迭代優(yōu)化方法對其進行優(yōu)化求解。
文獻[8]認(rèn)為,每個蝙蝠在位置xi,d具有隨機飛行速度vi,d,同時蝙蝠有不同的頻率Qi和脈沖發(fā)射率r。如果蝙蝠追蹤到食物,則蝙蝠改變頻率、脈沖發(fā)射率,選擇最優(yōu)方案,直到算法滿足終止條件。
根據(jù)上述思想,任意粒子i,j在一定的范圍內(nèi)具有不同的頻率Qi、Qj,這樣能夠保證每個粒子不被其他粒子發(fā)出的聲波所干擾。粒子通過自身的頻率范圍確定下一步的步長。其數(shù)學(xué)描述為:
Qi=Qmin+(Qmin-Qmax)×rand
(7)
式中:Qmax和Qmin是最高頻率和最低頻率。
粒子的更新公式為
(8)
(9)
粒子在高維空間中運動時,為了避免算法在局部最優(yōu)解處收斂,本文將采用式(10)衡量多樣性度量:
(10)
式中:D為空間的維數(shù);t為迭代次數(shù);L為空間的最大長度;pd為粒子在第d維的平均值;N為種群的規(guī)模。D(t)減小,則種群集中,種群的多樣性減小。
計算種群多樣性D(t)后,如果D(t)<ε,則調(diào)整種群的多樣性:提供脈沖發(fā)射率r,比較r與rand的大小,并按照式(11)對粒子當(dāng)前位置進行調(diào)整:
(11)
綜合上文所述算法的主要思想,算法的具體實現(xiàn)步驟如下。
procedure BAPSO
for each particlei
Initializevi,dandxi,dfor particlei
Evaluate particle i and setpi=xi,d
SetQmin,Qmax
end for
pg=min{pi}
while(termination condition)
fori= 1 toN
CalculateQiby Eq.7
Updatevi,dandxi,dby Eq.8 and Eq.9
CalculateD(t)by Eq.10
if(D(t)<ε)
setr
if(r< rand)
xi,d=pg,d+0.01×randn(1,D)
else
xi,d=pg,d
Evaluate particlei
if fit(xi,d) < fit(pi)
pi=xi,d
if fit(pi) < fit(pg)
pg=pi
end for
end while
printpg
end procedure
Weka系統(tǒng)是由新西蘭Waikato大學(xué)開發(fā)的一個開放源碼的機器學(xué)習(xí)及數(shù)據(jù)挖掘系統(tǒng)。
本文采用的數(shù)據(jù)樣本是某大型氫氧發(fā)動機36次仿真試車數(shù)據(jù),通過建立大型氫氧液體火箭發(fā)動機的數(shù)學(xué)模型,對該型號的液體火箭發(fā)動機可能發(fā)生的各類故障進行多次仿真,得到了仿真數(shù)據(jù)。其中30次為正常數(shù)據(jù),6次為故障數(shù)據(jù),共7 500個樣本。6組故障數(shù)據(jù)分別是:發(fā)生器氫副控閥泄露、氫渦輪出口燃?xì)庑孤?、氧穩(wěn)壓閥出口泄露、發(fā)生器氧副控閥泄露、氧渦輪入口燃?xì)庑孤都把醣煤笮孤丁?/p>
本文從易發(fā)故障部分組件選擇相應(yīng)屬性參數(shù),共 22個。同時,由于實際數(shù)據(jù)變化較大,數(shù)據(jù)的數(shù)量級有可能差別很大,為了提高分類及優(yōu)化效率,本文采用式(12)對數(shù)據(jù)進行歸一化處理:
(12)
式中:Xij為第i個樣本中第j個屬性的值;Xj為數(shù)據(jù)樣本中第j個屬性的均值。
3.2.1 TANd分類器的構(gòu)建及故障診斷方法
將判別類條件貝葉斯網(wǎng)絡(luò)模型與TAN分類器相結(jié)合,通過最大化條件對數(shù)似然函數(shù),獲得各節(jié)點的參數(shù)。將新的分類器記為TANd分類器。液體火箭發(fā)動機的各參數(shù)之間并非完全相互獨立,因此,采用TANd分類器時,各屬性參數(shù)之間存在一定的聯(lián)系。TANd分類器通過計算不同屬性之間的條件互信息函數(shù),能夠在屬性間添加弧,建立一個有向無環(huán)圖。
3.2.2 第1次仿真數(shù)據(jù)的故障診斷結(jié)果
利用生成的TANd分類器對仿真數(shù)據(jù)集1進行故障診斷與分類。
根據(jù)樣本集訓(xùn)練生成的TANd分類器結(jié)構(gòu)如圖1所示。
圖1 TANd網(wǎng)絡(luò)模型
仿真數(shù)據(jù)集1的分類結(jié)果用錯分矩陣表示,如表1所示。
表1 仿真數(shù)據(jù)集1的故障診斷結(jié)果
表2 仿真數(shù)據(jù)集1的故障分類評價指標(biāo)
表1、2給出了分類結(jié)果和各項評價指標(biāo)??梢钥闯觯袆e類條件貝葉斯網(wǎng)絡(luò)模型應(yīng)用于TAN分類器時,進一步提高了模型精度,分類效果很好。改進的分類器對于故障診斷與分類的正確率較高,且誤分類率很低,在查全率和查準(zhǔn)率上也有較好表現(xiàn)。另外,各種故障類型的F-Measure指標(biāo)均接近于1,表明該算法對故障診斷具備相當(dāng)高的可靠性。
3.2.3 第2次仿真數(shù)據(jù)的故障診斷與分類
為了進一步驗證TANd分類器的分類性能,證明其在樣本數(shù)據(jù)的屬性變量及類變量的數(shù)量增加時,依然能夠保持較高的分類精度,本文通過對液體火箭發(fā)動機模型多次仿真,得到了第2次仿真數(shù)據(jù)集,共有76個屬性變量。從這些數(shù)據(jù)中,選擇10類故障數(shù)據(jù):發(fā)生器氫副控閥泄露、氫渦輪出口燃?xì)庑孤?、氧穩(wěn)壓閥出口泄露、發(fā)生器氧副控閥泄露、氧渦輪入口燃?xì)庑孤?、氧泵后泄露、氧主文氏管后泄露、氧渦輪出口燃?xì)庑孤錅u輪入口燃?xì)庑孤都把醴€(wěn)壓閥入口泄露,再從每一類故障數(shù)據(jù)中選擇1 000個樣本,共計10 000個數(shù)據(jù)樣本。為了標(biāo)記方便,將這10類故障類型記為Fault1~Fault10。
在進行分類任務(wù)前,依照前面所述方法對數(shù)據(jù)進行歸一化處理。同時采用最小描述長度離散化方法對連續(xù)數(shù)據(jù)離散化。
利用生成的TANd分類器對仿真數(shù)據(jù)訓(xùn)練集進行故障分類,分類結(jié)果如表3、4。
表3 仿真數(shù)據(jù)集2的故障分類結(jié)果
表4 仿真數(shù)據(jù)集2的故障分類指標(biāo)統(tǒng)計
設(shè)置算法的參數(shù),令Qmax=1,Qmin=0。設(shè)置種群規(guī)模。當(dāng)由算法給出的適應(yīng)度值的改進小于10-32時,算法終止。圖2是2次仿真數(shù)據(jù)集的目標(biāo)函數(shù)采用負(fù)對數(shù)似然函數(shù)(negative-log-likelihood,LL)形式的收斂性比較。
圖2 TANd分類器在不同數(shù)據(jù)集上的演化曲線
圖2的演化曲線的x軸采用了對數(shù)刻度。由圖可以看出,算法通過引入粒子的頻率,使得算法能夠快速逼近問題的最優(yōu)解,收斂速度比較快。此外,在仿真數(shù)據(jù)集1的優(yōu)化過程中,算法能夠極快地逼近最優(yōu)解,在大約10次迭代之后,就會限制粒子的頻率,圍繞最優(yōu)解進行搜索,且沒有陷入局部極值。與第1次仿真數(shù)據(jù)相比,第2次仿真數(shù)據(jù)中包含的類變量和屬性變量增加,分類器模型更復(fù)雜,目標(biāo)函數(shù)變?yōu)槎喾搴瘮?shù)。但在優(yōu)化過程中,算法能夠在陷入局部極值點時,通過改變粒子的頻率,快速擺脫出來,并且逼近全局最優(yōu)解。
1)針對液體火箭發(fā)動機的故障診斷問題,本文基于貝葉斯網(wǎng)絡(luò)的參數(shù)學(xué)習(xí),將判別類條件貝葉斯網(wǎng)絡(luò)模型與TAN分類器結(jié)合,構(gòu)建TANd分類器,并根據(jù)貝葉斯定理和最大后驗概率原則對訓(xùn)練集進行分類,判斷是否屬于故障數(shù)據(jù),或者是故障中的哪一類。
2)改進的分類器對數(shù)據(jù)量需求較少,分類精度很高,適用于液體火箭發(fā)動機這類數(shù)據(jù)樣本收集困難的對象。
3)TANd分類器放寬了貝葉斯網(wǎng)絡(luò)的獨立性假設(shè)條件,能夠反映出不同屬性之間的聯(lián)系。增加訓(xùn)練集的樣本數(shù)量,并增加屬性變量和類變量,分類器依然能夠保持分類精度。但目標(biāo)函數(shù)較為復(fù)雜,因此算法優(yōu)化過程中的迭代次數(shù)增加。