胡 強,王海濤,底 楠,陳 暉,黃 達
(1.陸軍工程大學通信工程學院,南京 210007;2.陸軍工程大學信息管理中心,南京 210007;3.中國電子設備系統工程公司通信研究所,石家莊 050000)
無線傳感網WSN(Wireless Sensor Network)是一種由大量傳感器節點組成的分布式信息網絡,每個傳感器節點都能對外部環境信息進行感知和采集,然后以一定的路由方式傳遞給基站進行下一步處理[1]。得益于微電子技術的迅速發展,傳感器的生產成本逐漸降低、類型逐漸增多,如音頻傳感器、圖像傳感器、濕度傳感器、光強傳感器等,能對不同的環境信息進行采集,加上傳感器節點通過自組織的方式形成網絡非常易于部署,因此無線傳感網廣泛應用于軍事、航空、環境、救災、交通、醫療等領域。在無線傳感網中,各節點之間以無線的方式完成相互的通信和數據的傳輸,由于傳感器節點通常由自身攜帶的電池供電,電量有限,一旦能量耗盡節點便無法繼續工作,網絡結構的健壯性將會受到影響,導致網絡整體性能下降。傳感器節點能量消耗主要包括兩個階段:數據采集階段和數據傳輸階段。Min R等人指出,數據傳輸階段的能耗遠大于數據采集階段的能耗,傳輸1 byte的數據所消耗的能量可以用來執行上千次感知任務[2]。將數據融合技術引入無線傳感網中進行感知數據的優化處理,能夠有效降低數據冗余,減少網絡通信量,從而節約節點能量,延長網絡生存時間[3]。
針對無線傳感網數據傳輸耗能過多的情況,科研學者提出了一系列數據融合算法來減少網絡的數據傳輸量,以達到延長網絡生存時間的目的。如李海艷、李維嘉等人提出的基于卡曼濾波的多傳感器數據融合方法[4],此方法對原始感知數據進行融合,損失信息少,但融合精度不高并且無法完成復雜、精確的數學建模;連方圓,白靜提出的一種改進的基于神經網絡的WSN數據融合算法[5],算法在BP神經網絡訓練過程中通過將前代網絡擬合好的權值與閾值賦予給下一次網絡訓練來減少訓練時間,在一定程度加快了數據融合進程,降低了數據冗余度,但是在BP神經網絡的訓練中仍然存在初代權值選取盲目性的缺點;陳秋紅、郭猛提出的基于PSO-BP的數據融合方法[6],通過PSO算法對BP神經網絡的初始權值和閾值進行優化,有效避免了BP神經網絡初始參數選取的盲目性,進一步加快了數據融合速度,減少了網絡通信數據量,降低了傳感器節點能耗速度,但由于在PSO的尋優過程中求解空間缺乏變化性,存在陷入局部最優解的缺點。本文針對無線傳感網數據冗余度高,數據傳輸能耗過多的缺點,在前人研究的基礎上綜合相關數據融合技術的優點提出了一種綜合型智能數據融合算法——GAPSOBP。GAPSOBP算法將遺傳算法中的交叉和變異操作引入粒子群算法的尋優過程中,豐富了粒子群算法的尋優空間,最大程度上避免了求解陷入局部最優[7]。應用優化后的粒子群算法對BP神經網絡的初始權值和閾值進行優化,加快了BP神經網絡的收斂速度和數據融合精度,將其應用于無線傳感網中對感知數據進行融合,大大降低了節點數據傳輸量和能耗速度,達到了延長網絡生存時間的目的。
遺傳算法是一種模擬達爾文生物進化論的計算模型,遵循優勝劣汰的自然選擇法則。其基本原理是把問題參數編碼成染色體,利用迭代的方式進行選擇、交叉、變異等運算操作來交換種群中染色體的信息,最終生成符合優化目標的染色體,是一種全局優化的自適應概率型搜索算法。遺傳算法的尋優過程從代表問題潛在解的初代種群開始,根據個體適應值大小進行選擇操作,借助遺傳算子進行個體的交叉和變異操作產生新的種群。經過自然選擇產生的新種群將優于父代種群,解碼末代種群中的最優個體就是目標的最終解。主要步驟如下:
①選擇 選擇操作就是要選出當前種群中的優良個體使之有機會成為父代種群繁殖新的子種群。選擇操作的原則是選取適應性強的個體,體現了生物進化的適者生存原則。
②交叉 交叉操作是遺傳算法中的最主要的遺傳操作。交叉操作可以得到新一代個體,新個體在組合其父輩個體特性同時保留了自身的特征。體現了信息交換的思想。
③變異 變異操作模擬了生物進化中的偶然事件,選取某條染色體改變其中某個數值,同生物界一樣,變異發生的概率通常都很小。
粒子群算法最先由美國電氣工程師Eberhart和社會學家Kennedy根據鳥類的覓食過程于1995年提出。在模擬鳥類覓食的模型中,每個個體都被看做一個樣本,整個鳥群被看做一個粒子種群[8]。假設在S維的目標搜索空間內,粒子群大小為m,即可以表示第i個搜索樣本為一個S維的矩陣
Xi=(xi1,xi2,…,xiS)
式中:i=1,2…,m,每個樣本的位置就是一個潛在解。
在粒子群算法中,每個粒子都有一個初始位置、尋優速度及一個由適應度函數計算得來的適應度值。所有粒子都在解空間中運動,粒子通過記錄自己尋優過程以及學習同類的尋優過程對自身位置和飛行速度進行不斷調整,即每個粒子依據群體極值和個體極值來更新自己的最優位置。粒子的適應度值隨著粒子位置的更新需要重新計算,并且通過對比新的粒子適應度值與粒子個體極值、群體極值來對個體極值和群體極值進行更新,重復迭代,直到滿足終止條件為止輸出尋優結果。
粒子群算法通過對比當前搜索到的最優值來求解全局最優值,實現簡單、收斂速度快、精度高且能夠并發執行;但是它缺少如遺傳算法的交叉和變異等保持子代種群多樣性的操作,解空間缺少變化容易陷入局部最優解。
BP神經網絡是一種模擬大腦神經工作模式的網絡,運行原理基于信息的正向傳遞和誤差的反向傳遞。網絡中擁有大量的節點,每個節點被稱作神經元,各個神經元之間通過權值和閾值連接行成分層型結構。BP神經網絡包括一個輸入層,一個或多個隱含層,一個輸出層。三層結構的BP神經網路如圖1所示。

