国产日韩欧美一区二区三区三州_亚洲少妇熟女av_久久久久亚洲av国产精品_波多野结衣网站一区二区_亚洲欧美色片在线91_国产亚洲精品精品国产优播av_日本一区二区三区波多野结衣 _久久国产av不卡

?

基于LSTM的云環(huán)境異常智能檢測(cè)方法研究

2020-06-30 06:56:50王敏紅
關(guān)鍵詞:時(shí)刻閾值神經(jīng)網(wǎng)絡(luò)

崔 峰,郭 剛,饒 偉,王敏紅

(中鐵信弘遠(yuǎn)(北京)軟件科技有限責(zé)任公司,北京 100089)

近年來(lái),隨著鐵路事業(yè)的快速發(fā)展,作為信息技術(shù)支撐的鐵路云數(shù)據(jù)中心規(guī)模也不斷擴(kuò)大。鐵路云[1-2]是由多項(xiàng)云計(jì)算相關(guān)技術(shù)、產(chǎn)品和解決方案組成的,專(zhuān)門(mén)為鐵路行業(yè)打造的行業(yè)私有云平臺(tái),相關(guān)產(chǎn)品已經(jīng)在中國(guó)國(guó)家鐵路集團(tuán)有限公司數(shù)據(jù)中心和多個(gè)鐵路局集團(tuán)有限公司部署實(shí)施。在鐵路云的信息化建設(shè)和聯(lián)網(wǎng)運(yùn)營(yíng)中,新的挑戰(zhàn)也不斷出現(xiàn)。隨著鐵路云規(guī)模的不斷擴(kuò)大,在運(yùn)維管理過(guò)程中,運(yùn)維人員需要對(duì)海量的運(yùn)行指標(biāo)、運(yùn)行日志等進(jìn)行監(jiān)控、分析和檢查,以便及時(shí)發(fā)現(xiàn)各種運(yùn)行異常。目前,常用的靜態(tài)閾值檢測(cè)、日志人工查驗(yàn)分析、腳本監(jiān)控、定時(shí)報(bào)表檢查等方式,存在準(zhǔn)確率不高、時(shí)效性差、人工承擔(dān)工作量大等問(wèn)題。因此,本文提出一種基于長(zhǎng)短期記憶(LSTM,Long Short-Term Memory)神經(jīng)網(wǎng)絡(luò)的云環(huán)境異常智能檢測(cè)方法,通過(guò)機(jī)器學(xué)習(xí)的方式,定期計(jì)算刷新各指標(biāo)的合理閾值,從而實(shí)現(xiàn)在線(xiàn)異常檢測(cè)。

1 云環(huán)境監(jiān)控指標(biāo)特征

鐵路云監(jiān)控從云底層物理環(huán)境和云虛擬機(jī)中采集各類(lèi)監(jiān)控?cái)?shù)據(jù),用于判斷各機(jī)器設(shè)備及進(jìn)程服務(wù)運(yùn)行狀況是否存在異?,F(xiàn)象。監(jiān)控指標(biāo)包括:CPU使用率、內(nèi)存使用率、硬盤(pán)IOPS、網(wǎng)絡(luò)流量、服務(wù)進(jìn)程狀態(tài)等,通常具有數(shù)據(jù)量龐大、判別依據(jù)復(fù)雜和特征變化頻繁的特點(diǎn),并對(duì)生產(chǎn)應(yīng)用帶來(lái)了相應(yīng)的影響。

1.1 數(shù)據(jù)量龐大

(1)監(jiān)控指標(biāo)的種類(lèi)多,指標(biāo)范圍涵蓋多種設(shè)備的多種監(jiān)控指標(biāo),如針對(duì)內(nèi)存的監(jiān)控指標(biāo)有:利用率、爭(zhēng)用率、分配率、總?cè)萘恐怠⒕唧w消耗值等,所有指標(biāo)類(lèi)型總數(shù)量已達(dá)900 種以上。

(2)單臺(tái)機(jī)器上單個(gè)指標(biāo)的采集對(duì)象可能較多,如1 臺(tái)服務(wù)器上硬盤(pán)可達(dá)20 塊以上,而服務(wù)進(jìn)程數(shù)則可達(dá)幾百甚至上千個(gè)。

