趙錫恒,何小敏,許亮*,李秀喜(.廣東工業大學自動化學院,廣州50006;.華南理工大學化學與化工學院,廣州50640)
基于免疫危險理論的無線傳感器網絡節點故障診斷*
趙錫恒1,何小敏1,許亮1*,李秀喜2
(1.廣東工業大學自動化學院,廣州510006;2.華南理工大學化學與化工學院,廣州510640)
針對無線傳感器網絡的故障特點以及故障診斷的自學習問題,本文提出一種基于免疫危險理論的無線傳感器網絡節點故障診斷算法。該方法利用危險觸發閾值來識別危險源,用遺傳算法生成抗體庫,基于K近鄰分類法構建多抗體故障檢測器并進行故障分類,通過追蹤故障數據變化更新抗體庫。實驗仿真證明,該算法與其他無線傳感器網絡故障診斷算法相比,在訓練數據較少的情況下,診斷準確率更高,效率更好,耗用硬件計算資源更少,并具備動態更新特性。
無線傳感器網絡;免疫危險理論;識別危險源;抗體庫;故障診斷
無線傳感器網絡WSNs(Wireless Sensor Networks)作為當今自動化領域的熱點,在全球范圍內被廣泛應用于農業生產、環境監測、智能家居、醫療保健等多個領域,通過其分布式的拓撲結多用于檢測溫度、濕度、壓力等環境信息[1]。但由于數量眾多的低成本、能量有限節點,被隨機部署在不可控區域,加之WSNs應用環境異常復雜和惡劣,WSNs時常會出現各種故障,降低或失去監控功能,對使用者造成嚴重的經濟損失甚至使整個網絡癱瘓,其可靠性是傳感器網絡應用的重要挑戰。而具有自學習、自適應、自診斷、自更新的智能故障診斷方法,是維護WSNs可靠運行的關鍵技術。
無線傳感網絡中的節點所采集的數據具有空間相關性與時間相關性的特點。故此,文獻[2]提出關于節點故障檢測算法大致可分為五類:基于多數投票策略的算法[3]、基于中值策略的算法[4]、基于決策擴散策略的算法、基于加權的算法[5]、基于分簇的算法[6]。
但從智能化和自動化的角度分析,面對WSNs功能日益復雜的發展趨勢,僅僅對節點實施故障檢測不足以滿足要求,且目前大多數的故障診斷算法并沒有考慮系統啟動時的硬件消耗,更沒有形成應對故障數據變化的在線學習機制。單純的故障檢測和診斷已不能滿足WSNs實際應用的需求。WSNs需要一種不過度消耗硬件資源,識別故障類型,且具有自適應的節點故障診斷算法。
目前,WSNs節點故障診斷領域主流的智能算法有支持向量機、人工神經網絡算法[7]、基于粗糙集的WSNs節點故障診斷算法[8-9]等。
基于免疫危險理論,本文提出一種具有自適應的節點故障診斷算法。該算法利用危險觸發閾值識別危險源,用遺傳算法生成抗體庫,基于K近鄰分類法對故障分類,利用故障數據在線更新抗體庫,并對其進行仿真和對比實驗。
傳統人工免疫理論通過識別“自我”“非我”判斷對機體有害的入侵源。這種機制存在嚴重局限性,而免疫危險理論則針對理論缺陷,提出修改。1994年,Polly Matzinger教授提出生物免疫危險理論IDT(Immune Danger Theory),認為免疫系統產生相應保護機制是根據危險信號的敏感程度,免疫反應是對細胞死亡過程作出的反應,危險信號的產生與檢測跟免疫生化反應密切相關[10-12]。免疫危險理論指免疫系統只對有害抗原進行免疫應答,這樣大大減小應答的規模,且更具有實際操作性。另外,免疫危險理論與傳統人工免疫理論同樣能通過更新抗體庫,對變異的抗原進行識別和免疫。
抗原入侵機體后會刺激免疫系統發生一系列復雜的連鎖反應,這個過程叫做免疫應答,或稱免疫反應。免疫應答一般分成兩次完成:初次應答和二次應答。免疫應答的基本過程[13]如下:

