馮顯宗 孫安國(guó) 陳 虎
北京起重運(yùn)輸機(jī)械設(shè)計(jì)研究院有限公司 北京 100007
脫掛索道加減速裝置的輪胎胎壓監(jiān)測(cè)系統(tǒng)目前處于逐步推廣的過程中,其胎壓監(jiān)測(cè)系統(tǒng)可以實(shí)時(shí)采集每個(gè)輪胎的胎壓值、溫度以及傳感器電池電量并上報(bào)給胎壓系統(tǒng)主機(jī)。該系統(tǒng)讀取原始數(shù)據(jù)并顯示在主機(jī)界面上,以供索道維護(hù)人員查看。
在輪胎胎壓監(jiān)測(cè)系統(tǒng)應(yīng)用前,無論輪胎是否有氣索道維護(hù)人員都需要定期對(duì)輪胎進(jìn)行補(bǔ)氣。這就造成了部分輪胎可能氣壓不足而部分則氣壓過高,這些情況很難被發(fā)現(xiàn)。胎壓監(jiān)測(cè)系統(tǒng)的應(yīng)用將改變之前脫掛索道對(duì)于輪胎氣壓的管理方式,實(shí)現(xiàn)了實(shí)時(shí)精準(zhǔn)讀取輪胎氣壓,避免了欠壓和過壓的情況發(fā)生,顯著提高了輪胎安全性,使輪胎工作在最佳狀態(tài)。
脫掛索道加減速狀態(tài)的胎壓監(jiān)測(cè)系統(tǒng)只采集原始數(shù)據(jù),無法對(duì)輪胎的安全和使用狀態(tài)進(jìn)行預(yù)判。該胎壓監(jiān)測(cè)系統(tǒng)可以采集到大量原始數(shù)據(jù),對(duì)這些數(shù)據(jù)進(jìn)行預(yù)處理和建模分析,可以很好地預(yù)測(cè)輪胎的磨損情況,極大提升原始數(shù)據(jù)的價(jià)值,更好地幫助索道維護(hù)人員管理和維護(hù)輪胎的物理狀態(tài),做到安全運(yùn)行,有效的預(yù)防了不確定的安全隱患。
目前,已有的研究大多為對(duì)胎壓的計(jì)算或預(yù)測(cè),而沒有利用胎壓對(duì)輪胎損傷程度進(jìn)行智能監(jiān)控與預(yù)測(cè),本文提出了一種新的輪胎損傷程度智能監(jiān)控系統(tǒng),減少了大量的人工操作且能達(dá)到提前預(yù)警的目的。
如圖1所示,系統(tǒng)框架包括數(shù)據(jù)采集層、數(shù)據(jù)存儲(chǔ)層、大數(shù)據(jù)實(shí)時(shí)計(jì)算處理層、數(shù)據(jù)建模分析層、包括數(shù)據(jù)預(yù)處理、深度學(xué)習(xí)建模以及模型存儲(chǔ)、數(shù)據(jù)智能預(yù)測(cè)層。

圖1 智能監(jiān)控系統(tǒng)框架圖
胎壓數(shù)據(jù)采集層通過數(shù)據(jù)采集接口得到索道胎壓和溫度值以及時(shí)間戳,數(shù)據(jù)實(shí)時(shí)處理層采用大數(shù)據(jù)實(shí)時(shí)處理框架Spark Streaming對(duì)數(shù)據(jù)進(jìn)行實(shí)時(shí)計(jì)算,從而可以按照需求的時(shí)間間隔進(jìn)行動(dòng)態(tài)取值,將大數(shù)據(jù)實(shí)時(shí)計(jì)算處理得到的數(shù)據(jù)存儲(chǔ)到Redis數(shù)據(jù)庫。
如圖2所示,胎壓數(shù)據(jù)采集器采集到的數(shù)據(jù)放入Redis進(jìn)行緩存,Spark Streaming從Redis里面獲取數(shù)據(jù)并進(jìn)行計(jì)算。數(shù)據(jù)存儲(chǔ)格式為:{時(shí)間戳: 時(shí)間,采集值:[胎壓,溫度]}。
當(dāng)計(jì)算完成后,處理完成的數(shù)據(jù)放到Redis中進(jìn)行緩存,用于后續(xù)的建模分析。
Spark Streaming是采用微批次進(jìn)行處理的架構(gòu),通過將一段連續(xù)的小批數(shù)據(jù)量放在一起來進(jìn)行實(shí)時(shí)計(jì)算。如圖2所示,首先Spark Streaming會(huì)從Redis數(shù)據(jù)庫中獲取連續(xù)的實(shí)時(shí)數(shù)據(jù),通過塊管理模塊對(duì)數(shù)據(jù)進(jìn)行分塊,然后Spark Streaming會(huì)采用1個(gè)時(shí)間間隔去定時(shí)的在連續(xù)時(shí)間上進(jìn)行采樣,從而形成新的數(shù)據(jù),利用新的數(shù)據(jù)形式一個(gè)離散的分布式數(shù)據(jù)集RDD。多個(gè)RDD會(huì)形成一個(gè)數(shù)據(jù)流。Spark Streaming可以在數(shù)據(jù)流上按照需求實(shí)施各種計(jì)算與處理。

