張春青,畢 劍,高 月
(中國航發沈陽黎明航空發動機有限責任公司,沈陽 110862)
滾動軸承是航空發動機中極其重要的連接部件,其一旦失效,就會導致重大的事故,輕則增加發動機維護成本,重則飛機墜毀,造成機毀人亡的慘劇。因此,研究針對航空發動機滾動軸承的智能診斷技術,形成完善的航空發動機健康管理體系,對于保障飛行安全、提高經濟效益均具有重要的意義[1]。
當前,通過提取特征頻率實現軸承狀態診斷的信號分析方法是完成滾動軸承狀態監測任務的有效手段之一。如MED[2]、EMD[3]、LMD[4]、變分模態分解(VMD)[5]、小波分析[6]等方法在滾動軸承狀態監測中均有不俗的表現。然而,對于航空發動機這種復雜的機械系統,通過機匣測點獲得的異常狀態的軸承沖擊信號本就十分微弱,再加之摻雜了各種氣動和燃燒等噪聲成分以及各種其他的頻率成分,使得采用上述信號分析方法很難甚至無法提取有效的特征頻率,因此也很難實現精確的診斷。
鑒于此,能夠實現端到端診斷的深度學習方法成為了解決該“瓶頸”問題的有效手段之一。周奇才等[7]采用卷積神經網絡(convolutional neural network,CNN)很好的解決了滾動軸承的診斷問題。ZENG等[8]采用稀疏自編碼器實現了滾動軸承的診斷。XU等[9]提出了一種基于遷移卷積神經網絡的滾動軸承在線診斷方法,并在多組數據集上進行了方法有效性驗證。上述方法雖取得了較好的診斷效果,但是均是需要大量的樣本進行方法的訓練,對于絕大多數機械系統而言,很難甚至無法獲取其異常狀態數據,導致很難訓練高精度的智能診斷方法。在此現實條件下,少量樣本下的智能診斷方法在滾動軸承狀態監測中也得到了一定的發展。邵海東等[10]將仿真數據和遷移學習方法相結合,提出了少樣本下滾動軸承的遷移診斷方法。郭偉等[11]采用生成對抗網絡(generative adversarial network,GAN)實現了少量異常樣本下滾動軸承高精度的診斷。然而,當前絕大部分少樣本智能診斷方法是在簡單的滾動軸承試驗臺上完成的驗證,且針對的是軸承座測點的振動加速度信號,并不能很好的適用于基于機匣測點的航空發動機滾動軸承的診斷。因此,當前采用深度學習方法實現航空發動機滾動軸承的智能診斷,存在以下挑戰:①很難獲得航空發動機滾動軸承各種異常狀態下的高質量樣本;②如何在不改變現有結構的前提下,開發適用于機載測點的航空發動機滾動軸承高精度、高可靠性的診斷方法;③如何有效利用現有的滾動軸承試驗臺數據來提高航空發動機滾動軸承診斷的精度。
蒸餾學習[12-14]模型中包含有教師和學生兩個網絡。其中,教師網絡是由大規模數據集訓練而來,通過蒸餾的方式將教師網絡的知識傳遞給學生網絡。學生網絡只需少量的樣本即可完成網絡的訓練。因此,可以采用現有的滾動軸承公開數據集完成教師網絡的訓練。①可以解決航空發動機滾動軸承數據集難以獲取的問題;②可以將教師網絡學習得到的滾動軸承異常狀態中具有共性的特征知識傳遞給學生網絡,以提高診斷精度。綜上所述,提出了一種基于蒸餾學習的航空發動機滾動軸承診斷方法。在同型號的多臺航空發動機滾動軸承數據上進行了充分的驗證,表明了所提方法的有效性。
Vision Transformer[15]在圖像處理、機器視覺等領域相比CNN獲得了更大的成功,近年來也被廣泛用于滾動軸承的診斷中。ViT中包含了多個Transformer編碼器,而Transformer編碼器中包含了由多頭自注意力機制、多層感知機以及殘差連接等部分。Vit的結構如圖1所示。

圖1 ViT總體結構
ViT首先將輸入切割為相同大小的塊(patch);然后,通過Embedding層將patch映射為二維向量,作為Transformer編碼器的輸入;最后,將編碼器的輸出經過全連接層后作為作為ViT的最終輸出。將ViT的輸入x∈Rw×h×c切割后獲得大小為p×p×c的N個塊xp∈RN×p×p,其中c、p、h、w分別表示圖像的通道數、patch塊的大小以及原始圖像的高、寬。則N=hw/p2。加入位置編碼cls以及類標簽y后,Transformer編碼器的輸入z0為:
(1)
式中:E(x)為Embedding層。
Transformer編碼器中,首先對輸入進行歸一化處理,記為:LN(zi),zi為第i層編碼器的輸入。多頭注意力機制計算方式如式(2)所示。
(2)

