• <tr id="yyy80"></tr>
  • <sup id="yyy80"></sup>
  • <tfoot id="yyy80"><noscript id="yyy80"></noscript></tfoot>
  • 99热精品在线国产_美女午夜性视频免费_国产精品国产高清国产av_av欧美777_自拍偷自拍亚洲精品老妇_亚洲熟女精品中文字幕_www日本黄色视频网_国产精品野战在线观看 ?

    基于膠囊網絡的異常多分類模型*

    2024-03-19 11:13:22陽予晉陳志剛
    計算機工程與科學 2024年3期
    關鍵詞:使用率內存標簽

    陽予晉,王 堃,陳志剛,徐 悅,李 斌

    (1.中南大學計算機學院,湖南 長沙 410083;2.國網寧夏電力有限公司信息通信公司,寧夏 銀川 753000)

    1 引言

    隨著傳統電網業(yè)務乘上IT技術快速發(fā)展的東風被搬上云端,電力企業(yè)業(yè)務以及相關應用數量逐年增長,應用系統的復雜度和規(guī)模都在不斷增長和變化,數據量也呈現快速增長的趨勢,智能電網信息運維工作面臨著越來越多的挑戰(zhàn)。一個突出的挑戰(zhàn)是及時處理各類電網信息設備的異常行為,因此異常數據檢測在電網中起著非常重要的作用。在配電網中,使用異常檢測技術可以及時發(fā)現影響電能的各種異常狀態(tài),防止故障擴散[2]。對于運維監(jiān)控數據,異常檢測可以檢查設備運行狀態(tài),避免故障檢測不及時導致的機器損壞[3]。識別電網的異常行為需要開發(fā)高效的異常檢測方法,這對電網的穩(wěn)定、實時和安全運行至關重要[4]。電網中的大多數異??梢酝ㄟ^分析時間序列數據來檢測,一些傳統的異常檢測方法能檢測的異常種類少且精度低,會導致告警不準確、漏告警、誤告警數量多等問題[5]。如果不能及時檢測異常,電網的穩(wěn)定將會面臨嚴重的威脅。因此,準確快速地分析時間序列,挖掘出電網中存在的不同類型的異常是亟待解決的問題。

    近年來,許多研究人員一直在研究時間序列建模,特別是使用經典的統計學方法如LOP(Local Outlier Factor)[6]、GMM(Gaussian Mixture Module)[7]、HMM(Hidden Markov Model)[8]、ARIMA(AutoRegressive Integrated Moving Average model)[9]。然而基于統計學的方法需要對大量的樣本數據進行統計,難以對高維數據進行異常值檢測。除此之外,機器學習的方法也被廣泛應用在時間序列異常檢測中,如隨機森林[10]和SVM(Support Vector Machine)[11]等。與其他機器學習問題場景一樣,數據是否被標記是選擇使用哪種方法的關鍵因素。用于異常檢測的數據挖掘技術一般可以分為3大類:監(jiān)督異常檢測、半監(jiān)督異常檢測和無監(jiān)督異常檢測。

    時間序列數據的無監(jiān)督異常檢測是一項具有挑戰(zhàn)的任務。傳統的方法通常是基于距離的方法[12],如K-最近鄰KNN(K-Nearest Neighbor)算法[13]通過每個數據樣本與其K個最近鄰的平均距離來計算異常分數。除此之外,聚類模型[14]通過對時間序列進行聚類,并使用預定義好的分數來發(fā)現異常值。在基于分類的方法中,如One-Class SVM[15],通過對訓練數據的密度分布進行建模,將多元時間序列數據分為正常的和異常的2類。無監(jiān)督異常檢測算法僅根據數據實例的內在屬性檢測異常值,不需要有標簽的數據,這類算法比較靈活,但是其檢測精度沒有有監(jiān)督異常檢測的高。無監(jiān)督異常檢測可以用于未標記數據樣本的自動標記,因此本文利用無監(jiān)督算法挖掘電網運維監(jiān)控數據中的潛在異常并自動對其進行標記。

    基于有監(jiān)督的異常檢測算法需要對數據集中的每個數據點進行標記,算法使用標簽信息來學習正常實例和異常實例之間的差異。由于有監(jiān)督異常檢測算法能準確識別正常實例和異常實例,因此其異常檢測準確度更高。有監(jiān)督異常檢測的步驟為:首先對數據集進行標記;其次分類器在標記好的訓練數據集上學習正常實例和異常實例,再使用標記好的測試數據集去優(yōu)化分類器;最后使用訓練好的分類器對目標數據集中的異常進行分類。典型的有監(jiān)督異常檢測算法有決策樹CART(Classification And Regression Trees)[16]、支持向量機SVM[17]和神經網絡模型(如循環(huán)神經網絡RNN(Recurrent Neural Network)[18,19]、長短期記憶網絡LSTM(Long Short Term Memory networks)[20]、多層感知機MLP(MultiLayer Perceptron)[21]等)?;谟斜O(jiān)督的異常檢測算法的缺點是數據不平衡,在異常檢測領域,正常樣本比異常樣本多得多。為了彌補這一缺點,本文提出了一種基于膠囊網絡的多維時間序列異常多分類模型NNCapsNet(Neural Network-Capsule Network)。該方法根據電網實際運維場景以及專家知識,定義異常模式并在數據集中注入故障數據和異常數據,同時利用無監(jiān)督算法挖掘數據集中的疑似異常并對其進行標記。針對數據集不平衡問題,使用過采樣[22]和欠采樣[23]技術平衡正常數據和異常數據。與此同時,深度學習的方法被廣泛應用在基于分類的算法中,比如膠囊網絡[24]。本文提出的模型在原有的膠囊網絡基礎上增加了2層CNN(Convolutional Neural Network),以充分提取時間序列的特征,用于捕獲時間序列的時間依賴性和相關性,處理多維時間序列數據并提取復雜的內在特征,從而實現異常分類。

    本文實驗數據集采集于國網寧夏電力有限公司營銷業(yè)務應用服務器生產的監(jiān)控數據。為了解決訓練數據集缺少標簽的問題,本文定義了異常模式并在數據集中注入異常數據,結合無監(jiān)督算法挖掘數據集中的異常并進行標記。最后,將標記好的數據集送入膠囊網絡中進行異常分類。

    本文的主要工作如下所示:

    (1)根據電網實際運維場景,定義了訓練數據集的異常模式,結合專家知識在現有數據集上注入異常數據和故障數據,保障異常種類的多樣性。此外,結合上采樣和過采樣的方法解決正負樣本不平衡問題。

    (2)基于無監(jiān)督算法標簽化電力監(jiān)控大數據,采用統計判別(3sigma)和無監(jiān)督算法(k-Means、隨機森林和one-class SVM)進行判決,過濾大量正樣本并輸出疑似異常,結合專家知識對未標記的數據集進行標注。

    (3)提出了一種基于膠囊網絡的異常多分類模型NNCapsNet,用于處理PC服務器監(jiān)控數據的異常檢測問題。該模型將卷積結構與膠囊網絡疊加起來以分層提取運維監(jiān)控時間序列的特征,并結合標量和矢量計算來處理時間序列數據。

    2 電力監(jiān)控大數據的清洗及其標簽化

    2.1 數據集介紹

    本文實驗數據集采集于國網寧夏電力有限公司營銷業(yè)務應用服務器生產的監(jiān)控數據的監(jiān)控時序數據,數據集的屬性如表1所示。該數據集提供了2020年3月1日到2020年5月31日的服務器監(jiān)控數據,采樣間隔為每5 min一次。數據集屬性的種類包括:主機進程個數、SysCpu使用率、NiceCpu使用率、UserCpu使用率、內存負載、健康運行時長、主機CPU平均負載、IdleCpu使用率、虛擬內存使用率和狀態(tài)(如表1所示)。

    Table 1 Information of dataset attributein State Grid Ningxia Electric Power Co.,Ltd.表1 國網寧夏電力有限公司數據集屬性信息

    通過對數據集屬性進行分析,最終選擇UserCpu使用率、內存負載和主機CPU平均負載這3個屬性作為異常檢測的衡量指標(如圖1、圖2和圖3所示)。內存負載可以反映服務器內存變化的狀態(tài),主機CPU平均負載和UserCpu使用率可以從全局和局部體現CPU的健康狀況。這3個屬性可以全面體現服務器運行狀況。

    Figure 1 Trend of UserCpu usage rate changing over time圖1 UserCpu使用率隨時間變化的趨勢

    Figure 2 Trend of memory load changing over time圖2 內存負載隨時間變化的趨勢

    Figure 3 Trend of host CPU average load changing over time圖3 主機CPU平均負載隨時間變化的趨勢

    由于訓練數據集缺乏標簽,而且正常數據遠多于異常數據,因此本文需要對數據集進行預處理,注入異常數據,使用無監(jiān)督算法挖掘疑似異常并對其進行標注。本文構造數據集的方法包括3個步驟:定義異常模式、注入異常數據和使用無監(jiān)督算法挖掘疑似異常。

    2.2 定義異常模式及注入異常數據

    根據電網實際運維場景及專家知識,一共定義了10種類型的故障數據。故障數據類型及其對應標簽如表2和圖4所示。

    Table 2 Fault data description表2 故障數據描述

    Figure 4 Fault data types and their corresponding labels圖4 故障數據類型及其對應標簽

    當UserCpu使用率、內存負載及主機CPU平均負載這三者的使用率都達到100%時,服務器卡死,標注為1。當內存負載的使用率為0時,無法訪問內存,標注為2。當三者的使用率都為0時,服務器死機,標注為3。當UserCpu使用率和主機CPU平均負載使用率都為0時,無法訪問CPU,標注為4。當UserCpu使用率及內存負載為0時,CPU和內存同時故障,標注為5。當UserCpu使用率為0時,應用服務器中斷,標注為6。當內存負載和主機CPU平均負載并未協調變化時,服務器性能紊亂,服務器業(yè)務運行狀態(tài)與實際監(jiān)控閾值設計邏輯不符。其中,內存負載處于高峰狀態(tài)而主機CPU平均負載處于低峰狀態(tài),標注為7;主機CPU平均負載處于高峰狀態(tài)而內存負載處于低峰狀態(tài),標注為8。當內存負載和UserCpu使用率并未協調變化時,服務器性能紊亂,服務器業(yè)務運行狀態(tài)與實際監(jiān)控閾值設計邏輯不符。其中,UserCpu使用率處于高峰狀態(tài)而內存負載處于低峰狀態(tài),標注為9;內存負載處于高峰狀態(tài)而UserCpu使用率處于低峰狀態(tài),標注為10。

    根據定義好的異常的模式,挖掘數據集中異常的同時注入故障數據,并采用過采樣及上采樣技術解決數據集不平衡問題,使得每種異常類型的數據都為400個。

    2.3 基于無監(jiān)督算法標簽化電力監(jiān)控大數據

    除了已經定義好的異常類型,本文擬采用無監(jiān)督算法挖掘出數據集中的疑似異常。利用統計判別和無監(jiān)督算法過濾掉大量的正樣本,人工標注正負樣本。本文利用集成學習的思想,采用了統計學上的異常檢測方法3-sigma,以及無監(jiān)督異常檢測算法孤立森林、k-Means聚類以及one class SVM。 3-sigma算法及各種無監(jiān)督算法的原理如下所示:

    (1)3-sigma[25]:數據需要服從正態(tài)分布。在3sigma原則下,異常值如果超過3倍標準差,那么可以將其視為異常值。如果數據不服從正態(tài)分布,也可以用遠離平均值的3倍標準差來描述。

    (2)孤立森林[10]:異常值是少量且不同的觀測值,因此更易于識別。孤立森林集成了孤立樹,在給定的數據點中隔離異常值。和其他正常的數據點相比,異常數據點的樹路徑更短。

    (3)k-means聚類[26]:通過計算樣本對象到各聚類中心的距離,在不斷的迭代循環(huán)中,將數據分配到k個類簇中,并通過預定義好的分數來發(fā)現異常值。

    (4)one class SVM[15]:對訓練數據的密度分布進行建模,將時間序列數據分為正常的和異常的2類。

    多種算法的組合加強了對正常樣本的過濾能力,提高了分類準確率。無監(jiān)督算法檢測疑似異常如圖5所示。

    Figure 5 Unsupervised algorithm detects suspected anomalies圖5 無監(jiān)督算法檢測疑似異常

    如圖5所示,本文將多變量時間序列拆分為單變量時間序列,分別對UserCpu使用率、內存負載及主機CPU平均負載進行異常檢測。首先基于3-sigma算法檢測異常,在3-sigma原則下,如果樣本數據超過3倍標準差,那么可以將其視為異常值,直接標注為疑似異常。若3-sigma算法檢測為正常,則使用無監(jiān)督算法進行檢測并輸出疑似異常。k-Means算法首先對時間序列實施聚類,然后通過子序列到聚類中心的距離來確定異常分數,當異常分數大于某一閾值的時候,將其判定為疑似異常?;诠铝⑸值漠惓z測算法規(guī)定了接近二叉樹根節(jié)點的數據為異常數據,而正常數據遠離二叉樹根節(jié)點。one class SVM算法對數據進行建模,將異常數據劃分出來。若3-sigma算法檢測為正常時,使用這3種無監(jiān)督算法進行聯合檢測,利用集成學習的思想,將2種或2種以上的算法認定為異常的時間點標記為疑似異常。

    Figure 6 Label suspected anomalies mined based on statistical discrimination and unsupervised algorithms圖6 標注基于統計判別和無監(jiān)督算法挖掘出的疑似異常

    圖6顯示了如何標注基于統計判別和無監(jiān)督算法挖掘出的疑似異常。首先分別使用無監(jiān)督算法對UserCpu使用率、內存負載及主機CPU平均負載進行異常檢測。如果在同一時間點UserCpu使用率和內存負載都被檢測為異常,則標注為11。與此同時,當在同一時間點內存負載和主機CPU平均負載同時被檢測為異常,則標注為12。當在某個時間點只有UserCpu使用率異常時,標注為13。當在某個時間點只有內存負載異常時,標注為14。類似地,當在某個時間點只有主機CPU平均負載異常時,標注為15。由于正常數據遠多于檢測出的疑似異常,因此本文采用過采樣技術解決數據集中正負樣本不平衡的問題。

    標注好的實驗數據集如表3所示,正樣本和負樣本的比例為1∶1,正負樣本數據條目都為7 000。其中負樣本包含15類異常數據,標簽1到標簽10的數據條目均為400,標簽11到標簽15的數據條目都為600。

    Table 3 Information of the constructed dataset表3 構造的數據集信息

    3 本文模型

    3.1 卷積操作獲取底層特征

    卷積神經網絡(CNN)在提取低級空間特征方面性能卓越,已經被廣泛應用于圖像識別[27]。傳統的CNN由3種類型的層組成,即用于特征提取的卷積層、用于壓縮特征圖的池化層和用于整合局部特征的線性層[28]。其中,池化層可以對數據進行降維,但是在采樣過程中可能會丟失重要的特征。因此,為了更準確地提取運維監(jiān)控時間序列的特征,只保留了卷積層。

    輸入的時間序列首先與過濾器進行一維卷積,通過滑動窗口實現卷積操作,從而學習局部特征,最后進行線性激活,如式(1)所示:

    xtk=f(xt?αtk+bk)

    (1)

    其中,xt表示對應于時間t的運維監(jiān)控時間序列的輸入,xtk表示第k個特征,?表示卷積操作,αtk表示連接輸入的共享權重,bk表示偏差,f(·)表示激活函數,本文選用ReLU函數。

    3.2 動態(tài)路由機制提取時間序列特征

    3.2.1 膠囊

    膠囊是多維向量神經元,封裝了有關對象特征的重要信息[24]??偟膩碚f,輸出向量的長度代表某個類別實例存在的概率,而方向代表了特征的位置、大小和方向等姿態(tài)信息。膠囊網絡作為一種新型的深度神經網絡,其特點在于膠囊之間是使用向量計算,而不是使用傳統的標量計算。膠囊之間的向量計算可以檢測特定實例的存在,以運維監(jiān)控時間序列的特征為例,其計算如圖7所示。

    Figure 7 Capsule calculation in time series feature detection of operation and maintenance monitoring圖7 運維監(jiān)控時間序列特征檢測中的膠囊計算

    每一個時間序列膠囊是一個多維向量,表示為μi。每一個時間序列子膠囊對在一段時間內提取的特征進行編碼。然后,對父膠囊Vj進行預測,其表征時間序列的特征。其中,權重矩陣Wj表示第i個子膠囊與第j個父膠囊之間的部分-整體關系,其關系如式(2)所示:

    (2)

    3.2.2 動態(tài)路由機制

    運維監(jiān)控時序特征提取的關鍵在于動態(tài)路由。動態(tài)路由是一種迭代路由機制,可以用于信息的選擇,確保從時序子膠囊中提取的特征可以發(fā)送到與預測最一致的時序父膠囊中。時間序列特征提取的動態(tài)路由機制如圖8所示。在圖8中,小三角和小圓點都表示時序膠囊的預測向量,即運維監(jiān)控時序特征。圖中的小圓點聚集在一起代表預測相似,而小三角點分散則代表預測差異大。從圖8可以看出,子膠囊層的時序膠囊通過耦合系數Cij連接到父膠囊層的時序膠囊,耦合系數Cij決定了時序膠囊的輸出,即需要提取的時間序列特征。

    Figure 8 Dynamic routing mechanism for time series feature extraction圖8 用于時間序列特征提取的動態(tài)路由機制

    時序膠囊的預測需要大部分都指向同一個父膠囊的小圓質心。時序子膠囊通過調整耦合系數Cij來決定路由到哪個時序父膠囊,耦合系數Cij由softmax函數計算,如式(3)所示:

    Cij=exp(bij)/∑mexp(bmk)

    (3)

    (4)

    其中,使用squash函數讓輸出向量的長度不超過1,從而表示一個時序特征的檢測概率,如式(5)所示:

    (5)

    其中,下標j代表第j個輸出向量。

    式(3)中的臨時變量bij根據式(6)更新:

    (6)

    3.3 損失函數

    膠囊網絡損失函數由2部分組成,即間隔損失 (Margin Loss)和重構損失(Reconstruction Loss)。其中間隔損失函數如式(7)所示:

    Lk=Tkmax(0,m+-‖vk‖)2+

    λ(1-Tk)max(0,‖vk‖-m-)2

    (7)

    其中,當k存在時,Tk=1,否則Tk=0;m+表示懲罰假陽性上界;m-表示懲罰假陰性下界;λ表示比例系數。

    3.4 基于膠囊網絡的異常多分類模型框架

    電網信息設備監(jiān)控數據是按時間順序排列的數據,而影響時間序列分類的重要特征可以由卷積層獲得。因此,為了充分獲取時間序列的局部特征,本文采用了3層1D-CNN進行特征提取。本文模型將卷積結構和膠囊子網絡疊加起來,分層捕獲時序特征?;谀z囊網絡的異常多分類模型如圖9所示。

    Figure 9 Anomaly multi-classification model based on capsule network圖9 基于膠囊網絡的異常多分類模型

    基于膠囊網絡的異常多分類模型主要分為4個部分:第1部分是特征提取層,使用了3層1D-CNN進行特征提取,通過多個不同的卷積核在時間序列的不同位置提取特征;第2部分是子膠囊層,該層將原始局部時序數據特征封裝成含有低層特征的時序子膠囊,并使用squash函數進行壓縮;第3部分是父膠囊層,在這一層中,時序膠囊通過與權重矩陣相乘來計算時序子膠囊與時序父膠囊的關系,然后根據動態(tài)路由協議來更新上層時序膠囊的權重;第4部分是全連接膠囊層,該層將時序數據的標簽轉換成一個概率分布,取概率值最大的作為最終的分類結果。最后,再使用重構網絡對最終生成的時序膠囊進行重構,將重構網絡生成的重構誤差作為異常多分類模型損失函數的一部分。

    3.5 基于膠囊網絡的電網多維時間序列數據異常檢測流程

    由于訓練數據集缺乏標簽,而且正常數據多于異常數據,因此本文結合電網實際運維場景及專家知識定義了電力信息系統典型業(yè)務服務器中的10種異常類型,并在數據集中注入各種類型的異常數據和故障數據,保障異常種類的多樣性。本文在數據集中一共標注了15種異常,正常數據標注為0。采用上采樣和過采樣技術解決數據集正負樣本不平衡問題,使得正常數據和異常數據的比例為1∶1。最后使用NNCapsNet對標注好的數據集進行異常分類。對應的檢測流程如圖10所示。

    基于膠囊網絡的電網多維時間序列數據異常檢測方法主要包括3個步驟:第1步是收集電網實際運維場景的原始數據集,包括UserCpu使用率和內存負載等;第2步是對收集好的數據集進行標記,根據定義好的異常模式,并基于無監(jiān)督異常檢測算法及統計學上的異常檢測方法挖掘數據集中的異常,同時注入故障數據,并采用過采樣及上采樣技術解決數據集不平衡問題,最終獲得的數據集如表3所示;第3步是將處理好的訓練數據輸入2.4節(jié)描述的基于膠囊網絡的異常多分類模型中,進行異常數據多分類實驗。

    Figure 10 Anomaly detection process of power grid multi-dimensional time series data based on capsule network圖10 基于膠囊網絡的電網多維時間序列數據異常檢測流程

    4 實驗及結果分析

    4.1 實驗設置

    本文數據集采集于國網寧夏電力有限公司營銷業(yè)務應用服務器生產的監(jiān)控數據的UserCpu使用率、內存負載及主機CPU平均負載數據,關于每個監(jiān)控數據指標的統計數據如表4所示。本文的所有算法均采用Python 3.8實現,實驗環(huán)境采用Window 10,AMD RyzenTM5 3550H with RadeonVega Mobile Gfx2.10 GHz,16 GB內存。神經網絡使用PyTorch 1.4.0+cu92實現。

    Table 4 Information of modeling data 表4 建模數據信息

    本文為了使輸入數據保留時間緯度,從時間戳中提取了年、月、日、分這4個緯度,再加上UserCpu使用率、內存負載及主機CPU平均負載,最后輸入層的大小為71。本文實驗的batchsize為100,訓練次數為200,學習率為1e-3。特征提取層由3層1D-CNN(內核大小為3,步幅為1,padding為2)組成。子膠囊層的膠囊為四維(4D),膠囊個數為16。父膠囊層則由16個八維(8D)膠囊組成,分別對應于異常類別的出現概率。更詳細的實驗超參數如表5所示。

    Table 5 Experimental parameters of NNCapsNet 表5 NNCapsNet實驗參數

    4.2 評估指標

    異常檢測模型有效性可以通過不同指標進行評價。本文使用ROC曲線畫出假陽性率和真陽性率的關系,通過計算ROC曲線下的面積AUC(Area Under the Curve)來評價模型的性能。AUC可以直觀反映分類器的效果,值越大分類效果越好。除此之外,本文還使用了準確率Acc(Accuracy)、P(Precision)、R(Recall)和F1(F1-Score)來進一步衡量模型的性能。它們的定義分別如式(8)~式(11)所示:

    (8)

    (9)

    (10)

    (11)

    其中,P表示正確預測的正樣本數占所有預測為正樣本的數量的比值,R表示正確預測的正樣本數占真實正樣本總數的比值,F1為模型準確率和召回率的調和平均值。

    通過確定正確的標簽是否在前k個預測標簽中來計算 Topk準確度。本文用Top1Acc來表示在前1個預測標簽中計算準確度,采用Top2Acc來表示在前 2個預測標簽中計算準確度。此外,AUC曲線的假陽性率FPR及真陽性率TPR的定義分別如式(12)和式(13)所示:

    (12)

    (13)

    其中,TP表示真陽性結果的數量,FP表示假陽性結果的數量,TN表示真陰性結果的數量,FN表示假陰性結果的數量。

    4.3 異常多分類效果

    4.3.1 使用測試集評估各標簽的分類情況

    本文將數據集按6∶2∶2劃分為訓練集、測試集和驗證集,以評估NNCapsNet的性能,圖11和圖12給出了測試集各標簽的分類情況。其中,圖11使用柱狀圖直觀地反映各標簽的分類性能,圖12繪制了各標簽的ROC曲線圖,依次是從標簽0到標簽15,實線為各個類的ROC曲線,點虛線為micro-average曲線圖,-虛線為macro-average曲線圖。從圖11和圖12中可以看出,各標簽均取得了較好的分類效果,其中標簽1的分類效果最好,Accuracy、AUC、P、R和F1均達到了1。這是因為標簽1的異常變化趨勢最明顯,模型可以很好地區(qū)分此類異常。標簽2、標簽3、標簽4、標簽6、標簽8和標簽9均取得了較好的分類效果,Accuracy、P、R和F1均達到0.95以上。其中除了標簽2的AUC值為0.988以外,其余標簽的AUC值均為1。這些標簽的分類效果沒有標簽1的分類效果好,這是因為這些標簽的異常變化趨勢不如標簽1那么明顯。除此之外,標簽10、標簽11、標簽12及標簽14的Accuracy、R和F1均達到了0.85以上,AUC值達到了0.98以上。無監(jiān)督異常檢測算法僅根據數據實例的內在屬性檢測異常,因此檢測的異常數據的變化趨勢沒有人工標注的異常數據那么明顯,標簽2~標簽9的分類效果沒有標簽1的分類效果好。以上實驗結果表明,NNCapsNet可以有效地識別多種異常模式并且檢測精度高,可以更高效、更精確地檢測故障,避免了因為檢測不及時導致的機器損壞和業(yè)務損失,從而提高電網及其系統的穩(wěn)定性。

    Figure 11 Classification results of various labels on the test set using NNCapsNet圖11 NNCapsNet在測試集上各標簽的分類結果

    4.3.2 五折交叉驗證

    本文采用五折交叉驗證法評估NNCapsNet的性能,表6和圖13總結了五折交叉驗證的實驗結果。如表6所示,5次驗證的Top1Acc和Top2Acc的均值分別為0.9061 6和0.970 7,說明NNCapsNet的異常分類準確率較高;在AUC方面,5次驗證的AUC分別為0.982 1,0.982 1, 0.985 4,0.979 0和0.981 7,也反映了本文模型具有良好的分類效果;5次驗證的F1、P和R的均值分別為0.898 1,0.921 7和0.898 2,綜合反映了本文的NNCapsNet在異常分類方面具有良好的性能。

    4.3.3 特征提取層

    表7和圖14總結了使用不同的CNN層作為特征提取層在五折交叉驗證框架下的性能比較。其中,1層CNN代表原有的膠囊網絡,2層~5層CNN代表本文在原有膠囊網絡的基礎上,增加了1層~4層的CNN作為特征提取層。實驗結果表明,模型的性能隨著層數的增加而提高。峰值點在CNN層數為3時,在那之后模型的性能開始下降。當使用3層CNN作為特征提取層時,模型的性能最佳,其Top1Acc、Top2Acc、P、R和F1均高于其他多層CNN的,分別達到了0.906 2,0.970 7,0.921 7,0.898 2和0.898 1。此外,AUC值和其他多層CNN的相差無幾。這表明在原有膠囊網絡的基礎上增加CNN層作為特征提取層可以充分提取多維時間序列的局部特征,保留了時間序列的時間依賴性和相關性,從而提高異常分類的準確率。但是,當CNN的層數不斷增加時,特征提取層提取到的特征變得越來越相似,導致過度平滑,模型性能開始下降。

    Figure 12 ROC curve of each label on the test set using NNCapsNet圖12 NNCapsNet在測試集上各標簽的ROC曲線

    Table 6 Five-fold cross-validation results of NNCapsNet

    Figure 13 Five-fold cross-validation charts of NNCapsNet圖13 NNCapsNet的五折交叉驗證折線圖

    Table 7 Performance comparison of different feature extraction layers under five-fold cross-validation framework表7 不同特征提取層在五折交叉驗證框架下的性能比較

    Figure 14 Performance comparison of different feature extraction layers圖14 不同特征提取層的性能比較

    4.4 動態(tài)路由迭代次數

    表8和圖15總結了膠囊網絡中動態(tài)路由迭代次數對模型性能的影響。實驗結果表明,模型的性能隨著迭代次數的增加而提高。當迭代次數為3時,模型的性能最佳,其Top1Acc、Top2Acc、AUC、P、R和F1分別達到了0.906 2,0.970 7, 0.982 1,0.921 7,0.898 2和0.898 1。當迭代次數不斷增加時,模型性能開始下降。

    Table 8 Impact of numbers of dynamic routing iteration on model performance表8 動態(tài)路由迭代次數對模型性能的影響

    Figure 15 Line charts of impact of numbers of dynamic routing iteration on model performance圖15 動態(tài)路由迭代次數對模型性能影響折線圖

    4.5 與基準模型的比較

    為了進一步驗證基于膠囊網絡的異常多分類模型NNCapsNet的有效性,在國網寧夏電力有限公司營銷業(yè)務應用服務器生產的監(jiān)控數據上將NNCapsNet與4個基準模型進行了比較。4個基準模型的具體描述如下所示:

    (1)CNN:本文采用了4層一維卷積層對時間序列數據進行特征提取,全連接層用于對異常進行分類,此外softmax層用于輸出樣本數據的標簽。

    (2)LightCNN[25]:在 CNN 的每個卷積層中引入了 maxout 激活的一種變體MFM(Max- Feature-Map)。MFM是通過競爭關系來實現的,其不僅可以分離噪聲和信息信號,還可以在2個特征圖之間起到特征選擇的作用。此外,還提出了一種語義引導方法,使網絡的預測與噪聲標簽更加一致。

    (3)AlexNet[30]:該架構由8層組成,包括5個一維卷積層和3個全連接層。在該框架中,使用ReLU激活函數加速收斂,引入了池化層防止過擬合。

    (4)CNN+RNN[31]:以不同方式結合了CNN和RNN。其中,CNN負責從數據集中提取有用的特征;RNN負責從提取的特征中找到隱藏的時間模式,它充當了異常分類器的角色。

    表9和圖16顯示了NNCapsNet與其它4個模型的性能比較。很明顯,NNCapsNet在大多數關鍵指標上都優(yōu)于其它4個模型的。NNCapsNet的AUC、Top1Acc值和Top2Acc分別達到了0.982 1,0.906 2和0.970 7,明顯高于其它4個模型的。除此之外,NNCapsNet的P、R和F1都取得了較高的值,分別達到了0.921 7,0.898 2和0.898 1。CNN在池化過程中會丟失部分特征,因此NNCapsNet的分類效果高于CNN的。 AlexNet的網絡比CNN更大更深,使用了最大池化代替平均池化,AlexNet的分類效果比CNN的要好,比NNCapsNet的差。CNN+RNN模型使用CNN提取特征,使用RNN充當異常分類器,然而一層CNN無法充分提取時序特征,因此CNN+RNN的分類效果不如NNCapsNet的??傊?實驗結果充分表明,NNCapsNet在時間序列異常多分類方面具有較好的性能,可以有效提高運維監(jiān)控數據的異常檢測準確性。

    5 結束語

    本文提出了一種基于膠囊網絡的多維時間序列數據異常多分類模型,并對該模型進行了綜合測試,還將其與其它異常多分類模型進行了比較。采用來自國網寧夏電力有限公司營銷業(yè)務應用服務器生產的監(jiān)控數據驗證了本文模型的可行性和有效性。實驗結果表明,NNCapsNet可以檢測電力信息系統典型業(yè)務服務器的不同類型的異常,并且檢測精度高,避免了故障檢測不及時導致的物理硬件損壞和線上業(yè)務中斷帶來的經營性損失,維持了電力信息設備及系統的穩(wěn)定和安全運行。

    Table 9 Performance comparison between NNCapsNet and other four models表9 NNCapsNet與其它4個模型的性能比較

    Figure 16 Performance comparison between NNCapsNet and the other four models圖16 NNCapsNet與其它4個模型的性能比較

    猜你喜歡
    使用率內存標簽
    “春夏秋冬”的內存
    當代陜西(2019年13期)2019-08-20 03:54:22
    無懼標簽 Alfa Romeo Giulia 200HP
    車迷(2018年11期)2018-08-30 03:20:32
    不害怕撕掉標簽的人,都活出了真正的漂亮
    海峽姐妹(2018年3期)2018-05-09 08:21:02
    標簽化傷害了誰
    基于多進制查詢樹的多標簽識別方法
    計算機工程(2015年8期)2015-07-03 12:20:27
    胃腸外科圍手術期合理使用抗菌藥物的探討
    基于內存的地理信息訪問技術
    嚇死我了
    嚇死我了
    凝聚智慧,著眼未來
    洛南县| 昭平县| 工布江达县| 论坛| 定安县| 贵溪市| 闸北区| 静安区| 江川县| 苍山县| 福建省| 黔东| 平阴县| 陆川县| 林口县| 泰来县| 南宫市| 偃师市| 渝北区| 柳江县| 油尖旺区| 墨脱县| 光泽县| 达日县| 张家港市| 郎溪县| 大理市| 南涧| 青铜峡市| 漳平市| 桂阳县| 深州市| 富民县| 陆丰市| 汪清县| 兴文县| 周口市| 岑巩县| 南投市| 汨罗市| 宁城县|