(3)采集頻率高,為提高監(jiān)控時(shí)效性,普通指標(biāo)數(shù)據(jù)的采集通常為分鐘級(jí),而關(guān)鍵指標(biāo)則更頻繁。

(4)云環(huán)境中機(jī)器數(shù)量眾多,物理機(jī)數(shù)量可達(dá)萬(wàn)臺(tái)以上,而云虛擬機(jī)數(shù)量則可能達(dá)到10 萬(wàn)臺(tái)以上。因此,在大規(guī)模云環(huán)境中,監(jiān)控指標(biāo)的數(shù)據(jù)量非常龐大,已無(wú)法依靠純?nèi)斯し绞竭M(jìn)行及時(shí)的分析處理。

1.2 判別依據(jù)復(fù)雜

在同規(guī)格的物理機(jī)或虛擬機(jī)上,如果所運(yùn)行的應(yīng)用不同,即使是同一種監(jiān)控指標(biāo),其正常與否的判別標(biāo)準(zhǔn)也可能不同。此外,即使同一臺(tái)機(jī)器的同一個(gè)監(jiān)控指標(biāo),在不同的時(shí)段里,其正常與否的判別標(biāo)準(zhǔn)也可能不同,因此,對(duì)監(jiān)控指標(biāo)進(jìn)行準(zhǔn)確判別、特征抽取并不簡(jiǎn)單,需要考慮的方面較多。傳統(tǒng)上使用固定閾值作為異常判別特征的方法,難以保證在絕大多數(shù)場(chǎng)景下都得到理想的結(jié)果。

1.3 特征變化頻繁

在實(shí)際生產(chǎn)中,運(yùn)行環(huán)境通常不會(huì)一成不變,因此,監(jiān)控指標(biāo)的特征也會(huì)隨之變化。當(dāng)環(huán)境變化達(dá)到一定程度后,繼續(xù)沿用舊的指標(biāo)特征將無(wú)法準(zhǔn)確處理新的監(jiān)控?cái)?shù)據(jù)。因此,要保持監(jiān)控分析判別的準(zhǔn)確性,需考慮環(huán)境變化帶來(lái)的影響,及時(shí)對(duì)監(jiān)控指標(biāo)特征進(jìn)行必要的更新,而這會(huì)帶來(lái)較繁重的工作量。傳統(tǒng)人工修正的方法不僅給運(yùn)維人員增加較大的工作強(qiáng)度,也容易在工作之中出現(xiàn)遺漏等情況。

因此,需要研究一種能在大規(guī)模數(shù)據(jù)量下,自動(dòng)快速學(xué)習(xí)監(jiān)控指標(biāo)關(guān)鍵特征并檢測(cè)其變化趨勢(shì)的云環(huán)境異常檢測(cè)方法。

2 LSTM神經(jīng)網(wǎng)絡(luò)原理

2.1 循環(huán)神經(jīng)網(wǎng)絡(luò)

神經(jīng)網(wǎng)絡(luò)通過(guò)對(duì)大腦內(nèi)部的運(yùn)作模式進(jìn)行模擬,采用梯度下降算法進(jìn)行參數(shù)優(yōu)化,具有強(qiáng)大的自學(xué)習(xí)能力和非線(xiàn)性映射能力。神經(jīng)網(wǎng)絡(luò)可用于解決分類(lèi)、回歸等問(wèn)題,已在圖像、視頻、文本處理等眾多領(lǐng)域得到了應(yīng)用。

在鐵路云環(huán)境中,按固定頻率采集到的指標(biāo)數(shù)據(jù)為時(shí)間序列數(shù)據(jù),其當(dāng)前時(shí)刻的數(shù)值和之前時(shí)刻的數(shù)值是有關(guān)聯(lián)的。傳統(tǒng)神經(jīng)網(wǎng)絡(luò)從輸入層經(jīng)過(guò)隱含層到輸出層,層與層之間采用全連接的方式,基本無(wú)法對(duì)序列數(shù)據(jù)進(jìn)行預(yù)測(cè)。循環(huán)神經(jīng)網(wǎng)絡(luò)(RNN,Recurrent Neural Network)對(duì)傳統(tǒng)神經(jīng)網(wǎng)絡(luò)進(jìn)行了改進(jìn),包含了一個(gè)反饋輸入,將神經(jīng)元的輸出在下一時(shí)刻傳遞給自身,從而保留前一時(shí)刻的信息,達(dá)到保留之前學(xué)習(xí)內(nèi)容的目的。圖1a 為t時(shí)刻的單個(gè)RNN,A為一個(gè)RNN 單元,xt為輸入,ht為輸出。

