楊偉業(yè),陳 漾
(國網(wǎng)浙江省電力有限公司緊水灘水力發(fā)電廠,浙江 麗水)
我們?cè)谶@篇論文中,提出了一種時(shí)間序列異常監(jiān)測(cè)的新范式——基于流形學(xué)習(xí)的多模態(tài)時(shí)間序列異常監(jiān)測(cè)方法,從一種直觀的數(shù)據(jù)對(duì)齊的角度上去實(shí)現(xiàn)時(shí)間序列異常監(jiān)測(cè)任務(wù),使得多模態(tài)的時(shí)間序列不會(huì)被當(dāng)作彼此的異常點(diǎn),同時(shí)也能保證盡可能地監(jiān)測(cè)到各個(gè)模態(tài)對(duì)應(yīng)的異常點(diǎn)。并且使用了魯棒的時(shí)間序列異常監(jiān)測(cè)策略[3],解決了類似于GAN 中的“模式崩潰”的問題。
流形學(xué)習(xí)是表示學(xué)習(xí)中核心的一部分,流形學(xué)習(xí)有許多經(jīng)典的模型,最經(jīng)典的例如前饋神經(jīng)網(wǎng)絡(luò)、卷積神經(jīng)網(wǎng)絡(luò),它們都有著非常強(qiáng)大的編碼能力以及降維能力,能夠保證將數(shù)據(jù)降維到低維空間的同時(shí)不失去一些主要的信息。transformer 是基于全局注意力機(jī)制的網(wǎng)絡(luò),不僅能夠調(diào)動(dòng)計(jì)算資源的并行能力,并且擁有極高的精度,因此我們使用transformer 作為我們的特征壓縮函數(shù)。
我們的數(shù)據(jù)集稱之為“power”數(shù)據(jù)集,由水輪發(fā)電機(jī)組的94 個(gè)傳感器的溫度數(shù)據(jù)組成。一次開機(jī)所記錄的數(shù)據(jù)可以參考圖1。
圖1 power 數(shù)據(jù)集示例
可以很明顯地看到,所有的傳感器所記錄的溫度數(shù)據(jù)都經(jīng)歷了先上升后趨于平穩(wěn)的過程,其中上升的過程我們稱之為“升溫階段”,平穩(wěn)的過程我們稱之為“平穩(wěn)階段”,并且我們將每一個(gè)過程都當(dāng)作為一個(gè)“模態(tài)”,因此可以說我們的數(shù)據(jù)是“多模態(tài)”的。
在這一節(jié)中,我們將通過實(shí)驗(yàn)證明一系列時(shí)間序列異常監(jiān)測(cè)sota 模型無法適用于多模態(tài)的時(shí)間序列數(shù)據(jù)集。 我們準(zhǔn)備的模型分別為 Anomaly Transformer、GANF 以 及MTGFlow, 第 一 個(gè) 基 于“association discrepency”,而后兩個(gè)都是基于概率密度,數(shù)據(jù)集均為我們自己的多模態(tài)時(shí)間序列數(shù)據(jù)集“power”。
無論是Anonaly Transformer 還是GANF 或者M(jìn)TG Flow,這三個(gè)模型均把一開始梯度大的部分,也就是“升溫階段”識(shí)別為異常的時(shí)間點(diǎn),這是錯(cuò)誤的。
我們經(jīng)過分析,Anomaly Transformer 僅僅使用“association discrepency”作為評(píng)判指標(biāo),而GANF 以及MTG Flow 均僅使用“negative log likelihood”作為評(píng)判指標(biāo),而“升溫階段”以及“平穩(wěn)階段”這兩個(gè)模態(tài)是屬于不同的特征空間的,因此單一的評(píng)判指標(biāo)是無法泛化在不同的特征空間上的。
接下來我們將從微分動(dòng)態(tài)時(shí)間彎曲、流形對(duì)齊、整體3 個(gè)部分介紹基于流形學(xué)習(xí)的模型。
微分動(dòng)態(tài)時(shí)間彎曲是在最原始的版本上考慮到時(shí)間序列的導(dǎo)數(shù),從而建模序列之間更加自然的一一對(duì)應(yīng)的關(guān)系,下面我們將簡(jiǎn)要介紹。
給定兩個(gè)時(shí)間序列,第一個(gè)序列Q 為Q=q1,q2,...,qi,...qn,第二個(gè)序列C 為C=c1,c2,...,cj,...,cm,我們想要構(gòu)建一個(gè)n*m 的臨近圖矩陣來建模兩個(gè)時(shí)間序列之間的對(duì)應(yīng)關(guān)系,具體的操作步驟參考偽代碼1(見表1)。
表1 偽代碼1
其中distance_matrix()為計(jì)算q 與c 之間的歐幾里得距離,即distance(q,c)[i,j] = deriative()為近似計(jì)算時(shí)間序列導(dǎo)數(shù)的函數(shù),具體表達(dá)式為,對(duì)于時(shí)間序列Q 中的某一點(diǎn)qi:
由于這樣得到的導(dǎo)數(shù)序列比原始序列的長度少一列,所以我們?cè)趯?dǎo)數(shù)序列的最開始復(fù)制一項(xiàng)
為了壓縮高維數(shù)據(jù)并且保留高維數(shù)據(jù)的一些主要特征,我們使用流形對(duì)齊的策略,兩個(gè)壓縮映射函數(shù)F1(Q)和F2(C),分別將Q 和C 映射到d 維空間,并且d<<dq 且d<<dc。規(guī)定以下的損失函數(shù),使得低維特征能夠保留高維特征的主要信息:
其中,μ 為信息保留超參數(shù);W(Q,C)為時(shí)間序列Q 和C 的微分動(dòng)態(tài)時(shí)間彎曲圖鄰近矩陣;W (Q) 和W(C)分別為Q 和C 的k 鄰近圖矩陣。損失函數(shù)的第一項(xiàng)是為了保持不同時(shí)間序列之間的關(guān)系,第二項(xiàng)和第三項(xiàng)是為了分別保持原有時(shí)間序列的幾何結(jié)構(gòu),μ 為超參數(shù),用來控制各項(xiàng)信息的保留程度。
在這一部分我們將之前所述的微分動(dòng)態(tài)時(shí)間彎曲以及流形對(duì)齊結(jié)合起來,構(gòu)成了我們算法的主要框架,具體可以參考偽代碼2。
現(xiàn)實(shí)世界的數(shù)據(jù)集中必然包含異常的數(shù)據(jù),為了訓(xùn)練模型人工地去剔除這些異常數(shù)據(jù)是不切實(shí)際的,尤其是對(duì)于那些大型的時(shí)間序列數(shù)據(jù)集。因此,為了使得模型的訓(xùn)練更加魯棒,我們采用文獻(xiàn)[3]中提到的“梯度蒸餾”方法,非常樸素地減少了異常數(shù)據(jù)對(duì)于模型訓(xùn)練的影響,具體的做法見偽代碼2(見表2)。
表2 偽代碼2
該做法的核心思想:近似地將整個(gè)訓(xùn)練集中異常數(shù)據(jù)的占比當(dāng)作訓(xùn)練模型時(shí)一個(gè)批次數(shù)據(jù)中異常數(shù)據(jù)的占比,并且在模型訓(xùn)練梯度下降的過程中,對(duì)應(yīng)的損失函數(shù)最大的數(shù)據(jù)的梯度剔除,用剩余的認(rèn)為是正常的數(shù)據(jù)的梯度來更新模型的參數(shù)。這樣保證了大部分的異常數(shù)據(jù)不會(huì)參與到模型的訓(xùn)練過程中,從而可以從一定程度上保證數(shù)據(jù)被降維到正確的空間。
我們經(jīng)過實(shí)驗(yàn)發(fā)現(xiàn),盡管經(jīng)過了梯度蒸餾,模型還是會(huì)有“欺騙”的操作:無論是正常的數(shù)據(jù)還是異常的數(shù)據(jù),模型都將其映射到低維空間中一個(gè)固定的點(diǎn)。生成器所生成的數(shù)據(jù)具有高度的相似性。而SNGAN[4]通過譜歸一化的操作很好地解決了這個(gè)問題,因此,我們?cè)谀P椭幸布尤肓俗V歸一化層,使得正常數(shù)據(jù)和異常數(shù)據(jù)經(jīng)過降維之后有很高的區(qū)分性。
對(duì)于流形壓縮函數(shù)F1(Q)以及F2(C),我們均采用transformer 的encoder 模塊,具體的結(jié)構(gòu)如圖2 所示。
圖2 壓縮函數(shù)網(wǎng)絡(luò)結(jié)構(gòu)
對(duì)于流形壓縮函數(shù),我們使用超參數(shù)N 為6,使用Adam 作為優(yōu)化器,學(xué)習(xí)率為0.0001,采用warm up為500 個(gè)iteration,采用學(xué)習(xí)率余弦退火,基于RTX 2070super 的GPU 環(huán)境。根據(jù)訓(xùn)練集的估計(jì),我們采用損失函數(shù)的前5%作為閾值,來進(jìn)行異常點(diǎn)的挑選。
基于流形學(xué)習(xí)的模型,能夠?qū)ⅰ捌椒€(wěn)階段”部分的異常點(diǎn)監(jiān)測(cè)出來,這驗(yàn)證了我們的模型對(duì)于多模態(tài)時(shí)間序列異常監(jiān)測(cè)任務(wù)的適用性。實(shí)驗(yàn)結(jié)果查看圖3,黑色加粗位置就是識(shí)別到“平穩(wěn)階段”的異常點(diǎn)。
圖3 流形學(xué)習(xí)模型的異常監(jiān)測(cè)
從總體上來說,我們發(fā)現(xiàn)了目前水輪發(fā)電機(jī)組溫度時(shí)序數(shù)據(jù)多模態(tài)異常監(jiān)測(cè)的難題,提出了一個(gè)基于流形學(xué)習(xí)數(shù)據(jù)對(duì)齊的時(shí)間序列異常監(jiān)測(cè)模型,驗(yàn)證了升溫階段和平穩(wěn)階段的異常監(jiān)測(cè),結(jié)合梯度蒸餾、譜歸一化的魯棒監(jiān)測(cè)規(guī)則,使得模型的訓(xùn)練不再過度依賴于純凈的數(shù)據(jù)集。
雖然我們的模型是用于多模態(tài)時(shí)間序列異常監(jiān)測(cè)的模型,但是核心的思想還是非常樸素:僅僅從數(shù)據(jù)對(duì)齊的角度去解決時(shí)間序列異常監(jiān)測(cè)的問題。模型在我們自己的power 數(shù)據(jù)集很有效果,但是現(xiàn)實(shí)中的很多時(shí)間序列數(shù)據(jù)集要比我們的power 數(shù)據(jù)集復(fù)雜的多,因此我們未來將發(fā)掘更多的多模態(tài)時(shí)間序列數(shù)據(jù)集,并且依次驗(yàn)證我們的模型在這些多模態(tài)數(shù)據(jù)集上的有效性。