袁旭華, 惠小靜
(延安大學數學與計算機科學學院,陜西延安 716000)
隨著農業科學技術的發展,智能節水灌溉、溫室監控、精細農業和牲畜精細管理等的應用越來越廣泛。無線傳感器網絡(wireless sensor networks,簡稱WSNs)通過對監測區域部署各種類型的傳感器節點,以近距離多跳自組織的形式傳輸數據,傳感器節點感知采集數據,并最終將處理后的數據反饋給決策者和傳送給所需的用戶[1]。近年來,農業WSNs的研究主要針對傳感節點硬件設計、路由協議、數據傳輸、數據處理和能量有效等方面,并取得了大量的成果[2]。在精細農業應用領域中,由于須要監測的區域一般都較大,且節點所處外界環境惡劣、復雜,常常容易出現各種各樣的故障;節點出現故障,容易出現節點失效,造成采集的數據不可靠或數據失真,致使網絡出現崩潰等問題[3]。WSNs節點發生硬件故障的概率比其他問題高很多,也較嚴重,因此有必要對WSNs節點故障診斷方法展開深入研究[4]。
通過對傳感節點進行故障診斷,可以及時準確地對傳感節點出現的各種異常狀況、故障狀態進行預防診斷,給出預測措施;對傳感網絡的可靠穩定運行進行指導,以保證網絡的穩定性、可靠性和可用性,把節點硬件出現的故障損失降低到最低,從而有效地發揮傳感節點的最大作用。傳感節點硬件故障是農業無線傳感器網絡各種故障的基礎和先決條件,也是農業WSNs故障診斷中亟須解決的問題,因此對其進行研究具有重要的意義。
一般而言,傳感器節點由電源模塊、中央處理器(central processing unit,簡稱CPU)控制模塊、傳感模塊、存儲模塊和通信模塊組成,傳感器網絡主要由終端節點、路由節點和匯聚節點組成。其中終端節點完成感知數據采集,路由節點負責節點數據傳輸,匯聚節點(Sink)負責數據收集并上傳到處理中心。終端節點在整個數據采集過程中尤為重要,主要由電源模塊、CPU控制模塊、無線通信模塊、傳感感知模塊和存儲模塊等5個模塊組成。無線傳感器網絡節點硬件故障分類如圖1所示。

目前,許多專家學者已開始對傳感節點進行故障診斷研究,并取得了一些成果。雷霖等針對無線傳感器網絡節點硬件故障診斷問題,提出基于粗糙集理論的故障診斷方法,有效地對傳感節點的各個模塊進行具體診斷和定位,且診斷準確率較高[5]。馮志剛等針對傳感器的故障診斷問題展開研究,提出一種基于小波包和支持向量機的故障診斷方法,能有效地應用于傳感器的感知診斷[6]。Jiang提出一種改進的分布式故障診斷(distributed fault detection,簡稱DFD)節點故障診斷方法,大幅提高了節點故障診斷的精度[7]。莊夏等提出一種基于人工免疫和模糊K均值的傳感器節點故障診斷方法,將求解故障診斷問題轉化為求取目標函數最優解問題,引入智能優化算法,準確地實現節點故障診斷[8]。以上方法部分提高了節點硬件故障的診斷精度,但其算法較為復雜、收斂速度較差,且以犧牲網絡能量的方式來提高故障診斷精度。本研究利用極限學習機學習時間短、參數設置少、泛化能力好等特點,將采集的節點硬件故障樣本數據引入訓練好的極限學習機中,以期實現節點硬件故障的識別。
2006年,Huang等提出一種新的極限學習機(extreme learning machine,簡稱ELM)算法[9]。ELM網絡模型主要由輸入層m、隱含層M、輸出層n等3個網絡層以及ELM網絡輸入權值ω和輸出權值β組成。g(x)是ELM的隱含層神經元激活函數,參數bi是ELM的閾值。圖2為極限學習機的網絡模型[10]。

