張文安,洪 毅,史秀紡,葛其運
(1.浙江工業大學信息工程學院,浙江 杭州 310023;2.科潤智能控制股份有限公司,浙江 江山 324100)
在如今日益提倡“萬物互聯”的背景下,無線傳感器網絡已逐步影響著人們生活的方面。隨著各行各業的飛速發展,對傳感器系統的要求也越來越高,尤其是在軍事、交通等領域中,需要傳感器系統具有較高的可靠性、靈活性、精確性以及抗干擾性。然而在實際環境中,無線傳感器網絡容易受到外界因素或自身因素的干擾,例如在無線傳感器網絡中,傳感器之間交互的數據容易受到黑客的篡改,從而影響系統的決策;在車聯網系統中,當傳感器自身能耗較大時,一旦傳感器供電不足,其采集到的數據將不再具備連續性,這將對智能交通系統造成極大的影響。因此,為保障系統的正常運行,傳感器一旦出現異常,需要快速檢測出異常情況并識別異常傳感器。
針對無線傳感器網絡的異常檢測,現有的研究方法主要有三類:基于深度學習的方法、基于信息融合的方法和基于圖模型的方法。在基于深度學習的方法中,文獻[1]基于LeNet-5卷積神經網絡設計了合適的卷積層特征面及全連接層的參數,構造了3種新的卷積神經網絡模型,并通過模型的卷積層自主學習數據特征,從而對傳感器異常數據進行檢測,該方法解決了傳統檢測算法的性能容易受到相關閾值影響的問題。文獻[2]中利用卷積神經網絡(CNN)中的卷積層和池化層提取傳感信號之間的相關特征,并在此基礎上通過全連接層診斷傳感器異常。基于信息融合的算法對無線傳感器網絡的異常診斷也有良好的效果,如文獻[3]提出了一種基于卡爾曼濾波的傳感器融合算法,結合信息熵方法對無線傳感器網絡進行異常檢測,文獻[4]中將貝葉斯推理法與多源信息融合相結合,來診斷無線傳感器網絡中的異常信息。基于深度學習的方法和基于信息融合的方法都只是利用傳感器之間的數據時間關聯性進行建模分析,對于傳感器在空間上的分布情況考慮較少,這會造成模型對數據的依賴性較高從而忽視傳感器之間的空間分布關聯度。基于圖模型的方法能彌補上述方法的不足,Sandryhaila和Moura在文獻[5]中首次提出利用圖高通濾波器對無線傳感器網絡進行異常檢測,該方法通過圖頻譜判斷無線傳感器網絡是否出現異常,且異常檢測率較高。盧等人在文獻[6]中利用傳感器節點的頂點域平滑性與圖頻域低頻特性聯合分析方法計算低通濾波前后圖信號的平滑度,建立平滑程度判決準則,實現對異常節點的存在性判斷。然而以上方法只能判斷無線傳感器網絡中是否存在異常情況,并不能成功識別異常傳感器,如何在無線傳感器網絡中識別異常傳感器仍具有一定挑戰。
文獻[7]通過傳感器采集的歷史數據,構造非線性多項式圖濾波器即數據重構模型擬合圖上傳感器歷史數據,將實時數據作為模型的輸入,通過對比每個傳感器上輸出信號與輸入信號的殘差大小從而判斷傳感器的異常情況,該方法檢測率高于經典的圖頻率檢測方法,尤其是對于較小的信號擾動,其檢測效果優勢較為明顯,然而該方法所設計的非線性模型參數較多,且算法中的閾值求取也較為復雜。文獻[8]進一步改進了文獻[5]的結果,將傳感器網絡劃分為多個子網絡并定義為子圖,利用子圖的特定頻率來識別異常節點,該方法針對密集節點群有較好的識別效果,但對于稀疏節點群以及邊緣節點中的異常節點識別效果較差。針對以上問題,本文提出了一種基于子圖拉普拉斯譜的異常傳感器檢測及識別算法,從而提高稀疏節點群及邊緣節點群中的異常節點檢測及識別性能。本文方法有如下特點:①在保證內部密集節點群異常檢測效果的基礎上,通過將整體圖模型進行子圖劃分,增強邊緣節點群及稀疏節點群中異常節點的在圖上的重要性,從而提高邊緣節點群及稀疏節點群異常檢測效果。②對于子圖網絡拓撲結構,本文通過只構建中心節點與鄰居節點的邊連接,省去鄰居節點之間相互的邊連接的方法,突出子圖中心節點的重要性,降低計算復雜度。③本文所提方法較易實現,通過將圖頻域信號還原,對比還原信號與原信號的差異,能快速找出異常節點。
圖信號處理(Graph Signal Processing)是將經典的規則域數字信號處理工具,如信號采樣[9]、傅里葉變換[10]、濾波[7]和頻率響應[11],延伸到圖上非規則域信號處理的一種新興的研究工具。高維數據的低維表示是圖模型處理數據的優勢之一,其對信號的處理提供了極大的方便。對此本文利用圖模型來處理傳感器所采集的數據,并分析檢測異常傳感器及其所在位置。
首先用圖模型表示一個無線傳感器網絡,如圖1所示,圖上黑點代表傳感器,黑點之間的邊代表傳感器之間的通信。

