陳 倩,戴躍偉,劉光杰
(南京信息工程大學(xué)電子與信息工程學(xué)院, 南京 210044)
隨著互聯(lián)網(wǎng)的快速發(fā)展,網(wǎng)絡(luò)服務(wù)的單一節(jié)點(diǎn)技術(shù)日益復(fù)雜,系統(tǒng)規(guī)模逐漸擴(kuò)張,使得網(wǎng)絡(luò)服務(wù)系統(tǒng)的運(yùn)維更加困難。面對(duì)監(jiān)控?cái)?shù)據(jù)量龐大、指標(biāo)類別繁多的運(yùn)維場(chǎng)景,智能運(yùn)維(artificial intelligence for IT operations,AIOps)[1]將人工智能與傳統(tǒng)運(yùn)維相結(jié)合,形成了全新的技術(shù)領(lǐng)域。為保證網(wǎng)絡(luò)服務(wù)系統(tǒng)的安全,需實(shí)時(shí)監(jiān)控大量關(guān)鍵性能指標(biāo)(key performance indicator,KPI)以了解各系統(tǒng)組件的運(yùn)行狀態(tài)。其中,關(guān)鍵性能指標(biāo)的異常檢測(cè)是智能運(yùn)維技術(shù)的研究熱點(diǎn),通過各類異常檢測(cè)方法對(duì)復(fù)雜KPI時(shí)序數(shù)據(jù)進(jìn)行有效的數(shù)據(jù)挖掘分析,能夠快速發(fā)現(xiàn)異常,從而達(dá)到規(guī)避故障,及時(shí)止損的目的。
目前,KPI異常檢測(cè)方法主要分為基于統(tǒng)計(jì)預(yù)測(cè)的檢測(cè)方法和基于機(jī)器學(xué)習(xí)的檢測(cè)方法?;诮y(tǒng)計(jì)預(yù)測(cè)的KPI異常檢測(cè)方法假設(shè)KPI序列服從某種概率分布,為每條KPI選擇合適的模型,根據(jù)分布的不同來判斷是否有異常。文獻(xiàn)[2]提出了一種基于自回歸移動(dòng)平均模型(autoregressive moving average mode,ARIMA)的異常檢測(cè)方法,用于檢測(cè)網(wǎng)絡(luò)服務(wù)中可能發(fā)生的故障。通過ARIMA模型預(yù)測(cè)KPI指標(biāo)的未來趨勢(shì),并對(duì)明顯超出實(shí)際值的指標(biāo)進(jìn)行異常報(bào)警。包括上述方法在內(nèi)的基于統(tǒng)計(jì)預(yù)測(cè)的方法需對(duì)KPI預(yù)先假設(shè),且無法學(xué)習(xí)非線性關(guān)系,容易產(chǎn)生大量的誤報(bào)。
隨著課程改革的深入,我六年的小學(xué)語文已經(jīng)“畢業(yè)”,2008年汶川大地震后的教育重建,讓我更加關(guān)注“人”,從發(fā)展兒童的角度,將閱讀的主要精力轉(zhuǎn)向教育學(xué)、心理學(xué)特別是腦科學(xué)等領(lǐng)域,下面我僅舉閱讀教育學(xué)的例子。
基于機(jī)器學(xué)習(xí)的KPI異常檢測(cè)方法又分為有監(jiān)督機(jī)器學(xué)習(xí)方法和無監(jiān)督機(jī)器學(xué)習(xí)方法。通過有監(jiān)督的機(jī)器學(xué)習(xí)方法在一定程度上能夠提升對(duì)KPI異常檢測(cè)的建模階次。文獻(xiàn)[3]提出了一種自動(dòng)異常檢測(cè)框架EGADS,該框架使用多個(gè)傳統(tǒng)異常檢測(cè)模型對(duì)KPI進(jìn)行特征提取并使用標(biāo)簽訓(xùn)練異常分類器判斷異常,取得了較為理想的效果。文獻(xiàn)[4]提出了一種基于隨機(jī)森林算法的異常檢測(cè)系統(tǒng)Opprentice,用工具對(duì)KPI進(jìn)行標(biāo)注并使用不同的檢測(cè)器衡量指標(biāo)的異常程度。包括上述方法在內(nèi)的有監(jiān)督學(xué)習(xí)方法,在模型適應(yīng)性方面仍存在不足,需對(duì)具體場(chǎng)景針對(duì)性訓(xùn)練,不可避免的需要高成本的人工標(biāo)注來構(gòu)造訓(xùn)練數(shù)據(jù)集?;跓o監(jiān)督的機(jī)器學(xué)習(xí)方法可以在沒有人工標(biāo)注的數(shù)據(jù)上進(jìn)行模型訓(xùn)練。文獻(xiàn)[5]提出了一種基于時(shí)間序列聚類的方法,首先提取每類KPI序列的基線,采用SBD算法作為距離度量,并根據(jù)基線的相似性利用DBSCAN算法將KPI聚類,接著為每個(gè)簇訓(xùn)練異常檢測(cè)模型。文獻(xiàn)[6]使用PCA(principal components analysis)對(duì)序列進(jìn)行特征提取,并基于One-Class SVM(support vector machine)算法進(jìn)行聚類分析和無監(jiān)督的訓(xùn)練,實(shí)現(xiàn)了KPI序列的異常檢測(cè)?;跈C(jī)器學(xué)習(xí)的聚類方法能夠?qū)^小的KPI訓(xùn)練數(shù)據(jù)集進(jìn)行較為快速的收斂,但是所訓(xùn)練的模型保守型較強(qiáng),對(duì)于數(shù)量龐大的KPI訓(xùn)練集無法保證聚類收斂,難以取得較好的檢測(cè)結(jié)果。
近年來,深度學(xué)習(xí)在KPI異常檢測(cè)領(lǐng)域得到了廣泛應(yīng)用。作為深度生成模型之一的變分自編碼器(variational auto-encoder,VAE)是當(dāng)前深度生成模型極具競(jìng)爭(zhēng)力的研究方向。An等[7]在2015年證明了變分自編碼器在無監(jiān)督異常檢測(cè)中的可行性,之后變分自編碼器在網(wǎng)絡(luò)入侵檢測(cè)等領(lǐng)域得到了成功應(yīng)用。文獻(xiàn)[8]提出了一種基于變分自編碼器的無監(jiān)督異常檢測(cè)模型donut,編碼器提取KPI序列中有代表性的特征,解碼器根據(jù)特征重構(gòu)序列,計(jì)算重構(gòu)序列與原始序列的誤差判斷序列中的異常,該模型充分利用了深度生成模型對(duì)KPI序列深層次特征的表征能力。但是KPI作為一種時(shí)間序列數(shù)據(jù),僅用變分自編碼器進(jìn)行異常檢測(cè)無法較好體現(xiàn)時(shí)間相關(guān)的隱含特征。
針對(duì)現(xiàn)有方法對(duì)KPI檢測(cè)不精確,難以提取數(shù)據(jù)中的有效特征,且未充分考慮KPI的時(shí)間相關(guān)性的問題,提出了一種基于變分自編碼器和門控循環(huán)單元網(wǎng)絡(luò)的KPI異常檢測(cè)方法。利用變分自編碼器能夠提取KPI深層次特征的能力結(jié)合門控循環(huán)單元網(wǎng)絡(luò)復(fù)雜度小、學(xué)習(xí)能力快和能夠更好的處理時(shí)序數(shù)據(jù)的優(yōu)勢(shì),實(shí)現(xiàn)了對(duì)運(yùn)維中關(guān)鍵性能指標(biāo)的精確檢測(cè)。
1.1.1KPI基本概念
配電網(wǎng)自動(dòng)化系統(tǒng)提升可感知性主要指充分利用配電網(wǎng)自動(dòng)化技術(shù)運(yùn)用功能設(shè)計(jì)過程中,保障自動(dòng)化系統(tǒng)在運(yùn)行過程中操作便利,并可提供精確的供電信息,系統(tǒng)能較快地被感知及維護(hù),及時(shí)規(guī)避應(yīng)用中的隱藏性漏洞,進(jìn)而全面增強(qiáng)自動(dòng)化系統(tǒng)的應(yīng)用效率。
為確保服務(wù)質(zhì)量和可靠性,需持續(xù)監(jiān)控KPI以了解服務(wù)器或應(yīng)用程序的運(yùn)行狀態(tài)。KPI是一種由(時(shí)間戳,值)鍵值對(duì)組成的時(shí)間序列,形式上可以表示為X={x1,x2,…,xn},xi是對(duì)應(yīng)于時(shí)間戳T={1,2,…,n}中第i個(gè)時(shí)間戳的值。KPI包括頁面訪問流量、在線用戶數(shù)、設(shè)備內(nèi)存利用率和網(wǎng)頁響應(yīng)時(shí)間等,可以從簡(jiǎn)單網(wǎng)絡(luò)管理協(xié)議(SNMP)、系統(tǒng)日志、網(wǎng)絡(luò)跟蹤、網(wǎng)絡(luò)訪問日志和其他數(shù)據(jù)源獲得。與傳統(tǒng)的時(shí)間序列相比,KPI包含的信息量更大,可以反映更多應(yīng)用與服務(wù)的變化。
1.1.2KPI異常檢測(cè)基本概念
隨著公司規(guī)模的擴(kuò)大,對(duì)技術(shù)人才、硬件設(shè)備、項(xiàng)目費(fèi)用及周轉(zhuǎn)資金的需求會(huì)越來越高,在這方面會(huì)有較大的投資。
對(duì)于八達(dá)嶺老虎致害案件,我將從中華人民共和國(guó)侵權(quán)責(zé)任法角度來對(duì)于動(dòng)物園在此案件中的責(zé)任判定問題進(jìn)行論述。
Eqφ(z|x)[logpθ(x|z)]-
DKL[qφ(z|x)‖pθ(z)]=
以VAE為基礎(chǔ)設(shè)計(jì)了一個(gè)VAE-GRU的KPI異常檢測(cè)模型,引入變分自編碼器和門控循環(huán)單元網(wǎng)絡(luò),變分自編碼器充分考慮到KPI序列的隱藏特征,門控循環(huán)單元網(wǎng)絡(luò)利用提取到的特征進(jìn)行時(shí)序數(shù)據(jù)的預(yù)測(cè)。該模型使深度生成模型較強(qiáng)的表征學(xué)習(xí)能力和門控循環(huán)單元網(wǎng)絡(luò)的時(shí)序建模能力相結(jié)合,把KPI異常檢測(cè)問題轉(zhuǎn)化為一個(gè)無監(jiān)督學(xué)習(xí)問題。本文模型的整體框架如圖1所示。
圖1 基于VAE-GRU的異常檢測(cè)方法架構(gòu)
重置門:rt=sigmoid(Wr·[ht-1,xt])
圖2 KPI異常檢測(cè)流程框圖
為了避免KPI指標(biāo)數(shù)據(jù)中不同值之間的明顯差異對(duì)實(shí)驗(yàn)結(jié)果造成影響,訓(xùn)練之前應(yīng)該先對(duì)原始數(shù)據(jù)進(jìn)行標(biāo)準(zhǔn)化處理,本文采用z-score標(biāo)準(zhǔn)化方法[9]處理數(shù)據(jù),計(jì)算方法為:
(1)
L(θ,φ;x)
全局Moran's I用來檢驗(yàn)觀測(cè)對(duì)象在空間是否存在集聚現(xiàn)象,但不能看出區(qū)域間是如何集聚的,因此,采用局域空間相關(guān)指數(shù)來判斷局部范圍內(nèi)分塊集聚的具體情況。公式如下:
由于VAE模型不是一個(gè)序列模型,如果直接用VAE模型在原始數(shù)據(jù)點(diǎn)上進(jìn)行訓(xùn)練來學(xué)習(xí)內(nèi)部表示的話,每個(gè)數(shù)據(jù)樣本將會(huì)被視為獨(dú)立的,這種方法忽略了時(shí)間序列數(shù)據(jù)中固有的重要時(shí)間信息。因此我們提出采用滑動(dòng)窗口[10]的形式訓(xùn)練數(shù)據(jù),將時(shí)間相關(guān)性引入到模型中。在關(guān)鍵績(jī)效指標(biāo)上應(yīng)用長(zhǎng)度為l的滑動(dòng)窗口,例如wt=[xt-l+1,…,xt]表示在t時(shí)刻結(jié)束的窗口,將整個(gè)時(shí)間序列分割成連續(xù)的短序列,此時(shí)KPI指標(biāo)序列可表示為Wt=[wt-(m-1)×l,wt-(m-2)×l,…,wt],m表示用于GRU預(yù)測(cè)的不重疊窗口個(gè)數(shù)。
這場(chǎng)討論受到了租界當(dāng)局、軍警和衛(wèi)道士們的圍攻,《民國(guó)日?qǐng)?bào)·覺悟》的主編邵力子先生受到處罰,魏金枝寄去的文章忽然不登出來了,他寫信去追問,邵力子回信中表示很尷尬,勸他不要再討論這個(gè)問題,免得他受罰。這場(chǎng)戀愛的爭(zhēng)論就此終結(jié)。魏金枝很不滿意,就寫了一篇新詩《大風(fēng)歌》,“想將一股大風(fēng),把一切阻礙人世間的障礙一氣吹得精光?!笨上н@詩篇目前還沒有找到。
例如,在晶狀體移植手術(shù)中,通常采取PMMA作為移植材料,但這一人工晶狀體若與眼角膜上皮細(xì)胞接觸,將造成角膜的永久性損傷。而通過低溫等離子技術(shù)中的沉積方法,能夠?qū)⒂H水性的單體如N-乙烯基吡咯烷酮等沉積到PMMA 的表面,從而降低角膜細(xì)胞的損傷。通過動(dòng)物實(shí)驗(yàn)發(fā)現(xiàn),利用低溫等離子沉積技術(shù)處理后的PMMA進(jìn)行晶狀體移植,最低可以將復(fù)合表面的細(xì)胞損傷控制在10%以下。
變分自編碼器是一種重要的生成模型,通過將深度學(xué)習(xí)和概率統(tǒng)計(jì)技術(shù)緊密的結(jié)合,能夠提取出KPI指標(biāo)數(shù)據(jù)更深層次的特征。變分自編碼器主要由編碼器、解碼器以及隱藏層組成。其基本結(jié)構(gòu)如圖3所示。
圖3 變分自編碼器基本結(jié)構(gòu)
死體可燃物含水率(Y)與降水(X1)、氣溫(X2)、相對(duì)濕度(X3)、連旱天數(shù)(X4)、蒸發(fā)量(X6)之間的數(shù)學(xué)模型為:
(2)
根據(jù)Jensen不等式[12],式(2)可改寫為:
早在中本聰提出比特幣之前,BFT算法已經(jīng)存在,1999年LISKOU B等提出了實(shí)用拜占庭容錯(cuò)算法。該算法達(dá)成共識(shí)需要“請(qǐng)求、預(yù)準(zhǔn)備、準(zhǔn)備、確認(rèn)、回應(yīng)”5個(gè)步驟。其中“預(yù)準(zhǔn)備、準(zhǔn)備、確認(rèn)”3個(gè)步驟用于保障一致性。該算法雖然擁有1/3的容錯(cuò)性,但并不能防范女巫攻擊,因此不能用于公有鏈類型貨幣中。實(shí)用拜占庭容錯(cuò)算法(PBFT)是傳統(tǒng)一致性算法的改進(jìn),算法十分高效,在不需要貨幣體系的許可鏈或者私有鏈中較為常用。目前,IBM創(chuàng)建的超級(jí)賬本就是使用了該算法作為共識(shí)機(jī)制。
KPI異常檢測(cè)是指通過分析KPI曲線,發(fā)現(xiàn)其中突然出現(xiàn)的抖動(dòng)、下降、尖峰等不遵循正常模式的數(shù)據(jù),若出現(xiàn)異常通常表明互聯(lián)網(wǎng)服務(wù)的軟硬件中存在潛在故障,如服務(wù)器故障、訪問用戶急劇減少、訪問延遲增大等。及時(shí)準(zhǔn)確地發(fā)現(xiàn)KPI中的異常,可為后面的故障分析和修復(fù)節(jié)省時(shí)間,避免帶來更大的損失,保證了互聯(lián)網(wǎng)公司能夠?yàn)橛脩籼峁└咝Э煽康木W(wǎng)絡(luò)服務(wù)。
水分管理:水分管理的關(guān)鍵時(shí)期包括新梢迅速抽長(zhǎng)期和果實(shí)膨大期。貴州季節(jié)性干旱較嚴(yán)重,注意及時(shí)澆水。在梅雨季或降雨量大的時(shí)候,注意及時(shí)排水。
式中:μ為x的均值;σ為x的標(biāo)準(zhǔn)差;x是原始數(shù)據(jù);x′為標(biāo)準(zhǔn)化后的值。
使用經(jīng)VAE產(chǎn)生的前m-1個(gè)低維嵌入作為GRU的輸入來訓(xùn)練模型,經(jīng)GRU預(yù)測(cè)得到后m-1個(gè)嵌入:
(3)
其中L(θ,φ;x)為對(duì)數(shù)似然函數(shù)logpθ(x)的變分下界(evidence lower bound,ELBO),若要對(duì)數(shù)似然函數(shù)最大,就要最大化變分下界。因此變分自編碼器的優(yōu)化目標(biāo)就是最大化變分下界函數(shù)L(θ,φ;x),定義為:
L(θ,φ;x)=Eqφ(z|x)logpθ(x|z)-
DKL[qφ(z|x)‖pθ(z)]
(4)
VAE經(jīng)編碼得到輸入數(shù)據(jù)概率分布對(duì)應(yīng)的均值μ和標(biāo)準(zhǔn)差σ,由于直接采樣法對(duì)μ和σ均不可導(dǎo),使得用梯度下降的方法更新權(quán)重難以實(shí)現(xiàn),所以引入重參數(shù)技巧,VAE在編碼網(wǎng)絡(luò)上增加了高斯噪聲進(jìn)行約束,使生成的隱變量z服從高斯分布,z的表達(dá)式為:
z=μ+ε·σ
(5)
式中ε是符合標(biāo)準(zhǔn)正態(tài)分布的隨機(jī)數(shù)。
由于異常檢測(cè)要求實(shí)時(shí)性,需要進(jìn)行異常檢測(cè)的運(yùn)維數(shù)據(jù)數(shù)量龐大種類較多,大多數(shù)時(shí)序數(shù)據(jù)都是單變量或者維度低,所以特征的構(gòu)建就顯得格外重要。傳統(tǒng)的特征提取方法如PCA、局部線性嵌入算法(locally linear embedding,LLE)、多維標(biāo)度分析(multidimensional scaling,MDS)等存在表征能力低、計(jì)算量大、對(duì)輸入數(shù)據(jù)有局限性等問題。自編碼器(auto-encoder,AE)是深度學(xué)習(xí)中的一種重要模型,主要用于對(duì)數(shù)據(jù)進(jìn)行非線性降維特征提取。變分自編碼器是AE的變體,通過變分推理學(xué)習(xí)輸入數(shù)據(jù)的分布特征,具有較強(qiáng)的特征提取能力,適合運(yùn)維數(shù)據(jù)異常檢測(cè)需求。
重癥肌無力患者免疫治療前后AIRE、Tfr/Tfh比值與病情的相關(guān)性 ………… 王圣元,等(8):933
門控循環(huán)單元(gated recurrent unit,GRU)[13]作為循環(huán)神經(jīng)網(wǎng)絡(luò)的(recurrent neural network,RNN)的一種,在設(shè)備故障診斷[14]、目標(biāo)識(shí)別[15]等多個(gè)領(lǐng)域廣泛應(yīng)用。GRU結(jié)構(gòu)如圖4所示,GRU和LSTM都更好的保留了時(shí)間跨度較長(zhǎng)的序列信息,避免了長(zhǎng)期依賴問題。但是和LSTM相比,GRU結(jié)構(gòu)更加簡(jiǎn)單,相比之下更容易訓(xùn)練數(shù)據(jù),很大程度上能夠提高模型訓(xùn)練速度。GRU引入更新門zt和重置門rt替代LSTM中的輸入門、遺忘門和輸出門。重置門用來控制忽略前一時(shí)刻的狀態(tài)信息程度,值越小說明忽略的信息越多,更新門用來決定前一時(shí)刻狀態(tài)信息有多少將保留到當(dāng)前狀態(tài)中,值越大說明前一時(shí)刻保留的信息越多。
圖4 門控循環(huán)單元基本結(jié)構(gòu)
GRU的計(jì)算步驟如下:
步驟1重置門和更新門的輸入與當(dāng)前時(shí)刻和前一時(shí)刻的隱藏狀態(tài)有關(guān),用sigmoid函數(shù)計(jì)算輸出,表示為:
更新門:zt=sigmoid(Wz·[ht-1,xt])
(6)
圖2為KPI異常檢測(cè)流程。先對(duì)KPI數(shù)據(jù)集進(jìn)行標(biāo)準(zhǔn)化,再利用滑動(dòng)窗口將標(biāo)準(zhǔn)化后的KPI數(shù)據(jù)分割成連續(xù)的短窗口序列,將短窗口序列輸入變分自編碼器模型,編碼器對(duì)KPI數(shù)據(jù)進(jìn)行特征提取,接著建立門控循環(huán)單元網(wǎng)絡(luò)對(duì)提取到的特征進(jìn)行預(yù)測(cè),最后輸入解碼器得到重構(gòu)窗口序列,將重構(gòu)窗口序列與原始窗口序列對(duì)比,計(jì)算出的重構(gòu)誤差即為異常檢測(cè)分?jǐn)?shù)。如果重構(gòu)誤差大于給定閾值,則輸入序列為異常序列,反之,輸入序列為正常序列。
(7)
其中,W為權(quán)重參數(shù)。
步驟2將當(dāng)前時(shí)刻重置門的輸出和前一時(shí)刻隱藏狀態(tài)相乘,重置門中元素的值接近1,則保留前一時(shí)刻狀態(tài)信息,若接近0,則忽略前一時(shí)刻信息,使用tanh激活函數(shù)計(jì)算候選隱藏狀態(tài):
(8)
(9)
GRU作為一種常見的預(yù)測(cè)模型,可以長(zhǎng)時(shí)間保存序列信息,且結(jié)構(gòu)簡(jiǎn)單,參數(shù)較少,訓(xùn)練速度比LSTM更快,更不容易產(chǎn)生過擬合??紤]到KPI數(shù)據(jù)的特性,相比其他神經(jīng)網(wǎng)絡(luò),GRU更適合用來預(yù)測(cè)KPI數(shù)據(jù)。
這些豐富的比賽不僅能鍛煉學(xué)生的膽量,而且能提高學(xué)生的學(xué)習(xí)興趣,在玩樂中提高朗讀水平,在閱讀中加大識(shí)字量,提高書寫質(zhì)量。
(10)
VAE模型對(duì)經(jīng)過GRU預(yù)測(cè)得到的后m-1個(gè)窗口數(shù)據(jù)進(jìn)行解碼,得到重構(gòu)序列,如式(11)所示。通過對(duì)比重構(gòu)序列和原始序列計(jì)算重構(gòu)誤差,即異常檢測(cè)分?jǐn)?shù)來標(biāo)記KPI指標(biāo)數(shù)據(jù)的異常行為,異常檢測(cè)分?jǐn)?shù)f的定義如式(12)所示:
(11)
(12)
設(shè)定一個(gè)閾值d,當(dāng)異常檢測(cè)分?jǐn)?shù)f大于閾值d時(shí),將當(dāng)前時(shí)間t判定為異常。為避免閾值選擇問題,列舉所有可能的閾值,獲得相應(yīng)的綜合評(píng)價(jià)指標(biāo)F1分?jǐn)?shù),并使用最佳F1分?jǐn)?shù)作為度量,表明在給定最佳閾值情況下可能的最佳性能。在實(shí)際操作中,運(yùn)維人員可以根據(jù)知識(shí)和經(jīng)驗(yàn)來決定閾值。
實(shí)驗(yàn)中使用2個(gè)來自異常檢測(cè)基準(zhǔn)數(shù)據(jù)(NAB)的帶有異常標(biāo)記的公開數(shù)據(jù)集,數(shù)據(jù)均為有序且?guī)r(shí)間戳的單值指標(biāo)。實(shí)驗(yàn)數(shù)據(jù)集分別是亞馬遜網(wǎng)絡(luò)服務(wù)的CPU使用率和亞馬遜東海岸數(shù)據(jù)中心服務(wù)器的CPU使用率,在這些數(shù)據(jù)集上已經(jīng)成功進(jìn)行了一些異常檢測(cè)的研究[16]。在Windows 10操作系統(tǒng)上采用Python 3.6.11軟件,整個(gè)框架使用Tensorflow實(shí)現(xiàn)。由于滑動(dòng)窗口過短不利于對(duì)KPI序列的特征提取,過長(zhǎng)可能會(huì)造成數(shù)據(jù)冗余,故分別取值24、48、144,發(fā)現(xiàn)當(dāng)l=48時(shí),準(zhǔn)確率最高。用于GRU預(yù)測(cè)的窗口數(shù)m設(shè)置為12。VAE和GRU的Batch Size 都設(shè)置為32,學(xué)習(xí)率分別設(shè)置為0.000 4和0.000 2,分別選取Relu和Tanh作為激活函數(shù)。由于Adam優(yōu)化器在訓(xùn)練過程中收斂速度快、調(diào)參容易,所以使用Adam優(yōu)化器更新模型參數(shù)。為了實(shí)現(xiàn)無監(jiān)督的訓(xùn)練模型,將KPI序列劃分為訓(xùn)練集和測(cè)試集,使用不含異常的連續(xù)序列作為訓(xùn)練集,其余含有異常的序列作為測(cè)試集,訓(xùn)練集和測(cè)試集的劃分情況如圖 5所示。亞馬遜網(wǎng)絡(luò)服務(wù)的CPU使用率共18 050個(gè)樣本點(diǎn),訓(xùn)練集為正常序列,經(jīng)劃分,訓(xùn)練集共有15 500個(gè)樣本,剩余含有異常的2 550個(gè)樣本作為測(cè)試集。亞馬遜東海岸數(shù)據(jù)中心服務(wù)器的CPU使用率共4 032個(gè)樣本,劃分后訓(xùn)練集共有2 000個(gè)樣本,剩余含有異常的2 032個(gè)樣本作為測(cè)試集。
圖5 訓(xùn)練集和測(cè)試集的劃分情況
異常檢測(cè)器檢測(cè)異常的能力通常由準(zhǔn)確率(Accuracy)、精度(Precision)、召回率(Recall)和F1值這4個(gè)直觀的指標(biāo)來評(píng)估,F(xiàn)1值為精度和召回率的調(diào)和平均數(shù),其計(jì)算式分別見式(13)—(16)。其中TP(True Positive)表示異常檢測(cè)模型正確檢測(cè)出的異常數(shù)量,F(xiàn)P(False Positive)表示正常數(shù)據(jù)被檢測(cè)模型判定為異常的數(shù)量,F(xiàn)N(False Negative)表示異常數(shù)據(jù)被檢測(cè)模型判定為正常的數(shù)量,TN(True Negative)表示異常檢測(cè)模型正確檢測(cè)出的正常數(shù)據(jù)數(shù)量。
(13)
(14)
(15)
(16)
3.3.1性能比較結(jié)果
使用訓(xùn)練集對(duì)變分自編碼和門控循環(huán)單元訓(xùn)練之后,分別用2個(gè)數(shù)據(jù)的測(cè)試集對(duì)VAE-GRU異常檢測(cè)模型進(jìn)行評(píng)估。為驗(yàn)證異常檢測(cè)模型的實(shí)用性和有效性,將新模型同單獨(dú)使用VAE模型[8]和GRU模型[18]進(jìn)行對(duì)比。不同方法對(duì)亞馬遜網(wǎng)絡(luò)服務(wù)的CPU使用率的性能指標(biāo)如表1所示,亞馬遜東海岸數(shù)據(jù)中心服務(wù)器中CPU使用率的性能指標(biāo)如表2所示。
表1 不同方法對(duì)亞馬遜網(wǎng)絡(luò)服務(wù)的CPU使用率的性能指標(biāo)
表2 不同方法對(duì)亞馬遜東海岸數(shù)據(jù)中心服務(wù)器中的CPU使用率的性能指標(biāo)
表1和表2表明,相比提出的異常檢測(cè)方法,單獨(dú)使用VAE模型和GRU模型檢測(cè)異常時(shí),2個(gè)模型在準(zhǔn)確率、精度、召回率、F1值都有所欠缺。VAE模型在2個(gè)數(shù)據(jù)集上都有著很好的召回率,但是精確度不高,在亞馬遜網(wǎng)絡(luò)服務(wù)的CPU使用率上的精度為0.686,在亞馬遜東海岸數(shù)據(jù)中心服務(wù)器中的CPU使用率上精度為0.554,表明VAE模型在對(duì)2個(gè)數(shù)據(jù)集檢測(cè)的過程中將很多正常數(shù)據(jù)誤判為異常數(shù)據(jù)。GRU模型在2個(gè)數(shù)據(jù)集上都有很高的精度,然而召回率較低,在亞馬遜網(wǎng)絡(luò)服務(wù)的CPU使用率上的召回率為0.429,在亞馬遜東海岸數(shù)據(jù)中心服務(wù)器中的CPU使用率上的召回率為0.421,表明GRU模型在檢測(cè)過程中遺漏了很多異常。而新提出的VAE-GRU模型在2個(gè)數(shù)據(jù)集上都有最高的召回率,分別達(dá)到了0.971和0.954,也獲得了較好的精度。F1值最高的也是新模型,說明其整體效果比單獨(dú)使用VAE模型和GRU模型好。
3.3.2異常檢測(cè)結(jié)果的可視化對(duì)比
本文中提出的異常檢測(cè)模型、VAE模型和GRU模型對(duì)亞馬遜網(wǎng)絡(luò)服務(wù)的CPU使用率的異常檢測(cè)可視化結(jié)果如圖6所示。異常檢測(cè)模型、VAE模型和GRU模型對(duì)亞馬遜東海岸數(shù)據(jù)中心服務(wù)器中的CPU使用率的異常檢測(cè)結(jié)果如圖7所示。藍(lán)線代表原始KPI序列,紅色虛線代表真實(shí)異常,綠色短線代表檢測(cè)到的異常,淺藍(lán)色窗口代表檢測(cè)到的異常窗口。
我國(guó)獸醫(yī)管理體制存在一些亟待解決的問題,隨著獸醫(yī)管理體制改革的推進(jìn),使我國(guó)在重大動(dòng)物疫病的防控能力得到明顯加強(qiáng)。農(nóng)業(yè)部將加強(qiáng)與有關(guān)部門的溝通協(xié)調(diào),加大對(duì)地方的督促檢查力度,爭(zhēng)取盡早把獸醫(yī)管理體制改革工作落實(shí)到位。并提出“建設(shè)現(xiàn)代農(nóng)業(yè)基地,大力發(fā)展現(xiàn)代畜牧業(yè)”,加快現(xiàn)代畜牧業(yè)發(fā)展,促進(jìn)社會(huì)主義新農(nóng)村建設(shè)的口號(hào)。此文筆者結(jié)合自己工作實(shí)踐,來淺談一下我國(guó)獸醫(yī)管理體制改革方面的問題!
圖6 3種模型的異常檢測(cè)結(jié)果
圖7 3種模型的異常檢測(cè)效果
如圖6(b)和圖7(b)所示,基于VAE模型對(duì)KPI序列進(jìn)行異常檢測(cè)時(shí),能夠檢測(cè)到所有異常點(diǎn),因此VAE模型的召回率很高;模型檢測(cè)出KPI序列中大量的假陽性,這是因?yàn)閂AE不是一個(gè)序列模型,無法處理與時(shí)間相關(guān)的異常,所以單獨(dú)使用VAE模型進(jìn)行異常檢測(cè)往往會(huì)忽略時(shí)間序列中固有的重要時(shí)間信息,限制了模型的檢測(cè)效果,導(dǎo)致精確度不高。如圖6(c)和圖7(c)所示,使用GRU模型進(jìn)行異常檢測(cè)時(shí),模型檢測(cè)出少量的假陽性,因此GRU模型的精確度較高,但模型遺漏了KPI序列中真實(shí)的異常,這是因?yàn)閱为?dú)使用GRU模型進(jìn)行異常檢測(cè)時(shí),由于缺乏KPI序列更深層次的有效特征導(dǎo)致檢測(cè)效果不佳。如圖6(a)和圖7(a)所示,新提出的VAE-GRU異常檢測(cè)模型相比VAE模型和GRU模型在2個(gè)數(shù)據(jù)集上都有較好的表現(xiàn),VAE模型能夠自動(dòng)學(xué)習(xí)原始數(shù)據(jù)中較好的特征,GRU作為時(shí)間序列預(yù)測(cè)模型可使預(yù)測(cè)誤差盡可能小,2種方法結(jié)合使得本文模型的整體性能優(yōu)于單獨(dú)使用VAE模型和GRU模型。
提出了一種基于變分自編碼器結(jié)合門控循環(huán)單元的KPI異常檢測(cè)方法。與以往的KPI異常檢測(cè)算法相比,不僅考慮時(shí)間序列中的時(shí)間相關(guān)性,而且有效挖掘了數(shù)據(jù)更深層次的特征。研究數(shù)據(jù)來自同一類關(guān)鍵性能指標(biāo),主要集中于單個(gè)關(guān)鍵性能指標(biāo)的異常檢測(cè),但實(shí)際運(yùn)維場(chǎng)景中,用于多種關(guān)鍵性能指標(biāo)的異常檢測(cè)器更有用,因此下一步將在本研究基礎(chǔ)之上對(duì)多種關(guān)鍵性能指標(biāo)展開研究。