圖1 免疫危險理論的基本免疫原理
抗原初次感染機體后,會觸發危險信號,機體免疫系統馬上作出響應,發生初次免疫應答。免疫系統通過刺激有限的特異性克隆增殖,迅速產生抗體,以達到足夠的親和力閾值,清除抗原,并生產免疫記憶細胞,對下次遇到相同的抗原可以快速作出應答。二次免疫應答在免疫記憶細胞的幫助下,對抗原的應答更加迅速,無須重新學習[13]。
本文借助免疫危險理論,對WSNs節點故障診斷提出一種新算法。同時其作為一種仿生算法,具有極強的人工智能,提高WSNs節點故障診斷的效率和精度。本文提出基于免疫危險理論的WSNs節點故障診斷算法克服了WSNs的以下問題:①WSNs節點故障數據較少;②環境變化導致錯誤數據發生偏移;③節點能量和計算能力有限。
首先,本文介紹免疫學概念在WSNs節點故障診斷算法中的具體數學定義。
2.1 抗原、抗體
本文采用文獻[14]的方法,以小波包分析法分析鏈路質量信號獲得相應的網絡故障信息,從而提取出WSNs節點狀態特征向量。特征向量在免疫危險理論中以抗原、抗體的方式表示。基于免疫危險理論的WSNs節點故障診斷算法中,抗體實際上是檢測器(由控制后臺生成),并通過親和度(歐氏距離)診斷出抗原(節點狀態向量,由簇頭分析獲得)的故障類別。
例如,一個n維的抗體(或抗原)如式(1)所示:

若有m個抗體,每個抗體有n維特征,抗體庫就可表示為一個m行n列矩陣,如式(2)所示:

2.2 抗體庫
為便描述,假設將超過2維的數據通過高維圖像非線性映射法投射到二維空間上。在此基礎上,抗體庫模型被模擬成二維空間上的2個同心圓,其公共圓心為該抗體庫的中心位置,即生成這個抗體庫的疫苗,圓的半徑定義以歐氏距離為基礎;內圓為識別區,生成的抗體分布在這區域里;外圓環為更新區,任何抗原落在這區域,只要符合條件,就會觸發更新抗體庫。
2.3 親和度
親和度是抗體與抗原的結合程度。在故障診斷算法中,為描述抗原與抗體之間的關系需要把親和度進行量化。本文用歐氏距離表示親和度,如式(3)所示,設Ab、Ag分別是抗體和抗原的向量表示形式,維數為n。

歐氏距離越大,表明抗原抗體的親和度越低;反之,歐氏距離越小,兩者親和度越高。為研究的便捷性和實際性,本文采用歐氏距離表示親和度的方法。本文中的親和度是判斷同類抗原,識別危險源的標準。
基于免疫危險理論的WSNs節點故障診斷算法分為訓練抗體庫,識別危險源,診斷分類,更新抗體庫4個部分。
3.1 WSNs網絡模型與故障分析
設N個WSNs節點隨機分布在某一特定區域中,這些WSNs節點都具有相同的通信半徑。如圖2所示,簇頭匯總WSNs節點傳遞的數據,并通過多跳的方式將其傳遞到控制后臺服務器[2]。

圖2 WSNs網絡模型
如2.1所述,算法利用文獻[14]介紹的小波包分析法分析鏈路質量(即WSNs數據包的強度和質量),提取出節點狀態特征向量,并主要針對網絡正常無故障、節點硬故障、通信協議軟件故障和文件傳輸軟件故障4種節點故障。其中節點硬故障主要表現為:電源模塊失效或者電池能量耗盡,處理器模塊失效,傳感器模塊失效和無線收發模塊不能進行數據收發。通信協議軟件按故障是指網絡運行時遇到異常或協議未提供可靠機制而導致的傳輸失敗。文件傳輸軟件故障是由于文件傳輸機制錯誤或者外界網絡干擾等造成的文件傳輸失敗[14]。當WSNs運行時,簇頭收集并分析簇內節點之間通信的鏈路質量,從而對監控區域內的所有節點進行監控和故障診斷。
3.2 訓練抗體庫
本部分用接種疫苗的方法,輸入疫苗(訓練抗原庫的中心),經過遺傳算子交叉、選擇、變異操作后生成新匹配記憶抗體庫。
一個訓練抗原庫以矩陣(m*n)的形式如式(4)所示:

故疫苗(抗原庫中心)(1*n)計算表達式以如式(5)所示:

用距離函數表示初始抗體與疫苗的歐氏距離,以初始抗體向量作為未知數,距離函數作為遺傳算法的目標函數,從而求出符合條件的新匹配記憶抗體向量,生成抗體庫。設V為n維疫苗向量,Ab為n維抗體向量,距離函數如式(6)所示:

