宋坤駿 林建輝 丁建明 西南交通大學(xué)
極限學(xué)習(xí)改造稀疏自動(dòng)編碼機(jī)及其在故障診斷中的應(yīng)用
宋坤駿 林建輝 丁建明 西南交通大學(xué)
傳統(tǒng)棧式稀疏自動(dòng)編碼機(jī)的全局權(quán)值微調(diào)算法基于反向傳播,由于深度神經(jīng)網(wǎng)絡(luò)損失函數(shù)的非凸性質(zhì),反向傳播算法極易陷入局部極小值,且前幾層網(wǎng)絡(luò)的權(quán)值往往得不到充分訓(xùn)練。為此引入極限學(xué)習(xí)算法到深度神經(jīng)網(wǎng)絡(luò)的訓(xùn)練中來,將多個(gè)通過二階Hessian-Free方法訓(xùn)練后的稀疏自動(dòng)編碼機(jī)層疊起來,然后通過正則化ELM算法確定最后輸出層的權(quán)值。結(jié)果表明二階Hessian-Free方法克服了最速下降法存在的鋸齒型收斂問題,并保留了牛頓方法計(jì)算Hessian矩陣的時(shí)間和空間開銷。將機(jī)車振動(dòng)數(shù)據(jù)分別用離散傅里葉變換和量子傅里葉變換轉(zhuǎn)換到頻域后作為特征輸入網(wǎng)絡(luò),檢測(cè)結(jié)果表明網(wǎng)絡(luò)的泛化能力和訓(xùn)練速度都有了可觀的提升。
極限學(xué)習(xí);稀疏自動(dòng)編碼機(jī);滾動(dòng)軸承;故障
機(jī)車走行部中的滾動(dòng)軸承是故障頻發(fā)的一個(gè)部件。目前各種故障診斷方法在提取特征的時(shí)候主要基于人工經(jīng)驗(yàn)或?qū)<抑R(shí),例如簡(jiǎn)易診斷中,主要選擇了時(shí)域波形峭度系數(shù)參數(shù)、加速度有效值參數(shù)兩個(gè)指標(biāo)作為故障判斷參數(shù),精密診斷方法則進(jìn)一步考慮了故障的特征頻率,利用不同零部件故障的特征頻率不同實(shí)現(xiàn)故障定位。這些人工選取的特征能夠滿足多數(shù)場(chǎng)合下故障診斷系統(tǒng)的需要。但通常軸承及轉(zhuǎn)向架的故障模式復(fù)雜,實(shí)際信號(hào)中各種噪聲混雜,普通的信號(hào)處理方法除需要提取特征外,還要過濾各種噪聲,而有研究表明機(jī)器學(xué)習(xí)算法中加入噪聲實(shí)際上起到了一種正則化的作用,可以增加網(wǎng)絡(luò)的泛化性能。因此噪聲如何去除,以及去除多少實(shí)際上是相當(dāng)需要技巧的一門學(xué)問。基于深度學(xué)習(xí)理論的去噪自動(dòng)編碼機(jī)可以自動(dòng)學(xué)習(xí)一些特征并能在學(xué)習(xí)特征過程中自動(dòng)完成降噪。可以說是達(dá)到了噪聲消除和提高泛化能力之間的平衡,同時(shí)省去了研究各種去噪算法的精力和計(jì)算特征的耗時(shí)。
當(dāng)前在故障診斷領(lǐng)域類似極限學(xué)習(xí)的快速學(xué)習(xí)算法和類似深度學(xué)習(xí)的無需先驗(yàn)知識(shí)的特征學(xué)習(xí)方法的研究包括:嚴(yán)文武等人采用獨(dú)立成分分析(ICA)提取故障特征,并用ELM算法進(jìn)行工業(yè)過程故障分類,通過與概率神經(jīng)網(wǎng)絡(luò)和支持向量機(jī)等的對(duì)比研究表明ICA-ELM方法有更快的訓(xùn)練速度和更高的分類準(zhǔn)確率。秦波等人先對(duì)信號(hào)進(jìn)行EMD分解,然后提取與原信號(hào)相關(guān)度較大的IMF分量的能量作為特征向量送入BP、SVM、PSO-SVM與 GA-SVM和ELM等分類器中,通過對(duì)比試驗(yàn)證明了ELM方法在實(shí)時(shí)性和準(zhǔn)確率上都勝過上述傳統(tǒng)機(jī)器學(xué)習(xí)算法。龐榮等人將離散傅里葉變換后的轉(zhuǎn)向架故障信號(hào)送入降噪自動(dòng)編碼機(jī)進(jìn)行特征學(xué)習(xí),并將學(xué)到的特征送入BP神經(jīng)網(wǎng)絡(luò)進(jìn)行故障辨識(shí),對(duì)轉(zhuǎn)向架關(guān)鍵部件非全拆故障識(shí)別正確率能夠達(dá)到100%。
此外本文分別用經(jīng)典快速傅里葉變換和量子傅里葉變換將機(jī)車振動(dòng)數(shù)據(jù)轉(zhuǎn)換到頻域后再輸入所得深度網(wǎng)絡(luò),對(duì)比結(jié)果表明量子傅里葉變換能夠有效削弱噪聲對(duì)于信號(hào)特征提取的干擾,顯著減少網(wǎng)絡(luò)的輸入維數(shù)。
通常機(jī)器學(xué)習(xí)算法的損失函數(shù)不論是交叉熵還是誤差平方和損失函數(shù)都沒有體現(xiàn)出不同類別間的代價(jià)敏感性,而在實(shí)際應(yīng)用特別是故障診斷中,不同類別錯(cuò)分類的代價(jià)恰恰是差異懸殊的。例如漏判故障遠(yuǎn)比將正常情況誤判為故障工況的損失要大。本文引進(jìn)代價(jià)敏感性的方法是取加權(quán)誤差平方和作為損失函數(shù),其對(duì)應(yīng)的最優(yōu)權(quán)值可由加權(quán)最小二乘法求出解析解。加權(quán)最小二乘線性回歸問題中系數(shù)的最優(yōu)估計(jì)由下式給出
這里矩陣H∈Rm×m的第i行第j列元素(1≤i≤m.1≤j≤m)為第j個(gè)基函數(shù)hj在第i個(gè)采樣點(diǎn)xi上的取值,W是各個(gè)權(quán)重組成的對(duì)角矩陣diag(W1,W2,...,Wm),而Z是函數(shù)采樣值向量。是自變量采樣點(diǎn)向量α2,...,αm)是各個(gè)采樣點(diǎn)對(duì)應(yīng)的疊加系數(shù)組成的向量。
加權(quán)最小二乘法的損失函數(shù)為最小的充分必要條件是HTWH是正定矩陣。
假設(shè)給定特征x的條件下,樣本屬于類Ci的幾率是P(Ci| x),那么將該樣本歸為類Cj的風(fēng)險(xiǎn)等于條件損失L(Cj|Ci)關(guān)于上述條件幾率的加權(quán)和。
代價(jià)敏感性體現(xiàn)在對(duì)于固定的i和流動(dòng)的j,損失函數(shù) L(Cj|Ci)是不同的。條件損失矩陣L(Cj|Ci)是預(yù)先給定的算法輸入,這跟神經(jīng)網(wǎng)絡(luò)的權(quán)值是通過后天訓(xùn)練得到的是不同的。因此說任何不包含先驗(yàn)信息的損失函數(shù) (例如上面的交叉熵?fù)p失函數(shù))都不可能體現(xiàn)代價(jià)敏感性。為將損失函數(shù)改造成代價(jià)敏感的,可在原有損失函數(shù)基礎(chǔ)上引進(jìn)權(quán)重因子,其中的權(quán)重Wi可以理解為幾率P(Ci|x)。已知交叉熵?fù)p失函數(shù)是專門為解決迭代學(xué)習(xí)權(quán)值過程中收斂速率飽和的問題而設(shè)計(jì)出來的一種損失函數(shù),但是如果能夠直接求出最優(yōu)權(quán)值的解析解,那么就不存在迭代學(xué)習(xí)的必要了,因而此時(shí)選用誤差平方和代替交叉熵函數(shù)也是可以的,以下小節(jié)中就是這么做的。
極限學(xué)習(xí)機(jī)是一種新型的單隱層前饋神經(jīng)網(wǎng)絡(luò)訓(xùn)練算法,其輸入層的權(quán)值和偏置參數(shù)是隨機(jī)指定的無需通過迭代計(jì)算得到,因此其計(jì)算效率較傳統(tǒng)BP網(wǎng)絡(luò)有了大幅提高,同時(shí)其泛化能力沒有下降反而有所提升。最原始的ELM算法流程十分簡(jiǎn)單,其輸出層表達(dá)式為
這里h(x)=[h1(x),h2(x),...hL(x)]是隱含層激活函數(shù)向量,第i個(gè)分量函數(shù)hi(x)同隱藏層第i個(gè)神經(jīng)元的權(quán)值和偏置參數(shù)(ai,bi)有關(guān)。而β=[β1,β2,...,βn]是待求的隱藏層輸出權(quán)值,由如下最小二乘問題求出:
Bartlett關(guān)于前饋神經(jīng)網(wǎng)絡(luò)泛化能力的研究表明:眾多滿足誤差范數(shù)最小的最小二乘解中,回歸系數(shù)向量的范數(shù)越小,則網(wǎng)絡(luò)的泛化能力越好,因此滿足權(quán)值平方和最小的Moore-Penorse最小二乘解是所有最小二乘解中泛化能力最好的,取其為ELM隱層輸出權(quán)值的計(jì)算公式如下
這里關(guān)于m個(gè)輸入樣本的隱層輸出矩陣定義為
而關(guān)于m個(gè)輸入樣本的訓(xùn)練數(shù)據(jù)目標(biāo)矩陣則由下式定義
上述基于經(jīng)驗(yàn)風(fēng)險(xiǎn)的算法可能存在對(duì)樣本數(shù)據(jù)的過擬合,為此加入一項(xiàng)正則化項(xiàng)到ELM損失函數(shù)的表達(dá)式中,同時(shí)將上一小節(jié)的加權(quán)最小二乘理論加以運(yùn)用以改造損失函數(shù)提現(xiàn)代價(jià)敏感性,最終得到代價(jià)敏感正則極限學(xué)習(xí)機(jī)輸出層權(quán)值的公式為
其中I是維數(shù)等于隱層神經(jīng)元數(shù)目的單位矩陣。
深度表示學(xué)習(xí)中一種常見的無監(jiān)督學(xué)習(xí)算法是稀疏自動(dòng)編碼機(jī),表示的稀疏性是指隱藏層的輸出神經(jīng)元中大多數(shù)神經(jīng)元的值都低于激活閾值,通常利用平均激活度
來表達(dá),其輸出表達(dá)式為
其中hw,b(x)=[h1(x→),h2(x→),...,hm(x→)]是輸出層向量,其第i個(gè)分量為
這里我們?nèi)〖せ詈瘮?shù)f為tanh函數(shù),相比sigmoid函數(shù)來說,在權(quán)值更新時(shí)沒有同步增大和同步減小的偏向性。為體現(xiàn)出稀疏性約束,只需添加一項(xiàng)基于KL-Divergence的懲罰項(xiàng)懲罰過大的激活度即可,由此得到完整的損失函數(shù)為
通常需要將原始時(shí)域信號(hào)變換到頻域作為特征輸入神經(jīng)網(wǎng)絡(luò)中進(jìn)行故障診斷。變換方法可以是經(jīng)典傅里葉變換也可以是量子傅里葉變換。量子傅里葉變換充分利用了量子力學(xué)的態(tài)疊加原理,使得在一次變換中可以同時(shí)完成所有變換系數(shù)的計(jì)算。相比經(jīng)典傅里葉變換其計(jì)算速度能有指數(shù)級(jí)別的增加。
QFT對(duì)于任意量子位態(tài)矢的作用由如下態(tài)疊加式定義
式中n=2m,而m是量子態(tài)位數(shù),態(tài) 代表信號(hào)的數(shù)值,其在基礎(chǔ)矢量展開式上的展開系數(shù)就等于整數(shù)j的二進(jìn)制表示中的各位數(shù)字,這些數(shù)字取值只能為0或1,而 的量子傅里葉變換后所得態(tài)矢量在同一組基礎(chǔ)矢量上的展開式系數(shù)則可以取復(fù)數(shù)值。
上述量子計(jì)算方法的過程如下所示:
①初始化:將輸入輸出寄存器都初始化為0
②for時(shí)刻t=0到p,do:
③振動(dòng)信號(hào)轉(zhuǎn)為量子態(tài)表示:為與量子線路兼容,需將采集到的振動(dòng)信號(hào)以二進(jìn)制表示,并放置在輸入輸出寄存器中
為避免對(duì)整數(shù)和小數(shù)部分分別進(jìn)行量子傅里葉變換,上述振動(dòng)信號(hào)統(tǒng)一取小數(shù)點(diǎn)后l位,再將所有采樣點(diǎn)上測(cè)量數(shù)值乘以10l化為整數(shù)。這個(gè)預(yù)處理的開銷很小,但是能夠顯著降低算法的執(zhí)行時(shí)間。
④QFT變換:每一制備的量子態(tài) ,實(shí)施QFT變換,得到,并存儲(chǔ)在寄存器out中
其中p=m+n是量子位數(shù),量子態(tài) 的數(shù)目為2p。上式同時(shí)完成了2p-1次計(jì)算。
⑤特征提取:對(duì)輸出寄存器的量子態(tài) ,進(jìn)行測(cè)量,使其塌縮到固定值,得到對(duì)應(yīng)樣本的概率分布,其公式為
圖5和圖6所示為量子傅里葉變換后所得頻譜,為了比較的方便已和經(jīng)典傅里葉變換所得頻譜歸一化到同一標(biāo)度,由圖可見,量子傅里葉變換能夠更加凸顯出信號(hào)的特征頻率,將輸入網(wǎng)絡(luò)的特征取為概率幅度大于0.5的概率幅值對(duì)應(yīng)的頻率后可以看到,量子傅里葉變換提取的特征頻率對(duì)應(yīng)的概率幅值比起經(jīng)典傅里葉變換給出的功率幅值更能體現(xiàn)出信號(hào)中的干涉效應(yīng),能夠達(dá)到消除噪聲更加良好的結(jié)果。然而量子傅里葉變換最大的優(yōu)勢(shì)還是在于其計(jì)算的并行性質(zhì),以及閾值設(shè)定的便利性和顯著的特征降維效果。
雖然量子算法提取出的特征比起經(jīng)典傅里葉變換少了許多,但是由于其所得特征同故障關(guān)聯(lián)度較高,因而網(wǎng)絡(luò)的訓(xùn)練速度不但沒有下降反而有所上升,且分類準(zhǔn)確率也有所上升。說明量子傅里葉變換在并行計(jì)算大大改善網(wǎng)絡(luò)訓(xùn)練速度的同時(shí)能夠有效提高網(wǎng)絡(luò)的預(yù)測(cè)性能。
實(shí)驗(yàn)所取棧式稀疏自動(dòng)編碼機(jī)模型的參數(shù)如下表1所示。
表1 SDAE模型參數(shù)
將前一稀疏自動(dòng)編碼機(jī)的隱層輸出作為后一個(gè)稀疏自動(dòng)編碼機(jī)的輸入即得棧式稀疏自動(dòng)編碼機(jī),直接套用代價(jià)敏感正則化ELM輸出層公式求出棧式稀疏自動(dòng)編碼機(jī)中最后一層的輸出權(quán)值最優(yōu)解為 (假設(shè)一共有N層隱藏層)
上式中H是最后一層隱藏層的輸出矩陣。
上述稀疏自動(dòng)編碼機(jī)的輸出還需要送入分類器進(jìn)行故障識(shí)別和分類。這里選用的分類器是另一個(gè)代價(jià)敏感的正則化極限學(xué)習(xí)機(jī),同時(shí)還選用了其他分類器如支持向量機(jī),BP算法訓(xùn)練的單隱層神經(jīng)網(wǎng)絡(luò)做對(duì)比研究,研究結(jié)果請(qǐng)參見下一小節(jié)。
將上述算法應(yīng)用到滾動(dòng)軸承的故障診斷中,采用的數(shù)據(jù)為青島四方機(jī)車廠的振動(dòng)加速度數(shù)據(jù)。采樣頻率為10 kHz,采樣時(shí)段為機(jī)車速度從30 km/s加速到100 km/s的過程,在30 km/s、50 km/s和100 km/s各采集10 s的振動(dòng)數(shù)據(jù)。分別測(cè)量橫向、縱向和垂向三個(gè)方向的加速度分量。故障模式分為外圈內(nèi)面故障和滾柱燒蝕故障兩種。原始信號(hào)數(shù)據(jù)先做歸一化處理。然后再做離散傅里葉變換得到頻域特征后送入深度網(wǎng)絡(luò)進(jìn)行學(xué)習(xí)。
將每一故障信號(hào)分成多段,每段含有256個(gè)數(shù)據(jù)點(diǎn)作為一個(gè)樣本。取前2/3的數(shù)據(jù)作為訓(xùn)練集,取后1/3數(shù)據(jù)作為測(cè)試集。訓(xùn)練集和測(cè)試集均由兩個(gè)軸承兩種故障工況信號(hào)樣本混合而成,均先進(jìn)行離散傅里葉和量子傅里葉變換得到頻域表示后再送入極限學(xué)習(xí)機(jī)進(jìn)行辨識(shí)。仿真得到兩種故障工況下時(shí)域信號(hào)波形如圖1、圖3所示;頻域信號(hào)波形如圖2、圖4所示;量子傅立葉變換后所得頻譜如圖5、圖6所示。
圖1 外圈內(nèi)表面故障工況下軸承時(shí)域振動(dòng)波形
圖2 外圈內(nèi)表面故障工況下軸承頻域振動(dòng)波形(垂向加速度)
圖3 滾柱燒蝕故障工況下軸承時(shí)域振動(dòng)波形(垂向加速度)
圖4 滾柱燒蝕故障工況下軸承頻域振動(dòng)波形(垂向加速度)
圖5 外圈內(nèi)表面故障工況下量子傅里葉變換后所得頻譜(垂向加速度,已將概率幅值歸一化為同經(jīng)典快速傅里葉變換同一標(biāo)度)
圖6 滾柱燒蝕故障工況下量子傅里葉變換后所得頻譜(垂向加速度,已將概率幅值歸一化為同經(jīng)典快速傅里葉變換同一標(biāo)度)
對(duì)比量子傅里葉變換提取的特征和經(jīng)典傅里葉變換提取的特征可以知道量子變換算法能夠更加有效地凸顯頻譜的中頻段部分,對(duì)于故障特征頻率發(fā)生在中頻段的故障不失為一種很好的特征提取算法。
將變換后頻譜輸入如表2所示3種故障模型中訓(xùn)練,可得各次實(shí)驗(yàn)故障識(shí)別率和運(yùn)行耗時(shí),從中可見各種算法的識(shí)別率以ELM-SAE為最高,SVM次之,而傳統(tǒng)的BP算法最低,而在運(yùn)行耗時(shí)上批量式的ELM算法最低,其次是在線式的ELM和SVM,最慢的是批量式的BP算法。
表2 各次實(shí)驗(yàn)的故障識(shí)別率和運(yùn)行耗時(shí)
圖7所示為模型深度同隱藏層神經(jīng)元數(shù)的關(guān)系,由圖可見,隨著隱層神經(jīng)元數(shù)目的增加,模型預(yù)測(cè)準(zhǔn)確率基本呈現(xiàn)單調(diào)增加趨勢(shì)。
圖7 模型準(zhǔn)確率同隱層神經(jīng)元數(shù)關(guān)系
本文將極限學(xué)習(xí)機(jī)同稀疏自動(dòng)編碼機(jī)有機(jī)結(jié)合,利用極限學(xué)習(xí)算法的性能優(yōu)勢(shì)很好地改進(jìn)了堆疊稀疏自動(dòng)編碼機(jī)的訓(xùn)練速度,同時(shí)也免除了反向傳播算法容易陷入局部極小的缺點(diǎn)。此外本文分別利用經(jīng)典傅里葉變換和量子傅里葉變換算法提取特征,結(jié)果表明量子算法能夠同時(shí)對(duì)比實(shí)驗(yàn)結(jié)果表明所提出的算法相比其他一些傳統(tǒng)算法有效地改進(jìn)了訓(xùn)練的準(zhǔn)確度,不失為一種較為實(shí)用的在線故障診斷算法。
[1]Martens J Deep learning via Hessian-free optimization[C] International Conference on Machine Learning.2010:735~742.
[2]Vincent P,Larochelle H,Bengio Y,et al.Extracting and composing robust features with denoising autoencoders[C]//International Conference. 2008:1096~1103.
[3]Daniel J W.The Conjugate Gradient Method for Linear and Nonlinear Operator Equations[J].Siam Journal on Numerical Analysis,1967,4(1):10~26.
[4]Bartlett P.The sample complexity of pattern classification with neural networks:the size of theweights is more importantthan the size of the network[J].IEEE Transactions on InformationTheory.1998,44(2):525~536.
[5]Vincent P,Larochelle H, Lajoie I, et al. Stacked Denoising Autoencoders:Learning Useful Representations in a Deep Network with a Local Denoising Criterion[J].Journal of Machine Learning Research, 2010,11(12):3371~3408.
[6]Zhenbing Zhao,Ning Liu,and Le Wang."Localization of multiple insulators by orientation angle detection and binary shape prior knowledge."IEEE Transactions on Dielectrics and Electrical Insulation, 22(6),2015:3421~3428.
[7]何星,王宏力,陸敬輝,等。基于優(yōu)選小波包和ELM的模擬電路故障診斷[J]。儀器儀表學(xué)報(bào),2013,34(11):2614~2619。
[8]嚴(yán)文武,潘豐?;贗CA-ELM的工業(yè)過程故障分類[J]。計(jì)算機(jī)工程, 2015,41(10):290~294。
[9]秦波,劉永亮,王建國,等.基于極限學(xué)習(xí)機(jī)的滾動(dòng)軸承故障診斷方法[J].組合機(jī)床與自動(dòng)化加工技術(shù),2016(5):103~106.
[10]龐榮,余志斌,熊維毅,等.基于深度學(xué)習(xí)的高速列車轉(zhuǎn)向架故障識(shí)別[J].鐵道科學(xué)與工程學(xué)報(bào),2015(6):1283~1288.
[11]潘峰,趙海波.Online Sequential Extreme Learning Machine Based Multilayer Perception with OutputSelfFeedback for Time Series Prediction[J].Journal of Shanghai Jiaotong University(Science),2013,18 (3):366~375.
責(zé)任編輯:許耀元
來稿日期:2017-02-17