林燁敏,王 寧,邱榮杰,湯宇超,周冠群,李澤洲,王中亞
(1.國網(wǎng)浙江省電力有限公司緊水灘水力發(fā)電廠,浙江 麗水 323000;2.寧波工業(yè)互聯(lián)網(wǎng)研究院,浙江 寧波 315016)
在水電站日常運(yùn)維管理中,對機(jī)組運(yùn)行的實(shí)時(shí)數(shù)據(jù)進(jìn)行異常監(jiān)測有著至關(guān)重要的作用,可以避免水電運(yùn)行安全事故進(jìn)一步擴(kuò)大,并且在指導(dǎo)機(jī)組進(jìn)行狀態(tài)檢修等方面也有重要意義。
國網(wǎng)浙江緊水灘電廠是國家開發(fā)甌江流域龍泉溪干流梯級發(fā)電的第一級水電站,總?cè)萘?0 萬kW,于二十世紀(jì)八十年代建成。結(jié)合企業(yè)發(fā)展及數(shù)字化改革要求,傳統(tǒng)水電廠向更加智慧的現(xiàn)代化水電廠轉(zhuǎn)型是必然趨勢,這也符合水電廠向“無人值班、遠(yuǎn)程集控、智慧運(yùn)行”目標(biāo)推進(jìn)的要求。水電機(jī)組的異常監(jiān)測管理是水電智慧運(yùn)行的核心環(huán)節(jié)。目前,緊水灘電廠已全面完成水輪機(jī)、發(fā)電機(jī)定子及自動(dòng)化監(jiān)控系統(tǒng)改造,實(shí)現(xiàn)生產(chǎn)數(shù)據(jù)自動(dòng)采集,整體自動(dòng)化水平較高,機(jī)組本身的傳感數(shù)據(jù)豐富,可為機(jī)組整體運(yùn)行狀態(tài)進(jìn)行異常分析建模提供數(shù)據(jù)基礎(chǔ)。
水電機(jī)組的故障通常發(fā)生在軸系、葉輪、葉片、導(dǎo)軸承等部位,主要故障包括油箱油位升降、油溫升高、軸瓦平均溫度升高等[1]。本文采集的系統(tǒng)數(shù)據(jù)包含大部分待檢測的故障部位。
時(shí)序異常檢測是時(shí)序分析問題重要的分支領(lǐng)域,自十九世紀(jì)開始,統(tǒng)計(jì)學(xué)領(lǐng)域就開始對數(shù)據(jù)中的異常檢測展開研究[2]。通過對時(shí)序序列進(jìn)行模式識(shí)別,從中挖掘異常序列片段特征并輸出異常片段或報(bào)警信息。異常特征通常包含異常點(diǎn)、離群點(diǎn)、錯(cuò)誤值等類型,其中異常點(diǎn)和離群點(diǎn)是常見的時(shí)序異常檢測目標(biāo)。
近年來隨著機(jī)器學(xué)習(xí)和深度學(xué)習(xí)的發(fā)展,時(shí)序異常檢測的準(zhǔn)確率獲得不斷提升,方法也獲得極大程度的補(bǔ)充。Breunig 等人于2000 年提出的LOF(局部離群因子)是基于密度估計(jì)的方法[3],Scholkopf 等人于2001 年提出的單類SVM(支持向量機(jī))是基于聚類的方法[4]。這些基于傳統(tǒng)機(jī)器學(xué)習(xí)的方法在一定程度上解決了部分異常檢測的問題,但很難泛化到大規(guī)模數(shù)據(jù)以及多樣化的異常特征提取。
基于深度學(xué)習(xí)RNN(循環(huán)神經(jīng)網(wǎng)絡(luò))的方法則進(jìn)一步提升了長時(shí)間序列的記憶和建模能力以及在大規(guī)模數(shù)據(jù)上的泛化性能。Ya Su 等人于2019年提出以隨機(jī)循環(huán)神經(jīng)網(wǎng)絡(luò)算法解決多維時(shí)序異常檢測問題[5],Lifeng Shen 等人于2020 年提出THOC(時(shí)間分層一類)網(wǎng)絡(luò),融合多維時(shí)序特征,進(jìn)一步提升異常檢測精度和效率[6]。
近兩年,基于自監(jiān)督算法模塊構(gòu)建的Transformer 模型在自然語言處理任務(wù)中取得業(yè)界最好的效果。相比基于循環(huán)模塊的RNN 系列算法,Transformer 模型完全采用注意力機(jī)制,能夠避免計(jì)算隱含層特征信息時(shí)過度依賴前一時(shí)刻隱含狀態(tài)和當(dāng)前時(shí)刻輸入的問題,更好地建模遠(yuǎn)距離上下文隱含關(guān)系[7],極大程度地提成了序列建模和預(yù)測的效果。同時(shí),基于Transformer 的時(shí)序異常檢測也獲得了一定發(fā)展。Shaohan Huang 等人于2020 年提出的HitAnomaly 模型構(gòu)建了層次分級Transformer[8],解決系統(tǒng)日志中的序列異常問題。Zekai Chen 等人于2021 年使用Transformer 模型學(xué)習(xí)多維時(shí)間序列中的圖結(jié)構(gòu),解決了時(shí)序異常檢測問題[9]。
以上方法在大規(guī)模時(shí)序數(shù)據(jù)中包含較少的異常點(diǎn)或離群點(diǎn)檢測問題時(shí)通常表現(xiàn)不足,并且需要標(biāo)注大量異常片段樣本序列,增加了人力成本。而基于生成式GAN(生成對抗網(wǎng)絡(luò))[10]的方法則能夠在無監(jiān)督的場景下,通過對大規(guī)模數(shù)據(jù)集進(jìn)行序列特征建模,從而很好地發(fā)現(xiàn)少量異常片段,在實(shí)現(xiàn)高精度異常報(bào)警的同時(shí),降低人力標(biāo)注成本[11]。
結(jié)合水電機(jī)組日常運(yùn)維中分析運(yùn)行數(shù)據(jù)存在的周期性和趨勢性異常,為盡早發(fā)現(xiàn)和切斷機(jī)組故障,結(jié)合Transformer 模型對大規(guī)模長序列特征提取和建模的能力,以及GAN在生成算法高效的訓(xùn)練方式以及無監(jiān)督自訓(xùn)練的能力,提出Trans-GAN模型,用于在大規(guī)模水電運(yùn)行數(shù)據(jù)上進(jìn)行序列異常檢測。本文將從機(jī)組運(yùn)行數(shù)據(jù)分析、Trans-GAN 模型構(gòu)建以及結(jié)果驗(yàn)證3 個(gè)方面進(jìn)行具體論述和分析。
水電機(jī)組系統(tǒng)采用InfluxDB 數(shù)據(jù)庫記錄不同傳感器的時(shí)序監(jiān)測序列數(shù)據(jù),通過讀取接口可以獲取與需要的時(shí)間段對應(yīng)的多維度監(jiān)測數(shù)據(jù)。
本文所使用的水電站機(jī)組數(shù)據(jù)對應(yīng)時(shí)間段為2021—2022 年,數(shù)據(jù)包含60個(gè)維度不同的監(jiān)測數(shù)據(jù)。由于數(shù)據(jù)寫入水電機(jī)組時(shí)序數(shù)據(jù)庫系統(tǒng)時(shí),每個(gè)時(shí)刻點(diǎn)的數(shù)據(jù)均會(huì)與前一時(shí)刻點(diǎn)數(shù)據(jù)進(jìn)行比較,只有當(dāng)數(shù)值發(fā)生變化、超過閾值時(shí),才寫入該時(shí)刻點(diǎn)數(shù)據(jù),如此雖然可以大幅節(jié)省存儲(chǔ)空間,但讀取到的數(shù)據(jù)存在較多缺失值。
60 個(gè)維度的監(jiān)測指標(biāo)包括各組件的溫度、電流、電壓、水壓、水流量、油壓和振幅等。根據(jù)水電機(jī)組的工作原理,可以推斷單一組件各項(xiàng)指標(biāo)間以及各個(gè)組件不同指標(biāo)間必然存在隱含的關(guān)聯(lián)性。本文所采用的異常序列監(jiān)控方法僅需要對關(guān)鍵監(jiān)測指標(biāo)進(jìn)行異常分析即可,與關(guān)鍵指標(biāo)存在隱含關(guān)聯(lián)性的其他指標(biāo)存在相似異常屬性,重復(fù)監(jiān)測會(huì)導(dǎo)致系統(tǒng)處理壓力過大,負(fù)載增加,浪費(fèi)計(jì)算資源、降低監(jiān)測實(shí)時(shí)性。因此前期的數(shù)據(jù)分析需要觀察指標(biāo)互相關(guān)性,對數(shù)據(jù)做降維處理。
如前文所述,水電機(jī)組后臺(tái)系統(tǒng)實(shí)時(shí)錄入所有監(jiān)測指標(biāo),系統(tǒng)I/O 壓力較大,一般存儲(chǔ)的數(shù)據(jù)類型為浮點(diǎn)型數(shù)據(jù),占用空間高。為了降低系統(tǒng)I/O 和存儲(chǔ)壓力,連續(xù)監(jiān)測指標(biāo)沒有變化的數(shù)據(jù)通常不寫入數(shù)據(jù)庫,因此導(dǎo)致后期采集的數(shù)據(jù)存在大量缺失值。
實(shí)驗(yàn)過程中對采集到的60 個(gè)維度的監(jiān)測指標(biāo)數(shù)據(jù)缺失值比例進(jìn)行統(tǒng)計(jì),如圖1 所示(監(jiān)測指標(biāo)名稱通過序列ID 替代),可以觀察到:由于缺失值占比超過50%的監(jiān)測指標(biāo)占比較高,缺失值對降維分析和模型訓(xùn)練均有很大影響;同時(shí),由于待分析的監(jiān)測數(shù)據(jù)均為數(shù)值型數(shù)據(jù),不存在分類指標(biāo)或文本類型指標(biāo)數(shù)據(jù)。因此,本文實(shí)驗(yàn)中對缺失值的處理將按照上文提到的系統(tǒng)實(shí)際存儲(chǔ)行為完成缺失值填充,填充方法為:根據(jù)實(shí)際水電系統(tǒng)數(shù)據(jù)寫入規(guī)則以及避免在插值過程中引入額外的人為誤差(波動(dòng)幅值一般源于環(huán)境噪聲或探測器電子學(xué)噪聲),如果傳入的監(jiān)測指標(biāo)值與上一時(shí)刻非空(若為空值,則迭代回溯)的指標(biāo)值相同,則錄入空值,否則錄入當(dāng)前值。因此填充時(shí)可以直接將前一時(shí)刻數(shù)據(jù)值直接替換當(dāng)前時(shí)刻缺失值,無須通過傳統(tǒng)的補(bǔ)充平均值、補(bǔ)零等方式填充。
圖1 數(shù)據(jù)缺失值占比Fig.1 Percentage of missing data values
通過以上方法填充前一時(shí)刻存在的記錄值,填充后數(shù)據(jù)頭部依然存在無法被填充的缺失值,但相對一年時(shí)間數(shù)據(jù)長度占比極小,如圖2 所示。從圖2 可以看到,填充后頭部缺失數(shù)據(jù)占比極小,平均約占總體數(shù)據(jù)量的0.02%,對后續(xù)序列特征變化特性建模的影響極小。因此實(shí)驗(yàn)中直接移除頭部無法填充的數(shù)據(jù)段。
圖2 填充后缺失值占比Fig.2 Percentage of missing values after refilling
在時(shí)序序列數(shù)據(jù)分析中,獲得數(shù)據(jù)并進(jìn)一步進(jìn)行數(shù)據(jù)分析之前,需要先進(jìn)行特征降維,避免因特征維數(shù)過高導(dǎo)致的維數(shù)災(zāi)難,同時(shí)也可以使數(shù)據(jù)分析獲得更好的性能。水電機(jī)組數(shù)據(jù)中,存在隱形高度相關(guān)的監(jiān)測指標(biāo)維度較高,例如對同一設(shè)備同時(shí)監(jiān)測的電壓和電流值等類似的監(jiān)測對,在其中一個(gè)指標(biāo)發(fā)生異常的同時(shí),另一個(gè)指標(biāo)必然發(fā)生異常,可能為正相關(guān)或負(fù)相關(guān)關(guān)系,在實(shí)際監(jiān)測時(shí)只需要對其中一個(gè)指標(biāo)進(jìn)行監(jiān)測即可[12]。
一般通過數(shù)據(jù)采集時(shí)以人工選擇的方式提取互不相關(guān)的獨(dú)立監(jiān)測指標(biāo)用于數(shù)據(jù)分析,但人工選擇非常耗費(fèi)時(shí)間,并且存在漏篩選或過度篩選的問題。因此,本文對采集到的全量特征維度利用機(jī)器學(xué)習(xí)方法提取主要特征,以降低人工成本和錯(cuò)誤率,提高數(shù)據(jù)鏈路自動(dòng)化處理能力。常見的數(shù)據(jù)降維方法包括PCA(主成分分析)、隨機(jī)森林特征選擇、低秩表示等。PCA 是一種常見的無監(jiān)督學(xué)習(xí)方法,主要利用正交變換把由線性相關(guān)變量表示的少量觀測數(shù)據(jù)轉(zhuǎn)換為由線性無關(guān)變量表示的數(shù)據(jù),最終獲得的線性無關(guān)的變量即為主成分[13]。隨機(jī)森林算法是一種基于決策樹的集成學(xué)習(xí)算法。決策樹的每個(gè)節(jié)點(diǎn)都是關(guān)于某種特征的條件,對于一棵決策樹,可以計(jì)算每個(gè)特征平均減少的不純凈度,并將該值作為特征選擇的判別依據(jù)[14]。
針對水電機(jī)組數(shù)據(jù),由于同一部件存在多種相關(guān)監(jiān)測指標(biāo),互相關(guān)程度極高;同時(shí)原始時(shí)序數(shù)據(jù)包含重要序列周期信息。如果對水電機(jī)組數(shù)據(jù)采用PCA 降維算法,會(huì)將原始數(shù)據(jù)序列特征映射到新的特征空間中,導(dǎo)致原始序列特有的周期等特征丟失,模型無法學(xué)習(xí)合理的序列特征,影響最終序列重建效果。因此本文實(shí)驗(yàn)采用隨機(jī)森林算法,結(jié)合特征互相關(guān)性矩陣對原始60 個(gè)維度的特征進(jìn)行篩選,最終保留10 個(gè)維度的特征信息作為建模數(shù)據(jù)輸入。
早期的時(shí)序數(shù)據(jù)預(yù)測模型包括線性回歸、ARIMA 等,進(jìn)入深度學(xué)習(xí)時(shí)代,基于RNN 結(jié)構(gòu)的LSTM(長短期記憶神經(jīng)網(wǎng)絡(luò))模型由于其遺忘門的設(shè)計(jì)可以很好地處理長短時(shí)序信息而被廣泛應(yīng)用[15]。然而對于較大規(guī)模,例如超過一年且以分鐘記錄的時(shí)序數(shù)據(jù),LSTM 仍無法很好地提取遠(yuǎn)距離上下文序列關(guān)系。而Transformer 模型則去掉了短期前后文的序列關(guān)系方法,完全采用注意力機(jī)制,結(jié)合位置編碼,能夠有效建模長距離上下文關(guān)系。大規(guī)模數(shù)據(jù)存在的另一個(gè)問題是很難進(jìn)行人工標(biāo)注,尤其是對于低頻出現(xiàn)的異常片段。因此,本文提出TransGAN,結(jié)合Transformer 和GAN網(wǎng)絡(luò)的無監(jiān)督模型,同時(shí)解決長距離上下文時(shí)序建模以及人工標(biāo)注困難的問題。
Transformer模型摒棄了RNN的結(jié)構(gòu)設(shè)計(jì),網(wǎng)絡(luò)核心為堆疊式的自注意力結(jié)構(gòu),整體采用邊界結(jié)構(gòu)設(shè)計(jì);Transformer 基于此設(shè)計(jì)相比LSTM能夠更好地處理長文本上下文關(guān)聯(lián)信息,主動(dòng)挖掘關(guān)鍵點(diǎn),并學(xué)習(xí)關(guān)聯(lián)表征。Transformer 在機(jī)器翻譯領(lǐng)域大放異彩,尤其是基于Transformer 結(jié)構(gòu)構(gòu)建的預(yù)訓(xùn)練模型,在自然語言處理領(lǐng)域被廣泛使用,獲得了很好的效果,甚至在計(jì)算機(jī)視覺、語音識(shí)別和其他領(lǐng)域也被采用。
Transformer 模型的核心是其自注意力機(jī)制,如式(1)所描述:
式中:Q∈RN×Dk,表示注意力機(jī)制中的自主性提示,即查詢向量;K∈RM×Dk,V∈RM×Dv,鍵和值在注意力機(jī)制中一一對應(yīng)。
基礎(chǔ)Transformer 模型的結(jié)構(gòu)如圖3 所示,其輸入同時(shí)包含序列的向量編碼以及位置編碼。圖3中左側(cè)結(jié)構(gòu)為編碼器,輸入為編碼的時(shí)序特征向量以及對應(yīng)的位置編碼向量,經(jīng)過多頭注意力機(jī)制和前向神經(jīng)網(wǎng)絡(luò),多層次編碼,輸出低維度編碼向量,該向量獲得了時(shí)序特征序列的重要特征編碼信息。圖3右側(cè)為解碼網(wǎng)絡(luò),該網(wǎng)絡(luò)包含3個(gè)維度的輸入信息:編碼的時(shí)序特征向量、位置編碼向量以及編碼網(wǎng)絡(luò)獲得的編碼向量。
圖3 Transformer網(wǎng)絡(luò)結(jié)構(gòu)Fig.3 Transformer network structure
由于Transformer 結(jié)構(gòu)中的自注意力機(jī)制善于處理上下文關(guān)聯(lián)性建模,因此在時(shí)序數(shù)據(jù)預(yù)測中,也可以很好地挖掘長時(shí)間上下文依賴關(guān)系。
在水電機(jī)組數(shù)據(jù)異常預(yù)測中,不同時(shí)間長度的數(shù)據(jù)之間的關(guān)聯(lián)性同樣需要建模,尤其針對機(jī)組裝備在長時(shí)間運(yùn)營過程中,由于硬件工作參數(shù)受環(huán)境溫度、濕度、運(yùn)行時(shí)間等影響時(shí),可能發(fā)生累計(jì)形變、溫度異常等現(xiàn)象。因此相較傳統(tǒng)特征數(shù)據(jù)分析方法和基于循環(huán)神經(jīng)網(wǎng)絡(luò)的方法,Transformer的長序列建模能力更加重要。
GAN由雙路架構(gòu)構(gòu)成,其中一個(gè)網(wǎng)絡(luò)用于從任意輸入(例如噪聲)生成目標(biāo),并使該目標(biāo)不斷逼近真實(shí)目標(biāo);另一個(gè)網(wǎng)絡(luò)輸入生成目標(biāo)和真實(shí)目標(biāo),并盡可能最大化兩者之間的差異,分辨兩者的不同。
判別器的損失函數(shù)如式(2)描述:
生成器的損失函數(shù)如式(3)描述:
同時(shí)訓(xùn)練聯(lián)合損失函數(shù)如式(4)描述:
式中:G為生成模型;D為判別模型;x為真實(shí)數(shù)據(jù);z為隨機(jī)噪聲;Ex~Pdata(x)[D(x)]表示在給定的真實(shí)數(shù)據(jù)分布中計(jì)算判別器分類的期望值;Ex~Pz(x)[D(G(z))]表示從純噪音數(shù)據(jù)中生成的數(shù)據(jù),經(jīng)過判別器判別真假的期望值。整體通過聯(lián)合交叉熵?fù)p失形式計(jì)算誤差,將誤差通過反向傳播算法,用于更新網(wǎng)絡(luò)參數(shù)。通過迭代訓(xùn)練,模型最終收斂于最優(yōu)的生成模型和最優(yōu)的判別器。
基于GAN網(wǎng)絡(luò)架構(gòu)的特殊性,其對抗性訓(xùn)練方式能夠方便地應(yīng)用于需要無監(jiān)督學(xué)習(xí)的場景中。當(dāng)大規(guī)模數(shù)據(jù)中存在大量正樣本和極少量負(fù)樣本時(shí),生成器將從大部分正樣本中學(xué)習(xí)到正常序列分布特征,同時(shí)判別器能夠通過上述損失函數(shù)通過反向傳播更新參數(shù)的方法不斷提升生成器對正常樣本的重建能力。水電機(jī)組數(shù)據(jù)在很大程度上具備上述屬性,較大比例時(shí)間內(nèi)機(jī)組均處于正常工作狀態(tài),而異常報(bào)警的發(fā)生頻次較低,采用GAN網(wǎng)絡(luò)架構(gòu)處理水電機(jī)組異常數(shù)據(jù)能夠降低負(fù)樣本篩選和標(biāo)注工作。
綜上所述,結(jié)合Transformer 對時(shí)序序列強(qiáng)大的關(guān)聯(lián)信息建模能力,本文采用簡單的Transformer 模型作為主干網(wǎng)絡(luò),編碼部分對水電機(jī)組時(shí)序數(shù)據(jù)提取隱藏層向量表示,再通過解碼網(wǎng)絡(luò)還原原始特征序列,實(shí)現(xiàn)時(shí)序特征數(shù)據(jù)自我重建能力。如圖3所示,網(wǎng)絡(luò)輸入部分包含原始特征序列和時(shí)序片段中各個(gè)時(shí)間點(diǎn)位置信息的編碼,編碼網(wǎng)絡(luò)由3 層堆疊的包含自注意力機(jī)制的模塊組成,前饋神經(jīng)網(wǎng)絡(luò)包含一層獨(dú)立隱藏層。輸入經(jīng)過編碼后,獲得對輸入時(shí)序序列隱含的重要特征信息的編碼向量。獲得編碼向量后,再將該向量結(jié)合特征序列以及位置編碼信息同時(shí)輸入解碼網(wǎng)絡(luò),通過解碼網(wǎng)絡(luò)重建原始序列,編碼網(wǎng)絡(luò)也采用3層堆疊的包含自注意力機(jī)制的模塊組成,編碼向量為中間層輸入信號。獲得解碼向量后,通過線性層輸出,獲得重建的時(shí)序序列。
網(wǎng)絡(luò)訓(xùn)練的監(jiān)督信息為原始時(shí)序數(shù)據(jù),最終讓Transformer 模型通過正確的時(shí)序數(shù)據(jù)學(xué)習(xí)正確的編碼模式。
單獨(dú)用Transformer 模型進(jìn)行序列重建無法正確從正常時(shí)序序列中獲得時(shí)序特征,降低異常序列的干擾。因此構(gòu)建完成的Transformer 編解碼網(wǎng)絡(luò)需要結(jié)合GAN 訓(xùn)練架構(gòu)使用。本文將Transformer 模型作為生成器網(wǎng)絡(luò),而對于判別器,僅需完成二分類任務(wù),因此通過構(gòu)建簡單的多層感知機(jī)實(shí)現(xiàn)判別器網(wǎng)絡(luò),基于GAN 架構(gòu)的Trans-GAN模型如圖4所示。
圖4 TransGAN網(wǎng)絡(luò)結(jié)構(gòu)Fig.4 TransGAN network structure
網(wǎng)絡(luò)數(shù)據(jù)流過程如下:原始數(shù)據(jù)X通過基于Transformer模型的生成網(wǎng)絡(luò)G獲得重建的輸出X^,結(jié)合原始數(shù)據(jù),一并輸入到基于多層感知機(jī)的判別網(wǎng)絡(luò)D中,經(jīng)過多層感知機(jī)前向運(yùn)算獲得真/假二分類概率值,結(jié)合式(4)計(jì)算聯(lián)合損失,再通過反向傳播算法更新模型參數(shù)梯度。
執(zhí)行預(yù)測任務(wù)時(shí),只需要將時(shí)序序列片段數(shù)據(jù)x輸入訓(xùn)練后得到的TransGAN模型,獲得重建后的預(yù)測序列T(x),然后依據(jù)式(5)計(jì)算原始序列與重建后的序列之間的誤差。
由于異常片段必定與正常序列存在不一致的趨勢,導(dǎo)致誤差增加。因此該誤差值可以準(zhǔn)確反映異?,F(xiàn)象是否存在,其中差值存在的片段即為異常片段。
最終系統(tǒng)希望實(shí)現(xiàn)對異常值出現(xiàn)進(jìn)行報(bào)警,因此只需要結(jié)合給定的閾值δ,如果Error大于δ,則判定當(dāng)前序列存在異常。
實(shí)驗(yàn)中,堆疊3 層Transformer 結(jié)構(gòu)分別作為編碼器和解碼器,隱狀態(tài)維度設(shè)置為512維,注意力頭數(shù)量為8個(gè)。使用Adam優(yōu)化器,給定初始學(xué)習(xí)率10-4,訓(xùn)練輪次為20 輪,批大小設(shè)置為32,序列片段長度設(shè)置為100,特征維度10。在NVIDIA RTX 3090顯卡環(huán)境下訓(xùn)練。
在篩選的測試集中根據(jù)訓(xùn)練集相同的特征提取方法,提取執(zhí)行預(yù)測的特征時(shí)序序列數(shù)據(jù),通過模型輸出重建結(jié)果,圖5分別展示了兩個(gè)維度異常檢測的效果。根據(jù)實(shí)際水電機(jī)組在異常檢測過程中希望報(bào)警的經(jīng)驗(yàn)閾值,本實(shí)驗(yàn)針對定子鐵芯、軸瓦等8個(gè)溫度相關(guān)指標(biāo),采用閾值5度作為誤差范圍δ,驗(yàn)證模型預(yù)測準(zhǔn)確率。其他指標(biāo)則根據(jù)實(shí)際運(yùn)行時(shí)經(jīng)驗(yàn)報(bào)警閾值判斷。
圖5(a)為某機(jī)組定子鐵芯溫度值的異常檢測結(jié)果,其中紅色曲線為原始數(shù)據(jù)經(jīng)過TransGAN重建后的序列。從圖5(a)可知,某一時(shí)間點(diǎn)附近存在一個(gè)異常值,根據(jù)式(5)計(jì)算得知誤差約為13,遠(yuǎn)超過設(shè)定閾值5,因此該處異常溫度點(diǎn)發(fā)出報(bào)警信息。
圖5(b)為某機(jī)組軸瓦溫度值異常檢測結(jié)果,可以明顯看到TransGAN 模型對正常溫度變化序列擬合效果很好,誤差普遍低于0.5。而某一時(shí)間點(diǎn)附近存在的異常點(diǎn)誤差為173,遠(yuǎn)超過誤差閾值。
圖5 基于TransGAN的序列異常檢測結(jié)果Fig.5 Results of sequence anomaly detection based on TransGAN
通過TransGAN 對拆分的測試數(shù)據(jù)進(jìn)行異常判斷,設(shè)定誤差閾值δ=5,人工統(tǒng)計(jì)系統(tǒng)異常報(bào)警數(shù)量與實(shí)際異常點(diǎn)數(shù)量,準(zhǔn)確率為98.3%,遠(yuǎn)超過人工監(jiān)控的準(zhǔn)確率。
本文算法采用Transformer 模型作為主要建模模塊,從數(shù)據(jù)中建模正常序列模態(tài)。通過實(shí)驗(yàn)對比RNN 為基礎(chǔ)的模型,證明Transformer 作為建模模塊可以更好地?cái)M合更長時(shí)間周期的數(shù)據(jù),建立長距離上下文關(guān)系。
對比實(shí)驗(yàn)采用雙向LSTM 模型。為控制單一變量,實(shí)驗(yàn)中僅將Transformer 建模模塊替換為雙向LSTM 模型,同時(shí)可以直接利用未標(biāo)記負(fù)樣本的全量數(shù)據(jù)訓(xùn)練模型。表1展示了替換后的模型進(jìn)行異常檢測的結(jié)果。從查全率和查準(zhǔn)率可以看出,Transformer 的建模能力強(qiáng)于雙向LSTM的建模能力,對學(xué)習(xí)水電機(jī)組運(yùn)行數(shù)據(jù)正常特征模式有明顯效果。
表1 對比實(shí)驗(yàn)查準(zhǔn)/查全率Table 1 Accuracy rate and recall rate of comparison tests%
本文研究中,結(jié)合實(shí)際水電機(jī)組歷史數(shù)據(jù),通過數(shù)據(jù)清洗、特征工程以及基于Transformer 和GAN的序列重建算法快速準(zhǔn)確提取時(shí)序序列的異常片段,在測試集中獲得良好表現(xiàn)。在水電機(jī)組系統(tǒng)中完成該模型部署,實(shí)際運(yùn)行可以達(dá)到實(shí)時(shí)異常監(jiān)測的效果,并且具有準(zhǔn)確率高、誤報(bào)率低的特點(diǎn),為降低機(jī)組維護(hù)人員工作負(fù)擔(dān),提升監(jiān)測準(zhǔn)確率和準(zhǔn)時(shí)性的智慧化水電系統(tǒng)奠定了基礎(chǔ)。該方法可以在水電機(jī)組普遍使用,但對于不同的水電機(jī)組需要進(jìn)行額外訓(xùn)練。