黃鵬程,李海艷,林景亮,梁桂銘
(廣東工業(yè)大學(xué) 機(jī)電工程學(xué)院,廣東 廣州 510006)
液壓系統(tǒng)作為重要的傳動系統(tǒng),被廣泛應(yīng)用于工業(yè)領(lǐng)域[1,2]。因此,確保液壓系統(tǒng)安全有效的運(yùn)行非常重要,準(zhǔn)確地估計(jì)液壓系統(tǒng)狀況可以避免突發(fā)狀況,降低維護(hù)的成本。為了確保整個液壓系統(tǒng)的正常運(yùn)行,一種可靠、準(zhǔn)確的液壓系統(tǒng)狀態(tài)監(jiān)測方法是必不可少的。
目前,已有的液壓系統(tǒng)狀態(tài)檢測方法主要都是基于傳統(tǒng)的機(jī)器學(xué)習(xí)的單一狀態(tài)監(jiān)測。HELWIG N等人[3]先通過皮爾遜相關(guān)系數(shù)方法從原始傳感器數(shù)據(jù)中提取特征,然后利用線性判別分析(LDA)將這些特征值轉(zhuǎn)移到一個較低維的判別空間,從而對故障狀態(tài)和嚴(yán)重程度進(jìn)行了分類??紤]到使用單一分類器有時無法獲得較高精度的缺點(diǎn),GUO P等人[4]提出了一種基于集成支持向量機(jī)的液壓系統(tǒng)健康狀態(tài)監(jiān)測方法,該方法先從多傳感器信號中提取統(tǒng)計(jì)特征來描述液壓系統(tǒng)的健康狀態(tài)特征;然后,利用皮爾遜相關(guān)系數(shù)對提取的特征進(jìn)行了選擇;最后,利用集成支持向量機(jī)和疊加方法實(shí)現(xiàn)了系統(tǒng)的健康狀態(tài)識別。隨著神經(jīng)網(wǎng)絡(luò)的發(fā)展,姜保軍等人[5]把自編碼器應(yīng)用于液壓系統(tǒng)監(jiān)測,他們先用希爾伯特-黃和小波變化對傳感器信號進(jìn)行了特征提取,然后利用堆棧稀疏自編碼器來預(yù)測液壓泵的狀態(tài)。
雖然上述方法取得了一定效果,但同時存在以下不足:
(1)這些傳統(tǒng)方法往往需要豐富的液壓系統(tǒng)知識經(jīng)驗(yàn)來選擇特征提取和分類的方法。然而,液壓系統(tǒng)在復(fù)雜的環(huán)境下工作,很難通過知識經(jīng)驗(yàn)選取特征提取和分類方法;
(2)對單一狀態(tài)進(jìn)行監(jiān)測,分離了各個狀態(tài)之間的相關(guān)性,丟失了各種狀態(tài)之間潛在的相關(guān)特征[6]。對于液壓系統(tǒng)中復(fù)雜的任務(wù),其泛化力差;
(3)在實(shí)際操作中,每個任務(wù)對各個傳感器信號會有不同的依賴程度,而多個傳感器信號籠統(tǒng)地直接輸入,使得網(wǎng)絡(luò)無法獲取更為重要的信息,易出現(xiàn)網(wǎng)絡(luò)信息過載的問題,降低了準(zhǔn)確性。
針對以上方法存在的問題,本文結(jié)合注意力機(jī)和多任務(wù)學(xué)習(xí),提出一種基于注意力機(jī)的多任務(wù)網(wǎng)絡(luò)的液壓系統(tǒng)多狀態(tài)監(jiān)測方法,利用卷積網(wǎng)絡(luò)(CNN)自動地從多個原始傳感器信號中提取深度特征,并在網(wǎng)絡(luò)中加入注意力機(jī),然后建立多任務(wù)的特征共享診斷網(wǎng)絡(luò),實(shí)現(xiàn)對多個狀態(tài)的同時監(jiān)測,利用各狀態(tài)之間的相關(guān)性,提取更泛化的特征,提高任務(wù)準(zhǔn)確性。
卷積神經(jīng)網(wǎng)路是一種典型的前饋神經(jīng)網(wǎng)絡(luò),主要是由輸入層、卷積層、池化層、全連接層和輸出層組成。通過對輸入層進(jìn)行逐層卷積和池化,層層提取輸入數(shù)據(jù)的特征,隨著層數(shù)的加深,不斷提取更加抽象的特征,最終得到具有平移旋轉(zhuǎn)不變性的魯棒特征。因其具有強(qiáng)大的非線性映射能力,近年來在圖像識別[7]、語言識別[8]等方面被廣泛應(yīng)用。
此處由于輸入的特征是多變量時間序列,筆者使用一維卷積[9-11]構(gòu)建網(wǎng)絡(luò)。
卷積層通過用多個卷積核對前一層輸出特征進(jìn)行卷積操作,然后利用非線性激活函數(shù)構(gòu)造出新的特征,其數(shù)學(xué)公式為:
(1)
池化層也叫下采樣層,對上一層的卷積特征進(jìn)行縮放映射,保留主要特征的同時減少參數(shù)和計(jì)算量,防止過擬合,提高模型泛化能力。
常采用的是最大池化,即取局部的最大值,其數(shù)學(xué)公式為:
(2)
全連接層將前面卷積池化得到的高維數(shù)據(jù)鋪平以作為輸入,進(jìn)行一些非線性變換,然后將結(jié)果輸入到它后面的輸出層softmax函數(shù)。全連接層數(shù)學(xué)表達(dá)式為:
yl=g(wlxl-1+bl)
(3)
式中:l—網(wǎng)絡(luò)層的序號;yl—全連接層的輸出;xl-1—平鋪后的一維特征向量;wl—權(quán)重系數(shù);g(·)—softmax非線性激活函數(shù)。
Softmax函數(shù),將輸出各值化作(0,1)之間,以便用于分類。其數(shù)學(xué)公式為:
(4)
式中:j—輸出層第j個特征;K—輸出層特征總數(shù)。
2014年谷歌DeepMind[12]提出了注意力機(jī)(Attention),并將其應(yīng)用于圖像識別領(lǐng)域,解決了圖片處理時計(jì)算量巨大的問題。同年,BENGIO Y[13]把注意力機(jī)應(yīng)用于機(jī)器翻譯,解決了機(jī)器翻譯中不同長度的源語言對齊問題。
上述兩個注意力機(jī)應(yīng)用均取得了不錯的效果,隨后注意力機(jī)在深度學(xué)習(xí)任務(wù)中蓬勃發(fā)展。深度學(xué)習(xí)中的注意力機(jī)從本質(zhì)上講是和人類視覺機(jī)制類似,核心任務(wù)都是用來捕獲當(dāng)前目標(biāo)更為關(guān)鍵的信息,而忽視無關(guān)信息。
采用注意力機(jī)通常有兩個目的:(1)降低數(shù)據(jù)的維度,減少計(jì)算量;(2)選擇輸入數(shù)據(jù)中與當(dāng)前輸出更加相關(guān)的有用信息,提高輸出的質(zhì)量。
常用的注意力機(jī)分為軟注意力和硬注意力。其中,軟注意力更關(guān)注區(qū)域或者通道,且因?yàn)樽⒁饬κ谴_定性的,其可微分,可以通過反向傳播來學(xué)習(xí)它的參數(shù);而硬注意力更加關(guān)注點(diǎn),且注意力是一個隨機(jī)預(yù)測過程,動態(tài)變化,導(dǎo)致了其不可微分。
由于軟注意力是可微分的,可以利用反向傳播進(jìn)行訓(xùn)練,求它的參數(shù),并方便地嵌入網(wǎng)絡(luò)框架中,比較常用。因此,本文選擇了軟注意力機(jī),其數(shù)學(xué)公式為:
(5)
式中:αi—注意力分布;s(xi,q)—注意力打分模型;q—和任務(wù)相關(guān)的查詢向量;X=[x1,…,xN]—N組輸入信息;xi—第i個向量。
通常,打分模型s(xi,q)針對每個xi計(jì)算出一個s。而打分的依據(jù)就是xi與注意力機(jī)所關(guān)注的對象的相關(guān)程度;它們越相關(guān),所得元素分?jǐn)?shù)值越大。利用softmax對上面的得分進(jìn)行數(shù)值轉(zhuǎn)換,一方面進(jìn)行歸一化,使得所有分?jǐn)?shù)之和為1;另一方面也可以更加突出重要元素的權(quán)重。
本文注意力機(jī)模型如圖1所示。
圖1 注意力機(jī)模型
圖1中,用一個全連接層作為s(xi,q)函數(shù),來學(xué)習(xí)不同傳感器特征與任務(wù)的相關(guān)程度,其中神經(jīng)元數(shù)為傳感器個數(shù)。
本文的研究對象是液壓系統(tǒng)的冷卻器、閥門、內(nèi)部泵及液壓蓄能器狀態(tài),具有4個狀態(tài)監(jiān)測的任務(wù)。因此,本文使用多任務(wù)學(xué)習(xí)的方式來構(gòu)建網(wǎng)絡(luò)。
多任務(wù)學(xué)習(xí)可以提取多個任務(wù)的共享特征,共享特征具有較強(qiáng)的抽象能力,可以適應(yīng)多個不同但相關(guān)的任務(wù),通??梢允咕W(wǎng)絡(luò)獲得更好的泛化力;且由于輸入的是多個傳感器信號,考慮到實(shí)際任務(wù)會對各個傳感器信號有不同的依賴程度,筆者使用注意力機(jī)來賦予各傳感器不同的關(guān)注程度,讓網(wǎng)絡(luò)關(guān)注更加有用的傳感器信息,以減低對其他信息的關(guān)注度,提高網(wǎng)絡(luò)的監(jiān)測效率。
結(jié)合注意力機(jī)與多任務(wù)網(wǎng)絡(luò),筆者構(gòu)建注意力機(jī)多任務(wù)網(wǎng)絡(luò),如圖2所示。
圖2中,網(wǎng)絡(luò)由輸入層、注意力層、特征提取層、多任務(wù)層構(gòu)成。其總體狀態(tài)監(jiān)測步驟如下:
(1)對多個傳感器數(shù)據(jù)進(jìn)行歸一化處理,構(gòu)建輸入特征矩陣χ;
(2)輸入特征χ輸入到注意力層,通過將注意力模型得到的特征權(quán)重α與輸入特征χ做矩陣乘法,得到注意力特征χatt;
(3)注意力特征χatt共享層,使用多個卷積層來提取4個任務(wù)的共享特征;
(4)共享特征輸入到任務(wù)層,共有4個任務(wù),其損失函數(shù)為各個任務(wù)損失函數(shù)的線性加權(quán),即聯(lián)合損失函數(shù),其數(shù)學(xué)表達(dá)式為:
L=λ1L1+λ2L2+λ3L3+λ4L4
(6)
式中:L1—冷卻器狀態(tài);L2—閥門狀態(tài);L3—內(nèi)部泵狀態(tài);L4—液壓蓄能器狀態(tài);λ1,λ2,λ3,λ4—對應(yīng)任務(wù)的權(quán)重,文中均取0.25。
而Lt損失函數(shù)為交叉熵?fù)p失函數(shù),其表達(dá)式為:
(7)
(5)采用反向傳播算法[14]對網(wǎng)絡(luò)參數(shù)進(jìn)行更新。
圖2 注意力多任務(wù)網(wǎng)絡(luò)
本文利用深度學(xué)習(xí)框架pytorch構(gòu)建模型,訓(xùn)練優(yōu)化器為Adam,批量為32,學(xué)習(xí)率初始設(shè)置為0.001,迭代次數(shù)為550。
網(wǎng)絡(luò)結(jié)構(gòu)參數(shù)如表1所示。
表1 網(wǎng)絡(luò)結(jié)構(gòu)參數(shù)
表1中,根據(jù)一維卷積參考文獻(xiàn)的網(wǎng)絡(luò)結(jié)構(gòu),適當(dāng)調(diào)整參數(shù)大小,構(gòu)建網(wǎng)絡(luò)共享層,并在共享層前面加入注意力模型,其參數(shù)為輸入傳感器的個數(shù);在共享層后面加入多任務(wù)模型,其參數(shù)為各任務(wù)狀態(tài)個數(shù),構(gòu)成整體網(wǎng)絡(luò)結(jié)構(gòu)。
此處采用UCI網(wǎng)站中的液壓系統(tǒng)狀態(tài)監(jiān)測數(shù)據(jù)[15]進(jìn)行實(shí)驗(yàn),實(shí)驗(yàn)數(shù)據(jù)通過一個液壓實(shí)驗(yàn)臺獲得。該試驗(yàn)臺以60 s為1周期進(jìn)行恒定負(fù)載循環(huán),通過測量壓力、流量等17個傳感器的值,來監(jiān)測4個液壓組件(冷卻器、閥門、泵和蓄能器)的狀態(tài)定量變化;共有2 205組模擬數(shù)據(jù),每個組包含了17個傳感器數(shù)據(jù)和4個組件的運(yùn)行狀況。
液壓試驗(yàn)臺使用的傳感器如表2所示。
表2 液壓試驗(yàn)臺使用的傳感器
表2中,CE、CP和SE是表示計(jì)算值的虛擬傳感器,其余傳感器是液壓回路中的物理傳感器。
液壓組件狀態(tài)變量如表3所示。
表3 液壓組件狀態(tài)變量
表3中給出了4個液壓組件所存在各種的狀態(tài)。其中,冷卻器與內(nèi)部泵存在3種狀態(tài),閥門與液壓蓄能器存在4種狀態(tài)。
由于傳感器采樣頻率不一樣,導(dǎo)致相同周期內(nèi)不同傳感器時序點(diǎn)個數(shù)不同,如壓力傳感器100 Hz,60 s內(nèi)有6 000個時序點(diǎn),而溫度傳感器1 Hz,60 s內(nèi)只有60個時序點(diǎn),為了輸入到網(wǎng)絡(luò)中,需要對數(shù)據(jù)進(jìn)行簡單的平均處理,使得每個傳感器時序點(diǎn)數(shù)均為60。
處理后得到輸入特征圖如圖3所示。
圖3 輸入特征圖
圖3中,輸入特征圖是由17個傳感器堆疊構(gòu)成的特征圖,其維度為(17,60)。其中,行是每個傳感器時序點(diǎn)數(shù),列是傳感器數(shù)。
將2205組數(shù)據(jù)樣本按照6:2:2比例,劃分為訓(xùn)練集、驗(yàn)證集和測試集。在訓(xùn)練集上訓(xùn)練網(wǎng)絡(luò)內(nèi)部參數(shù),通過驗(yàn)證集調(diào)節(jié)網(wǎng)絡(luò)迭代次數(shù)、學(xué)習(xí)率等超參數(shù),使訓(xùn)練集上得到的網(wǎng)絡(luò)能在測試集上有更好的效果。
為了量化網(wǎng)絡(luò)診斷的性能,此處使用指標(biāo)準(zhǔn)確率,其計(jì)算公式為:
(8)
式中:acc(t)—第t個任務(wù)準(zhǔn)確率;N—樣本數(shù);f(xn)—預(yù)測值;yn—真實(shí)值;1{*}—指示性函數(shù)。
為驗(yàn)證該方法的監(jiān)測性能,此處在訓(xùn)練集與驗(yàn)證集以交叉驗(yàn)證的方式進(jìn)行訓(xùn)練,最后在測試集上驗(yàn)證精度;并將其與現(xiàn)有的傳統(tǒng)方法LDA、人工神經(jīng)網(wǎng)絡(luò)(ANN)、集成SVM進(jìn)行對比。模型在訓(xùn)練過程中,由于權(quán)重的初始化是隨機(jī)的,為了避免實(shí)驗(yàn)結(jié)果受到其影響,對訓(xùn)練數(shù)據(jù)重復(fù)做5次實(shí)驗(yàn),然后取平均值。
該方法與傳統(tǒng)方法結(jié)果比較如表4所示。
表4 與傳統(tǒng)方法結(jié)果比較 %
從表4中可以看出:本文提出的注意力多任務(wù)方法可以讓液壓系統(tǒng)狀態(tài)獲得更好的監(jiān)測效果;它比最新的傳統(tǒng)方法平均精度提高了10.6%,特別在液壓蓄能器方面的提高了42.9%。
為了驗(yàn)證多任務(wù)和注意力機(jī)的有效性,此處將該方法與有相同網(wǎng)絡(luò)層的單任務(wù)CNN與多任務(wù)CNN進(jìn)行了比較,其結(jié)果比較如表5所示。
表5 與CNN方法結(jié)果比較 %
從表5中可以看出:多任務(wù)CNN精度相比單任務(wù)平均精度提高1.8%,驗(yàn)證了多任務(wù)網(wǎng)絡(luò)可以通過各個任務(wù)之間的相互輔助,有效地提取了各個任務(wù)之間潛在的特征,提高了監(jiān)測的精度;而加入的注意力機(jī),會根據(jù)各個傳感器對任務(wù)的重要程度,給與相關(guān)的權(quán)重,緩解了網(wǎng)絡(luò)的信息過載,使得內(nèi)部泵和液壓蓄能器任務(wù)精度均提高了1%,進(jìn)一步提升了網(wǎng)絡(luò)的監(jiān)測精度(達(dá)到了99.3%)。
各傳感器權(quán)重分布如圖4所示。
圖4 各傳感器權(quán)重分布
從圖4可以看出:在沒有使用注意力機(jī)之前的各個傳感器的權(quán)重都是相等的,網(wǎng)絡(luò)對每個傳感器的側(cè)重程度都一樣;使用了注意力機(jī)之后,各個傳感器權(quán)重值發(fā)生了變化,網(wǎng)絡(luò)對不同傳感器側(cè)重程度不同,有利于提取對網(wǎng)絡(luò)更有用的傳感器信息。
在復(fù)雜的多狀態(tài)條件下,針對液壓系統(tǒng)狀態(tài)監(jiān)測方法監(jiān)測性能不高的問題,筆者提出一種基于注意力機(jī)的多任務(wù)網(wǎng)絡(luò)的液壓系統(tǒng)監(jiān)測方法。
相比以往的方法,該方法有以下優(yōu)勢:
(1)直接把多傳感器信號輸入到CNN,實(shí)現(xiàn)了端到端的預(yù)測,無需人工提取特征,降低了使用者的操作難度;
(2)利用多任務(wù)網(wǎng)絡(luò),對多狀態(tài)同時學(xué)習(xí),有利于提取各狀態(tài)之間存在的潛在特征,可以避免在單狀態(tài)時,因?yàn)檫^度關(guān)注單個狀態(tài),而忽視了噪音及泛化性能,使得網(wǎng)絡(luò)有更好的預(yù)測精度;
(3)在網(wǎng)絡(luò)中加入注意力機(jī),給予了各個傳感器一個權(quán)重,使得網(wǎng)絡(luò)可以更多關(guān)注于對任務(wù)貢獻(xiàn)大的輸入變量,從而提取更相關(guān)的特征,緩解網(wǎng)絡(luò)信息過載問題,進(jìn)一步提升網(wǎng)絡(luò)的預(yù)測精度。
但是該方法依然存在不足之處:多任務(wù)網(wǎng)絡(luò)各個任務(wù)的權(quán)重都是一樣的,但是在實(shí)驗(yàn)中發(fā)現(xiàn),對于冷卻器狀態(tài),其收斂的速度快,很快達(dá)到了100%;而對于液壓蓄能器狀態(tài),其收斂速度慢,精度提升相當(dāng)慢,所以應(yīng)該給予各個任務(wù)不同的權(quán)重比,來幫助網(wǎng)絡(luò)更快收斂。
所以,筆者下一步的研究重點(diǎn)是設(shè)計(jì)一個自適應(yīng)的任務(wù)權(quán)重選擇方法,以提高該方法的運(yùn)行效率。