高浩寒,潮群,徐孜,陶建峰,劉明陽,劉成良
(上海交通大學 機械系統與振動國家重點實驗室,上海 200240)
液壓傳動具有能量密度高、響應速度快、抗負載剛度大等優點,廣泛應用于各種機械設備中[1]。柱塞泵作為液壓系統的關鍵能量轉換元件,對保證液壓系統的穩定性有著至關重要的作用[2]。由于長期在高溫、高壓、大負載等惡劣工況下服役,柱塞泵易出現各種故障,導致液壓系統運行不穩定,給設備的正常運轉造成嚴重不良影響[3]。因此,開發快速準確的柱塞泵故障診斷方法對提高液壓系統的穩定性和可靠性具有重要意義。
故障診斷是根據信號在不同狀態下的特征變化來判定設備的健康狀態[4]。柱塞泵的故障會造成泵的振動信號和出口壓力信號異常,可以反映故障位置及故障程度,因此,可以通過分析柱塞泵的振動信號和出口壓力信號對柱塞泵進行故障診斷[5]。在柱塞泵故障診斷方面,許多研究者通過從原始信號中選擇和提取特征,結合機器學習的方法對故障模式進行識別,取得了良好的診斷效果[6]。Lan 等[7]使用局部切空間排列算法、小波包變換等方法,從原始振動信號中提取故障特征,利用極限學習機作為故障分類器,實現了柱塞泵滑靴磨損的故障診斷。Lu 等[8]對泵出口壓力信號進行集合經驗模態分解(ensemble empirical mode decomposition, EEMD)得到本征模函數(intrinsic mode function, IMF),并從敏感IMF 中提取出時域、頻域和時頻域特征作為故障特征向量,最后構建支持向量回歸模型實現對航空泵不同故障程度的識別。杜振東等[9]對提取的振動信號特征進行敏感度分析,找出敏感度較高的特征參數,然后將所提取特征以向量的形式輸入概率神經網絡進行訓練和測試。王鵬飛等[10]通過希爾伯特變換(Hilbert transform, HT)對原始振動信號進行解調,根據包絡譜上供油頻率及其倍頻處的峰值構造特征向量,最后采用支持向量機(support vector machine, SVM)對柱塞泵負荷狀態進行識別。可見,這些方法主要集中在特征提取與故障分類器的構建2 個方面,雖然取得了較好的效果,但同時存在明顯的不足:需對原始信號手動提取特征,特征的選擇依賴豐富的經驗知識;不同的特征提取方法在適用性上存在局限性,方法泛化能力較差;割裂了特征提取過程和故障診斷過程,難以得到最優解[11]。
自2006 年Hinton 等[12]提出深度學習理論框架以來,深度神經網絡受到學者們越來越多的重視,并在計算機視覺[13]、自然語言處理[14]、圖像處理[15]等領域取得了巨大的成功。深度神經網絡可以利用層數優勢,從原始輸入信號中逐層進行非線性轉化,自動進行特征提取[16]。卷積神經網絡(convolutional neural networks, CNN)是深度神經網絡的典型代表,其利用卷積核從數據中提取從淺層到抽象的特征。同時,卷積神經網絡采用權值共享與局部連接的網絡結構,有效地減少了模型復雜度與訓練參數量。近年來,卷積神經網絡在故障診斷中的應用越來越廣泛[17]。魏曉良等[18]利用長短時記憶網絡(long short-term memory, LSTM)和一維卷積神經網絡(1D-CNN)搭建分類模型,將不同進口壓力情況下的振動信號作為輸入,進行柱塞泵空化等級識別。Sun 等[19]使用短時傅里葉變換和小波變換得到液壓泵振動信號的時頻圖,構建二維卷積神經網絡進行特征提取與故障分類。Xu 等[20]通過改變離心泵振動信號的排列方式,將一維振動信號轉變為二維灰度圖像,利用二維卷積神經網絡提取灰度圖中的特征,實現了離心泵故障部位的診斷。Wang 和Xiang[21]使用最小熵反褶積(minimum entropy deconvolution, MED)對原始信號進行預處理,基于卷積神經網絡構建故障診斷模型,實現了對軸向柱塞泵的多故障分類。相對于傳統機器學習算法,這些方法能夠自動提取特征,具有更高的準確率,但是他們都要求足夠多的樣本來訓練模型。而在實際工程中,復雜的環境往往導致無法獲得各種故障狀態的足夠樣本,在小樣本條件下,這些模型難以奏效。
孿生神經網絡(Siamese network, SN)是一種基于樣本相似度的模式識別方法,該方法使用2 個權值共享的子網絡同時接收2 個輸入樣本,輸出結果為2 個樣本的相似度[22]。當訓練樣本的數量為m時,每次訓練向孿生神經網絡輸入2 個樣本,可以對模型進行 C2m次有效訓練。因此,在小樣本的情況下,孿生神經網絡可以擴大模型的訓練次數,深度挖掘不同樣本之間的關系,避免因樣本數量不足導致的網絡欠擬合等問題[23]。現階段,孿生神經網絡主要應用于人臉識別[24]、語音處理[25]、簽名驗證[26]等領域,但在機械設備故障診斷領域的研究應用較少。
針對當前基于深度神經網絡的柱塞泵故障診斷方法在小樣本條件下表現欠佳、準確率低的問題,利用孿生神經網絡小樣本分類的優勢,提出了基于孿生神經網絡的小樣本柱塞泵故障診斷方法。建立孿生子網絡從柱塞泵振動信號中提取低維特征,利用距離度量得到特征的相似度作為分類依據。結果表明,在小樣本條件下,所提方法相較現有方法擁有更高的準確率。
為了獲取柱塞泵不同健康狀態的數據,驗證孿生神經網絡故障診斷方法的優越性,搭建了柱塞泵故障模擬實驗臺,如圖1 所示。