圖1 無線傳感器網絡圖模型
用G表示一個圖模型,模型上的節點集用V表示,節點之間的連線(即邊集)用E表示,則一個圖可以簡單的用G(V,E)表示。對于一個傳感器個數為N的網絡,為了反映圖上節點之間的連接關系,定義了鄰接矩陣A,若節點i與節點j之間有邊連接,則A(i,j)=1,反之,則A(i,j)=0其中i,j=1,…,N。如果考慮不同節點之間的關聯程度,可根據問題的需求來定義節點與節點之間的權重關系,于是可將鄰接矩陣調整為鄰接權重矩陣W,即

式中:w i j表示節點i與節點j的連接權值。本文在邊權重的選取上主要參考文獻[11]中兩方面的因素:節點間距離以及相鄰節點歷史信號差值。節點間的關系是正相關的,對此利用高斯核函數定義節點間的邊權重:

式中:r ij為節點i與節點j的歐式距離,r i j=‖x ix j‖,其中x i,x j分別為節點i,j的位置。e ij(T)表示T時刻節點i與節點j歷史信號差值的平均值,即

式中:f i(t),f j(t)表示為第i個節點與第j個節點在t時刻采集的信號,T表示當前時刻。σij和σg是可調參數,分別控制節點間距離及節點間信號相似度對權重選擇的影響。根據鄰接權重矩陣可構造度矩陣D,其內部的元素d i j的定義如下:

度矩陣是一個對角陣,其所在行或列的對角元素值越大,則所對應的節點對于整體圖的關聯程度越大。
在經典的離散數字信號處理方法中,通常利用傅里葉變換將不同角頻率的三角函數作為正交基,求出信號在不同正交基上的分量,從而將信號進行分解。與離散傅里葉變換類似,圖傅里葉變換的目的也是通過線性映射來獲取圖信號在不同頻率上的分量。為此引進圖拉普拉斯矩陣L。對于圖而言,圖拉普拉斯矩陣等價于圖信號的梯度的散度,其數值上等于

圖拉普拉斯矩陣是一個半正定對稱矩陣,其特征向量相互正交,可以構成圖頻域的正交基,其特征值可作為圖信號的頻率。
本文選擇圖拉普拉斯譜對圖信號進行處理。將圖拉普拉斯矩陣L進行特征值分解:

式中:Λ=diag{λi},i=1,2,…,N,λi為L的特征值,正交矩陣U=[u1,u2,…,u N],u i∈?N為特征值λi對應的特征向量,u1,u2,…,u N構成了圖頻域中的正交基,傳感器所采集到的信號可表示為:

式中:列向量f(t)=[f1(t),f2(t),…,f N(t)]T∈?N表示t時刻所有傳感器采集到的信號,系數a1,a2,…,a N表示信號在不同特征頻率上的分量,向量u1,u2,…,u N對應的特征值滿足:

