,, ,,
(同濟(jì)大學(xué)機(jī)械與能源工程學(xué)院,上海201804)
隨著我國城市化的飛速發(fā)展,大量人口涌入城鎮(zhèn),地上空間不斷縮減,我國也將發(fā)展目光投入到地下空間。盾構(gòu)機(jī)作為隧道推進(jìn)的主要機(jī)械,是一種集機(jī)、電、液為一體的大型設(shè)備,本身的結(jié)構(gòu)相當(dāng)復(fù)雜,與此同時(shí),盾構(gòu)機(jī)往往工作在潮濕、陰暗、充滿灰塵的地下空間,工作環(huán)境十分惡劣,這使得盾構(gòu)發(fā)生故障的概率很高,進(jìn)而會(huì)耽誤工程進(jìn)度,大大加劇工程成本。
現(xiàn)階段,盾構(gòu)機(jī)的整修仍然以工人的手工修理為主,即使經(jīng)驗(yàn)豐富的工人也會(huì)花費(fèi)大量的時(shí)間查找故障原因所在[1],因此,對(duì)盾構(gòu)機(jī)在運(yùn)行過程中進(jìn)行狀態(tài)監(jiān)測(cè)及故障診斷就顯得尤為重要。文獻(xiàn)[2]提出了一種基于機(jī)理模型的故障預(yù)測(cè)方法并在航空發(fā)動(dòng)機(jī)以及傳感器上進(jìn)行了驗(yàn)證,但這種基于數(shù)學(xué)的模型在設(shè)備參數(shù)較多時(shí)精度不高。文獻(xiàn)[3]提出了一種針對(duì)轉(zhuǎn)子試驗(yàn)臺(tái)的專家系統(tǒng),并對(duì)其多故障進(jìn)行診斷,但專家系統(tǒng)往往依賴于專業(yè)人員的經(jīng)驗(yàn)知識(shí),故模型的可依賴度不高。隨著大數(shù)據(jù)時(shí)代的來臨,深度學(xué)習(xí)的持續(xù)升溫,工程設(shè)備實(shí)時(shí)運(yùn)轉(zhuǎn)數(shù)據(jù)背后所隱含的健康信息值得我們?nèi)ド罹?。因此,?shí)現(xiàn)基于數(shù)據(jù)驅(qū)動(dòng)的設(shè)備故障預(yù)測(cè)顯得尤為重要。
基于數(shù)據(jù)驅(qū)動(dòng)的的故障預(yù)測(cè)方法主要有人工神經(jīng)網(wǎng)絡(luò)、遺傳算法、支持向量機(jī)、奇異譜分析等。由于盾構(gòu)機(jī)的故障時(shí)間序列參數(shù)眾多,且獲得數(shù)據(jù)都是較粗糙的數(shù)據(jù)包形式且精度不高,故很難用單一模型來擬合數(shù)據(jù)曲線以達(dá)到理想的預(yù)測(cè)效果[4];而混合方法建模過程復(fù)雜,受人為因素影響較大,不利于實(shí)際應(yīng)用中推廣。隨著深度學(xué)習(xí)技術(shù)的不斷發(fā)展,人工神經(jīng)網(wǎng)絡(luò)在應(yīng)對(duì)數(shù)據(jù)分類時(shí)的有效性引起了人們的注意,但神經(jīng)網(wǎng)絡(luò)在處理時(shí)序數(shù)列時(shí)將取得的數(shù)據(jù)視為獨(dú)立的,故無法模擬時(shí)間序列的馬爾可夫過程[5],基于此情況便孕育出了循環(huán)神經(jīng)網(wǎng)絡(luò)(Recurrent Neural Network),它認(rèn)為系統(tǒng)在某一時(shí)刻的輸出狀態(tài)yt不僅與這一時(shí)刻的輸入xt有關(guān),也依賴于上一時(shí)刻的輸出yt-1,通過將時(shí)間序列輸入預(yù)測(cè)模型,能夠?qū)?shù)據(jù)進(jìn)行逐層抽象并提取特征,以達(dá)到令人滿意的精度。而LSTM則是在RNN的基礎(chǔ)上增加了三個(gè)“門”操作,以解決RNN存在的難以訓(xùn)練長度過大的時(shí)序數(shù)據(jù)的問題。
本文圍繞LSTM循環(huán)神經(jīng)網(wǎng)絡(luò)展開,在故障預(yù)測(cè)方面摒棄傳統(tǒng)方法中所使用的大量信號(hào)處理技術(shù),充分利用LSTM循環(huán)神經(jīng)網(wǎng)絡(luò)在處理時(shí)序數(shù)據(jù)序列時(shí)的優(yōu)勢(shì),并對(duì)預(yù)測(cè)系統(tǒng)架構(gòu)進(jìn)行分層,降低了系統(tǒng)的耦合度[6],為設(shè)備故障預(yù)測(cè)系統(tǒng)的通用化提供了參考。
本章主要介紹LSTM模型,包括計(jì)算過程以及相關(guān)的RNN模型。
圖1 RNN網(wǎng)絡(luò)簡圖(左)及隱藏層細(xì)胞 展開結(jié)構(gòu)(右)
st=f(Wssst-1+Wxsxt+bs)
(1)
yt=Wsyst+by
(2)
其中,W表示權(quán)重系數(shù)矩陣(例如Wxs表示輸入層到隱藏層的權(quán)重系數(shù)矩陣),b表示各層的偏置向量,f表示激活函數(shù)(例如sigmoid函數(shù))。
RNN隱藏層之間的神經(jīng)元是互相連接的,因此數(shù)據(jù)在層內(nèi)各神經(jīng)節(jié)點(diǎn)之間是共享的,這也是RNN可以有效處理時(shí)序數(shù)據(jù)的關(guān)鍵之處。RNN在訓(xùn)練時(shí)序數(shù)據(jù)時(shí)采用反向傳播算法更新各系統(tǒng)參數(shù),故當(dāng)RNN網(wǎng)絡(luò)層數(shù)較大時(shí)易產(chǎn)生梯度消失和梯度爆炸問題。由此,LSTM模型應(yīng)用而生,它在傳統(tǒng)RNN隱藏層細(xì)胞的基礎(chǔ)上增加了三個(gè)“門”,可有效解決RNN在處理長時(shí)序數(shù)據(jù)時(shí)存在的問題。經(jīng)過不斷演化,目前應(yīng)用最為廣泛的LSTM模型如圖2所示,其中各參數(shù)都可由如下的前向計(jì)算公式(3)-(8)計(jì)算所得:
it=σ(Wsist-1+Wcict-1+Wxixt+bi)
(3)
ft=σ(Wsfst-1+Wxfxt+Wcfct-1+bf)
(4)
zt=tanh(Wscst-1+Wxcxt+bc)
(5)
ct=itzt+ftct-1
(6)
ot=σ(Wsost-1+Wxoxt+Wcoct+bo)
(7)
st=ottanh(ct)
(8)
圖2 LSTM隱藏層展開結(jié)構(gòu)
其中,i,f,o分別代表輸入門,忘記門以及輸出門,c代表細(xì)胞狀態(tài),s表示隱藏層序列,W表示權(quán)重系數(shù)矩陣,b表示偏置項(xiàng),tanh和σ分別表示正切激活函數(shù)和sigmoid激活函數(shù)。通過在傳統(tǒng)RNN的細(xì)胞結(jié)構(gòu)中增加三個(gè)“門”,LSTM細(xì)胞結(jié)構(gòu)可有效遺忘之前的無用信息,保存有效的輸入信息,從而更加高效地處理長時(shí)間序列。理論上,LSTM循環(huán)神經(jīng)網(wǎng)絡(luò)可以處理無限長的時(shí)間序列。
LSTM循環(huán)神經(jīng)網(wǎng)絡(luò)在訓(xùn)練數(shù)據(jù)集時(shí)有三個(gè)步驟:1)根據(jù)前向計(jì)算公式計(jì)算模型的輸出值;2)根據(jù)定義的損失函數(shù)計(jì)算模型的誤差,并利用反向傳播算法更新各系統(tǒng)參數(shù);3)重復(fù)第2步直至模型的準(zhǔn)確率保證在允許范圍內(nèi)。
本文旨在提出一種適用于盾構(gòu)機(jī)故障預(yù)測(cè)的系統(tǒng),LSTM循環(huán)神經(jīng)網(wǎng)絡(luò)只是其中的核心技術(shù),整個(gè)系統(tǒng)還包括底部傳感器采集數(shù)據(jù)的預(yù)處理、盾構(gòu)機(jī)關(guān)鍵部件的劃分及其特征參數(shù)的選取等。通過分析,提出了盾構(gòu)機(jī)故障預(yù)測(cè)系統(tǒng)的四層框架結(jié)構(gòu),如圖3,由下至上依次為設(shè)備配置層、數(shù)據(jù)整合層、故障預(yù)測(cè)層、可視化層。其中,設(shè)備配置層主要負(fù)責(zé)新增盾構(gòu)機(jī)的配置,數(shù)據(jù)整合層負(fù)責(zé)采集數(shù)據(jù)的預(yù)處理及入庫操作,故障預(yù)測(cè)層負(fù)責(zé)建立預(yù)測(cè)模型,對(duì)盾構(gòu)機(jī)故障進(jìn)行預(yù)測(cè),可視化層負(fù)責(zé)將診斷結(jié)果以直觀的形式顯示在界面上。
圖3 預(yù)測(cè)系統(tǒng)四層架構(gòu)
由于制造商的不同,所制造的盾構(gòu)機(jī)在某些方面有所差異,但在機(jī)械結(jié)構(gòu)和整體功能上相差不大,如目前國內(nèi)用的比較多的海瑞克、小松、鐵建等品牌的盾構(gòu)機(jī),其在機(jī)械結(jié)構(gòu)上大都可以劃分為刀盤系統(tǒng)、推進(jìn)系統(tǒng)、注漿系統(tǒng)、螺旋機(jī)系統(tǒng)等。設(shè)備配置層就是通過為底層設(shè)備編寫相應(yīng)的通信接口程序或改變系統(tǒng)的配置參數(shù),使各種類型的盾構(gòu)機(jī)在屬性與狀態(tài)兩方面都可以無誤地錄入到系統(tǒng)中來,接著對(duì)錄入的盾構(gòu)機(jī)需要進(jìn)行關(guān)鍵部件的劃分,即將盾構(gòu)機(jī)經(jīng)常發(fā)生故障的幾大系統(tǒng)選取出來作為故障預(yù)測(cè)的對(duì)象。
數(shù)據(jù)整合層是故障預(yù)測(cè)層能否擁有良好預(yù)測(cè)結(jié)果的基礎(chǔ),良好的數(shù)據(jù)能有效提高故障預(yù)測(cè)的準(zhǔn)確性。該層的主要功能就是將傳感器采集到的數(shù)據(jù)包進(jìn)行解析,并通過第三方接口獲取盾構(gòu)機(jī)故障預(yù)測(cè)中所需的各種數(shù)據(jù)源并對(duì)數(shù)據(jù)進(jìn)行整合,同時(shí)將整合好的數(shù)據(jù)進(jìn)行存儲(chǔ)并按各功能模塊進(jìn)行劃分以利于后續(xù)的分析挖掘操作。
通常來說,盾構(gòu)機(jī)相關(guān)數(shù)據(jù)源通常有三個(gè):實(shí)時(shí)數(shù)據(jù)源、故障信息數(shù)據(jù)源、地質(zhì)數(shù)據(jù)源。實(shí)時(shí)數(shù)據(jù)源記錄的是盾構(gòu)機(jī)運(yùn)轉(zhuǎn)的實(shí)時(shí)信息,故障信息數(shù)據(jù)源記錄的是盾構(gòu)機(jī)在運(yùn)行過程中的各種故障記錄,而地質(zhì)數(shù)據(jù)源記錄的是盾構(gòu)機(jī)推進(jìn)過程中地面的沉降隆起情況。盾構(gòu)機(jī)的實(shí)時(shí)數(shù)據(jù)通常存在兩種形式:開關(guān)量和模擬量,但這兩種數(shù)據(jù)形式在計(jì)算機(jī)內(nèi)存中的存儲(chǔ)形式是不一樣的,模擬量需要8個(gè)字節(jié),而開關(guān)量僅需要1個(gè)字節(jié)。底層傳感器采集到的實(shí)時(shí)數(shù)據(jù)是以數(shù)據(jù)包的形式進(jìn)行傳輸?shù)?,?shù)據(jù)包既包含模擬量也包含開關(guān)量,所以需要對(duì)該數(shù)據(jù)包進(jìn)行解析才能得到某個(gè)測(cè)點(diǎn)的實(shí)時(shí)數(shù)據(jù),即首先需要定位被測(cè)點(diǎn)的數(shù)據(jù)在數(shù)據(jù)包的起始位置,再根據(jù)測(cè)點(diǎn)所對(duì)應(yīng)的字節(jié)長度解析出其相應(yīng)的數(shù)據(jù)段。而對(duì)于故障信息數(shù)據(jù)庫及地質(zhì)數(shù)據(jù)庫,其數(shù)據(jù)庫的部署可能與實(shí)時(shí)數(shù)據(jù)的數(shù)據(jù)庫不在同一臺(tái)服務(wù)器上,以上海地鐵盾構(gòu)設(shè)備工程有限公司與同濟(jì)大學(xué)的合作項(xiàng)目為例,盾構(gòu)公司提供的故障信息數(shù)據(jù)庫及地質(zhì)數(shù)據(jù)庫部署在web服務(wù)器上,所以通過HTTP—GET的方式請(qǐng)求數(shù)據(jù),并將請(qǐng)求到的數(shù)據(jù)與實(shí)時(shí)數(shù)據(jù)源進(jìn)行整合。整合過程如圖4所示,圖中顯示了這四個(gè)數(shù)據(jù)庫的交互示意圖,箭頭表示數(shù)據(jù)的流向。
圖4 數(shù)據(jù)源整合示意圖
在數(shù)據(jù)整合完畢后,將所有的信息存入到關(guān)系型數(shù)據(jù)庫SQL Server中,并結(jié)合盾構(gòu)機(jī)管理以及用戶使用所需的模塊,可以將數(shù)據(jù)庫系統(tǒng)劃分為圖5所示的五大模塊:區(qū)間管理、設(shè)備管理、數(shù)據(jù)處理、分析挖掘、用戶管理。
圖5 整合數(shù)據(jù)庫五大模塊
經(jīng)過數(shù)據(jù)整合層整合之后的數(shù)據(jù)為一個(gè)二維數(shù)據(jù)列表形式,其中仍然有很多缺失值,因此在建立模型以前,需要對(duì)數(shù)據(jù)集作進(jìn)一步的清洗。本著對(duì)數(shù)據(jù)庫的保護(hù),通常不會(huì)直接對(duì)數(shù)據(jù)庫進(jìn)行操作,可以通過數(shù)據(jù)庫導(dǎo)出操作將數(shù)據(jù)表導(dǎo)出為一張Excel表以方便后續(xù)的預(yù)測(cè)分析。對(duì)于數(shù)值型的變量采用相應(yīng)列的平均值來填充空缺值,對(duì)于分類型的變量采用相應(yīng)列中出現(xiàn)頻次最多的那個(gè)分類來填充缺失值。在數(shù)據(jù)清洗完畢后,便要進(jìn)行特征參數(shù)的選取,即將設(shè)備配置層中盾構(gòu)機(jī)各關(guān)鍵部件運(yùn)轉(zhuǎn)時(shí)所影響的參數(shù)選取出來,如刀盤系統(tǒng)的刀盤扭矩,刀盤轉(zhuǎn)速,刀盤馬達(dá)超負(fù)載等;螺旋機(jī)系統(tǒng)的水平偏差值,垂直偏差值,螺旋機(jī)回路壓力等。在各系統(tǒng)選取完特征參數(shù)之后,某些參數(shù)的值可能很大也可能很小,基于此,可以對(duì)所有值進(jìn)行標(biāo)準(zhǔn)化處理,使其盡量落在一個(gè)取值范圍內(nèi)。
本次系統(tǒng)采用監(jiān)督學(xué)習(xí)的方式進(jìn)行故障預(yù)測(cè),故在將數(shù)據(jù)輸入模型前,需要對(duì)實(shí)時(shí)數(shù)據(jù)集及故障數(shù)據(jù)集做一定的處理使其滿足模型的輸入數(shù)據(jù)格式。圖6展示了LSTM預(yù)測(cè)模型的整體框架。本文將實(shí)時(shí)數(shù)據(jù)的前百分之七十作為訓(xùn)練集,后百分之三十作為測(cè)試數(shù)據(jù)。對(duì)于故障數(shù)據(jù)集,需要羅列各關(guān)鍵系統(tǒng)可能出現(xiàn)的所有故障形式,并用One-Hot編碼法對(duì)所有的故障形式進(jìn)行標(biāo)注,這樣不但能夠處理非連續(xù)型數(shù)值特征,同時(shí)也能在一定程度上擴(kuò)充特征。在對(duì)數(shù)據(jù)標(biāo)定完之后,我們用數(shù)據(jù)分割的辦法將數(shù)據(jù)分割為(X1,X2,X3,…,Xn)。接下來,我們將數(shù)據(jù)集輸入隱藏層,從圖中可以看出,隱藏層中包含有n個(gè)前后相連的LSTM細(xì)胞,其中cn-1和sn-1分別為前一個(gè)LSTM細(xì)胞的工作狀態(tài)和輸出,其推導(dǎo)公式見第一章的公式(3)-(8),經(jīng)過隱藏層后的數(shù)據(jù)將會(huì)到達(dá)模型輸出層的分類器,進(jìn)而得到實(shí)際的故障類型輸出。單次訓(xùn)練輸出的真實(shí)值與理論值之間往往有較大的差距,故需要選取一個(gè)損失函數(shù)來評(píng)判真實(shí)值與理論值之間的誤差,此系統(tǒng)中定義訓(xùn)練過程的損失函數(shù)如公式(9):
圖6 LSTM預(yù)測(cè)模型整體框架
(9)
其中,h為數(shù)據(jù)集樣本數(shù),l為數(shù)據(jù)集的特征數(shù)目,pi為實(shí)際輸出值,yi為理論輸出值。設(shè)定損失函數(shù)最小為優(yōu)化目標(biāo),給定網(wǎng)絡(luò)初始化的隨機(jī)種子數(shù)seed及學(xué)習(xí)率,應(yīng)用優(yōu)化算法不斷更新網(wǎng)絡(luò)參數(shù),進(jìn)而得到最終的隱藏層網(wǎng)絡(luò)。
可視化層通過開發(fā)大量的頁面構(gòu)件,并與后臺(tái)數(shù)據(jù)進(jìn)行綁定,從而實(shí)現(xiàn)頁面的可定制化。它主要將實(shí)時(shí)監(jiān)控的盾構(gòu)機(jī)關(guān)鍵部件以圖表和文字的方式顯示在頁面上,并對(duì)盾構(gòu)機(jī)的實(shí)時(shí)數(shù)據(jù)進(jìn)行預(yù)測(cè)診斷,最終以合適的報(bào)表形式將預(yù)測(cè)的結(jié)果顯示在界面上。其可視化界面如圖7所示。
圖7 可視化界面
從圖中可以看出,盾構(gòu)機(jī)故障預(yù)測(cè)系統(tǒng)的可視化界面是在2.2節(jié)中的五大模塊的基礎(chǔ)上增加了一個(gè)用戶配置模塊,可以為系統(tǒng)配置具有操作該系統(tǒng)資格的用戶的信息。其它模塊根據(jù)各自業(yè)務(wù)的不同對(duì)數(shù)據(jù)進(jìn)行展示,或根據(jù)功能劃分對(duì)系統(tǒng)進(jìn)行管理、配置。
本文將以盾構(gòu)機(jī)刀盤系統(tǒng)中的軸承作為故障預(yù)測(cè)的對(duì)象,將軸承出現(xiàn)的故障形式進(jìn)行相應(yīng)的編碼,并利用搭建的模型對(duì)訓(xùn)練數(shù)據(jù)集進(jìn)行訓(xùn)練,接著用驗(yàn)證集來驗(yàn)證模型的精度使其達(dá)到滿意的范圍,最后再利用此模型對(duì)從數(shù)據(jù)庫中隨機(jī)取出的一組軸承數(shù)據(jù)進(jìn)行故障預(yù)測(cè),并將故障類型顯示在可視化界面上。
本數(shù)據(jù)集中軸承的實(shí)時(shí)參數(shù)共計(jì)2000個(gè),對(duì)應(yīng)的軸承故障形式也有十種(0表示安全,1表示內(nèi)圈輕度磨損,2表示內(nèi)圈中度磨損等),首先需要將數(shù)據(jù)集中的實(shí)時(shí)參數(shù)數(shù)據(jù)及故障標(biāo)簽數(shù)據(jù)做一定的處理使其滿足診斷模型的要求,接著需要一層一層的疊加神經(jīng)網(wǎng)絡(luò)層以構(gòu)成完整的LSTM循環(huán)神經(jīng)網(wǎng)絡(luò)模型,最后對(duì)模型進(jìn)行訓(xùn)練及測(cè)試。圖8中的代碼給出了模型的搭建及訓(xùn)練過程。
圖8 模型的搭建及訓(xùn)練過程
圖9給出了本次實(shí)驗(yàn)的預(yù)測(cè)結(jié)果,其中報(bào)表中給出了盾構(gòu)機(jī)的品牌及預(yù)測(cè)的部位信息,并對(duì)預(yù)測(cè)算法及預(yù)測(cè)時(shí)間做了一定的解釋,最后在結(jié)果框中顯示出部件可能發(fā)生的故障具體形式,工作人員可根據(jù)此提醒盡早檢查部件的健康狀況,以避免盾構(gòu)機(jī)的停機(jī)。
圖9 預(yù)測(cè)結(jié)果顯示
本文針對(duì)惡劣環(huán)境下容易出現(xiàn)故障的盾構(gòu)機(jī),結(jié)合當(dāng)今很流行的深度學(xué)習(xí)模型LSTM循環(huán)神經(jīng)網(wǎng)絡(luò),設(shè)計(jì)了盾構(gòu)機(jī)的故障預(yù)測(cè)系統(tǒng)。整個(gè)系統(tǒng)分為四層:設(shè)備配置層、數(shù)據(jù)整合層、故障預(yù)測(cè)層、可視化層。為了提高系統(tǒng)快速診斷的能力,在數(shù)據(jù)整合層首先進(jìn)行了大量的數(shù)據(jù)預(yù)處理使數(shù)據(jù)緩存到預(yù)分析的數(shù)據(jù)庫中,接著在特征提取層利用數(shù)據(jù)分析工具對(duì)分析的數(shù)據(jù)作了進(jìn)一步的清洗工作,從而可以有效減少預(yù)測(cè)模型訓(xùn)練的時(shí)間,極大提高系統(tǒng)的運(yùn)行效率。這種預(yù)測(cè)系統(tǒng)的提出不但可以在零部件損壞前及時(shí)更換,從而提高系統(tǒng)壽命;更可以保證工程在非人為因素影響下推進(jìn),進(jìn)而降低整個(gè)工程成本。