張 恒 佘 博 王 俊 王 旋
(海軍工程大學(xué)兵器工程學(xué)院 武漢 430033)
長期以來,軸承等工業(yè)領(lǐng)域核心機械部件普遍經(jīng)受著載荷沖擊復(fù)雜、強烈、高轉(zhuǎn)速工況持續(xù)時間長、強噪聲干擾等問題的考驗[1],一旦其不堪重負,這些隱患將嚴(yán)重影響到人員和裝備的安全。目前基于數(shù)據(jù)驅(qū)動[1~4]的故障診斷是裝備健康管理領(lǐng)域的研究重點,由于深度學(xué)習(xí)具有深層結(jié)構(gòu)和較強的非線性特征提取能力[5~6],面對復(fù)雜工況[7]條件下的故障診斷研究需求也更為貼合,目前的深度學(xué)習(xí)網(wǎng)絡(luò)模型有卷積神經(jīng)網(wǎng)絡(luò)、深度置信網(wǎng)絡(luò)、循環(huán)神經(jīng)網(wǎng)絡(luò)、堆疊自動編碼器等。
這些方法目前已經(jīng)在故障診斷領(lǐng)域得到廣泛的應(yīng)用[8~9],但存在的問題之一是在故障診斷的實際應(yīng)用中數(shù)據(jù)樣本量差異較大,給正確進行故障診斷帶來了困難。Li[10]等提出了7 種數(shù)據(jù)擴增的方法,有效驗證了時間序列擴增的可行性。Kun[11]等在提出5 種數(shù)據(jù)擴增方法的基礎(chǔ)上分析出基于時間序列的信號轉(zhuǎn)換和時間拉伸技術(shù)能夠取得較好的擴增效果。
為應(yīng)對上述數(shù)據(jù)樣本量不平衡的問題,通過引入滑動窗口(Sliding Window,SW)、動態(tài)時間規(guī)整(Dynamic Time Warping,DTW)[12]思想,結(jié)合深度神經(jīng)網(wǎng)絡(luò),本文提出一種基于SW-DBA-DCNN 的滾動軸承故障診斷方法。首先,提出一種基于SW-DBA的數(shù)據(jù)擴增方法,實現(xiàn)非平衡樣本的數(shù)據(jù)擴增[13]。其次,構(gòu)建一個以深度卷積神經(jīng)網(wǎng)絡(luò)(Dynamic Convolution Neural Network,DCNN)為基礎(chǔ)的網(wǎng)絡(luò)模型并確定其模塊組成、輸入輸出和數(shù)據(jù)結(jié)構(gòu)。最后,通過設(shè)置數(shù)據(jù)擴增前后對比實驗,驗證所提方法的有效性。
Sliding Window(SW)方法是一種在給定窗口大小的數(shù)組或字符串上提取子元素問題的方法,可以將提取子元素時的嵌套循環(huán)轉(zhuǎn)換為一個循環(huán),大大降低算法的時間復(fù)雜度。該方法的工作理念在深度學(xué)習(xí)的應(yīng)用中極為廣泛,特別是卷積核在卷積層、池化層中的滑動,能夠讓卷積核遍歷所有數(shù)據(jù),實現(xiàn)數(shù)據(jù)量的成倍增加。類似地,在時間序列信號中定義一個固定步長和長度的窗口,該窗口的長度和步長的乘積遠大于原始數(shù)據(jù)量,也可以達到擴增數(shù)據(jù)量的目的。
如圖1,圖中設(shè)置了一個滑動步長s為80,窗口大小l為200 的滑動窗口,這個窗口可以將一段信號長度L為1200 的數(shù)據(jù)劃分為x段長度為l的數(shù)據(jù)。
圖1 滑動窗口(SW)原理示意
圖2 SW-DBA計算流程
Dynamic Time Warping(DWT)所處理的對象的是時間序列數(shù)據(jù),其基本原理就是度量兩個時間序列Xi,Yj(其中i≠j)的相似性,通過把時間序列信號局部拉伸或者壓縮,使其相似點能夠盡可能地對齊。
序列之間的相似性是由相似點間的距離來衡量的,而DWT 所使用的方法就是將這些所有相似點[xi],[yi] 之間的距離加和得到總距離(Warp Path Distance),距離越小則相似度越高,以此來衡量兩個序列之間的相似性。具體過程如下:
1)定義兩個序列A和B,一個距離矩陣C[m*n],矩陣?yán)锏脑兀╥,j)表示Ai和Bj兩個相似點間的距離D(Ai,Bj),lk=(i,j)k表示路徑L的第k個元素。
L=l1,l2,l3,...,lk-1,lk
(max(m,n)≤k<m+n-1)
2)為了保證這條路徑不是隨意選擇的,每一個路徑節(jié)點的確定還需要滿足單調(diào)性和連續(xù)性的條件,因此,該路徑的當(dāng)前點是l(i,j)時,那么下一個路徑節(jié)點就只能是l(i,j+1),l(i+1,j),l(i+1,j+1)中的一種。
3)這樣看來,符合上述條件的路徑可能有很多個,而現(xiàn)實需要的是變換代價最小的路徑DTW(A,B),即:
每次計算的距離都是前面距離的累加,累計距離表示為
4)常規(guī)方法在找到最優(yōu)路徑后,對該路徑進行線性擬合,在線性擬合時需要設(shè)置每個路徑節(jié)點的置信因子,得到不同置信水平下的多條路徑,進而可以獲得更多的新增數(shù)據(jù)。
首先,與DTW 不同的是DBA 的數(shù)據(jù)擴增方法是一種基于DTW 動態(tài)時間規(guī)整的全局平均方法,它會初始化定義一個平均序列,通過迭代計算不同時間序列對于平均序列的DTW 全局平均值,反復(fù)完善最初的平均序列,以最小化其與平均序列的平方距離(DTW)之和。
實際上平方總和的最小化問題就是平均序列的每個坐標(biāo)的部分和的最小化問題。由于一個序列集至少含有兩個序列,平方總和是一個多序列平方和的總和,通常被稱為組內(nèi)平方和(Within Group Sum of Squares)。這里需要注意的是,平均序列的共同坐標(biāo)的形成都是由每一個其他序列的一個或者多個相似點的貢獻的,那么取這組相似點坐標(biāo)的重心(Barycenter)就能實現(xiàn)對該平均序列坐標(biāo)貢獻的量化。
具體實踐上,DBA的計算分兩個步驟:
1)在創(chuàng)建的序列集中,每個屬于這個序列集的單獨序列都要和正在完善的臨時平均序列計算DTW,找到平均序列的坐標(biāo)和序列集的坐標(biāo)之間的聯(lián)系。
2)對平均序列的每個坐標(biāo)進行迭代更新,每一次迭代更新的值即為第一步中與之相關(guān)的其他單獨序列坐標(biāo)的barycenter,直到迭代收斂。
(1)定義S={S1,S2,...,SN}為待平均化處理的序列的集合;T=<T1,T2,...,TK>為迭代第i次的平均序列;為第i+1次迭代的平均序列,即對第i次迭代后平均序列的更新。這些序列的坐標(biāo)都被定義在一個任意的歐式矢量空間E中。
?k∈[1,K],Tk∈E
(2)運用函數(shù)assoc 將平均序列的每個坐標(biāo)與S中的一個或者多個序列的坐標(biāo)聯(lián)系起來。這個函數(shù)是在計算T和S的每個序列的DTW 期間計算的。然后,平均序列T'中的每一個坐標(biāo)kth就可以被定義為
T'=barycenter(assoc(Tk))
其中:
(3)另外,平均序列T(K)還必須滿足以下條件:
(4)再次計算平均序列和的所有序列之間的DTW,進行迭代,直至其收斂。
本文在SW、DTW 兩種傳統(tǒng)數(shù)據(jù)擴增方法基礎(chǔ)上,將兩種方法相融合,并引入DBA 的計算理念,擴增出新的數(shù)據(jù)用于深度卷積神經(jīng)網(wǎng)絡(luò)的訓(xùn)練,以此來解決輸入數(shù)據(jù)量少、樣本不平衡的問題。
基于SW-DBA的擴增方法,具體流程如圖3。
圖3 DBA計算結(jié)果
1)假設(shè)某工況下軸承損傷實驗原始數(shù)據(jù)樣本量較少,需要進行數(shù)據(jù)擴增,將該數(shù)據(jù)進行下采樣,規(guī)整數(shù)據(jù)長度。
2)設(shè)計滑動窗口的步長,窗口寬度,滑動次數(shù),通過對某一信號進行滑動窗口讀取,得到固定長度的信號。
3)將生成的信號組分解成每兩個信號為一組的信號組。
4)以DTW 相似度作為評判標(biāo)準(zhǔn),通過調(diào)用DBA算法對信號的全局時間序列動態(tài)求平均,所求的平均結(jié)果即為新信號的時間序列值,將輸出后的平均序列看作是新增的信號。
5)依次對信號組中的相鄰兩段信號求平均,即可實現(xiàn)多段信號的新增。
經(jīng)過SW 處理后的兩組數(shù)據(jù)作DBA 計算,得到平均序列如圖3中第三條曲線所示。
首先,將原始不平衡的數(shù)據(jù)進行FFT 預(yù)處理,這樣,樣本就由時域轉(zhuǎn)變?yōu)轭l域,每個樣本的維度由1024 變?yōu)?12。其次,長度為1024 的原始數(shù)據(jù)經(jīng)由SW-DBA 處理后,產(chǎn)生x(根據(jù)達到數(shù)據(jù)平衡的實際需求調(diào)整)個與原始數(shù)據(jù)長度相同的新增序列,這些新增序列再通過FFT 處理,得到相同數(shù)量的具有512 個傅里葉系數(shù)的向量。最后,將FFT 變換后的新增序列作為原始數(shù)據(jù)的補充一起輸入到DCNN進行訓(xùn)練。
本文的一維深度卷積神經(jīng)網(wǎng)絡(luò)共設(shè)置五層卷積、池化,1 個全鏈接,輸出采用SoftMax 分類,具體的網(wǎng)絡(luò)數(shù)據(jù)結(jié)構(gòu)和超參數(shù)設(shè)置見表1。首先分別定義卷積層輸入的批次、高度、寬度、通道,以及卷積核的大小、滑動步長、填充方式。另外,選用最大池化層,分別設(shè)置最大池化窗口的大小,水平、垂直滑動步長。為了防止訓(xùn)練過程中出現(xiàn)梯度消失或梯度崩塌等情況,通過在卷積層和最大池化層之間設(shè)置BN 層。在訓(xùn)練的循環(huán)中,每一層的訓(xùn)練都會改變一次權(quán)重,待五層網(wǎng)絡(luò)訓(xùn)練結(jié)束后,損失函數(shù)經(jīng)過反向傳播又會再一次更新各層的權(quán)重,
表1 DCNN數(shù)據(jù)結(jié)構(gòu)和超參數(shù)設(shè)置
直到得到損失函數(shù)極值或者已經(jīng)提前達到預(yù)先設(shè)定的訓(xùn)練次數(shù),具體計算流程見圖4。
圖4 SW-DBA-DCNN計算流程
圖5 變工況條件下不同數(shù)據(jù)集數(shù)據(jù)擴增前后準(zhǔn)確率對比
本實驗采用的數(shù)據(jù)集為凱斯西儲大學(xué)的公開數(shù)據(jù)集,該數(shù)據(jù)集提供了軸承的不同損傷部位,不同損傷程度,不同采樣頻率等較為完備的實驗室條件下的數(shù)據(jù)。為了模擬樣本量不平衡的情況,本次實驗在源域數(shù)據(jù)的選擇時采用軸承端10 種故障類型的不同數(shù)據(jù),其中外圈故障統(tǒng)一選擇6 點鐘方向故障。
本實驗人為地設(shè)置每種故障狀態(tài)下的數(shù)據(jù)量,致使十種故障的樣本數(shù)據(jù)量不平衡,具體數(shù)據(jù)量設(shè)置如表2。
表2 訓(xùn)練樣本輸入組數(shù)設(shè)置
其中訓(xùn)練集1 是平衡樣本,訓(xùn)練集2 和訓(xùn)練集4 是非平衡樣本,訓(xùn)練集3 和訓(xùn)練集5 是采用SW-DBA 算法,分別在訓(xùn)練集2 和訓(xùn)練集4 的基礎(chǔ)上將所有非平衡數(shù)據(jù)樣本擴增至90 組,得到的平衡樣本數(shù)據(jù)。需要注意的是,這里設(shè)置的擴增后每種故障類型的數(shù)據(jù)組數(shù)為90 組,指的是在原本已有樣本的數(shù)量基礎(chǔ)上補齊90 組數(shù)據(jù),而不是直接新增90組數(shù)據(jù)。
另外,本文設(shè)置的對比實驗嚴(yán)格控制變量,對比實驗使用的是同一個測試集,變工況種類相同,保證了只有源域數(shù)據(jù)的數(shù)據(jù)量的差異而不存在其他差異,較為真實地模擬了針對訓(xùn)練樣本不足問題實施數(shù)據(jù)擴增的效果。
通過對比兩次實驗變工況條件下故障準(zhǔn)確率,可以分析得出:
1)表3展示了0,1,2,3四種負載排列組合產(chǎn)生的12 種變工況條件下不同訓(xùn)練集的故障診斷準(zhǔn)確率,可以看到,相較于訓(xùn)練集2,擴增后的訓(xùn)練集3僅在H2-H3、H3-H0 工況下準(zhǔn)確率略低于訓(xùn)練集2,其他變工況的準(zhǔn)確率均有所提升;訓(xùn)練集5 的準(zhǔn)確率則在各種變工況條件下全方面超越了訓(xùn)練集4。
表3 變工況條件下不同數(shù)據(jù)集數(shù)據(jù)擴增前后準(zhǔn)確率對比
2)在訓(xùn)練樣本缺失較少的訓(xùn)練集2和訓(xùn)練集3的對比實驗中,使用本文所提方法可有效提升各工況條件下故障診斷準(zhǔn)確率水平,將DCNN 模型的平均故障診斷準(zhǔn)確率提升了3.02%;
3)在訓(xùn)練樣本缺失較大的訓(xùn)練集4和訓(xùn)練集5的對比實驗中,擴增后的數(shù)據(jù)使得故障診斷的平均準(zhǔn)確率大幅提高了12.47%。
4)擴增到同樣數(shù)據(jù)組數(shù)后的訓(xùn)練集3 和訓(xùn)練集5 的準(zhǔn)確率結(jié)果也基本持平,能夠達到訓(xùn)練集1平衡數(shù)據(jù)組數(shù)條件下的準(zhǔn)確率水平。
綜上,SW-DBA的數(shù)據(jù)擴增方法對于非平衡樣本的準(zhǔn)確率提升效果顯著,在很大程度上解決了現(xiàn)實應(yīng)用中訓(xùn)練樣本不平衡的問題。
針對數(shù)據(jù)樣本量的不平衡問題,本文首先構(gòu)建了一個深度卷積神經(jīng)網(wǎng)絡(luò)模型,提出一種SW-DBA的數(shù)據(jù)擴增方法,通過模擬設(shè)置兩組樣本不平衡、一組樣本平衡、兩組數(shù)據(jù)擴增后平衡的對比實驗,得到結(jié)論如下:
1)本文提出的SW-DBA 方法能夠?qū)τ邢薜姆瞧胶鈹?shù)據(jù)進行擴增,增加樣本的輸入量,有效解決了數(shù)據(jù)樣本的非平衡輸入問題。
2)利用西儲大學(xué)數(shù)據(jù)集,本文構(gòu)建的SWDBA-DCNN 故障診斷模型能都出色地使用新增數(shù)據(jù)進行故障診斷,對非平衡樣本在不同變工況條件下故障準(zhǔn)確率都有所提升。驗證了該方法的可行性和有效性,可以解決滾動軸承故障診斷領(lǐng)域樣本數(shù)量不平衡的問題。