本文提出的算法采用遺傳算法生成抗體,在控制后臺下運行以節省WSNs能耗。該算法部分結合了遺傳算法和人工免疫算法的優點,可以用小樣本數據快速訓練抗體庫。遺傳算子是進化的動力,輸入疫苗起到導向性作用,讓初始群體能朝著特定方向快速收斂到識別區。
3.3 識別危險源
根據時空相近性,正常節點的狀態特征向量在某一時刻一定處于某個范圍內(即存在相鄰性)。隨機找出一個節點并計算與其他節點狀態特征向量的歐式距離。若其歐式距離沒超過閾值,則認為節點狀態為同類。只要同類狀態的節點數量超過節點總數的一半,該類節點就被認為正常。其余節點則被識別為危險源。
3.4 診斷分類
診斷分類采用K近鄰分類法。算法以抗體作為檢測器,抗原與哪種抗體(檢測器)相鄰數最多,就被視為該類故障。用這種不精確匹配和投票的方式能使有限的抗體識別無限的抗原。
3.5 更新抗體庫
更新抗體庫是一個學習過程,作為人工智能診斷算法,必須具有更新抗體庫的能力。一旦在后續診斷分類工作中發現有危險抗原落入抗體庫更新區,簇頭會計算并重新調整中心位置,并轉入控制后臺訓練抗體。
調整中心的公式與計算抗體庫中心的公式類似,例如危險抗原落入更新區內,以矩陣(m*n)的形式如式(7)所示:

舊中心以向量(1*n)形式如式(8)所示:

則新中心以向量形式(1*n)如式(9)所示

3.6 基于免疫危險理論的WSNs節點故障診斷算法的基本步驟和流程圖
begin
初始化參數
input疫苗(vaccine)
轉入控制后臺運行
建立初始群體(initial group)
輸入目標函數
for每個個體
計算目標函數下的個體適應度fitness
while fitness<threshold
進行遺傳操作
end while
end for
output抗體庫至簇頭并轉入簇頭
n=監控節點個數
a=0
for i=1:n-1
for j=i+1:n
計算節點i與節點j狀態特征向量的歐氏距離dij
if dij>threshold
then a=a+1
if a>n/2
then標記節點i觸發危險信號
else標記所有與節點i狀態特征向量歐氏距離超過
閾值的節點觸發危險信號
end if
end if
end for
end for
以抗體庫為檢測器,啟動K近鄰算法進行分類
if抗原落在抗體庫更新區內
then計算抗體庫中心位置并轉入控制后臺更新抗體
end if
end
基于免疫危險理論的WSNs節點故障診斷算法流程圖如圖3所示。

圖3 基于免疫危險理論的WSN節點故障診斷算法流程圖
3.7 基于免疫危險理論的WSNs節點故障診斷算法的時間復雜度
O()為本算法模塊里的基本函數時間復雜度,函數類型(O1至O3)分別為遺傳算法基本操作,歐氏距離比較算法,K近鄰分類法。
(1)控制后臺運行遺傳算法生成抗體庫
設初始Q個個體,最大迭代次數為M,共生成P個抗體,則時間復雜度

(2)簇頭運行歐氏距離比較法檢測危險信號
設共有N(N>3)個普通節點并有2個不同故障類別的故障節點,最壞情況下需比較((N/2)+ (N/2)+(N-3))次,故有時間復雜度

(3)簇頭運行K近鄰分類法(單個抗原情況)
因有P個抗體,故需分析比較P次,有時間復雜度

(4)時間復雜度分析
檢測危險信號和K近鄰分類法這2種算法在運算上基本類似于上文所述歐氏距離式(3),在簇頭上運行起到分布式檢測診斷的作用,且因公式運算簡單運算代價不高。抗體庫的生成涉及遺傳算法且抗體數量較多,置于后臺運行有助節省WSNs能耗。
本文所有實驗都在MATLAB R2010b上完成,所有實驗在Windows 7(Intel Core2 CPU P8600.2GB RAM)平臺下運行。危險信號觸發閾值設定為相距最近的兩類訓練數據中心歐氏距離的0.8倍。生成抗體庫的遺傳算法對生成數據向量中每個元素均定義在有意義的區間范圍內,FitnessLimit(期望的最小適應度函數)設為0.01。其余各屬性參數采用MATLAB默認值。分類診斷的K近鄰分類算法參數采用MATLAB默認值。更新算法中,抗體庫識別區歐氏半徑設為0至0.45,更新區歐氏半徑設為0.45至0.55。
4.1 實驗1
本實驗驗證算法在識別危險源、診斷分類和更新抗體庫3個方面性能是否與期望一致。以文獻[14]為例,引用其無線傳感器網絡數據并按照其方法進行數據獲取。實驗前,通過對WSNs鏈路質量信號進行小波包分析,小波包分析將信號頻帶進行多層次劃分,對高頻部分進一步分解,某種或某幾種頻率成分能量即代表了一種狀態[14]。利用小波包頻帶能量檢測得出個頻帶內信號的能量幅值,并以此作為節點狀態的特征向量即抗體、抗原的向量數據。實驗數據共220個,分4類,每個數據有8維向量,其中200個為測試數據,其余為訓練抗體庫數據。
如3.1,實驗1將網絡狀態分為:網絡正常無故障、節點硬故障(故障1)、通信協議軟件故障(故障2)和文件傳輸軟件故障(故障3)。
4.1.1 識別危險源
本實驗部分為驗證算法能否快捷準確地檢測出故障數據,收集了第1類所有節點數據,并從中加入10%的故障節點(危險節點)數據。表1列出了定位危險節點時間。