在圖信號的拉普拉斯譜中,較小的特征值對應較低的頻率,將圖上傳感器收集到的信號投射到不同頻率的正交基上,即左乘UT便可將信號從節點域轉換到圖頻域:


圖2 2013年3月某天洛杉磯溫度信號頻譜圖
當傳感器采集的數據異常增大或減小時,類似在正常信號上加了噪聲,其高頻分量將會出現異常增大的情況。為便于觀察異常信號對高頻分量的影響,采用文獻[8]中的高通濾波器對信號進行預處理

式中:H為高通濾波器(t)]T∈?N是經過高通濾波處理后的高頻圖信號。將預處理后的信號轉換到圖頻域上,得


圖3 不同區域存在異常節點的高通信號頻譜對比圖
本文設計的異常節點檢測及識別算法分為三部分:子圖劃分,濾波設計,異常節點檢測及識別。
為了增強圖上邊緣、稀疏節點群中節點的重要程度,并在這些節點出現異常時,能快速檢測并識別異常節點,本文首先對整體圖模型進行劃分,其劃分情況如圖4所示,將圖上每一個節點和它最近的M個相鄰節點共同構成子圖模型G i=(V i,E i,W i),i=1,2,…,N,第i幅子圖的節點集合V i=[vi,1,v i,2,…,vi,M+1],其中vi,1表示子圖i的中心節點,其余節點為中心節點的鄰居節點。在未知節點間網絡連接通信的情況下,為節省通信開銷,降低矩陣求逆時的計算難度,突出中心節點在子圖中的重要作用,所構造的子圖模型中,鄰居節點間不存在邊連接。

圖4 子圖劃分示意圖
在子圖模型中,節點之間的信號差異較小,所以在頻譜圖上,信號的分量會主要集中在低頻段,根據式(7)可知傳感器上采集的信號可由不同頻率分量的信號線性組合構成,而高頻分量遠小于低頻分量,且信號間的異常波動體現在高頻分量上,因此本文首先設計一個低通濾波器,對高頻分量進行抑制,將圖頻域上的信號進行維度壓縮

式中:p i,k∈?M+1是子圖i所設低通濾波器的第k個列向量,P i=[p i,1,p i,2,…,p i,M+1]為子圖i的低通濾波器,u i,1,u i,2,…,u i,M+1表示子圖i的圖拉普拉斯矩陣特征分解后的特征向量,其對應的特征值構成的特征值矩陣表示為Λi=diag{λi,k},k=1,2,…,M+1。通過設置的低通濾波器,可以保留圖頻域信號的低頻分量,將信號中的噪聲濾除,從而保證相鄰節點之間信號的相似度。圖頻域信號在經過低通濾波器處理之后將還原回節點域

本文所提出的異常傳感器檢測及識別算法的流程如圖5所示。

圖5 異常傳感器檢測及識別算法流程圖
經過低通濾波器處理后,節點間信號的波動將會減小,將還原后的信號與最初節點采集得到的信號進行對比,計算子圖i中各節點的還原信號與采集信號的絕對差值

對于子圖i,若Δf i,1(t)大于所設定的閾值θ1,則將子圖G i歸于集合S1,若Δf i,k(t)大于所設定的閾值θ2,則將子圖G i歸于疑似異常子圖集合S2。對節點i的異常情況首先進行預判定

當TF(i)=1時,則判定節點i出現異常,當TF(i)=0時,需對節點i進行下一步檢測。將包含節點i的所有子圖設為集合C i,將集合S2中包含節點i的子圖設為集合S2,i,則節點i的狀態TN(i)可定義為:

式中:|S2,i|表示集合S2中包含節點i的子圖個數,|C i|表示包含節點i的所有子圖個數,ε為所設閾值,當TN(i)=1時,節點i同樣被認為存在異常情況。最終,用狀態TS(i)來判斷節點i是否存在異常情況:

