周俊曦,王欣
(中國(guó)民用航空飛行學(xué)院計(jì)算機(jī)學(xué)院,廣漢 618307)
人工智能技術(shù)在工業(yè)設(shè)備維護(hù)領(lǐng)域的應(yīng)用越來(lái)越廣,設(shè)備剩余壽命預(yù)測(cè)是其中最重要的應(yīng)用領(lǐng)域之一。本文將采用機(jī)器學(xué)習(xí)算法對(duì)航空發(fā)動(dòng)機(jī)的故障數(shù)據(jù)建立模型,以數(shù)據(jù)驅(qū)動(dòng)的方式來(lái)對(duì)其健康狀態(tài)進(jìn)行預(yù)測(cè),從而減少設(shè)備維護(hù)的成本。使用機(jī)器學(xué)習(xí)里的集成學(xué)習(xí)模型預(yù)測(cè)設(shè)備的剩余壽命,對(duì)于降低安全事故風(fēng)險(xiǎn)、降低設(shè)備維護(hù)成本、保障生命財(cái)產(chǎn)安全具有重要意義。
目前在國(guó)外已經(jīng)有很多人用機(jī)器學(xué)習(xí)的方法對(duì)發(fā)動(dòng)機(jī)的剩余壽命進(jìn)行預(yù)測(cè),并且做了一定的改進(jìn),而國(guó)內(nèi)在這方面的應(yīng)用就寥寥無(wú)幾。P.Arpaia等人[1]使用隱馬爾可夫模型檢測(cè)流體機(jī)械故障,該方法在CERN的螺桿壓縮機(jī)的故障檢測(cè)上有比較高的準(zhǔn)確性。唐王[2]使用改進(jìn)的SVR方法對(duì)航空發(fā)動(dòng)機(jī)的余壽進(jìn)行預(yù)測(cè),使它的RMSE值為20.96。葉景[3]使用XGBoost用于交通流量預(yù)測(cè)來(lái)緩解交通擁堵提高交通運(yùn)行效率,使得模型預(yù)測(cè)值RMSE為10.2。Yang等[4]提出了一種基于空間的最小二乘支持向量回歸的預(yù)測(cè)模型方法。同時(shí)基于支持向量機(jī)的模型在短時(shí)交通流量預(yù)測(cè)中的多次應(yīng)用均取得良好的預(yù)測(cè)精度。上述文獻(xiàn)所用的方法大多是單個(gè)分類器,單個(gè)分類器普遍存在泛化能力較弱、分類精度較低的缺點(diǎn),如果采用集成學(xué)習(xí)模型就可以克服以上缺點(diǎn)。集成學(xué)習(xí)模型就是把多個(gè)單一的學(xué)習(xí)模型結(jié)合起來(lái)并獲得更好的泛化能力和更高的預(yù)測(cè)精度。陳天奇提出的XGBoost算法就是一種典型的集成學(xué)習(xí)算法,它是基于GBDT的一種高階集成算法,它不僅擁有傳統(tǒng)集成學(xué)習(xí)算法計(jì)算速度快、泛化能力好等優(yōu)點(diǎn),還在GBDT的基礎(chǔ)上顯示地加入正則項(xiàng)來(lái)控制模型的復(fù)雜度來(lái)防止過(guò)擬合,以及支持?jǐn)?shù)據(jù)采樣、支持列抽樣,并自動(dòng)學(xué)習(xí)出數(shù)據(jù)缺失值的分裂方向,以此擁有更高的模型泛化能力、更小的計(jì)算量以及自動(dòng)化對(duì)數(shù)據(jù)缺失值進(jìn)行處理等優(yōu)點(diǎn)。但本文處理的大樣本、高維度的渦扇發(fā)動(dòng)機(jī)性能退化數(shù)據(jù),航空發(fā)動(dòng)機(jī)數(shù)據(jù)集普遍存在數(shù)據(jù)維度高、算法復(fù)雜度高等問(wèn)題,因此采用LightGBM模型來(lái)對(duì)發(fā)動(dòng)機(jī)健康狀態(tài)預(yù)測(cè)比XGBoost擁有更低的時(shí)間復(fù)雜度和更高的預(yù)測(cè)精度,而本文采用的LightGBM模型則可以克服以上缺點(diǎn),并在此基礎(chǔ)上對(duì)LightGBM使用貝葉斯算法進(jìn)行參數(shù)優(yōu)化[5]。LightGBM采用了直方圖算法將遍歷樣本轉(zhuǎn)變?yōu)楸闅v直方圖,極大地降低了時(shí)間復(fù)雜度,并在訓(xùn)練過(guò)程中采用單邊梯度算法過(guò)濾掉梯度小的樣本,減少了大量的計(jì)算,而且還采用優(yōu)化后的特征并行、數(shù)據(jù)并行方法加速計(jì)算,當(dāng)數(shù)據(jù)量非常大時(shí)還可以采用投票并行的策略。XGBoost使用預(yù)排序后需要記錄特征值及其對(duì)應(yīng)樣本的統(tǒng)計(jì)值的索引,而LightGBM使用了直方圖算法將特征值轉(zhuǎn)變?yōu)閎in值,且不需要記錄特征到樣本的索引,大大降低了空間復(fù)雜度,極大地減少了內(nèi)存消耗。
為了提高發(fā)動(dòng)機(jī)健康狀態(tài)預(yù)測(cè)的準(zhǔn)確性和精確度,本文提出一種基于LightGBM模型的健康狀態(tài)預(yù)測(cè)方法,因?yàn)閰?shù)對(duì)模型性能表現(xiàn)有著決定性的影響,并且LightGBM的參數(shù)眾多、意義多樣,使得調(diào)整參數(shù)工作就顯得尤為繁瑣和龐大,極可能落入局部最優(yōu)的調(diào)參范圍,事倍功半,精度提升不高。此外,最優(yōu)參數(shù)組極大程度依賴于訓(xùn)練樣本數(shù)據(jù),噪聲的存在會(huì)影響模型學(xué)習(xí)和演算進(jìn)程,從而降低訓(xùn)練模型的泛化能力和穩(wěn)定性。然而利用貝葉斯優(yōu)化算法可以很好改善這一不足。
LightGBM(light gradient boosting machine)是微軟旗下的DMKT(distributed machine learning toolkit)的一個(gè)項(xiàng)目,由2014年首屆阿里巴巴大數(shù)據(jù)競(jìng)賽獲勝者之一柯國(guó)霖主持開(kāi)發(fā),是一款基于決策樹(shù)算法的分布式梯度提升框架。它是boosting集合模型中的新進(jìn)成員,和XGBoost一樣是對(duì)GBDT的高效實(shí)現(xiàn),原理上它和GBDT及XGBoost類似,都采用損失函數(shù)的負(fù)梯度作為當(dāng)前決策樹(shù)的殘差近似值,去擬合新的決策樹(shù)。但是它在訓(xùn)練效率、內(nèi)存使用、準(zhǔn)確率上有更好的表現(xiàn),并且可以并行化學(xué)習(xí)和處理大規(guī)模數(shù)據(jù),而且還支持直接使用category特征。
GBDT采用負(fù)梯度作為劃分的指標(biāo)(信息增益),XGBoost則利用到二階導(dǎo)數(shù)。他們共同的不足是,計(jì)算信息增益需要掃描所有樣本,從而找到最優(yōu)劃分點(diǎn)。在面對(duì)大量數(shù)據(jù)或者特征維度很高時(shí),它們的效率和擴(kuò)展性很難使人滿意。解決這個(gè)問(wèn)題的直接方法就是減少特征量和數(shù)據(jù)量而且不影響精確度,有部分工作根據(jù)數(shù)據(jù)權(quán)重采樣來(lái)加速booisting的過(guò)程,但由于GBDT沒(méi)有樣本權(quán)重不能應(yīng)用。而LightGBM則很好的解決這些問(wèn)題,它主要包含了兩個(gè)算法:?jiǎn)芜吿荻炔蓸樱╣radient-based one-side sampling,GOSS)和互斥特征綁定(exclusive feature bundling,EFB)。
GOSS(從減少樣本角度):排除大部分小梯度的樣本,僅用剩下的樣本計(jì)算信息增益。GBDT雖然沒(méi)有數(shù)據(jù)權(quán)重,但每個(gè)數(shù)據(jù)實(shí)例有不同的梯度,根據(jù)計(jì)算信息增益的定義,梯度大的實(shí)例對(duì)信息增益有更大的影響,因此在下采樣時(shí),我們應(yīng)該盡量保留梯度大的樣本(預(yù)先設(shè)定閾值,或者最高百分位間),隨機(jī)去掉梯度小的樣本。我們證明此措施在相同的采樣率下比隨機(jī)采樣獲得更準(zhǔn)確的結(jié)果,尤其是在信息增益范圍較大時(shí)。
EFB(從減少特征角度):捆綁互斥特征,也就是他們很少同時(shí)取非零值(用一個(gè)合成特征代替)。通常真是應(yīng)用中,雖然特征量比較多,但是由于特征空間十分稀疏,是否可以設(shè)計(jì)一種無(wú)損的方法來(lái)減少有效特征呢?特別在稀疏特征空間上,許多特征幾乎是互斥的(例如許多特征不會(huì)同時(shí)為非零值,像one-hot),我們可以捆綁互斥的特征。最后,我們將捆綁問(wèn)題歸約到圖著色問(wèn)題,通過(guò)貪心算法求得近似解。
結(jié)合使用GOSS和EFB的GBDT算法就是LightGBM。
本文擬采用NASA提供的C-Mapps渦輪發(fā)動(dòng)機(jī)性能退化數(shù)據(jù)集作為本文的實(shí)驗(yàn)對(duì)象,該數(shù)據(jù)集由NASA卓越故障預(yù)測(cè)研究中心提供,它包含了四小類渦輪發(fā)動(dòng)機(jī)從開(kāi)始運(yùn)行到失效數(shù)據(jù),分別為FD001、FD002、FD003、FD004,數(shù)據(jù)格式為24維時(shí)間序列,發(fā)動(dòng)機(jī)數(shù)據(jù)由3個(gè)操作參數(shù)和21個(gè)傳感器監(jiān)測(cè)參數(shù)組成,各組發(fā)動(dòng)機(jī)具有不同的運(yùn)行條件和故障模式,并且每組數(shù)據(jù)都分為訓(xùn)練集和測(cè)試集,訓(xùn)練集包括多個(gè)獨(dú)立的發(fā)動(dòng)機(jī)單元,每一個(gè)單元的數(shù)據(jù)為一條多元時(shí)序數(shù)據(jù),反映了發(fā)動(dòng)機(jī)從起始到完全失效的變化過(guò)程。
表1 發(fā)動(dòng)機(jī)退化仿真數(shù)據(jù)集基本情況
本次實(shí)驗(yàn)擬采用仿真數(shù)據(jù)集中的FD001數(shù)據(jù)集,該數(shù)據(jù)集為單一工況下的仿真數(shù)據(jù),它的特點(diǎn)是單調(diào)退化趨勢(shì)。里面包含了200臺(tái)發(fā)動(dòng)機(jī)從運(yùn)行到失效各個(gè)運(yùn)行周期的監(jiān)測(cè)數(shù)據(jù)以及對(duì)應(yīng)的RUL標(biāo)簽。我們把數(shù)據(jù)集分成訓(xùn)練集和測(cè)試集,訓(xùn)練集包含了100臺(tái)發(fā)動(dòng)機(jī)的監(jiān)測(cè)數(shù)據(jù),最長(zhǎng)周期數(shù)為362,最短周期數(shù)為128,共20631個(gè)樣本;測(cè)試機(jī)包含100臺(tái)發(fā)動(dòng)機(jī)的監(jiān)測(cè)數(shù)據(jù)和對(duì)應(yīng)的RUL標(biāo)簽,最長(zhǎng)周期數(shù)為341,最短周期數(shù)為141,共13096個(gè)樣本。
線性退化和分段線性退化是航空發(fā)動(dòng)機(jī)剩余壽命標(biāo)簽設(shè)置的兩種方式。一般情況下我們會(huì)考慮采用分段線性退化模型,因?yàn)榘l(fā)動(dòng)機(jī)的運(yùn)行過(guò)程并不是完全線性的,在它開(kāi)始運(yùn)行的時(shí)間段里退化的并不明顯,幾乎可以忽略不計(jì)。我將訓(xùn)練集的RUL標(biāo)簽設(shè)置為127 cycle,如圖1所示。
圖1 訓(xùn)練集RUL標(biāo)簽
盡管C-MAPSS數(shù)據(jù)集中有21個(gè)傳感器可用,但并非所有傳感器都具有參考價(jià)值。一些傳感器在發(fā)動(dòng)機(jī)的整個(gè)使用壽命中提供恒定或離散的值,而其他一些傳感器則未顯示出一致的趨勢(shì)。在這項(xiàng)研究中,我們使用了Zhang等人建議的14個(gè)傳感器[3]。
時(shí)間窗處理:許多多元時(shí)態(tài)基于數(shù)據(jù)的預(yù)測(cè)模型采取作為一個(gè)輸入一個(gè)多變量,數(shù)據(jù)采樣點(diǎn)在一個(gè)單一的時(shí)間戳記[3]。這樣就忽略了一些有用的時(shí)間信息,可能會(huì)大大改善預(yù)測(cè)性能。為了解決這樣的問(wèn)題,該文利用固定大小的時(shí)間窗口(TW)封裝多變量連續(xù)時(shí)間戳采樣的數(shù)據(jù)點(diǎn)。具體來(lái)說(shuō),在TW中的任何特定時(shí)間戳,多元數(shù)據(jù)點(diǎn)涵蓋了當(dāng)前時(shí)間戳及其前面的幾個(gè)時(shí)間戳,時(shí)間戳被串聯(lián)成一個(gè)高維特征載體,其被隨后饋送作為輸入到所述預(yù)測(cè)模型。窗口大小在實(shí)踐中,合適的大小TW可以通過(guò)選擇橫驗(yàn)證。在此所述TW尺寸被設(shè)置到30。
由于各個(gè)屬性的量綱不同,因此需要將全部屬性的值規(guī)約到一個(gè)相同的取值空間中。所以對(duì)數(shù)據(jù)統(tǒng)一進(jìn)行歸一化處理,歸一化可以縮小數(shù)值之間的差異,避免數(shù)據(jù)偏置問(wèn)題,方便數(shù)據(jù)的后續(xù)處理,同時(shí)也有利于提高預(yù)測(cè)算法的準(zhǔn)確性。本文中采用常見(jiàn)的min-max歸一化法來(lái)對(duì)數(shù)據(jù)進(jìn)行歸一化,將數(shù)據(jù)歸一化在一定范圍內(nèi),歸一化公式為:
公式中的Xmin和Xmax分別對(duì)應(yīng)每個(gè)列特征的最小值和最大值。
本文采用MSE、Score、RMSE指標(biāo)對(duì)模型性能進(jìn)行分析:
其中d i為RUL測(cè)試值-RUL真實(shí)值的預(yù)測(cè)誤差,當(dāng)預(yù)測(cè)誤差di屬于[-13,10]區(qū)間時(shí)認(rèn)為該樣本估計(jì)準(zhǔn)確[6]。本實(shí)驗(yàn)采用Python語(yǔ)言下的scikitlearn接口的LightGBM回歸模型,在C-Mapps的FD001數(shù)據(jù)集上進(jìn)行訓(xùn)練和測(cè)試,對(duì)于預(yù)處理后的數(shù)據(jù)集采用貝葉斯算法進(jìn)行參數(shù)優(yōu)化,獲得修正參數(shù)的最優(yōu)取值,然后使用訓(xùn)練集中的所有數(shù)據(jù)對(duì)最優(yōu)參數(shù)下的模型進(jìn)行訓(xùn)練,最后采用優(yōu)化后的模型算法對(duì)測(cè)試集的RUL進(jìn)行預(yù)測(cè),并于真實(shí)的RUL值及進(jìn)行對(duì)比和效果評(píng)估,試驗(yàn)結(jié)果如圖2所示。
圖2 預(yù)測(cè)值和真實(shí)值對(duì)比圖
進(jìn)一步將筆者所提的方法與其他傳統(tǒng)主流方法的預(yù)測(cè)效果進(jìn)行比較分析,筆者所提的Light-GBM方法在MSE、RMSE和Score指標(biāo)上均取得很好的結(jié)果,由于LightGBM在Leaf-wise之上增加了一個(gè)最大深度限制,在保證高效率的同時(shí)又發(fā)揮了防止過(guò)擬合的能力。對(duì)比XGBoost、SVM、MLP等方法,LightGBM通過(guò)直方圖算法、帶深度限制的按葉生長(zhǎng)策略等改進(jìn),顯著提高了模型訓(xùn)練速度,結(jié)果見(jiàn)表2。
表2 不同算法預(yù)測(cè)效果對(duì)比
綜上所述,LightGBM方法預(yù)測(cè)值相對(duì)于真實(shí)值總體偏差較小,并且預(yù)測(cè)沒(méi)有明顯偏向性,在RMSE、Score、MSE指標(biāo)上取得比較好的結(jié)果,顯著優(yōu)于其他傳統(tǒng)方法,因此筆者所提方法的綜合性能最佳。
針對(duì)航空發(fā)動(dòng)機(jī)分段線性退化數(shù)據(jù)集使用時(shí)間窗口裝入多變量連續(xù)時(shí)間戳采樣的數(shù)據(jù)點(diǎn),在RUL估計(jì)等基于多變量時(shí)間序列的問(wèn)題中,時(shí)間窗口內(nèi)收集起來(lái)形成一個(gè)高維特征向量并用作網(wǎng)絡(luò)的輸入,使LightGBM的預(yù)測(cè)性能得到大幅提升。通過(guò)與其他算法相對(duì)比,驗(yàn)證了筆者所提供的算法在預(yù)測(cè)指標(biāo)上效果最佳。