李琪林 嚴(yán)平 宿欣宇 袁鐘 彭德中 劉益志
摘 要:異常用電檢測旨在識別出不符合正常用電規(guī)律或者違反用電合約的用電行為。針對現(xiàn)有基于重構(gòu)的檢測方法依賴標(biāo)記的正常樣本和難以捕捉復(fù)雜時間依賴性的問題,提出一種基于深度孿生自回歸網(wǎng)絡(luò)的無監(jiān)督異常用電行為檢測模型(DSAD)。所提模型通過兩個孿生自回歸子網(wǎng)絡(luò)來分別獨(dú)立地對無標(biāo)記的輸入數(shù)據(jù)進(jìn)行重構(gòu),再將兩個子網(wǎng)絡(luò)的重構(gòu)誤差相結(jié)合來預(yù)測數(shù)據(jù)中的正常樣本,并利用多頭自注意力機(jī)制來有效地捕捉時間依賴性、周期性和隨機(jī)性等復(fù)雜特征。在大規(guī)模時序數(shù)據(jù)集和國家電網(wǎng)真實(shí)用電數(shù)據(jù)集上進(jìn)行實(shí)驗(yàn),所獲得的結(jié)果表明,DSAD模型在AUC以及AP等性能指標(biāo)上取得了更好的檢測效果。
關(guān)鍵詞:智能電網(wǎng);異常用電檢測;深度孿生自回歸網(wǎng)絡(luò);多頭注意力機(jī)制;無監(jiān)督學(xué)習(xí)
中圖分類號:TP391?? 文獻(xiàn)標(biāo)志碼:A??? 文章編號:1001-3695(2023)12-030-3717-06
doi: 10.19734/j.issn.1001-3695.2023.07.0337
Unsupervised abnormal power consumption detection via deep siamese autoregressive network
Abstract:Abnormal electricity consumption detection aims to identify electricity consumption behaviors that do not conform to normal electricity consumption patterns or violate electricity consumption contracts. To address the issues of existing reconstructionbased detection methods relying on labeled normal samples and failing to capture complex time dependencies, this paper proposed an unsupervised abnormal electricity consumption detection model based on deep siamese autoregressive networks (DSAD), which used two siamese autoregressive subnetworks to independently reconstruct the unlabeled input data, and then combined the reconstruction errors of the two subnetworks to predict the normal samples in the data, and utilized multihead selfattention mechanism to effectively capture complex features such as time dependency, periodicity and randomness. The results obtained from experiments on largescale time series datasets and real electricity consumption datasets from state grid show that the proposed method achieves better detection performance in terms of AUC and AP.
Key words:smart grid; abnormal electricity consumption detection; deep siamese autoregressive network; multihead attention; unsupervised learning
0 引言
異常用電檢測是指通過分析和處理電力系統(tǒng)中的用電數(shù)據(jù),識別出不符合正常用電規(guī)律或者違反用電合約的用電行為的過程。異常用電行為不僅導(dǎo)致大量的電力損耗和巨額的經(jīng)濟(jì)損失,還增加了用電安全事故發(fā)生的風(fēng)險。因此,異常用電檢測在保障電力供應(yīng)安全、促進(jìn)電網(wǎng)可靠運(yùn)行和維護(hù)電力企業(yè)的經(jīng)濟(jì)利益等方面具有重要的研究意義和應(yīng)用價值。
傳統(tǒng)的異常用電行為檢測方法主要是依靠人力實(shí)現(xiàn)的,通過人工檢查和對比異常電表讀數(shù),檢查被繞行的輸電線路等[1]。此類方法費(fèi)時費(fèi)力、人工成本高且效率較低,檢查人員需要具備相關(guān)領(lǐng)域的專業(yè)知識來做出正確的判斷。隨著智能電網(wǎng)中大量智能硬件設(shè)備的鋪設(shè),電力系統(tǒng)中產(chǎn)生了大量高維度的電力使用數(shù)據(jù)[2],使得通過對收集到的電力數(shù)據(jù)進(jìn)行分析和檢測成為了可能,大量數(shù)據(jù)驅(qū)動的檢測方法得到廣泛應(yīng)用。這類檢測方法通過對海量數(shù)據(jù)進(jìn)行分析和挖掘,從而學(xué)習(xí)數(shù)據(jù)中的異常模式。考慮到在真實(shí)場景中異常情況與正常樣本相比通常十分稀少,人工標(biāo)記較為困難,并且隨著時間推移可能會有新的異常模式產(chǎn)生,難以通過有監(jiān)督的方法來進(jìn)行異常檢測,因此本文采取無監(jiān)督的異常用電行為檢測范式。
無監(jiān)督異常檢測方法通過分析大量數(shù)據(jù)的分布,并對異常模式提出某種假設(shè)來識別異常點(diǎn),無須數(shù)據(jù)標(biāo)記,因而具有較強(qiáng)的適應(yīng)性。大量無監(jiān)督檢測方法通過重構(gòu)的方式來提取正常數(shù)據(jù)的模式[3~5]。當(dāng)一個樣本與正常模式差異越大時,重構(gòu)誤差也會越大,就越有可能是異常點(diǎn)。然而,這類檢測方法面臨兩個主要挑戰(zhàn):一是如何獲取足夠數(shù)量的正常樣本進(jìn)行模型訓(xùn)練。一些研究采用啟發(fā)式規(guī)則來粗略篩選出可能的正常樣本,然后設(shè)計有監(jiān)督檢測方法(如自編碼器[5])來學(xué)習(xí)數(shù)據(jù)的正常模式。這些規(guī)則常常引入額外的噪聲,從而影響其精度,并且還需要考慮數(shù)據(jù)中類別不均衡對模型訓(xùn)練帶來的影響。二是如何同時捕捉時間序列的時間依賴性、周期性和隨機(jī)性等復(fù)雜特征。Fraccaro等人[6]的研究表明,僅使用隨機(jī)模型很難捕捉時間序列的長期依賴性和復(fù)雜分布。Park等人[7]試圖用長短時記憶神經(jīng)網(wǎng)絡(luò)(long shortterm memory,LSTM)來替換變分自編碼器(variational autoencoder, VAE)中的前向網(wǎng)絡(luò),但其隨機(jī)變量非常簡單,無法提取數(shù)據(jù)的時間依賴性。此外,Su等人[8]采用了變分技術(shù)來進(jìn)一步提高對復(fù)雜時間序列的建模能力。盡管這些方法在時間序列異常檢測中可以獲得比其基線更好的性能,但它們一般采用循環(huán)神經(jīng)網(wǎng)絡(luò)(RNN)或其變體來建模時間信息,很難捕捉到長期的時間依賴性[9]。
針對上述挑戰(zhàn),本文提出一種基于深度孿生自回歸網(wǎng)絡(luò)的無監(jiān)督異常用電行為檢測模型(deep siamese autoregressive network for unsupervised abnormal power consumption detection,DSAD)。該模型通過兩個孿生自回歸子網(wǎng)絡(luò)來分別獨(dú)立地對無標(biāo)記的輸入數(shù)據(jù)進(jìn)行重構(gòu),并將兩個子網(wǎng)絡(luò)的重構(gòu)誤差相結(jié)合來預(yù)測數(shù)據(jù)中的正常樣本,進(jìn)而通過重構(gòu)正常樣本的行為模式來學(xué)習(xí)數(shù)據(jù)的有效表示;利用多頭自注意力機(jī)制(multihead attention)[10]有效地捕捉時序用電數(shù)據(jù)中的時間依賴性、周期性和隨機(jī)性等復(fù)雜特征,通過比較輸入樣本與其重構(gòu)輸出之間的差異,可以計算重構(gòu)誤差作為異常度量。本文通過三個大規(guī)模時序數(shù)據(jù)集和國家電網(wǎng)發(fā)布的真實(shí)用電數(shù)據(jù)集對所提方法進(jìn)行了綜合評估。實(shí)驗(yàn)結(jié)果表明,本文基于無監(jiān)督深度孿生自回歸網(wǎng)絡(luò)的異常用電行為檢測模型能夠有效地捕捉到用電行為數(shù)據(jù)中的正常模式,從而能夠準(zhǔn)確地標(biāo)識和檢測出異常用電行為。
1 相關(guān)工作
基于數(shù)據(jù)挖掘的異常用電行為檢測是時間序列異常檢測的一個子領(lǐng)域?,F(xiàn)有的時間序列異常檢測方法根據(jù)其訓(xùn)練所需數(shù)據(jù)標(biāo)注情況的不同,可以被劃分為有監(jiān)督的、無監(jiān)督的和半監(jiān)督的檢測方法。
有監(jiān)督方法通過分析人工標(biāo)記的訓(xùn)練集構(gòu)造決策函數(shù)或分類模型,并以此對新數(shù)據(jù)進(jìn)行預(yù)測,經(jīng)典的算法有隨機(jī)森林、支持向量機(jī)等。張承智等人[11]提出一種基于實(shí)值深度置信網(wǎng)絡(luò)的異常檢測模型,并通過螢火蟲算法進(jìn)行參數(shù)優(yōu)化。王安軍等人[12]通過使用差分進(jìn)化算法實(shí)現(xiàn)對支持向量機(jī)中參數(shù)的自動優(yōu)化,通過Kmeans聚類和SMOTE算法生成異常用電樣本,具有較好的檢測效果。上述方法都需要人工提取數(shù)據(jù)中的特征信息,十分依賴專業(yè)領(lǐng)域知識和經(jīng)驗(yàn)。借助深度學(xué)習(xí)強(qiáng)大的特征提取能力,Zhang等人[13]構(gòu)造了基于LSTM的深度神經(jīng)網(wǎng)絡(luò)進(jìn)行竊電檢測,并取得了較高的準(zhǔn)確率。為進(jìn)一步提高LSTM網(wǎng)絡(luò)的特征提取能力,葛岳軍等人[14]提出了一種將CNN(卷積神經(jīng)網(wǎng)絡(luò))與LSTM相結(jié)合的檢測模型,利用CNN實(shí)現(xiàn)對用電數(shù)據(jù)中特征的自動提取,再借助LSTM實(shí)現(xiàn)對用電數(shù)據(jù)的分類,實(shí)驗(yàn)表明該檢測方法要優(yōu)于傳統(tǒng)的機(jī)器學(xué)習(xí)方法。
半監(jiān)督檢測方法利用少量標(biāo)記數(shù)據(jù)和大量的無標(biāo)記樣本即可實(shí)現(xiàn)對異常用電行為的檢測。張繼東[15]對自編碼器進(jìn)行改進(jìn),采用半監(jiān)督方法進(jìn)行替代,進(jìn)一步提高了模型的分類效果。為進(jìn)一步提高模型在低維數(shù)據(jù)集中的特征提取能力,李輝等人[16]提出了一種基于雙編碼的半監(jiān)督異常檢測模型,通過雙編碼方式擴(kuò)展了正常與異常樣本間的差距,較好地實(shí)現(xiàn)了異常檢測。宋曉麗等人[17]為了提取時序數(shù)據(jù)中的時序特征,采用門控循環(huán)神經(jīng)網(wǎng)絡(luò)(GRU)改進(jìn)自編碼器,再借助馬氏距離計算重構(gòu)誤差,通過設(shè)定誤差閾值實(shí)現(xiàn)對異常數(shù)據(jù)的檢測。
雖然上述方法在實(shí)驗(yàn)中具有不錯的效果,但都嚴(yán)重依賴于人工標(biāo)記數(shù)據(jù)。然而異常檢測任務(wù)中的異常樣本通常難以獲取,加之手工標(biāo)注數(shù)據(jù)的困難,使得基于有監(jiān)督的異常用電檢測方法面臨著極大的阻礙。因此,大量基于無監(jiān)督學(xué)習(xí)的檢測方法被廣泛采用。這類方法又可以細(xì)分為基于距離、基于密度和基于重構(gòu)的檢測方法。
a)基于距離的檢測方法假設(shè)距離密集群體較遠(yuǎn)的樣本點(diǎn)就是異常點(diǎn)。Ramaswamy等人[18]計算某樣本點(diǎn)與其相鄰最近幾個樣本點(diǎn)的距離,基于該計算得出的距離值對樣本中的異常點(diǎn)進(jìn)行評估。Angelos等人[19]先通過C均值聚類方法進(jìn)行模糊聚類,再計算樣本點(diǎn)到聚類中心的歐氏距離來檢測異常樣本點(diǎn)。
b)基于密度的檢測方法對樣本密度分布情況進(jìn)行分析,將分布較為零散、密度低的區(qū)域認(rèn)為是異常點(diǎn)區(qū)域。莊池杰等人[20]基于提取到的用戶用電模式的特征信息,通過主成分分析法將用戶數(shù)據(jù)映射到二維平面,再通過網(wǎng)格處理技術(shù)從中過濾出低密度區(qū)域的數(shù)據(jù)點(diǎn)。Zheng等人[21]利用快速搜索以及峰值發(fā)現(xiàn)的方法實(shí)現(xiàn)異常用電行為檢測。
c)基于重構(gòu)的方法通過表示學(xué)習(xí)等方法提取正常時序數(shù)據(jù)的特征,并將重構(gòu)誤差較大的樣本視為異常。淺層的基于重構(gòu)的時間序列異常檢測方法[3,4]主要采用主成分分析或其變體,通過估計一個正交投影計算原始序列和重構(gòu)時間序列之間的重構(gòu)誤差。基于深度時間序列重構(gòu)的檢測方法則通過構(gòu)建自回歸模型來預(yù)測數(shù)據(jù)中正常模式。這類方法通常利用LSTM[13]、GRU[17]、GAN[22]等深度神經(jīng)網(wǎng)絡(luò)來提取正常樣本的特征。此外,一些研究綜合利用多種模型來進(jìn)行異常檢測,如Lin等人[23]提出了一種LSTMVAE架構(gòu),VAE用于學(xué)習(xí)數(shù)據(jù)中魯棒的表示,LSTM則用于捕獲時間序列中的時間依賴性。
2 異常用電行為檢測方法
2.1 問題描述
時間序列(time series)是一個由N個M維變量組成的時間上的有序集合,表示為x=(x1,x2,…,xN)∈Euclid ExtraaBpM×N,其中N為x的長度,t(t≤N)時刻的觀測值xt=[x1t,x2t,…,xMt]∈Euclid ExtraaBpM為一個M維向量。當(dāng)M=1時,x稱為一元時間序列;當(dāng)M>1時,x則稱為多元時間序列。無監(jiān)督時間序列異常檢測旨在通過數(shù)據(jù)集X中任意樣本x的一系列觀測值x1∶T來確定x的一個異常評分,從而得到一個異常程度的排序,然后按照topn從排序中選擇或通過與一個人工設(shè)定的閾值進(jìn)行比較來識別異常對象。
2.2 模型結(jié)構(gòu)
本文模型的整體結(jié)構(gòu)如圖1所示,首先對輸入的時間序列進(jìn)行預(yù)處理,包括缺失值填補(bǔ)、歸一化操作等,然后通過長度為l的滑動窗口從原始時間序列中提取一系列非重疊的子序列,從而將一元時間序列轉(zhuǎn)換為多元時間序列。預(yù)處理后,通過一個孿生自回歸神經(jīng)網(wǎng)絡(luò)進(jìn)行時序特征提取,捕獲數(shù)據(jù)中的正常模式,并計算每個樣本的異常評分。孿生自回歸網(wǎng)絡(luò)包括兩個基于多頭自注意力的子網(wǎng)絡(luò),它們共享嵌入層,具有相似的編碼器—解碼器結(jié)構(gòu),并通過重構(gòu)損失來進(jìn)行參數(shù)優(yōu)化。在訓(xùn)練階段,它們分別輸出樣本的異常評分,并按照評分進(jìn)行排序,進(jìn)而將異常程度最高的若干樣本視做異常點(diǎn)。兩個子網(wǎng)絡(luò)輸出的異常樣本的交集被再次輸入到模型中進(jìn)行迭代訓(xùn)練。在測試階段,將兩個子網(wǎng)絡(luò)輸出的異常評分加總得到測試樣本的離群度,最后通過一個閾值判定異常樣本。
2.3 數(shù)據(jù)預(yù)處理
由于數(shù)據(jù)測量以及記錄過程中的誤差和疏忽,真實(shí)的時間序列數(shù)據(jù)中可能存在缺失值。常用的填補(bǔ)缺失的方式有很多,如填零、差值或根據(jù)上下文進(jìn)行擴(kuò)充等,但這些操作通常會引入數(shù)據(jù)偏差。為了避免這個問題,本文先進(jìn)行填零處理,然后參考文獻(xiàn)[24]采用一組二值掩碼M進(jìn)行標(biāo)記,即缺失的數(shù)據(jù)標(biāo)記為0,非缺失值標(biāo)記為1。該過程表示為
其中:xit為t時刻第i個特征的值。
為避免不同樣本、不同特征的尺度差異,通常會對每個特征做歸一化等處理,如Zscore標(biāo)準(zhǔn)化、minmax標(biāo)準(zhǔn)化等,這些操作均假設(shè)不同特征之間相互獨(dú)立,因而會破壞特征之間的時間依賴性。因此,本文采取針對時間步(sequencewise)的歸一化操作,即對每個樣本的各個時間步進(jìn)行處理,將其均值調(diào)整為0,并保持其方差不變,從而最大限度保持?jǐn)?shù)據(jù)的時序特性。
為了更好地表示時間序列中的局部模式和趨勢(例如上升、下降、平穩(wěn)等),通過一個滑動窗口將輸入的一元時間序列劃分為一系列長度為M的非重疊子序列,從而將一元時間序列轉(zhuǎn)換為多元時間序列。此外,通過調(diào)整滑動窗口的大小和步長,還可以探索不同時間尺度下的時間模式和趨勢,從而更全面地分析時間序列數(shù)據(jù)的特征。設(shè)滑動窗口的步長為M,滑動窗口將輸入的時間序列劃分為N個長度為M的子序列,記做X={x1,x2,…,xN},其中N=(n-M)/M+1」,符號·」表示下取整操作,t(t≤N)時刻的特征xt=[x1t,x2t,…,xMt]∈Euclid ExtraaBpM為一個M維向量。轉(zhuǎn)換后的多元時間序列X中的第t個子序列xt是通過從輸入時間序列中選擇窗口范圍內(nèi)的元素得到的。第t個窗口的起始索引為t×M,結(jié)束索引為(t×M)+(M-1),可以用式(2)表示。
xt={St×M,St×M+1,…,St×M+M-1}(2)
其中:1≤t≤N。
2.4 基于多頭注意力的孿生自回歸網(wǎng)絡(luò)
自回歸(autogressive)是統(tǒng)計學(xué)上一種處理時間序列的方法,使用同一變量之前一段時間的數(shù)據(jù)預(yù)測未來該變量的數(shù)據(jù)值。Transformer作為一種流行的深度神經(jīng)網(wǎng)絡(luò)架構(gòu)已被成功地應(yīng)用于自然語言處理、圖像生成、目標(biāo)檢測等任務(wù),其核心在于引入了多頭自注意力機(jī)制,能夠有效地處理序列數(shù)據(jù)的長距離依賴關(guān)系,避免了傳統(tǒng)循環(huán)神經(jīng)網(wǎng)絡(luò)中的順序計算和信息傳遞的限制。本文以多頭注意力機(jī)制為骨干構(gòu)建深度孿生自回歸神經(jīng)網(wǎng)絡(luò),用兩個結(jié)構(gòu)相似的子網(wǎng)絡(luò)進(jìn)行協(xié)同,學(xué)習(xí)輸入序列中的正常模式。
兩個子網(wǎng)絡(luò)首先通過一個共享參數(shù)的嵌入層進(jìn)行線性投影來捕捉不同特征之間的關(guān)聯(lián)性和相似性。嵌入層將原始時間序列x∈Euclid ExtraaBpM×N映射到一個低維向量空間xh=(xht-T,xht-T+1,…,xht)∈Euclid ExtraaBpd×N。當(dāng)輸入序列的長度M較大時,可以設(shè)置一個較小的隱藏層維度d來減少計算量。
xhi=Whxi+bh(3)
其中:Wh和bh為兩個子網(wǎng)絡(luò)共享的參數(shù)。接著,再將數(shù)據(jù)的位置編碼信息融入到特征當(dāng)中。
xhi=xhi+PE(4)
其中:PE為位置編碼向量,計算方式為
其中:pos表示輸入序列中的位置;d表示隱藏層的維度;PE(pos,2i)和PE(pos,2i+1)分別表示輸入序列在pos位置的編碼向量中的偶數(shù)位和奇數(shù)位的值。引入位置編碼信息可以讓原始輸入數(shù)據(jù)攜帶位置信息,讓模型學(xué)習(xí)到數(shù)據(jù)中的位置特征。
孿生自回歸網(wǎng)絡(luò)的核心由編碼器和解碼器堆疊構(gòu)成的兩個子網(wǎng)絡(luò)f1θ和f2θ,每個子網(wǎng)絡(luò)都是一個基于多頭注意力的自回歸模型,用于對輸入序列進(jìn)行特征提取。自回歸模型是一種序列生成模型,用于描述時間序列數(shù)據(jù)中當(dāng)前觀測值與之前觀測值之間的依賴關(guān)系。每個時間步的輸出xt都依賴于前面T個時間步的狀態(tài)xt-T:t-1:
xt=fθ(xt-T,xt-T+1,…,xt-1)+ε(6)
其中:xt是當(dāng)前觀測值;xt-T:t-1=xt-T,xt-T+1,…,xt-1為前T個觀測值;T為模型的滯后階數(shù)(或時間延遲);ε是一個誤差項(xiàng),表示模型中未能解釋的隨機(jī)噪聲或殘差; fθ為一個回歸函數(shù),表示當(dāng)前觀測值與過去觀測值之間的關(guān)系,本文通過一個由編碼器和解碼器堆疊構(gòu)成的多頭自注意力神經(jīng)網(wǎng)絡(luò)實(shí)現(xiàn)。每個編碼器首先利用自注意力機(jī)制對輸入進(jìn)行轉(zhuǎn)換:
Hi=Attention(Qi,Ki,Vi)
MultiH(Q,K,V)=concat(H1,H2,…,Hn)Wo(8)
其中:concat(·)表示向量拼接操作;Wo為模型參數(shù)。盡管多頭注意力可以通過自適應(yīng)權(quán)重來匯總每個時間步驟的信息,但它仍然是一個線性模型。這大大限制了模型的能力,所以本文使用兩個前向?qū)优cReLU激活來為模型引入非線性信息。
FFN(xatt)=W2ReLU(W1x+b1)+b2(9)
其中:W1、W2、b1、b2分別為前向?qū)拥膮?shù)。然后進(jìn)行殘差連接和歸一化處理。通過殘差連接可以方便對多層網(wǎng)絡(luò)進(jìn)行優(yōu)化,防止過擬合和梯度消失,保證了多層網(wǎng)絡(luò)的有效性[25],而歸一化處理的加入則可以加快模型的收斂速度[26]。
解碼器首先利用遮蔽自注意力網(wǎng)絡(luò)對輸入數(shù)據(jù)進(jìn)行變換。在解碼器中,為了避免當(dāng)前時間步的預(yù)測受到未來時間步的影響,需要將當(dāng)前時間步之后的所有位置都遮蔽掉。具體來說,對于第t個時間步,只有前t-1個位置可以作為輸入,第t個位置及之后的位置都被遮擋。這樣就可以保證在生成第t個位置時,只使用前t-1個位置的信息。給定一個注意力權(quán)重矩陣S,其中Sij表示位置i與j的注意力權(quán)重。遮蔽操作如式(10)所示。
式(10)表示了遮蔽操作的邏輯,其中j
兩個子網(wǎng)絡(luò)的編碼器和解碼器可以通過交替堆疊多頭注意層和非線性層得到。子網(wǎng)絡(luò)通過自回歸機(jī)制對輸入的時間序列數(shù)據(jù)進(jìn)行重構(gòu)。每個子網(wǎng)絡(luò)根據(jù)已經(jīng)生成的部分序列來
其中:Wrec∈Euclid ExtraaBpM×d和brec∈Euclid ExtraaBp1×M為重構(gòu)層的參數(shù)。
2.5 模型訓(xùn)練
本文模型的訓(xùn)練和測試過程如圖2所示,孿生自回歸子網(wǎng)絡(luò)的兩個輸出1和2分別與輸入序列x進(jìn)行比較,并通過均方差損失函數(shù)(mean squared error,MSE)來度量預(yù)測值和真實(shí)值之間的誤差,以計算重構(gòu)誤差。
其中:N表示時間序列的長度;M表示每個時間步特征的維度;xi,t表示原始序列的第t個時間步的第i個特征。總重構(gòu)誤差為所有樣本在兩個子網(wǎng)絡(luò)中的重構(gòu)誤差之和的平均:
每個樣本的重構(gòu)誤差分別對應(yīng)一個評分,這個評分反映了該樣本通過自回歸模型進(jìn)行重構(gòu)的難易程度。由于正常樣本占數(shù)據(jù)集的大多數(shù),通過訓(xùn)練網(wǎng)絡(luò)能夠?qū)W習(xí)到時間序列中的正常模式。所以,一個樣本的重構(gòu)誤差越大,其離群程度越高。本文按照評分進(jìn)行排序,將離群程度低的樣本視為候選的正常樣本。兩個子網(wǎng)絡(luò)輸出樣本的交集被再次輸入到共享嵌入層,再進(jìn)行迭代訓(xùn)練。這種基于自回歸和均方差損失函數(shù)的訓(xùn)練方式使得模型能夠逐步學(xué)習(xí)時間序列數(shù)據(jù)中的模式和特征,從而提高對數(shù)據(jù)的重構(gòu)能力和預(yù)測準(zhǔn)確性。同時,由于損失函數(shù)的選擇是基于均方差的,模型在訓(xùn)練過程中將更加關(guān)注對整個序列的整體重構(gòu),而不僅僅是局部模式的匹配,從而增強(qiáng)了模型的泛化能力和穩(wěn)定性。
2.6 異常檢測
孿生自回歸模型訓(xùn)練完成后,新樣本通過兩個自回歸子網(wǎng)絡(luò)計算得到樣本在每個時間步各自的重構(gòu)誤差ei,t1和ei,t2,然后通過池化操作計算得到新樣本的異常評分:
Score1(x)=MaxPool(AvePoolt(et1))
Score2(x)=MaxPool(AvePoolt(et2))(14)
其中:MaxPool(·)表示最大值池化;AvePool(·)表示平均池化。本文首先對t時間步的特征et進(jìn)行平均池化,從而將該時刻的特征進(jìn)行融合,然后對所有時刻進(jìn)行最大化池化,從而提取出最具有特異性的特征。樣本x的離群度由兩個自回歸子網(wǎng)絡(luò)的異常評分相加得到:
OD(x)=Score1(x)+Score2(x)(15)
設(shè)異常點(diǎn)的離群度閾值為τ∈(0,1),如果樣本x的離群度OD(x)>θ,那么x即被判定為異常點(diǎn)。將數(shù)據(jù)中全體樣本的離群度與閾值τ逐一進(jìn)行比較,即可預(yù)檢測出系統(tǒng)中的異常點(diǎn)。
3 實(shí)驗(yàn)及分析
3.1 數(shù)據(jù)集
本文分別在三個公開的大規(guī)模時序異常檢測數(shù)據(jù)集和中國國家電網(wǎng)(state grid corporation of China,SGCC)發(fā)布的用電異常檢測數(shù)據(jù)集上進(jìn)行模型評估。這三個公開數(shù)據(jù)集均被劃分為訓(xùn)練集和測試集,但只有測試集進(jìn)行了數(shù)據(jù)標(biāo)注。為了方便進(jìn)行模型評估,本文僅采用了原數(shù)據(jù)集的測試集部分。以上四個數(shù)據(jù)集的統(tǒng)計信息如表1所示。
a)SMD(server machine dataset)[8] 是從一家大型互聯(lián)網(wǎng)公司收集的28臺設(shè)備狀態(tài)的時序數(shù)據(jù),特征維度為38,時間跨度為5周。
b)MSL(mars science laboratory rover)[27] 是由27個從火星上的好奇號漫游者航天器收集的遙測信號組成。每個信號由55維的時間序列組成。第一個維度包括遙測數(shù)據(jù),而其余54個維度對應(yīng)于一個單次編碼的命令。
c)SMAP(soil moisture active passive satellite)[27] 包含從類似于MSL的航天器監(jiān)測系統(tǒng)的事件突發(fā)異常(ISA)報告中得到的遙測異常數(shù)據(jù),由53個從土壤水分主動被動衛(wèi)星接收的信號形成的。SMAP和MSL都來自美國國家航空航天局(NASA)。
d)SGCC[28] 包含從2014年1月到2016年10月共1 035天內(nèi)42 372位用戶的用電量,其中3 615位用戶存在異常用電行為。該數(shù)據(jù)集存在大量缺失數(shù)據(jù),缺失比例達(dá)到25.7%。
3.2 對比方法
本文選取了10個無監(jiān)督異常檢測方法作為對比來評估所提方法的有效性,包括:
a)LOF(local outlier factor)[29]?;卩徑缘臋z測方法,通過計算給定樣本相對于其鄰居的局部密度偏差來發(fā)現(xiàn)離群值。
b)HBOS(histogrambased outlier score)[30]。基于鄰近性的檢測方法,通過構(gòu)建直方圖來估計樣本的密度,并以此來定義樣本離群程度。
c)OCSVM(oneclass support vector machines)[31]?;诰垲惖臋z測方法,通過該方法對高維特征進(jìn)行非線性映射。
d)ECOD(empiricalcumulativedistribution outlier detection)[32]?;诟怕式y(tǒng)計的方法,以非參數(shù)的方式估計每個特征的經(jīng)驗(yàn)累積分布,并通過構(gòu)建先驗(yàn)共軛來估計樣本處于數(shù)據(jù)分布的尾部概率。
e)iForest(isolation forest)[33]。基于集成技術(shù)的異常檢測方法,利用二叉樹隨機(jī)選擇一個特征和所選特征的最大值和最小值之間的分割值來劃分樣本。
f)VAE(variational autoencoder)[34]。基于深度表示學(xué)習(xí)的檢測模型,通過變分自編碼器學(xué)習(xí)數(shù)據(jù)潛在表示,并通過距離比較來檢測異常值。
g)DeepSVDD(deep oneclass classification)[35]?;谏疃缺硎緦W(xué)習(xí)的檢測方法,通過最小化包含數(shù)據(jù)網(wǎng)絡(luò)表示的超球體體積來進(jìn)行表示學(xué)習(xí)。
h)TranAD(Transformer based anomaly detection)[36]。一種基于深度Transformer的異常檢測方法,使用基于注意力的序列編碼器來學(xué)習(xí)數(shù)據(jù)中的時間趨勢。
i)SLAD(scale learningbased anomaly detection)[37]。一種基于尺度學(xué)習(xí)的異常檢測方法,以尺度分布對齊為優(yōu)化目標(biāo)學(xué)習(xí)數(shù)據(jù)特征的排名。
j)DIF(deep isolation forest)[38]。一種基于隨機(jī)深度表征集成的異常檢測方法,對iForest方法進(jìn)行了改進(jìn)。
3.3 評估指標(biāo)
為了綜合評價算法的性能,實(shí)驗(yàn)中通過AUC(area under the receiver operating characteristic curve)和AP(average precision)兩個廣泛使用的指標(biāo)來進(jìn)行評估。AUC強(qiáng)調(diào)類別可分性,即算法是否能夠很好地區(qū)分不同的類別;而AP則強(qiáng)調(diào)檢測的完整性,即算法是否能夠檢索到更多相關(guān)樣本。異常檢測算法的AUC值越大,其檢測的性能就越好;AP分?jǐn)?shù)越高,表示較高的檢測準(zhǔn)確性,并且能檢索到更多的陽性實(shí)例。AUC將ROC(receiver operating characteristic)曲線匯總成0~1的實(shí)數(shù)。設(shè)s(oi)表示對象oi的檢測器輸出得分,AUC的計算公式為
其中:Rt和Pt分別表示第t個閾值下的精確率和召回率。
3.4 實(shí)驗(yàn)設(shè)置
本文實(shí)驗(yàn)均在NVIDIA GeForce RTX 3090 GPU的服務(wù)器上進(jìn)行,學(xué)習(xí)率設(shè)置為0.000 1,使用Adam優(yōu)化器來更新模型參數(shù)。本文模型的隱藏層維度參數(shù)設(shè)置為d=16,將MSL和SMAP數(shù)據(jù)集劃分的子序列長度設(shè)置為1,SMD和SGCC數(shù)據(jù)集劃分的子序列長度則設(shè)為7。兩個孿生自回歸子網(wǎng)絡(luò)各自的編碼器和解碼器的層數(shù)相同。一個子網(wǎng)絡(luò)包含4層自回歸網(wǎng)絡(luò)和8組多頭自注意力模塊,另一個子網(wǎng)絡(luò)的層數(shù)和多頭自注意力模塊數(shù)則為其一半。所有實(shí)驗(yàn)獨(dú)立進(jìn)行了五次測試,并取平均值作為最終結(jié)果。
3.5 實(shí)驗(yàn)結(jié)果
本文首先對DSAD算法在多個領(lǐng)域真實(shí)數(shù)據(jù)集上進(jìn)行了性能測試。從表2可以看出,DSAD算法在MSL和SMAP數(shù)據(jù)集上均取最高的AUC得分,比排名第二的iForest分別高出0.051和0.004;在SMD數(shù)據(jù)集上,DSAD取得了第二名的得分,略低于表現(xiàn)最好的SLAD模型。這表明本文方法在異常用電檢測方面可以取得更好的效果。此外,在用電異常數(shù)據(jù)集SGCC上,本文方法相比基于深度學(xué)習(xí)的DeepSVDD和VAE分別高出0.116和0.074。從四個數(shù)據(jù)集的平均值來看,DSAD的檢測效果具有明顯優(yōu)勢,一個主要的原因是本文模型DSAD無須手工構(gòu)建數(shù)據(jù)特征,可以以端到端的方式進(jìn)行學(xué)習(xí),所以可以更有效地提取異常用電行為數(shù)據(jù)的特征。
從AP指標(biāo)(表3)來看,DSAD算法取得了與AUC指標(biāo)相似的成績,在三個公開時序異常檢測數(shù)據(jù)集MSL、SMAP和SMD上取得了最高得分,分別比得分第二的OCSVM、iForest和DeepSVDD高0.011、0.006和0.019。在用電數(shù)據(jù)集SGCC上,DSAD比DeepSVDD和VAE分別高出0.085和0.026。此外,DSAD在四個數(shù)據(jù)集上也取得了最高的平均分。從總體上看,DSAD相比其他對比方法,能夠在更多的應(yīng)用場景中取得更好的檢測效果,具有更強(qiáng)的泛化性能。
3.6 參數(shù)敏感性分析
本文模型包含子序列的長度l和隱藏層維度d兩個主要的超參數(shù)。因此,本文進(jìn)一步對這兩個參數(shù)的設(shè)定進(jìn)行分析。首先,通過調(diào)節(jié)l的值并固定d=16,得到的實(shí)驗(yàn)結(jié)果如圖3、4所示。圖3描繪了模型在AUC指標(biāo)上的表現(xiàn)情況,可以看出,不同子序列長度在MSL、SAMP、SMD三個數(shù)據(jù)集上得到的模型性能變化較大,在MSL和SAMP數(shù)據(jù)集上模型性能呈現(xiàn)相似的趨勢,且當(dāng)l=1時檢測性能最好。主要是因?yàn)檫@兩個數(shù)據(jù)集都是來自比較相似的物理信號,因而具有相似的時間依賴性。在SMD數(shù)據(jù)集上,當(dāng)子序列長度取值在7或以上時,模型性能趨于穩(wěn)定。在SGCC上,模型性能隨子序列長度的變化很小,表明本文方法對子序列劃分并不敏感,因而具有較強(qiáng)的適應(yīng)性。
此外,從AP指標(biāo)來看(圖4),模型在MSL、SMAP、SMD三個數(shù)據(jù)集上表現(xiàn)出與AUC得分曲線相似的趨勢。然而,模型在SGCC上的AP得分卻不相同,呈現(xiàn)出先上升后下降的趨勢,并在l=7時取得了最好成績。這主要是因?yàn)镾GCC數(shù)據(jù)集具有比較明顯的隨每周變化的周期性,當(dāng)子序列劃分與其周期長度一致時,能夠更好地提取時間依賴性。
接下來,將子序列長度固定,調(diào)節(jié)隱藏層維度d,得到的實(shí)驗(yàn)結(jié)果如圖5、6所示。圖5描繪了模型在AUC指標(biāo)上的表現(xiàn)情況,可以看出,在MSL和SAMP數(shù)據(jù)集上,模型性能呈現(xiàn)出先上升后下降的趨勢,而在SMD和SGCC上模型性能變化較小。
圖6展示了DSAD模型在AP指標(biāo)上的得分,總體趨勢和AUC指標(biāo)相似。當(dāng)d取值為16或32時,模型在四個數(shù)據(jù)集上的平均性能最高??傮w而言,本文方法在四個數(shù)據(jù)集上的得分隨隱藏層維度變化的波動較小,表明該方法對隱藏層維度比較魯棒。這主要是因?yàn)楸疚姆椒軌驅(qū)Ω鱾€時刻的特征進(jìn)行有效提取,并通過最大化池化操作來獲取最具有辨識度的時刻來構(gòu)造異常評分,因而對單一時刻特征的維度變化具有較強(qiáng)的適應(yīng)性。
4 結(jié)束語
異常用電檢測在保障電力供應(yīng)安全、促進(jìn)電網(wǎng)可靠運(yùn)行和維護(hù)電力企業(yè)的經(jīng)濟(jì)利益等方面具有作用。本文提出了一種基于深度孿生自回歸網(wǎng)絡(luò)的無監(jiān)督異常用電行為檢測方法(DSAD),能夠有效應(yīng)對獲取標(biāo)記正常樣本和捕捉復(fù)雜時間特征的挑戰(zhàn),通過最小化重構(gòu)誤差,模型可以學(xué)習(xí)到正常數(shù)據(jù)的潛在表示,并具備較強(qiáng)的魯棒性,能夠識別與訓(xùn)練數(shù)據(jù)分布不符的異常用電行為。通過在大規(guī)模時序數(shù)據(jù)和國家電網(wǎng)數(shù)據(jù)集上進(jìn)行實(shí)驗(yàn)分析,以及與多種典型的異常檢測方法進(jìn)行對比,驗(yàn)證了本文方法的有效性和優(yōu)越性。由于異常行為模式復(fù)雜多樣,如何根據(jù)不同種類的異常模式來設(shè)計針對性的檢測方法具有重要挑戰(zhàn)性,下一步工作將探索異常行為分類與定位,從而進(jìn)一步改進(jìn)異常用電行為檢測方法的性能和效率。
參考文獻(xiàn):
[1]Hu Tianyu,Guo Qinglai,Shen Xinwei,et al. Utilizing unlabeled data to detect electricity fraud in AMI: a semisupervised deep learning approach [J]. IEEE Trans on Neural Networks and Learning Systems,2019,30(11): 3287-3299.
[2]黃悅?cè)A,郭思涵,鮑剛,等. 基于用電特征分析的異常用電檢測方法 [J]. 三峽大學(xué)學(xué)報: 自然科學(xué)版,2021,43(1): 96-101. (Huang Yuehua,Guo Sihan,Bao Gang,et al. Detection method of abnormal electricity based on elctricity characteristics [J]. Journal of China Three Gorges University: Natural Sciences,2021,43(1): 96-101. )
[3]Jin Yongjun,Qiu Chenlu,Sun Lei,et al. Anomaly detection in time series via robust PCA [C]// Proc of the 2nd IEEE International Conference on Intelligent Transportation Engineering. Piscataway,NJ: IEEE Press,2017: 352-355.
[4]Hyndman R J,Wang E,Laptev N. Large-scale unusual time series detection [C]// Proc of IEEE International Conference on Data Mining. Piscataway,NJ: IEEE Press,2015: 1616-1619.
[5]Xu Hongzuo,Wang Yijie,Wang Yongjun,et al. MIX: a joint learning framework for detecting both clustered and scattered outliers in mixedtype data [C]// Proc of IEEE International Conference on Data Mining. Piscataway,NJ: IEEE Press,2019: 1408-1413.
[6]Fraccaro M,Snderby S K,Paquet U,et al. Sequential neural models with stochastic layers [C]// Proc of the 30th International Conference on Neural Information Processing Systems. Red Hook,NY: Curran Associates Inc.,2016: 2207-2215
[7]Park D,Hoshi Y,Kemp C C. A multimodal anomaly detector for robotassisted feeding using an LSTMbased variational autoencoder [J]. IEEE Robotics and Automation Letters,2018,3(3): 1544-1551.
[8]Su Ya,Zhao Youjian,Niu Chenhao,et al. Robust anomaly detection for multivariate time series through stochastic recurrent neural network [C]// Proc of the 25th ACM SIGKDD International Conference on Knowledge Discovery & Data Mining. New York: ACM Press,2019: 2828-2837.
[9]Qin Yao,SongDongjin,Chen Haifeng,et al. A dualstage attentionbased recurrent neural network for time series prediction [C]//Proc of the 26th International Joint Conference on Artificial Intelligence. Palo Alto,CA: AAAI Press,2017: 2627-2633.
[10]Vaswani A,Shazeer N,Parmar N,et al. Attention is all you need [C]// Proc of the 31st International Conference on Neural Information Processing Systems. Red Hook,NY: Curran Associates Inc.,2017: 6000-6010.
[11]張承智,肖先勇,鄭子萱. 基于實(shí)值深度置信網(wǎng)絡(luò)的用戶側(cè)竊電行為檢測 [J]. 電網(wǎng)技術(shù),2019,43(3): 1083-1091. (Zhang Chengzhi,Xiao Xianyong,Zheng Zixuan. Electricity theft detection for customers in power utility based on realvalued deep belief network [J]. Power System Technology,2019,43(3): 1083-1091.)
[12]王安軍,韓麗,周亞靜. 基于用電數(shù)據(jù)和機(jī)器學(xué)習(xí)的竊電行為識別方法 [J]. 信息技術(shù),2021(5): 116-121. (Wang Anjun,Han Li,Zhou Yajing. Power theft recognition method based on power consumption data and machine learning [J]. Information Technology,2021(5): 116-121.)
[13]Zhang Junwei,Ou Jiaxiang,Ding Chao,et al. An abnormal behavior detection based on deep learning [C]// Proc of IEEE Smart World,Ubiquitous Intelligence & Computing,Advanced & Trusted Computing,Scalable Computing & Communications,Cloud & Big Data Computing,Internet of People and Smart City Innovation. Piscataway,NJ: IEEE Press,2018: 61-65.
[14]葛岳軍,劉瑞,馬立駿,等. 基于CNNLSTM模型的電力盜竊行為識別技術(shù)研究 [J]. 供用電,2022,39(9): 61-67. (Ge Yuejun,Liu Rui,Ma Lijun,et al. Research on power theft recognition technology based on CNNLSTM model [J]. Distribution & Utilization,2022,39(9): 61-67.)
[15]張繼東. 基于深度自編碼器的異常用電行為辨識方法研究 [J]. 電子技術(shù)與軟件工程,2021(20): 162-164. (Zhang Jidong. Research on anomalous power usage behavior recognition method based on deep selfencoder [J]. Electronic Technology & Software Engineering,2021(20): 162-164. )
[16]李輝,李文根,關(guān)佶紅. 雙編碼半監(jiān)督異常檢測模型 [J]. 計算機(jī)科學(xué),2023,50(7): 53-59. (Li Hui,Li Wengen,Guan Jihong. Dually encoded semisupervised anomaly detection [J]. Computer Science,2023,50(7): 53-59. )
[17]宋曉麗,張勇波,張培穎. 基于半監(jiān)督學(xué)習(xí)的學(xué)生消費(fèi)數(shù)據(jù)異常檢測 [J]. 計算機(jī)與現(xiàn)代化,2022(12): 13-17.(Song Xiaoli,Zhang Yongbo,Zhang Peiying. Anomaly detection of student consumption data based on semisupervised learning [J]. Computers and Modernization,2022(12): 13-17. )
[18]Ramaswamy S,Rastogi R,Shim K. Efficient algorithms for mining outliers from large data sets [J]. ACM SIGMOD Record,2000,29(2): 427-438.
[19]Angelos E W S,Saavedra O R,Cortés O A C,et al. Detection and identification of abnormalities in customer consumptions in power distribution systems [J]. IEEE Trans on Power Delivery,2011,26(4): 2436-2442.
[20]莊池杰,張斌,胡軍,等. 基于無監(jiān)督學(xué)習(xí)的電力用戶異常用電模式檢測 [J]. 中國電機(jī)工程學(xué)報,2016,36(2): 379-387. (Zhuang Chijie,Zhang Bin,Hu Jun,et al. Anomaly detection for power consumption patterns based on unsupervised learning [J]. Proceedings of the CSEE,2016,36(2): 379-387. )
[21]Zheng Kedi,Chen Qixin,Wang Yi,et al. A novel combined datadriven approach for electricity theft detection [J]. IEEE Trans on Industrial Informatics,2019,15(3): 1809-1819.
[22]Cook A A,Msrl G,F(xiàn)an Zhong. Anomaly detection for IoT timeseries data: a survey [J]. IEEE Internet of Things Journal,2019,7(7): 6481-6494.
[23]Lin Shuyu,Clark R,Birke R,et al. Anomaly detection for time series using VAELSTM hybrid model [C]// Proc of IEEE International Conference on Acoustics,Speech and Signal Processing. Piscataway,NJ: IEEE Press,2020: 4322-4326.
[24]Finardi P,Campiotti I,Plensack G,et al. Electricity theft detection with selfattention [EB/OL]. (2020-02-14). https://arxiv.org/abs/2002.06219.
[25]He Kaiming,Zhang Xiangyu,Ren Shaoqing,et al. Deep residual learning for image recognition [C]// Proc of IEEE Conference on Computer Vision and Pattern Recognition. Washington DC: IEEE Computer Society,2016: 770-778.
[26]Ba J L,Kiros J R,Hinton G E. Layer normalization[EB/OL]. (2016-07-21). https://arxiv.org/abs/1607.06450.
[27]Hundman K,Constantinou V,Laporte C,et al. Detecting spacecraft anomalies using LSTMs and nonparametric dynamic thresholding [C]// Proc of the 24th ACM SIGKDD International Conference on Knowledge Discovery & Data Mining. New York: ACM Press,2018: 387-395.
[28]Zheng Zibin,Yang Yatao,Niu Xiangdong,et al. Wide and deep convolutional neural networks for electricitytheft detection to secure smart grids [J]. IEEE Trans on Industrial Informatics,2018,14(4): 1606-1615.
[29]Breunig M M,Kriegel H P,Raymond T,et al. LOF: identifying densitybased local outliers [J]. ACM SIGMOD Record,2000,29(2): 93-104.
[30]Goldstein M,Dengel A. Histogrambased outlier score (HBOS): a fast unsupervised anomaly detection algorithm [EB/OL]. (2012).https://www.dfki.de/fileadimin/user_upload/import/6431_HBOSposter.pdf
[31]Schlkopf B,Platt J C,ShaweTaylor J,et al. Estimating the support of a highdimensional distribution [J]. Neural Computation,2001,13(7): 1443-1471.
[32]Li Zheng,Zhao Yue,HuXiyang,et al. ECOD: unsupervised outlier detection using empirical cumulative distribution functions [J/OL]. IEEE Trans on Knowledge and Data Engineering.(2022-3-16).https://doi.org/10.1109/TKDE.2022.3159580.
[33]Liu F T,Ting K M,Zhou Zhihua. Isolation forest [C]// proc of the 8th IEEE International Conference on Data Mining. Piscataway,NJ: IEEE Press,2008: 413-422
[34]Kingma D P,Welling M. Autoencoding variational Bayes [EB/OL]. (2022-12-10). https://arxiv.org/abs/1312.6114.
[35]Ruff L,Vandermeulen R,Goernitz N,et al. Deep oneclass classification [C]// Proc of the 35th International Conference on Machine Learning. [S.l.]: PMLR,2018: 4393-4402.
[36]Tuli S,Casale G,Jennings N R. TranAD: deep transformer networks for anomaly detection in multivariate time series data [J]. Proceedings of the VLDB Endowment,2022,15(6): 1201-1214.
[37]Xu Hongzuo,Wang Yijie,Wei Juhui,et al. Fascinating supervisory signals and where to find them: deep anomaly detection with scale learning [C]// Proc of the 40th International Conference on Machine Learning. [S.l.]: PMLR,2023: article No.1611.
[38]Xu Hongzuo,Pang Guansong,Wang Yijie,et al. Deep isolation forest for anomaly detection [J]. IEEE Trans on Knowledge and Data Engineering.(2023-04-25).https:doi.org/10.1109/TKDE.2023.3270293.