圖1 柱塞泵實驗臺原理Fig. 1 Schematic diagram of axial piston pump test bench
電機通過聯軸器帶動被測高速柱塞泵轉動,轉速扭矩儀用來測量柱塞泵的轉速v與輸入扭矩T。進口調壓閥組和溢流閥可以調節被測柱塞泵的進口壓力和出口壓力,從而使被測泵能夠在額定工況下運行。溫度傳感器用來監測油液溫度,使油液溫度 θ保持在90 ℃左右,避免溫度波動對泵性能的影響。在出油管路安裝有壓力傳感器和流量計,用于采集被測泵的出口壓力P和流量Q。安裝在回油管路的流量計用于采集泵的回油流量。被測泵的額定參數如表1 所示。

表1 被測泵的額定參數Table 1 Rated parameters of tested pump
為獲得殼體振動信號作為故障診斷模型的輸入,在泵殼體上安裝有三通道振動加速度傳感器,采集泵不同健康狀態下3 個方向的振動信號。振動加速度傳感器的安裝方式和位置如圖2 所示,其中,x方向與y方向如圖2 所示,z方向為垂直紙面向外。

圖2 振動傳感器的安裝Fig. 2 Installation of acceleration sensor
磨損故障是柱塞泵最常見的失效形式,因此,對柱塞泵進行磨損故障診斷有著重要的意義。柱塞泵的磨損主要發生在滑靴副與配流副[27],為了采集柱塞泵在磨損故障時的數據,需要對被測泵進行故障注入。測試泵裝配時,分別將滑靴副間隙按0.05 mm,0.15 mm,0.2 mm 增大調整,模擬滑靴的輕度磨損、中度磨損和嚴重磨損;采用剪短1.0 mm,3.6 mm,5.6 mm的缸體轉子彈簧進行裝配,模擬配流副的輕度磨損、中度磨損和嚴重磨損。在柱塞泵故障實驗過程中,控制被測泵在表1 所示的額定工況下運行,通過調整滑靴副裝配間隙和轉子彈簧長度,使被測泵出現不同的故障,共得到1 個正常狀態與6 種故障狀態。被測柱塞泵健康狀態、故障注入方式與狀態標簽如表2 所示。

