本發(fā)明屬于航空數(shù)據(jù)處理,具體涉及一種基于transformer網(wǎng)絡(luò)的航空時序數(shù)據(jù)異常檢測方法。
背景技術(shù):
1、時序數(shù)據(jù)是按時間順序記錄的有序數(shù)據(jù),用于描述系統(tǒng)的變化情況。在民航領(lǐng)域,快速存取記錄器所記錄的操作類參數(shù)、狀態(tài)類參數(shù)、告警類參數(shù)和環(huán)境類參數(shù)等飛行數(shù)據(jù)是典型的時序數(shù)據(jù),本發(fā)明稱航空時序數(shù)據(jù)。
2、航空時序數(shù)據(jù)預(yù)測基于人工智能和大數(shù)據(jù)技術(shù),通過挖掘歷史數(shù)據(jù)蘊(yùn)涵的特征規(guī)律實(shí)現(xiàn)未來狀態(tài)的預(yù)測,主要用于航空器關(guān)鍵部件的健康狀態(tài)監(jiān)測、故障診斷、壽命預(yù)測等,是實(shí)現(xiàn)故障預(yù)測與診斷技術(shù)的必要條件。
3、航空時序數(shù)據(jù)異常檢測旨在檢測時間序列中與正常數(shù)據(jù)不符的數(shù)據(jù)點(diǎn)或片段,在許多領(lǐng)域中都有應(yīng)用,例如工業(yè)、航空航天、互聯(lián)網(wǎng)等。準(zhǔn)確地識別和定位時序數(shù)據(jù)中的異常對于保障系統(tǒng)安全、提高運(yùn)行效率至關(guān)重要。然而,實(shí)際應(yīng)用中產(chǎn)生的時間序列數(shù)據(jù)通常具有非平穩(wěn)性、高維、異常稀缺等特點(diǎn),使得對其進(jìn)行異常檢測非常困難;目前時序異常檢測算法多為無監(jiān)督算法,按照異常判斷標(biāo)準(zhǔn),現(xiàn)有方法可以分為基于密度估計、聚類、預(yù)測以及重構(gòu)的方法,最近也有研究基于對比學(xué)習(xí)實(shí)現(xiàn)異常檢測。
4、基于密度估計的方法通過估計數(shù)據(jù)的密度分布來識別異常樣本。代表性方法有:lof是一種非參數(shù)化方法,通過考慮數(shù)據(jù)點(diǎn)與其鄰近點(diǎn)的相對密度來確定異常值。lof主要關(guān)注樣本在局部區(qū)域的離群程度,檢測具有局部異常行為的樣本;參數(shù)化方法dagmm和mppcacd則分別通過自編碼器、概率主成分分析對數(shù)據(jù)進(jìn)行降維,然后用混合高斯模型擬合數(shù)據(jù)分布,從而計算樣本的概率密度。
5、基于聚類的方法主要通過計算數(shù)據(jù)點(diǎn)之間的相似性或距離來判斷異常樣本。代表性方法有iforest,它構(gòu)建隨機(jī)分割樹對數(shù)據(jù)逐步分割,基于樣本在樹中的深度測量其孤立程度,從而識別出異常;此外,還有oc-svm、deep-svdd等基于機(jī)器學(xué)習(xí)的方法。
6、基于預(yù)測的方法作為近年來的主流研究方向,建立模型來學(xué)習(xí)時間序列的正常模式,然后使用該模型來預(yù)測未來的數(shù)據(jù)點(diǎn)。var將每個時間序列變量的當(dāng)前值與過去時間步長的值以及其他相關(guān)變量的值相關(guān)聯(lián),進(jìn)行線性組合,從而構(gòu)建一個多變量的自回歸模型來進(jìn)行預(yù)測,但是該方法假設(shè)變量間關(guān)系是線性的,未考慮到非線性關(guān)系;lstm、gru、是常用的循環(huán)神經(jīng)網(wǎng)絡(luò)變體,能夠?qū)W習(xí)和建模時間序列變化的非線性關(guān)系,也具有捕捉序列數(shù)據(jù)中長期依賴關(guān)系的能力,在基于預(yù)測和重構(gòu)的時序異常檢測方法中得到了廣泛的應(yīng)用。此外,transformer模型由于其強(qiáng)大的時序建模能力,在自然語言處理、時序數(shù)據(jù)預(yù)測、時序數(shù)據(jù)異常檢測等任務(wù)中有廣泛應(yīng)用。
7、航空時間數(shù)據(jù)通常在時間維度上展現(xiàn)出上下文依賴關(guān)系,即過去和現(xiàn)在的觀察值與未來的觀察值之間存在相關(guān)性,并且這種關(guān)系是潛在、動態(tài)的,充分建模這種上下文依賴關(guān)系對實(shí)現(xiàn)準(zhǔn)確的異常檢測至關(guān)重要。傳統(tǒng)方法通常只考慮單個時刻的數(shù)據(jù),而忽略了上下文信息,在時序異常檢測任務(wù)上表現(xiàn)不佳。不少深度方法基于循環(huán)神經(jīng)網(wǎng)絡(luò)迭代地輸入數(shù)據(jù),這些方法盡管融合了過去所有時刻的上下文信息,但缺乏時刻級別的依賴關(guān)系表示。
技術(shù)實(shí)現(xiàn)思路
1、針對現(xiàn)有技術(shù)中的上述不足,本發(fā)明提供的基于transformer網(wǎng)絡(luò)的航空時序數(shù)據(jù)異常檢測方法解決了現(xiàn)有方法中針對航空時序數(shù)據(jù)異常檢測任務(wù)存在的僅考慮單個時刻數(shù)據(jù),忽略了上下文信息,進(jìn)而影響異常檢測準(zhǔn)確性的問題。
2、為了達(dá)到上述發(fā)明目的,本發(fā)明采用的技術(shù)方案為:一種基于transformer網(wǎng)絡(luò)的航空時序數(shù)據(jù)異常檢測方法,包括以下步驟:
3、s1、采集航空時序數(shù)據(jù),并進(jìn)行異常數(shù)據(jù)注入,形成訓(xùn)練數(shù)據(jù)集;
4、s2、基于transformer網(wǎng)絡(luò)構(gòu)建異常檢測模型,利用其提取訓(xùn)練數(shù)據(jù)集的序列特征,并提取異常檢測模型中編碼器中的權(quán)重矩陣作為差異化憑證;
5、s3、根據(jù)差異化憑證進(jìn)行差異化增強(qiáng),進(jìn)而形成差異化目標(biāo)函數(shù);
6、s4、利用差異化目標(biāo)函數(shù)對異常檢測模型進(jìn)行交替訓(xùn)練;
7、s5、利用訓(xùn)練好的異常檢測模型進(jìn)行航空時序數(shù)據(jù)異常檢測。
8、進(jìn)一步地,所述步驟s1具體為:
9、s11、采集長度為t的航空時序數(shù)據(jù)集x=[x1,…,xt]∈rt×d;其中,d為數(shù)據(jù)維度,每個時刻的數(shù)據(jù)均有對應(yīng)的標(biāo)簽,表示為y=[y1,...,yt],標(biāo)簽為0表示正常,為1表示異常;
10、s12、使用滑動窗口對航空時序數(shù)據(jù)進(jìn)行劃分,構(gòu)成窗口數(shù)據(jù)集其中,n為滑動窗口長度,s為滑動步長,xt,yt分別每個滑動窗口的數(shù)據(jù)和標(biāo)簽;
11、s13、將窗口數(shù)據(jù)集d劃分為訓(xùn)練集dtrain和測試集dtest;
12、s14、向訓(xùn)練集dtrain中注入異常數(shù)據(jù),形成訓(xùn)練數(shù)據(jù)集。
13、進(jìn)一步地,所述步驟s14具體為:
14、s14-1、將xt拷貝作為異常窗口的模版;
15、s14-2、從異常窗口中選定長度為p且滿足p<n的子序列;
16、s14-3、向子序列中進(jìn)行異常數(shù)據(jù)注入;
17、s14-4、將異常窗口內(nèi)的各時刻均標(biāo)記為異常
18、s14-5、將注入異常數(shù)據(jù)的子序列(xano,yano)添加到訓(xùn)練集中,形成訓(xùn)練數(shù)據(jù)集;其中,xano為異常數(shù)據(jù)注入前的正常數(shù)據(jù)。
19、進(jìn)一步地,所述步驟s14-3中,異常數(shù)據(jù)注入方法包括遷移注入、高斯注入和常數(shù)注入。
20、進(jìn)一步地,所述步驟s2中,基于transformer網(wǎng)絡(luò)的異常檢測模型包括編碼器和解碼器;其中,編碼器包括嵌入層及多個堆疊的編碼層。
21、進(jìn)一步地,所述編碼器的工作過程為:
22、a1、將xt作為異常檢測模型的輸入數(shù)據(jù),并通過嵌入層對其進(jìn)行編碼,提取特征信息,并加入位置編碼,其計算過程表達(dá)式為:
23、xemb=posemb(x)+inputemb(x)
24、式中,posemb(·)和inputemb(·)分別表示位置嵌入和輸入特征嵌入,表示xt經(jīng)過嵌入層得到的表示向量,并作為第一個編碼層的輸入,其中,dmodel表示隱藏層的大小;
25、a2、將加入位置編碼的特征信息輸入至編碼層中,并逐層進(jìn)行處理,其處理過程表達(dá)式為:
26、zl=layer-norm(xl-1+attention(xl-1))
27、xl=layer-norm(zl+mlp(zl))
28、式中,表示第l編碼層的輸出表示,表示第l編碼層的中間表示,mlp(·)和layer-norm(·)分別表示多層感知機(jī)以及層歸一化計算,attention(·)表示通過注意力模塊在時間維度上進(jìn)行自注意力操作。
29、進(jìn)一步地,所述步驟s2中,提取編碼器中權(quán)重矩陣的方法為:
30、通過attention(·)操作,在窗口間任意兩個時刻建立關(guān)聯(lián)形成上下文依賴關(guān)系,將其表示為注意力權(quán)重,進(jìn)而構(gòu)建權(quán)重矩陣,其計算過程表示為:
31、
32、
33、
34、式中,對于第l編碼層的注意力模塊,表示第i時刻的查詢向量,為第i時刻的鍵值向量,表示第i時刻關(guān)于整個窗口中各時刻的依賴權(quán)重,即注意力權(quán)重,得到第i時刻的權(quán)重矩陣其中,i=1,2,…,n,l表示編碼層總數(shù),n表示時刻總數(shù)。
35、進(jìn)一步地,所述步驟s3具體為:
36、s31、根據(jù)差異化憑證,計算差異化距離;
37、s32、根據(jù)差異化距離計算差異化損失;
38、s33、根據(jù)差異化損失計算差異化目標(biāo)函數(shù)。
39、進(jìn)一步地,所述步驟s31中,差異化距離ldis的計算公式為:
40、
41、式中,表示第l編碼層的與時刻i對應(yīng)的超球中心,l表示編碼層總數(shù),kl(·)表示kl散度函數(shù),索引i衡量了不同時刻在窗口內(nèi)的相對位置;
42、所述步驟s32中,差異化損失ldiff的計算公式為:
43、
44、式中,表示正常樣本的差異化距離,表示異常樣本的差異化距離,λ∈[0,1]分別表示正、異常時刻的損失權(quán)重,γ表示一個超參數(shù),min(·)是最小化函數(shù),n表示窗口長度,即時刻總數(shù);
45、其中,和分別表示為:
46、
47、
48、式中,yi表示第i時刻的異常標(biāo)簽;
49、所述步驟s33中,差異化目標(biāo)函數(shù)為:
50、
51、
52、式中,表示異常檢測模型對輸入窗口x的重構(gòu)輸出結(jié)果,表示在計算ldiff時凍結(jié)超球中心c的參數(shù),表示在計算時凍結(jié)差異化憑證的參數(shù)。
53、進(jìn)一步地,所述步驟s4中,交替使用差異化目標(biāo)函數(shù)l1和l2對基于transformer網(wǎng)絡(luò)的異常檢測模型進(jìn)行訓(xùn)練,實(shí)現(xiàn)參數(shù)更新,獲得訓(xùn)練好的基于transformer網(wǎng)絡(luò)的異常檢測模型。
54、本發(fā)明的有益效果為:
55、(1)本發(fā)明重點(diǎn)關(guān)注時序數(shù)據(jù)的上下文依賴關(guān)系,通過差異化正異常樣本表示學(xué)習(xí)的方式增強(qiáng)了基于transformer網(wǎng)絡(luò)的異常檢測模型對航空時序數(shù)據(jù)的時序關(guān)系挖掘。
56、(2)為了實(shí)現(xiàn)差異化,本發(fā)明首先以異常注入的方式擴(kuò)充訓(xùn)練集,然后設(shè)計差異化目標(biāo)函數(shù),并采用交替訓(xùn)練的方式促使基于transformer網(wǎng)絡(luò)的異常檢測模型能夠識別正常和異常樣本的差異,解決了現(xiàn)有異常檢測模型對于正異常樣本區(qū)分度不明顯的問題。