崔石玉,朱志宇
(江蘇科技大學 電子信息學院,江蘇 鎮江 212003)
海水泵是維持船舶艙室設備運轉的關鍵冷卻裝備,在現代船舶系統中的應用越來越廣泛[1],一旦發生故障致使冷卻系統癱瘓,會造成巨大經濟損失乃至給人身安全帶來隱患。因此海水泵故障診斷的研究具有重要的理論價值和實際意義。
海水泵故障診斷大多是通過監測振動信號和電流信號等參數,選擇和提取原始信號的時頻域特征,通過傅里葉變換、小波變換、經驗模態分解、主成分分析、流形學習等信號處理方法[2-4],再利用機器學習方法如人工神經網絡(artificial neural network, ANN)、支持向量機(support vector machine, SVM)等對故障特征進行識別分類[5]。這些傳統方法需要大量的信號處理知識和豐富的專家經驗[6],耗時費力、具有一定的主觀性,會影響故障診斷的精確度。作為人工智能的突破,深度學習具有克服以上缺陷的潛力。目前,深度學習因其強大的學習表征能力和優異的識別效果,在很多領域得到應用[7],并在大數據處理上取得了突破性的成功。卷積神經網絡(convolutional neural networks, CNN)作為深度學習的一個重要分支,在圖像識別領域具有獨樹一幟的優勢[8-9],在旋轉機械故障診斷領域也在逐步替代前一代算法,允許網絡從數據中自適應學習非線性故障特征,比傳統機器學習方法具有更強大的表征能力。文獻[10]提出了基于CNN的齒輪箱故障診斷模型,提取齒輪箱各故障狀態信號的時頻特征作為輸入,構建二維CNN網絡實現故障診斷。Zhang等[11]將一維時間機械振動信號轉化為二維圖像,用于CNN訓練和分類。以上算法雖然都用到了CNN,但CNN的輸入仍然是人工提取特征,CNN強大特征學習能力沒有充分利用,限制了故障識別率的提高[12]。同時,一維時間序列的振動信號,各時刻的數據點具有關聯性,二維形式會破壞這種相關聯性,可能使相關故障信息缺失。目前,以原始振動信號作為一維CNN輸入,基于一維CNN算法實現故障診斷研究尚處于探索階段,公開發表的成果較少[13-14]。
遷移學習能夠學習先前任務的知識和技巧并應用到新任務中[15],可以解決新領域中訓練數據量不足以及訓練數據與測試數據分布不同等問題,提升故障診斷模型的泛化能力?;趨?模型)的遷移學習[16-17]可以充分利用模型之間存在的相似性,通過在不同域間共享參數,來實現遷移學習的效果,代表性方法為多任務學習。通過神經網絡作為基分類器,多個任務共享一些神經網絡層及其相關聯的模型參數,輸出層對應多個不同的任務,直觀地實現多任務學習。Yosinski 等[18]指出 LeNet、AlexNet、VGG、Inception 等都是良好的遷移網絡?;谔卣鞅硎镜倪w移學習[19-20]是利用源域和目標域的信息,尋找合適的特征表示空間,作為所要遷移知識的載體,來增強目標域的學習效果。與無監督遷移成分分析不同,有監督遷移學習方法同時利用數據中的屬性信息和標簽信息。借鑒深度學習中的微調方法,即先用源域中的樣本訓練一個基模型,然后利用目標域中的樣本,微調此基模型。此方法目前主要在圖像識別領域[21-22]流行應用。
為解決海水泵工況多變、故障數據少、振動特征提取困難等故障診斷問題,本文提出基于參數遷移與一維卷積神經網絡(one-dimensional convolutional neural network,1DCNN)的海水泵故障診斷方法。該方法利用1DCNN對多工況的海水泵振動信號進行故障分類。首先利用源域樣本訓練一個CNN基分類器模型,再利用基于參數的遷移學習在源域和目標域間共享模型參數,然后利用目標域樣本對已訓練好的CNN基模型進行微調,并給出故障診斷結果。該方法完全不依賴于人工特征提取和專家知識,可以實現原始信號端到端直接進行故障診斷,最大限度地利用CNN深度網絡實現故障特征自學習,并利用參數遷移加速1DCNN模型快速收斂并降低多工況下故障數據分布不同對故障診斷的影響,提高了1DCNN模型的識別能力和泛化能力。
典型的卷積神經網絡由輸入層、卷積層、池化層、全連接層和輸出層構成。CNN通過梯度下降法最小化損失函數對網絡權重進行反向調節,同時通過頻繁的迭代訓練提高神經網絡的精度。常見的損失函數有均方根誤差函數、交叉熵損失函數、負對數似然函數等。在CNN前期特征提取算法中,通過交替使用卷積層和池化層進行輸入數據特征的層層提取,使網絡具有一定程度的位移、尺度、縮放、非線性形變穩定性,最后通過全連接層輸出結果?;A1DCNN結構示意圖,如圖1所示。1DCNN用于在時間序列的特征識別以及提取,同樣具備CNN對特征識別的平移不變性等優點,并且大卷積核不會帶來太多參數以及計算量,為了獲得較大感受野,模型可以采用較大寬度的卷積核,從而更加全面地獲取序列的特征值。