表1 定位危險節點時間
表1指出危險信號觸發算法能高效地在短時間內找出所有異常數據,說明算法具備時效性,達到目的。
4.1.2 診斷分類
根據訓練生成的抗體庫,利用K近鄰分類法得出診斷分類正確率圖4。

圖4 診斷分類正確率
可見,診斷分類算法應用到無線傳感器網絡故障分類中的診斷分類正確率極高。
為驗證算法的一般性,本實驗部分利用國際認可的UCI數據庫中的Seed數據集進行分類正確率。Seed數據集有210個數據,數據分3類,數據向量的維數為7。分類結果如圖5所示。

圖5 Seed數據集分類正確率
可見分類結果令人滿意,算法對不同數據的分類能力具備一般性。
4.1.3 更新抗體庫
本部分用每類第1個數據作為疫苗,生成抗體庫,再對后10個數據進行分類診斷。對落入更新區域的數據執行更新算法。以第1類抗體庫為例:第1個數據為初始疫苗,第2至4個數據為更新后的抗體庫中心,而第5個數據為第1類50個數據的中心(50個數據向量對應元素的均值),歐氏誤差為各數據與第5個數據的歐氏誤差,并以第1個誤差值為100%。更新結果如圖6所示。

圖6 更新結果
由圖6可知,更新算法體現出良好性能,在第1次更新中心后誤差大幅降低,最后一次比較更低至2.9%。
綜合實驗1所得,免疫危險理論在WSNs的故障診斷中具備快速,計算量小,一般性,追蹤更新的優點。
4.2 實驗2
實驗2是對比人工神經網絡、支持向量機和基于免疫危險理論3種算法性能的實驗,針對WSNs的特點:WSNs節點故障數據獲取困難;環境變化導致錯誤數據發生偏移;節點能量和計算能力有限。同樣基于實驗1的數據,在分類正確率,更新耗時2個方面進行比較。
人工神經網絡算法的網絡結構分3層,隱層15個神經元,訓練次數為2 600,訓練目標為1e(-8),學習速率為0.1,訓練函數為trainlm。支持向量機的核函數采用Kernel,其余設定采用默認選項。而基于免疫危險理論算法的參數設置與實驗1一致。4.2.1分類正確率
本部分是在算法訓練數據不足的情況下比較3種算法分類正確率。針對WSNs特點故障數據不足的特征,3個算法均基于每類5個訓練數據的情況下進行算法訓練。圖7為3種算法分類正確率的對比圖。

圖7 3種算法診斷分類正確率比較
由圖7可知,在少量訓練數據的情況下,基于免疫危險理論診斷的正確率比人工神經網絡算法和支持向量機都高,體現其針對WSNs特點的優勢。
4.2.2 更新耗時
本部分通過測量算法更新耗時近似比較數據追蹤耗時情況。由于人工神經網絡和支持向量機都沒有更新數據的功能,故利用落入抗體庫更新區的更新數據進行更新用時比較。表2列出了3種算法的更新耗時。