假定有N個不同樣本(xi,ti),1≤i≤N,其中ELM的輸入層節點個數xi=[xi1,xi2,…,xim]T∈Rm,ELM的輸出層節點個數ti=[ti1,ti2,…,tin]T∈Rn。其中參數m、n分別為網絡輸入層、輸出層的節點個數,極限學習機的網絡模型可以用數學表達式表示為
(1)
式中:ωi=[ωi1,ωi2,…,ωim]T,表示ELM的輸入權值向量;βi=[βi1,βi2,…,βin]T,表示ELM的輸出權值向量;Oj=[Oj1,Oj2,…,Ojn]T,表示ELM的網絡輸出值[11]。
極限學習機的代價函數E表示為
(2)
式中:S=(ωi,bi),i=1,2,…,M,ωi和bi分別為網絡輸入權值、隱層節點閾值;β表示輸出權值矩陣;tj表示輸出層節點個數。根據Huang等指出的極限學習機方法[9],對ELM算法訓練的最終目的是尋找最佳S、β值,從而保證輸入值與對應輸出值的差值最小,即min[E(S,β)]的數學計算公式為
(3)
式中:參數H為ELM隱層輸出矩陣;β為ELM輸出權值矩陣;T為訓練樣本集中的ELM目標值矩陣。參數H、β、T的計算公式分別為
(4)
(5)

(6)

利用極限學習機故障診斷方法迭代運算50次后,得到傳感節點硬件故障診斷模型;將感知節點采集的故障樣本數據進行匯總分類,并對其進行分組測試和訓練;將訓練好的診斷模型對測試組節點硬件故障數據樣本進行故障診斷。極限學習機在傳感節點硬件故障診斷算法中的具體實現步驟如下:
步驟1:收集傳感器網絡節點硬件的5種故障歷史的數據和信息,并對傳感節點硬件故障表現出來的征兆與5種硬件故障類型進行整理分類,建立無線傳感器網絡節點故障樣本數據庫,并初步建立故障樣本決策表。
步驟2:對收集到的無線傳感器網絡節點硬件故障樣本決策表建立相應的決策矩陣,簡化節點硬件故障樣本決策表。
步驟3:將收集到的節點硬件故障樣本分為訓練樣本和測試樣本等2組,運用極限學習機故障診斷方法對訓練樣本的故障數據進行訓練,提高本研究算法的故障診斷精度。
步驟4:將訓練好的極限學習機節點硬件故障診斷方法應用到樣本測試中,測試本研究算法的故障診斷精度。
引入極限學習機方法的無線傳感器網絡節點故障診斷流程如圖3所示。

本研究主要從節點硬件故障診斷精度和不同節點故障率對網絡診斷精度(虛警率)的影響等2個方面進行對比分析。
對監測區域的傳感器節點進行節點硬件故障診斷試驗,假定大多普通節點正常工作;對監測區域的環境信息和目標信息進行監測,實時采集感知數據,媒體介入層(media access control,簡稱MAC)協議采用競爭方式使用共享機制的無線信道。本研究提出的極限學習機節點故障診斷方法運行在Sink節點中,不考慮Sink節點的能耗問題。無線傳感器網絡節點硬件故障診斷一般通過節點故障表現出來的征兆得出對應的故障類型。感知節點出現故障表現出來的征兆主要有收到的數據異常、系統工作不正常、節點無線通信不正常、節點能量不夠、發射功率低于設置的門限閾值等。對采集數據建立的無線傳感器網絡節點故障征兆和對應的屬性值如表1所示。

表1 傳感器節點故障征兆及屬性值
無線傳感器網絡節點硬件故障主要由5個模塊組成,因此可以從模塊化的思路來分析節點硬件故障診斷、節點故障類型及其相應征兆(表2)。
由表1可知,傳感節點各模塊發生故障的表現具有多樣性和相關性,同時,節點故障表現出的故障征兆可以被實時讀取。本研究定義節點硬件故障征兆初始取值為0,表示節點一切功能正常;當某個模塊出現故障時,定義為1。因此,根據表2可以得到如表3所示的節點硬件故障樣本決策。