(3)
式中:dk為K的維度。
MLP多層感知器的運算過程如式(4)所示。
FFN(x)=FC(Gelu(FC(x)))
(4)
式中:Gelu為激活函數,FC為全連接層函數。
通過多個編碼器的疊加計算后,由全連接層輸出計算類別。
蒸餾學習由教師網絡和學生兩個網絡組成。其中,教師網絡是在大規模數據集上訓練完成的模型,一般在蒸餾學習中僅提供計算結果,不參與訓練。基于蒸餾學習的診斷方法流程如圖2所示。
傳統的蒸餾學習中教師網絡和學生網絡為VGG[14]、CNN[15]等,相比VGG、CNN、Resnet[16]等網絡,當前ViT的性能表現更優,因此,為提高診斷精度本文采用ViT網絡替換原始的VGG模型,作為蒸餾學習的主干特征提取網絡。基于蒸餾學習的滾動軸承狀態診斷步驟為:
步驟1:采集原始的振動加速度信號,并采用FFT對數據進行預處理;
步驟2:將預處理后的數據轉換為灰度圖,圖像大小為224×224×3。轉換后的3個通道的灰度圖相同;
步驟3:采用滾動軸承公開數據集完成教師網絡的預訓練;
步驟4:將預處理完成的灰度圖輸入至教師和學生網絡,計算特征對比損失。然后,采用優化算法對學生網絡的參數進行優化,完成學生網絡的訓練;
步驟5:在測試階段僅利用學生網絡完成異常部位的識別。

(5)

本文在式(5)所示的傳統特征對比損失函數的基礎上,增加了學生網絡輸出誤差引起的損失,包含交叉損失和距離損失,如式(6)所示。
(6)

本文采用的最終損失函數為L=L1+L2。
本文所采用的模型參數如表1所示。

表1 模型參數
由于教師網絡和學生網絡采用了不同的層數,在計算特征對比損失的時候,教師網絡每隔3層和學生網絡的一層輸出計算相應的損失。之所以學生網絡的輸出維度是2,是因為某型航空發動機滾動軸承通常會出現外圈剝落異常,所收集樣本數據僅為正常和外圈異常兩類。
為說明本文所提方法的優勢及泛化性能,選用某大學和NASA智能維護系統中心分別公開的CWRU[17]和IMS[18]兩組開源軸承數據集(試驗平臺如圖3所示)分別完成教師網絡的訓練,然后在航空發動機滾動軸承數據上進行驗證。為全面比較所提方法的優勢,和SVM、CNN、Resnet18、ViT等模型進行了對比驗證。

(a) CWRU軸承試驗臺 (b) IMS軸承試驗臺 (c) 真實的航空發動機
CWRU滾動軸承數據集是在圖3a所示的試驗器上完成的試驗,本文中選用的軸承型號為SKF6205,數據采集過程中,振動信號由16通道數據記錄儀采集得到,采樣頻率為12 kHz,試驗轉速范圍為1720~1797 r/min。軸承共有正常、內圈、外圈、滾動體4種狀態。數據選擇時采用連續劃分的方式將數據劃分為1 s的數據。數據點數為12 000個點。連續劃分時的重疊樣本量為8000個樣本點。4種狀態均選擇300組樣本。
IMS滾動軸承全壽命周期振動數據采用了Rexnord ZA-2115滾動軸承,軸承的主要參數如表2所示。使用PCB 353B33加速度傳感器進行振動信號監測,試驗臺(如圖3b所示)由4個安裝在軸上的滾動軸承組成,試驗中轉速為2000 r/min,試驗中向軸承施加26.67 kN的徑向載荷。使用某公司的DAQ6062E數據采集卡進行信號采集,采樣頻率設置為20 480 Hz,每間隔10 min采集1 s數據,作為一個數據樣本,每個樣本采樣點數為20 480。樣本信息如表3所示。

表2 滾動軸承參數

表3 數據樣本信息
航空發動機滾動軸承樣本來自3臺同型號的發動機試驗數據,(記為:發動機1、發動機2、發動機3)。試驗中采用頻率為64 kHz,連續采樣。選用轉速為13 900 r/min以上的數據進行診斷分析。3種型號軸承的采集數據如圖3d~圖3f所示。
訓練時按照7∶3的比例劃分訓練集和測試集。分別采用CWRU和IMS數據集實現教師網絡的訓練結果如表4所示。試驗過程中由于CWRU和IMS兩個數據集中所得樣本中數據點數不盡相同,為了和真實發動機數據的數據樣本大小相同,采用數據擴充的方法,將這兩個數據集的1 s的數據進行頻譜變換處理,并取頻譜中一半的數據,同時擴充變換為大小224×224×3的樣本,作為模型的輸入。模型的其余參數見表1中教師網絡的參數。采用T-SNE方法所獲的可視化結果如圖4所示。