表2 被測泵的健康狀態、故障注入方式與狀態標簽Table 2 Health states, fault injection modes and labels of tested pump
根據本節討論,通過柱塞泵故障實驗臺采集7 種健康狀態下的泵殼體振動信號,采樣頻率為10 240 Hz,每種健康狀態分別采集X通道、Y通道與Z通道的61 440 個點。圖3 為5 種代表健康狀態下的x軸振動信號。可以看出,不同健康狀態的振動信號有所差異,但是難以直接根據原始信號確定柱塞泵的故障種類與故障程度。實際工程應用中要求在小樣本條件下,能夠快速準確地識別出故障,因此,本文提出了基于孿生神經網絡的小樣本柱塞泵故障診斷方法。

圖3 不同健康狀態的振動信號Fig. 3 Vibration signals for different health states
卷積神經網絡是深度神經網絡的代表,典型的卷積神經網絡由卷積層、池化層和全連接層等部分組成,其結構如圖4 所示。通過堆疊多個卷積層和池化層,網絡可以從原始輸入信號中自動逐層提取特征,并且可以通過增加網絡的層數提高特征的抽象性[28];最后將提取的特征送入全連接層進行分類輸出結果。

圖4 典型卷積神經網絡結構Fig. 4 Typical structure of a convolutional neural network
2.1.1 卷 積 層
卷積層也被稱為特征提取層,是卷積神經網絡的核心。一個卷積層包含許多卷積核,卷積核的參數可以通過梯度下降法迭代更新。每個卷積核具有較小的感知區域,但可以通過遍歷掃描的方式延伸到輸入卷積層的所有數據。多個卷積核與輸入數據進行卷積運算,就可以從輸入數據中提取到一系列的特征。卷積層運算的數學表達式為

2.1.2 池 化 層
通過卷積層獲得了輸入的特征,但這個特征往往維度較大,訓練時計算困難。為了減少網絡的訓練參數,防止網絡出現過擬合,同時突出重要的特征,通常在2 個卷積層之間加入池化層,對特征矩陣進行降采樣。通常卷積神經網絡采用最大池化的方法,即取池化核范圍內的最大值,其表達式為

2.1.3 全連接層
經過多個卷積層與池化層的交替處理,可以從輸入數據中得到維度較低的特征矩陣。將提取的二維特征矩陣展成一維特征向量,作為全連接層的輸入。
2.1.4 激活函數
激活函數的作用是對輸出結果進行非線性變換,提高模型的表達能力。常用的激活函數有ReLU、sigmoid、tanh,表達式為

當樣本類型較多,每類樣本數量又較少時,傳統神經網絡沒有充足的樣本訓練,容易造成網絡的欠擬合,難以訓練出好的分類器。這種情況下,可以通過對比樣本間相似度的方法擴大訓練次數。孿生神經網絡就是基于樣本相似度的方法,可以從輸入樣本中學習不同樣本的相似性度量,在測試時,根據相似性程度判定未知分類的樣本屬于哪一類別。孿生網絡的結構如圖5 所示。
由圖5 可知,孿生神經網絡需要成對的樣本(x1,x2,y)作 為 輸 入,其 中y= 1 表 示 輸 入 樣 本x1和x2屬 于同一種健康狀態,y= 0 表示輸入樣本x1和x2不屬于同一種健康狀態。本文所提方法使用原始振動信號作為孿生神經網絡的輸入,從而實現端到端的故障診斷。通過權值共享的子網絡從原始數據中提取低維特征,在低維空間使用距離進行相似度的對比。常用歐氏距離作為度量式:

圖5 孿生神經網絡結構Fig. 5 Structure of Siamese neural network

式中:sigm 為sigmoid 函數;P(x1,x2)為樣本對的差異度。
使用交叉熵作為孿生神經網絡的損失函數,單次訓練的損失函數為

