康守強, 肖 楊, 王玉靜, 王慶巖, 梁欣濤, V.I. Mikulovich
(1.哈爾濱理工大學 測控技術與通信工程學院,哈爾濱 150080;2.白俄羅斯國立大學,明斯克 220030)
滾動軸承作為旋轉機械關鍵部件之一,廣泛應用于工業生產中,對其及時進行故障診斷可有效防止重大事故發生[1]。實際工程中,滾動軸承通常工作于復雜、惡劣的環境中或拆卸困難,導致某些規格滾動軸承振動數據稀缺,尤其是帶標簽數據[2]。同時,由于不同規格的滾動軸承振動信號往往存在較大的數據分布差異,若將其直接用于其他規格滾動軸承故障診斷,會導致誤診斷的概率增大。因此,通過某種規格滾動軸承的先驗知識,建立其他規格滾動軸承故障診斷模型具有重要意義。
近年來,深度學習憑借其強大的自適應提取特征能力,被廣泛應用于軸承故障診斷領域[3]。文獻[4]提出一種改進的殘差網絡,將SENet引入到深度殘差網絡中,實現滾動軸承故障診斷。文獻[5]采用一維卷積神經網絡對航空發動機軸承故障進行分類,具有較高的診斷準確率。文獻[6]提出一種改進的SqueezeNet模型,采用3個3×3卷積核代替1個7×7卷積核,并利用直升機軸承振動數據證明其方法的有效性。文獻[7]利用不同尺度的一維卷積核提取原始振動信號的多尺度特征,通過對多層網絡學習實現滾動軸承故障診斷。文獻[8]利用一維和二維卷積神經網絡提取特征并構建新的時頻特征,成功應用于機車軸承故障診斷。
基于深度學習的故障診斷方法在模型訓練過程中通常需要大量已知標簽樣本集。某些規格軸承在實際工作中,由于拆卸不便、振動信號采集困難,導致已知標簽樣本數量稀缺,建立的故障診斷模型難以達到理想效果。
針對深度學習故障診斷方法存在的問題,眾多學者將研究重點轉移至遷移學習領域,其目的是將某個任務的已知知識應用到相似任務中。文獻[9]針對海水泵工況復雜多變、故障數據采集困難等問題,提出一種基于參數遷移的故障診斷方法,并在3個海水泵數據集上驗證了方法的有效性。文獻[10]提出一種改進的遷移學習方法,使用全局均值池化層對軸承故障分類,實現了少數據情況下滾動軸承故障診斷。文獻[11]使用格拉姆角差場將一維振動信號轉變為二維故障圖后,利用模型遷移學習方法進行軸承故障診斷,其方法具有較高的診斷準確率。文獻[12]使用源域數據訓練改進的卷積神經網絡,將模型參數遷移至目標域網絡并微調,利用公共軸承數據集驗證其有效性。文獻[13]提出4種將原始振動信號轉變為圖像樣本的方法,并使用遷移學習方法實現含噪聲條件下軸承故障診斷。文獻[14]提出一種改進的無監督域適應診斷方法,通過仿真數據構建源域,并設計一種改進的損失函數,最后使用2個數據集驗證了其方法的可行性。
然而,隨著數據安全問題逐漸受到關注,世界各國政府紛紛頒布多條相關法律以加大數據隱私管理力度。2016年歐盟出臺的《通用數據保護條例》和2018年美國頒布的《加州消費者隱私法案》都有強調保護個人隱私數據。我國于2021年頒布的《個人信息保護法》中也明確指出,處理個人信息應當取得個人同意。同時,用戶由于數據隱私問題不希望共享私有的軸承振動數據,振動數據通常以孤島形式存在多個用戶中,無法匯聚成大數據。因此,基于遷移學習的軸承故障診斷方法存在源域缺乏大量先驗知識,而構建源域預訓練模型困難的問題。
聯邦學習是基于上述背景提出的一種分布式機器學習方法,作為人工智能領域的一個重大突破,根據“數據可用不可見,數據不動模型動”的思想,旨在聯合多方數據共同建模,打破“數據壁壘”,實現多方“共同富裕”[15]。文獻[16]提出一種聯邦學習模型聚合過程中的加權策略,提升全局模型的質量,利用軸承數據集驗證了所提方法的有效性。文獻[17]基于聯邦學習設計了一種軸承故障診斷方法,實現了孤島數據情形下滾動軸承故障診斷。文獻[18]提出一種基于聯邦學習和卷積神經網絡的故障診斷方法,在滾動軸承數據集上具有較高的診斷準確率。文獻[19]基于動態路由技術提出一種多工況故障診斷聯邦學習系統,并以滾動軸承數據集為基準數據集驗證所提方法的優越性。文獻[20]在聯邦學習框架上提出一種動態驗證方案,其目的是提升全局模型對低質量本地數據的魯棒性,并在軸承和轉向架2個數據集上取得良好的診斷效果。
由于不同規格滾動軸承振動數據之間差異較大,直接使用聯邦學習方法聚合多個用戶不同規格滾動軸承振動數據,易導致模型診斷效果較差;而用戶使用本地孤島數據直接建模會因已知標簽數據較少無法建立有效的故障診斷模型。針對上述問題,提出一種基于多用戶孤島隱私數據聯邦模型遷移的不同規格滾動軸承故障診斷框架。該方法以聯邦模型遷移框架為基礎,使用卷積神經網絡提取振動信號特征,構建用戶本地模型。使用改進的參數策略減少本地模型參數數量,提升參數傳遞過程的安全性。最終,多個用戶協同構建用于遷移學習的共享模型并發送給用戶,用戶使用本地數據微調共享模型,實現不同規格滾動軸承故障診斷。
近年來,卷積神經網絡(convolutional neural networks,CNN)憑借其良好提取圖片特征的能力,受到圖像分類、目標識別等各個領域的廣泛關注。與傳統神經網絡相比,卷積神經網絡可以通過參數共享、稀疏連接等操作,快速地提取圖片特征同時降低模型參數數量,大幅度提升訓練速度[21]。常見的卷積神經網絡由輸入層、卷積層、池化層、全連接層、輸出層構成,如圖1所示。