2.2 LSTM神經(jīng)網(wǎng)絡(luò)

由于RNN 的權(quán)重共享和前向反饋機(jī)制,容易發(fā)生梯度爆炸、梯度消失和長(zhǎng)期記憶能力不足的問(wèn)題,使得RNN 對(duì)時(shí)間序列的預(yù)測(cè)結(jié)果不盡人意。LSTM是一種改進(jìn)的循環(huán)神經(jīng)網(wǎng)絡(luò)[3],已廣泛應(yīng)用于自然語(yǔ)言處理[4]、語(yǔ)音識(shí)別[5]、機(jī)器翻譯、序列預(yù)測(cè)[6]等方面,相對(duì)于RNN 主要有2 點(diǎn)改進(jìn):

(1)設(shè)置變量C(單元狀態(tài)),解決無(wú)法長(zhǎng)期記憶的問(wèn)題;

(2)引入多個(gè)“門(mén)”,解決梯度消失和梯度爆炸的問(wèn)題。

LSTM 神經(jīng)網(wǎng)絡(luò)在時(shí)間序列擬合和預(yù)測(cè)上整體性能較好,主要得益于模型的架構(gòu)。LSTM 神經(jīng)網(wǎng)絡(luò)中定義了“遺忘門(mén)”,可以忘記不必要的信息,減小誤差;定義了“輸入門(mén)”,能夠決定并存儲(chǔ)記憶單元新的輸入信息;定義了“輸出門(mén)”,決定要輸出的內(nèi)容;tanh 層可以根據(jù)新的輸入創(chuàng)建所有可能的值的向量;Sigmoid 函數(shù)輸出0 到1 之間的值,決定遺忘或保留信息的百分比。

圖1b 是以t時(shí)刻為例的LSTM 單元運(yùn)算,左側(cè)輸入為t-1 時(shí)刻的單元狀態(tài)Ct-1和輸出ht-1,輸出為當(dāng)前時(shí)刻t的單元狀態(tài)Ct和輸出ht,Wf,Wi,Wc,Wo分別為不同的權(quán)重系數(shù)矩陣,σ和tanh分別為sigmoid 和tanh 激活函數(shù)。

使用LSTM 神經(jīng)網(wǎng)絡(luò)的時(shí)間序列預(yù)測(cè)能夠自主學(xué)習(xí)曲線(xiàn)中的特征,通過(guò)不斷迭代訓(xùn)練集來(lái)適應(yīng)曲線(xiàn)的不斷變化,目前已在用電量預(yù)測(cè)[7]、飛機(jī)故障時(shí)間[3]、金融分析[8]等方面有了廣泛研究與應(yīng)用。

圖1 RNN和 LSTM結(jié)構(gòu)

3 云環(huán)境異常智能檢測(cè)模型設(shè)計(jì)

3.1 數(shù)據(jù)預(yù)處理

鐵路云監(jiān)測(cè)應(yīng)用通過(guò)Kafka 將所有指標(biāo)數(shù)據(jù)保存到Hadoop 節(jié)點(diǎn)的HDFS 中,以1 min 為周期,包含指標(biāo)的通用唯一識(shí)別碼(UUID,Universally UniqueIdentifier)、時(shí)間戳、指標(biāo)名、時(shí)間步長(zhǎng)等。由于短采樣周期的時(shí)間序列波動(dòng)性大、規(guī)律性不明顯等缺陷,需要先對(duì)數(shù)據(jù)進(jìn)行平滑處理,消除“毛刺”。本文將時(shí)間序列進(jìn)行重新采樣,取5 min 內(nèi)的平均值,將源數(shù)據(jù)轉(zhuǎn)化為以5 min 為采樣周期的數(shù)據(jù)。

