周尚儒,晏玉平
(武漢大學 動力與機械學院,武漢 430074)
無論在傳統工業自動控制領域,還是新興的物聯網、信息物理融合系統中,傳感器起著不可替代的作用[1]。但與此同時,一旦傳感器所傳遞的數據發生任何異常,將有可能導致無法估量的后果[2]。隨著我國工業化和信息化的不斷融合,傳感器不僅面臨著本身的故障問題,同時還面臨著嚴重信息安全問題[3]。因此對于傳感器數據的觀測,尤其是系統關鍵部分的狀態觀測變得尤為重要。針對傳感器數據異常,現有的分析方法大多數是從傳感器本身的故障角度出發,通過數據濾波、統計學分析等技術進行故障診斷,缺乏考慮由于信息安全問題引發的異常[4-6]。不同于設備故障,導致信息安全問題的信息攻擊一般具有一定的智能性,一方面它可以通過分析系統的行為使得篡改的數據滿足一定的邏輯/狀態關系,另一方面,它可以使系統多個或全部設備同時發生異常[7]。許多文獻通過建立系統模型或者狀態方程,從系統全局的視角進行故障診斷[8],但這些方法也存在一定的局限性,因為對于一個實際的系統來說,許多設備的相關參數未知,也很難通過計算或者實驗精確得到,因此建立的系統模型存在精確度問題。并且,對于一個大規模系統,很難建立正確的系統模型。
針對當前方法存在的一些缺陷,本文提出了一種基于神經網絡自學習的傳感器數據觀測方法,克服了傳統方法分析的片面性問題,以及系統模型不精確問題。接著,本文以2種典型的神經網絡(BP神經網絡和RBF神經網絡)為例,討論了不同神經網絡以及同一神經網絡下不同訓練算法在該應用中的優劣性。
傳感器數據觀測,即根據系統的耦合關系,利用與被分析傳感器相關聯的其它系統狀態推斷傳感器的狀態是否正常。假設與傳感器信號xa相關聯的系統狀態為 Xa={x1,x2,…,xi}。 在正常情況下,應滿足關系: xa-fa(Xa) <εa,其中 fa(Xa)表示根據狀態集合Xa觀測xa狀態的函數,εa表示正常情況下兩者的誤差閾值。
然而,根據上述關系式,即使誤差超過εa,也無法判斷到底是xa出現問題,還是fa(Xa)中某一個或某些數據存在問題。因此,至少需要找到2個或2個以上的觀測函數fa才能實現對xa的正確分析。例如:存在,2個觀測函數,若x異常,而,a正常,則有:以及。所以,如何找到滿足需求的多個觀測函數是實現對傳感器數據正確觀測的關鍵部分。本文提出了一種基于微分代數方程的方法。下面以一個簡易的管道模型為例,介紹基于微分代數方程方法的基本思路。

圖1 簡易管道模型Fig.1 A simple model for pipeline
圖1 所示管道模型中,通過調節閥門開度V1,V2使得水罐內液位L達到某一設定值,F1,F2分別表示水罐進出水流量,P1,P2表示對應管道內的壓強,P0為大氣壓。根據流體力學可知,該模型存在如下所示的數學關系:

假設水罐液位L1為系統最重要的狀態,結合式(1)可知,L1不僅可以由 F1,F2表示,還能由 V1,V2表示,其基本關系如下:

雖然,通過微分代數方程可找到多個針對同一傳感器數據的觀測函數f,但是由式(2)可知,觀測函數可能存在非線性關系,同時式中系數kV1,kV2與閥門的阻尼系統等參數有關,而該參數無法精確得到,再加上閥門本身的非線性關系,使得實際系統中,觀測函數表達式無法精確建立。針對這一問題,本文提出了一種基于神經網絡自學習技術的方法。該方法首先通過系統知識、專家知識等找到與被分析傳感器相關聯的系統狀態,并建立相應的帶未知系數的微分代數方程,得到神經網絡訓練所需要的數據種類以及形式(例如,差分信號ΔL1,方根信號等)。然后,采集系統正常運行時的數據作為訓練集,確定神經網絡的神經元個數以及相應的權值。最后,通過訓練的結果,計算訓練誤差,并以此確定觀測函數的誤差閾值ε。
BP神經網絡[9]是一種采用誤差回傳思想的多層感知器網絡,通常包括輸入層、隱藏層和輸出層。各層的神經元數目需根據實際應用以及訓練效果確定,同時各層神經元之間的權值采用監督學習的方法進行訓練。BP神經網絡的基本結構如圖 2所示。