圖1 一維卷積神經網絡結構示意圖
卷積層主要由多個卷積核構成。一個卷積核可以認為是一個感受野,CNN通過卷積核運算獲取故障數據的特征maps,通過權值共享方法,同一卷積核以一定的步長與不同局部數據進行運算時共享同一組權重,從而減少計算量。一維卷積核運算原理為
(1)
式中:a為卷積核在x方向上的寬度;F為卷積核參數向量;G為與卷積核函數運算的局部向量矩陣;w為卷積核的尺寸。
池化層即為降維,能夠減少1DCNN內部參數的計算量,同時能一定程度地防止過擬合,提高特征的魯棒性。通常采用最大池化算子,數學描述如式(2)所示
(2)
式中:P為最大池化得到的特征向量;l為特征maps的寬度;A為卷積層激活后的特征向量矩陣;w為池化區域的寬度。
全連接層將1DCNN網絡中多層卷積和池化后的特征maps鋪平為一維向量輸入,然后將每層輸入通過式(3)計算輸出,在輸出層通過式(5)輸出診斷結果。
(3)

ReLU=max(0,x)
(4)
輸出層采用Softmax分類器解決多分類問題,模型可表述為
(5)
式中:O為輸出結果矩陣;Wi和bi為第i個分類對應的權重和偏置矩陣。
AlexNet和GoogleNet等深度卷積神經網絡在圖像分類中取得巨大成功,在大型圖像數據集ImageNet上獲得充分訓練,學習到了圖像分類識別所需的大量特征。因此,可以運用遷移學習的思想,充分利用預訓練模型在源域數據集上學習到的大量知識,將其用于目標域故障分類識別問題。
模型參數遷移作為一種常用的遷移方法,去掉預訓練網絡的最后一層,將其之前的激活值送入卷積神經網絡等基分類器進行分類訓練;參數遷移只需重新初始化網絡的最后的少數幾層,其余層直接使用預訓練網絡的權值參數和網絡參數,再利用目標域新故障數據集對網絡參數進行微調。本文采用參數精調的遷移學習方式,將源域基模型修改用于海水泵目標域故障識別的模型,相比于隨機初始化網絡所有層的權重參數和利用訓練數據集對網絡從頭開始訓練的全新學習,精調有助于卷積神經網絡快速收斂。
參數遷移模型的結構框架,如圖2所示。給定源域的訓練數據DS={(xSi,ySi)|xSi∈X,ySi∈Y,i=1,2,…,nS}和訓練得到的1DCNN基模型fS(·)和模型參數θS,遷移學習通過利用源域的DS,fS(·)和θS,提高目標域DT的模型fT(·)性能。本文在源域訓練好的1DCNN基模型參數θS作為目標域1DCNN模型的初始化參數,用于目標域的測試數據的故障診斷,提高目標域1DCNN模型的泛化能力和通用性。