表2 傳感器節點故障診斷經驗征兆樣本

表3 傳感節點故障樣本決策
從表3可以看出,傳感節點樣本決策分類冗余、效率低、決策規則不夠簡潔,從而降低節點硬件故障診斷效率。另外,由表1、表2可以看出,節點硬件故障征兆具有多樣性和相關性,故障診斷決策表現出模糊性和不確定性,而極限學習機方法具有學習時間短、參數設置少、泛化能力好等特點,因此將采集的節點硬件故障樣本數據引入到訓練好的極限學習機中,可以實現節點硬件故障的識別。
對本研究算法進行試驗驗證,將表3中的節點硬件故障征兆樣本數據作為采樣數據,對400組不同節點硬件故障現象反饋的數據進行分類。極限學習機參數設置:選擇網絡的隱層節點數為10,以20為周期增加隱層節點數,直至200。另外,ELM的隱含層激活函數根據需要選擇Hardlim函數進行學習。考慮外界不同環境對節點通信的影響和干擾,將傳感節點采集數據的可靠性設置為98%,節點硬件故障診斷精度如表4所示。

表4 節點故障診斷測試數據精度判斷 %
將本研究算法分別與BP(back propagation)神經網絡、改進的徑向基函數(radical basis function,簡稱RBF)神經網絡和粒子群算法(particle swarm optimization,簡稱PSO)進行試驗對比分析。從圖4可以看出,BP神經網絡算法、變精度粗糙集(variable precision rough set,簡稱VPRS)和RBF神經網絡結合(VPRS-RBF)算法、粒子群算法算法和極限學習機算法等4種無線傳感器網絡節點硬件故障診斷方法的正確率分別為79.1%、84.3%、88.1% 、93.9%。本研究算法故障診斷精度比其他3種算法分別高14.8、9.6、5.8百分點,能較好地適用于WSNs節點硬件故障診斷。

不同故障率情形下對傳感網絡的影響不同。本研究采用MATLAB 2014b對WSNs節點硬件故障診斷進行算法仿真試驗及結果分析,節點硬件故障診斷精度采用節點故障診斷檢測率(fault detection rate,簡稱FDR)和故障診斷虛警率(false alarm rate,簡稱FAR)等2個指標來衡量,節點的其他參數設置與文獻[12]相同,本研究的節點硬件故障率為0.05~0.30,分析不同算法故障診斷效果之間的差異。將本研究算法與文獻[12]中BP算法的節點故障診斷方法、文獻[13]中提出的基于VPRS-RBF神經網絡的節點故障診斷方法、文獻[14]中提出的基于粒子群算法的節點故障診斷等3種方法進行對比分析。
從圖5可以看出,傳感節點的故障率較低時,4種故障診斷算法均能較好地對節點硬件故障進行診斷,其診斷精度差別不大。隨著傳感節點硬件故障率的逐漸增加,4種算法的故障診斷精度均逐漸下降,其中文獻[12]中提出的BP神經網絡節點故障診斷方法診斷精度的下降幅度最大,從0.96下降到0.71;文獻[13]中提出的基于VPRS-RBF神經網絡節點故障診斷方法的診斷精度下降幅度也較大,從0.96下降到 0.77;文獻[14]中提出的基于粒子群算法節點故障診斷方法的精度下降幅度較小,從0.98下降到0.85,而本研究的極限學習機算法的故障診斷精度下降幅度最小,從0.98下降到0.93。
從圖6可以看出,節點故障率較低時,4種算法的故障診斷虛警率均較低;隨著節點故障率的增加,4種故障診斷算法的診斷虛警率均逐漸增大,其中BP神經網絡故障診斷方法的增加幅度最大,改進RBF神經網絡節點故障診斷方法的虛警率增加幅度較大,基于粒子群算法節點故障診斷方法的虛警率增加幅度較小,極限學習機故障診斷方法的虛警率增加幅度最小。