圖1 卷積神經網絡結構Fig.1 The structure of convolutional neural networks
作為卷積神經網絡中最核心的部分,卷積層主要負責提取輸入圖像的特征。利用預先確定好尺寸的多個卷積核,與輸入圖片對應區域加權求和,提取圖片的局部特征。卷積層提取特征的公式為
(1)

池化層在CNN中主要負責對卷積層提取的特征進行降采樣操作,保留圖片中重要信息的同時減少了網絡參數量。常見的池化方法有最大池化和平均池化兩種,兩種池化方法如圖2所示。

圖2 池化方法示意圖Fig.2 Diagram of pooling method
全連接層通常放置在整個CNN的最后,能夠將卷積層提取的局部特征擬合為全局特征,并起到分類的作用。全連接層輸出的公式為
h(x)=f(ωx+b)
(2)
式中:x為該全連接層輸入數據;ω為權重;b為偏置;f(·)為激活函數;h(x)為該全連接層輸出。
聯邦學習框架通常由多個用戶和聚合服務器構成,且聚合服務器不會泄露用戶信息,用戶本地數據始終留在本地不共享給其他用戶,僅通過共享本地模型參數協同建立一個全局模型。假設有K個用戶參與聯邦,每個用戶的本地數據集為Dk,k=1,2,…,K,則聯邦學習建模過程如下。
首先,所有的建模任務都可以視作對損失函數的優化過程,即
min[f(x)]
(3)
式中,f(w)為當前任務的損失函數,w為當前模型參數。
傳統中心化模型訓練將所有數據集中到一起,則有
(4)
式中:fi(w)為第i個樣本的損失;n為數據集樣本個數。
不同于傳統中心化訓練過程,聯邦學習不需要集中數據,則聯邦學習優化目標函數可定義為
(5)
(6)
式中:Fk(w)為聯邦學習中第k個用戶的損失;nk為第k個用戶的樣本數。
聯邦學習流程框圖如圖3所示。服務器將全局模型發送至各個用戶作為本地模型;用戶利用本地數據訓練本地模型,并將模型參數上傳至服務器;服務器通過聚合算法聚合本地模型參數并更新全局模型后,再次發送給用戶。重復上述步驟直至達到最大聯邦迭代次數,得到最終的聯邦全局模型。

圖3 聯邦學習流程框圖Fig.3 Flow block diagram of federated learning
聯邦平均算法作為聯邦學習中最常用的模型參數聚合方法,其表達式為
(7)