圖1 BP神經網絡模型
圖1中,X1、X2到Xn是神經網絡的數據輸入,ωij、ωjk分別是輸入層神經元和隱含層神經元之間的權值,隱含層神經元和輸出層神經元之間的權值,Y1到Ym是最終的輸出結果。
BP神經網絡采用了一種并行處理和管理機制,具有很強的自適應性、自組織性和自主學習能力,能夠模擬任何的非線性映射[9]。但是BP神經網絡也存在一定的不足,如初始權值的選擇具有隨機性,往往需要大量的訓練樣本和時間才能確定相關參數,降低了網絡收斂速度,并且如果目標函數具有多個極值點,BP神經網絡極容易陷入局部最優解。
在無線傳感網中,低功耗自適應聚類路由算法LEACH(Low Energy Adaptive Clustering Hierarchy)是一種經典的層次型路由算法[10]。其基本思想是在一個輪次里將無線網絡進行分簇處理,在每個簇中循環產生一個簇頭負責接收簇內成員采集的數據和將數據傳輸到匯聚節點。每一輪次可分為簇的建立階段和傳輸數據的穩定階段。由于簇頭需要進行更多的數據收發處理,因此簇頭節點的能量消耗大于簇內節點的能量消耗。在LEACH協議中,為了均衡節點能量消耗,在一輪次的運行結束后將重新進行簇頭的選取,本輪當選為簇頭的節點在下一輪次中將不再成為簇頭;反之,未當選過簇頭的節點隨著協議運行輪次的增加,成為簇頭的概率也不斷增大。
本文的網絡模型采用基于LEACH協議的無線傳感網模型,其基本結構如圖2所示。