圖2 1DCNN參數遷移模型結構
模型采用AlexNet模型結構,由3個卷積模塊和3個全連接模塊堆疊而成,最后一個全連接層輸出數量為6,分別對應目標域故障類別數,采用Softmax計算損失,如表1所示。卷積模塊conv_1和conv_2均由卷積層、最大池化層、Dropout層組成,卷積模塊conv_3由卷積層和最大池化層組成。全連接模塊fc_1包含了Dropout層,在訓練時隨機丟棄一些參數,參照AlexNet,丟棄概率設為0.5。池化降采樣保持了一定的平移不變性,重疊池化、Dropout緩解了過擬合。神經元的激活函數選擇修正線性單元(ReLU),其單側抑制特性提高網絡的稀疏激活性,可以有效解決梯度彌散,加速網絡收斂。

表1 一維卷積神經網絡參數
采用交叉熵計算分類損失,衡量預測的Softmax輸出概率分布和目標類概率分布的相似性。附加L2正則化對權重參數進行懲罰,減輕過擬合現象。其數學描述如式(6)所示
(6)
式中:p(x)為目標類概率分布;q(x)為預測分布;θ為權重參數;λ為正則項系數;‖θ‖2為防過擬合添加的正則化項。
網絡模型的優化是通過迭代最小化損失函數實現的。本文采用Adam優化算法,通過訓練數據迭代更新網絡權重。Adam優化器同時獲得了 AdaGrad 和 RMSProp 算法的優點,即能夠自適應地保留學習率提高在稀疏梯度和抗噪的性能,適用于處理非平穩的振動信號;同時調參較少,非常高效。模型Adam優化算法步驟如下:
參數設定——α=0.001,β1=0.9,β2=0.999,ε=10-8。
要求——α為學習率;β1,β2為超參數,β1,β2∈[0,1)。
要求——f(θ)為含θ參數的隨機目標函數。
要求——θ0;m0←0;v0←0;t←0:初始化時間步。
Whileθt沒有收斂 do
t←t+1;gt←?θft(θt-1):更新目標函數的梯度。



end While
振動時域信號是一維非平穩、非線性信號,本文采用1DCNN的參數遷移模型對海水泵振動故障數據進行故障診斷。1DCNN參數遷移模型故障診斷流程,如圖3所示。

圖3 1DCNN參數遷移模型故障診斷流程圖
首先將海水泵故障數據劃分為源域和目標域數據集,之后對源域和目標域數據集分別進行讀取并劃分訓練、驗證和測試樣本比例,再對數據進行預處理(包括打亂、標準化Rreshape等)。將源域數據集作為1DCNN基模型的輸入,建立1DCNN基模型并利用Adam進行梯度下降迭代調優,使目標函數最小化,得到1DCNN基模型網絡參數θS。調用1DCNN基模型,并對基模型最后一層(輸出層)微調,得到1DCNN參數遷移模型。將MAFAULDA可變工況的目標域數據集作為1DCNN參數遷移模型輸入,同樣地,采用Adam作為優化器,使目標函數即交叉熵損失函數最小化,不斷迭代優化。最終,輸出振動故障診斷結果。
為驗證本文算法實用的可行性,將本文構建的算法模型應用于海水泵軸承和電動機的故障診斷中。試驗數據集來源于中華復興號客滾輪船的艙室輔機2號海水泵數據采集系統,該機最大功率達400 kW,最大流量1 800 m3/h,最大揚程600 m。本文利用三軸振動加速度傳感器采集到的海水泵軸承、電動機徑向加速度數據作為振動故障數據集,采樣頻率為2 000 Hz。
目標域數據集振動一維信號時域波形圖,如圖4所示。振動故障數據集,如表2所示。模型的訓練與測試均在TensorFlow深度學習框架下完成的。利用Google 云端硬盤提供的免費GPU運行Python代碼。模型參數中,批量大小batch_size設為512,step設置為50。為試驗方便,將采集的數據以1 024個點為一個樣本,將每類信號劃分400個樣本,并按照7∶1∶2的比例劃分訓練集、驗證集和測試集。

表2 振動故障數據集