若TS(i)=1,則認為節點i存在異常情況,反之則為正常節點。
本文所用數據集來源于美國國家氣象局官方網站公開的全球溫度數據集[12]。本文選取2013年,經度在東經54°~東經69°,緯度在南緯6°~北緯17°,海拔高度在50米以下的49個溫度傳感器節點的前5個月的數據作為實驗仿真數據,驗證所提算法的有效性。首先驗證邊緣異常節點的檢測及識別性能,針對某一天的溫度數據隨機選擇一個邊緣節點進行人為攻擊,其攻擊方式是在原有采集數據的基礎上增加15℉,采用本文所提的子圖方法進行檢測,經過子圖處理后,其高通信號頻譜圖如圖6所示,可以看出,即使邊緣節點出現問題,也能在頻譜圖高頻分段上表現出差異。

圖6 邊緣節點群單個節點受到攻擊時高通信號頻譜子圖
對于異常節點的識別,利用本文設置的低通濾波器把圖頻域信號還原至節點域信號,當1號邊緣節點出現問題時,其信號對比如圖7所示。

圖7 1號邊緣節點出現異常時,還原信號與采集信號對比圖
從圖7(a)中可以看出,1號節點在受到攻擊時,由于其是邊緣節點,在圖上位置與圖上許多節點較為疏遠,即使出現問題也不易在整體圖中檢測出異常現象;當采用本文所提的方法進行檢測時,如圖7(b)所示,經子圖和低通濾波器處理之后,1號節點與原先采集的信號相比,偏差較大,即可認為1號節點出現異常。
針對所采用的數據集,選擇連續65天內,49個節點的溫度數據。在本文所提算法中,利用箱形統計圖方法[13],確定閾值θ1=10,θ2=7.5,ε=0.9。為說明所提算法性能,本文與文獻[8]中的方法、FD[14]、DFD[15]、基于雙鄰域算法[16]以及分簇算法[17]進行對比,從以下四個指標來說明算法的性能:檢測率DR(Detection Rate)、定位率TPR(True Position Rate)、漏檢率MR(Missing Rate)、誤檢率ER(Error Rate)。實驗總次數記為Tall,將檢測出存在異常節點的實驗次數記為Tdet,將能檢測出所有真實異常節點的試驗次數記為Ttrue,未能檢測出所有真實異常節點的試驗次數記為Tmiss,將檢測出非真實異常節點的次數記為Terror,則有

首先分析單個節點異常的檢測性能。每次隨機選擇其中一個節點進行攻擊,首先測試異常增大的情況,其結果如表1所示。

表1 單個節點信號值異常增大15℉不同檢測方法的檢測指標表
從表1中可看出,本文所提算法對于單個節點異常精準識別率相較于其他方法有較大的優勢。[1]中所提方法也用采用了子圖模型,但其模型對節點間的連通性要求較大,本文的子圖模型更突出中心節點的重要性,且效果也遠比文[1]中的結果好。
當傳感器供電不足時,往往會出現無示數情況,于是本文檢測了單個傳感器信號值置0時,異常節點的檢測效果,其結果如表2所示。

表2 單個節點信號值置0不同檢測方法的檢測指標表
由于本文所選溫度的范圍在20~70之間,當出現節點信號置0的情況,異常節點在不同的算法下,檢測效果都增強了,但誤報率也普遍升高,整體上本文所提方法的誤報率優于其他方法。
由于無線傳感器網絡中存在多個傳感器同時出現異常的情況,因此,本文對多個傳感器同時出現異常的情況進行了驗證,其結果如表3和表4所示。

表3 隨機兩個節點信號值異常增大15℉不同檢測方法的檢測指標表

表4 隨機三個節點信號值異常增大15℉不同檢測方法的檢測指標表
從表3、表4可以看出隨著異常節點數目的增多,算法的檢測性能普遍下降,且誤報率和漏檢率明顯升高,但本文所提方法在多個節點出現異常時,仍能保持相對較高的識別率。
本文采用一種基于子圖拉普拉斯譜的異常節點識別方法對故障傳感器進行檢測識別,該方法在傳統頻譜法分析基礎上加以改進,提高了邊緣稀疏節點群中異常節點的檢測及識別準確率,且在一定程度上保證了俺去多節點異常時的檢測性能,算法易于實現且開銷較小,適合應用于無線傳感器網絡中。后續工作將在空間域的基礎上,增加時間域的判斷,以進一步提升識別精確度。