本發(fā)明屬于異常流量檢測,尤其涉及一種基于工業(yè)過程時空建模的異常流量檢測方法和系統(tǒng)。
背景技術(shù):
1、工業(yè)過程異常檢測是工業(yè)自動化和智能化發(fā)展的重要環(huán)節(jié),通過對采集的數(shù)據(jù)進(jìn)行分析和建模,識別異常數(shù)據(jù)點,可以幫助企業(yè)及時發(fā)現(xiàn)潛在問題、制定安全防護(hù)策略、提高生產(chǎn)效率、降低維護(hù)成本和提升產(chǎn)品質(zhì)量,對企業(yè)實現(xiàn)安全高效持續(xù)運(yùn)營有重要意義。
2、工業(yè)過程數(shù)據(jù)本質(zhì)是多變量時間序列,對工業(yè)過程數(shù)據(jù)進(jìn)行異常檢測本質(zhì)上是對時間序列進(jìn)行檢測。傳統(tǒng)的異常檢測方法可以分為基于聚類、基于距離、基于密度和基于隔離的方法。近年來,隨著深度學(xué)習(xí)技術(shù)的發(fā)展,深度學(xué)習(xí)方法被廣泛應(yīng)用于時間序列異常檢測。現(xiàn)有的基于深度學(xué)習(xí)的異常檢測方法可以分為兩種:基于重構(gòu)的方法和基于預(yù)測的方法。
3、論文“miao?j,?tao?h,?xie?h,?et?al.?reconstruction-based?anomalydetection?for?multivariate?time?series?using?contrastive?generativeadversarial?networks[j].?information?processing?&?management,?2024,?61(1):103569.”提出了一種新的無監(jiān)督異常檢測框架,該框架無縫集成了對比學(xué)習(xí)和生成對抗網(wǎng)絡(luò),并根據(jù)重建誤差檢測異常。
4、論文“deng?a,?hooi?b.?graph?neural?network-based?anomaly?detection?inmultivariate?time?series[c].?proceedings?of?the?aaai?conference?on?artificialintelligence.?2021,?35(5):?4027-4035.”提出了圖偏差網(wǎng)絡(luò)(gdn),利用嵌入來構(gòu)建圖結(jié)構(gòu),利用圖注意學(xué)習(xí)時間序列的特征,根據(jù)觀測值和預(yù)測值得到異常分?jǐn)?shù),從而判斷時間序列異常。
5、然而,論文“miao?j,?tao?h,?xie?h,?et?al.?reconstruction-based?anomalydetection?for?multivariate?time?series?using?contrastive?generativeadversarial?networks[j].?information?processing?&?management,?2024,?61(1):103569.”提出的方法是主要針對規(guī)則采樣的多變量時間序列數(shù)據(jù)設(shè)計的,在面對不規(guī)則采樣數(shù)據(jù)或有大量缺失值的數(shù)據(jù)時,可能很難捕捉和建模時間序列中的時序依賴性。
6、論文“deng?a,?hooi?b.?graph?neural?network-based?anomaly?detection?inmultivariate?time?series[c].?proceedings?of?the?aaai?conference?on?artificialintelligence.?2021,?35(5):?4027-4035.”提出的方法雖然考慮了變量之間的空間關(guān)系,但卻忽略工業(yè)過程的本身的特征,僅僅從數(shù)據(jù)出發(fā),導(dǎo)致構(gòu)造的空間關(guān)系并不準(zhǔn)確,這限制了異常檢測的效果。
7、綜上,近些年來,雖然各種基于深度學(xué)習(xí)的異常檢測算法層出不窮,但當(dāng)下大多方法僅僅以數(shù)據(jù)驅(qū)動,無法準(zhǔn)確的挖掘出各種自動化元件的空間關(guān)系,進(jìn)而無法準(zhǔn)確的提取空間特征和時序特征,導(dǎo)致構(gòu)建的模型不符合實際場景,異常檢測的效果并不理想,并且缺乏對異常的分析和解釋。
技術(shù)實現(xiàn)思路
1、針對現(xiàn)有技術(shù)的不足,本發(fā)明提出一種基于工業(yè)過程時空建模的異常流量檢測方法和系統(tǒng),以解決現(xiàn)有方法由于無法準(zhǔn)確的提取空間特征和時序特征,造成異常檢測的效果并不理想的問題。
2、本發(fā)明的技術(shù)方案為:
3、本發(fā)明第一方面提供一種基于工業(yè)過程時空建模的異常流量檢測方法,包括如下具體步驟:
4、獲取工業(yè)過程數(shù)據(jù)并對工業(yè)過程數(shù)據(jù)進(jìn)行預(yù)處理,包括數(shù)據(jù)歸一化和數(shù)據(jù)窗口化,得到窗口序列化數(shù)據(jù);所述工業(yè)過程數(shù)據(jù)為一個多變量時間序列,包括工業(yè)過程中采集得到的所有傳感器數(shù)據(jù)和執(zhí)行器數(shù)據(jù);
5、構(gòu)建異常檢測模型;所述異常檢測模型用于根據(jù)輸入的一個時間窗口內(nèi)的工業(yè)過程數(shù)據(jù)計算異常評分;
6、利用窗口序列化數(shù)據(jù)對異常檢測模型進(jìn)行訓(xùn)練,得到訓(xùn)練完成的異常檢測模型;
7、獲取工業(yè)過程數(shù)據(jù)并進(jìn)行預(yù)處理,將預(yù)處理后的一個時間窗口內(nèi)的工業(yè)過程數(shù)據(jù)輸入訓(xùn)練完成的異常檢測模型,得到異常評分,并根據(jù)異常評分,檢測是否發(fā)生異常。
8、進(jìn)一步地,所述獲取工業(yè)過程數(shù)據(jù)并對工業(yè)過程數(shù)據(jù)進(jìn)行預(yù)處理,包括數(shù)據(jù)歸一化和數(shù)據(jù)窗口化,得到窗口序列化數(shù)據(jù),具體為:
9、a1:獲取工業(yè)過程數(shù)據(jù);所述工業(yè)過程數(shù)據(jù)為,表示在時刻采集的所有傳感器數(shù)據(jù)和執(zhí)行器數(shù)據(jù)的集合,表示時刻,代表工業(yè)過程數(shù)據(jù)的長度,代表了自動化元件的總數(shù)量,所述自動化元件包括傳感器和執(zhí)行器;
10、a2:對工業(yè)過程數(shù)據(jù)執(zhí)行歸一化處理,得到歸一化后的工業(yè)過程數(shù)據(jù);
11、a3:將歸一化后的工業(yè)過程數(shù)據(jù)轉(zhuǎn)化為窗口數(shù)據(jù),進(jìn)而得到包括若干個窗口數(shù)據(jù)的窗口序列化數(shù)據(jù);
12、對于當(dāng)前時刻,定義長度為的窗口數(shù)據(jù)為,包括從時刻到時刻的歸一化后的工業(yè)過程數(shù)據(jù),其中為歸一化后的時刻采集的所有傳感器數(shù)據(jù)和執(zhí)行器數(shù)據(jù)的集合;窗口序列化數(shù)據(jù)表示為,包括若干個長度為的窗口數(shù)據(jù)。
13、進(jìn)一步地,所述異常檢測模型包括空間關(guān)系構(gòu)建模塊、空間特征提取模塊、時序特征提取模塊、時序預(yù)測模塊、重構(gòu)模塊和評分模塊;
14、所述空間關(guān)系構(gòu)建模塊用于根據(jù)獲取的工業(yè)過程知識構(gòu)建圖結(jié)構(gòu),并基于輸入的窗口數(shù)據(jù)對圖結(jié)構(gòu)進(jìn)行修正,得到有向圖g;所述工業(yè)過程知識中包括各自動化元件在工業(yè)過程中的空間關(guān)系;所述窗口數(shù)據(jù)為一個時間窗口內(nèi)的工業(yè)過程數(shù)據(jù);
15、所述空間特征提取模塊用于獲取有向圖g中每個節(jié)點的空間特征;所述空間特征提取模塊為圖注意力網(wǎng)絡(luò);
16、所述時序特征提取模塊用于根據(jù)所有節(jié)點的空間特征,利用gru模型提取短期時序特征并利用informer模型提取長期時序特征;
17、所述時序預(yù)測模塊用于分別根據(jù)短期時序特征和長期時序特征進(jìn)行預(yù)測,得到短期時序預(yù)測結(jié)果和長期時序預(yù)測結(jié)果;
18、所述重構(gòu)模塊用于重構(gòu)短期時序特征,得到短期時序特征的重構(gòu)概率;采用變分自編碼器vae作為重構(gòu)模塊;
19、所述評分模塊用于根據(jù)短期時序預(yù)測結(jié)果、長期時序預(yù)測結(jié)果和重構(gòu)模塊得到的短期時序特征的重構(gòu)概率,計算異常評分。
20、進(jìn)一步地,所述圖結(jié)構(gòu)的構(gòu)建方法具體為:將每個自動化元件作為一個節(jié)點并用二元組a=(c,r)來表示,c代表自動化元件的類型,0為傳感器,1為執(zhí)行器,r代表自動化元件在整個工業(yè)過程中所屬子過程的編號;然后通過工業(yè)過程知識中所包括的自動化元件的空間關(guān)系確定存在相互影響的自動化元件,并利用有向邊表示自動化元件之間的影響關(guān)系,構(gòu)造出圖結(jié)構(gòu)并用鄰接矩陣保存圖結(jié)構(gòu),同時獲得邊集合e;然后對構(gòu)造的圖結(jié)構(gòu)中的邊進(jìn)行驗證,分別使用皮爾遜相關(guān)系數(shù)和傳遞熵對邊集合e中的邊進(jìn)行修正,得到有向圖g;
21、所述分別使用皮爾遜相關(guān)系數(shù)和傳遞熵對邊集合e中的邊進(jìn)行修正的過程具體為:
22、從輸入的窗口數(shù)據(jù)中提取出不同自動化元件的時序數(shù)據(jù),計算不同自動化元件的時序數(shù)據(jù)之間的皮爾遜相關(guān)系數(shù)和傳遞熵,設(shè)定一個皮爾遜相關(guān)系數(shù)閾值θp和一個傳遞熵閾值θt,如果兩個自動化元件的時序數(shù)據(jù)之間的皮爾遜相關(guān)系數(shù)的絕對值大于等于皮爾遜相關(guān)系數(shù)閾值θp,則保留圖結(jié)構(gòu)中這兩個自動化元件之間的邊,如果兩個自動化元件的時序數(shù)據(jù)之間的皮爾遜相關(guān)系數(shù)的絕對值小于皮爾遜相關(guān)系數(shù)閾值θp,則進(jìn)一步判斷這兩個自動化元件的時序數(shù)據(jù)之間的傳遞熵是否大于等于傳遞熵閾值θt,若是則保留圖結(jié)構(gòu)中這兩個自動化元件之間的邊,否則刪除圖結(jié)構(gòu)中這兩個自動化元件之間的邊。
23、進(jìn)一步地,所述獲取有向圖g中每個節(jié)點的空間特征的方法具體為:首先初始化有向圖g中每個節(jié)點的特征,得到每個節(jié)點的初始空間特征:通過一個線性層將從輸入的窗口數(shù)據(jù)中提取出的不同自動化元件的時序數(shù)據(jù)轉(zhuǎn)化為維向量,得到該自動化元件對應(yīng)節(jié)點的初始空間特征,其中為初始空間特征的維度,表示自動化元件的編號;然后利用圖注意力網(wǎng)絡(luò)的多頭注意力機(jī)制,更新每個節(jié)點的初始空間特征,得到每個節(jié)點最終的空間特征;
24、所述時序預(yù)測模塊將gru模型輸出的短期時序特征中第個元素和對應(yīng)的初始空間特征逐個相乘,再將結(jié)果輸入全連接層,進(jìn)行短期序列預(yù)測,得到短期時序預(yù)測結(jié)果;
25、將長期時序特征輸入全連接層,得到到時刻所有自動化元件的數(shù)據(jù)的預(yù)測值構(gòu)成的向量,即長期時序預(yù)測結(jié)果,為預(yù)測的未來工業(yè)過程數(shù)據(jù)的時間步長度;
26、進(jìn)一步地,所述異常評分為:
27、???????????????????(19);
28、其中,為異常評分,是超參數(shù),為時刻短期時序預(yù)測結(jié)果和長期時序預(yù)測結(jié)果中第個自動化元件數(shù)據(jù)的預(yù)測值的平均值,為時刻第個自動化元件的數(shù)據(jù)的真實值,為短期時序特征的第個元素的重構(gòu)概率。
29、進(jìn)一步地,所述利用窗口序列化數(shù)據(jù)對異常檢測模型進(jìn)行訓(xùn)練時,聯(lián)合損失函數(shù)的構(gòu)建過程為:
30、使用均方誤差作為短期時序預(yù)測的損失函數(shù):
31、??????????????????(21);
32、其中,為短期時序預(yù)測的損失函數(shù),為時刻短期時序預(yù)測結(jié)果中第個自動化元件的數(shù)據(jù)的預(yù)測值;
33、使用均方誤差作為長期時序預(yù)測的損失函數(shù):
34、???????????????(22);
35、其中,為長期時序預(yù)測的損失函數(shù),為一個正整數(shù),在時刻第個自動化元件的數(shù)據(jù)的真實值;為長期時序預(yù)測結(jié)果中時刻第個自動化元件的數(shù)據(jù)的預(yù)測值;
36、重構(gòu)損失可以定義為:
37、???????(23);
38、其中,為重構(gòu)損失,是重構(gòu)誤差項,是計算kl散度,是潛在特征,為在給定潛在特征下生成短期時序特征的概率,為一個可伸縮的分布,為的先驗概率;
39、聯(lián)合損失函數(shù)定義為:
40、???????????????????(24);
41、其中,為聯(lián)合損失函數(shù),為需要人工設(shè)置的超參數(shù)。
42、本發(fā)明第二方面提供一種基于工業(yè)過程時空建模的異常流量檢測系統(tǒng),用于實現(xiàn)一種基于工業(yè)過程時空建模的異常流量檢測方法,包括:
43、工業(yè)過程數(shù)據(jù)取模塊,用于獲取工業(yè)過程數(shù)據(jù);
44、數(shù)據(jù)預(yù)處理模塊,用于對工業(yè)過程數(shù)據(jù)進(jìn)行預(yù)處理,得到窗口數(shù)據(jù);
45、異常檢測模型,用于根據(jù)輸入的窗口數(shù)據(jù)計算異常評分;
46、異常識別模塊,用于根據(jù)異常評分判斷是否發(fā)生異常。
47、本發(fā)明第三方面提供一種電子設(shè)備,包括:處理器、存儲器和總線,所述存儲器存儲有所述處理器可執(zhí)行的機(jī)器可讀指令,當(dāng)電子設(shè)備運(yùn)行時,所述處理器與所述存儲器之間通過總線通信,所述機(jī)器可讀指令被所述處理器執(zhí)行時執(zhí)行所述的一種基于工業(yè)過程時空建模的異常流量檢測方法的步驟。
48、本發(fā)明第四方面提供一種計算機(jī)可讀存儲介質(zhì),該計算機(jī)可讀存儲介質(zhì)中存儲有計算機(jī)程序,該計算機(jī)程序被處理器運(yùn)行時執(zhí)行如所述的一種基于工業(yè)過程時空建模的異常流量檢測方法的步驟。
49、與現(xiàn)有技術(shù)相比較,本發(fā)明的有益效果為:
50、(1)本發(fā)明提出一種結(jié)合工業(yè)過程知識和數(shù)據(jù)驅(qū)動的工業(yè)過程模型建立方法,進(jìn)而提供更準(zhǔn)確的空間特征和時序特征,構(gòu)建更符合實際場景的模型,提高異常檢測效果。
51、(2)本發(fā)明提出gru和informer聯(lián)合時序特征提取方法,用于提取工業(yè)過程數(shù)據(jù)的短期時序特性和長期時序特性,符合工業(yè)過程數(shù)據(jù)的特點,提高針對工業(yè)過程的異常流量檢測準(zhǔn)確性。
52、(3)本發(fā)明提出一種結(jié)合預(yù)測模型和重構(gòu)模型的聯(lián)合優(yōu)化策略,不僅使模型能夠識別時間序列的全局分布特征,還能關(guān)注到變量的個體特征,從而增強(qiáng)模型在異常檢測任務(wù)中的準(zhǔn)確性和穩(wěn)健性。