通過式(8)確定了損失函數之后,就可以使用梯度下降算法對孿生神經網絡的子模型進行訓練。孿生網絡的訓練目標是,當輸入樣本x1和x2屬于同一種健康狀態,輸出差異度盡可能接近于0;當輸入樣本x1和x2不屬于同一種健康狀態,輸出差異度盡可能接近于1。
在分析卷積神經網絡和孿生神經網絡的原理之后,提出基于孿生神經網絡的小樣本柱塞泵故障診斷模型。模型的輸入信號是柱塞泵殼體的振動信號樣本對,輸出是樣本對是否來自同一種健康狀態。網絡的結構如圖6 所示,孿生神經網絡的子網絡采用2 個卷積神經網絡,他們權值共享,同步更新。子網絡堆疊了5 層卷積池化層,用來從原始振動信號中提取低維特征,隨后求出2 個低維特征的歐氏距離,并計算2 個輸入樣本是否來自同一健康狀態。網絡各層的具體參數如表3 所示。

表3 孿生神經網絡主要結構參數Table 3 Main structural parameters of Siamese neural network

圖6 孿生神經網絡故障診斷模型結構Fig. 6 Structure of fault diagnosis model based on Siamese neural network
如圖7 所示為基于孿生神經網絡的故障診斷模型的訓練與測試步驟,具體如下:

圖7 孿生神經網絡故障診斷流程Fig. 7 Process of fault diagnosis based on Siamese neural network
步驟 1 數據集劃分。對采集到的原始振動信號進行切片,劃分出訓練集與測試集。
步驟 2 訓練模型。從訓練集中隨機抽取2 個訓練樣本組合成樣本對作為孿生神經網絡的輸入,按照式(8)計算損失函數,利用梯度下降算法更新模型參數。當模型收斂或達到設定訓練次數時,停止訓練并保存模型。
步驟 3 未知樣本故障診斷。對于一個健康狀態未知的測試樣本,從7 類健康狀態的訓練樣本中分別隨機選1 個樣本,構成7 個樣本對。將7 個樣本對依此輸入孿生神經網絡,得到測試樣本與7 個訓練樣本屬于同一類的概率,選擇概率最大值的健康狀態作為測試樣本的健康狀態,這種測試方式被稱為“one-shot”測試。
根據第1 節的描述,采集7 種不同健康狀態下的柱塞泵殼體3 個通道的振動信號,每個通道振動信號的長度為61 440 個點。使用一半的采樣點生成訓練集,另一半生成測試集。訓練樣本由1 024 個采樣點組成,每2 個訓練樣本之間滑動50 個采樣點;測試樣本的長度與訓練樣本相同,但測試樣本取樣時沒有重疊部分。測試集與訓練集劃分過程如圖8 所示。

圖8 訓練集與測試集劃分Fig. 8 Division of training set and testing set
根據本節上述討論,每種健康狀態得到600 個訓練樣本與30 個測試樣本,7 種健康狀態共得到4 200 個訓練樣本與210 個測試樣本,如表4 所示。

表4 數據集劃分Table 4 Data set division
為了驗證所提方法在小樣本條件下的性能,利用X通道采集到的振動信號,依照3.1 節劃分數據集,從訓練集中依次隨機選擇35,70,140,210,280,350,490,700,1 400,2 100,2 800,3 500,4 200 個訓練樣本作為孿生神經網絡的輸入,依照第2 節的描述建立故障診斷模型并對模型進行訓練。與此同時,建立一維卷積神經網絡模型和支持向量機模型作為對比,使用同樣數量的訓練樣本進行訓練。其中1D-CNN 的參數與孿生神經網絡子網絡一致;SVM 選用徑向基(radial basis function, RBF)核函數,懲罰系數C設為10。訓練完成后,將全部210 個測試樣本輸入到3 個模型進行測試。每組實驗均重復5 次取平均,最后診斷結果如圖9 與表5 所示。可以看出,SVM、1D-CNN 和本文所提方法的識別準確率都隨著訓練樣本數量的增加而提高,當訓練樣本的數量達到1 400 時,3 種方法的準確率都能達到95%以上,均能達到較高的分類精度。然而在訓練樣本數量為35 到350 的小樣本條件下,本文所提方法的識別準確率明顯優于1D-CNN 和SVM。特別是當訓練樣本數量為140 時,本文所提方法的識別準確率達到90%以上,識別準確率比1D-CNN高27.24%,比SVM 高39.72%。在訓練樣本數量僅有35 的極端小樣本條件下,本文所提方法仍能有70.86%的準確率,遠遠高于同條件下的1D-CNN 模型和SVM。說明了所提方法在小樣本條件下故障診斷的優越性。

