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