圖4 故障振動信號時域波形圖
對比兩種模型學習方式(全新學習、參數遷移+微調),3組初始學習率(0.001,0.050,0.100),海水泵工況在負載為75 kW、3種轉速條件下采集到的振動故障試驗數據,共進行18組試驗。全新學習時,1DCNN網絡模型的所有層的權重參數需要隨機初始化,再利用目標域數據集對其從頭開始訓練。參數遷移訓練時,源域數據集是在負載75 kW,轉速1 792 r/min下獲取的振動數據。最后一層的權值參數與偏置參數隨機初始化,其他各層的W和b則從在源域訓練得到的1DCNN基模型中加載。1DCNN參數遷移模型經5次的50輪訓練后,各組試驗的診斷結果如表3所示。

表3 1DCNN參數遷移模型診斷結果
如表3所示,在全新學習方式下,所有層的參數都是隨機初始化,適合的學習率可以使訓練快速接近最優解,使其在相同的訓練輪數下獲得更高的準確率。當學習率設置分別為0.050和0.100時,全新學習模型的訓練精度在72%左右,測試精度只有17%左右,存在嚴重過擬合現象。而學習率為0.001時的訓練和測試準確率是最高的,全新學習模型平均準確率達到了93%以上。
如表3所示,在參數遷移模型中,由于網絡前端各層參數都獲得優質訓練,訓練初始時刻已接近最優解,故模型的精度得到一定的保障。學習率為0.001時的訓練和測試準確率是最高的,比其他同條件的不同學習率分別提高了12%和38%左右,模型平均精度更是達到了97%左右,平均識別準確率為96.13%。將學習率為0.001的全新學習和參數遷移學習方式下的各組試驗對應比較,容易發現參數遷移學習的各組試驗的模型測試準確率高出全新學習的各組試驗約10~50個百分點。如圖5(a)和圖5(b)所示,設置學習率為0.001,將A、B、C三種不同工況數據集輸入到1DCNN遷移模型,經過5個epoch后,模型完全達到穩定,訓練精度逼近98%,損失函數趨于0.03且平穩。因此,1DCNN參數遷移模型對不同工況下的海水泵的故障都有較高的診斷識別率,同時高診斷精度不存在過擬合問題。

圖5 學習率為0.001,1DCNN參數遷移模型結果
4.3.1 學習率對模型性能影響
圖6(a)和圖6(b)是不同學習率對1DCNN(全新學習)模型的性能影響曲線圖。從圖中可以看出,當初始學習率為0.001 0和0.010 0時,模型的準確率和損失率經過20個epoch后達到穩定,損失率趨近于0,訓練精度趨近于95%,比相同條件下其他學習率試驗高出20%。但是,學習率為0.010 0時會出現訓練周期性小幅度上下振蕩的現象,沒有學習為0.001 0時結果穩定,學習率為0.000 1時模型訓練精度最高達到90%,損失率也沒有達到最優,在經過50個epoch后仍然沒有趨于平穩,在圖中準確率和損失率曲線中都有體現。而學習率為0.050 0時,訓練精度大概只有70%,損失率曲線可以看出訓練已經嚴重過擬合。因此,適當的學習率可以使模型訓練快速接近最優解且模型性能更好。