時(shí)間序列可以認(rèn)為是趨勢(shì)、周期性波動(dòng)和殘差的疊加。趨勢(shì)描述的是時(shí)間序列的整體走勢(shì),周期性波動(dòng)是時(shí)間序列的循環(huán)變動(dòng),在忽略殘差的情況下,可將時(shí)間序列分解為趨勢(shì)線(xiàn)和周期線(xiàn)。本文采用經(jīng)典的時(shí)間序列分解算法,使用m階的移動(dòng)平均,提取趨勢(shì)線(xiàn),并使用加性模型分解,取平均值即得到周期線(xiàn),公式為:

其中,ts表示時(shí)間序列;Tt為趨勢(shì)線(xiàn)在t時(shí)刻的值;k是周期長(zhǎng)度;m通常取2k+1,此時(shí)Tt是時(shí)間序列t時(shí)刻向前k個(gè)值和向后k個(gè)值的均值;Pt為周期線(xiàn)在t時(shí)刻的值,l為任意個(gè)周期長(zhǎng)度。

圖2 是對(duì)鐵路云中某物理機(jī)內(nèi)存指標(biāo)時(shí)間序列的分解結(jié)果,周期長(zhǎng)度為288,即以一天為周期。

圖2 某物理機(jī)內(nèi)存指標(biāo)時(shí)間序列分解

分解后的趨勢(shì)線(xiàn)較為平滑,并且過(guò)濾出了序列的增長(zhǎng)趨勢(shì),周期線(xiàn)則過(guò)濾出了序列平穩(wěn)的周期性。合適的特征可以縮短模型從數(shù)據(jù)中的自我學(xué)習(xí)過(guò)程和訓(xùn)練時(shí)長(zhǎng),得到更好的預(yù)測(cè)效果。本文選取了2個(gè)重要特征:

其中,f1和f2表示序列ts在t時(shí)刻的特征,f1是序列在上一周期相同時(shí)間的值,f2是按15 min 劃分得到的時(shí)刻編號(hào);(tst)hour表示序列在當(dāng)前時(shí)刻的小時(shí)值,(tst)minute表示序列在當(dāng)前時(shí)刻的分鐘值。

分解后的特征通過(guò)z-score 標(biāo)準(zhǔn)化映射為均值為0,方差為1 的標(biāo)準(zhǔn)序列,以消除特征范圍不均造成的權(quán)重偏差的影響。

3.2 模型構(gòu)建

本文以LSTM 神經(jīng)網(wǎng)絡(luò)為基礎(chǔ),建立自身模型。模型使用Encoder-Decoder 結(jié)構(gòu),對(duì)時(shí)間序列先進(jìn)行編碼,再進(jìn)行解碼,分為趨勢(shì)模型和周期模型2 種。

趨勢(shì)模型采用較簡(jiǎn)單的模型結(jié)構(gòu),通過(guò)全連接層進(jìn)行編碼,再連接一個(gè)128 單元的LSTM 層進(jìn)行解碼。周期模型使用雙向LSTM 層進(jìn)行編碼,編碼后的序列通過(guò)一個(gè)128 單元的LSTM 層和多個(gè)全連接層進(jìn)行解碼。圖3 為本文構(gòu)建的LSTM 模型圖,時(shí)間步長(zhǎng)為24,預(yù)測(cè)長(zhǎng)度為30。

在構(gòu)建模型時(shí),考慮到序列的復(fù)雜度,較為簡(jiǎn)單的模型便能很好地?cái)M合趨勢(shì)線(xiàn),同時(shí)縮短訓(xùn)練時(shí)間;而略復(fù)雜的模型能從周期線(xiàn)中學(xué)習(xí)到更多的特性。模型使用l1、l2 正則化技術(shù),并添加Early Stop方法、Dropout 方法來(lái)防止過(guò)擬合的發(fā)生,其中,l1正則化會(huì)讓盡可能多的權(quán)重系數(shù)為0,l2 正則化會(huì)讓所有權(quán)重系數(shù)盡可能的小。模型損失函數(shù)使用絕對(duì)誤差(AE,Absolute Error)函數(shù),激活函數(shù)選用SELU 函數(shù),優(yōu)化算法選用Adam 算法。

圖3 本文構(gòu)建的LSTM模型

3.3 閾值定義