表5 不同訓練樣本數量下對各模型的診斷結果Table 5 Diagnosis results of models under different number of training samples

圖9 訓練樣本數量對診斷結果的影響Fig. 9 Influence of number of training samples on diagnosis results
柱塞泵發生故障時,對殼體產生的振動沖擊在不同方向上是不一致的,不同方向的振動信號都能在一定程度上反映柱塞泵的故障信息,因此只使用X單通道的振動信號,不能充分利用采集的數據。為了驗證通道數量對診斷結果的影響,基于多通道數據融合的思想,在3.2 節的基礎上,分別使用單通道(X通道)、雙通道(X與Y通道)和三通道(X、Y和Z通道)的振動數據,按照同樣的方式劃分數據與訓練模型,得到了通道數量對診斷結果的影響,如圖10 與表6 所示。可以看出,通道數量對識別準確率有明顯的影響。總體而言,隨著通道數量的增加,識別準確率也越高,尤其是當訓練樣本數量為70 到490 的小樣本情況下,三通道的識別準確率明顯高于雙通道與單通道。例如,當訓練樣本數量設置為70 時,僅使用X通道的信號,故障識別準確率為78.38%;使用X通道與Y通道的信號,故障識別準確率提升為91.24%;同時使用X、Y和Z這3 個通道的信號,故障識別準確率達到了95%以上,能夠滿足極少樣本下故障診斷的要求。這說明模型能夠從不同通道的信號中學習到有關的故障信息,有助于提高模型的診斷精度,驗證了多通道數據融合的優勢。

圖10 通道數量對診斷結果的影響Fig. 10 Influence of channel number on diagnosis results

表6 不同通道數量下的診斷結果Table 6 Diagnosis results under different number of channels
孿生神經網絡在小樣本故障診斷中的效果得到了初步驗證,但學習過程難以表達。為了直觀理解本文所提方法對原始信號的特征提取過程,在訓練樣本數量為140 的小樣本情況下,使用T 分布隨機近鄰嵌入(T-stochastic neighbor embedding, T-SNE)降維的方法對本文模型提取的特征進行降維與可視化,如圖11 所示,其中圖11(a)為孿生神經網絡的全連接層輸出的降維可視化情況,圖11(b)為1D-CNN 的全連接層輸出的降維可視化情況。同時給出此時2 種方法在測試集上的故障診斷混淆矩陣,如圖12 所示。可以看出,相較1D-CNN,本文所提方法能將同一健康狀態的數據更好地聚集在一起,不同健康狀態的數據具有較好的可分性,在測試集上的識別精度也更高,驗證了孿生神經網絡能從原始時域振動信號中自適應提取有效的特征,從而實現小樣本情況下的故障診斷。

圖11 提取特征的T-SNE 可視化Fig. 11 T-SNE visualization of extracted features

圖12 模型診斷結果混淆矩陣Fig. 12 Confusion matrix of model diagnosis results
針對小樣本條件下已有的基于深度神經網絡的柱塞泵故障診斷方法準確率低、模型欠擬合問題,提出基于孿生神經網絡的柱塞泵小樣本故障診斷方法。
1) 過卷積層和池化層直接從原始振動信號中提取特征,從而避免了人工選取特征的局限性,提高了模型的泛化性能。
2) 出基于孿生神經網絡的柱塞泵故障診斷方法。使用歐式距離判定樣本對特征的相似度,使用相似度對比的方法擴大訓練樣本數量。相比于SVM、1D-CNN,本文所提方法在小樣本情況下具有更高的準確率。在訓練樣本數量為140 的小樣本條件下,所提方法的識別準確率達到90%以上,比1D-CNN 高27.24%,比SVM 高39.72%。
3) 用多通道數據融合的方法可以有效提高識別準確率。實驗驗證,隨著輸入信號通道數量的增加,識別準確率隨之增加。當訓練樣本數量為70 時,使用三通道的振動數據,識別準確率達到95%以上,表明本文所提方法能從不同通道的信號中學習到有關的故障信息,驗證了多通道數據融合的優勢。