圖6 不同學習率對模型的性能比較圖
圖6(c)和圖6(d)是不同學習率對1DCNN參數遷移模型性能影響曲線圖。從圖中可以看出,初始學習率為0.001 0和0.010 0時,模型的精度趨近98%,比相同條件下其他學習率試驗高出10%~20%。但是,學習率為0.010 0時會出現訓練周期性小范圍波動的現象;學習率為0.000 1時模型訓練在經過20個epoch后精度達到92%。而學習率為0.050 0和0.100 0時,出現了過擬合現象。綜上,無論是全新學習還是參數遷移模型,學習率可在[0.001 0,0.010 0]內選擇最佳,訓練的準確率最高。
4.3.2 優化器的選擇
在優化器選擇試驗中繼續采用表1中的基準模型參數設置,本試驗對目前最常用的SGD, AdaGrad, RMSProp和Adam共4種優化器進行測試,試驗結果如圖7和表4所示。
圖7可明顯看出:Adam自適應優化器的性能優于其他3種優化器。圖7(a)中,當批大小batch_size=8時,經過50 輪epoch 后只有SGD對應的準確率曲線還未收斂,大概在經過100輪epoch后才會趨于平穩,其準確率達到96.3%。而在圖7(b)中,當批大小batch_size=512時,SGD和Adagrad優化器的準確率還不足30%,陷入局部最優,效果都很差。Adagrad處理稀疏梯度的優勢在本文中也沒有體現。RMSprop的效果也不錯,略低于Adam,其發揮了自身處理非線性非平穩信號的優勢。表4主要比較了batch_size大小對SGD和Adam精度和時間的影響。SGD適合小批次的模型,但需要經過很長時間的訓練,由圖7(a)也反映出僅50輪訓練后未收斂,大概在經過100輪訓練后SGD精度逼近96%。而Adam優化器對batch_size大小不敏感。之所以選擇batch_size=512主要考慮實時性因素。大批次的模型訓練時,Adam在保證高精度的同時能夠更快收斂穩定。

圖7 優化器性能曲線對比圖
綜合來看,在算法時間和準確率方面,由于結合RMSprop處理非平穩目標特點和自適應調節學習率特點,Adam優化器性能最好,尤其在前期準確率上升很快,在15個epoch左右趨于穩定。綜上,本文采用Adam優化算法最佳。
4.3.3 參數遷移和微調對模型性能的影響
在參數遷移和微調對模型性能影響試驗中,采用表1中的1DCNN基模型參數,其中epoch設置為100。試驗對無參數遷移、無微調和本文提出的算法模型進行測試,試驗結果如圖8所示。

圖8 參數遷移和微調對模型性能的影響
如圖8所示,全新學習模型中,訓練準確率經過100個epoch后達到90%左右,模型基本收斂,測試準確率只有80%,泛化能力不夠好。無微調的模型中,約經過40個epoch后訓練準確率增加了6.3%,損失率也降低了15%,說明參數遷移發揮了作用,不僅提高了準確率,并且節省了近60個epoch網絡收斂時間。本文提出的加入參數遷移和微調的算法模型的訓練精度逼近98%,測試精度在95%左右,經過5個epoch模型就收斂,相比于無精調模型,明顯加快收斂速度。說明參數遷移和微調對于加速網絡收斂和提高精度有明顯促進的作用。
結合表3可以看出,在適當的學習率設定前提下,在全新學習模式下,訓練初始階段的測試準確率只有80%,經過50個epoch后,模型的測試準確率才逐漸趨于穩定。在參數遷移和微調學習模式下,訓練初始階段的測試準確率達到90%以上,之后網絡迅速收斂,經過約5個epoch準確率急速爬升,經過約10個epoch便達到準確率峰值,并趨于穩定。節省了約4/5的訓練時間,平均準確率提高了10%~20%左右。這歸功于1DCNN模型的參數遷移學習和微調,加速了模型的快速收斂并提高了模型訓練的精度。
對故障診斷性能較優的第18個試驗(1DCNN參數遷移,初始學習率為0.001,數據集C)中經過50個epoch訓練獲得的模型進行預測,精準率P、召回率R、F1的計算公式如式(7),計算得到的混淆矩陣、P、R、F1得分如表5所示。

表5 1DCNN參數遷移模型的混淆矩陣
P=TP/TP+FP,
R=TP/TP+FN,

