顧欽平
(江蘇航運(yùn)職業(yè)技術(shù)學(xué)院,江蘇 南通 226010)
齒輪箱是船舶傳動(dòng)系統(tǒng)的重要組成部分,其工作環(huán)境惡劣,易受載荷、振動(dòng)和沖擊等多種因素的影響,從而產(chǎn)生各類故障。故障診斷根據(jù)設(shè)備運(yùn)行狀態(tài)和故障特征,采用合理的診斷策略,對(duì)設(shè)備進(jìn)行狀態(tài)監(jiān)測(cè)和故障診斷[1–3]。基于模型的故障診斷方法存在依賴專家知識(shí)和經(jīng)驗(yàn)、精度低等缺點(diǎn),尤其在多類故障同時(shí)存在時(shí),難以準(zhǔn)確識(shí)別。深度學(xué)習(xí)是近年來才被提出的一種新型人工智能方法,其通過將圖像處理領(lǐng)域中的深度神經(jīng)網(wǎng)絡(luò)(DNN)與深度置信網(wǎng)絡(luò)(DBN)相結(jié)合的方式來進(jìn)行特征提取與分類。
DNN是一種具有自組織、自適應(yīng)、自動(dòng)學(xué)習(xí)能力的人工神經(jīng)網(wǎng)絡(luò)。考慮到DNN在實(shí)際應(yīng)用中具備多層前饋神經(jīng)網(wǎng)絡(luò),在計(jì)算上和傳統(tǒng)的線性層相比,能夠更加快速地收斂。深度學(xué)習(xí)模型在本質(zhì)上是一個(gè)多層感知器,即神經(jīng)元每一個(gè)輸出都包含了多個(gè)隱藏層的神經(jīng)元的輸出。DNN模型可以根據(jù)輸入數(shù)據(jù)的不同來決定如何激活某個(gè)神經(jīng)元,進(jìn)而得到最終的輸出。因此,深度神經(jīng)網(wǎng)絡(luò)可以通過不斷地調(diào)整隱藏層來優(yōu)化網(wǎng)絡(luò)結(jié)構(gòu),最終使得模型獲得較高的準(zhǔn)確度[4–5]。
深度神經(jīng)網(wǎng)絡(luò)結(jié)構(gòu)如圖1所示,深度神經(jīng)網(wǎng)絡(luò)由多個(gè)隱藏層組成。隱藏層中包含輸入層、中間層和輸出層3個(gè)部分。輸入層通過特征提取模塊從輸入數(shù)據(jù)中提取特征并作為輸入?yún)?shù)輸入到中間層中,包含多個(gè)神經(jīng)元,其中每個(gè)神經(jīng)元都包含多個(gè)輸入?yún)?shù),這些參數(shù)分別對(duì)應(yīng)于不同的輸出特征。經(jīng)過前一步得到的輸入數(shù)據(jù)和中間層維度共同構(gòu)成了網(wǎng)絡(luò)模型的輸出。輸出層將所有這些輸出參數(shù)通過神經(jīng)元連接起來,形成一個(gè)神經(jīng)網(wǎng)絡(luò)結(jié)構(gòu)。最后,在輸出層對(duì)新的數(shù)據(jù)進(jìn)行預(yù)測(cè),從而得到整個(gè)模型的分類結(jié)果。
圖1 深度神經(jīng)網(wǎng)絡(luò)結(jié)構(gòu)Fig.1 Deep neural network structure
本文通過舉例說明邏輯回歸算法(LR)的思想,將其應(yīng)用到DNN中,按照?qǐng)D1所示的結(jié)構(gòu)思路,對(duì)某個(gè)隱藏層的神經(jīng)元進(jìn)行放大,進(jìn)而得到了圖2所示的DNN網(wǎng)絡(luò)結(jié)構(gòu)
圖2 DNN網(wǎng)絡(luò)結(jié)構(gòu)Fig.2 DNN network structure
輸入層的每一個(gè)樣本特征與隱藏層的特征方程線性擬合得到一個(gè)z值,得出以下激活函數(shù):
基于以上函數(shù),將z值映射到(0,1)之間的激活值α,得出邏輯回歸的基本迭代公式。
其中前向迭代的算法思想是,通過前面一層得到的激活值,計(jì)算下一層的Z值,再通過Z值計(jì)算激活值A(chǔ)。將樣本集如式(2)中樣本的每一個(gè)特征權(quán)重和特征值按列堆疊,可以得到式(3):
通過一些轉(zhuǎn)換,根據(jù)矩陣乘法的計(jì)算方式,AB矩陣相乘需要滿足A矩陣的列數(shù)要等于B矩陣的行數(shù),所以得到下式:
其中,用W(1)的轉(zhuǎn)置矩陣為:
通過給Z(l)套上一個(gè)σ函數(shù),由此計(jì)算最終的激活值。
DNN是一種可以自動(dòng)進(jìn)行特征提取和分類的神經(jīng)網(wǎng)絡(luò)模型,它將大量的特征提取操作轉(zhuǎn)移到了網(wǎng)絡(luò)中的底層,從而極大地降低了特征提取的復(fù)雜度。同時(shí),由于其具有自動(dòng)學(xué)習(xí)、非線性映射和并行計(jì)算等特性,在大數(shù)據(jù)處理方面具有其他算法所無法比擬的優(yōu)勢(shì)。因此,DNN被廣泛應(yīng)用于深度學(xué)習(xí)領(lǐng)域,主要包括分類、回歸、聚類和預(yù)測(cè)等功能。
DNN模型的初始化:A(l)=X隨機(jī)初始化一個(gè)服從正太分布Wl(=np.random.randn(0,1))但是不能為0,否則計(jì)算的結(jié)果都是0,沒有意義。b可以為0,有了初始化的值,就可以通過公式一步一步迭代得到最后一層的輸出結(jié)果,也就是需要的預(yù)測(cè)值A(chǔ)(1)。
在 DNN模型中,輸入的數(shù)據(jù)通過第一個(gè)隱含層傳遞到輸出層,經(jīng)過前一層神經(jīng)元得到的特征值作為該層的輸入。當(dāng)網(wǎng)絡(luò)層數(shù)超過一定程度時(shí),DNN將當(dāng)前層數(shù)所得到的特征作為下一層輸入。
計(jì)算第1個(gè)隱層如下式:
基于上式發(fā)現(xiàn),除了第1層的X是X,之后的都是用A(1)來替代。前一層的A(1)就是計(jì)算下一層的X,因?yàn)锳的值是通過Sigmoid激活函數(shù)計(jì)算出來的,所以A(l)也叫激活值,用來激活下一層的計(jì)算。
計(jì)算第2個(gè)隱層(輸出層)得到下式:
將計(jì)算推廣到l層,在l-1層,可以得到下式:
在l層,可以得到下式:
由于DNN模型是一種非線性映射模型,因此對(duì)輸入數(shù)據(jù)進(jìn)行特征提取時(shí)需要對(duì)其進(jìn)行一定程度的降維處理,即將原始信號(hào)經(jīng)過降噪、降維處理后得到的特征向量作為DNN模型輸出特征向量。
在DNN模型中,每個(gè)隱含層包含多個(gè)神經(jīng)元節(jié)點(diǎn),其中一個(gè)節(jié)點(diǎn)通常對(duì)應(yīng)一個(gè)輸入層和一個(gè)隱含層,其余節(jié)點(diǎn)則對(duì)應(yīng)多個(gè)輸入層和隱含層。通常來說,DNN模型具有2種激活函數(shù):Sigmoid函數(shù)和ReLU函數(shù)。因此在進(jìn)行特征提取時(shí)需要對(duì)2種激活函數(shù)進(jìn)行選取。為了方便計(jì)算用交叉熵?fù)p失函數(shù)如下式:
由此可以得到代價(jià)函數(shù)如下式:
將上述函數(shù)獲得的結(jié)果寫成矩陣的形式:
其中:
對(duì)某船用齒輪箱進(jìn)行故障診斷,測(cè)試信號(hào)為齒輪表面振動(dòng)信號(hào)。由于采集到的故障信號(hào)含有噪聲,數(shù)據(jù)量較小,故采用小波包分解對(duì)原始數(shù)據(jù)進(jìn)行處理。首先將原始信號(hào)通過小波包分解得到各個(gè)頻帶的分量,然后分別計(jì)算各個(gè)頻帶內(nèi)各個(gè)分量的能量值,得到特征向量。該方法處理后的齒輪箱故障診斷數(shù)據(jù)如圖3所示。
圖3 齒輪箱運(yùn)行振動(dòng)信號(hào)圖Fig.3 Vibration signal diagram of gearbox operation
將小波包分解后得到的各個(gè)頻帶內(nèi)各個(gè)分量的能量值作為輸入特征向量,并借助SVM對(duì)其進(jìn)行故障診斷。在進(jìn)行SVM故障診斷時(shí)需要考慮輸入特征向量之間的相關(guān)性,然后對(duì)模型進(jìn)行訓(xùn)練。為了避免特征向量之間存在相關(guān)性和相關(guān)性對(duì)模型訓(xùn)練造成不利影響,將故障特征向量進(jìn)行標(biāo)準(zhǔn)化處理。
然后,根據(jù)Matlab軟件提供的標(biāo)準(zhǔn)化函數(shù)實(shí)現(xiàn)對(duì)原始數(shù)據(jù)進(jìn)行標(biāo)準(zhǔn)化處理。將經(jīng)過預(yù)處理后得到的特征向量作為輸入特征向量輸入至SVM模型中進(jìn)行訓(xùn)練與測(cè)試。為了保證模型訓(xùn)練過程不受噪聲干擾,采用帶有閾值和歸一化處理的小波包分解方法對(duì)數(shù)據(jù)進(jìn)行預(yù)處理。
實(shí)驗(yàn)裝置是一種能模擬齒輪裂紋、點(diǎn)蝕、斷齒、磨損、粘連及軸心錯(cuò)位等多種典型失效形式的實(shí)驗(yàn)裝置。在測(cè)試過程中,采用的壓電式加速度傳感器經(jīng)由Matlab軟件進(jìn)行PC端的數(shù)據(jù)分析。
首先,采用一個(gè)1 024點(diǎn)的窗口,與深度置信網(wǎng)絡(luò)(DBN)相結(jié)合,對(duì)收集到的振動(dòng)信號(hào)進(jìn)行傅里葉變換,得到一個(gè)1 750×1 024的診斷數(shù)據(jù)集,接著對(duì)各故障樣本展開進(jìn)一步訓(xùn)練,將最終剩余的25個(gè)樣本視為一個(gè)測(cè)試數(shù)據(jù)集。然后,結(jié)合頻率域信號(hào)的維數(shù)與故障的種類數(shù)目,將網(wǎng)絡(luò)的層次(含輸入層)設(shè)定為5個(gè)層次,節(jié)點(diǎn)數(shù)目是1 024-500-300-100-5,學(xué)習(xí)速率是01,最多可以進(jìn)行100次的迭代。
最后,提出一種基于softmax神經(jīng)網(wǎng)絡(luò)方法,輸出矩陣形式為:[1,0,0,0,0]表示正常狀態(tài),[0,1,0,0,0]表示開裂故障,[0,0,1,0,0]代表斷裂齒的缺陷,[0,0,0,1,0]代表點(diǎn)蝕缺陷,[0,0,0,0,1]表示磨損故障。
為了更好地體現(xiàn)DBN在圖像中的應(yīng)用,利用基于PC1,PC2和PC3的多維圖像進(jìn)行降維,實(shí)現(xiàn)圖像的可視化。在此基礎(chǔ)上,使用DBN算法從一組故障數(shù)據(jù)中抽取一組故障特征,并給出一個(gè)可視化的結(jié)果,如圖4所示。
圖4 故障特征提取可視化Fig.4 Visualization of Fault Feature Extraction
從圖4可以看出,在凝聚狀態(tài)下,原始數(shù)據(jù)的故障特征并不是很好分辨,誤差始終在?20%~20%之間波動(dòng)。特征值幅度曲線如圖5所示。利用DNN算法對(duì)故障特征值進(jìn)行優(yōu)化,利用隱層進(jìn)行調(diào)整,得出如圖6所示的重構(gòu)誤差變化曲線。
圖5 特征值幅度曲線Fig.5 Eigenvalue magnitude curve
圖6 重構(gòu)誤差變化曲線Fig.6 Reconstruction error variation curve
由圖6可知,經(jīng)過DNN算法一段時(shí)間的修正后,深度神經(jīng)網(wǎng)絡(luò)的重建精度穩(wěn)定到20%~40%之間,在更多的數(shù)據(jù)更新后,重建誤差出現(xiàn)了快速的收斂性,表明了該算法的優(yōu)越性。
綜上所述,經(jīng)本次的最終實(shí)驗(yàn)驗(yàn)證后,得出深度神經(jīng)網(wǎng)絡(luò)在齒輪傳動(dòng)系統(tǒng)中的應(yīng)用效果良好,對(duì)齒輪傳動(dòng)系統(tǒng)中出現(xiàn)的各種故障有很好的判別能力,其判別效果與實(shí)際狀況一致,表明深度神經(jīng)網(wǎng)絡(luò)在齒輪傳動(dòng)系統(tǒng)中的應(yīng)用是可行的。
本文針對(duì)船用齒輪箱的振動(dòng)信號(hào)特征提取和故障診斷,提出基于深度神經(jīng)網(wǎng)絡(luò)的故障診斷方法。采用基于模型的方法,先使用原始數(shù)據(jù)對(duì)模型進(jìn)行訓(xùn)練,然后再將經(jīng)過訓(xùn)練后的模型應(yīng)用于新的數(shù)據(jù),最后使用測(cè)試數(shù)據(jù)驗(yàn)證了該方法的有效性。實(shí)驗(yàn)結(jié)果表明,DNN在船用齒輪箱的相關(guān)故障診斷中,不僅精度高,而且收斂性好。主要結(jié)論如下:
1)雖然其收斂速度相對(duì)較慢,但對(duì)于具有一定數(shù)據(jù)量的系統(tǒng),其收斂速度也能夠滿足使用要求。
2)由于船用齒輪箱振動(dòng)信號(hào)特征復(fù)雜多變,本文通過大量實(shí)驗(yàn)研究,確定了DNN模型中最佳參數(shù)和超參數(shù)。
3)為了進(jìn)一步提高故障診斷效果,可以通過增加DNN模型的層數(shù)、提高 DNN模型的隱含層節(jié)點(diǎn)數(shù)以及減小DNN模型中殘差單元和隨機(jī)單元等方式來進(jìn)一步提高DNN模型的診斷性能。
基于深度神經(jīng)網(wǎng)絡(luò)的船用齒輪箱故障診斷方法具有一定的應(yīng)用價(jià)值,今后將進(jìn)一步研究模型優(yōu)化、輸入信號(hào)處理方式等。