從圖5和圖6可以看出,本研究提出的基于極限學習機的節點硬件故障診斷方法能有效地對傳感節點故障進行診斷,提高節點魯棒性,提升網絡穩定性和可靠性。
農業無線傳感器網絡節點故障診斷是一個亟須解決的問題。本研究首先對節點故障分類與故障原因進行深入分析,并分析節點硬件故障所存在的問題,之后提出一種基于極限學習機的無線傳感器網絡節點硬件故障診斷算法,該算法可以針對節點各個模塊的故障特性快速、準確、可靠地對WSNs節點硬件故障進行診斷,并提出相應的修復意見,有效地降低節點故障概率,提高網絡運行可靠性和容錯性。同時本研究提出的算法具有實現容易、學習速率快、故障診斷精度高等特點。但本研究所提出的方法仍存在一些缺陷,即不適用于大規模農業無線傳感器網絡中節點出現故障較高等情況。
參考文獻:
[1]Hu L,Zhang Z Y,Wang F,et al. Optimization of the deployment of temperature nodes based on linear programing in the internet of things[J]Tsinghua Science and Technology,2013,18(3):250-258
[2]Hou L,Bergmann N W. Novel industrial wireless sensor networks for machine condition monitoring and fault diagnosis[J]. IEEE Transactions on Instrumentation and Measurement,2012,61(10):2787-2798.
[3]Yue Y G,Li J Q,Fan H H,et al. Optimization-based artificial bee colony algorithm for data collection in large-scale mobile wireless sensor networks[J]. Journal of Sensors,2016,2016:1-12.
[4]Panda M,Khilar P M. Distributed self fault diagnosis algorithm for large scale wireless sensor networks using modified three sigma edit test[J]. Ad Hoc Networks,2015,25:170-184.
[5]雷霖,代傳龍,王厚軍. 基于Rough set理論的無線傳感器網絡節點故障診斷[J]. 北京郵電大學學報,2007,30(4):69-73.
[6]馮志剛,王祁,徐濤,等. 基于小波包和支持向量機的傳感器故障診斷方法[J]. 南京理工大學學報(自然科學版),2008,32(5):609-614.
[7]Jiang P. A new method for node fault detection in wireless sensor networks[J]. Sensors,2009,9(2):1282-1294.
[8]莊夏,戴敏,何元清. 基于人工免疫和模糊K均值的傳感器節點故障診斷[J]. 計算機測量與控制,2013,21(3):611-613.
[9]Huang G B,Zhu Q Y,Siew C K,et al. Extreme learning machine:theory and applications[J]. Neurocomputing,2006,70(1/2/3):489-501.
[10]Pan C,Park D S,Yang Y,et al. Leukocyte image segmentation by visual attention and extreme learning machine[J]. Neural Computing and Applications,2012,21(6):1217-1227.
[11]Yang Y M,Wang Y N,Yuan X F. Bidirectional extreme learning machine for regression problem and its learning effectiveness[J]. IEEE Transactions on Neural Networks and Learning Systems,2012,23(9):1498-1505
[12]李智敏,陳祥光. 無線傳感器節點模塊級故障診斷方法的研究[J]. 儀器儀表學報,2013,34(12):2763-2769.
[13]謝迎新,陳祥光,余向明,等. 基于VPRS和RBF神經網絡的WSN節點故障診斷[J]. 北京理工大學學報,2010,30(7):807-811.
[14]余成波,李芮,何強,等. 基于粒子群算法及高斯分布的WSN節點故障診斷[J]. 振動、測試與診斷,2013,33(1):149-152,172.