火久元, 李超杰, 于春瀟
(1. 蘭州交通大學(xué) 電子與信息工程學(xué)院,蘭州 730070; 2. 國家冰川凍土沙漠科學(xué)數(shù)據(jù)中心,蘭州 730000;3. 蘭州瑞智元信息技術(shù)有限責(zé)任公司,蘭州 730070)
隨著現(xiàn)代化工業(yè)的發(fā)展,工業(yè)設(shè)備能否安全可靠的以最佳狀態(tài)運行,對于保證產(chǎn)品質(zhì)量、保障生產(chǎn)安全、提高企業(yè)生產(chǎn)力都具有十分重要的意義。機械設(shè)備是現(xiàn)代化工業(yè)生產(chǎn)的物質(zhì)基礎(chǔ),設(shè)備管理是企業(yè)管理中的重要領(lǐng)域,如何有效的提高設(shè)備運行的可靠性,及時發(fā)現(xiàn)和預(yù)測出故障是加強設(shè)備管理的重要環(huán)節(jié)。傳統(tǒng)的基于“時間”的計劃維修、基于“事件”(故障)的事后維修等方式已無法滿足現(xiàn)代化工業(yè)的需求。故障診斷是一種基于“狀態(tài)”(數(shù)據(jù))的預(yù)防性維修方式,通過信號處理、統(tǒng)計分析、趨勢分析等方法確定設(shè)備發(fā)生的故障類型,有效解決了僵化的計劃維修以及被動的事后維修所存在的“過度維修”和“維修不足”等問題,在工業(yè)生產(chǎn)設(shè)備管理中占有重要地位[1]。
國內(nèi)外學(xué)者針對不同的研究對象(如航空發(fā)動機、風(fēng)電機組、直升飛機、高速鐵路等重大裝備及其關(guān)鍵部件如軸承、齒輪箱、電機等)在故障診斷問題上做了大量的工作。故障診斷的主要方法包括:物理模型方法和數(shù)據(jù)驅(qū)動方法[2]。傳統(tǒng)的物理模型方法主要基于失效機理、退化模式等研究故障狀態(tài)下動力學(xué)參數(shù)與故障模式的內(nèi)在聯(lián)系,該方法一般適應(yīng)于單個組件或單個故障模式下的設(shè)備[3]。針對復(fù)雜設(shè)備,由于它們的失效機理復(fù)雜、故障模式多樣,構(gòu)建其物理模型進行故障診斷往往比較困難,所以通常采用數(shù)據(jù)驅(qū)動方法。
數(shù)據(jù)驅(qū)動方法通過監(jiān)測信號或歷史數(shù)據(jù)直接訓(xùn)練模型進行故障診斷,該方法無需大量的領(lǐng)域?qū)<抑R和知識的表達推理機制。數(shù)據(jù)驅(qū)動方法主要包括統(tǒng)計方法、機器學(xué)習(xí)方法、深度學(xué)習(xí)方法等。針對海量、高維、復(fù)雜的工業(yè)數(shù)據(jù),統(tǒng)計方法無法挖掘出隱藏的內(nèi)部特征。邏輯回歸(logistic regression,LR)、梯度提升樹、隨機森林(random forest,RF)等傳統(tǒng)的機器學(xué)習(xí)方法[4]學(xué)習(xí)能力弱、特征提取與模型建立孤立進行,無法挖掘出特征與標(biāo)簽之間復(fù)雜的映射關(guān)系。近幾年來,由于大數(shù)據(jù)和人工智能的迅速發(fā)展,深度學(xué)習(xí)憑借其強大的建模與數(shù)據(jù)處理能力在工業(yè)設(shè)備故障診斷上得到了工業(yè)和學(xué)術(shù)界廣泛的關(guān)注。其中,以卷積神經(jīng)網(wǎng)絡(luò)(convolutional neural network,CNN)[5]、循環(huán)神經(jīng)網(wǎng)絡(luò)[6-7]以及卷積神經(jīng)網(wǎng)絡(luò)和循環(huán)神經(jīng)網(wǎng)絡(luò)的組合模型[8]在故障診斷上應(yīng)用的最多,但上述模型無法挖掘出標(biāo)簽與標(biāo)簽之間復(fù)雜的映射關(guān)系。
此外,工業(yè)故障數(shù)據(jù)通常具有極端的類不均衡性,應(yīng)對這一問題的主要方法包括:數(shù)據(jù)級方法和算法級方法。數(shù)據(jù)級方法通過采樣策略改變不均衡數(shù)據(jù)中不同類別故障樣本的數(shù)量和分布,如欠采樣和過采樣方法可以平衡多數(shù)類和少數(shù)類之間的數(shù)量和分布[9];隨機欠采樣和隨機過采樣是兩種常見的方法[10],但隨機欠采樣會丟失過多的信息,而隨機過采樣會產(chǎn)生過多的冗余信息;合成少數(shù)類過采樣方法(synthetic minority oversamping technique,SMOTE)采用K近鄰方法在少數(shù)類樣本附近生成新樣本,但生成的新樣本可能更接近多數(shù)類樣本[11]。算法級方法通過調(diào)整分類器以適應(yīng)故障類不均衡的數(shù)據(jù),成本敏感方法可以修改分類器訓(xùn)練的成本,從而使分類器更關(guān)注少數(shù)類[12],但會改變訓(xùn)練損失的范圍影響訓(xùn)練的穩(wěn)定性,因此本文僅對數(shù)據(jù)級方法進行研究。
工業(yè)故障數(shù)據(jù)的多維性、類不均衡性和并發(fā)性為工業(yè)故障診斷帶來了三大挑戰(zhàn)[13]?,F(xiàn)有研究大多集中在單標(biāo)簽識別問題,在多標(biāo)簽識別問題中不同故障標(biāo)簽之間愈發(fā)表現(xiàn)為耦合性、不確定性、并發(fā)性,且故障樣本和故障標(biāo)簽之間也表現(xiàn)為更加復(fù)雜的映射關(guān)系。因此,為了應(yīng)對這些挑戰(zhàn),本文提出了一種基于多重自注意力機制改進的Transformer多標(biāo)簽故障診斷方法,通過自適應(yīng)合成采樣(adaptive synthetic sampling,ADASYN)和Borderline-SMOTE1組合過采樣方法改善多維工業(yè)故障數(shù)據(jù)嚴重的類不均衡現(xiàn)象,充分利用編碼器-解碼器結(jié)構(gòu)以及注意力機制的優(yōu)勢,深入挖掘多維傳感器數(shù)據(jù)與多個故障標(biāo)簽之間的復(fù)雜映射關(guān)系。
1.1.1 ADASYN
ADASYN方法根據(jù)樣本分布情況為不同的少數(shù)類樣本生成不同數(shù)量的新樣本[14]。ADASYN生成少數(shù)類樣本的步驟如下:
步驟1根據(jù)少數(shù)類樣本和多數(shù)類樣本之間的差值計算少數(shù)類樣本需要合成的數(shù)量G。
步驟2根據(jù)K近鄰算法計算樣本權(quán)重(K近鄰中多數(shù)類占比),并根據(jù)樣本權(quán)重計算每個少數(shù)類樣本需要生成的新樣本數(shù)量gi。
步驟3根據(jù)SMOTE算法依次生成gi個新的少數(shù)類樣本。
1.1.2 Borderline-SMOTE1
Borderline-SMOTE1是基于SMOTE改進的過采樣方法,該方法僅使用邊界上的少數(shù)類樣本生成新樣本[15]。Borderline-SMOTE1生成少數(shù)類樣本的步驟如下:
步驟1根據(jù)每個少數(shù)類樣本的K近鄰中屬于少數(shù)類的樣本數(shù)量將少數(shù)類樣本劃分為安全樣本、噪聲樣本和危險樣本。
步驟2根據(jù)每個危險樣本(危險樣本是指超過一半的K近鄰樣本屬于多數(shù)類)從K近鄰中隨機選取的s(01.2 Transformer模型
Transformer是一種基于注意力機制的編碼器-解碼器結(jié)構(gòu)的網(wǎng)絡(luò)模型[16]。如圖1所示,Transformer網(wǎng)絡(luò)模型主要由多個編碼器和解碼器堆疊而成,其中,編碼器主要用于將輸入特征序列編碼為中間向量;解碼器主要用于將編碼器編碼的中間向量解碼為輸出標(biāo)簽序列。
圖1 Transformer網(wǎng)絡(luò)架構(gòu)Fig.1 Transformer network architecture
1.2.1 編碼器
編碼器由位置編碼層、多頭自注意力層、前饋神經(jīng)網(wǎng)絡(luò)層和殘差&層歸一化層組成。編碼器的核心是多頭自注意力機制,主要用于為輸入特征序列分配注意力(即權(quán)重),使模型更加關(guān)注輸入特征序列中的重要信息;前饋神經(jīng)網(wǎng)絡(luò)層主要用于將多頭自注意力層的輸出轉(zhuǎn)換到非線性空間;此外,在多頭自注意力層和前饋神經(jīng)網(wǎng)絡(luò)層后加入殘差&層歸一化層,解決網(wǎng)絡(luò)深度過深導(dǎo)致的梯度消失等問題,并加快網(wǎng)絡(luò)收斂速度,提升網(wǎng)絡(luò)泛化能力。編碼器的主要組件介紹如下。
(1) 位置編碼
Transformer網(wǎng)絡(luò)的核心是注意力機制,但注意力機制無法學(xué)習(xí)序列位置信息,所以通過位置編碼加入序列位置信息。位置編碼通過sin和cos函數(shù)對輸入特征樣本的偶數(shù)維度和奇數(shù)維度交替進行編碼,如式(1)、式(2)所示
(1)
(2)
式中:pos為輸入特征樣本的位置;i為輸入特征的維度; 2i和2i+1為偶數(shù)和奇數(shù)維度;dmodel為位置編碼的維數(shù),即輸入特征的維數(shù)。
(2) 多頭自注意力機制
自注意力機制是注意力機制的變體,減少了對外部信息的依賴,更擅長捕獲輸入特征序列內(nèi)部的相關(guān)性,通過計算輸入特征序列間的相似性分配權(quán)重,以表征信息的重要程度。本文使用的是縮放點積自注意力機制,首先輸入特征序列X乘以3個不同的權(quán)重矩陣得到查詢矩陣Q、鍵矩陣K、值矩陣V,然后使用查詢矩陣Q對鍵矩陣K進行點積與Softmax歸一化計算注意力權(quán)重,最后根據(jù)注意力權(quán)重對值矩陣V加權(quán)求和得到輸出特征序列,如式(3)~式(6)所示
Q=XWq
(3)
K=XWk
(4)
V=XWv
(5)
(6)
式中,Wq,Wk,Wv分別為Q,K,V對應(yīng)的權(quán)重矩陣。
相較于單一的自注意力機制,多頭自注意力機制提供了多個“表示子空間”,擴展了模型關(guān)注不同位置的能力。多頭自注意力機制是多個自注意力機制的拼接和線性變化,如式(7)~式(8)所示
Multi-Head(Q,K,V)=Concat(H1,H2,…,Hn)W
(7)
Hi=Self-Attention(XWQi,XWKi,XWVi)
(8)
式中:Hi(i∈{1,2,…,n})為第i個自注意力頭;n為自注意力頭的個數(shù); Concat函數(shù)為拼接多個自注意力頭的輸出;W為多頭自注意力權(quán)重矩陣;WQi,WKi,WVi為第i個自注意力頭的Q,K,V權(quán)重矩陣。
1.2.2 解碼器
解碼器由位置編碼層、遮擋多頭自注意力層、編-解碼器多頭注意力層、前饋神經(jīng)網(wǎng)絡(luò)層、和殘差&層歸一化層組成。解碼器的核心是遮擋多頭自注意力機制和編-解碼器多頭注意力機制,遮擋多頭自注意力機制用于為輸入標(biāo)簽序列分配注意力(即權(quán)重),使模型更加關(guān)注輸入標(biāo)簽序列中的重要信息;然后通過編-解碼器多頭注意力機制學(xué)習(xí)編碼器輸出的中間向量和輸入標(biāo)簽序列的依賴關(guān)系。解碼器的主要組件介紹如下。
(1) 遮擋多頭自注意力機制
相較于多頭自注意力機制,遮擋多頭自注意力機制在多頭自注意力機制中加入了遮擋操作,為了防止每個時間步學(xué)習(xí)到未來的標(biāo)簽序列信息。遮擋操作是指在計算縮放點積自注意力時引入一個下三角單位矩陣M(主對角線上方元素全為0,主對角線及主對角線下方元素全為1)和QKT相乘,使得未來的標(biāo)簽序列信息清零,如式(9)所示
(9)
(2) 編-解碼器多頭注意力機制
相較于多頭自注意力機制,編-解碼器多頭注意力機制的查詢矩陣Q來自遮擋多頭自注意力層,表示標(biāo)簽序列信息,記為QD;鍵矩陣K和值矩陣V來自編碼器輸出的中間向量,表示特征序列信息,分別記為KE和VE,式(10)所示
(10)
本文提出了一種基于多重自注意力機制改進的Transformer多標(biāo)簽故障診斷模型,并在PHM2015 Plant數(shù)據(jù)集上進行了訓(xùn)練、驗證、測試。如圖2所示,多標(biāo)簽故障診斷流程主要由5個步驟組成: ①特征工程,將多維傳感器數(shù)據(jù)按采樣時間對齊后,再根據(jù)采樣時間合并組件的傳感器數(shù)據(jù),并加入季節(jié)、月份、周、天、小時以及分鐘數(shù)等周期變量;②數(shù)據(jù)采樣,根據(jù)故障樣本的不均衡率采用ADASYN和Borderline-SMOTE1組合策略進行數(shù)據(jù)過采樣;③故障檢測,基于Transformer-N網(wǎng)絡(luò)模型進行故障檢測,若未發(fā)生故障則直接結(jié)束,否則執(zhí)行步驟④,其中,Transformer-N包括1個Transformer網(wǎng)絡(luò)模型,用于檢測是否發(fā)生了故障;④故障診斷,若發(fā)生了故障,則基于Transformer-Fn(n∈{1,2,3,4,5,6})網(wǎng)絡(luò)模型進行故障診斷,其中,Transformer-Fn包括6個Transformer網(wǎng)絡(luò)模型,用于分別診斷是否發(fā)生了故障f1~f6,然后根據(jù)時間生成多標(biāo)簽故障序列(如,故障序列[0,1,1,0,0,1]表示同時發(fā)生了故障f2,f3,f6);⑤結(jié)果與評估,最后根據(jù)Precision,Recall,F1-score,Jaccard index以及Hamming loss評價指標(biāo)對Transformer-Fn模型的整體預(yù)測性能進行評估。
圖2 基于Transformer的多標(biāo)簽故障診斷流程Fig.2 Multi-label fault diagnosis process based on Transformer
ADASYN算法易受離群點的影響,若某個少數(shù)類樣本的K近鄰都是多數(shù)類樣本,則易在其周圍產(chǎn)生過多單一的少數(shù)類樣本。而Borderline-SMOTE1算法在產(chǎn)生少數(shù)類樣本時,從每個危險樣本的K近鄰中隨機選擇要生成的少數(shù)類樣本數(shù)量,無法對邊界上要產(chǎn)生的少數(shù)類樣本數(shù)量進行合理評估。所以本文對ADASYN和Borderline-SMOTE1算法進行融合,提出了一種ADASYN和Borderline-SMOTE1組合過采樣策略,自適應(yīng)地在分類邊界上合成新的少數(shù)類樣本,如圖3所示。流程如下。
圖3 ADASYN和Borderline-SMOTE1組合過采樣Fig.3 Combined oversampling of ADASYN and Borderline-SMOTE1
(1) 計算少數(shù)類要生成的樣本數(shù)量G,如式(11)所示。
G=(Nmaj-Nmin)×β
(11)
式中:Nmaj和Nmin為多數(shù)類和少數(shù)類樣本數(shù)量;β∈(0,1]為采樣后的多數(shù)類與少數(shù)類比例。
ri=Δi/K
(12)
(13)
式中, Δi為K近鄰中多數(shù)類樣本數(shù)。
(4) 計算每個危險樣本x′>i需要生成的新樣本個數(shù)gi,如式(14)所示。
(14)
(5) 根據(jù)SMOTE算法從危險樣本x′>i的K個近鄰中隨機選取少數(shù)類樣本依次生成gi個少數(shù)類樣本,如式(15)所示。
si=x′i+(x′iK-x′i)×λ
(15)
式中:si為合成的少數(shù)類樣本;x′>iK為從危險樣本x′>i的K個近鄰中隨機選取的少數(shù)類樣本;λ∈[0,1]為一個隨機數(shù)。
Transformer模型在自然語言處理等領(lǐng)域取得了巨大的成功,但其獨特的結(jié)構(gòu)限制了在故障診斷領(lǐng)域的應(yīng)用,因此針對多標(biāo)簽故障診斷問題對其核心的自注意力機制和結(jié)構(gòu)進行改進。本文提出了一種基于多重自注意力機制改進的Transformer模型,充分利用編碼器-解碼器結(jié)構(gòu)以及自注意力機制的優(yōu)勢,深入挖掘多維傳感器數(shù)據(jù)與多個故障標(biāo)簽之間的復(fù)雜映射關(guān)系。
傳統(tǒng)的Transformer模型僅關(guān)注輸入序列中不同時間步長的注意力(即權(quán)重),但忽略了輸入序列中不同傳感器的重要性。所以本文提出了一種多重自注意力機制改進的Transformer模型,在Transformer模型的編碼器中加入多重自注意力機制,以提取輸入特征序列中不同時間步長和不同傳感器中的重要特征。
多重自注意力機制如圖4所示,首先輸入時間步長特征序列,經(jīng)過多頭的時間步長自注意力得到加權(quán)的時間步長特征序列;然后對加權(quán)的時間步長特征序列進行轉(zhuǎn)置得到傳感器特征序列;最后經(jīng)過多頭的傳感器自注意力得到加權(quán)的傳感器特征序列。所以多重自注意力機制不僅可以提取不同時間步長中的重要特征,還可以提取不同傳感器中的重要特征,如式(16)~式(18)所示。
圖4 多重自注意力機制Fig.4 Multiple self-attention mechanism
(16)
(WtVt)T=Qs=Ks=Vs
(17)
(18)
式中:Qt,Kt,Vt,Wt為時間步長特征的查詢、鍵、值、權(quán)重矩陣;Qs,Ks,Vs,Ws為傳感器特征的查詢、鍵、值、權(quán)重矩陣。
在解碼器中,由于多標(biāo)簽故障診斷的輸入特征序列和輸入標(biāo)簽序列維度不一致導(dǎo)致編-解碼器多頭注意力層無法計算,所以在解碼器輸入端加入一個全連接層提升輸入標(biāo)簽序列的維度和輸入特征序列保持一致;同理,在解碼器輸出端加入一個全連接層降低輸出標(biāo)簽序列的維度和原始的輸入標(biāo)簽序列保持一致。
本文使用PHM Society在PHM 2015數(shù)據(jù)挑戰(zhàn)賽中提供的Plant數(shù)據(jù)集對所提出的模型進行訓(xùn)練、驗證和測試。該數(shù)據(jù)集是脫敏后的真實工廠數(shù)據(jù),包括6種故障事件以及正常事件,大約33個plant的數(shù)據(jù),數(shù)據(jù)采集的時間跨度約為3~4 a,采樣間隔約為15 min。每個plant包括3個文件:①每個組件的傳感器數(shù)據(jù)和控制參考信號數(shù)據(jù);②工廠內(nèi)每個區(qū)域的累計能耗和瞬時功率;③每個故障的開始時間和結(jié)束時間。其中,每個plant包含多個區(qū)域,每個區(qū)域包含多個組件,且每個plant的區(qū)域數(shù)量和組件數(shù)量都不相同。該數(shù)據(jù)挑戰(zhàn)賽的目標(biāo)是預(yù)測故障f1~f5(f6為其他故障)以及它們的起止時間,本文僅預(yù)測故障f1~f6而不考慮它們的起止時間,這可以表述為一個類不均衡的多標(biāo)簽分類問題。
本文將特征序列X和標(biāo)簽序列E以6∶4的比例劃分為訓(xùn)練集和測試集,然后再將訓(xùn)練集以9∶1的比例劃分為訓(xùn)練集和驗證集。如圖5(a)所示,在工廠plant_1中正常樣本和故障樣本的數(shù)量分別為78 710和34 466,占樣本總量的69.55%和30.45%。各類故障樣本數(shù)量對比,如圖5(b)所示。plant_1中各類故障的樣本數(shù)量及所占比例,如表1所示。由圖5(b)和表1可知:在故障樣本中故障f1~f6存在嚴重的類不均衡現(xiàn)象,其中,故障f6的樣本數(shù)量為21 463,占故障樣本總量的62.27%,樣本數(shù)量遠超過其他類型的故障;而故障f4和f5的樣本數(shù)量分別為597和784,僅占故障樣本總量的1.73%和2.27%,樣本數(shù)量遠低于其他類型的故障。
表1 plant_1中各類故障的樣本數(shù)量及所占比例
圖5 plant_1中正常樣本和各類故障樣本數(shù)量對比Fig.5 Number comparison of normal samples and various fault samples in plant_1
此外,在所有的故障樣本中,多個類型的故障同時發(fā)生的樣本數(shù)量為3 876,占故障樣本總量的11.25%。其中,多個類型的故障同時發(fā)生的組合高達28種,每個組合中可能同時發(fā)生2~4種故障。如圖6所示,以樣本數(shù)量最多的前10種故障組合為例進行分析,同時發(fā)生2種故障的組合及其樣本數(shù)量最多,故障f2,f3經(jīng)常和其他故障一起發(fā)生,且故障f2和f6一起發(fā)生的樣本數(shù)量最多。
圖6 plant_1中故障樣本數(shù)量最多的前10種故障組合Fig.6 Top 10 fault combinations with largest number of fault samples in plant_1
本文主要使用plant_1的①文件和③文件,即plant_1a.csv和plant_1c.csv,如表2所示。其中,plant_1包括6個組件,每個組件包括4個傳感器、4個控制參考信號以及6種故障標(biāo)簽。
表2 plant_1中①文件和③文件介紹Tab.2 Introduction of ① and ③ files in plant_1
3.2.1 特征工程
plant_1a.csv即原始數(shù)據(jù)Xraw是由多個傳感器采集的帶時間戳的多維時間序列,由于傳感器日志記錄延遲導(dǎo)致采樣間隔在15 min左右浮動,所以首先在Xraw中以15 min的采樣間隔對齊所有樣本的時間戳ti;然后刪除在相同時間戳ti上重復(fù)的組件記錄,若某個組件記錄缺失則按時間戳ti先前向插補再后向插補缺失的組件記錄;然后在時間戳ti上根據(jù)組件編號cid合并6個組件的傳感器數(shù)據(jù)s1~s4以及控制參考信號r1~r4添加到特征序列X;然后由于故障事件存在周期性,所以從時間戳ti中提取季節(jié)、月份、周、天、小時以及分鐘數(shù)(當(dāng)年1月1日0時0分到當(dāng)前的分鐘數(shù))特征添加到X;最后,根據(jù)plant_1c.csv即Eraw中每個故障標(biāo)簽對應(yīng)的開始時間st和結(jié)束時間et生成X對應(yīng)的one-hot故障標(biāo)簽序列。
3.2.2 數(shù)據(jù)過采樣
在劃分數(shù)據(jù)集后訓(xùn)練集中故障f1~f6的類不均衡現(xiàn)象更加嚴重,如表3所示。其中,故障f4和f5的樣本數(shù)量僅為243和53,僅占訓(xùn)練集樣本總量的1.31%和0.28%,樣本數(shù)量遠低于其他類型的故障。
表3 plant_1訓(xùn)練集中各類故障的樣本數(shù)量及所占比例
故障樣本的極端類不均衡性嚴重限制故障診斷分類器的性能,若不考慮故障樣本的類不均衡性,則故障診斷分類器的預(yù)測結(jié)果更傾向于多數(shù)類故障而忽略了少數(shù)類故障,但在故障診斷時往往更關(guān)注少數(shù)類故障,所以本文提出了ADASYN和Borderline-SMOTE1組合過采樣策略。為了防止數(shù)據(jù)泄露,本文僅對訓(xùn)練集進行采樣,訓(xùn)練集中故障樣本不均衡率(多數(shù)類和少數(shù)類故障樣本數(shù)量的比率,本文是指采樣前在訓(xùn)練集中其他類和當(dāng)前類故障樣本數(shù)量的比率)大于20且小于100時過采樣率(少數(shù)類和多數(shù)類故障樣本數(shù)量的比率,本文是指采樣后在訓(xùn)練集中當(dāng)前類和其他類故障樣本數(shù)量的比率)設(shè)置為0.25,如故障f4;故障樣本不均衡率大于100時過采樣率設(shè)置為0.2,如故障f5。
4.1.1 試驗環(huán)境
本文的試驗環(huán)境:CPU是Intel Core i5 9300H,CPU核心數(shù)為4,邏輯處理器為8;GPU為NVIDIA GeForce GTX 1650with Max-Q Design(4096MB)。開發(fā)環(huán)境:Python3.8、scikit-learn1.0.2以及Tensorflow2.8.0等。訓(xùn)練參數(shù):訓(xùn)練的最大迭代次數(shù)為500,當(dāng)驗證集損失連續(xù)20次不再下降時停止訓(xùn)練,實際訓(xùn)練的迭代次數(shù)在25~131,且主要集中在50左右;損失函數(shù)為BinaryCrossentropy;優(yōu)化器為Adam,初始學(xué)習(xí)率設(shè)置為0.001,當(dāng)驗證集損失連續(xù)5次不再下降時學(xué)習(xí)率減少到一半,最小學(xué)習(xí)率為0.000 1,實際訓(xùn)練的學(xué)習(xí)率幾乎都降到了0.000 1;分類層激活函數(shù)為sigmoid。
4.1.2 評價指標(biāo)
針對多標(biāo)簽故障診斷問題,由于故障樣本存在嚴重的類不均衡現(xiàn)象,所以使用微平均和宏平均Precision,Recall和F1-score分別從故障樣本上和故障類別上評估多標(biāo)簽故障診斷模型的性能。micro和macro Precision,Recall和F1-score如式(19)~式(24)所示。
(19)
(20)
(21)
(22)
(23)
(24)
式中:n∈{1,2,3,4,5,6}為故障類型;q=6為故障類型的個數(shù);tpn為第n類故障被正確預(yù)測的樣本個數(shù);fpn為其他類型故障被錯誤預(yù)測為第n類故障的樣本個數(shù);fnn為第n類故障被錯誤預(yù)測為其他類型故障的樣本個數(shù)。
Jaccard index主要用于計算真實標(biāo)簽序列集合和預(yù)測標(biāo)簽序列集合之間的相似程度[17],Jaccard index越高,真實標(biāo)簽序列集合和預(yù)測標(biāo)簽序列集合之間的相似程度越高。micro和macro Jaccard index如式(25)~式(26)所示。
(25)
(26)
Hamming loss主要用于計算真實標(biāo)簽序列集合和預(yù)測標(biāo)簽序列集合之間的不一致程度[18],Hamming Loss越低,真實標(biāo)簽序列集合和預(yù)測標(biāo)簽序列集合之間的不一致程度越低。Hamming Loss如式(27)所示。
(27)
為了驗證本文提出方法的效果,本文將與以下8個模型在工廠plant_1數(shù)據(jù)集上進行比較,它們的超參數(shù)設(shè)置如表4所示。表4中的所有模型均經(jīng)過Hyperband[19]超參數(shù)搜索算法得到最佳參數(shù)設(shè)置,該算法限定了資源(如時間、計算資源等)總量,通過連續(xù)減半[20]算法和早停策略分配資源,該算法不僅能夠盡可能多的搜索到所有超參數(shù)組合,而且能夠更快的找到最佳的超參數(shù)設(shè)置。Hyperband算法在搜索的過程中通過連續(xù)減半算法篩選出評價排名前一半的超參數(shù)組合進入下一輪篩選,每輪通過早停策略停止搜索評價不好的超參數(shù)組合,動態(tài)分配資源總量,直至搜索到最佳的超參數(shù)組合。此外,本文所提方法和以下8個模型使用相同的輸入特征、采樣策略、標(biāo)準(zhǔn)化方式以及訓(xùn)練參數(shù)等,且均訓(xùn)練1個*-N模型用于故障檢測,以及6個*-Fn(n∈{1,2,3,4,5,6})模型用于故障診斷,最后按照時間生成多標(biāo)簽故障序列進行評估。
表4 Transformer及其他對比模型的超參數(shù)設(shè)置Tab.4 Hyperparameter setting of Transformer and other comparison models
(1) LR模型:該模型輸入特征數(shù)量較大時,該模型容易出現(xiàn)過擬合,嚴重影響分類性能,使用帶L2懲罰的邏輯回歸模型,以避免過擬合并提高預(yù)測性能。
(2) RF模型:該模型基于bagging和隨機特征選擇技術(shù),每次構(gòu)建決策樹時隨機選擇部分特征,最后平均所有決策樹的預(yù)測結(jié)果。
(3) 雙向的長短期記憶網(wǎng)絡(luò)(long short-term memory,LSTM),簡稱BiLSTM,該模型主要由前向LSTM和后向LSTM組成。其中,后向LSTM通過復(fù)制前向LSTM的結(jié)構(gòu)以及輸入序列的反向副本,以更好的捕獲雙向的時間序列依賴關(guān)系。
(4) 基于多頭自注意力機制的門控循環(huán)單元網(wǎng)絡(luò)(gated recurrent unit,GRU),簡稱MSA-GRU,該模型主要由2個GRU層組成。其中,在GRU層之前加入多頭自注意力機制以提供多個表示子空間,使GRU模型在不同位置上關(guān)注到來自不同表示子空間的特征信息。
(5) CNN-LSTM:該模型主要由1D卷積層、1D池化層和LSTM層組成。其中,1D卷積層用于空間特征提取,1D池化層用于特征降維,LSTM層用于學(xué)習(xí)時間特征,通過編碼空間、時間特征,以更好地應(yīng)對時間序列分類問題。
(6) MA-CNN-BiGRU[21]:該模型是基于多重注意力機制的CNN-BiGRU模型。該模型主要由CNN和BiGRU組成。其中,在CNN層后加入通道注意力和空間注意力機制,在BiGRU層后加入序列注意力機制,加強關(guān)鍵信息提取能力,以解決BiGRU對于過長序列數(shù)據(jù)處理困難、無法保留全部關(guān)鍵信息的問題。
(7) 自動編碼機(autoencoder,AE):該模型是一個編碼器-解碼器結(jié)構(gòu)的網(wǎng)絡(luò),編碼器和解碼器中分別包含2個全連接層。其中,編碼器將輸入序列編碼為低維的內(nèi)部表示,解碼器將低維的內(nèi)部表示恢復(fù)為輸入序列,該模型通過正常樣本訓(xùn)練模型,使用重構(gòu)誤差均方誤差(mean square error,MSE)作為閾值檢測故障。本文嘗試通過某個類別的故障數(shù)據(jù)訓(xùn)練模型,使用重構(gòu)誤差MSE檢測是否發(fā)生該故障,從而進行故障診斷。
(8) Encoder-Decoder LSTM,簡稱E-D LSTM,該模型是一個編碼器-解碼器結(jié)構(gòu)的LSTM網(wǎng)絡(luò),編碼器和解碼器中分別包含1個LSTM層,其中,編碼器對輸入特征序列編碼得到一個內(nèi)部隱藏狀態(tài),解碼器以該內(nèi)部隱藏狀態(tài)為初始狀態(tài)對輸入標(biāo)簽序列解碼得到最終的輸出標(biāo)簽序列(注:輸出標(biāo)簽序列是由輸入標(biāo)簽序列向右偏移一個時間步得到的)。
4.3.1 故障檢測試驗
故障診斷之前最重要的環(huán)節(jié)是故障檢測,故障檢測是指檢測指定時刻是否發(fā)生故障,精準(zhǔn)的故障檢測可以盡可能的減少甚至避免正常樣本進入故障診斷環(huán)節(jié)導(dǎo)致故障診斷模型將正常樣本誤分類為某個類型的故障樣本。本文將提出的Transformer-N模型與其他8個*-N模型在工廠plant_1數(shù)據(jù)集上進行比較,評價指標(biāo)包括micro和macro Precision,Recall,F1-score,故障檢測模型*-N的評價指標(biāo)及其對比曲線如表5和圖7所示。
表5 不同故障檢測模型*-N的評價指標(biāo)
圖7 不同故障檢測模型*-N的評價指標(biāo)對比Fig.7 Comparison of evaluation metrics of different fault detection models *-N
由表5和圖7可知,LR-N模型的故障檢測效果最差,micro Precision,Recall,F1-score均不超過68.56%,macro Precision,Recall,F1-score均不超過57.25%。Transformer-N模型的故障檢測效果最好,micro Precision,Recall,F1-score均超過96.17%,macro Precision,Recall,F1-score均超過95.15%;與最差的LR-N模型相比,micro Precision,Recall,F1-score提升均超過27.61%,macro Precision,Recall,F1-score提升均超過37.9%;與次之的E-D LSTM-N模型相比,micro Precision,Recall,F1-score提升均超過5.94%,macro Precision,Recall,F1-score提升均超過7.01%。此外,其他模型的micro Precision,Recall,F1-score均在72.47%~75.21%,macro Precision,Recall,F1-score大多不超過62.65%,遠低于本文提出的Transformer-N故障檢測模型。
4.3.2 多標(biāo)簽故障診斷試驗
多標(biāo)簽故障診斷是指確定指定時刻發(fā)生的一個或多個故障,及時、有效的故障診斷可以減少維護人員的工作量,降低維護成本,防止重大工業(yè)事故。本文將提出的Transformer-Fn模型與其他8個*-Fn模型在工廠plant_1數(shù)據(jù)集上進行比較,評價指標(biāo)包括micro和macro Precision,Recall,F1-score,Jaccard index以及Hamming loss,采樣前和采樣后故障診斷結(jié)果的評價指標(biāo)如表6所示。由表6可知,本文提出的Transformer-Fn多標(biāo)簽故障診斷模型在采樣前、采樣后的micro和macro Precision,Recall,F1-score,Jaccard index以及Hamming loss均優(yōu)于其他8個*-Fn對比模型。在采樣前:
表6 不同多標(biāo)簽故障診斷模型*-Fn的評價指標(biāo)Tab.6 Evaluation metrics of different multi-label fault diagnosis models *-Fn 單位:%
(1) 與經(jīng)典的機器學(xué)習(xí)方法LR-Fn、RF-Fn相比,BiLSTM-Fn循環(huán)神經(jīng)網(wǎng)絡(luò)的各種評價指標(biāo)并沒有提升;而Transformer-Fn的Hamming loss降低了9.49%,其他評價指標(biāo)最高提高了37.65%,這說明在類不均衡的多標(biāo)簽故障診斷任務(wù)中Transformer-Fn的性能遠優(yōu)于經(jīng)典的機器學(xué)習(xí)方法和簡單的循環(huán)神經(jīng)網(wǎng)絡(luò)方法。此外,在經(jīng)典的機器學(xué)習(xí)方法中,集成分類器RF-Fn比線性分類器LR-Fn的Hamming loss提高了2.48%,其他評價指標(biāo)最低降低了10.34%。
(2) 與循環(huán)神經(jīng)網(wǎng)絡(luò)BiLSTM-Fn相比,MSA-GRU-Fn組合神經(jīng)網(wǎng)絡(luò)的效果并不好;但CNN-LSTM-Fn組合神經(jīng)網(wǎng)絡(luò)的Hamming loss降低了0.19%,其他評價指標(biāo)最高提高了9.54%,這說明通過CNN提取特征、降低維度后模型能夠更好地學(xué)習(xí)故障序列間的依賴關(guān)系;而MA-CNN-BiGRU-Fn組合神經(jīng)網(wǎng)絡(luò)的Hamming loss降低了0.87%,其他評價指標(biāo)最高提高了15.33%,這說明多重注意力機制能夠使模型聚焦于更為重要的故障信息上。此外,從上述結(jié)論也可以看出,在類不均衡的多標(biāo)簽故障診斷任務(wù)中,單重自注意力機制對循環(huán)神經(jīng)網(wǎng)絡(luò)的提升沒有CNN及多重自注意力機制提升的效果好。
(3) 與組合神經(jīng)網(wǎng)絡(luò)MSA-GRU-Fn、CNN-LSTM-Fn和MA-CNN-BiGRU-Fn相比,編碼器-解碼器結(jié)構(gòu)的AE-Fn效果特別差,這說明AE-Fn通過重構(gòu)誤差不能從多個故障類型的樣本中檢測出某個類型的故障;編碼器-解碼器結(jié)構(gòu)的E-D LSTM-Fn與效果最好的MA-CNN-BiGRU-Fn組合神經(jīng)網(wǎng)絡(luò)相比,Hamming loss降低了8.45%,micro評價指標(biāo)最低提高了22.69%,macro評價指標(biāo)最低提高了11.43%,這說明在類不均衡的多標(biāo)簽故障診斷任務(wù)中,E-D LSTM-Fn不僅能夠很好的學(xué)習(xí)故障特征序列之間的依賴關(guān)系,而且能夠很好的學(xué)習(xí)故障標(biāo)簽序列之間的依賴關(guān)系。而編碼器-解碼器結(jié)構(gòu)的Transformer-Fn與效果最好的MA-CNN-BiGRU-Fn組合神經(jīng)網(wǎng)絡(luò)相比,Hamming loss降低了9.77%,micro評價指標(biāo)最低提高了26.35%,macro評價指標(biāo)最低提高了16.44%,這說明在類不均衡的多標(biāo)簽故障診斷任務(wù)中,Transformer-Fn的性能比組合神經(jīng)網(wǎng)絡(luò)和編碼器-解碼器結(jié)構(gòu)的循環(huán)神經(jīng)網(wǎng)絡(luò)要好。
(4) 與編碼器-解碼器結(jié)構(gòu)的神經(jīng)網(wǎng)絡(luò)AE-Fn和E-D LSTM-Fn相比,Transformer-Fn的Hamming loss僅為2.74%,比次之的E-D LSTM-Fn降低了1.32%;Transformer-Fn的micro Precision,Recall,F1-score均超過了90.16%,比次之的E-D LSTM-Fn最低提高了3.58%;Transformer-Fn的macro Precision,Recall,F1-score均超過了74.71%,比次之的E-D LSTM-Fn最低提高了2.65%,最高提高了5.01%;Transformer-Fn的micro和macro Jaccard index均超過了70.16%,比次之的E-D LSTM-Fn最低提高了6.06%。這說明在類不均衡的多標(biāo)簽故障診斷任務(wù)中,Transformer-Fn憑借其獨特的編碼器-解碼器結(jié)構(gòu)以及改進后的多重自注意力機制,能夠深入的挖掘故障特征序列與故障特征序列、故障標(biāo)簽序列與故障標(biāo)簽序列以及故障特征序列與故障標(biāo)簽序列之間復(fù)雜的映射關(guān)系。但Transformer-Fn的micro和macro Precision,Recall,F1-score,Jaccard index最高相差17.85%,這也說明故障類別之間的數(shù)據(jù)不均衡現(xiàn)象對Transformer-Fn模型的性能有很大的影響。
如圖8所示,柱狀圖表示不同的多標(biāo)簽故障診斷模型*-Fn在采樣前的評價指標(biāo)(淺灰色區(qū)域表示采樣后沒有提高,深灰色區(qū)域表示采樣后有所提高),柱狀圖上方的長橫線表示不同的多標(biāo)簽故障診斷模型*-Fn在采樣后的評價指標(biāo)。由圖8可知:在ADASYN和Borderline-SMOTE1組合過采樣后,Transformer-Fn與其他7個*-Fn對比模型(除AE-Fn外)在micro和macro Recall,F1-score,Jaccard index上均有一定的提高,且macro比micro Recall,F1-score,Jaccard index提高的更多,但可能損失部分micro和macro Precision;此外,Hamming loss降低的很少甚至有輕微的上升。這說明在類不均衡的多標(biāo)簽故障診斷任務(wù)中,本文提出的ADASYN和Borderline-SMOTE1組合過采樣方法雖然會生成一些噪聲樣本從而損失部分精度,但能夠很好的改善故障數(shù)據(jù)的類不均衡現(xiàn)象,提高模型在樣本上和類別上的整體預(yù)測性能。其中,故障診斷性能最差的MSA-GRU-Fn神經(jīng)網(wǎng)絡(luò)在采樣后,macro評價指標(biāo)平均提高了7.54%,且其他評價指標(biāo)均有一定改善。故障診斷性能最好的Transformer-Fn神經(jīng)網(wǎng)絡(luò)在采樣后,micro Precision,Recall,F1-score均超過91.04%,其中micro Precision高達94.77%;macro Precision,Recall,F1-score均接近甚至超過80.64%,其中macro Precision高達88.09%,平均提高了6.87%;micro和macro Jaccard index均超過74.6%,其中micro Jaccard index高達 86.68%;Hamming loss低至2.63%。而故障診斷性能次之的E-D LSTM-Fn神經(jīng)網(wǎng)絡(luò)在采樣后,macro評價指標(biāo)平均提高了4.14 %,且其他評價指標(biāo)均有一定改善。
圖8 不同多標(biāo)簽故障診斷模型*-Fn在采樣前和采樣后的評價指標(biāo)對比Fig.8 Comparison of evaluation metrics of different multi-label fault diagnosis models *-Fn before and after sampling
為了進一步驗證本文提出的ADASYN和Borderline-SMOTE1組合過采樣方法,多重自注意力機制改進的Transformer-Fn模型的有效性,本文采用t-SNE算法[22]對測試集數(shù)據(jù)進行降維可視化分析,降至2維后的特征用t-SNE1和t-SNE2表示。圖9中,簇表示可能同時發(fā)生的單個或多個故障組合,圖9(a)、圖9(b)、圖9(c)用于比較Transformer-Fn模型在采樣前和采樣后的預(yù)測效果。如圖9(a)所示,從測試集中原始的故障分布中我們可以看出,故障f1~f6存在嚴重的類不均衡現(xiàn)象,且可能同時發(fā)生1~4種故障,如故障f6經(jīng)常單獨發(fā)生,而故障f1和f5、f1和f6、f2和f3,以及f1,f5和f6等故障經(jīng)常同時發(fā)生;如圖9(b)所示,從采樣前Transformer-Fn模型在測試集上的預(yù)測結(jié)果可以看出,本文提出的Transformer-Fn模型可以很好的預(yù)測出幾乎所有的故障及其組合,但幾乎預(yù)測不出故障f5且預(yù)測出的故障f4很少,這主要是因為訓(xùn)練集中故障f4和f5的樣本數(shù)量太少,僅占訓(xùn)練集的1.31%和0.28%,導(dǎo)致模型學(xué)習(xí)不充分;如圖9(c)所示,從采樣后Transformer-Fn模型在測試集上的預(yù)測結(jié)果可以看出,經(jīng)過本文提出的組合過采樣方法采樣后Transformer-Fn模型可以預(yù)測出接近一半的故障f5且可以預(yù)測出更多的故障f4,這主要是因為訓(xùn)練集中故障f5的樣本數(shù)量太少,僅有53個,無法充分的表征故障f5,即使通過采樣方法增加樣本數(shù)量模型也無法充分學(xué)習(xí)出故障f5的特征模式,但我們提出的組合過采樣方法可以在一定程度上緩解類不均衡現(xiàn)象,提高模型的預(yù)測性能。
圖9 測試集中故障組合分布的可視化效果Fig.9 Visualization of fault combination distribution in test set
本文提出了一種基于多重自注意力機制改進的Transformer多標(biāo)簽故障診斷方法,結(jié)合ADASYN和Borderline-SMOTE1組合過采樣策略,以解決極端類不均衡的多標(biāo)簽工業(yè)故障診斷問題。在PHM2015 Plant數(shù)據(jù)集上進行了訓(xùn)練、驗證和測試,結(jié)果表明:
(1) 本文提出的ADASYN和Borderline-SMOTE1組合過采樣方法,能夠改善工業(yè)故障數(shù)據(jù)的極端類不均衡現(xiàn)象,可能會損失部分精度,但是能夠很好的提高樣本上和類別上的整體預(yù)測性能。
(2) 本文提出的Transformer-N網(wǎng)絡(luò)模型能夠準(zhǔn)確的識別出指定時刻是否發(fā)生了故障,盡可能的減少了正常樣本進入故障診斷環(huán)節(jié)導(dǎo)致故障診斷模型將正常樣本誤分類為某個類型的故障樣本。
(3) 本文提出的Transformer-Fn網(wǎng)絡(luò)模型能夠更好的挖掘出輸入特征與輸入特征、輸入標(biāo)簽與輸入標(biāo)簽、輸入特征與多故障標(biāo)簽之間的復(fù)雜映射關(guān)系,可以較好地診斷出工廠生產(chǎn)過程中同時發(fā)生的多個故障。
在未來研究中,針對多維工業(yè)數(shù)據(jù)的嚴重類不均衡問題,可以考慮設(shè)計多標(biāo)簽的數(shù)據(jù)采樣方法,以同時提高樣本上和類別上的整體預(yù)測性能;針對多標(biāo)簽故障診斷問題,可以考慮設(shè)計單個多標(biāo)簽分類模型,降低訓(xùn)練模型的復(fù)雜性,挖掘故障之間更復(fù)雜的關(guān)系。