黃 勇,張征凱,曾憲淑,齊 浪
(西安建筑科技大學(xué) 機(jī)電工程學(xué)院,西安 710703)
齒輪泵是一種常見的液壓泵,和其他類型的泵相比,齒輪泵具有結(jié)構(gòu)簡單、體積小、重量輕、工作可靠、便于維修、對油液污染不敏感等優(yōu)點(diǎn),大多數(shù)的液壓設(shè)備都采用齒輪泵作為液壓系統(tǒng)的動(dòng)力元件。另外,齒輪泵作為液壓系統(tǒng)的心臟,它的狀態(tài)性能直接關(guān)系著液壓系統(tǒng)乃至整臺(tái)液壓機(jī)械設(shè)備的正常運(yùn)轉(zhuǎn)[1-2]。如果設(shè)備正在工作的情況下動(dòng)力系統(tǒng)發(fā)生故障,將會(huì)給企業(yè)的生產(chǎn)效率造成極大的影響。因此對齒輪泵進(jìn)行實(shí)時(shí)監(jiān)測,及時(shí)對它的工作狀態(tài)進(jìn)行診斷,利用現(xiàn)代化技術(shù)對齒輪泵的運(yùn)轉(zhuǎn)工況進(jìn)行有效的診斷分析,將會(huì)避免不必要的損失。
隨著人工智能時(shí)代的到來,越來越多的科學(xué)領(lǐng)域都在研究人工智能對自己行業(yè)發(fā)展會(huì)帶來怎樣的影響,國內(nèi)外許多專家學(xué)者都在研究人工智能的核心技術(shù)機(jī)器學(xué)習(xí)和深度學(xué)習(xí)。其中深度學(xué)習(xí)作為人工智能領(lǐng)域中的一個(gè)重要分支,它的模型是搭建各種深度神經(jīng)網(wǎng)絡(luò),通過構(gòu)建一個(gè)多層的表示學(xué)習(xí)結(jié)構(gòu),使用一系列非線性變化從原始數(shù)據(jù)中提取出簡單的特征進(jìn)行組合,從而得到神經(jīng)網(wǎng)絡(luò)模型[3]。神經(jīng)網(wǎng)絡(luò)的訓(xùn)練過程主要是將采集到的數(shù)據(jù)進(jìn)行特征量的提取和歸一化的處理,并將部分?jǐn)?shù)據(jù)作為訓(xùn)練數(shù)據(jù)輸入到建立好的神經(jīng)網(wǎng)絡(luò)模型中,然后將另一部分?jǐn)?shù)據(jù)輸入到該模型中進(jìn)行訓(xùn)練和預(yù)測。本文是在BP神經(jīng)網(wǎng)絡(luò)模型的基礎(chǔ)上,利用python語言編寫Keras深度學(xué)習(xí)框架來搭建一個(gè)多層感知器模型用于齒輪泵的故障診斷。
BP神經(jīng)網(wǎng)絡(luò)由Mcclelland和Rumelhart等科學(xué)家提出的基于多層前饋網(wǎng)絡(luò)的反向傳播學(xué)習(xí)算法,稱之為BP神經(jīng)網(wǎng)絡(luò)算法。BP神經(jīng)網(wǎng)絡(luò)算法的思想是將模型的學(xué)習(xí)分為信息正向傳播和誤差反向傳播階段[4]。其中,正向傳播階段是計(jì)算模型的輸出,反向階段是根據(jù)誤差減小最快的方向修改模型的參數(shù),訓(xùn)練的過程中若模型的輸出與期望輸出之間的誤差不滿足要求的計(jì)算精度,模型就會(huì)進(jìn)入反向傳播階段的計(jì)算,然后重新計(jì)算參數(shù)調(diào)整后的模型輸出值,再驗(yàn)證模型輸出與期望輸出之間的誤差,判斷輸出是否滿足要求,該算法在數(shù)據(jù)預(yù)測和分類方面有廣泛的應(yīng)用。
實(shí)驗(yàn)平臺(tái)涉及到的硬件主要有USB4716數(shù)據(jù)采集卡,加速度傳感器,流量傳感器,壓力傳感器,正常工作的新泵,齒輪泵齒輪磨損的舊泵,磁粉制動(dòng)器,放大器,電磁比例換向閥,電磁比例溢流閥。該實(shí)驗(yàn)平臺(tái)用磁粉制動(dòng)器模擬阻力和溢流閥作為背壓給整個(gè)液壓系統(tǒng)加載,通過放大器控制電磁比例換向閥和溢流閥來控制液壓油的流向和流速,通過Labview軟件給數(shù)據(jù)采集卡發(fā)送信號來間接地控制放大器和張力控制器,從而給液壓系統(tǒng)發(fā)送模擬信號。實(shí)驗(yàn)的過程將系統(tǒng)的最大壓力調(diào)定到5MPa,分別采集正常信號和齒輪泵齒輪磨損故障信號,采用雙通道數(shù)據(jù)采集。
本文采用時(shí)域信號特征提取法,利用信號的數(shù)字特征作為時(shí)域特征量來反應(yīng)齒輪泵的工作狀態(tài),實(shí)驗(yàn)數(shù)據(jù)的采集過程利用Labview軟件和USB4716數(shù)據(jù)采集卡進(jìn)行采集,實(shí)驗(yàn)數(shù)據(jù)的處理過程是將采集到的電壓信號通過線性關(guān)系轉(zhuǎn)換成壓力值,并將這些參數(shù)經(jīng)過一系列的特征提取和歸一化處理得到特征值,并建立樣本庫。分別選用均值、均方根、偏度、峭度、波形因子、峰值因子、裕度因子作為特征量對數(shù)據(jù)進(jìn)行分析處理。實(shí)驗(yàn)室所采集到的信號x(t)是一組離散的時(shí)間序列X={xi},每一個(gè)特征量參數(shù)指標(biāo)為:
均值:
(1)
均方根:
(2)
偏度:
(3)
式中,μ是均值,δ為標(biāo)準(zhǔn)差,E是均值操作。
峭度:
(4)
波形因子:
(5)
峰值因子:
(6)
裕度因子:
(7)
將實(shí)驗(yàn)數(shù)據(jù)代入到上述公式(1)~式(7)進(jìn)行計(jì)算。表1是齒輪泵在正常工作情況下和齒輪泵齒輪磨損情況下歸一化處理后的部分?jǐn)?shù)字信號量。
表1 信號特征值
從表1的部分?jǐn)?shù)據(jù)可以觀察到齒輪泵在正常和故障狀態(tài)下信號的峭度和脈沖因子的數(shù)據(jù)相差較大,因此選擇齒輪泵的峭度和脈沖因子作為特征因子進(jìn)行訓(xùn)練、驗(yàn)證和診斷。
傳統(tǒng)的神經(jīng)元模型如圖1a所示,本文建立的神經(jīng)網(wǎng)絡(luò)結(jié)構(gòu)模型為典型的三層BP神經(jīng)網(wǎng)絡(luò)結(jié)構(gòu),如圖1b所示。
(a) 神經(jīng)元模型
(b) 典型的三層BP神經(jīng)網(wǎng)絡(luò)模型 圖1 神經(jīng)網(wǎng)絡(luò)模型
由圖1b可以看出神經(jīng)網(wǎng)絡(luò)訓(xùn)練的正向傳播中,輸入信號通過輸入層、隱藏層到輸出層,逐層傳遞計(jì)算每層神經(jīng)元的實(shí)際輸出值。如公式(8)所示:
net=?To+b
(8)
其中,ω為各層的權(quán)重向量,是上一層的輸出向量,b為閾值,o為輸入樣本訓(xùn)練集。
若正向傳播結(jié)束后,實(shí)際輸出與期望輸出相差高于所設(shè)定的誤差容限值,則進(jìn)行誤差反向傳播。直到誤差取值在誤差容限值范圍內(nèi),表明當(dāng)前模型的計(jì)算結(jié)果達(dá)到需要的計(jì)算精度,即可結(jié)束模型訓(xùn)練。否則,需要進(jìn)入誤差反向傳播過程,修改神經(jīng)網(wǎng)絡(luò)的內(nèi)部連接權(quán)值。經(jīng)過修改連接權(quán)值,得到新的模型。將樣本數(shù)據(jù)代入新的模型,按流程重新計(jì)算模型輸出與期望輸出之間的誤差結(jié)果。如果結(jié)果小于期望誤差,表明當(dāng)前模型的輸出有效,模型的訓(xùn)練完成;否則,再次進(jìn)行誤差反向傳播,繼續(xù)訓(xùn)練,直到最終得到滿足精度要求的隱含層連接權(quán)值和輸出層連接權(quán)值[6]。
利用BP神經(jīng)網(wǎng)絡(luò)對齒輪泵進(jìn)行故障診斷分析,過程包括樣本訓(xùn)練、驗(yàn)證和診斷。從樣本庫中隨機(jī)抽取300組正常,300組故障數(shù)據(jù),其中280組數(shù)據(jù)用來對模型進(jìn)行訓(xùn)練,20組數(shù)據(jù)用來對模型進(jìn)行驗(yàn)證,接著從樣本庫中隨機(jī)抽取10組數(shù)據(jù)進(jìn)行訓(xùn)練,圖2為樣本分類的結(jié)果。
圖2 樣本分類結(jié)果
從圖2可以看出,經(jīng)過BP神經(jīng)網(wǎng)絡(luò)的訓(xùn)練過程已經(jīng)將兩種不同的工作狀態(tài)進(jìn)行了正確分類。為了能夠準(zhǔn)確診斷出齒輪泵是否已經(jīng)發(fā)生故障,將已經(jīng)訓(xùn)練好的神經(jīng)網(wǎng)絡(luò)模型進(jìn)行驗(yàn)證,圖3為隨機(jī)選取的20組數(shù)據(jù)進(jìn)行驗(yàn)證。
圖3 樣本驗(yàn)證結(jié)果
圖4 齒輪泵齒輪磨損診斷結(jié)果
圖5 齒輪泵齒輪正常診斷結(jié)果
圖6 誤差結(jié)果輸出
圖4、圖5中橫坐標(biāo)為峭度歸一化參數(shù)值,縱坐標(biāo)為脈沖因子歸一化參數(shù)值。其中圖4、圖5為在未知壓力輸出信號的前提下診斷出齒輪泵的工作狀態(tài)。從圖4、圖5中可以看出,標(biāo)記的綠點(diǎn)分布在故障點(diǎn)和正常點(diǎn)的周圍,表明診斷的輸出結(jié)果與實(shí)際的工作情況相吻合,BP神經(jīng)網(wǎng)絡(luò)作為故障預(yù)測模型能夠達(dá)到診斷目標(biāo)。從圖6中可以看出,算法開始后,權(quán)重誤差顯著下降,至大約80次迭代開始緩慢下降,直到100次左右迭代接近最優(yōu),最后才逐漸平穩(wěn)。通過誤差的變化趨勢說明BP神經(jīng)網(wǎng)絡(luò)算法對此數(shù)據(jù)集的分類訓(xùn)練在第100次達(dá)到最優(yōu)。
2006年,Hinton在刊物《Nature》上第一次提出了深度學(xué)習(xí)的概念,整篇文章主要表達(dá)兩個(gè)觀點(diǎn):第一,含有多個(gè)隱層的網(wǎng)絡(luò)結(jié)構(gòu)相對于單隱層的網(wǎng)絡(luò)結(jié)構(gòu)對特征有更好的學(xué)習(xí)能力,所學(xué)到的特征更能體現(xiàn)出數(shù)據(jù)的本質(zhì),有利于分類。第二,通過“逐層初始化”的方法來解決深度神經(jīng)網(wǎng)絡(luò)的訓(xùn)練問題[7-8]。BP神經(jīng)網(wǎng)絡(luò)就是典型的單隱藏層神經(jīng)網(wǎng)絡(luò)結(jié)構(gòu),模型構(gòu)建過程較為復(fù)雜,收斂速度比較慢,主要由學(xué)習(xí)率(步長)進(jìn)行控制,正如之前訓(xùn)練樣本的過程中需要不斷的調(diào)整誤差容限值、學(xué)習(xí)率、最大的迭代次數(shù)等參數(shù)才能達(dá)到最終的分類效果。針對BP神經(jīng)網(wǎng)絡(luò)在樣本訓(xùn)練過程中存在的不足,本文擬使用深度神經(jīng)網(wǎng)絡(luò)搭建多層感知器模型對齒輪泵進(jìn)行故障診斷分析。
構(gòu)建的多層感知器模型是在單隱層神經(jīng)網(wǎng)絡(luò)的基礎(chǔ)上多增加一個(gè)或者多個(gè)隱藏層,模型的搭建過程使用Keras深度學(xué)習(xí)框架進(jìn)行構(gòu)建。圖7表示4層神經(jīng)網(wǎng)絡(luò)模型:將數(shù)據(jù)進(jìn)行預(yù)處理產(chǎn)生8個(gè)特征字段作為輸入層(8個(gè)神經(jīng)元),隱藏層1(40個(gè)神經(jīng)元),隱藏層2(30個(gè)神經(jīng)元),輸出層(1個(gè)神經(jīng)元)。
圖7 4層神經(jīng)網(wǎng)絡(luò)網(wǎng)絡(luò)模型
訓(xùn)練多層感知器模型的輸入數(shù)據(jù)仍采用訓(xùn)練BP神經(jīng)網(wǎng)絡(luò)所用的300組數(shù)據(jù),接著在相同樣本數(shù)據(jù)的基礎(chǔ)上,訓(xùn)練并評估模型的準(zhǔn)確率,然后使用訓(xùn)練完成的模型來判斷齒輪泵齒輪是否發(fā)生故障。
訓(xùn)練開始之前將300組樣本數(shù)據(jù)分成:90%作為訓(xùn)練數(shù)據(jù),10%作為驗(yàn)證數(shù)據(jù)。齒輪泵正常工作和齒輪泵齒輪磨損狀態(tài)下工作總共有600組數(shù)據(jù),所以將歸一化之后的數(shù)據(jù)分成:600×90%=540作為訓(xùn)練樣本數(shù)據(jù),600×10%=60最為驗(yàn)證數(shù)據(jù)。訓(xùn)練過程中設(shè)置每一批次輸入18組樣本數(shù)據(jù),共執(zhí)行30個(gè)訓(xùn)練周期,每個(gè)周期訓(xùn)練完成之后,計(jì)算訓(xùn)練周期之后訓(xùn)練、驗(yàn)證的準(zhǔn)確率和誤差,圖8為周期數(shù)與準(zhǔn)確率的關(guān)系曲線圖,圖9為周期數(shù)與誤差的關(guān)系曲線圖。
圖8 周期數(shù)與準(zhǔn)確率關(guān)系曲線
圖9 周期數(shù)與誤差關(guān)系曲線圖
從圖8的顯示曲線可以看出,無論是“acc訓(xùn)練準(zhǔn)確率”還是“val_acc驗(yàn)證準(zhǔn)確率”在第運(yùn)行到第18個(gè)周期之前準(zhǔn)確率越來越高,18個(gè)周期之后準(zhǔn)確率基本上趨于穩(wěn)定。從圖9的顯示曲線可以看出,無論是訓(xùn)練還是驗(yàn)證過程,誤差都在越來越小,整個(gè)訓(xùn)練和驗(yàn)證的過程表明模型的輸出可靠。接著評估單隱藏層神經(jīng)元的個(gè)數(shù)和多隱藏層神經(jīng)元的層數(shù)對模型準(zhǔn)確率的影響。
從圖10的顯示曲線可以看出,隨著隱藏層神經(jīng)元個(gè)數(shù)的增加,模型的準(zhǔn)確率逐漸的增加,直到神經(jīng)元的個(gè)數(shù)達(dá)到40個(gè),模型的準(zhǔn)確率可以達(dá)到67%。結(jié)果表明單隱藏層神經(jīng)網(wǎng)絡(luò)對樣本的訓(xùn)練效果不好,達(dá)不到診斷的效果。選擇單隱藏層神經(jīng)元的個(gè)數(shù)為40個(gè),增加隱藏層的層數(shù)來訓(xùn)練模型。從圖11的顯示曲線可以看出,隨著隱藏層個(gè)數(shù)增加,模型的準(zhǔn)確率顯著增加,直到最后可以達(dá)到99%。結(jié)果表明多層感知器模型對樣本的訓(xùn)練效果更好,更能滿足于齒輪泵故障診斷的分析和應(yīng)用。
圖10 神經(jīng)元個(gè)數(shù)與模型準(zhǔn)確率關(guān)系曲線
圖11 隱藏層層數(shù)與模型準(zhǔn)確率關(guān)系曲線
隨機(jī)從樣本庫中抽取兩組數(shù)據(jù)進(jìn)行診斷。分別用0標(biāo)記齒輪泵正常樣本,1標(biāo)記齒輪泵齒輪磨損的樣本,診斷結(jié)果如表2所示。
表2 預(yù)測結(jié)果
表2中前5組數(shù)據(jù)用0進(jìn)行標(biāo)記,發(fā)生故障的模型準(zhǔn)確率較低,說明此時(shí)齒輪泵正常工作,后5組數(shù)據(jù)用1進(jìn)行標(biāo)記,發(fā)生故障的模型準(zhǔn)確率較高,說明此時(shí)齒輪泵齒輪已經(jīng)磨損,與正常情況相符合。本文提出的評估多層感知器模型準(zhǔn)確率的方法較BP神經(jīng)網(wǎng)絡(luò)對齒輪泵的故障進(jìn)行診斷有了較大的提高。當(dāng)設(shè)定隱含層的層數(shù)為3個(gè)時(shí),其準(zhǔn)確率可達(dá)到95.56%,設(shè)定隱含層的層數(shù)為4個(gè)時(shí),其準(zhǔn)確率可達(dá)到99.27%,而當(dāng)隱含層設(shè)定6個(gè)時(shí),其準(zhǔn)確率可達(dá)到99.9%。結(jié)果表明多層感知器模型能夠更加高效地診斷出齒輪泵是否已經(jīng)發(fā)生故障。
本文使用深度神經(jīng)網(wǎng)絡(luò)構(gòu)建多層感知器模型,模型的實(shí)現(xiàn)過程使用Python語言進(jìn)行編寫,模型的搭建過程使用Keras深度學(xué)習(xí)框架進(jìn)行構(gòu)建,通過評估該模型準(zhǔn)確率的方式來診斷齒輪泵的工作狀態(tài)。以實(shí)驗(yàn)室的液壓實(shí)驗(yàn)臺(tái)作為載體,齒輪泵作為研究對象,經(jīng)過大量實(shí)驗(yàn)數(shù)據(jù)的采集,將提取特征量之后的實(shí)驗(yàn)數(shù)據(jù)作為樣本數(shù)據(jù)對BP神經(jīng)網(wǎng)絡(luò)模型和多層感知器模型進(jìn)行實(shí)驗(yàn)驗(yàn)證,使用訓(xùn)練完成的模型對齒輪泵進(jìn)行故障診斷。診斷結(jié)果表明多層感知器模型輸出結(jié)果與預(yù)測結(jié)果較吻合,可以用于液壓設(shè)備中齒輪泵的故障診斷分析,具有良好的實(shí)際使用價(jià)值。