圖2 基于LEACH的無線傳感網結構
在應用GAPSOBP算法時,首先需要根據無線傳網的拓撲圖來確定BP神經網絡的結構。無線傳感網根據LEACH算法形成分簇,將每個分簇看做一個BP神經網絡結構,簇內節點個數為BP神經網絡的輸入層個數,輸出層個數即簇頭數為1。隱含層個數依據公式1確定大致個數,然后采用試取法確定最優隱含層個數。
(1)
式中:n為輸入層個數,m為輸出層個數。

圖3 GAPSOBP算法工作流程圖
GAPSOBP算法的工作流程如圖3所示,主要包括以下3個階段:
①粒子初始化
首先需要確定BP神經網絡結構,然后將BP神經網絡的初始權值和閾值傳遞給粒子群算法成為初代種群,粒子群算法對神經網絡權值和閾值進行實數編碼,初始化候選解和粒子速度。
②求解最優BP神經網絡參數
粒子群算法根據BP神經網絡的實際輸出和期望輸出的誤差適應度函數計算個體極值和群體極值,更新PSO算法的粒子尋優速度和位置。在粒子群的優化過程中加入遺傳算法的交叉和變異操作,然后重新計算適應度值,判斷是否滿足終止條件,滿足條件則將優化結果傳遞給BP神經網絡進行網絡訓練,否則繼續迭代更新粒子速度和位置,直到算法達到終止條件。
③訓練BP神經網絡
BP神經網絡利用遺傳粒子群算法的優化結果,進行網絡的訓練,更新權值和閾值,直到網絡參數確定,之后便可以進行無線傳感網的數據融合處理。
GAPSOBP算法具體實現步驟如下:
步驟1 根據傳感網絡結構確定BP神經網絡結構,根據輸入層、隱含層、輸出層神經元個數,初始化輸入層和隱含層的連接權值ωij、隱含層和輸出層權值ωjk、隱含層閾值αj和輸出層閾值βk;
步驟2 將連接權值ωij、ωjk,閾值αj、βk傳遞給粒子群算法并進行實數編碼,初始化粒子尋優速度;
步驟3 計算粒子適應度值,找出個體極值和群體極值并依據如下公式進行速度更新和粒子位置更新;
Vis(t+1)=ωVis(t)+c1r1(Pis(t)-Xis(t))+
c2r2(Pgs(t)-Xis(t))
(2)
Xis(t+1)=Xis(t)+Vis(t+1)
(3)
式中:ViS表示粒子i在第S維方向的速度,ω是為了避免算法陷入局部最優設置的慣性權重,r1和r2是介于(0,1)之間的實數,c1和c2是兩個非負常數,用以保證PSO算法的局部尋優能力,XiS表示粒子i的位置,t是當前迭代次數。
步驟4 選擇粒子進行遺傳算法的交叉和變異操作,計算適應度值,找出個體極值和群體極值,判斷是否滿足條件,滿足轉入步驟5否則返回步驟3;
步驟5 將粒子群算法結果傳遞到BP神經網絡,根據預測輸出Y和期望輸出O計算誤差e;
ek=Ok-Yk(k=1,2,…,m)
(4)
式中:k為輸出層神經元個數。
步驟6 根據預測誤差e更新權值和閾值;

(5)
ωjk=ωjk+ηHjek(j=1,2,…,l;k=1,2,…,m)
(6)
(7)
βk=βk+ek(K=1,2,…,m)
(8)
式中:ωij為BP神經網絡輸入層第i個神經元與隱含層第j個神經元之間的權值,ωjk為BP神經網絡隱含層第j個神經元與輸出層第k個神經元之間的權值。
Hi為輸入層數值,Hj為隱含層輸出,αj為隱含層閾值,βk為輸出層閾值。
步驟7 如果輸出誤差達到預先設定的期望值或者達到迭代次數,算法結束;否則返回步驟5。
根據圖3的算法流程可知,PSO算法和BP神經網絡的訓練是一個串行關系。假設PSO算法的輸入是n個參數,算法迭代m次,每個粒子每次迭代的時間為T,則運行一次PSO算法的時間為n×m×T,可以得出PSO算法的時間復雜度為O(nm)。若BP神經網絡的輸入層神經元為n1,隱含層為n2,輸出層為n3,則運行一次BP神經網絡花費的時間為(n1×n2+n2×n3)×T,即BP神經網絡的時間復雜度為O(n2)。因為GAPSOBP算法中PSO和BP神經網絡為串行關系,可以得出GAPSOBP的時間復雜度為O(n2)+O(nm)。
本文選擇MATLAB工具對算法性能進行測試,版本為R2014a,計算機配置為intel i5處理器,4 G運行內存。假設在100 m×100 m的范圍內隨機投放100個傳感器節點,Sink節點坐標為(0,0)并且能量供應充足,其他節點初始能量都為0.5 J,能量耗表示盡節點死亡。網絡運行LEACH協議形成穩定網絡拓撲后,為了節約能量假設算法的訓練過程在Sink節點中進行,訓練完成后將相關參數以特殊消息的形式傳遞給網絡節點,然后應用GAPSOBP算法進行數據的融合處理。具體相關參數如表1所示。

