謝佳華++劉軍
摘 要:為了進一步提高無線傳感器網(wǎng)絡(WSNs)的能量利用效率、數(shù)據(jù)準確性和收集數(shù)據(jù)精度,需要對采集的數(shù)據(jù)進行融合。針對現(xiàn)有BP神經(jīng)網(wǎng)絡(BPNN)解決該問題存在容易陷入局部最優(yōu)值的問題。文中把自由搜索(FS)算法和BP神經(jīng)網(wǎng)絡結合起來,充分發(fā)揮自由搜索算法的全局收斂性、自適應性、本質(zhì)并行性優(yōu)點。通過仿真實驗并與BP神經(jīng)網(wǎng)絡相比較,該算法能有效減少通信量、提高數(shù)據(jù)準確性、延長網(wǎng)絡生存時間,從而證明了該算法的有效性。
關鍵詞:WSNs;數(shù)據(jù)融合;自由搜索算法;BP神經(jīng)網(wǎng)絡
中圖分類號:TP393 文獻標識碼:A 文章編號:2095-1302(2015)11-00-03
0 引 言
無線通信技術、傳感器技術、嵌入式計算技術、微電子技術等技術的發(fā)展和成熟,促成了無線傳感器網(wǎng)絡(Wireless Sensor Networks , WSNs)的產(chǎn)生[1,2]。WSNs廣泛應用于國防軍事、工業(yè)生產(chǎn)、精準農(nóng)業(yè)、醫(yī)療健康、環(huán)境監(jiān)測等領域[3]。
Nakamura E.F.等[4]對WSNs數(shù)據(jù)融合的模型、方法以及分類進行了研究;陳斌等[5]把神經(jīng)網(wǎng)絡和證據(jù)理論結合起來,建立了管道泄漏診斷模型;李志宇等[6]人提出的基于網(wǎng)格和移動代理的WSNs數(shù)據(jù)融合算法有較小的網(wǎng)絡能耗和延時。但這些算法存在收斂速度慢,易陷入局部最優(yōu)等缺點,所以本文提出一種自由搜索(Free Search,F(xiàn)S)和BP神經(jīng)網(wǎng)絡(Back Propagation Neural Network , BPNN)相結合的算法(FS-BF),優(yōu)化數(shù)據(jù)融合性能,降低網(wǎng)絡能量消耗,延長網(wǎng)絡生存時間。
1 BP神經(jīng)網(wǎng)絡和自由搜索算法
為實現(xiàn)BPNN和自由搜索算法的結合,建立切實可行的WSNs數(shù)據(jù)融合優(yōu)化模型,本節(jié)介紹了兩個算法的優(yōu)化過程。
1.1 BP神經(jīng)網(wǎng)絡
BPNN是一種單向傳播的多層前饋網(wǎng)絡,圖1所示為一個三層BPNN示意圖,包括輸入層、隱層和輸出層[7]。
圖1 三層BPNN模型
設BPNN的輸入n維向量X∈Rn,X=[x1,x2,…,xn]T,輸出為m維向量Y∈Rm,Y=[y1,y2,…,ym],隱層共有l(wèi)個神經(jīng)元,則隱層輸出為l維的向量Z∈Rl,Z=[z1,z2,…,zl],網(wǎng)絡的輸出為:
(1)
式(1)中,wij(0)和wij(1)分別為由輸入層到隱層和隱層到輸出層的連接權值,θi和φj分別為隱層和輸出層的閾值。
一般情況下把Sigmoid函數(shù)作為傳遞函數(shù)。
(2)
輸出層和前面各層的誤差值可以通過如下公式計算:
(3)
(4)
對于隱含層和輸出層神經(jīng)元個數(shù),可以參考下式確定:
隱含層: (5)
輸出層:h=log2m (6)
其中,m為輸入神經(jīng)元個數(shù),n為輸出神經(jīng)元個數(shù),a為1-10之間的任意數(shù)。
1.2 自由搜索算法
FS算法的尋優(yōu)過程包括初始化、搜索過程和終止三個步驟來確定目標函數(shù)的最優(yōu)值[8]。
1.2.1 初始化
通過隨機值產(chǎn)生初始種群,并生成初始信息素Pk。
x0ji=ximin+(ximax-ximin)·random (7)
式(7)中,j=1,2,…,m,表示第j只個體,i表示變量的第i維,i=1,2,…,n, x0ji為動物個體j的初始位置,ximax和ximin為搜索空間的邊界,即個體j在第i維上的最大值和最小值。random為(0,1)之間的隨機數(shù)。
1.2.2 搜索過程
(1)計算靈敏度,靈敏度定義如下:
Si=Smin+ΔSj (8)
ΔSj=(Smax-Smin)·randomj (9)
Smax和Smin為靈敏度的最大值和最小值。
(2)確定初始點,選擇新一輪搜索起始點。
(10)
k是標記信息素的坐標點。
(3)更新個體位置。
xtji =x0ji-Δxtji +2Δxtji randomtji (11)
xtji為更新后個體的位置分量,t為當前步伐數(shù),t=1,2,…,T,T為每次行走的最大步伐數(shù);randomtji為介于(0,1)的隨機數(shù);修改策略Δxtji 按下式確定:
Δxtji =Rji (xmaxi-xmini)randomtji (12)
式(12)中,Rji 表示領域距離,Rji∈(Rmin,Rmax)。領域距離體現(xiàn)著個體的靈活性,受整個搜索空間的約束。
可按如下兩式定義個體的行為:
ftj=f(xtij) (13)
fj=maxf(xtj) (14)
其中,f(xtij) 是一個個體完成搜索步以后作標記的位置。
(4)釋放信息素,信息素定義如下:
(15)
max(fi) 表示第j個個體的最佳值。并且規(guī)定:Smin=Pmin,Smax=Pmax。
新一輪的搜索起始點由如下公式確定:
(16)
1.2.3 終止條件
可以有以下三種方式終止算法:
(1)尋優(yōu)方式 fmax≥f0
fmax為搜索的最優(yōu)值,f0為可接受的期望值。
(2)迭代方式 g≥G
g為當前的迭代數(shù),G為限制的最大迭代數(shù)。
(3)復合方式,即滿足(1)和(2)中的一種終止算法。
BPNN主要存在三個缺陷:一是局部極小點問題,二是收斂速度慢的問題,三是隱含層神經(jīng)元節(jié)點個數(shù)難以確定的問題。而自由搜索算法具有全局搜索特性以及比其他算法收斂速度快的優(yōu)點彌補了BPNN前兩個不足,故本文嘗試把自由搜索算法和BPNN結合起來,優(yōu)化WSNs數(shù)據(jù)融合的效果。
2 FS-BP在WSNs數(shù)據(jù)融合中的應用
2.1 WSN數(shù)據(jù)融合模型
本節(jié)主要是建立以BPNN為主體的匯聚節(jié)點數(shù)據(jù)融合模型,其數(shù)據(jù)融合的過程如圖2所示。該模型系統(tǒng)包括無線傳感器子系統(tǒng)和匯聚節(jié)點數(shù)據(jù)融合處理子系統(tǒng)兩大部分。前者主要是由傳感器節(jié)點組成,每個節(jié)點可以有一個或者多個傳感器采集相關數(shù)據(jù),后者包括數(shù)據(jù)預處理和數(shù)據(jù)融合兩個步驟,其中預處理的作用是把有用數(shù)據(jù)分離出來,而數(shù)據(jù)融合是接收預處理后的數(shù)據(jù),然后把數(shù)據(jù)輸入到已訓練好的BPNN中進行融合并得出融合結果。另外,匯聚節(jié)點把原始數(shù)據(jù)信息和融合結果存儲起來,便于對比分析融合結果和原始信息,方便進行必要的反饋調(diào)節(jié)。
圖2 數(shù)據(jù)融合模型
2.2 FS-BP算法
算法構建的主要思想是:針對BPNN初始值敏感、收斂速度慢以及易陷入局部最優(yōu)解的缺點,利用FS代替BPNN中的梯度修正,搜索符合既定條件的權值,提高算法性能。具體方法描述如下:
神經(jīng)網(wǎng)絡的初值權重按照傳統(tǒng)的常規(guī)辦法生成,用wi(i=1,2,…,m)表示任意一組完整的wi。一個動物個體,則有m個這樣的個體,所以m為種群的大小。優(yōu)化目標函數(shù)為均方誤差函數(shù):
(17)
上式中,E為均方誤差,N為樣本個數(shù),yid為第i個預期輸出值,yi為第i個實際輸出值。
FS搜索的任務是通過對公式(17)的優(yōu)化,得到該函數(shù)的最小值,找出均方誤差最小的網(wǎng)絡權重, 再輸入到BPNN各層中。該算法的主要流程如圖3所示。
利用FS算法對初始權值進行優(yōu)化處理后,把輸出的權值輸入到神經(jīng)網(wǎng)絡。本文采用三層BPNN模型,結合BPNN理論和所建立的數(shù)據(jù)融合模型,F(xiàn)S-BPNN算法的具體步驟如下:
①初始化參數(shù),包括神經(jīng)網(wǎng)絡的結構、初始權值、迭代次數(shù)上限、誤差閾值、學習速率、學習樣本以及FS的種群大小,步伐數(shù)和小步數(shù)以及鄰居距離。
②隨機選取訓練一對數(shù)據(jù),將輸入向量加到輸入層。
③利用關系式(1)輸出每一層和輸出層的輸出值。
④采用公式(3)(4)輸出層和前面各層的實際輸出和要求的目標值的誤差。得到的誤差值若小于閾值,則轉(zhuǎn)⑥,否則轉(zhuǎn)步驟 ⑤。
⑤利用FS算法優(yōu)化公式(17),搜索符合條件的權值,并返回③。
⑥ 結束。
圖3 網(wǎng)絡參數(shù)優(yōu)化流程圖
3 算法仿真
采用三層BPNN模型,輸入神經(jīng)元個數(shù)與傳感器節(jié)點數(shù)相同,隱含層神經(jīng)元個數(shù)按公式(6)確定,輸出層神經(jīng)元個數(shù)按公式(7)確定。仿真環(huán)境為Matlab,版本為R2008a。
3.1 參數(shù)設置
相關的參數(shù)設置如表1所列。
表1 參數(shù)設置表參數(shù) 取值 參數(shù) 取值
區(qū)域大小 50 m×50 m 種群規(guī)模 120
傳感器節(jié)點數(shù) 120 終止代數(shù)G 500
網(wǎng)絡拓撲 隨機部署 搜索小步數(shù)T 120
節(jié)點通信半徑 20 m 搜索半徑Rji 0.01,0.5,1
節(jié)點感知半徑 10 m 誤差閾值 10-3
節(jié)點初始能量 0.7 J 訓練速率系數(shù) 0.3
數(shù)據(jù)傳輸能耗 20 nJ/bit 數(shù)據(jù)接收能耗 12 nJ/bit
3.2 仿真實驗
為了盡可能全面驗證算法的有效性和可行性,本文從以下三個角度設置仿真實驗。
3.2.1 仿真實驗1——網(wǎng)絡的收斂性
把120個傳感器節(jié)點隨機拋撒在監(jiān)控區(qū)域內(nèi),在相同的數(shù)據(jù)采集環(huán)境中,對比BPNN算法和FS-BPNN算法的收斂性。仿真結果如圖4所示。
3.2.2 仿真實驗2——網(wǎng)絡存活節(jié)點數(shù)和時間的關系
在監(jiān)控區(qū)域中隨機拋撒120個傳感器節(jié)點,并按表1設置各個相關參數(shù),比較BPNN和FS-BP算法優(yōu)化下隨著時間(秒/s)的增加節(jié)點存活的個數(shù)。存活節(jié)點數(shù)和時間的關系如圖5所示。
圖4 收斂性比較
圖5 存活節(jié)點數(shù)和時間的關系
3.2.3 仿真實驗3——節(jié)點平均耗能情況
在50 m×50 m的監(jiān)測區(qū)域內(nèi)分別隨機拋撒90,100,110,120,130,150個傳感器節(jié)點,比較兩種算法的平均耗能情況,仿真結果如圖6所示。
圖6 節(jié)點平均耗能對比
3.3 仿真分析
由仿真實驗1可知,如圖4所示,在相同條件下,BPNN算法在迭代次數(shù)達到100時基本收斂,而FS-BP在迭代次數(shù)達到75時就基本趨于收斂,所以,本文提出的FS-BP算法在迭代次數(shù)較少的情況下,就能達到收斂要求。對于能量有限的WSNs網(wǎng)絡,算法收斂快慢也決定著能量的利用效率高低。
由仿真實驗2可知,如圖5所示,BPNN算法下的 WSNs數(shù)據(jù)融合中,在300 s時開始有節(jié)點死亡,在650 s時,只有一半節(jié)點存活,當時間達到740 s時,全部節(jié)點死亡;而在FS-BP算法下,在720 s時節(jié)點才開始有死亡的情況出現(xiàn),在810 s時,死亡節(jié)點數(shù)接近一半,節(jié)點最長的持續(xù)時間接近900 s時,節(jié)點完全死亡。從仿真結果可以看出,F(xiàn)S-BP算法比BPNN算法更能延長網(wǎng)絡運行時間,特別是網(wǎng)絡的正常工作時間。
由仿真實驗3可知,BPNN算法隨著節(jié)點數(shù)的增加,平均每個節(jié)點的耗能也隨著增加,而FS-BP算法卻隨著節(jié)點數(shù)的增加而減少,且兩者之間的差距逐漸加大,這從另一個方面體現(xiàn)了FS-BP算法性能的優(yōu)越性和有效性。
綜上所述,在WSNs數(shù)據(jù)融合中,F(xiàn)S-BP算法比BPNN算法的性能更好,不僅提高了收斂速度和能量利用效率,還有效延長了網(wǎng)絡的生存時間。
4 結 語
數(shù)據(jù)融合作為延長WSNs生存時間的一種重要方法,是WSNs研究的重要領域之一。本文提出把FS算法與BPNN算法相結合,解決BPNN算法收斂速度慢的問題,通過建立模型,并從多個角度設置仿真實驗驗證算法的有效性,結果表明,F(xiàn)S-BP算法能夠像預期的一樣加快收斂速度,降低節(jié)點能量消耗,從而延長網(wǎng)絡的生存時間。下一步的研究應該進一步結合具體應用背景的特點,改進算法,提高WSNs數(shù)據(jù)融合的實際應用效果。
參考文獻
[1] Ian F. Akyildiz, Mehmet Can Vuran.Wireless Sensor Networks[M]. John Wiley & Sons Ltd,2010.
[2] 孫利明,李建中,陳瑜,等.無線傳感器網(wǎng)絡[M].北京:清華大學出版社,2005: 149-151.
[3] Akyildiz I F, Su W, Sankarasubramaniam Y, et al.Wireless sensor networks: a survey[J].Computer networks, 2002, 38(4): 393-422.
[4] Nakamura E.F., Louxeiro A.A.F.,F(xiàn)rery A.C.Information fusion for wireless sensor networks : Methods, models, and classifications[J].Acm Computing Surveys,2007,39(3).
[5] 陳斌, 萬江文, 吳銀鋒,等. 神經(jīng)網(wǎng)絡和證據(jù)理論融合的管道泄漏診斷方法[J].北京郵電大學學報, 2009, 32(1):1007-1021.
[6] 李志宇, 史浩山.一種基于網(wǎng)格和移動代理的無線傳感器網(wǎng)絡數(shù)據(jù)融合算法[J].傳感技術學報, 2008, 21(7):1232-1236.
[7] 王曉榮,倫淑嫻.基于改進粒子群算法的BP神經(jīng)網(wǎng)絡優(yōu)化研究[J].渤海大學學報:自然科學版, 2008,29(2):189-193.
[8] Kalin P, Guy L.Free search-a comparative analysis[J].Information Science, 2005, 172(2): 173-193.