圖2 實(shí)時(shí)計(jì)算系統(tǒng)框架
如圖3所示,Spark Streaming按照時(shí)間間隔對(duì)數(shù)據(jù)進(jìn)行采樣計(jì)算,本文采用的時(shí)間間隔為1 min。每隔1 min對(duì)于實(shí)時(shí)數(shù)據(jù)進(jìn)行采樣計(jì)算。而每一個(gè)批次設(shè)置的時(shí)長(zhǎng)為2 s。

圖3 數(shù)據(jù)采樣
如圖4所示,圖中的每一個(gè)橢圓表示1個(gè)RDD,而灰色的圓圈表示一個(gè)RDD里的分區(qū),圖中的規(guī)約和映射是對(duì)于Dstream進(jìn)行的各種運(yùn)算以及處理。另外,因Spark Streaming的輸入數(shù)據(jù)來自于胎壓采集系統(tǒng),Spark Streaming會(huì)將采集到的每一個(gè)數(shù)據(jù)流進(jìn)行備份,每一個(gè)數(shù)據(jù)流都會(huì)被拷貝2次并且存儲(chǔ)到其他機(jī)器上,可以達(dá)到一定的容錯(cuò)性。另外,如果出現(xiàn)數(shù)據(jù)錯(cuò)誤,只要輸入數(shù)據(jù)在,都可以根據(jù)RDD之間的依賴關(guān)系來計(jì)算出任意狀態(tài)的RDD,但因?yàn)樾枰匦掠?jì)算程序開始以后所有的數(shù)據(jù),重新計(jì)算可能會(huì)花費(fèi)大量的計(jì)算時(shí)間。

圖4 計(jì)算框架圖
利用檢查點(diǎn)機(jī)制,可以階段性的把狀態(tài)存儲(chǔ)到可靠文件系統(tǒng)中,文中采用的是HDFS。HDFS是一個(gè)分布式文件系統(tǒng),它具有高容錯(cuò)性能,可以運(yùn)行在非常低配置且廉價(jià)的機(jī)器上,同時(shí)可以提供高吞吐量的數(shù)據(jù)訪問,既可達(dá)到高性能又可節(jié)省硬件成本。有了檢查點(diǎn)機(jī)制,每次都只用重新計(jì)算最近一次的RDD,從而大大降低了計(jì)算量。
數(shù)據(jù)建模分析層需要從緩存數(shù)據(jù)庫Redis里獲取實(shí)時(shí)處理好的數(shù)據(jù)來進(jìn)行人工智能建模。本文需要進(jìn)行2種建模,一是對(duì)胎壓隨時(shí)間變化的建模分析,可以實(shí)現(xiàn)對(duì)胎壓的預(yù)測(cè),進(jìn)而可以判斷輪胎是否欠壓或者過壓,二是根據(jù)時(shí)間、胎壓、溫度以及輪胎損傷進(jìn)行建模,從而可以對(duì)輪胎損傷進(jìn)行預(yù)測(cè),使得工作人員可以提前預(yù)知輪胎是否需要更換。然后,將建立好的模型分別存儲(chǔ)到數(shù)據(jù)庫,從而在智能預(yù)測(cè)層可以實(shí)現(xiàn)智能預(yù)測(cè)。
最后是數(shù)據(jù)智能預(yù)測(cè)層,此處主要利用已經(jīng)建立好的對(duì)未來的胎壓以及輪胎損傷程度進(jìn)行預(yù)測(cè)。同時(shí)模型會(huì)定時(shí)的進(jìn)行更新,從而保證模型的準(zhǔn)確性以及試試性。
基于深度學(xué)習(xí)的胎壓智能預(yù)測(cè)框架如圖5所示,該方法包括胎壓數(shù)據(jù)預(yù)處理,在預(yù)處理的過程中需要進(jìn)行數(shù)據(jù)清洗去掉臟數(shù)據(jù),然后對(duì)空值進(jìn)行補(bǔ)充。在數(shù)據(jù)歸一化部分采用的是最小最大值歸一化方法。然后進(jìn)行2種數(shù)據(jù)建模分析,一是構(gòu)建先知模型對(duì)胎壓進(jìn)行預(yù)測(cè),二是構(gòu)建長(zhǎng)短期記憶模型對(duì)輪胎損傷程度進(jìn)行預(yù)測(cè)。