模型遷移學習旨在將源域中訓練好的模型參數信息遷移到具有相似任務的目標域中,并利用當前任務已知標簽樣本集對模型參數微調,使其適應新任務。模型遷移學習之所以能夠利用源域先驗知識輔助目標域建模達到理想效果,根本原因在于卷積神經網絡提取特征具有層次性,淺層網絡提取數據共有特征,深層網絡提取較為抽象的特征。微調作為模型遷移中常見的調參方法,正是利用共有特征具有普適性的特點,共享淺層網絡參數,調整深層網絡參數,使源域網絡快速適應新任務。
微調的關鍵是找出不同數據集間的不變量,也就是源域與目標域之間的共性知識,因此本文提出逐層解凍思想對網絡微調,具體方法為:將用于遷移學習的共享模型(除全連接層)參數遷移至目標域網絡,作為目標域網絡的初始化參數,從最后一層卷積層向前逐層解凍,并使用目標域已知標簽樣本微調網絡,參數遷移過程如圖4所示。

圖4 模型遷移策略Fig.4 Model transfer strategy
聯邦學習無需匯集用戶數據,而是通過聚合模型參數協同建模提高模型質量。但仍存在一些問題,即用戶不希望自己的私人數據以及本地模型參數被他人獲取,一旦出現信息泄露可能導致重大財產損失。因此,聯邦學習參數傳遞過程的安全性是值得研究的重點問題之一。
針對上述問題,引入差值更新策略,通過更新本輪本地模型和上一輪全局模型參數差值的方法實現全局模型參數更新,原參數更新的方法如式(8)所示
(8)

使用差值更新改進后的全局模型更新過程如式(9)所示
(9)
上述式(9)化簡后與式(8)是一致的,但參數傳遞過程中,傳遞的參數由模型的參數變為了參數差值,若被截獲,也無法從中獲取到具有實際價值的信息。參數稀疏化算法是通過生成一個與參數矩陣大小相同的由0,1組成的矩陣,再與原參數矩陣對應位置相乘,從而減少參數數量的方法。參數稀疏化度是矩陣中1的個數與0,1個數之和的比值,即90%參數稀疏化度為矩陣中1的個數占90%。基于此思想,本文引入一種參數稀疏化算法改進聯邦學習過程中參數傳遞策略,用于解決用戶上傳參數時的隱私泄露問題。本文采用的參數稀疏化算法在聯邦學習框架中的具體步驟:
步驟1用戶使用本地數據訓練好本地模型后,按層計算本輪初下發的全局模型參數與本輪訓練好的本地模型參數差值,每一層的差值為一個矩陣。
步驟2用戶本地生成一個和模型參數同樣大小的矩陣,矩陣由0、1組成,1的個數由事先規定好的參數稀疏化度決定。
步驟3將步驟1中得到的差值矩陣與2中生成的參數稀疏化矩陣對應位置相乘得到新的差值矩陣。
步驟4將新的差值矩陣發送給服務器,服務器收集所有用戶的差值矩陣取其平均數,加到上一輪的全局模型參數矩陣上,形成下一輪的全局模型。
基于聯邦模型遷移的不同規格滾動軸承故障診斷方法流程框圖,如圖5所示。

圖5 故障診斷流程框圖Fig.5 Fault diagnosis flow diagram
滾動軸承故障診斷方法具體步驟如下:
步驟1本地數據集及本地模型構建
選取不同規格滾動軸承振動數據作為各用戶本地數據集,并通過短時傅里葉變換得到用戶本地時頻圖。利用本地時頻圖樣本集訓練卷積神經網絡得到多個用戶本地模型。
步驟2共享模型構建
利用提出的改進參數傳遞策略,用戶將訓練好的本地模型參數上傳至服務器,服務器使用聯邦平均算法聚合用戶上傳的參數并更新本地模型,不斷重復此過程直至達到最大聯邦迭代次數,得到用于遷移學習的共享模型。
步驟3個性化模型構建
服務器將用于遷移學習的共享模型發送至各用戶,根據提出的逐層解凍策略決定保留共享模型哪些層參數,并使用本地數據集對共享模型微調,得到適用于用戶本地數據集的個性化模型。
本實驗數據來自試驗臺軸承數據集[22]。軸承數據試驗平臺如圖6所示,試驗平臺由電動機、扭矩傳感器、功率測試計以及電子控制器組成。驅動端為SKF6205規格軸承,風扇端為SKF6203規格軸承,采樣頻率均為12 kHz,工作在0,0.75 kW,1.50 kW和2.25 kW共4種負載情況下。數據集包含正常、內圈故障、外圈故障和滾動體故障在內的4種狀態,軸承故障是在軸承每個部位利用電火花加工而成的點蝕故障,每種故障類型分別有0.177 8 m,0.355 6 m,0.533 4 mm共3種故障缺陷直徑,共10種類別。