表1 仿真試驗參數
本文進行仿真評估時選擇節點能量消耗、Sink節點接收的數據量、節點存活時間及算法迭代時間作為性能指標,對比分析WSN運行LEACH,PSOBP,GAPSOBP算法時的網絡性能表現。
①節點能量消耗對比
為了驗證算法的有效性,對運行不同算法的WSN網絡能量消耗進行了仿真對比。圖4給出了具體統計結果。

圖4 能量消耗對比
從圖4中可以清楚地看到,運行LEACH算法的網絡能量消耗比運行PSOBP算法的網絡更快,而運行GAPSOBP算法的網絡的能量消耗比前兩種算法都慢。這是由于PSOBP算法較LEACH協議能加有效地融合傳感網數據,減少數據傳輸,節約節點能量;但由于未在PSO中采取GA算法進行優化,存在訓練時間長融合結果有誤差的不足,數據融合效果不如GAPSOBP算法。證明了GAPSOBP算法能夠較前兩種方法更有效地進行數據融合,減少網絡數據傳輸量,降低節點能量消耗。

圖5 Sink節點接收數據量對比
②Sink節點接收數據量對比
對Sink節點接收到的數據包進行對比分析,具體統計結果如圖5所示。從圖中可以看出,在運行LEACH算法的網絡中,Sink節點接收的數據量較少。因為在運行LEACH算法的網絡中隨著節點采集的數據量增加,各個節點都在向簇頭節點發送數據包,簇頭節點收集了大量的數據包需要發往Sink節點,很快就會造成網絡擁塞,大量的數據將會被丟棄重發,最終導致Sink節點接收到的有用數據包有限。PSOBP有效融合了部分數據,減少了網絡通信量,消除了部分擁塞,提高了信道利用率;但由于PSO算法的尋優過程缺少變化性,造成BP神經網絡數據融合程度不夠。GAPSOBP算法利用遺傳粒子群對BP神經網絡初始參數進行優化,能夠最大程度上找到全局最優解,提高了BP神經網絡的數據融合程度,大大減少網絡通信量,提高了信道利用率,使得Sink節點接收的有效數據包數量增加,增加了無線傳感網數據分析的準確性和完備性。

圖6 節點生命周期對比
③無線傳感網生存周期對比
一般來說,在網絡生存方面,不同的文獻有著不同的定義。Ishizuka M等人將無線傳感網絡生存時間定義為從網絡開始運行到網絡對目標監控區域的覆蓋率下降到容忍值的時間為止[11],Zhang J、Guidoni D L等將網絡生存時間定義為從網絡開始運行到節點能量全部耗盡所經歷的時間[12-13]。本文選取后一種定義作為標準。圖6給出了分別運行3種不同算法,節點生存時間對比。
從圖6可以看到,當節點數目為100時,運行LEACH協議的無線傳感網由于數據融合程度不夠,節點能耗太大,導致在算法迭代到1 000次左右的時候開始出現了節點死亡的情況。運行PSOBP算法的無線傳感網,有效融合了部分感知數據,一定程度上降低了傳感器節點的能耗速度,引入了PSOBP數據融合算法的無線傳感網在運行到1 200 s左右的時候才有死亡節點出現。而采用了GAPSOBP數據融合算法的無線傳感網,數據融合程度最好,節點能耗速度更低,節點生命周期更長,在迭代進行到1 300次左右的時候才開始出現死亡節點,證明了GAPSOBP算法能夠較其他兩種算法更好地延長網絡生存時間。
④算法迭代時間對比
由于遺傳算法和粒子群算法都是智能優化算法,為了檢驗經過遺傳算法優化的粒子群算法是否優于原始的粒子群算法,本文對它們的迭代進化情況進行了對比,具體仿真結果如圖7所示。可以看到,經過遺傳算法優化的粒子群算法擁有比原始粒子群算法更快的收斂速度,并且能夠獲得更優的適應度值,表明在粒子群算法中加入遺傳算法的交叉和變異功能后能夠有效避免求解陷入局部最優,能夠提升收斂速度和算法性能。