圖5 人工智能神經(jīng)網(wǎng)絡(luò)建模流程
對(duì)于索道壓胎的預(yù)測(cè)屬于時(shí)間序列預(yù)測(cè)問題,傳統(tǒng)的時(shí)間序列預(yù)測(cè)主要是考慮時(shí)間在結(jié)構(gòu)上的依賴關(guān)系。對(duì)于傳統(tǒng)的時(shí)間序列模型需要有連續(xù)的時(shí)間上的數(shù)據(jù),而先知模型不需要連續(xù)的數(shù)據(jù),故不需要進(jìn)行因?yàn)椴贿B續(xù)帶來的缺失值的填充問題。另外,傳統(tǒng)的時(shí)間序列模型擬合速度非常慢,需要耗費(fèi)大量的時(shí)間,然而先知模型的擬合速度非常快,從而可以使得模型能夠進(jìn)行交互式的探索。先知模型主要有3部分組成:增長(zhǎng)趨勢(shì)項(xiàng)、季節(jié)趨勢(shì)項(xiàng)和節(jié)假日趨勢(shì)項(xiàng)。其中趨勢(shì)項(xiàng)表示的胎壓數(shù)據(jù)的非周期性的變化趨勢(shì),季節(jié)項(xiàng)表示的周期性的變化規(guī)律,一般以周或年為單位。另外,節(jié)假日項(xiàng)指胎壓數(shù)據(jù)中隱藏的以非固定周期的節(jié)假日對(duì)預(yù)測(cè)值帶來的影響(如國(guó)慶節(jié)),可能會(huì)有大量人員外出旅游從而會(huì)帶來更多的人乘坐索道纜車,從而對(duì)胎壓造成影響。另外,先知模型往往還會(huì)包括一個(gè)誤差項(xiàng),彌補(bǔ)一些模型沒有預(yù)測(cè)出來的波動(dòng)。先知模型通過大量的數(shù)據(jù)訓(xùn)練,從而對(duì)上述幾項(xiàng)進(jìn)行擬合,最后將這幾項(xiàng)相加從而達(dá)到對(duì)胎壓進(jìn)行預(yù)測(cè)的目的。對(duì)于趨勢(shì)項(xiàng)而言,采用基于邏輯回歸的函數(shù),該函數(shù)是隨時(shí)間變化的函數(shù),對(duì)它所能增長(zhǎng)的最大值進(jìn)行了限制。另外,因?yàn)橼厔?shì)項(xiàng)也不是一成不變的,會(huì)選擇在一些特定的時(shí)間點(diǎn)控制周期曲線的變化,先知模型可以對(duì)這種變化點(diǎn)進(jìn)行調(diào)節(jié)。本文采用算法來自動(dòng)選擇變點(diǎn)的位置,變點(diǎn)設(shè)置好之后會(huì)對(duì)增長(zhǎng)率進(jìn)行調(diào)整,通過指示函數(shù)來對(duì)增長(zhǎng)率進(jìn)行調(diào)整。對(duì)于季節(jié)性的趨勢(shì),采用傅里葉級(jí)數(shù)來模擬時(shí)間序列的周期性,其中最重要的是設(shè)計(jì)周期以及模型中使用周期的個(gè)數(shù)。節(jié)假日趨勢(shì)主要通過收集節(jié)假日的時(shí)間,將節(jié)假日的時(shí)間點(diǎn)帶來的特殊影響作為單獨(dú)的項(xiàng),同時(shí)利用指示函數(shù)來確定每一個(gè)節(jié)假日影響的范圍。
構(gòu)建LSTM人工智能神經(jīng)網(wǎng)絡(luò),并利用胎壓訓(xùn)練數(shù)據(jù)對(duì)模型進(jìn)行訓(xùn)練。對(duì)于LSTM模型最重要的是要確定每一個(gè)控制單元的結(jié)構(gòu),同時(shí)要確定整個(gè)網(wǎng)絡(luò)的結(jié)構(gòu)。對(duì)于每一個(gè)控制單元里的運(yùn)算進(jìn)行調(diào)整,從而使得模型可以更加準(zhǔn)確。在模型參數(shù)優(yōu)化部分,需要利用胎壓測(cè)試數(shù)據(jù)測(cè)試模型的性能,并進(jìn)行超參數(shù)調(diào)整,從而對(duì)模型進(jìn)行調(diào)優(yōu)。
首先對(duì)于取到的數(shù)據(jù)進(jìn)行數(shù)據(jù)清洗,對(duì)于空值,采用前一時(shí)刻的值填充,將時(shí)間戳進(jìn)行統(tǒng)一格式處理。去掉其他不必要的數(shù)據(jù)信息,同時(shí)加上觀測(cè)到的輪胎磨損情況的數(shù)據(jù)。然后對(duì)其他列采取歸一化處理,此處采用的歸一化方法是最小最大方法。公式為
采用的深度學(xué)習(xí)算法為L(zhǎng)STM,在某一個(gè)時(shí)刻,LSTM內(nèi)部結(jié)構(gòu)含有3個(gè)門,分別為遺忘門、輸入門和輸出門。結(jié)構(gòu)如圖6所示。

