徐麗燕,徐 康,黃興挺,李熠軒,季學純,葉 寧
(1.智能電網(wǎng)保護和運行控制國家重點實驗室,江蘇 南京 211106;2.南瑞集團(國網(wǎng)電力科學研究院)有限公司,江蘇 南京 211106;3.南京郵電大學 計算機學院、軟件學院、網(wǎng)絡空間安全學院,江蘇 南京 210003;4.南京郵電大學 貝爾英才學院,江蘇 南京 210003)
為保障網(wǎng)絡系統(tǒng)的正常運行,運維人員需要時刻監(jiān)控海量的數(shù)據(jù)。其中,關鍵性能指標(Key Performance Indicator,KPI)異常檢測是一個底層核心任務[1],其目標是根據(jù)KPI變化曲線,從大量數(shù)據(jù)中找出與預期不符的離群點,也就是系統(tǒng)軟硬件服務的異常。隨著服務系統(tǒng)的大型化與復雜化,需要監(jiān)控的關鍵性能指標呈現(xiàn)多樣化、規(guī)?;内厔荨@萌斯ぶ悄芗夹g和機器學習算法對大型網(wǎng)絡系統(tǒng)進行異常檢測成為智能運維技術發(fā)展的必然趨勢[2]。深度學習算法利用神經網(wǎng)絡自動學習特征,憑借強學習能力與高適應力的優(yōu)勢在異常檢測領域變得越來越流行,并已應用于各種任務。研究表明,在異常檢測領域,深度學習[3]方法已經完全超越傳統(tǒng)方法[4]。
傳統(tǒng)深度異常檢測方法通過搭建神經網(wǎng)絡自動化地完成特征提取并對異常進行量化評估。例如,基于自編碼器的方法[5]通過自編碼器重構原始數(shù)據(jù)的誤差,評估異常值;基于對抗生成網(wǎng)絡的方法[6]根據(jù)生成器模擬原始數(shù)據(jù),通過原始數(shù)據(jù)與模擬數(shù)據(jù)的誤差以及判別器的值協(xié)同評估數(shù)據(jù)的異常值。而各種神經網(wǎng)絡框架如循環(huán)神經網(wǎng)絡[7](Recurrent Neural Network,RNN)、長短期記憶網(wǎng)絡[8](Long Short-Term Memory,LSTM)在異常檢測中的應用,一定程度解決了異常檢測時間序列在時間上的相關性問題。
更復雜的組合模型也被應用于時序數(shù)據(jù)異常檢測領域。基于RNN、LSTM等循環(huán)神經網(wǎng)絡和編碼-解碼框架的網(wǎng)絡能捕獲長短期的時間序列的趨勢[9-10],但RNN、LSTM等方法仍然難以很好地捕獲時序中的長距離依賴,并且難以并行計算[11]。Li等人提出了基于生成對抗網(wǎng)絡(Generative Adversarial Networks,GAN)的MAD-GAN模型[12],這類基于GAN重構數(shù)據(jù)的模型相較于自編碼器具有更好的生成能力,但對抗生成網(wǎng)絡存在著模式崩潰等問題。最近,圖神經網(wǎng)絡(Graph Neural Network,GNN)也被應用于多元時間序列[13],通過圖結構建模變量之間的關系來預測某個節(jié)點的值[14],但這類方法過于依賴于單個時間點之間的關聯(lián),而沒有有效利用序列的上下文信息。
盡管已經提出了很多基于深度學習的異常檢測方法,但現(xiàn)有的方法仍有兩點不足:
(1)現(xiàn)有的深度學習方法建模序列數(shù)據(jù)時因其長期依賴性導致模型性能下降。
(2)現(xiàn)有的時序深度學習模型中因其包含遞歸運算導致模型難以并行計算。
針對以上兩點不足,提出一種基于Transformer[15]的時序數(shù)據(jù)異常檢測方法(Devformer)。利用多頭自注意力機制[16]并行化地處理當前上下文環(huán)境中的全部數(shù)據(jù),自動化地提取每個時間節(jié)點數(shù)據(jù)的長距離依賴特征;利用編碼-解碼框架[17],建立一個端到端的異常得分模型,得到每個時刻異常傾向的量化評估。
相較已有方法,這篇文章的主要貢獻有:
(1)將Transformer引入異常檢測領域,有效解決異常檢測時間序列上下文依賴與神經網(wǎng)絡并行化運算問題。
(2)在WADI、SWaT、KDDCUP99與AIOPS18數(shù)據(jù)集上的異常檢測實驗中,Devformer表現(xiàn)優(yōu)于現(xiàn)有的時序數(shù)據(jù)異常檢測的對比方法。
這部分將主要介紹時序數(shù)據(jù)的異常檢測與Transformer。
異常監(jiān)測是對數(shù)據(jù)集中不匹配預期模式的離群點進行識別,屬于不均衡數(shù)據(jù)的分類問題[18]。異常檢測的核心就在于建立一個合適的模型,自動學習數(shù)據(jù)的深層次特征,得到正常和異常的決策邊界,以區(qū)分正常和異常樣本。
時序數(shù)據(jù)指以一定的時間間隔持續(xù)捕獲的一系列指標數(shù)據(jù)。網(wǎng)絡系統(tǒng)的流量變化,銀行的量化交易,工業(yè)物聯(lián)網(wǎng)的環(huán)境監(jiān)控都具體表現(xiàn)為時間序列數(shù)據(jù),是系統(tǒng)正常工作與性能變化的最直觀反映。因此,通過監(jiān)測時序數(shù)據(jù)的變化,實現(xiàn)異常檢測是智能運維領域的重要內容?;跁r序數(shù)據(jù)普遍表現(xiàn)出數(shù)據(jù)量大、監(jiān)測指標多、異常種類多樣的特點,更適合使用學習能力強的深度學習方法實現(xiàn)時序數(shù)據(jù)的異常檢測。
傳統(tǒng)的統(tǒng)計學方法通過移動差分自回歸[19]等模型分解并平穩(wěn)化時間序列,異常檢測具有明顯季節(jié)性與趨勢性的非平穩(wěn)時間序列,但由于數(shù)據(jù)維度災難的原因,難以捕捉高維或非線性關系,對異常與正常分界模糊的數(shù)據(jù)分類困難。支持向量機[20]、決策樹和隨機森林[21]的分類方法與XGBoost[22]等回歸算法解決了上述問題,較快且較好地擬合非線性或高維數(shù)據(jù),一定程度避免了過擬合的問題,提高了模型的泛化能力。但傳統(tǒng)的關鍵性能指標異常檢測方法并沒有充分考慮時間序列的上下文信息,難以捕獲異常對全文信息的依賴。
在基于機器學習的異常檢測方法中,需要對原始數(shù)據(jù)進行特征工程,提取樣本特征。特征的選取決定了異常檢測的效果,但卻取決于相關領域的專家經驗,導致檢測效果并不穩(wěn)定。同時,異常檢測時間序列數(shù)據(jù)量大且異常種類多的特點,決定了機器學習算法在異常檢測領域的局限性。因此,引入對大規(guī)模高維數(shù)據(jù)、非線性參數(shù)學習能力更強的深度學習異常檢測方法。
Transformer作為一種新型的神經網(wǎng)絡框架,利用自注意力機制學習數(shù)據(jù)的長距離依賴關系,利用編碼-解碼框架實現(xiàn)輸入與輸出的端到端運算。
注意力是有限的,并且數(shù)據(jù)中總有冗余信息。Transformer的自注意力機制解決了如何將有限的注意力聚焦在有效信息。自注意力機制捕獲數(shù)據(jù)的長距離依賴關系,以并行運算模式使數(shù)據(jù)對不同距離數(shù)據(jù)的依賴關系學習能力相同,解決了LSTM等方法因包含遞歸運算而導致模型難以并行計算,同時長期依賴性會導致模型性能下降的問題。
Transformer最初被應用于機器翻譯[15],用于學習句內單詞的相關性。Transformer框架憑借學習長距離依賴關系的優(yōu)勢,較好地適應了時間序列中當前數(shù)據(jù)值依賴于歷史數(shù)據(jù)的特征。同時,Dai等人引入段級遞歸機制,有效地解決了Transformer并行運算機制中分批次投入導致的上下文碎片問題[23]。各項研究表明,Transformer在序列數(shù)據(jù)處理任務表現(xiàn)出較優(yōu)的性能。Wu等人通過改變編碼器的輸入與解碼器的輸入、輸出模式將Transformer用于時序數(shù)據(jù)的預測[24];Bryan Lim等人在時序預測任務中,將LSTM應用于Transformer的編碼器并結合門限機制提高了時序預測的精度[25]。
而近年來,Transformer也被應用于時序數(shù)據(jù)異常檢測的任務中。Chen等人在構建的模型中使用Transformer架構建模時序數(shù)據(jù)的依賴關系[26];Li等人提出的基于生成對抗網(wǎng)絡的模型也使用了Transformer組件構成GAN模型的生成器,來挖掘時序數(shù)據(jù)的深層信息[27];Wang等人將Transformer與變分自編碼器(Variational Auto-Encoder,VAE)結合起來,在多元時序數(shù)據(jù)上進行異常檢測[28];Xu等人同樣通過Transformer對每個時間點計算自注意力權重來得到點與序列之間的關系[29];這些工作展現(xiàn)了Transformer在時序數(shù)據(jù)處理上的優(yōu)秀性能。
時序型的多維KPI數(shù)據(jù)及其對應的異常標簽為本模型的輸入和輸出。該文使用滑動窗口方法處理原始時序數(shù)據(jù)獲取窗口數(shù)據(jù)。
本模型輸入的時間序列數(shù)據(jù)處理為T個長度為m的滑動窗口,每個滑動窗口數(shù)據(jù)記作Seriest,為模型輸入的基本單位。以圖1為例,模型將5條數(shù)據(jù)處理為3個長度為3的滑動窗口。本模型的編碼器將輸入的Series1…T編碼為中間表示C1…T,Ct=fe(xt1,xt2,…,xtm),其中xt1,xt2,…,xtm為Seriest的每個時間點的多維KPI向量數(shù)據(jù),fe(…)為Transformer編碼器[15]。接著,使用解碼器φt=fd(Ct,Seriest),將中間表示Ct和Seriest作為Transformer解碼器fd(…)的輸入,輸出為異常得分Φt。使用分數(shù)生成器生成規(guī)范化的異常得分dev(Φt),模型假設Seriest的異常得分滿足高斯分布,其中Margin為正常值和異常值的閾值,μ和σ為高斯分布的均值和標準差。Seriest中的異常得分表示時間窗口內最后一個時間點數(shù)據(jù)的異常得分。
本模型訓練基于Transformer的異常檢測模型,主要分為三個模塊:(1)編碼器模塊,輸入為預處理后的窗口數(shù)據(jù),輸出數(shù)據(jù)的中間表示;(2)解碼器模塊,輸入為預處理后的窗口數(shù)據(jù)和編碼器的中間表示,輸出窗口數(shù)據(jù)的初始異常分數(shù);(3)分數(shù)生成器,將初始異常分數(shù)通過分數(shù)生成器生成規(guī)范化的異常得分,最后通過閾值判別數(shù)據(jù)中的異常,通過該異常得分模型,當滑動窗口的異常得分Φt>Margin時,判斷滑動窗口的最后一條數(shù)據(jù)為異常。具體流程如圖2所示。
圖2 基于Transformer的時序數(shù)據(jù)異常檢測框架
Devformer編碼器主要分為多頭自注意力機制,殘差與歸一化網(wǎng)絡兩個模塊。
2.1.1 多頭注意力機制
注意力機制有三個輸入:Query,Key,Value。由Query索引鍵值Key,計算兩者相關性,再加權Value得到注意力矩陣。
Attention(Query,Key,Value)=
(1)
定義三個矩陣WQ、WK、WV分別作為Query、Key、Value取相同值Seriest時的權重,注意力機制能夠捕捉序列內部的依賴關系。
(2)
將多維的時序數(shù)據(jù)切片分別訓練,并將多次注意力機制結果用前饋神經網(wǎng)絡拼接。多頭的機制能夠提高模型的訓練效率,有助于捕捉更豐富的特征。
Multihead(Q,K,V)=concat[head1,…,
headn]Wo
(3)
headi=Attention(Qi,Ki,Vi)
(4)
其中,n為頭的數(shù)量,i為頭的索引。
2.1.2 殘差與歸一化網(wǎng)絡
(5)
歸一化網(wǎng)絡基于Seriest的均值與方差,不斷調整神經網(wǎng)絡中間輸出,使編碼器輸出Ct更加穩(wěn)定,起到正則化作用。
(6)
在前饋神經網(wǎng)絡后添加殘差與歸一化網(wǎng)絡有同樣的效果。
Devformer解碼器主要分為后遮擋的自注意力機制、殘差與歸一化網(wǎng)絡、注意力解碼機制三個模塊。
MaskedAttention(Query,Key,Value)=
(7)
WVSeriest)
(8)
其中,mask為與Seriest相同維度的單位上三角矩陣,-inf的含義為負無窮。在進入激活函數(shù)前,Query和Key的點積結果需要先經過mask層。mask層將注意力矩陣的上三角置為負無窮,對應激活后的注意力系數(shù)趨于0,使當前時刻數(shù)據(jù)的異常得分與未來時刻無關。
(9)
最后通過前饋神經網(wǎng)絡進行降維處理,輸出單維的Φt,作為Seriest最后一條數(shù)據(jù)xtm異常得分。
(3) 若Uα,取V=[α],則對任意的(x,z)V°V,存在L,使得(x,y)V, (y,z)V。由[α]的定義知(x→y)?(y→z)≥α,同時(y→z)?(z→y)≥α。
(10)
解碼器中的每個注意力網(wǎng)絡與前饋神經網(wǎng)絡都加入了殘差與歸一化網(wǎng)絡。
Devformer以多頭自注意力機制的編碼-解碼框架學習異常得分之后,假設所有數(shù)據(jù)的異常得分滿足高斯分布,構造一個損失函數(shù)。基于異常檢測時間序列異常數(shù)量少而種類多的特征,該文采用偏差網(wǎng)絡框架[30],通過高斯分布獲取參考分數(shù),建立基于Z得分的損失函數(shù)。
Devformer由解碼器獲得異常得分fd(Ct,Seriest)后,采用先驗驅動的方法,從標準高斯分布中隨機抽取一定數(shù)量的樣本,并取樣本的平均值、標準差作為參考分數(shù)。
r1,r2,…,rm~N(μR,σR)
(11)
(12)
(13)
其中,ri(1≤i≤m)為隨機選取的一組數(shù)據(jù)的異常得分,m為數(shù)據(jù)量,μR為先驗數(shù)據(jù)集參考分數(shù)的數(shù)學期望,σR為參考分數(shù)的方差。
(14)
引入L(φt,μR,σR)作為損失函數(shù):
L(φt,μR,σR)=(1-y)|dev(φt)|+ymax(0,a-dev(φt))
(15)
其中,y為Seriest最后一條數(shù)據(jù)的異常標記。
在基于Z得分建立的損失函數(shù)中,正常數(shù)據(jù)的異常得分會向0靠近,異常數(shù)據(jù)的異常得分會遠離0,或保持大于a的值不變,以此實現(xiàn)了正常數(shù)據(jù)和異常數(shù)據(jù)異常得分的區(qū)分。在異常檢測過程中,時序數(shù)據(jù)xt投入已訓練的模型,將輸出對應的異常得分Φt。將異常得分在[0,a]范圍內的數(shù)據(jù)歸為正常,否則為異常。
算法1給出了基于偏差網(wǎng)絡的Transformer算法的異常得分模型建立方法。
算法1:Devformer模型訓練方法。
輸入:n維的異常檢測時間序列X∈Rn的集合;
輸出:異常評分網(wǎng)絡Φt∈R。
預處理數(shù)據(jù)集建立T個長度為m的滑動窗口集合{Seriest};/*m為滑動窗口長度*/
(1)隨機初始化編碼器向量{Ct};
(2)fori=1 to epochs do
(3)forj=1 to nb_batch do
(4)從訓練集隨機抽取batch_size個數(shù)據(jù)投入訓練;
(5)將m維序列切成n片,每片m/n維,分別訓練后將結果拼接;/*m為n的整數(shù)倍*/
(6)編碼器編碼所有的Seriest為中間向量Ct;
(7)解碼器解碼Seriest、Ct,獲得異常得分Φt
(8)梯度下降最小化損失函數(shù)L(φt,μR,σR);
(9)end for
(10)end for
(11)return 0
在數(shù)據(jù)集中隨機采集固定數(shù)量的正常數(shù)據(jù)和異常數(shù)據(jù),保證模型單次投入的數(shù)據(jù)組中正常數(shù)據(jù)和異常數(shù)據(jù)數(shù)量相等,訓練足夠數(shù)量的異常數(shù)據(jù),解決時序數(shù)據(jù)集異常類別不平衡的問題。
該文由Python3.8與Tensorflow2.3.0搭建了基于Transformer的時序數(shù)據(jù)異常檢測模型,并利用SWaT、WADI和KDDCUP99、AIOPS18四個數(shù)據(jù)集評價該模型的性能。表1為數(shù)據(jù)集基本信息。
表1 數(shù)據(jù)集基本信息
表1中,Train Rate表示訓練集中異常數(shù)所占比例,Test Rate表示測試集中異常數(shù)所占比例。
SWaT與WADI數(shù)據(jù)集分別來自新加坡科技與設計大學網(wǎng)絡安全中心的配水系統(tǒng)與水安全處理系統(tǒng)的攻擊檢測。SWaT數(shù)據(jù)集的KPI來自對應系統(tǒng)的網(wǎng)絡流量與51個傳感器與執(zhí)行器的數(shù)據(jù),WADI數(shù)據(jù)集的KPI來自配水系統(tǒng)123個傳感器與執(zhí)行器的數(shù)據(jù)。
KDDCUP 99數(shù)據(jù)集來自1999年KDDCUP競賽的比賽數(shù)據(jù),模擬了US空軍局域網(wǎng)環(huán)境,并監(jiān)控了34類關鍵性能指標,其異常來自局域網(wǎng)受到的模擬攻擊;AIOPS18數(shù)據(jù)集來自2018年AIOPS挑戰(zhàn)賽的比賽數(shù)據(jù)集,該數(shù)據(jù)集由時間戳、一維的關鍵性能指標與異常標記組成,體現(xiàn)了智能運維在時間序列異常檢測領域的代表形式。
上述數(shù)據(jù)集,長時間、短間隔地記錄多維的關鍵性能指標(如網(wǎng)絡流量、傳感器與執(zhí)行器的所有值)與異常檢測標簽,符合模型異常檢測的時序要求與深度學習的大數(shù)據(jù)量與高維數(shù)據(jù)的要求。
實驗中,偏差網(wǎng)絡損失函數(shù)的置信度邊界值(confidence margin)設置為5.0,高斯分布數(shù)據(jù)量設置為5 000時,實驗結果較優(yōu)。
設置模型訓練次數(shù)epochs為800,單次訓練投入數(shù)據(jù)組批數(shù)nb_batch為10,一批數(shù)據(jù)組的數(shù)據(jù)量batch_size為30。
實驗使用準確率(Precision)、召回率(Recall)和F1分數(shù)衡量模型異常檢測的效果:
(16)
(17)
(18)
其中,TP為正確檢測的異常數(shù),F(xiàn)P為檢測為異常的正常數(shù),F(xiàn)N為檢測為正常的異常數(shù)。
異常檢測的目標是盡可能完全地檢測出異常,在進行實驗與模型評估時,更加重視模型在召回率指標上的表現(xiàn)。因此,在保證F1分數(shù)更高的同時,該文主要使用召回率作為模型的性能衡量指標。
將基于偏差網(wǎng)絡的Transformer異常檢測方法分別與主成分分析異常檢測方法(PCA)、隨機森林異常檢測方法(Random Forest)、基于偏差網(wǎng)絡的長短期記憶(LSTM)異常檢測方法、文獻[12]中基于生成對抗網(wǎng)絡的重構方法MAD-GAN、文獻[30]中基于偏差網(wǎng)絡的深度學習模型Devnet、文獻[14]中基于圖注意力網(wǎng)絡的GDN模型進行比較。其中,MAD-GAN將數(shù)據(jù)映射到潛在空間,并通過潛在空間重構數(shù)據(jù),計算重構損失得到異常得分;Devnet結合高斯先驗分布計算偏差損失,通過端到端方式直接優(yōu)化模型;GDN將數(shù)據(jù)的每個特征維度作為圖神經網(wǎng)絡的一個節(jié)點,通過節(jié)點相似度學習圖結構,結合注意力機制計算每個節(jié)點的異常得分。
具體實驗結果如表2所示,表2中加粗部分表示單個數(shù)據(jù)集中最優(yōu)的性能。
表2 不同方法的性能比較
實驗結果表明,相較于其他方法,Devformer能夠較好地分析出時間序列的長距離依賴關系,能夠全面檢測出存在的異常,在召回率方面有著顯著的優(yōu)勢。
對于SWaT數(shù)據(jù)集,Devformer擁有最高的召回率,相較于召回率第二的主成分分析方法,提升了高達0.050 2的得分,提升率達6.275%;同樣,在特征數(shù)量更多的WADI數(shù)據(jù)集上,Devformer的召回率依然最高,達到了0.982 4,相比于其他對比方法,召回率得分有著平均0.376 4的提升;對于KDDCUP99數(shù)據(jù)集,Devformer的召回率也超過了0.95,在保證可觀的召回率的同時,還擁有出色的準確率(得分超過0.99),F(xiàn)1值也超過了0.97,相較于其他方法,三項指標均為最高水準,體現(xiàn)出了模型優(yōu)秀的綜合性能;同樣,在AIOPS18數(shù)據(jù)集上,Devformer的三項指標均為最高,在Recall值上有著平均0.194 7的提升。
經分析發(fā)現(xiàn),Devformer的性能在大規(guī)模數(shù)據(jù)集中更優(yōu)。并且,Devformer在特征維度較高的WADI與僅包含六個特征的AIOPS18數(shù)據(jù)集上,都有著優(yōu)秀的性能表現(xiàn),說明了該模型對不同的特征維度均具有良好的適應性。Devformer在WADI數(shù)據(jù)集中準確率過低,在SWaT數(shù)據(jù)集中召回率不夠高,主要因為訓練數(shù)據(jù)量不足。各深度方法對于AIOPS18數(shù)據(jù)集的訓練效果均不理想,是因為該數(shù)據(jù)集的關鍵性能指標維度過低導致的數(shù)據(jù)中包含的特征信息過少,可以通過抽樣重復訓練的方法提升訓練效果。
Devformer中窗口大小(即序列長度)通過影響模型捕獲單個異常對其他數(shù)據(jù)依賴的最大距離,而對模型性能影響巨大。為了分析不同序列長度對模型準確率、召回率與F1的影響,本實驗控制其他變量不變,通過設置不同的序列長度,分析序列長度對模型性能的影響。實驗結果如圖3所示。
圖3 序列長度對模型性能的影響
在實際應用中,訓練用數(shù)據(jù)集是有噪聲的,即無法將所有的異常標注。Devformer的偏差網(wǎng)絡更關注異常并重復訓練陽性數(shù)據(jù),減少了假陰型樣本的干擾。為了證明Devformer對假陰型數(shù)據(jù)的抗干擾能力,在訓練集中分別增加0%、2%、5%、10%、20%的假陰性樣本,比較Devformer分別與主成分分析異常檢測方法(PCA)、隨機森林異常檢測方法(Random Forest)、文獻[12]的MAD-GAN、文獻[30]中的Devnet、基于偏差網(wǎng)絡的長短期記憶(LSTM)異常檢測方法在有噪聲的KDD訓練集中的性能。實驗結果如圖4所示。
圖4 污染訓練集對模型性能的影響
實驗證明,Devformer具有較好的魯棒性,即使訓練集中有較多的假陰型樣本,對模型性能也不會有明顯影響。這是因為Devformer采集大量正常數(shù)據(jù)的異常得分建立正態(tài)分布作為參考分數(shù),即使數(shù)據(jù)中有少量假陰型樣本作為異常數(shù)據(jù),對模型學習到的分布影響不大。
在Devformer中設置了不同數(shù)量的Transformer層,模型表現(xiàn)出不同的性能,圖5顯示了三個數(shù)據(jù)集WADI、SWaT和KDDCUP99在不同Transformer層數(shù)的模型中的性能變化。
圖5 Transformer層數(shù)對模型性能的影響
實驗結果表明,該模型在SWaT數(shù)據(jù)集、KDDCUP99數(shù)據(jù)集以及WADI數(shù)據(jù)集Transformer層數(shù)分別設置為3層、5層和1層時表現(xiàn)最佳。
當Transformer層數(shù)過多時,神經網(wǎng)絡過于復雜,會導致過擬合的問題;Transformer層數(shù)過少,可能導致簡單的神經網(wǎng)絡難以學習高維度數(shù)據(jù)中復雜的異常模式。
該文提出了一種用于時間序列的基于Devformer的深度異常檢測方法。首先,通過基于時間窗口的方法預處理時序數(shù)據(jù);其次,通過Transformer和基于Z得分的偏差網(wǎng)絡建立異常得分模型。實驗結果表明,相比于現(xiàn)有深度學習異常檢測方法,該方法對于大規(guī)模時間序列的異常檢測有更好的召回率、穩(wěn)定性和抗干擾性。
由于Devformer的神經網(wǎng)絡較為復雜,模型訓練時間偏長,且若訓練數(shù)據(jù)規(guī)模過小,模型效果偏差。Devformer中神經網(wǎng)絡的簡化與提優(yōu)是很重要的研究課題,可以提高模型訓練效率以及對小規(guī)模數(shù)據(jù)的適應能力。