圖7 算法迭代時間對比
GAPSOBP算法結合了無線傳感網和BP神經網絡的特點,將遺傳算法、粒子群算法以及BP神經網絡合理應用于無線傳感網中用以數據的融合處理。GAPSOBP算法將BP神經網絡的初始權值用遺傳粒子群算法進行優化處理,有效避免了BP神經網絡初始參數取值的盲目性,加快了BP神經網絡的收斂速度,提升了數據融合性能。與傳統的LEACH算法和PSOBP算法進行了綜合對比,驗證了GAPSOBP算法在數據融合程度上優于前兩種算法,能夠進一步降低網絡數據通信量,節約節點能量,更好地實現了延長網絡生存時間的目的。
GAPSOBP算法側重于對無線傳感網感知數據融合處理方面的研究,主要目的是減少數據通信量降低網絡能耗,從而延長網絡壽命。在對感知數據的預處理方面的工作還有進一步研究的空間,如在數據的去
噪聲和消除冗余等方面的相關研究,若在增加此類工作的基礎上應該還能進一步降低網絡能耗,并且進一步提高數據融合的精確性和可信度。
[1] Zheng Jun,Abbas Jamalipour. Introduction to Wireless Sensor Networks[J]. Embedded Systems Handbook Second Edition,2014,16(3):1-18.
[2] Min R,Bhardwaj M,Seong-Hwan Cho,et al. Energy-Centric Enabling Technologies for Wireless Sensor Networks[J]. IEEE Wireless Communications,2002,9(4):28-39.
[3] 張聚偉,王宇,楊挺. 基于數據融合的有向傳感器網絡全覆蓋部署[J]. 傳感技術學報,2017,30(1):139-145.
[4] 李海艷,李維嘉,黃運保. 基于卡爾曼濾波的多傳感器測量數據融合[J]. 武漢大學學報,2011,44(4):521-529.
[5] 連方圓,白靜. 一種改進的基于神經網絡的WSN數據融合算法[J]. 計算機測量與控制,2014,22(2):476-479.
[6] 陳秋紅,郭猛. 基于PSO-BP的無線傳感器網絡數據融合算法研究[J]. 計算機測量與控制,2014,22(4):1212-1215.
[7] 高美鳳,李鳳超. 遺傳粒子群優化的DV-Hop定位算法[J]. 傳感技術學報,2017,30(7):1083-1088.
[8] 張水平,王碧. 動態搜索空間的粒子群算法[J]. 計算機應用研究,2016,33(7):2047-2051.
[9] Jürgen Schmidhuber.Deep Learning in Neural Networks:An Overview Neural Networks[J]. Neural Networks,2015,61(1):85-117.
[10] Alka Singh,Shubhangi Rathkanthiwar,Sandeep Kakde. LEACH Based-Energy Efficient Routing Protocol for Wireless Sensor Networks[C]//International Conference on Electrical,Electronics,and Optimization Techniques(ICEEOT),2016:4654-4658.
[11] Ishizuka M,Aida M. Performance Study of Node Placement in Sensor Network[C]//24th International Conference on Distributed Computing System Workshops,2004:598-603.
[12] Zhang J,Ci S,Sharif H,et al. A Battery-Aware Deployment Scheme for Cooperative Wireless Sensor Networks[C]//Global Telecommunications Conference,2009:1-5.
[13] Guidoni D L,Boukerche A,Villas L A,et al. A Tree-Based Approach to Design Heterogeneous Sensor Networks Based on Small World Concepts[C]//IEEE Conference on Local Computer Networks,2011:666-672.