圖6 軸承試驗臺示意圖Fig.6 Schematic diagram of bearing test platform
本文隨機截取1 024個連續點作為一個樣本,如圖7所示。為方便表示各種狀態類別,以N代表正常狀態,其余9種故障狀態具體表示如表1所示。

表1 9種故障狀態

圖7 時域振動信號截取方式Fig.7 Time domain vibration signal interception method
為更清晰地表示試驗中所用到的數據,表2中給出了本文所使用的數據集與軸承規格、工作負載、轉速的對應關系。

表2 數據集與軸承規格、負載、轉速對應關系
本文設置8組不同的聯邦任務,各任務中用戶本地數據,如表3所示。以任務1為例,用戶1持有SKF6205(0,1 797 r/min)數據,用戶2持有SKF6205(1,1 772 r/min)數據,用戶3持有SKF6203(0,1 797 r/min)數據。每個用戶訓練樣本每類30個,10個類別共計300個,測試樣本每類100個,共計1 000個。

表3 各任務用戶數據集設置
所提方法采用ReLU函數作為激活函數,經多次試驗,本地訓練迭代20次,聯邦最大迭代次數50次,模型遷移本地微調次數為50次,學習率lr設置為0.001。試驗使用的硬件環境:CPU型號為Intel Xeon W-2123;內存32 GB;GPU型號為NVIDIA GeForce GTX1080Ti。
本試驗利用卷積層、池化層以及全連接層的堆疊,構建了基于CNN的滾動軸承故障診斷模型作為聯邦學習過程中的本地模型。特征提取層由4個卷積層和4個最大池化層構成,分類器由全連接層構成,具體結構如表4所示。

表4 卷積神經網絡參數
為保留合適的共享模型層數,驗證不同保留層數對分類效果的影響,采取逐層解凍策略進行試驗,即用戶收到共享模型后,保留共享模型5層中部分層的網絡參數并將其凍結,微調未凍結的網絡參數。本節試驗中,對8個任務分別進行保留4層、保留3層和保留2層3種情況試驗。具體試驗結果如表5所示。為了更清晰地表示不同保留層數對分類效果的影響,將試驗結果以雷達圖形式表達,如圖8所示。

表5 不同保留層數準確率對比試驗

圖8 不同保留層數準確率對比雷達圖Fig.8 Radar image of contrast experiment of accuracy for different retention layers
通過觀察圖8可得,保留前4層模型參數和保留前3層模型參數兩種策略,部分任務分類效果基本持平,但仍有一部分任務在保留前3層模型參數時低于保留前4層模型參數;而保留前2層模型參數均低于以上兩種策略。綜上所述,本文將保留共享模型前4層參數進行后續試驗。
為了驗證不同參數稀疏化度對分類效果的影響,選取合適的參數稀疏化度,選用60%,70%,80%,90%,100%共5種參數稀疏化度進行實驗研究。
分別對任務1到任務8進行5種不同的參數稀疏化度對比試驗,每個任務試驗結果為3個用戶測試準確率的平均值,如表6所示。

表6 不同參數稀疏化度對比試驗
為了更清晰地表示不同參數稀疏化度對分類效果的影響,將試驗結果以折線圖形式表達,如圖9所示。

圖9 不同參數稀疏化度折線圖Fig.9 Line chart of different parameter thinning degrees
通過分析圖9可知,參數稀疏化度為90%時,分類準確率對比100%幾乎沒有下降,而參數稀疏化度為80%,70%和60%時,準確率均有不同程度下降。因此,后續試驗將采用90%參數稀疏化度進行后續試驗。
為進一步驗證所提方法的有效性和優越性,將本文所提聯邦遷移學習方法與方法1和方法2進行比較。
方法1為用戶使用聯邦學習協同建立故障診斷模型,但不使用本地數據集微調共享模型,且方法1用戶數據集設置與所提方法相同;方法2為用戶僅使用本地數據建立故障診斷模型。本節試驗在8組不同的任務上測試模型分類效果,試驗結果為用戶1、用戶2和用戶3測試準確率的平均值,如圖10所示。

