盧士達(dá),劉文意,王亮,宋軼慧,方曉蓉
(國(guó)網(wǎng)上海市電力公司信息通信公司,上海200122)
因?yàn)閭鞲衅骶W(wǎng)絡(luò)內(nèi)節(jié)點(diǎn)個(gè)數(shù)較多,且擁有較高水準(zhǔn)的自主性,各個(gè)傳感器節(jié)點(diǎn)的能力與能量都極其有限。若在惡劣的網(wǎng)絡(luò)環(huán)境下,網(wǎng)絡(luò)拓?fù)鋾?huì)一直處于高度動(dòng)態(tài)變化中,所以創(chuàng)建有效的傳感器網(wǎng)絡(luò)是一項(xiàng)極富挑戰(zhàn)性的工作[1]。在傳感器網(wǎng)絡(luò)中,操作系統(tǒng)是上層應(yīng)用與協(xié)議運(yùn)行的基礎(chǔ),運(yùn)行在各個(gè)節(jié)點(diǎn)內(nèi),起到管理節(jié)點(diǎn)與網(wǎng)絡(luò)內(nèi)的軟、硬件資源的功能,是影響全局網(wǎng)絡(luò)優(yōu)良的關(guān)鍵因素[2]。因此,對(duì)操作系統(tǒng)進(jìn)行故障診斷是相當(dāng)必要的環(huán)節(jié)。
關(guān)于操作系統(tǒng)故障診斷問(wèn)題,文獻(xiàn)[3]提出一種融合專(zhuān)家經(jīng)驗(yàn)的序列數(shù)據(jù)趨勢(shì)識(shí)別方法。該方法基于專(zhuān)家對(duì)趨勢(shì)特征的描述,使用模糊矢量形式描述序列數(shù)據(jù)變化趨勢(shì),通過(guò)趨勢(shì)識(shí)別決策樹(shù),實(shí)時(shí)判斷數(shù)據(jù)趨勢(shì)類(lèi)型,提高故障診斷準(zhǔn)確性。文獻(xiàn)[4]提出一種基于光學(xué)灰度圖像辨識(shí)的故障診斷方法。該方法按照實(shí)時(shí)監(jiān)測(cè)數(shù)據(jù)構(gòu)造系統(tǒng)運(yùn)行狀態(tài)圖像,利用CCD 攝錄方法截取灰度圖像,從不同分辨率的系統(tǒng)灰度圖像近似直方圖中提取系統(tǒng)灰度圖像特征。將這些特征和標(biāo)準(zhǔn)特征間的歐式距離對(duì)比,把目前狀態(tài)劃分成相距最小的標(biāo)準(zhǔn)特征類(lèi)。但上述方法均無(wú)法較好適用于操作系統(tǒng)故障診斷中。
因此,本文提出一種基于機(jī)器學(xué)習(xí)的操作系統(tǒng)故障自動(dòng)診斷方法。通過(guò)建立基于AR-連續(xù)HMM的操作系統(tǒng)故障診斷模型,大幅提高診斷精確性,分析機(jī)器學(xué)習(xí)機(jī)理與優(yōu)勢(shì),構(gòu)建自組織競(jìng)爭(zhēng)神經(jīng)網(wǎng)絡(luò),并代入相似性圖方法,得到高效率、高準(zhǔn)確性的操作系統(tǒng)故障自動(dòng)診斷模式,增強(qiáng)操作系統(tǒng)使用流暢性,為用戶提供更為優(yōu)質(zhì)的網(wǎng)絡(luò)服務(wù)。
隱馬爾可夫模型(Hidden Markov Model,HMM)可通過(guò)系統(tǒng)內(nèi)各項(xiàng)因素來(lái)全面分析運(yùn)行狀態(tài),其中,N表示模型內(nèi)馬爾可夫鏈的狀態(tài)個(gè)數(shù),把t時(shí)段馬爾可夫鏈的狀態(tài)描述為qt。M是各個(gè)狀態(tài)相對(duì)的可能觀測(cè)值,M個(gè)觀測(cè)值是V1,V2,…,VM,t時(shí)段的觀測(cè)值是Ot,且Ot∈(V1,V2,…,VM)。π是原始概率分布向量,將其定義為:
式中,
A代表狀態(tài)轉(zhuǎn)移概率矩陣:
式中,
B是一個(gè)觀測(cè)值概率矩陣,B=(bjk)N×M,且:
關(guān)于連續(xù)HMM,B為觀測(cè)值概率函數(shù),將其記作:
因此,可以把HMM定義成λ=(N,M,π,A,B),同時(shí)化簡(jiǎn)成:
固定模型λ所生成的某個(gè)觀測(cè)值序列O的概率,即為模型λ與狀態(tài)序列S同時(shí)產(chǎn)生的聯(lián)合概率:
模型λ的參數(shù)估計(jì)可運(yùn)用極大似然方法進(jìn)行計(jì)算:
在t=1 時(shí)刻,處于狀態(tài)Si的概率;從狀態(tài)Si轉(zhuǎn)移到Sj的平均次數(shù)。
從狀態(tài)Si轉(zhuǎn)移到Sj的平均次數(shù),從狀態(tài)Si轉(zhuǎn)移到其他狀態(tài)的平均次數(shù)。
處于狀態(tài)j和出現(xiàn)觀測(cè)O的平均次數(shù);或者單獨(dú)處于狀態(tài)j的平均次數(shù)。
給予一個(gè)固定觀測(cè)值序列O,HMM的訓(xùn)練通過(guò)原始模型完成,利用極大似然估計(jì)方法[5],逐漸更新模型參數(shù),提高觀測(cè)序列概率,最后約束條件為P(O|λ)的值為最大。
操作系統(tǒng)振動(dòng)序列可呈現(xiàn)出隨機(jī)時(shí)序xt的觀測(cè)值,這與其本身的前一個(gè)或前幾個(gè)時(shí)段觀測(cè)值相關(guān)[6],將此種隨機(jī)序列的前后時(shí)段關(guān)聯(lián)性,采用線性回歸模型的隨機(jī)差分解析式進(jìn)行描述,具體記作:
由此,把線性自回歸模型AR(p)的參變量φj當(dāng)作振動(dòng)信號(hào)特征值。特征提取詳細(xì)流程為:首先把信號(hào)零均值進(jìn)行歸一化處理,將相等長(zhǎng)度預(yù)處理之后的振動(dòng)信號(hào)分割成T段,對(duì)各段提取25階自回歸模型的參變量φj,把該特征值當(dāng)作系統(tǒng)狀態(tài)觀測(cè)值,構(gòu)成完整的觀測(cè)序列。
為了更好地完成操作系統(tǒng)故障自動(dòng)診斷,就要構(gòu)建持續(xù)高斯密度混合HMM 模型,Markov 鏈?zhǔn)? 狀態(tài)左-右型,狀態(tài)原始概率是:
各個(gè)狀態(tài)的觀測(cè)概率是通過(guò)兩個(gè)高斯概率密度函數(shù)綜合判定的,該觀測(cè)值概率密度函數(shù)是:
其中,N(X,μjk,∑jk)代表多維高斯概率密度函數(shù),μjk是平均值向量,∑jk是方差矩陣,K是構(gòu)成bj(X)的混合概率密度函數(shù)數(shù)量,cjk表示組合系數(shù),并符合以下條件:
為了增強(qiáng)故障診斷模型的平穩(wěn)性,采用數(shù)量較多的觀測(cè)值序列進(jìn)行模型訓(xùn)練[7],校正后的計(jì)算表達(dá)式即為故障診斷模型的最終形式,將其記作:
其中,α是前向變量,β 是后向變量,L是觀測(cè)值序列個(gè)數(shù)。
機(jī)器學(xué)習(xí)是現(xiàn)階段人工智能領(lǐng)域內(nèi)發(fā)展最迅猛的學(xué)科之一,它能運(yùn)用已有的經(jīng)驗(yàn)改進(jìn)操作系統(tǒng)的全局性能。機(jī)器學(xué)習(xí)的定義是:針對(duì)某種任務(wù)T與性能度量P,假如一個(gè)計(jì)算機(jī)程序使用經(jīng)驗(yàn)E在任務(wù)T內(nèi)用P來(lái)衡量的性能獲得提高。
現(xiàn)有的操作系統(tǒng)故障診斷技術(shù),在面向日益繁雜的網(wǎng)絡(luò)環(huán)境時(shí),均存在診斷知識(shí)很難獲取及更新緩慢的缺陷。但基于機(jī)器學(xué)習(xí)的故障診斷卻具備超強(qiáng)的學(xué)習(xí)能力,不但能夠從復(fù)雜的網(wǎng)絡(luò)環(huán)境內(nèi)自動(dòng)學(xué)習(xí)診斷知識(shí),還可以完成自身更新,繼而改進(jìn)自身性能,更好地服務(wù)于網(wǎng)絡(luò)故障診斷[8]?;跈C(jī)器學(xué)習(xí)的網(wǎng)絡(luò)故障診斷關(guān)鍵集中在人工神經(jīng)網(wǎng)絡(luò)、支持向量機(jī)兩種診斷方法。因?yàn)槿斯ど窠?jīng)網(wǎng)絡(luò)擁有優(yōu)秀的非線性擬合性能,因此本文使用人工神經(jīng)網(wǎng)絡(luò)來(lái)完成操作系統(tǒng)故障自動(dòng)診斷目標(biāo)。
在諸多人工神經(jīng)網(wǎng)絡(luò)模型中,最常見(jiàn)的為誤差反向傳播神經(jīng)網(wǎng)絡(luò),即BP 神經(jīng)網(wǎng)絡(luò)。BP 神經(jīng)網(wǎng)絡(luò)是一種單向傳播的多層前向網(wǎng)絡(luò),包括輸入層、隱含層與輸出層。其學(xué)習(xí)模式是一種有監(jiān)督學(xué)習(xí),在輸出層對(duì)比網(wǎng)絡(luò)真實(shí)輸出與相對(duì)預(yù)期輸出的偏差均方差,假如無(wú)法獲得滿意的偏差準(zhǔn)確度,使用梯度下降法調(diào)節(jié)每層神經(jīng)元權(quán)重,最后讓偏差為最低。
本文把自組織競(jìng)爭(zhēng)神經(jīng)網(wǎng)絡(luò)引入操作系統(tǒng)故障識(shí)別中。自組織競(jìng)爭(zhēng)神經(jīng)網(wǎng)絡(luò)內(nèi)僅有輸入層與競(jìng)爭(zhēng)層組成的兩層網(wǎng)絡(luò),不包含隱藏層,具體參見(jiàn)圖1。它是一種使用無(wú)監(jiān)督學(xué)習(xí)模式的神經(jīng)網(wǎng)絡(luò),不需要預(yù)先明確標(biāo)準(zhǔn)形式,網(wǎng)絡(luò)經(jīng)過(guò)Kohonen規(guī)則對(duì)輸入層實(shí)施自適應(yīng)學(xué)習(xí)與類(lèi)別區(qū)分,同時(shí)把標(biāo)準(zhǔn)形式利用權(quán)值矩陣的行混合網(wǎng)絡(luò)相融合。
圖1 自組織競(jìng)爭(zhēng)神經(jīng)網(wǎng)絡(luò)示意圖
自組織競(jìng)爭(zhēng)神經(jīng)網(wǎng)絡(luò)的基礎(chǔ)思路為:網(wǎng)絡(luò)競(jìng)爭(zhēng)層每個(gè)神經(jīng)元競(jìng)爭(zhēng)對(duì)輸入矢量的響應(yīng)機(jī)會(huì),最后只有一個(gè)神經(jīng)元為獲勝者。則和獲勝神經(jīng)元相關(guān)的每個(gè)連接權(quán)值會(huì)向更有利于其競(jìng)爭(zhēng)的方向進(jìn)行轉(zhuǎn)變,獲勝神經(jīng)元就是輸入矢量的分類(lèi)。把競(jìng)爭(zhēng)層的輸出過(guò)程記作:
其中,p 代表輸入矢量,wj、bj分別為j神經(jīng)元的權(quán)值矢量與域值。
競(jìng)爭(zhēng)層的傳輸函數(shù)compet是一個(gè)二值函數(shù),該函數(shù)把最大輸入神經(jīng)元的輸出設(shè)定成1,其余全部神經(jīng)元的輸出均是0。域值是用于調(diào)節(jié)神經(jīng)元的獲勝概率,利用降低此神經(jīng)元域值來(lái)提高其獲勝幾率。與此同時(shí),域值也能增強(qiáng)經(jīng)常獲勝的神經(jīng)元臨界值,令其獲勝概率明顯減小。修正與獲勝神經(jīng)元連接的權(quán)值,其余連接權(quán)值維持原樣。權(quán)值校正方程為:
式中,l 代表學(xué)習(xí)速度,體現(xiàn)出學(xué)習(xí)時(shí)連接權(quán)值的大小。通過(guò)上述過(guò)程可知,自組織競(jìng)爭(zhēng)神經(jīng)網(wǎng)絡(luò)能夠有效完成故障的模式區(qū)分,為故障診斷提高先決條件。
為了進(jìn)一步提高操作系統(tǒng)故障診斷的及時(shí)性,使用基于相似性圖的故障自動(dòng)診斷,具體過(guò)程如下。
圖2是故障自動(dòng)診斷的架構(gòu)圖,架構(gòu)圖內(nèi)包括離線模型訓(xùn)練與在線故障診斷。若兩個(gè)組件是相互關(guān)聯(lián)的,在兩個(gè)指標(biāo)之間構(gòu)建一個(gè)連接,連接權(quán)重是兩個(gè)指標(biāo)的相關(guān)度。建立替代圖的目的是:假如明確某個(gè)時(shí)間與某個(gè)故障具備關(guān)聯(lián),則其余時(shí)間對(duì)該故障識(shí)別沒(méi)有任何作用;假如沒(méi)發(fā)生和故障相關(guān)的事件,而發(fā)生了代替圖內(nèi)的其他事件,則同樣證明可能產(chǎn)生故障。
圖2 故障自動(dòng)診斷架構(gòu)示意圖
組件之間的相關(guān)度包含:若兩個(gè)事件用固定的次序?qū)崿F(xiàn),則兩個(gè)事件是相關(guān)的;若探測(cè)指標(biāo)X是Y的一部分,則兩個(gè)探測(cè)指標(biāo)是相關(guān)的;若探測(cè)指標(biāo)X抵達(dá)臨界值后產(chǎn)生Y事件,則探測(cè)指標(biāo)X與事件Y相關(guān)。
如果兩個(gè)組件分別是X、Y,使用NMI推算兩個(gè)組件的相關(guān)度:
式中,H(X)、H(Y)均為Shannon信息熵,I(X,Y)是參變量之間的相關(guān)度。算出隨機(jī)的組件對(duì)NMI 值后,就會(huì)得到其相關(guān)性矩陣。
獲得相關(guān)性矩陣后,對(duì)有關(guān)探測(cè)指標(biāo)與事件實(shí)施分組。此方法對(duì)相關(guān)性矩陣進(jìn)行聚類(lèi)分析,把各個(gè)探測(cè)指標(biāo)與事件當(dāng)成一個(gè)分組,使用迭代模式對(duì)最接近的分組進(jìn)行融合,最后隨機(jī)兩個(gè)分組之間的相關(guān)度均低于事先定義的臨界值時(shí),分組算法結(jié)束。
在操作系統(tǒng)中,以上組件之間的架構(gòu)不會(huì)產(chǎn)生任何變化,但因?yàn)橛脩粜袨榈母淖冎率挂陨戏纸M的穩(wěn)定性較差。比如,在數(shù)據(jù)庫(kù)服務(wù)器處理數(shù)據(jù)包請(qǐng)求的過(guò)程中,系統(tǒng)占據(jù)較多的CPU,而處理本地文檔復(fù)制會(huì)占據(jù)相當(dāng)大的內(nèi)存。在這兩類(lèi)操作中,操作系統(tǒng)內(nèi)包含不變量,使用一致性分?jǐn)?shù)來(lái)描述分組在兩種操作行為下的不變量,其公式為:
式中,C代表某個(gè)分組,n是此分組內(nèi)的關(guān)聯(lián)數(shù)量,ni代表第i個(gè)關(guān)聯(lián)出現(xiàn)的次數(shù)。式(19)代表兩個(gè)操作行為內(nèi)沒(méi)有不變量。所以可以看出,相同分組內(nèi)的探測(cè)指標(biāo)與事件能夠互相替代。
操作系統(tǒng)內(nèi)的故障是一系列事件的集合,不同的事件在故障診斷內(nèi)擁有不同權(quán)重。把事件集合根據(jù)邏輯與事件關(guān)聯(lián)組成一個(gè)有向圖,同時(shí)使用有相同內(nèi)容的關(guān)鍵事件來(lái)描述故障形式。因?yàn)椴僮飨到y(tǒng)中涵蓋數(shù)量眾多的監(jiān)測(cè)數(shù)據(jù),關(guān)鍵事件構(gòu)成的故障形式能夠極大提升故障診斷速率。
在關(guān)鍵事件的診斷過(guò)程中,首先使用有向圖描述事件和故障形成的關(guān)聯(lián)。假如事件A先于事件B發(fā)生,則A至B具備一條有向邊。在創(chuàng)建有向圖時(shí),一條終點(diǎn)是故障的路徑即為一個(gè)系統(tǒng)故障。根據(jù)事件在指定故障路徑內(nèi)出現(xiàn)的次數(shù),把事件劃分成極其活躍、活躍、一般與不活躍四種類(lèi)型。為了完成故障自動(dòng)診斷目標(biāo),使用社會(huì)網(wǎng)絡(luò)影響力排名對(duì)事件的關(guān)鍵性實(shí)施排序。在創(chuàng)建完畢的有向圖內(nèi),在親密度、權(quán)重與時(shí)間延遲下,對(duì)事件的關(guān)鍵性進(jìn)行排名。
在故障F內(nèi),事件e的親密度是:
式中,#e為e在F內(nèi)出現(xiàn)的次數(shù)。
事件e的權(quán)重是時(shí)間故障路徑數(shù)量的倒數(shù),具體記作:
在故障F內(nèi),事件e的時(shí)間延遲表示此事件持續(xù)時(shí)間的指數(shù)函數(shù):
式中,α、β均為指數(shù)函數(shù)參變量。
最后按照事件的親密度、權(quán)重與時(shí)間延遲,對(duì)事件關(guān)鍵性實(shí)施排名,具體過(guò)程為:
對(duì)故障事件進(jìn)行排名后,把排名值Rank(e)最高的時(shí)間當(dāng)作關(guān)鍵事件,同時(shí)實(shí)現(xiàn)準(zhǔn)確高效的操作系統(tǒng)故障自動(dòng)診斷。
為了驗(yàn)證本文方法性能優(yōu)越性,與文獻(xiàn)[3]、文獻(xiàn)[4]方法進(jìn)行仿真對(duì)比實(shí)驗(yàn)。在操作系統(tǒng)正常運(yùn)行時(shí),對(duì)系統(tǒng)引入故障來(lái)判別三種方法性能優(yōu)劣。實(shí)驗(yàn)使用的評(píng)估標(biāo)準(zhǔn)是AUC、AUC的值越高,表明方法的故障檢測(cè)效果越佳。在實(shí)驗(yàn)中,依次考慮故障已知與未知兩種狀態(tài)。實(shí)驗(yàn)結(jié)果如圖3所示。
圖3 故障已知、未知狀態(tài)下故障自動(dòng)診斷精度對(duì)比
從圖3中可知,本文方法的AUC 均為最高的。在故障已知狀態(tài)下,文獻(xiàn)[4]方法與本文方法相差不多,但遠(yuǎn)優(yōu)于文獻(xiàn)[3]方法,原因在于文獻(xiàn)[3]方法對(duì)故障診斷存在較強(qiáng)主觀性,穩(wěn)定性不高;在故障未知狀態(tài)下,所提方法的故障檢測(cè)精度均優(yōu)于兩種文獻(xiàn)方法,這是由于本文方法使用機(jī)器學(xué)習(xí)模式下的故障診斷方法,擺脫了診斷知識(shí)很難獲取及更新的缺陷。
圖4是三種方法的召回率和錯(cuò)誤檢測(cè)率的關(guān)聯(lián)結(jié)果。
圖4 召回率和錯(cuò)誤檢測(cè)率的關(guān)聯(lián)示意圖
從圖4中可知,伴隨錯(cuò)誤檢測(cè)率的提升,召回率逐步變大。本文方法的曲線在最上方,文獻(xiàn)[3]方法的曲線在最下方。證明在同樣錯(cuò)誤檢測(cè)率情況下,本文方法召回率最高,原因在于本文方法運(yùn)用相似性圖法提升了故障診斷精度,使故障自動(dòng)診斷性能更優(yōu),魯棒性更強(qiáng)。
為了深入優(yōu)化操作系統(tǒng)的性能,本文基于機(jī)器學(xué)習(xí)對(duì)操作系統(tǒng)故障進(jìn)行自動(dòng)診斷,建立AR-連續(xù)HMM 操作系統(tǒng)故障診斷模型,增強(qiáng)診斷精確性。引入相似形圖方法,完成高精度故障自動(dòng)診斷目標(biāo)。將所提出的診斷方法應(yīng)用于計(jì)算機(jī)操作系統(tǒng)的故障診斷,可以提高系統(tǒng)的應(yīng)用性能,降低操作系統(tǒng)的故障發(fā)生率,有利于幫助操作系統(tǒng)更好地運(yùn)行。
自動(dòng)化技術(shù)與應(yīng)用2022年1期