(7)
由表5的混淆矩陣可知,模型的平均分類準確率為95.59%,F1得分平均分類率為95.87%,分類性能(F1得分)由高到低排名依次是無故障、不對中故障、外圈磨損、滾動體磨損、不平衡故障和內圈磨損。由混淆矩陣可以看出,分類錯誤主要為軸承內圈磨損和轉子不平衡故障,其中不平衡故障識別率為92.6%,有7.4%誤認為是軸承內圈故障,軸承內圈故障中有17.3%被誤認為是不平衡故障。主要是因為兩類故障的一維振動信號波形類似,可能是在海水泵機組在75 kW時由于功率太大,需要的能量越多,振動的越劇烈,長此以往使軸在運轉和高溫下變形,產生動不平衡力和離心力,離心慣性力通過軸承作用到海水泵機組機械器件上,引起振動產生噪聲,加速軸承磨損,長此以往可能已產生復合故障,故而在分類識別中會降低診斷精度,較難區分歸屬故障類別。
圖9是不同負載下的試驗測試結果。圖9(a)是在海水泵機組在30 kW負載時的故障預測結果。圖9(b)是海水泵機組在75 kW時的故障預測結果。從表5和圖9(b)中看到,除復合故障之外,其余故障位置均能100%識別出來,且綜合精度達到95%以上,說明產生的復合故障屬于輕微故障,器件磨損還不太嚴重。因此,需要采取預防保護措施,延長海水泵機械器件的壽命和使用。與75 kW負載情況不同,負載在30 kW下的故障位置幾乎都能判別出來,經式(7)計算,得到precision值為99.38%,F1得分整體分類性能為99.37%。故障分類精度很高,說明本文算法1DCNN參數遷移模型的確學習到了表征故障的非線性顯著特征,即使是在復雜多變工況條件下,故障識別精度仍然很高,在實際工程應用中實現快速定位具有重大的工程意義。

圖9 不同負載下的試驗測試結果
為驗證本文算法與目前主流故障診斷算法的識別性能,將SVM、多層感知器(multi-layer perceptron, MLP)、Zheng等研究中的遷移局部保持投影(transfer locality preserving projections, TLPP)和1DCNN作為對比算法進行試驗。在傳統故障診斷方法中通常先對原始數據集進行手工體征提取,再將提取的特征輸入到算法完成分類預測。選取5種方法進行特征值選取,如表6所示。按照表6的特征提取算子對故障數據進行提取,再分別用于SVM,MLP,TLPP算法進行故障診斷。

表6 特征提取方法
每種算法反復進行試驗10次,試驗結果如表7所示。從表7可以看出,由于SVM和MLP較淺層結構,無法學習到深層特征,限制了識別率的提升。Zheng等研究中的核局部保持投影強大的非線性提取能力和遷移學習強大的跨任務、跨領域學習能力使TLPP的故障識別率打破傳統機器學習算法的壁壘。但是其數據特征值的選取和預處理需要耗費大量的計算和時間,在實際工程領域難以應用。1DCNN模型參數隨機初始化和從頭開始訓練新任務的特點影響了故障診斷的精度,因此其識別率較本文算法仍有一定差距。同時,本文算法的識別率結果高和實時性高,進一步驗證了本文算法良好的的魯棒性和泛化能力。

表7 不同算法試驗結果
針對傳統識別方法存在特征提取耗時費力的問題,本文利用參數遷移和1DCNN對海水泵故障一維振動信號進行診斷分類,并就模型性能的影響因素進行分析,得到以下結論:
(1)卷積神經網絡能夠完全擺脫人工提取特征和專家經驗的主觀性,直接將原始故障數據作為模型輸入,自動逐層非線性提取故障特征,自動輸出故障分類結果,這種“端到端”的模型結構具有更好的通用性和應用性。并且算法具有較高的故障識別率和故障定位能力,平均識別準確率達到95.93% 以上。
(2)適合的學習率可以使訓練快速接近最優解,使其在相同的訓練輪數下獲得更高的準確率。若初始學習率設置不當,會造成模型訓練振蕩甚至發散。
(3)相對于全新學習,參數遷移+微調模型充分利用在源域上學到的知識,顯著加速網絡的收斂和提高分類性能。本文算法節省1/2~4/5的訓練和測試時間,有利于實現在線實時監測和快速智能診斷應用。通過混淆矩陣可直接量化故障誤判的位置和數量。
(4)該算法具有良好的魯棒性和泛化性能,即使轉速和負載發生變化,仍然保持較高的故障識別率。
目前的1DCNN遷移模型局限于故障單一的海水泵故障一維信號。實際應用中海水泵收集的同一振動信號可能會出現多種故障復合的故障特征。今后,將進一步地豐富海水泵故障信號數據集,采用多源信號共同參與海水泵的故障診斷,以進一步地提高模型的準確率與實用性。