楊宏宇 李譯 張良
摘要:針對現(xiàn)有軟件系統(tǒng)異常狀態(tài)評估方法過度依賴數(shù)據(jù)標(biāo)注、對時(shí)序數(shù)據(jù)的時(shí)間依賴性關(guān)注較低和系統(tǒng)異常狀態(tài)難以量化等問題,提出一種基于混合生成網(wǎng)絡(luò)的軟件系統(tǒng)異常狀態(tài)評估方法.首先,通過對長短期記憶網(wǎng)絡(luò)(long short-term memory network,LSTM)與變分自動(dòng)編碼器(variational auto-encoder,VAE)的融合,設(shè)計(jì)一種LSTM-VAE混合生成網(wǎng)絡(luò),并以該網(wǎng)絡(luò)為基礎(chǔ)構(gòu)建基于LSTM-VAE混合生成網(wǎng)絡(luò)的系統(tǒng)異常狀態(tài)檢測模型,由LSTM對系統(tǒng)數(shù)據(jù)的時(shí)序特征進(jìn)行提取并由VAE對系統(tǒng)數(shù)據(jù)的分布進(jìn)行建模.然后,由LSTM-VAE異常狀態(tài)檢測模型處理系統(tǒng)關(guān)鍵特征參數(shù),獲取系統(tǒng)關(guān)鍵特征參數(shù)的異常度量值.最后,利用耦合度方法對傳統(tǒng)的線性加權(quán)和方法進(jìn)行優(yōu)化,通過加權(quán)耦合度優(yōu)化方法計(jì)算得到軟件系統(tǒng)異常狀態(tài)的量化值,從而實(shí)現(xiàn)對軟件系統(tǒng)的異常狀態(tài)評估.實(shí)驗(yàn)結(jié)果表明,本文模型對軟件系統(tǒng)的異常時(shí)序數(shù)據(jù)具有較好的檢測能力,其對系統(tǒng)異常狀態(tài)的評估結(jié)果更為合理、有效.
關(guān)鍵詞:軟件系統(tǒng);狀態(tài)評估;長短期記憶網(wǎng)絡(luò);變分自動(dòng)編碼器;異常檢測;耦合度
中圖分類號:TP309文獻(xiàn)標(biāo)志碼:A
Evaluation of Software System Abnormal Status Based on Hybrid Generative Network
YANG Hongyu? LI Yi ZHANG Liang3
(1. College of Safety Science and Engineering,Civil Aviation University of China,Tianjin 300300,China;
2. College of Computer Science and Technology,Civil Aviation University of China,Tianjin 300300,China;
3. College of Information,University of Arizona,AZ 8572 USA)
Abstract:To solve the problems that the existing software system abnormal status evaluation methods over depend on data labeling and pay less attention to the time dependence of time-series data,and then it is difficult to quantify the software system abnormal status. Thus,a software system abnormal status evaluation method based on the hybrid generative network is proposed. Firstly,by combining the long short-term memory network (LSTM)and the variational auto-encoder (VAE),an anomaly detection model based on LSTM-VAE hybrid generative network is designed. The features of the system time-series data are extracted by LSTM and its distribution is modeled by VAE.Then,the LSTM-VAE anomaly detection model detects the software system key feature parameters and obtains the anomaly metric value of system key feature parameters. Finally,the coupling degree method is used to optimize the linear weighted sum method. According to the weighted coupling degree method which is optimized,the software system abnormal status quantitative value is calculated,and the software system abnormal status is evaluated. The experimental results show that the proposed model has a better detection ability for the abnormal time-series data of the software system,and its system abnormal status evaluation result is more feasible and effective .
Key words :software system;status evaluation;long short-term memory network;variational auto-encoder;anomaly detection;coupling degree
軟件系統(tǒng)作為社會生產(chǎn)方式和信息化發(fā)展的成果之一,正朝著復(fù)雜化的方向不斷發(fā)展,系統(tǒng)一旦產(chǎn)生異常[1],將對軟件系統(tǒng)的安全穩(wěn)定運(yùn)行造成影響[2].為克服軟件系統(tǒng)異常解決方案中存在的盲目性和被動(dòng)性,需要對軟件系統(tǒng)進(jìn)行及時(shí)、有效的狀態(tài)評估.軟件系統(tǒng)異常狀態(tài)評估是從異常的角度對系統(tǒng)狀態(tài)進(jìn)行評估,分析異常事件對系統(tǒng)造成的危害程度,為制定科學(xué)合理的軟件系統(tǒng)安全保障方案提供客觀依據(jù)和基礎(chǔ)支持.
現(xiàn)有系統(tǒng)狀態(tài)評估方法主要包括基于數(shù)學(xué)模型、基于邏輯規(guī)則推理和基于神經(jīng)網(wǎng)絡(luò)的方法[3-5].基于數(shù)學(xué)模型的狀態(tài)評估方法通過對影響系統(tǒng)正常運(yùn)行的因素進(jìn)行分析,建立影響系統(tǒng)運(yùn)行因素與系統(tǒng)狀態(tài)之間的對應(yīng)關(guān)系.由于易受主觀因素影響且實(shí)時(shí)性較差,基于數(shù)學(xué)模型的評估方法的評估結(jié)果不夠理想,與實(shí)際情況偏差較大[6-7].基于邏輯規(guī)則推理的狀態(tài)評估方法根據(jù)先驗(yàn)知識構(gòu)建模型并使用邏輯規(guī)則推理方法對系統(tǒng)狀態(tài)進(jìn)行評估,憑借先驗(yàn)知識對狀態(tài)指標(biāo)設(shè)置閾值判斷系統(tǒng)狀態(tài),使得評估結(jié)果主觀性強(qiáng)[8-9].此外,由于軟件系統(tǒng)運(yùn)行過程中產(chǎn)生的狀態(tài)信息量較大,基于邏輯規(guī)則推理的狀態(tài)評估方法適應(yīng)性較差.與基于數(shù)學(xué)模型和基于邏輯規(guī)則推理的狀態(tài)評估方法相比,基于神經(jīng)網(wǎng)絡(luò)的狀態(tài)評估方法由于具有高效和易拓展等特點(diǎn)應(yīng)用更加廣泛,該類方法利用訓(xùn)練數(shù)據(jù)集對特定模型進(jìn)行訓(xùn)練后可以對系統(tǒng)狀態(tài)進(jìn)行分類,實(shí)現(xiàn)對系統(tǒng)狀態(tài)的評估[10-12],常用的方法包括AVE[13]、深度挖掘[14]、卷積神經(jīng)網(wǎng)絡(luò)[15]等.基于神經(jīng)網(wǎng)絡(luò)的狀態(tài)評估方法雖然對系統(tǒng)狀態(tài)的評估效果較好,但該類方法的通用性和可擴(kuò)展性較差,對系統(tǒng)狀態(tài)的量化分類效果不佳.
針對上述問題,本文提出一種基于混合生成網(wǎng)絡(luò)的軟件系統(tǒng)異常狀態(tài)評估方法.首先,通過對長短期記憶網(wǎng)絡(luò)(long short-term memory network,LSTM)和變分自動(dòng)編碼器(variational auto-encoder,VAE)的融合,設(shè)計(jì)一個(gè)LSTM-VAE混合生成網(wǎng)絡(luò),以此為基礎(chǔ)構(gòu)建一種基于LSTM-VAE混合生成網(wǎng)絡(luò)的系統(tǒng)異常狀態(tài)檢測模型.然后,采集系統(tǒng)關(guān)鍵特征參數(shù)數(shù)據(jù),利用建立的LSTM-VAE異常狀態(tài)檢測模型對關(guān)鍵特征參數(shù)進(jìn)行檢測并獲取其相應(yīng)的異常度量值.最后,利用耦合度方法[16]對線性加權(quán)和方法進(jìn)行優(yōu)化,根據(jù)優(yōu)化后得到的加權(quán)耦合度方法計(jì)算系統(tǒng)異常狀態(tài)的量化值,實(shí)現(xiàn)對軟件系統(tǒng)異常狀態(tài)的量化評估.
1軟件系統(tǒng)異常狀態(tài)評估方法
1.1方法設(shè)計(jì)
基于混合生成網(wǎng)絡(luò)的軟件系統(tǒng)異常狀態(tài)評估由基于長短期記憶網(wǎng)絡(luò)-變分自動(dòng)編碼器(LSTM- VAE)的系統(tǒng)異常狀態(tài)檢測模型(簡稱LSTM-VAE異常檢測模型)構(gòu)建和系統(tǒng)異常狀態(tài)評估兩部分組成,如圖1所示.LSTM-VAE異常檢測模型構(gòu)建為系統(tǒng)異常狀態(tài)評估提供系統(tǒng)異常狀態(tài)檢測模型、異常閾值和最大重構(gòu)誤差;系統(tǒng)異常狀態(tài)評估利用已構(gòu)建完成的異常檢測模型獲取系統(tǒng)關(guān)鍵特征參數(shù)的異常度量值,然后通過加權(quán)耦合度方法對系統(tǒng)異常狀態(tài)的量化值進(jìn)行計(jì)算,根據(jù)系統(tǒng)異常狀態(tài)的量化值實(shí)現(xiàn)軟件系統(tǒng)異常狀態(tài)評估.本文方法中兩個(gè)部分的處理過程設(shè)計(jì)如下:
1.1.1基于LSTM-VAE的系統(tǒng)異常狀態(tài)檢測模型構(gòu)建
首先,篩選出系統(tǒng)正常運(yùn)行時(shí)序的關(guān)鍵特征參數(shù)歷史時(shí)序數(shù)據(jù),輸入LSTM-VAE混合生成網(wǎng)絡(luò)中進(jìn)行訓(xùn)練,由訓(xùn)練完成后的LSTM-VAE混合生成網(wǎng)絡(luò)獲取系統(tǒng)正常運(yùn)行狀態(tài)下的關(guān)鍵特征參數(shù)時(shí)序數(shù)據(jù)的長短期依賴關(guān)系和分布形式.
然后,將含有異常標(biāo)注的關(guān)鍵特征參數(shù)的歷史時(shí)序數(shù)據(jù)輸入LSTM-VAE混合生成網(wǎng)絡(luò)中,獲取系統(tǒng)關(guān)鍵特征參數(shù)的重構(gòu)誤差,此時(shí)的重構(gòu)誤差表示關(guān)鍵特征參數(shù)偏離正常狀態(tài)數(shù)據(jù)的分布程度.
最后,利用標(biāo)注的異常信息與模型檢測結(jié)果統(tǒng)計(jì)模型準(zhǔn)確率與召回率,選擇準(zhǔn)確率等于召回率時(shí)的閾值為異常閾值,選擇重構(gòu)誤差中最大的數(shù)值為最大重構(gòu)誤差.其中,異常閾值為該關(guān)鍵特征參數(shù)偏離正常狀態(tài)下數(shù)據(jù)分布程度的下限,用于判斷系統(tǒng)關(guān)鍵特征參數(shù)是否異常,最大重構(gòu)誤差為關(guān)鍵特征參數(shù)偏離正常狀態(tài)下數(shù)據(jù)分布程度的上限.
1.1.2系統(tǒng)異常狀態(tài)評估
首先,采集系統(tǒng)關(guān)鍵特征參數(shù)的時(shí)序數(shù)據(jù),利用已構(gòu)建的LSTM-VAE異常檢測模型對采集到的系統(tǒng)關(guān)鍵特征參數(shù)時(shí)序數(shù)據(jù)進(jìn)行檢測,獲取系統(tǒng)各關(guān)鍵特征參數(shù)的異常度量值.
然后,依據(jù)AHP的權(quán)重評定原則,采用1-9標(biāo)度法[17]確定系統(tǒng)各關(guān)鍵特征參數(shù)的相對重要度,對系統(tǒng)各關(guān)鍵特征參數(shù)進(jìn)行權(quán)重賦值.
最后,利用加權(quán)耦合度方法計(jì)算系統(tǒng)異常狀態(tài)的量化值,實(shí)現(xiàn)軟件系統(tǒng)異常狀態(tài)評估.
1.2LSTM與GRU的對比分析
目前,采用門控機(jī)制的神經(jīng)網(wǎng)絡(luò)模型主要包括長短期記憶網(wǎng)絡(luò)(LSTM)和門控循環(huán)單元(gated recurrent unit,GRU),LSTM和GRU的特點(diǎn)對比如表1 所示.LSTM和GRU均是作為長、短期記憶的解決方案而提出的,兩者都具有稱為門的內(nèi)部機(jī)制.不同之處在于:LSTM具有3個(gè)門控單元,而GRU相比LSTM少了一個(gè)門控單元,故從計(jì)算角度來看,GRU結(jié)構(gòu)簡單,效率更高.但是在數(shù)據(jù)集較大的情況下,與GRU相比,LSTM具有更強(qiáng)的表征能力[18].
本文的研究是在數(shù)據(jù)集較大的場景下開展的,故選擇使用LSTM.雖然LSTM犧牲了部分時(shí)間及計(jì)算的簡便性,但LSTM對關(guān)鍵特征參數(shù)的表征能力更強(qiáng)也更靈活,對大數(shù)據(jù)環(huán)境的適應(yīng)性更好.
2基于混合生成網(wǎng)絡(luò)的系統(tǒng)異常狀態(tài)檢測模型
2.1變分自動(dòng)編碼器和長短期記憶網(wǎng)絡(luò)
LSTM通過記憶單元和門機(jī)制提取時(shí)序數(shù)據(jù)內(nèi)部的長短期依賴關(guān)系,其神經(jīng)元結(jié)構(gòu)如圖3所示. LSTM的遺忘門和輸入門控制單元Ct的輸入,輸出門控制單元Ct的輸出.其中,遺忘門和輸入門分別控制上一時(shí)刻的狀態(tài)Ct-1和當(dāng)前時(shí)刻的狀態(tài)C*t輸入記憶單元Ct中,輸出門控制當(dāng)前記憶單元Ct輸入當(dāng)前時(shí)刻的輸出ht中.
由上文分析可知,VAE和LSTM分別具有鮮明的特點(diǎn),如表2所示.VAE的訓(xùn)練無須大量標(biāo)注數(shù)據(jù)并且采樣過程具有隨機(jī)性,有助于提高模型的泛化能力.但是,VAE對系統(tǒng)時(shí)序數(shù)據(jù)的時(shí)序特征不敏感,無法獲取并表征系統(tǒng)時(shí)序數(shù)據(jù)內(nèi)部的長短期依賴關(guān)系.由于系統(tǒng)關(guān)鍵特征參數(shù)數(shù)據(jù)具備明顯的時(shí)序特征,LSTM可以通過遺忘門、輸入門和輸出門控制記憶單元的狀態(tài),使其能夠獲取并表征系統(tǒng)時(shí)序數(shù)據(jù)內(nèi)部的長短期依賴關(guān)系.
2.2基于LSTM-VAE的混合生成網(wǎng)絡(luò)設(shè)計(jì)
為解決現(xiàn)有異常檢測方法在訓(xùn)練過程中需要大量標(biāo)注數(shù)據(jù)和缺少對時(shí)序數(shù)據(jù)內(nèi)部長短期依賴關(guān)系關(guān)注的問題,本文將LSTM與VAE融合,設(shè)計(jì)一個(gè)LSTM-VAE網(wǎng)絡(luò)(圖4).在該網(wǎng)絡(luò)中,用LSTM神經(jīng)元對VAE的編碼層和解碼層中的神經(jīng)元進(jìn)行替換,即采用LSTM對輸入時(shí)序數(shù)據(jù)內(nèi)部的長短期依賴關(guān)系進(jìn)行提取,通過VAE的變分推理對系統(tǒng)時(shí)序數(shù)據(jù)的分布進(jìn)行建模.
與單一的LSTM或VAE相比,LSTM-VAE網(wǎng)絡(luò)可以對系統(tǒng)關(guān)鍵特征參數(shù)時(shí)序數(shù)據(jù)的長短期依賴關(guān)系進(jìn)行提取,無須大量標(biāo)注的關(guān)鍵特征參數(shù)數(shù)據(jù)訓(xùn)練模型,同時(shí)模型在隱變量學(xué)習(xí)過程中利用采樣的隨機(jī)性起到正則化作用,可以防止網(wǎng)絡(luò)過擬合,使得LSTM-VAE混合生成網(wǎng)絡(luò)在提取時(shí)序數(shù)據(jù)特征和提高模型泛化能力方面更具優(yōu)勢.
2.3基于混合生成網(wǎng)絡(luò)的系統(tǒng)異常狀態(tài)檢測模型構(gòu)建
以本文設(shè)計(jì)的LSTM-VAE混合生成網(wǎng)絡(luò)為基礎(chǔ),構(gòu)建一個(gè)系統(tǒng)異常狀態(tài)檢測模型.該異常檢測模型的構(gòu)建步驟設(shè)計(jì)如下.
輸入:系統(tǒng)關(guān)鍵特征參數(shù)的歷史時(shí)序數(shù)據(jù).
輸出:異常檢測模型.
步驟1:選取與系統(tǒng)狀態(tài)相關(guān)的關(guān)鍵特征參數(shù).
選擇系統(tǒng)CPU利用率、內(nèi)存利用率、磁盤利用率和網(wǎng)卡吞吐率等特征參數(shù)作為系統(tǒng)狀態(tài)異常檢測和評估系統(tǒng)異常狀態(tài)的關(guān)鍵特征參數(shù),獲取系統(tǒng)各關(guān)鍵特征參數(shù)的歷史時(shí)序數(shù)據(jù).
步驟2:系統(tǒng)關(guān)鍵特征參數(shù)預(yù)處理.
對系統(tǒng)關(guān)鍵特征參數(shù)進(jìn)行歸一化處理,抑制取值范圍差異對訓(xùn)練產(chǎn)生的負(fù)面影響,
x=(x*-xmin)/(xmax-xmin)(2)
式中:x表示經(jīng)過歸一化之后的關(guān)鍵特征參數(shù)值,x*表示初始關(guān)鍵特征參數(shù)值,xmax表示關(guān)鍵特征參數(shù)中的最大值,xmin表示關(guān)鍵特征參數(shù)中的最小值.
步驟3:數(shù)據(jù)集劃分.
將系統(tǒng)關(guān)鍵特征參數(shù)歷史時(shí)序數(shù)據(jù)劃分為訓(xùn)練集與測試集,訓(xùn)練集中不含異常標(biāo)簽的數(shù)據(jù),測試集中含有異常標(biāo)簽的數(shù)據(jù).
步驟4:模型訓(xùn)練.
利用訓(xùn)練集對LSTM-VAE混合生成網(wǎng)絡(luò)進(jìn)行訓(xùn)練.采取滑動(dòng)時(shí)間窗口法對關(guān)鍵特征參數(shù)的訓(xùn)練集序列進(jìn)行子序列提取,假設(shè)時(shí)間窗口長度為l,關(guān)鍵特征參數(shù)序列長度為L,則可以從中提取L-l+1個(gè)子序列.假設(shè){x x …,xl}為系統(tǒng)CPU利用率訓(xùn)練集中部分運(yùn)行數(shù)據(jù)序列片段,其中,xi為i時(shí)刻系統(tǒng)CPU利用率,l為序列片段長度,LSTM-VAE混合生成網(wǎng)絡(luò)對{x x …,xl}進(jìn)行網(wǎng)絡(luò)重構(gòu)后的輸出序列為{y y …,yl},采用均方根誤差函數(shù)計(jì)算得到輸入序列{x x …,xl}與重構(gòu)輸出序列{y y …,yl}之間的重構(gòu)誤差e
由混合生成網(wǎng)絡(luò)輸出的重構(gòu)誤差集合E為
Ecpu={e e …,em}(4)
式中:m=L-l+ m為CPU利用率訓(xùn)練集中數(shù)據(jù)序列片段個(gè)數(shù),L為CPU利用率訓(xùn)練集中數(shù)據(jù)序列長度,l為序列片段長度也即滑動(dòng)時(shí)間窗口長度.
同樣地,采用相同方法,得到系統(tǒng)的內(nèi)存利用率、磁盤利用率和網(wǎng)卡吞吐率等關(guān)鍵特征參數(shù)的重構(gòu)訓(xùn)練誤差集合.當(dāng)關(guān)鍵特征參數(shù)重構(gòu)訓(xùn)練誤差集合的所有重構(gòu)誤差均達(dá)到設(shè)定的精度要求或模型達(dá)到設(shè)定的迭代次數(shù)時(shí),結(jié)束訓(xùn)練.
步驟5:異常閾值選擇與最大重構(gòu)誤差.
將含有標(biāo)簽的系統(tǒng)各關(guān)鍵特征參數(shù)測試集輸入已訓(xùn)練完成的LSTM-VAE異常檢測模型中.{X X …,XL}為系統(tǒng)CPU利用率測試集中部分運(yùn)行數(shù)據(jù)序列片段,其對應(yīng)的標(biāo)注信息序列片段為{B B …,BL},其中,Xi為i時(shí)刻系統(tǒng)CPU利用率數(shù)值,Bi為測試集中對應(yīng)序列Xi的標(biāo)注信息(Bi=1表示i時(shí)刻該系統(tǒng)CPU利用率數(shù)值異常,Bi=0表示該時(shí)刻系統(tǒng)CPU利用率數(shù)值無異常),L為序列片段長度.
首先,將CPU利用率測試集數(shù)據(jù)輸入訓(xùn)練完成后的LSTM-VAE異常檢測模型中獲取相應(yīng)的重構(gòu)輸出序列,由公式(3)和公式(4)計(jì)算得到該關(guān)鍵特征參數(shù)測試集的重構(gòu)誤差集合Ecpu={e e …,em}.
然后,定義CPU利用率閾值ζ,將CPU利用率測試集重構(gòu)誤差集合Ecpu中第i個(gè)數(shù)據(jù)序列片段的重構(gòu)誤差ei與CPU利用率閾值ζ進(jìn)行比較,若ei<ζ,則表示異常檢測模型判定該序列片段無異常,用Ci=0表示;若ei≥ζ,則表示異常檢測模型判定該序列片段異常,用Ci=1表示.為評估模型性能,引入準(zhǔn)確率和召回率指標(biāo).
準(zhǔn)確率P :CPU利用率測試集中檢測為異常的序列片段中標(biāo)注為異常的序列片段的比例.
召回率R:CPU利用率測試集中標(biāo)注為異常的序列中檢測為異常的序列片段的比例.
最后,由準(zhǔn)確率P和召回率R的定義可知,準(zhǔn)確率P隨閾值ζ的增大而增大,召回率R隨閾值ζ增大而減小.當(dāng)準(zhǔn)確率P等于召回率R時(shí),模型性能最佳.因此,定義此時(shí)的閾值ζ為CPU利用率的異常閾值ζ*,其中,CPU利用率的異常閾值ζ*表示該關(guān)鍵特征參數(shù)偏離正常狀態(tài)下數(shù)據(jù)分布程度的下限.同時(shí),定義該關(guān)鍵特征參數(shù)的最大重構(gòu)誤差ecpu為
式中:ecpu為CPU利用率的最大重構(gòu)誤差,表示該關(guān)鍵特征參數(shù)偏離正常狀態(tài)下數(shù)據(jù)分布程度的上限.
同樣地,采用相同方法,得到系統(tǒng)的內(nèi)存利用率、磁盤利用率和網(wǎng)卡吞吐率等關(guān)鍵特征參數(shù)的異常閾值和最大重構(gòu)誤差.
3系統(tǒng)異常狀態(tài)評估
在完成LSTM-VAE異常檢測模型構(gòu)建并獲得系統(tǒng)各關(guān)鍵特征參數(shù)的異常閾值和最大重構(gòu)誤差后,將系統(tǒng)各關(guān)鍵特征參數(shù)的時(shí)序數(shù)據(jù)輸入LSTM-VAE 異常檢測模型中,獲取系統(tǒng)各關(guān)鍵特征參數(shù)的異常度量值.然后對系統(tǒng)各關(guān)鍵特征參數(shù)的權(quán)重進(jìn)行賦值.最后利用耦合度方法對線性加權(quán)和方法進(jìn)行優(yōu)化,通過加權(quán)耦合度優(yōu)化方法計(jì)算得到系統(tǒng)異常狀態(tài)值.
系統(tǒng)異常狀態(tài)評估部分的具體步驟設(shè)計(jì)如下:輸入:各關(guān)鍵特征參數(shù)的時(shí)序數(shù)據(jù).
輸出:系統(tǒng)異常狀態(tài)值.
步驟1:獲取各關(guān)鍵特征參數(shù)的異常度量值.
將系統(tǒng)關(guān)鍵特征參數(shù)時(shí)序數(shù)據(jù)輸入LSTM-VAE 異常檢測模型中,計(jì)算輸入序列與輸出序列之間的重構(gòu)誤差.當(dāng)重構(gòu)誤差小于異常閾值時(shí),重新獲取時(shí)序數(shù)據(jù)進(jìn)行異常檢測;否則,判斷該關(guān)鍵特征參數(shù)為異常.然后,基于已獲得的重構(gòu)誤差、異常閾值與最大重構(gòu)誤差,計(jì)算該關(guān)鍵特征參數(shù)的異常度量值
式中:Ii為系統(tǒng)第i個(gè)關(guān)鍵特征參數(shù)的異常度量值,ei為該關(guān)鍵特征參數(shù)此時(shí)的重構(gòu)誤差,ζ*i為系統(tǒng)第i個(gè)關(guān)鍵特征參數(shù)的異常閾值,emax為系統(tǒng)第i個(gè)關(guān)鍵特征參數(shù)的最大重構(gòu)誤差.
步驟2:各關(guān)鍵特征參數(shù)權(quán)重賦值.
依據(jù)AHP的權(quán)重評定原則,采用1-9標(biāo)度法確定系統(tǒng)各關(guān)鍵特征參數(shù)的相對重要度,構(gòu)造決策矩陣M=(mij)n×n,決策矩陣M為
式中:n為系統(tǒng)關(guān)鍵特征參數(shù)的個(gè)數(shù),元素mij表示第i個(gè)關(guān)鍵特征參數(shù)與第j個(gè)關(guān)鍵特征參數(shù)的重要程度之比,當(dāng)i=j時(shí),mij=1.
計(jì)算決策矩陣M的最大特征根λmax及其特征向量W=(w w2…,wn),
最大特征值λmax對應(yīng)的特征向量W即為各關(guān)鍵特征參數(shù)的權(quán)重集合(w w2…,wn).
步驟3:改進(jìn)加權(quán)耦合度方法計(jì)算系統(tǒng)異常狀態(tài)值.
線性加權(quán)和方法僅強(qiáng)調(diào)變量之間的獨(dú)立性,不考慮變量間數(shù)值差異與相互作用問題,耦合度方法常用于表示變量間數(shù)值差異與相互作用.軟件系統(tǒng)作為一個(gè)整體,其不同組件及關(guān)鍵特征參數(shù)之間的相互作用可能影響系統(tǒng)的正常運(yùn)行.忽略不同組件及關(guān)鍵特征參數(shù)之間的差異和相互作用將導(dǎo)致系統(tǒng)狀態(tài)評估時(shí)結(jié)果出現(xiàn)較大的差異.因此,本文在線性加權(quán)和方法的基礎(chǔ)上融入耦合度方法計(jì)算系統(tǒng)異常狀態(tài)值,即在量化系統(tǒng)異常狀態(tài)時(shí)關(guān)注不同關(guān)鍵特征參數(shù)異常度量值間的差異給量化結(jié)果帶來的影響.
首先,基于步驟1獲取的系統(tǒng)各關(guān)鍵特征參數(shù)的異常度量值Ii,計(jì)算系統(tǒng)耦合度H
然后,利用系統(tǒng)各關(guān)鍵特征參數(shù)權(quán)重wi和系統(tǒng)各關(guān)鍵特征參數(shù)的異常度量值Ii,計(jì)算系統(tǒng)關(guān)鍵特征參數(shù)異常度量值的線性加權(quán)和S
最后,基于系統(tǒng)耦合度H和系統(tǒng)關(guān)鍵特征參數(shù)異常度量值的線性加權(quán)和S,計(jì)算系統(tǒng)異常狀態(tài)值Sa
Sa=SH(13)
其中,系統(tǒng)耦合度H與系統(tǒng)關(guān)鍵特征參數(shù)異常度量值的線性加權(quán)和S的值均在[0,1]范圍內(nèi).
根據(jù)指數(shù)函數(shù)的定義可知,式(13)在[0,1]范圍內(nèi)為單調(diào)遞減函數(shù),在S 一定的條件下,H越小,則Sa越大;同樣地,在H一定的條件下,S越大,則Sa越大.因此,根據(jù)該方法計(jì)算得到的系統(tǒng)異常狀態(tài)量化結(jié)果符合本文的評估思路,即在計(jì)算系統(tǒng)異常狀態(tài)值時(shí)關(guān)注不同特征參數(shù)的異常度量值之間的差異對評估結(jié)果造成的影響.
4實(shí)驗(yàn)與結(jié)果分析
4.1實(shí)驗(yàn)數(shù)據(jù)
實(shí)驗(yàn)數(shù)據(jù)集采用百度公司聯(lián)合清華大學(xué)公開的運(yùn)維數(shù)據(jù)集,選擇其中的CPU利用率、內(nèi)存利用率、磁盤利用率與網(wǎng)卡吞吐率這四項(xiàng)關(guān)鍵特征參數(shù)進(jìn)行異常檢測驗(yàn)證實(shí)驗(yàn).數(shù)據(jù)集中每個(gè)關(guān)鍵特征參數(shù)均包含連續(xù)4周的數(shù)據(jù),時(shí)間間隔為5 min.在實(shí)驗(yàn)中,將各關(guān)鍵特征參數(shù)的前三周數(shù)據(jù)劃分為訓(xùn)練集,將最后一周數(shù)據(jù)劃分為測試集,其中,訓(xùn)練集中數(shù)據(jù)均為系統(tǒng)正常運(yùn)行時(shí)序數(shù)據(jù)且無異常數(shù)據(jù),測試集中含有異常數(shù)據(jù)且異常數(shù)據(jù)已經(jīng)標(biāo)注.部分關(guān)鍵特征參數(shù)的數(shù)據(jù)格式如表3所示.
4.2LSTM-VAE混合生成網(wǎng)絡(luò)配置及模型訓(xùn)練
LSTM-VAE混合生成網(wǎng)絡(luò)由LSTM和VAE構(gòu)成,輸入向量維數(shù)等于輸出向量維數(shù),具體網(wǎng)絡(luò)的配置如表4所示.
在訓(xùn)練過程中,各關(guān)鍵特征參數(shù)的訓(xùn)練誤差與迭代次數(shù)關(guān)系如圖5所示.由圖5可見,各關(guān)鍵特征參數(shù)的訓(xùn)練誤差隨著迭代次數(shù)的增加而迅速減小.其中,各關(guān)鍵特征參數(shù)的誤差曲線在經(jīng)過35次迭代后趨于平穩(wěn),表明模型達(dá)到較好的收斂效果,能夠?qū)ο到y(tǒng)正常的關(guān)鍵特征參數(shù)時(shí)序數(shù)據(jù)的長短期依賴關(guān)系和數(shù)據(jù)分布形式進(jìn)行學(xué)習(xí)并實(shí)現(xiàn)數(shù)據(jù)重構(gòu).
4.3異常閾值選擇與評估效果
在實(shí)驗(yàn)中,通過遍歷所有的可取閾值,確定異常閾值.可取閾值范圍為0到該關(guān)鍵特征參數(shù)的最大重構(gòu)誤差.設(shè)置初始閾值為0,若關(guān)鍵特征參數(shù)的重構(gòu)誤差大于0,將其視為異常;否則,首先計(jì)算閾值為0時(shí)的準(zhǔn)確率和召回率,然后增加閾值并計(jì)算對應(yīng)的準(zhǔn)確率和召回率,當(dāng)閾值設(shè)置為該關(guān)鍵特征參數(shù)的最大重構(gòu)誤差時(shí)結(jié)束.利用訓(xùn)練完成后的LSTM- VAE 異常檢測模型對系統(tǒng)各關(guān)鍵特征參數(shù)的測試集進(jìn)行異常檢測,得到相應(yīng)的閾值與準(zhǔn)確率、召回率的變化關(guān)系,如圖6所示.
由圖6可見,當(dāng)CPU利用率的異常閾值為0.102 時(shí),CPU利用率的準(zhǔn)確率與召回率相等,因此選擇CPU利用率的異常閾值為0.102;當(dāng)內(nèi)存利用率的異常閾值為0.088時(shí),內(nèi)存利用率的準(zhǔn)確率與召回率相等,因此選擇內(nèi)存利用率的異常閾值為0.088;當(dāng)磁盤利用率的異常閾值為0.190時(shí),磁盤利用率的準(zhǔn)確率與召回率相等,因此選擇磁盤利用率的異常閾值為0.190;當(dāng)網(wǎng)卡吞吐率的異常閾值為0.122時(shí),網(wǎng)卡吞吐率的準(zhǔn)確率與召回率相等,因此選擇網(wǎng)卡吞吐率的異常閾值為0.122.
基于系統(tǒng)各關(guān)鍵特征參數(shù)測試集,計(jì)算得到各關(guān)鍵特征參數(shù)對應(yīng)的最大重構(gòu)誤差,結(jié)果如表5 所示.
為評價(jià)本文異常檢測模型的效果,分別采用VAE、AE、LSTM-AE禾口LSTM-VAE網(wǎng)絡(luò)得到不同關(guān)鍵特征參數(shù)評估的F1-score值,F(xiàn)1-score=(2×P×R)/(P+R).各模型的F1-score值如表6所示.
由表6可見,針對測試集中的CPU利用率、內(nèi)存利用率、磁盤利用率和網(wǎng)卡吞吐率4個(gè)關(guān)鍵特征參數(shù)測試數(shù)據(jù),LSTM-VAE網(wǎng)絡(luò)模型的F1-score值均優(yōu)于其他模型.與VAE、AE模型相比,LSTM-VAE模型利用LSTM神經(jīng)網(wǎng)絡(luò)的時(shí)序特征提取能力,能夠有效挖掘關(guān)鍵特征參數(shù)時(shí)序數(shù)據(jù)內(nèi)部的長短期依賴關(guān)系,顯著提升異常檢測精度;同時(shí),LSTM-VAE網(wǎng)絡(luò)可以利用VAE的隱變量空間,減少LSTM-AE網(wǎng)絡(luò)中神經(jīng)網(wǎng)絡(luò)的過擬合對異常檢測效果的影響,也有助于提升異常檢測效果.
4.4滑動(dòng)時(shí)間窗口長度確定
由于滑動(dòng)時(shí)間窗口長度L的取值會影響LSTM- VAE 模型的異常檢測效果,為了驗(yàn)證滑動(dòng)時(shí)間窗口長度對LSTM-VAE模型的異常檢測效果的影響并確定最佳的滑動(dòng)時(shí)間窗口長度值,有必要進(jìn)行滑動(dòng)時(shí)間窗口長度影響實(shí)驗(yàn).
在實(shí)驗(yàn)中,選取不同窗口長度L的值并計(jì)算其對應(yīng)的F 1-score值,選擇窗口長度值從長度4到20 依次增加2個(gè)單位長度進(jìn)行實(shí)驗(yàn).選擇最高F 1-score 值所對應(yīng)的窗口長度作為LSTM-VAE模型的滑動(dòng)時(shí)間窗口長度L的值,不同滑動(dòng)時(shí)間窗口長度L與對應(yīng)的F 1-score值如圖7所示.
由圖7可見,當(dāng)滑動(dòng)時(shí)間窗口長度L為12時(shí),LSTM-VAE模型對各關(guān)鍵特征參數(shù)測試數(shù)據(jù)的F1-score值均大于其他滑動(dòng)時(shí)間窗口長度對應(yīng)的Flscore值,表明滑動(dòng)時(shí)間窗口長度為12時(shí),LSTM- VAE模型對系統(tǒng)狀態(tài)的異常檢測效果最佳,所以,在LSTM-VAE模型中,將滑動(dòng)時(shí)間窗口長度L的值設(shè)定為12.
4.5異常狀態(tài)評估
4.5.1關(guān)鍵特征參數(shù)異常度量值與關(guān)鍵特征參數(shù)賦權(quán)
在確定系統(tǒng)各關(guān)鍵特征參數(shù)的異常閾值和最大重構(gòu)誤差后,為保證實(shí)驗(yàn)結(jié)果具有可比性,選取10 組關(guān)鍵特征參數(shù)異常時(shí)序數(shù)據(jù)組成測試集,用本文模型的方法對該數(shù)據(jù)集進(jìn)行檢測并計(jì)算關(guān)鍵特征參數(shù)的重構(gòu)誤差,由公式(7)計(jì)算測試集中關(guān)鍵特征參數(shù)的異常度量值,由公式(11)計(jì)算各測試集的系統(tǒng)耦合度,測試集中各關(guān)鍵特征參數(shù)的異常度量值如圖8所示,測試集中各關(guān)鍵特征參數(shù)的系統(tǒng)耦合度如圖9所示.
采用加權(quán)耦合度方法計(jì)算系統(tǒng)異常狀態(tài)值時(shí),需要對系統(tǒng)各關(guān)鍵特征參數(shù)進(jìn)行賦權(quán).利用AHP方法對系統(tǒng)關(guān)鍵特征參數(shù)進(jìn)行主觀賦權(quán),根據(jù)AHP權(quán)重評定原則,采用1-9標(biāo)度法確定系統(tǒng)各關(guān)鍵特征參數(shù)的相對重要度,建立決策矩陣如表7所示.
計(jì)算得到?jīng)Q策矩陣的最大特征根及其對應(yīng)的特征向量,如表8所示.
由表8可見,CPU利用率權(quán)重為0.443 5,內(nèi)存利用率權(quán)重為0.312 ?磁盤利用率權(quán)重為0.122 ?網(wǎng)卡吞吐率權(quán)重為0.122 2.
4.5.2系統(tǒng)異常狀態(tài)評估
由4.5.1節(jié)的實(shí)驗(yàn)過程得到測試集中各關(guān)鍵特征參數(shù)的異常度量值、各測試集的系統(tǒng)耦合度和相應(yīng)的關(guān)鍵特征參數(shù)權(quán)重,由公式(13)計(jì)算各測試集的系統(tǒng)關(guān)鍵特征參數(shù)異常狀態(tài)值.在系統(tǒng)異常狀態(tài)評估階段,使用線性加權(quán)和方法、TOPSIS方法和本文方法計(jì)算得到系統(tǒng)的異常狀態(tài)結(jié)果,如圖10所示.
由圖10可見,在測試集4、5和7中,與線性加權(quán)和方法和TOPSIS方法得到的異常狀態(tài)值相比,本文方法得到的異常狀態(tài)值差異較為明顯.同時(shí)由圖8 可見,在測試集4、5和7中,多個(gè)特征參數(shù)的異常度量值較高,且不同特征參數(shù)的異常度量值之間差異較大.同時(shí)由圖9可見,與其他測試集的系統(tǒng)耦合度值相比,測試集4、5和7的系統(tǒng)耦合度值較小,在系統(tǒng)特征參數(shù)異常度量值的線性加權(quán)和一定的條件下,耦合度值越小的測試集,其系統(tǒng)異常狀態(tài)值越大.因此,與其他方法計(jì)算得到的異常狀態(tài)值相比,本文方法計(jì)算得到的測試集4、5和7的異常狀態(tài)值差異較為明顯.
同樣地,在測試集3、6和10中,與線性加權(quán)和方法和TOPSIS方法得到的異常狀態(tài)值相比,本文方法得到的異常狀態(tài)值差異較小.同時(shí)由圖8可見,在測試集3、6和10中,其總體特征參數(shù)的異常度量值較低,且不同特征參數(shù)的異常度量值之間差異較小.同時(shí)由圖9可見,與其他測試集的系統(tǒng)耦合度值相比,測試集3、6和10的系統(tǒng)耦合度值較大,在系統(tǒng)特征參數(shù)異常度量值的線性加權(quán)和一定的條件下,耦合度越大的測試集,其系統(tǒng)異常狀態(tài)值越接近特征參數(shù)異常度量值的線性加權(quán)和.因此,與其他方法計(jì)算得到的異常狀態(tài)值相比,本文方法計(jì)算得到的測試集3、6和10的異常狀態(tài)值差異較小.
上述結(jié)果的原因在于,本文方法在計(jì)算系統(tǒng)異常狀態(tài)值時(shí)考慮了系統(tǒng)耦合度因素.由于耦合度能夠反映系統(tǒng)各關(guān)鍵特征參數(shù)異常度量值間的差異,但不能反映系統(tǒng)異常狀態(tài)值大小,因此本文方法在計(jì)算系統(tǒng)異常狀態(tài)值時(shí),在線性加權(quán)和的基礎(chǔ)上融入耦合度因素,即在計(jì)算系統(tǒng)異常狀態(tài)值時(shí)能夠關(guān)注不同關(guān)鍵特征參數(shù)異常度量值之間的差異,故本文方法得到的結(jié)果更為合理.
5結(jié)論
針對現(xiàn)有軟件系統(tǒng)異常狀態(tài)評估方法過度依賴數(shù)據(jù)標(biāo)注、對時(shí)序數(shù)據(jù)的時(shí)間依賴性關(guān)注較低和系統(tǒng)異常狀態(tài)難以量化等問題,本文提出一種基于混合生成網(wǎng)絡(luò)的軟件系統(tǒng)異常狀態(tài)評估方法.首先,針對異常檢測方法過度依賴數(shù)據(jù)標(biāo)注和對時(shí)序數(shù)據(jù)的時(shí)間依賴性關(guān)注較低等問題,設(shè)計(jì)一種基于LSTM- VAE 混合生成網(wǎng)絡(luò)的異常檢測模型,解決異常檢測模型應(yīng)用場景受限和準(zhǔn)確率較低的問題.然后,利用LSTM-VAE異常檢測模型對系統(tǒng)關(guān)鍵特征參數(shù)進(jìn)行檢測并對其異常度量值進(jìn)行計(jì)算,為后續(xù)系統(tǒng)異常狀態(tài)評估提供可靠的數(shù)據(jù)支撐.最后,通過加權(quán)耦合度優(yōu)化方法計(jì)算系統(tǒng)異常狀態(tài)值,解決傳統(tǒng)軟件系統(tǒng)狀態(tài)評估方法難以對系統(tǒng)異常狀態(tài)進(jìn)行量化的問題.實(shí)驗(yàn)結(jié)果表明,本文方法對系統(tǒng)異常時(shí)序數(shù)據(jù)的時(shí)間特征更為敏感,評估結(jié)果也更為合理、有效.
由于本文在系統(tǒng)關(guān)鍵特征參數(shù)權(quán)重賦值過程中存在一定的主觀因素,可能導(dǎo)致軟件系統(tǒng)異常狀態(tài)的評估結(jié)果隨評估主體的不同而改變,下一步將重點(diǎn)研究采用主客觀相互結(jié)合119」的賦權(quán)方法以減少主觀因素對軟件系統(tǒng)異常狀態(tài)評估的影響.
參考文獻(xiàn)
[1] HUCH F,GOLAGHA M,PETROVSKA A,et al. Machine learning-based run-time anomaly detection in software systems:an industrial evaluation [C]//2018 IEEE Workshop on Machine Learning Techniques for Software Quality Evaluation (MaL-TeSQuE).2018:13-18.
[2] CHEN H Y,TU S S,ZHAO C Y,et al. Provenance cloud security auditing system based on log analysis [C]//2016 IEEE International Conference of Online Analysis and Computing Science (ICOACS).2016:155-159.
[3] HE J L,SHI Z K. Performance evaluation and information systems based on software requirements analysis—A case study of China[C]//2010 6th International Conference on Advanced Information Management and Service (IMS). IEEE,2010:122-126.
[4] YIN L,ZHU B. Study on supply chain information systems performance evaluation based on fuzzy AHP [C]//2010 International Conference on Information,Networking and Automation(ICINA). IEEE,2010:223-226.
[5] BROWN A,TUOR A,HUTCHINSON B,et al.Recurrent neural network attention mechanisms for interpretable system log anomaly detection[C]//Proceedings of the First Workshop on Machine Learning for Computing Systems. New York :ACM,2018 :1-8.
[6]JIA Y Y,WUH Y,JIANG D X. A hierarchical framework of security situation assessment for information system [ C ]〃2015 International Conference on Cyber-Enabled Distributed Computing and Knowledge Discovery.2015 :23-28.
[7]WANG DQ,LU YM,GAN J F. An information security evaluation method based on entropy theory and improved TOPSIS [C]//2017 IEEE Second International Conference on Data Science in Cyberspace(DSC).2017:595-600.
[8]楊卓群,金芝.面向環(huán)境與需求不確定性的系統(tǒng)自適應(yīng)決策[J].計(jì)算機(jī)研究與發(fā)展,2018,55(5):1014-1033.
YANG Z Q,JIN Z. Self-adaptive decision making under uncertainty in environment and requirements [J] . Journal of Computer Research and Development,2018,55(5):1014-1033 .(In Chinese)
[9]ALRAJEH D,KRAMER J,RUSSO A,et al. Learning operational requirements from goal models [C]//2009 IEEE 31st International Conference on Software Engineering. Vancouver,BC,Canada:IEEE,2009:265-275.
[10] 丁小歐,于晟健,王沐賢,等.基于相關(guān)性分析的工業(yè)時(shí)序數(shù)據(jù)異常檢測[J].軟件學(xué)報(bào),2020,31 (3):726-747.
DING X O,YU S J,WANG M X,et al.Anomaly detection on industrial time series based on correlation analysis[J].Journal of Software,2020,31(3):726-747.(In Chinese)
[11]楊宏宇,王峰巖.基于無監(jiān)督多源數(shù)據(jù)特征解析的網(wǎng)絡(luò)威脅態(tài)勢評估[J].通信學(xué)報(bào),2020,41(2):143-154.
YANG H Y,WANG F Y.Network threat situation assessment based on unsupervised multi-source data feature analysis[J].Journal onCommunications,2020,41(2):143-154.(In Chinese)[ 12] KUMARAGE T,RANATHUNGA S,KURUPPU C,et al.Generative adversarial networks(GAN)based anomaly detection in industrial software systems[ C]//2019 Moratuwa Engineering Research Conference (MERCon). Moratuwa,Sri Lanka:IEEE,2019:43-48.
[13]張圣林,林瀟霏,孫永謙,等.基于深度學(xué)習(xí)的無監(jiān)督KPI異常檢測[J].數(shù)據(jù)與計(jì)算發(fā)展前沿,2020,2(3):87-100.
ZHANG S L,LIN X F,SUN Y Q,et al. Research on unsupervised KPI anomaly detection based on deep learning[J].Frontiers of Data & Computing,2020,2(3):87-100.(In Chinese)
[14] DU M,LI F F,ZHENG G N,et al DeepLog:anomaly detection and diagnosis from system logs through deep learning[C]//Proceedings of the 2017 ACM SIGSAC Conference on Computer and Communications Security New York:ACM,2017:1285-1298.
[15] LU S Y,WEI X,LI Y D,et al Detecting anomaly in big data system logs using convolutional neural network[C]//2018 IEEE 16th Intl Conference on Dependable,Autonomic and Secure Computing . Athens,Greece:IEEE,2018:151-158.
[16] LIU Y P,LEI S,LIU W Research on coupling degree model and application of IT resources and IT application capabilities[C]//The 26 th Chinese Control and Decision Conference (2014 CCDC)Changsha:IEEE,2014:140-144
[17]姚遠(yuǎn),潘傳幸,張錚,等.多樣化軟件系統(tǒng)量化評估方法[J].通信學(xué)報(bào),2020,41(3):120-125
YAO Y,PAN C X,ZHANG Z,et al Method of quantitative assessment for diversified software system[J] Journal on Communications,2020,41(3):120-125 (In Chinese)
[18] YANG S D,YU X Y,ZHOU Y LSTM and GRU neural network performance comparison study :taking yelp review dataset as an ex- ample[C]//2020 International Workshop on Electronic Communication and Artificial Intelligence(IWECAI). Shanghai:IEEE,2020:98-101
[19] WANG B H,ZHANG S . A subjective and objective integration approach of determining weights for trustworthy measurement[J] IEEE Access,2018,6:25829-25835
湖南大學(xué)學(xué)報(bào)·自然科學(xué)版2022年4期