圖6 LSTM神經(jīng)網(wǎng)絡(luò)單元
遺忘門表示對(duì)上個(gè)時(shí)間點(diǎn)的狀態(tài)應(yīng)該丟棄或者保存哪些信息。對(duì)于Ct-1而言,需要上一個(gè)階段的隱藏狀態(tài)輸出ht-1和當(dāng)前這個(gè)階段的輸入xt,并通過Sigmoid來確定要讓Ct-1丟棄或保存的信息,其中,Sigmoid=1表示要保留全部Ct-1信息,等于0表示完全丟棄之前的Ct-1。
式中:b為偏置值,Wf為權(quán)重,σ為激活函數(shù)。
輸入門用來更新神經(jīng)網(wǎng)絡(luò)單元的狀態(tài),首先會(huì)用上一個(gè)階段的隱藏狀態(tài)輸出ht-1和當(dāng)前階段的輸入xt,通過sigmoid來控制現(xiàn)在要更新的信息到Ct。接下來創(chuàng)建Ct',用tanh來決定需要保存的信息到Ct。然后通過把2個(gè)部分相乘來決定需要更新到Ct的信息,加上之前的遺忘門的信息的更新,可以寫為
輸出門用來確定下一個(gè)隱藏狀態(tài)的值。首先通過Sigmoid函數(shù)決定Ct需要被輸出到隱藏狀態(tài)的消息,也就是第一個(gè)公式的ot;然后把Ct放入tanh內(nèi),從而決定最后可以輸出到Ct部分的信息,并和ot相乘,得到最后的輸出。
至此,一個(gè)完整的LSTM特定時(shí)刻的計(jì)算全部完成。
接下來需要對(duì)LSTM進(jìn)行訓(xùn)練,即得到權(quán)重Wf。利用前4個(gè)小時(shí)的輪胎損傷程度去預(yù)測(cè)下1個(gè)小時(shí)的輪胎損傷程度,如圖7所示