圖 2 BP神經網絡基本結構Fig.2 Basic structure of BP neural network
假設訓練集包含n組輸入輸出數據:R={Xi,,其中 Xi={x1i,x2i,…,xMi}表示 M 維輸入數據,Yi={y1i,y2i,…,yNi}表示 N 維輸出數據。 則包含 K 個隱藏層神經元的BP神經網絡的訓練算法可表示為

式中:j=(1,2,…,N);gk表示第 k 個隱藏層神經元的輸出函數;δk表示對應的閾值;j表示輸出層的閾值;ωmk表示輸入變量xmi到第k個隱藏神經元的權值;wkj表示第k個隱藏神經元到輸出變量yi的權值。BP神經網絡的終止條件是:訓練值和輸出值之間的最小均方誤差小于某一個閾值σ,即:

在BP神經網絡中,常見的誤差訓練算法包括:標準梯度下降法、變學習速率法、共軛梯度法、擬牛頓法等。文獻[10]對各種訓練算法的基本原理、優缺點以及適用范圍有著詳細的介紹,本文不再贅述。
RBF神經網絡[11]同樣也是一種前向神經網絡,能夠實現對任意線性、非線性映射關系的快速逼近。RBF神經網絡為三層結構,但各層的結構與BP神經網絡有一定的差異。隱藏層神經元為徑向基函數,實現輸入空間到隱藏層空間的非線性映射。通常情況下,隱藏層神經元的個數較多,即特征空間的維數要遠大于輸入空間的維數。常用的徑向基函數有高斯函數(Gauss)、反 S型函數(Reflected Sigmoidal)、擬多二次函數(Inverse multiquadric)等。 而對于每個徑向基函數中心求取問題最常用的方法是K-均值聚類算法[12]。針對某一傳感器數據yi,包含M個輸入數據,L個隱藏層神經元的RBF神經網絡的基本結構如圖3所示。

圖3 RBF神經網絡基本結構Fig.3 Basic structure of RBF neural network
假設隱藏層神經元的徑向基函數為φl,(l=1,2,…,L),每個隱藏層神經元到輸出層的權值為wl,則RBF神經網絡輸出函數可以表示為

式中:X={x1,x2,…,xM}為輸入層信息;φl(X)=‖XCl‖;Cl為第l個徑向基函數的中心。采用K-均值聚類算法確定中心點的基本步驟如下:
步驟1 隨機選取K個訓練樣本X作為聚類中心C;
步驟2 按照X與Cl之間的歐式距離將所有的訓練樣本分配到各個聚類集合中;
步驟3 按照分配聚類集合重新調整聚類中心,直到新的聚類中心不再發生變化為止,否則返回第二步,重新求解。
而對于RBF神經網絡訓練的終止條件可以參照BF神經網絡中的式(4)進行誤差計算。若基函數采用高斯函數,則可以用最小均方誤差LMS直接計算得到。
為了驗證本文提出方法的有效性以及不同神經網絡在該應用中的性能,搭建了如圖 4所示的實物系統。其運行機理為將閥門V3開至某一固定位置,通過調節自動閥門V1,V2的大小控制水箱液位L1,L2。其中L1依靠水泵M產生的壓強以及閥門V1進行調節,而L2利用左右2個水箱的液位差以及閥門V2進行調節。該系統中,管道和水箱均部署了相應的液位傳感器和流量計,并在電機的出水口部署了一個壓力傳感器檢測水泵出水的壓強。

圖4 雙容水箱結構示意Fig.4 Structure diagram of double-tank system
實驗系統中,水泵為一般的交流電機,可以近似看作恒功率輸出,因此閥門V1開度越大,管道內壓強P1越小。同時,各個液位值和閥門開度之間存在如下關系:

假設L1傳感器數據為系統最為關鍵的狀態,通過式(6)方程之間的變量替換,可得到一組較為復雜的關系式:

則此時 L1的觀測函數可表述為 f(L2,V2,ΔL2)。
本實驗中,采用Matlab函數newff以及newrbe分別對BP神經網絡和RBF神經網絡進行訓練。BP神經網絡函數原型為 newff(P,T,S),其中 P 表示輸入向量,T表示輸出向量,S的維度表示隱藏層數量,每個元素表示對應層的神經元數量。RBF神經網絡函數原型為 newrbe(P,T,spread),其中 P 表示輸入向量,T表示輸出向量,spread表示徑向基的擴展速度(默認為1.0)。
數據采樣條件為L1,L2使用PID算法實時調節,L1,L2的設定值隨機更改。采樣時間間隔1 s,采樣數據2400組。其中,前1200組作為訓練集,后1200組作為測試集。
在使用newff函數對數據進行訓練時,主要是隱藏層個數以及每層神經元的個數需要調整。由于輸入向量維度較低(3維),因此本文分別使用單隱藏層、雙隱藏層、三隱藏層對網絡進行訓練,每層隱藏層個數分別取1~10。訓練效果對比情況如表1所示,隱藏層數量越多,則最有可能找到最佳的訓練網絡。但是,每層神經元的數量與訓練效果并無明顯規律。以如圖5所示雙隱藏層中每層神經元個數與測試集最大百分比誤差對比圖為例,可以看出,最佳的訓練網絡存在于每層神經元個數5~7個左右。

表1 不同隱藏層數訓練效果對比Tab.1 Comparison results under different numbers of the hidden layer

圖5 雙隱藏層中神經元個數與誤差對比圖Fig.5 Error comparison under different numbers in the first and second hidden layer
圖 6所示為當三隱藏層神經網絡(每層神經元的個數分別是3,2,8)觀測結果和傳感器測量結果對比圖。從圖中可看出,神經網絡對L1液位變化率的變化趨勢有著很好的學習效果,誤差基本處于[0,0.01]之間,但是在某些局部位置(例如液位變化率下降時),誤差存在較大的波動。

圖6 BP神經網絡測試結果對比圖Fig.6 Observation results by sensors and BP neural network
在使用newrbe函數對數據進行訓練時候,spread參數值是唯一一個需要更改的參數。同時,在實驗中發現,在訓練過程中,調整spread使得網絡對訓練集誤差小,但是不一定能使得測試集誤差小。因此本文使用測試集對spread參數進行調整。圖7所示為spread參數在不同取值條件下的訓練誤差對比。從圖中可發現,當spread取值小于50時,誤差百分比遠遠大于100%,且隨著spread的值減小,誤差越大。當spread取值處于[50,100]范圍內,百分比誤差也幾乎呈遞減模式,處于50%左右。當spread取值處于[100,500]范圍內百分比誤差存在小幅度的波動,而當spread取值大于500時,誤差百分比趨于穩定,且小于10%。

圖7 Spread參數與誤差百分比對照圖Fig.7 Errors under different values of the parameter spread
圖 8所示為當spread=1000時網絡觀測結果和傳感器測量結果對比圖。從圖中可發現,神經網絡對L1液位變化率的變化趨勢有著很好的學習效果,誤差基本處于[-0.01,0]之間。

圖8 RBF神經網絡測試結果對比圖Fig.8 Observation results by sensors and RBF neural network
結合實驗結果可知,無論是BP神經網絡還是RBF神經網絡都能正確地學習到過程對象的行為(趨勢和數值均在合理范圍),從而驗證了本文提出的思想的可行性。同時,盡管在本實驗中兩個網絡的學習時間都很短(每次訓練的時間均小于2 s),但是由于BP神經網絡存在隱藏層層數以及每層神經元個數都需要確定,而且沒有很明顯的規律可循,因此在確定網絡結構的時候需要的時間復雜度很高。
以三隱藏層網絡為例,盡管每層網絡的神經元個數限制在10個以內,仍然需要10*10*10的訓練次數,才能找到最優解。假設每次訓練時間為2 s,則整個過程的時間達到了2000 s。對于更加復雜的系統,這個時間將呈幾何數量增長。而RBF神經網絡只需要確定spread參數的值,而且存在一定的規律性。因此,從訓練時間方面來說,RBF神經網絡要優于BP神經網絡。
從效果方面來說,盡管本實驗中BP神經網絡的隱藏層結構包含1,2,3層,但是最大百分比誤差最小值超過10%(實際為12.82%)。而RBF網絡的最大百分比誤差小于10%(實際為8.92%)。雖然,在本實驗中,對RBF神經網絡的訓練已經達到最優解,而BP神經網絡的效果仍然還有提升的空間(增加隱藏層的數量或者增加每層神經元的個數),但是在一定的誤差允許范圍內,RBF神經網絡要優于BP神經網絡。總之,通過本實驗發現,RBF神經網絡不僅在時間維度上,而且在訓練效果方面均要優于BF神經網絡。
然而,由于本實驗僅僅是在一個簡單的過程控制系統進行驗證,存在一定的局限性。為了充分說明本文提出方法的有效性及性能,需要涉及更多的行業或領域。因此,進一步的研究思路及方向,考慮從其它行業的傳感器系統入手,在研究系統機理的基礎上,研究其傳感器數據的觀測方法。
參考文獻:
[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多類分類在傳感器故障診斷中的應用[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].自動化與儀表,2015,30(2):9-12.
[10]金丕彥,芮勇.BP算法各種改進算法的研究及應用[J].南京航空航天大學學報,1994(S1):201-205.
[11]雷兆明,王東澤,花季偉,等.基于改進RBF神經網絡的鋼構件質量預測研究[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.