圖10 所提方法與傳統方法對比試驗Fig.10 Contrast experiment of the proposed method and traditional methods
由圖10可知,所提方法診斷準確率相比方法1可提升9.5%左右,相比方法2可提升1.2%~2.3%。
綜上分析可得,方法2由于用戶本地帶標簽樣本數量過少,導致缺乏足夠的有效信息建立高質量故障診斷模型;而方法1由于不同規格滾動軸承振動數據之間分布差異較大,直接采取聯邦學習方法診斷效果甚至低于方法2。
4.5.1 本地數據集不同樣本數量試驗
為驗證本文所提方法在其他樣本數設置下的有效性,將4.4節中每個用戶持有300個訓練樣本情況擴展為每個用戶持有200個、100個和50個訓練樣本,其余設置均與4.4節相同。試驗結果為用戶1、用戶2和用戶3測試準確率的平均值,如圖11所示。

圖11 不同樣本數設置試驗Fig.11 Experiment results with different sample numbers
圖11(a)為每個用戶持有每類20個樣本時的試驗結果,從中可以發現所提方法準確率相比方法1平均可提升10%左右,相比方法2最高可提升2.7%~3.4%;圖11(b)為每個用戶持有每類10個樣本時的試驗結果,從中可以觀察到所提方法準確率相比方法1平均可提升10%左右,相比方法2可提升2.2%~4.5%;圖11(c)為每個用戶持有每類5個樣本時的試驗結果,從中可以觀察到所提方法準確率相比方法1可提升15%左右,相比方法2可提升4.1~7.1%。
綜上分析可得,所提方法相比方法1和方法2,在不同樣本數情況下均有不同程度的提升,尤其是在本地數據樣本數較少時,分類準確率提升更為顯著。
4.5.2 泛化試驗
為驗證本文所提方法具有較強的泛化性,使用CWRU和MFPT兩種不同的軸承數據庫進行驗證。MFPT數據集為NICE規格軸承振動數據,有內圈故障(IR)、外圈故障(OR)和正常(N)三種狀態,采樣頻率48.828 kHz,轉速25 r/s。試驗中將任務1到任務4設置的數據集分別作為源域,將另一種不同規格的NICE軸承數據集作為目標域。本試驗將4.4節中前4個任務協同訓練得到的共享模型作為源域預訓練模型,將每類10個樣本,共30個樣本的NICE軸承數據集作為目標域訓練數據,將1 000個樣本的NICE軸承數據集作為目標域測試數據,具體任務設置如表7所示。本節試驗將使用NICE數據微調共享模型作為方法1,將僅使用NICE軸承數據建立故障診斷模型作為方法2。試驗結果如表8所示。

表7 泛化試驗任務設置

表8 泛化試驗準確率
由表8的試驗結果分析可知,使用每類10個樣本的NICE軸承數據獨立建模,準確率僅為89.2%,而使用所提方法在4個不同任務中,均有不同程度的提升。為了更加直觀地描述本文所提方法在不同規格滾動軸承故障診斷問題中的有效性,引入多分類混淆矩陣對診斷結果進行分析。受限于文章篇幅,僅以任務9的試驗結果為例,繪制混淆矩陣如圖12所示。

圖12 滾動軸承故障診斷混淆矩陣Fig.12 The confusion matrix of rolling bearing fault diagnosis
針對不同規格滾動軸承振動數據分布差異大、部分已知標簽數據稀缺影響診斷結果的問題,提出一種基于聯邦模型遷移學習的故障診斷方法。通過多組試驗驗證,得到如下結論:
(1)提出逐層解凍保留策略,保留共享模型部分層的參數并利用用戶本地數據微調其余層,分別保留共享模型前幾層參數進行對比試驗,最終確定保留共享模型前4層參數,微調最后一層模型參數分類效果最佳。
(2)提出利用差值更新和參數稀疏化算法改進聯邦學習參數傳遞策略。通過5種不同的參數稀疏化度對比試驗,選取90%作為改進參數傳遞策略的參數稀疏化度,能夠保證不影響模型分類效果的同時,進一步提升模型參數傳遞過程的可靠性。
(3)提出一種新的基于聯邦模型遷移的不同規格滾動軸承故障診斷框架,該框架能夠在多用戶軸承數據孤島隱私分布且部分規格軸承帶標簽振動數據稀缺的情況下有效地建立故障診斷模型,所提方法相較用戶使用本地數據獨立建模,診斷準確率可提升1.2%~7.1%,且相較于用戶直接進行聯邦可提升至少9.5%,證明了所提方法的有效性。經NICE軸承數據集泛化試驗,證明所提方法泛化性能較強。
試驗中使用2個數據庫的不同規格的滾動軸承振動數據進行了試驗研究,但未對實際工況下的軸承振動數據進行驗證,這將是后續研究的重點。