圖7 預(yù)測(cè)時(shí)序圖
圖中
誤差的公式采用均方誤差,同時(shí)采用RMSprop算法需要確定權(quán)重參數(shù)的迭代更新方式。
按照上述的公式不斷構(gòu)建數(shù)據(jù)集,最后將構(gòu)建好的數(shù)據(jù)集分為訓(xùn)練集和測(cè)試集,并且利用訓(xùn)練集對(duì)模型進(jìn)行不斷訓(xùn)練,從而得到權(quán)重。得到權(quán)重之后,還需要通過調(diào)整超參數(shù)來對(duì)模型進(jìn)行優(yōu)化。
首先可以調(diào)整LSTM神經(jīng)網(wǎng)絡(luò)的層數(shù),層數(shù)越多,訓(xùn)練的模型越難收斂,但若層數(shù)太少,精度又會(huì)降低。基于胎壓數(shù)據(jù)的特點(diǎn),以及預(yù)測(cè)性能的比較,本文采用的是3層神經(jīng)網(wǎng)絡(luò)模型滿足輪胎損傷預(yù)測(cè)的精度。同時(shí),在LSTM神經(jīng)網(wǎng)絡(luò)的最后一層添加人工神經(jīng)網(wǎng)絡(luò)層來進(jìn)行輸出。其次,可以通過調(diào)整激活函數(shù)來改善預(yù)測(cè)性能,本文LSTM神經(jīng)網(wǎng)絡(luò)的激活函數(shù)采用的是Relu。目前很多人工智能計(jì)算框架默認(rèn)采用的是tanh作為激活函數(shù),但tanh函數(shù)不一定能滿足實(shí)際需求。然后,在LSTM神經(jīng)網(wǎng)絡(luò)的輸出層添加全連接人工智能神經(jīng)網(wǎng)絡(luò)的激活函數(shù),本文采用的是Linear激活函數(shù)。最后,為了防止模型出現(xiàn)過擬合的現(xiàn)象,本文通過調(diào)整每一層神經(jīng)網(wǎng)絡(luò)結(jié)點(diǎn)的丟棄率來解決過擬合。
另外,通過調(diào)整模型訓(xùn)練的Epoch和Batch Size來進(jìn)一步改善模型的精度、收斂情況以及運(yùn)行速度。神經(jīng)網(wǎng)絡(luò)層如圖8所示。

圖8 神經(jīng)網(wǎng)絡(luò)層
首先準(zhǔn)備共4萬條索道胎壓和溫度以及損傷程度的數(shù)據(jù),每條數(shù)據(jù)包括時(shí)間戳,胎壓,溫度以及是否欠壓或過壓,輪胎損傷程度,將4萬條數(shù)據(jù)一共分為訓(xùn)練集和測(cè)試集,80%為訓(xùn)練集,20%為測(cè)試集。對(duì)于胎壓預(yù)測(cè)模型,采用的是一個(gè)月的數(shù)據(jù)來預(yù)測(cè)將來的胎壓數(shù)據(jù)。預(yù)測(cè)結(jié)果如圖9所示。對(duì)于輪胎損傷模型,訓(xùn)練集用來訓(xùn)練LSTM模型,測(cè)試集用來監(jiān)測(cè)模型的準(zhǔn)確度。此處采用的前面4 h的數(shù)據(jù)來預(yù)測(cè)下一個(gè)小時(shí)的胎壓情況以及輪胎損傷程度。預(yù)測(cè)結(jié)果如圖10和圖11所示。
圖9的數(shù)據(jù)經(jīng)過歸一化處理的可以看出胎壓的預(yù)測(cè)基本準(zhǔn)確。

圖9 胎壓預(yù)測(cè)圖
圖10 為訓(xùn)練集和測(cè)試集的模型損失,可以看出訓(xùn)練集上的模型損失和測(cè)試集上模型損失相差不多,證明了模型的有效性。

圖10 損失比較圖
圖11為預(yù)測(cè)效果,為預(yù)測(cè)結(jié)果與真實(shí)結(jié)果的散點(diǎn)圖,如果預(yù)測(cè)值與真實(shí)值完全相等,將會(huì)是理想的紅色直線,實(shí)際系統(tǒng)中,只能是近似直線的帶狀,從圖11的分散情況來看,預(yù)測(cè)結(jié)果在理想直線附近,證明可以準(zhǔn)確地進(jìn)行預(yù)測(cè)。

圖11 預(yù)測(cè)效果圖
提出了1種智能監(jiān)控索道輪胎損傷程度的智能監(jiān)控系統(tǒng),極大降低人工操作,減少因?yàn)槿斯淼臅r(shí)間損耗和風(fēng)險(xiǎn)。通過智能監(jiān)控系統(tǒng)可以提前對(duì)輪胎損傷進(jìn)行預(yù)測(cè),從而做出及時(shí)的響應(yīng)。