預(yù)測(cè)值是對(duì)未來(lái)一段時(shí)間內(nèi)曲線(xiàn)走勢(shì)的刻畫(huà),當(dāng)真實(shí)值同預(yù)測(cè)值的差距過(guò)大時(shí),說(shuō)明曲線(xiàn)的走勢(shì)發(fā)生了變化,便可認(rèn)為是發(fā)生了異常。本文的預(yù)測(cè)值為趨勢(shì)模型和周期模型預(yù)測(cè)結(jié)果的疊加,并通過(guò)2種閾值設(shè)定方式進(jìn)行異常聯(lián)合判定。

(1)假設(shè)數(shù)據(jù)的變化符合正態(tài)分布,并且下一個(gè)點(diǎn)的變化范圍符合上一周期的分布,可將預(yù)測(cè)值加減上一周期數(shù)據(jù)的標(biāo)準(zhǔn)差:

其中,lstd是上一周期的標(biāo)準(zhǔn)差,lupper和llower分別是上、下界,tslast_period表示上一周期的序列,tspre表示預(yù)測(cè)得到的序列,i表示倍數(shù),默認(rèn)取3,使用時(shí)會(huì)根據(jù)實(shí)際生產(chǎn)要求自定義。

(2)通過(guò)貝葉斯推理,在每層網(wǎng)絡(luò)層之后添加Dropout 方法,在神經(jīng)網(wǎng)絡(luò)進(jìn)行訓(xùn)練或預(yù)測(cè)時(shí),會(huì)隨機(jī)丟棄一部分神經(jīng)元及其連接,使得預(yù)測(cè)結(jié)果符合預(yù)期的分布。

只有當(dāng)真實(shí)值同時(shí)超出2 種方法的閾值時(shí),才會(huì)被判定為異常。預(yù)測(cè)結(jié)果和上下閾值通過(guò)逐點(diǎn)實(shí)時(shí)運(yùn)算,記錄到HBase 中,rowkey 格式為:指標(biāo)名+UUID+設(shè)備名+時(shí)間戳。

4 云環(huán)境下的模型驗(yàn)證

4.1 數(shù)據(jù)集

本文使用的指標(biāo)數(shù)據(jù)取自鐵路云武清環(huán)境的部分物理機(jī),選取CPU、內(nèi)存、網(wǎng)絡(luò)3 種指標(biāo)共12 條時(shí)間序列,每條序列中選取10 天的數(shù)據(jù),初始粒度為1 min。將前3 天的數(shù)據(jù)作為訓(xùn)練集,后7 天的數(shù)據(jù)作為測(cè)試集。

4.2 平臺(tái)和環(huán)境

本文使用的虛擬機(jī)配置為:處理器為Intel(R)Xeon(R) CPU E5-2609 v4 @ 1.70 GHz;內(nèi)存為16 G;操作系統(tǒng)為Red Hat。程序設(shè)計(jì)語(yǔ)言為Python 3.5,模型設(shè)計(jì)和結(jié)果比較過(guò)程中用到的程序包有Tensor Flow、Statsmodel、Sklearn。

4.3 對(duì)比模型

將本文設(shè)計(jì)的模型同以下幾種時(shí)間序列預(yù)測(cè)方法進(jìn)行比較:

(1)Holt-Winter 方法:3 次指數(shù)平滑方法,考慮了趨勢(shì)性、季節(jié)性和殘差;

(2)ARIMA 方法:自回歸移動(dòng)平均,將差分、自回歸和移動(dòng)平均相結(jié)合的方法;

(3)XGBoost 方 法:基 于CART 回 歸 樹(shù) 的Boosting 算法,可用于分類(lèi)和回歸;

(4)single-LSTM 方法:使用單層LSTM 神經(jīng)網(wǎng)絡(luò)模型進(jìn)行訓(xùn)練,相較于本文所用方案少了序列分解和Encoder-Decoder 過(guò)程。

4.4 驗(yàn)證結(jié)果

表1 為4.3 中各模型基于相同數(shù)據(jù)的預(yù)測(cè)結(jié)果,其中Holt-Winter 模型、ARIMA 模型參數(shù)與文獻(xiàn)[3]相同。

查準(zhǔn)率為檢測(cè)到的異常與真實(shí)異常的比率,查全率為檢測(cè)到的異常數(shù)占異??倲?shù)的比率。本文方案的查準(zhǔn)率和查全率平均值分別為76.6%和77.3%,在所有模型中效果最好。某些用時(shí)短的方法,在某項(xiàng)指標(biāo)上的預(yù)測(cè)效果不盡人意,如ARMIA 方法在CPU 和網(wǎng)絡(luò)指標(biāo)上的準(zhǔn)確率不到20%。