表4 教師網絡訓練結果

(a) CWRU數據集分類特征可視化 (b) IMS數據集分類特征可視化
結果表明,對于CWRU和IMS兩種數據集,均能實現很高的分類精度,其中CWRU數據集的分類精度達到了99.65%,IMS數據集的分類精度為98.74%。說明本文教師網絡在兩種試驗臺數據上具有很高的診斷精度。圖4中的結果同樣可以直觀的看出,教師網絡可以將4種狀態完全的進行分開,進一步反映了本文方法的有效性。
為說明本文方法的優越性,在相同的數據集上對上述幾種方法進行了測試。其中 CNN模型選用5層常用的模型、其中ViT模型的參數與本文中學生網絡的參數一致。所測試的幾種方法均通過發動機實測數據進行驗證,此時不對發動機進行區分,采用所有的發動機數據進行訓練和測試。測試結果如表5所示。同時展示了表現最優的ViT方法和本文方法的測試精度變化曲線,如圖5所示。

表5 不同方法對比結果

圖5 發動機數據上測試精度變化趨勢
表5表明,將航空發動機滾動軸承振動加速度數據經過預處理后直接輸入至診斷模型,所獲得的效果并不理想。例如,SVM方法在航空發動機滾動軸承診斷中僅獲得了63.34%的診斷精度,說明采用該方法不能很好的實現診斷。Resnet18的診斷精度高出CNN約6.75%,說明殘差網絡相比于傳統的CNN網絡在航空發動機滾動軸承診斷中具有更加明顯的優勢。而ViT則相比Resnet18精度提高了約2.57%,也從側面反映了ViT模型的性能要優于Resnet18。診斷精度最高的是本文所提的蒸餾學習方法,其診斷準確率為96.38%,相比診斷效果最優的ViT精度提高11.42%。分析認為,出現這種差異的主要原因是本文模型中的學生網絡通過蒸餾學習的方式,學習獲得了教師網絡中的知識,且這種知識是不同型號軸承之間的共性。圖5中精度變化曲線同樣表明本文方法相比ViT模型,具有更高的診斷精度,且收斂速度更快。
為說明本文方法的優勢,采用T-SNE方法對各個模型的輸出結果進行了可視化顯示。如圖6所示。圖6中結果反映出,SVM、CNN、Resnet18三種網絡無法直觀的實現外圈可正常狀態的區分,很容易看出,其輸出結果和發動機號有關,比較分散。而ViT卻克服了這種不同發動機之間的差異,結果相對更加集中。最直觀的是本文所提出的方法,正常狀態和外圈異常狀態的輸出結果完全不一致,且相對更加集中。

(a) SVM的結果可視化 (b) CNN的結果可視化
不同模型的對比結果能夠表征本文方法具有很高的診斷精度,而為了說明本文方法的泛化性能,進行了不同發動機之間的對比試驗。分別僅利用1臺發動機完成學生網絡的訓練,采用其余兩臺發動機數據進行測試。測試結果如表6所示。

表6 泛化性能驗證結果
由表6可知,采用不同發動機數據進行訓練所得到的了檢測精度略有差異,但是均保持了95%以上的診斷精度,具體而言,采用發動機1的數據進行訓練,其余兩臺發動機數據進行測試的診斷精度最低,為95.98%;采用發動機3的數據進行訓練,其余兩臺發動機數據進行測試,相比前一種情況診斷精度提高了0.54%;效果最好的是采用發動機2的數據進行訓練,其余兩臺發動機數據進行測試,達到了97.64%的診斷精度。對比結果說明無論是那臺發動機數據進行的測試,本文方法均表現了很高的穩定性,表明該方法具有很強的泛化能力。
提出了一種蒸餾學習的航空發動機滾動軸承診斷的方法,旨在解決航空發動機滾動軸承異常難檢測的問題。可以得出如下結論:
(1)直接采用傳統的智能方法很難獲得高精度的診斷結果,這是因為航空發動機振動的傳遞路徑相對較長,基于機匣測點的航空發動機滾動軸承振動加速度數據相對更加復雜,其中夾雜了各種振動源數據,使得高精度精度診斷難上加難。
(2)航空發動機滾動軸承異常狀態的數據很難獲取,采用現有的滾動軸承試驗臺數據集向實測數據遷移可以獲得更高的診斷精度。
(3)在不同發動機數據集上的測試結果表明本文方法具有很高的泛化性能。為實際的航空發動機診斷提供了新的思路,且本文方法具有一定的實用價值。
然而,采用本文方法所得的模型具有參數量大,計算效率不高的不足,很難將其部署至飛機機載診斷設備中。因此,后續為了滿足機載診斷的要求,實現機載在線診斷,同時提高診斷的精度。一是研究輕量化的智能診斷方法;二是采用應用遷移診斷方法,提高模型的診斷精度。