周尚儒,晏玉平
(武漢大學(xué) 動力與機(jī)械學(xué)院,武漢 430074)
無論在傳統(tǒng)工業(yè)自動控制領(lǐng)域,還是新興的物聯(lián)網(wǎng)、信息物理融合系統(tǒng)中,傳感器起著不可替代的作用[1]。但與此同時,一旦傳感器所傳遞的數(shù)據(jù)發(fā)生任何異常,將有可能導(dǎo)致無法估量的后果[2]。隨著我國工業(yè)化和信息化的不斷融合,傳感器不僅面臨著本身的故障問題,同時還面臨著嚴(yán)重信息安全問題[3]。因此對于傳感器數(shù)據(jù)的觀測,尤其是系統(tǒng)關(guān)鍵部分的狀態(tài)觀測變得尤為重要。針對傳感器數(shù)據(jù)異常,現(xiàn)有的分析方法大多數(shù)是從傳感器本身的故障角度出發(fā),通過數(shù)據(jù)濾波、統(tǒng)計學(xué)分析等技術(shù)進(jìn)行故障診斷,缺乏考慮由于信息安全問題引發(fā)的異常[4-6]。不同于設(shè)備故障,導(dǎo)致信息安全問題的信息攻擊一般具有一定的智能性,一方面它可以通過分析系統(tǒng)的行為使得篡改的數(shù)據(jù)滿足一定的邏輯/狀態(tài)關(guān)系,另一方面,它可以使系統(tǒng)多個或全部設(shè)備同時發(fā)生異常[7]。許多文獻(xiàn)通過建立系統(tǒng)模型或者狀態(tài)方程,從系統(tǒng)全局的視角進(jìn)行故障診斷[8],但這些方法也存在一定的局限性,因為對于一個實際的系統(tǒng)來說,許多設(shè)備的相關(guān)參數(shù)未知,也很難通過計算或者實驗精確得到,因此建立的系統(tǒng)模型存在精確度問題。并且,對于一個大規(guī)模系統(tǒng),很難建立正確的系統(tǒng)模型。
針對當(dāng)前方法存在的一些缺陷,本文提出了一種基于神經(jīng)網(wǎng)絡(luò)自學(xué)習(xí)的傳感器數(shù)據(jù)觀測方法,克服了傳統(tǒng)方法分析的片面性問題,以及系統(tǒng)模型不精確問題。接著,本文以2種典型的神經(jīng)網(wǎng)絡(luò)(BP神經(jīng)網(wǎng)絡(luò)和RBF神經(jīng)網(wǎng)絡(luò))為例,討論了不同神經(jīng)網(wǎng)絡(luò)以及同一神經(jīng)網(wǎng)絡(luò)下不同訓(xùn)練算法在該應(yīng)用中的優(yōu)劣性。
傳感器數(shù)據(jù)觀測,即根據(jù)系統(tǒng)的耦合關(guān)系,利用與被分析傳感器相關(guān)聯(lián)的其它系統(tǒng)狀態(tài)推斷傳感器的狀態(tài)是否正常。假設(shè)與傳感器信號xa相關(guān)聯(lián)的系統(tǒng)狀態(tài)為 Xa={x1,x2,…,xi}。 在正常情況下,應(yīng)滿足關(guān)系: xa-fa(Xa) <εa,其中 fa(Xa)表示根據(jù)狀態(tài)集合Xa觀測xa狀態(tài)的函數(shù),εa表示正常情況下兩者的誤差閾值。
然而,根據(jù)上述關(guān)系式,即使誤差超過εa,也無法判斷到底是xa出現(xiàn)問題,還是fa(Xa)中某一個或某些數(shù)據(jù)存在問題。因此,至少需要找到2個或2個以上的觀測函數(shù)fa才能實現(xiàn)對xa的正確分析。例如:存在,2個觀測函數(shù),若x異常,而,a正常,則有:以及。所以,如何找到滿足需求的多個觀測函數(shù)是實現(xiàn)對傳感器數(shù)據(jù)正確觀測的關(guān)鍵部分。本文提出了一種基于微分代數(shù)方程的方法。下面以一個簡易的管道模型為例,介紹基于微分代數(shù)方程方法的基本思路。
圖1 簡易管道模型Fig.1 A simple model for pipeline
圖1 所示管道模型中,通過調(diào)節(jié)閥門開度V1,V2使得水罐內(nèi)液位L達(dá)到某一設(shè)定值,F(xiàn)1,F(xiàn)2分別表示水罐進(jìn)出水流量,P1,P2表示對應(yīng)管道內(nèi)的壓強(qiáng),P0為大氣壓。根據(jù)流體力學(xué)可知,該模型存在如下所示的數(shù)學(xué)關(guān)系:
假設(shè)水罐液位L1為系統(tǒng)最重要的狀態(tài),結(jié)合式(1)可知,L1不僅可以由 F1,F(xiàn)2表示,還能由 V1,V2表示,其基本關(guān)系如下:
雖然,通過微分代數(shù)方程可找到多個針對同一傳感器數(shù)據(jù)的觀測函數(shù)f,但是由式(2)可知,觀測函數(shù)可能存在非線性關(guān)系,同時式中系數(shù)kV1,kV2與閥門的阻尼系統(tǒng)等參數(shù)有關(guān),而該參數(shù)無法精確得到,再加上閥門本身的非線性關(guān)系,使得實際系統(tǒng)中,觀測函數(shù)表達(dá)式無法精確建立。針對這一問題,本文提出了一種基于神經(jīng)網(wǎng)絡(luò)自學(xué)習(xí)技術(shù)的方法。該方法首先通過系統(tǒng)知識、專家知識等找到與被分析傳感器相關(guān)聯(lián)的系統(tǒng)狀態(tài),并建立相應(yīng)的帶未知系數(shù)的微分代數(shù)方程,得到神經(jīng)網(wǎng)絡(luò)訓(xùn)練所需要的數(shù)據(jù)種類以及形式(例如,差分信號ΔL1,方根信號等)。然后,采集系統(tǒng)正常運(yùn)行時的數(shù)據(jù)作為訓(xùn)練集,確定神經(jīng)網(wǎng)絡(luò)的神經(jīng)元個數(shù)以及相應(yīng)的權(quán)值。最后,通過訓(xùn)練的結(jié)果,計算訓(xùn)練誤差,并以此確定觀測函數(shù)的誤差閾值ε。
BP神經(jīng)網(wǎng)絡(luò)[9]是一種采用誤差回傳思想的多層感知器網(wǎng)絡(luò),通常包括輸入層、隱藏層和輸出層。各層的神經(jīng)元數(shù)目需根據(jù)實際應(yīng)用以及訓(xùn)練效果確定,同時各層神經(jīng)元之間的權(quán)值采用監(jiān)督學(xué)習(xí)的方法進(jìn)行訓(xùn)練。BP神經(jīng)網(wǎng)絡(luò)的基本結(jié)構(gòu)如圖 2所示。
圖 2 BP神經(jīng)網(wǎng)絡(luò)基本結(jié)構(gòu)Fig.2 Basic structure of BP neural network
假設(shè)訓(xùn)練集包含n組輸入輸出數(shù)據(jù):R={Xi,,其中 Xi={x1i,x2i,…,xMi}表示 M 維輸入數(shù)據(jù),Yi={y1i,y2i,…,yNi}表示 N 維輸出數(shù)據(jù)。 則包含 K 個隱藏層神經(jīng)元的BP神經(jīng)網(wǎng)絡(luò)的訓(xùn)練算法可表示為
式中:j=(1,2,…,N);gk表示第 k 個隱藏層神經(jīng)元的輸出函數(shù);δk表示對應(yīng)的閾值;j表示輸出層的閾值;ωmk表示輸入變量xmi到第k個隱藏神經(jīng)元的權(quán)值;wkj表示第k個隱藏神經(jīng)元到輸出變量yi的權(quán)值。BP神經(jīng)網(wǎng)絡(luò)的終止條件是:訓(xùn)練值和輸出值之間的最小均方誤差小于某一個閾值σ,即:
在BP神經(jīng)網(wǎng)絡(luò)中,常見的誤差訓(xùn)練算法包括:標(biāo)準(zhǔn)梯度下降法、變學(xué)習(xí)速率法、共軛梯度法、擬牛頓法等。文獻(xiàn)[10]對各種訓(xùn)練算法的基本原理、優(yōu)缺點(diǎn)以及適用范圍有著詳細(xì)的介紹,本文不再贅述。
RBF神經(jīng)網(wǎng)絡(luò)[11]同樣也是一種前向神經(jīng)網(wǎng)絡(luò),能夠?qū)崿F(xiàn)對任意線性、非線性映射關(guān)系的快速逼近。RBF神經(jīng)網(wǎng)絡(luò)為三層結(jié)構(gòu),但各層的結(jié)構(gòu)與BP神經(jīng)網(wǎng)絡(luò)有一定的差異。隱藏層神經(jīng)元為徑向基函數(shù),實現(xiàn)輸入空間到隱藏層空間的非線性映射。通常情況下,隱藏層神經(jīng)元的個數(shù)較多,即特征空間的維數(shù)要遠(yuǎn)大于輸入空間的維數(shù)。常用的徑向基函數(shù)有高斯函數(shù)(Gauss)、反 S型函數(shù)(Reflected Sigmoidal)、擬多二次函數(shù)(Inverse multiquadric)等。 而對于每個徑向基函數(shù)中心求取問題最常用的方法是K-均值聚類算法[12]。針對某一傳感器數(shù)據(jù)yi,包含M個輸入數(shù)據(jù),L個隱藏層神經(jīng)元的RBF神經(jīng)網(wǎng)絡(luò)的基本結(jié)構(gòu)如圖3所示。
圖3 RBF神經(jīng)網(wǎng)絡(luò)基本結(jié)構(gòu)Fig.3 Basic structure of RBF neural network
假設(shè)隱藏層神經(jīng)元的徑向基函數(shù)為φl,(l=1,2,…,L),每個隱藏層神經(jīng)元到輸出層的權(quán)值為wl,則RBF神經(jīng)網(wǎng)絡(luò)輸出函數(shù)可以表示為
式中:X={x1,x2,…,xM}為輸入層信息;φl(X)=‖XCl‖;Cl為第l個徑向基函數(shù)的中心。采用K-均值聚類算法確定中心點(diǎn)的基本步驟如下:
步驟1 隨機(jī)選取K個訓(xùn)練樣本X作為聚類中心C;
步驟2 按照X與Cl之間的歐式距離將所有的訓(xùn)練樣本分配到各個聚類集合中;
步驟3 按照分配聚類集合重新調(diào)整聚類中心,直到新的聚類中心不再發(fā)生變化為止,否則返回第二步,重新求解。
而對于RBF神經(jīng)網(wǎng)絡(luò)訓(xùn)練的終止條件可以參照BF神經(jīng)網(wǎng)絡(luò)中的式(4)進(jìn)行誤差計算。若基函數(shù)采用高斯函數(shù),則可以用最小均方誤差LMS直接計算得到。
為了驗證本文提出方法的有效性以及不同神經(jīng)網(wǎng)絡(luò)在該應(yīng)用中的性能,搭建了如圖 4所示的實物系統(tǒng)。其運(yùn)行機(jī)理為將閥門V3開至某一固定位置,通過調(diào)節(jié)自動閥門V1,V2的大小控制水箱液位L1,L2。其中L1依靠水泵M產(chǎn)生的壓強(qiáng)以及閥門V1進(jìn)行調(diào)節(jié),而L2利用左右2個水箱的液位差以及閥門V2進(jìn)行調(diào)節(jié)。該系統(tǒng)中,管道和水箱均部署了相應(yīng)的液位傳感器和流量計,并在電機(jī)的出水口部署了一個壓力傳感器檢測水泵出水的壓強(qiáng)。
圖4 雙容水箱結(jié)構(gòu)示意Fig.4 Structure diagram of double-tank system
實驗系統(tǒng)中,水泵為一般的交流電機(jī),可以近似看作恒功率輸出,因此閥門V1開度越大,管道內(nèi)壓強(qiáng)P1越小。同時,各個液位值和閥門開度之間存在如下關(guān)系:
假設(shè)L1傳感器數(shù)據(jù)為系統(tǒng)最為關(guān)鍵的狀態(tài),通過式(6)方程之間的變量替換,可得到一組較為復(fù)雜的關(guān)系式:
則此時 L1的觀測函數(shù)可表述為 f(L2,V2,ΔL2)。
本實驗中,采用Matlab函數(shù)newff以及newrbe分別對BP神經(jīng)網(wǎng)絡(luò)和RBF神經(jīng)網(wǎng)絡(luò)進(jìn)行訓(xùn)練。BP神經(jīng)網(wǎng)絡(luò)函數(shù)原型為 newff(P,T,S),其中 P 表示輸入向量,T表示輸出向量,S的維度表示隱藏層數(shù)量,每個元素表示對應(yīng)層的神經(jīng)元數(shù)量。RBF神經(jīng)網(wǎng)絡(luò)函數(shù)原型為 newrbe(P,T,spread),其中 P 表示輸入向量,T表示輸出向量,spread表示徑向基的擴(kuò)展速度(默認(rèn)為1.0)。
數(shù)據(jù)采樣條件為L1,L2使用PID算法實時調(diào)節(jié),L1,L2的設(shè)定值隨機(jī)更改。采樣時間間隔1 s,采樣數(shù)據(jù)2400組。其中,前1200組作為訓(xùn)練集,后1200組作為測試集。
在使用newff函數(shù)對數(shù)據(jù)進(jìn)行訓(xùn)練時,主要是隱藏層個數(shù)以及每層神經(jīng)元的個數(shù)需要調(diào)整。由于輸入向量維度較低(3維),因此本文分別使用單隱藏層、雙隱藏層、三隱藏層對網(wǎng)絡(luò)進(jìn)行訓(xùn)練,每層隱藏層個數(shù)分別取1~10。訓(xùn)練效果對比情況如表1所示,隱藏層數(shù)量越多,則最有可能找到最佳的訓(xùn)練網(wǎng)絡(luò)。但是,每層神經(jīng)元的數(shù)量與訓(xùn)練效果并無明顯規(guī)律。以如圖5所示雙隱藏層中每層神經(jīng)元個數(shù)與測試集最大百分比誤差對比圖為例,可以看出,最佳的訓(xùn)練網(wǎng)絡(luò)存在于每層神經(jīng)元個數(shù)5~7個左右。
表1 不同隱藏層數(shù)訓(xùn)練效果對比Tab.1 Comparison results under different numbers of the hidden layer
圖5 雙隱藏層中神經(jīng)元個數(shù)與誤差對比圖Fig.5 Error comparison under different numbers in the first and second hidden layer
圖 6所示為當(dāng)三隱藏層神經(jīng)網(wǎng)絡(luò)(每層神經(jīng)元的個數(shù)分別是3,2,8)觀測結(jié)果和傳感器測量結(jié)果對比圖。從圖中可看出,神經(jīng)網(wǎng)絡(luò)對L1液位變化率的變化趨勢有著很好的學(xué)習(xí)效果,誤差基本處于[0,0.01]之間,但是在某些局部位置(例如液位變化率下降時),誤差存在較大的波動。
圖6 BP神經(jīng)網(wǎng)絡(luò)測試結(jié)果對比圖Fig.6 Observation results by sensors and BP neural network
在使用newrbe函數(shù)對數(shù)據(jù)進(jìn)行訓(xùn)練時候,spread參數(shù)值是唯一一個需要更改的參數(shù)。同時,在實驗中發(fā)現(xiàn),在訓(xùn)練過程中,調(diào)整spread使得網(wǎng)絡(luò)對訓(xùn)練集誤差小,但是不一定能使得測試集誤差小。因此本文使用測試集對spread參數(shù)進(jìn)行調(diào)整。圖7所示為spread參數(shù)在不同取值條件下的訓(xùn)練誤差對比。從圖中可發(fā)現(xiàn),當(dāng)spread取值小于50時,誤差百分比遠(yuǎn)遠(yuǎn)大于100%,且隨著spread的值減小,誤差越大。當(dāng)spread取值處于[50,100]范圍內(nèi),百分比誤差也幾乎呈遞減模式,處于50%左右。當(dāng)spread取值處于[100,500]范圍內(nèi)百分比誤差存在小幅度的波動,而當(dāng)spread取值大于500時,誤差百分比趨于穩(wěn)定,且小于10%。
圖7 Spread參數(shù)與誤差百分比對照圖Fig.7 Errors under different values of the parameter spread
圖 8所示為當(dāng)spread=1000時網(wǎng)絡(luò)觀測結(jié)果和傳感器測量結(jié)果對比圖。從圖中可發(fā)現(xiàn),神經(jīng)網(wǎng)絡(luò)對L1液位變化率的變化趨勢有著很好的學(xué)習(xí)效果,誤差基本處于[-0.01,0]之間。
圖8 RBF神經(jīng)網(wǎng)絡(luò)測試結(jié)果對比圖Fig.8 Observation results by sensors and RBF neural network
結(jié)合實驗結(jié)果可知,無論是BP神經(jīng)網(wǎng)絡(luò)還是RBF神經(jīng)網(wǎng)絡(luò)都能正確地學(xué)習(xí)到過程對象的行為(趨勢和數(shù)值均在合理范圍),從而驗證了本文提出的思想的可行性。同時,盡管在本實驗中兩個網(wǎng)絡(luò)的學(xué)習(xí)時間都很短(每次訓(xùn)練的時間均小于2 s),但是由于BP神經(jīng)網(wǎng)絡(luò)存在隱藏層層數(shù)以及每層神經(jīng)元個數(shù)都需要確定,而且沒有很明顯的規(guī)律可循,因此在確定網(wǎng)絡(luò)結(jié)構(gòu)的時候需要的時間復(fù)雜度很高。
以三隱藏層網(wǎng)絡(luò)為例,盡管每層網(wǎng)絡(luò)的神經(jīng)元個數(shù)限制在10個以內(nèi),仍然需要10*10*10的訓(xùn)練次數(shù),才能找到最優(yōu)解。假設(shè)每次訓(xùn)練時間為2 s,則整個過程的時間達(dá)到了2000 s。對于更加復(fù)雜的系統(tǒng),這個時間將呈幾何數(shù)量增長。而RBF神經(jīng)網(wǎng)絡(luò)只需要確定spread參數(shù)的值,而且存在一定的規(guī)律性。因此,從訓(xùn)練時間方面來說,RBF神經(jīng)網(wǎng)絡(luò)要優(yōu)于BP神經(jīng)網(wǎng)絡(luò)。
從效果方面來說,盡管本實驗中BP神經(jīng)網(wǎng)絡(luò)的隱藏層結(jié)構(gòu)包含1,2,3層,但是最大百分比誤差最小值超過10%(實際為12.82%)。而RBF網(wǎng)絡(luò)的最大百分比誤差小于10%(實際為8.92%)。雖然,在本實驗中,對RBF神經(jīng)網(wǎng)絡(luò)的訓(xùn)練已經(jīng)達(dá)到最優(yōu)解,而BP神經(jīng)網(wǎng)絡(luò)的效果仍然還有提升的空間(增加隱藏層的數(shù)量或者增加每層神經(jīng)元的個數(shù)),但是在一定的誤差允許范圍內(nèi),RBF神經(jīng)網(wǎng)絡(luò)要優(yōu)于BP神經(jīng)網(wǎng)絡(luò)。總之,通過本實驗發(fā)現(xiàn),RBF神經(jīng)網(wǎng)絡(luò)不僅在時間維度上,而且在訓(xùn)練效果方面均要優(yōu)于BF神經(jīng)網(wǎng)絡(luò)。
然而,由于本實驗僅僅是在一個簡單的過程控制系統(tǒng)進(jìn)行驗證,存在一定的局限性。為了充分說明本文提出方法的有效性及性能,需要涉及更多的行業(yè)或領(lǐng)域。因此,進(jìn)一步的研究思路及方向,考慮從其它行業(yè)的傳感器系統(tǒng)入手,在研究系統(tǒng)機(jī)理的基礎(chǔ)上,研究其傳感器數(shù)據(jù)的觀測方法。
參考文獻(xiàn):
[1] Guo X,Leong A S,Dey S.Estimation in wireless sensor networks with security constraints[J].IEEE Transactions on Aerospace and Electronic Systems,2017.
[2] Jain M K.Wireless sensor networks:Security issues and challenges[J].International Journal ofComputerand Information Technology,2011,2(1):62-67.
[3] Riaz Z,Arslan M,Kiani A K,et al.CoSMoS:A BIM and wireless sensor based integrated solution for worker safety in confined spaces[J].Automation in construction,2014(45):96-106.
[4] Rahme S,Meskin N.Adaptive sliding mode observer for sensor fault diagnosis of an industrial gas turbine[J].Control Engineering Practice,2015(38):57-74.
[5] Gao Z,Cecati C,Ding S X.A survey of fault diagnosis and fault-toleranttechniques-PartI:Faultdiagnosis with modelbased and signal-based approaches[J].IEEE Transactions on Industrial Electronics,2015,62(6):3757-3767.
[6] 彭紅星,陳祥光,徐巍.PCA特征抽取與SVM多類分類在傳感器故障診斷中的應(yīng)用[J].數(shù)據(jù)采集與處理,2010,25(1):111-116.
[7] Fonseca J,Vieira M,Madeira H.Evaluation of web security mechanismsusing vulnerability & attack injection[J].IEEE Transactions on Dependable and Secure Computing,2014,11(5):440-453.
[8] Rdenas A A,Amin S,Lin Z S,et al.Attacks against process control systems:risk assessment,detection,and response[C]//ACM Symposium on Information,Computer and Communications Security.ACM,2011:355-366.
[9] 李愛蓮,孫天涵,詹萬鵬.基于神經(jīng)網(wǎng)絡(luò)遺傳算法高爐熱風(fēng)爐空燃比尋優(yōu)[J].自動化與儀表,2015,30(2):9-12.
[10]金丕彥,芮勇.BP算法各種改進(jìn)算法的研究及應(yīng)用[J].南京航空航天大學(xué)學(xué)報,1994(S1):201-205.
[11]雷兆明,王東澤,花季偉,等.基于改進(jìn)RBF神經(jīng)網(wǎng)絡(luò)的鋼構(gòu)件質(zhì)量預(yù)測研究[J].自動化與儀表,2015,30(9):1-4.
[12]Ghosh D K,Ari S.A static hand gesture recognition algorithm using k-mean based radial basis function neural network[C]//Information,Communications and Signal Processing(ICICS)2011 8th International Conference on.IEEE,2011:1-5.