根據(jù)查準(zhǔn)率和查全率,選取single-LSTM 同本文方案進(jìn)行預(yù)測(cè)結(jié)果及閾值區(qū)間的比較。如圖4、圖5 所示,紅線(xiàn)為預(yù)測(cè)結(jié)果,藍(lán)虛線(xiàn)為真實(shí)值,綠色范圍為閾值區(qū)間??梢钥吹奖疚姆桨竿鎸?shí)值曲線(xiàn)更貼合,閾值區(qū)間也更接近,即具有更高的擬合度和更準(zhǔn)確的閾值區(qū)間,可有效減少異常的漏判和誤判。

表1 多種方法預(yù)測(cè)結(jié)果比較

圖4 某物理機(jī)內(nèi)存指標(biāo)的預(yù)測(cè)結(jié)果比較

5 結(jié)束語(yǔ)

本文研究了一種基于LSTM 的云環(huán)境監(jiān)控指標(biāo)異常智能檢測(cè)方法,相比傳統(tǒng)異常檢測(cè)方法實(shí)現(xiàn)了準(zhǔn)確性、適用性等方面的提升。本方法提出了將時(shí)間序列分解同LSTM 神經(jīng)網(wǎng)絡(luò)相結(jié)合并應(yīng)用到監(jiān)控指標(biāo)判別的方法,以及以正態(tài)分布和貝葉斯推理定義預(yù)測(cè)波動(dòng)范圍的方法,能避免純時(shí)間序列預(yù)測(cè)方法不同指標(biāo)間精度不一、需要調(diào)參的缺陷,更有效地捕捉指標(biāo)變化趨勢(shì)。測(cè)試結(jié)果表明,相比常用的傳統(tǒng)監(jiān)控異常檢測(cè)方法,本文方法具有更高的準(zhǔn)確率,可以在大規(guī)模鐵路云環(huán)境上實(shí)施,為運(yùn)維人員提供一種有效的異常智能檢測(cè)方法。本方法對(duì)計(jì)算資源的要求較高,在后續(xù)的研究工作中,將通過(guò)優(yōu)化模型結(jié)構(gòu)、提升算法實(shí)現(xiàn)效率等途徑繼續(xù)改進(jìn)本方法。

圖5 某物理機(jī)網(wǎng)絡(luò)指標(biāo)的預(yù)測(cè)結(jié)果比較

猜你喜歡
時(shí)刻閾值神經(jīng)網(wǎng)絡(luò)
冬“傲”時(shí)刻
捕獵時(shí)刻
神經(jīng)網(wǎng)絡(luò)抑制無(wú)線(xiàn)通信干擾探究
電子制作(2019年19期)2019-11-23 08:42:00
小波閾值去噪在深小孔鉆削聲發(fā)射信號(hào)處理中的應(yīng)用
基于自適應(yīng)閾值和連通域的隧道裂縫提取
比值遙感蝕變信息提取及閾值確定(插圖)
河北遙感(2017年2期)2017-08-07 14:49:00
室內(nèi)表面平均氡析出率閾值探討
基于神經(jīng)網(wǎng)絡(luò)的拉矯機(jī)控制模型建立
復(fù)數(shù)神經(jīng)網(wǎng)絡(luò)在基于WiFi的室內(nèi)LBS應(yīng)用
街拍的歡樂(lè)時(shí)刻到來(lái)了
清河县| 珠海市| 洛南县| 大厂| 聂荣县| 泰宁县| 黑龙江省| 梁河县| 休宁县| 扶绥县| 大埔区| 绥中县| 宝丰县| 珠海市| 沐川县| 若羌县| 辛集市| 和硕县| 澳门| 化隆| 甘南县| 靖宇县| 阿勒泰市| 车致| 新兴县| 永新县| 霸州市| 乌什县| 定日县| 公主岭市| 龙山县| 余庆县| 图木舒克市| 屯留县| 亳州市| 景泰县| 赤峰市| 额尔古纳市| 洪洞县| 伊宁市| 德阳市|