表2 3種算法更新耗時
相對于人工神經網絡要重新構建神經網絡和支持向量機要重新訓練最優分界面,基于免疫危險理論只需補充離開識別區的抗體個數,簡化了更新規模,大大縮短追蹤WSNs故障數據耗時。
綜合實驗2所得,基于人工免疫理論算法的性能參數要優于人工神經網絡算法和支持向量機這2種一般的無線傳感器網絡診斷算法。
為改善現有WSNs節點故障診斷算法針對WSNs特點呈現性能不足的問題,本文提出一種基于免疫危險理論的WSNs節點故障診斷算法。基于免疫危險理論算法模仿生物免疫系統機理,對觸發危險信號的數據實施免疫操作,能生成抗體庫對危險數據(抗原)進行診斷分類并可動態更新。其針對WSNs特點性能體現在所需訓練數據少,降低程序耗時,能對抗體庫進行快速更新。
通過仿真驗證,本文介紹的算法針對WSNs特點表現出良好性能;另外,與人工神經網絡診斷算法和支持向量機相比,有以下特點:(1)定位危險節點費時少,精度高;(2)需要訓練數據較少仍能獲得較滿意分類效果;(3)具備更新能力且其需時較短,可認為占用硬件資源較少;上述特點說明本算法對WSNs節點故障診斷有很大的實用意義和研究價值。
[1]劉凱,彭力.分簇式無線傳感器網絡節點故障診斷算法研究[J].傳感器與微系統,2011,30(4):37-40.
[2]徐小龍,耿衛建,楊庚,李玲娟,楊震.分布式無線傳感器網絡故障檢測算法綜述[J].計算機應用研究,2012,29(12):4420-4425.
[3]蔣鵬.一種改進的DFD無線傳感器網絡節點故障診斷算法研究[J].傳感技術學報,2008,21(8):1417-1421.
[4]耿衛建.無線傳感器網絡故障檢測與事件檢測的研究[D].南京郵電大學,2013.
[5]高建良,徐勇軍,李曉.基于加權中值的分布式傳感器網絡故障檢測[J].軟件學報,2007,18(5):1208-1217.
[6]Neelam Banerjee,P.M.Khilar.Distributed Intermittent Fault Diagnosis in Wireless Sensor Networks using Clustering[C]//International Conference on Integrated Intelligent Computing.Bangalore,India,2010:265-269.
[7]雷霖.無線傳感器網絡故障智能診斷技術研究[D].電子科技大學,2009.
[8]雷霖,代傳龍,王厚軍,趙旭.粗糙集一神經網絡集成的WSN節點故障診斷[J].電子科技大學學報,2008,37(4):565 -568.
[9]雷霖,代傳龍,王厚軍.基于Rough set理論的無線傳感器網絡節點故障診斷[J].北京郵電大學學報,2007,30(4):69-73.
[10]胡志鵬,魏立線,申軍偉,楊曉元.基于核Fisher判別分析的無線傳感器網絡入侵檢測算法[J].傳感技術學報,2012,25(2): 246-250.
[11]李雪.基于免疫危險理論的入侵檢測系統研究[D].武漢科技大學,2009.
[12]Feixian Sun,Mengrong Kong,Jianhong Wang.An Immune Danger Theory Inspired Model for Network Security Threat Awareness[C]//International Conference on MultiMedia and Information Technology.Kaifeng,China,2010:93-95
[13]楊淑瑩,張樺.群體智能與仿生計算—MATLAB技術實現[M].北京:電子工業出版社,2012.
[14]原瑾.室內WSN性能分析與故障診斷研究[D].江蘇大學,2011.


趙錫恒(1989-),男,碩士,主要研究方向為無線傳感器網絡故障診斷,568053923@qq.com;
許亮(1971-),男,博士,主要研究方向為RFID及無線傳感器網絡,celiangxu @gdut.edu.cn;


何小敏(1961-),女,副教授,主要研究方向為計算機應用、物聯網技術;
李秀喜(1966-),男,博士,主要研究方向為化工過程的控制與優化,cexxli @scut.edu.cn。
Wireless Sensor Networks Node Fault Diagnosis Based on Immune Danger Theory*
ZHAO Xiheng1,HE Xiaomin1,XU Liang1*,LI Xiuxi2
(1.School of Automation,Guangdong University of Technology,Guangzhou 510006,China; 2.School of Chemistry and Chemical Engineering,South China University of Technology,GuangZhou 510640,China)
Addressing to fault characteristic of wireless sensor networks(WSNs)and self-learning of fault diagnosis,an approach of node fault diagnosis algorithm based on immune danger theory for WSNs is presented in this paper. This method can identify dangerous sources with triggering thresholds of dangers.An antibody base is generated by the genetic algorithms.A multi-antibody classifier is based on the K-nearest neighbor and applied to diagnose faults for WSNs.The antibody base is updated by tracing the change of the fault data.The experiments show that the proposed method is more effective on performance of algorithms,more accurate on fault diagnosis,and less on computing resource of hardware,as well as of dynamically updating characteristics with a limit training data.
WSNs;immune danger theory;identify dangerous sources;antibody base;fault diagnosis
TP391.4
A
1004-1699(2014)05-0658-06
10.3969/j.issn.1004-1699.2014.05.017
項目來源:國家自然科學基金項目(21176089,61074185,21376091)
2013-10-07
2014-04-09