摘" 要: 在無線傳感網絡中,為了提高多傳感器數據融合性能,解決傳感器電池頻繁更換,延長網絡生命周期,提出一種將遺傳算法與蟻群算法相結合改進BP神經網絡的多傳感器數據融合算法(GA?ACO?BP)。GA?ACO?BP算法結合了遺傳算法和蟻群算法的優(yōu)勢,傳感器網絡節(jié)點將信息通過LEACH協(xié)議對數據進行融合處理,降低數據發(fā)往Sink節(jié)點的傳輸量,減少數據傳輸造成的能量消耗。通過實驗仿真顯示,GA?ACO?BP算法和基于LEACH協(xié)議的算法、ACO?BP算法相比,該算法能減少需要傳輸的數據量,延長網絡生存周期。
關鍵詞: 無線傳感網絡; 數據融合; LEACH協(xié)議; 數據傳輸; 降低能耗; BP神經網絡
中圖分類號: TN915?34; TP393" " " " " " " " " " 文獻標識碼: A" " " " " " " " " " "文章編號: 1004?373X(2019)21?0013?05
Abstract: In the wireless sensor network, in order to improve the performance of multi?sensor data fusion, resolve the frequent replacement of sensor batteries and extend the life cycle of the network, a multi?sensor data fusion algorithm based on BP Neural Network Multisensor Data Fusion algorithm optimized by Genetic algorithm and Ant colony optimization (GA?ACO?BP) is proposed. GA?ACO?BP algorithm combines the advantages of genetic algorithm and ant colony optimization. The signal data fusion is dealt with by means of sensor network node and LEACH protocol to reduce the amount of data sent to the Sink node and the energy consumption caused by data transmission. Simulation results show that, in comparison with LEACH protocol algorithm and ACOBP algorithm, GA?ACO?BP algorithm can reduce the amount of data that needs to be transmitted, and prolong the network life cycle.
Keywords: wireless sensor network; data fusion; LEACH protocol; data transmission; energy consumption reduction; BP neural network
0" 引" 言
無線傳感器網絡(Wireless Sensor Network,WSN) 是由長期部署在監(jiān)測區(qū)域內的無線傳感器節(jié)點互相通信形成的多跳自組織系統(tǒng)[1]。無線傳感網絡技術已廣泛應用于工業(yè)控制、智能家居、軍事安全、空間探測、精準農業(yè)、環(huán)境監(jiān)測等諸多領域。由于傳感器網絡節(jié)點主要依靠電池供電,頻繁更換電池勢必造成人力、物力的大量消耗,所以必須要高效率地使用能源,延長傳感器網絡的工作周期。傳統(tǒng)的數據監(jiān)測系統(tǒng)在信息采集和處理方面存在著一些缺陷[2]。傳感器節(jié)點的通信距離和處理能力有限,單節(jié)點只能提供部分信息,因而,傳感器節(jié)點在監(jiān)測范圍采取互相交叉重疊的方式部署,以獲得對象完整信息,但這會導致節(jié)點間數據冗余嚴重[3]。無線傳感器網絡數據融合技術能有效去除數據冗余性,減少通信開銷從而降低能耗,延長網絡壽命[4]。
為有效去除數據冗余性,信息采集能耗大,延長網絡壽命等問題,專家學者提出大量的數據融合算法對數據進行網內處理,提高網絡收集數據整體效率。文獻[5]提出一種數據分批估計自適應加權融合算法,在一定程度上提高了數據的精確性,但并沒有加快數據融合進程,網絡壽命沒有得到明顯的改善。文獻[6]提出在WSN中基于BP神經網絡的數據融合方法,加快了BP神經網絡的收斂速度,降低了數據冗余度,但網絡結構選擇不一,通常由經驗選定。文獻[7]提出基于蟻群算法的BP神經網絡ACO?BP方法,有效地降低了網絡時延,無線信道頻譜資源得到充分的利用,但ACO存在初始信息素不足,尋優(yōu)時間長,易陷入局部最優(yōu)狀態(tài)的缺點。本文基于前人提出的算法基礎上,為解決WSN中數據冗余度高,減輕網絡的傳輸擁塞,降低數據傳輸延遲,提出一種智能化的數據融合算法——GA?ACO?BP(BP Neural Network Multisensor Data Fusion Algorithm Optimized by Genetic Algorithm and Ant Colony Optimization)。GA?ACO?BP算法利用遺傳算法搜索最優(yōu)解來初始化蟻群算法信息素分布,遺傳算法隨機生成的種群加快了蟻群算法收斂速度,避免陷入局部最優(yōu)。優(yōu)化后的蟻群算法更新BP神經網絡模型的權值和閾值,優(yōu)化目標函數收斂速度,提高數據精確度,采用GA?ACO?BP算法對傳感器采集的數據進行融合,可以減少網絡的通信量,節(jié)省能耗。
1" 網絡模型
LEACH(Low Energy Adaptive Clustering Hierarchy)是MIT的Heinzelman等人為WSN提出的一種低功耗自適應聚類路由協(xié)議。LEACH協(xié)議的特點是分級和數據融合,節(jié)點自組織成簇,選出若干個簇頭,簇內成員通過CSMA MAC協(xié)議將采集的數據發(fā)送至簇頭,由簇頭將信息發(fā)送至Sink節(jié)點,在下一次循環(huán)中重新選擇簇首進行數據傳輸,本輪數據通信階段選定的簇頭不會在下輪簇頭的選取中再次被選中,簇頭主要完成簇內成員數據融合并與匯聚節(jié)點進行通信,因此,簇頭的能量消耗非常大,為均衡地消耗網絡節(jié)點能量,各節(jié)點等概率地選為簇頭。采用LEACH算法的WSN部分網絡結構如圖1所示。
2" 算法基礎
2.1" 遺傳算法
遺傳算法(Genetic Algorithms,GA)是受到進化理論啟示所發(fā)展的可計算模型之一,是一種借鑒生物界的進化規(guī)律發(fā)展而來的“生存+檢測”的迭代過程的全局搜索算法。其基本原理是把問題的解表示成染色體,通過選擇、交叉、變異等操作產生下一代的染色體,并逐步淘汰適應度函數值低的染色體,增加適應度函數高的染色體,經過[n]次迭代后,最終生成適應度函數值很高的染色體。遺傳算法的三個基本操作如下:
1) 選擇算子。選擇的目的是把適應度高的個體,直接遺傳或配對交叉使之有機會成為父代種群,使用選擇算子對群體中的個體進行優(yōu)劣淘汰操作。
2) 交叉算子。交叉算子是遺傳算法的關鍵步驟,將種群中各個個體隨機配對,每一個體以交叉概率(Crossover Rate)來交換它們之間的部分染色體,體現(xiàn)了信息交換的思想。
3) 變異算子。在群體中隨機選擇一個個體,以較小的概率對其基因座上的基因值進行改變,模擬生物進化的偶然事件。
2.2" 蟻群優(yōu)化算法
蟻群優(yōu)化(Ant Colony Optimization,ACO)算法是通過模擬蟻群的協(xié)作覓食過程的計算算法,是一種基于種群尋優(yōu)的啟發(fā)式搜索算法[8]。其基本原理為:用螞蟻覓食路徑表征待優(yōu)化問題的可行解,所有螞蟻行走的路徑構成優(yōu)化問題的解空間,較短路徑上螞蟻釋放的信息素量較多,螞蟻優(yōu)先選擇信息素濃度大的路徑作為最優(yōu)路徑,并釋放信息素,最終選擇這條路徑的螞蟻數量越來越多,在正反饋作用的機制下集中到最佳路徑上,此時對應的便是待優(yōu)化問題的最優(yōu)解。設存在[n]座城市,[m]只螞蟻,[dij]([i,j=]1,2,…,[n])為城市[i],[j]的間距,[τij(t)]為[t]時刻在城市[i],[j]路線上的信息素濃度,[k]為螞蟻根據信息素濃度選擇的路徑,[pkij(t)]表示[t]時刻螞蟻[k]在[i]城市走向[j]城市的概率,公式如下:
[pkij(t)=[τij(t)]α[ηik(t)]βS?Jk(i)[τis(t)]α[ηis(t)]β," " j∈Jk(i)0," " 其他] (1)
式中:[Jk(i)=1,2,…,n-1]-[tabuk],表示螞蟻[k]待轉移城市的集合,當螞蟻[k]走完所有的路徑就是一個可行解。
蟻群算法搜索過程采用分布式計算方式,多個個體同時進行計算,加快了算法計算能力和效率,采用正反饋機制,搜索過程逐步收斂,最終逼近最優(yōu)解。將遺傳算法引入蟻群算法系統(tǒng),每一代形成的解作為初始種群,反復迭代,得到[p],[α],[β]的最優(yōu)組合,加快蟻群算法的收斂速度。
2.3" BP神經網絡
BP神經網絡(Back Propagation Neural Network)是一個基于數學統(tǒng)計學類型的學習方法(Learning Method)逼近目標函數,從多種角度對生物神經系統(tǒng)不同層次的抽象和模擬,包括工作信號正向傳遞子過程,誤差信號反向傳遞子過程。無線傳感網絡存在大量的節(jié)點,每個節(jié)點相當于神經系統(tǒng)的神經元。通過對大量數據進行運算和處理,得到能夠反映數據特征的結論性結果[9]。BP神經網絡拓撲結構如圖2所示,分為三個層次,分別是輸入層、隱含層、輸出層。
圖2中,[X1],[X2],…,[Xn]是神經網絡的輸入向量,[ωij]是輸入層到隱含層之間的權值,[ωjk]是隱含層到輸出層之間的權值,[Y1],[Y2],…,[Yn]為網絡實際輸出值。
BP神經網絡數學理論證明了它能實現(xiàn)任何復雜非線性映射功能,有很強的自學習、自適應能力。但它的權值通過局部改善逐步調整,存在局部極小化問題,且BP神經網絡算法收斂速度慢,初始權值具有隨機性,需要長時間的學習訓練。
3" 算法實現(xiàn)
本文基于LEACH協(xié)議構建無線傳感網絡路由協(xié)議,根據BP神經網絡模型,簇內形成的簇頭為人工神經網絡輸出層,節(jié)點組成的簇為人工神經網絡的輸入層,隱含層節(jié)點的個數根據經驗式(2)可得:
式中:[h]為隱含層節(jié)點個數;[m]為輸入層節(jié)點個數;[n]為輸出層節(jié)點個數;[a]為1~10之間的調節(jié)常數。
GA?ACO?BP算法實現(xiàn)流程圖如圖3所示。確定BP神經網絡的神經元個數、神經網絡的連接權值、閾值,每只螞蟻從隱含層節(jié)點構造解空間,如果螞蟻選擇了該節(jié)點,根據上一層的權值和閾值的集合中選取一個元素,否則,跳轉至下一節(jié)點。同時,根據規(guī)則更新信息素。在蟻群算法中加入遺傳算法的交叉算子和變異算子,對待交叉的個體適應度值進行重構,變異過程采用高斯方法的正態(tài)隨機數替換基因序列,計算出適應度值,查看是否達到目標要求,若達到將最優(yōu)解傳輸至BP神經網絡訓練,否則當前迭代次數加1,清空路徑記錄表,構造解空間,直至算法滿足終止條件。BP神經網絡對蟻群算法的尋優(yōu)結果進一步訓練,計算預測誤差,更新權值、閾值。
主要步驟為:
1) 確定BP神經網絡結構,初始化設置,包括輸入層?隱含層的權值[ωij],隱含層閾值[αj],隱含層?輸出層的權值[ωjk],輸出層閾值[βq],記所有參數為[q1,q2,…,qn],形成一個隨機可取任一一個不為零的元素集合[Ini],初始信息素[πj(Ini)(t)=c," 1≤j≤n],螞蟻數量[S],目標函數誤差[Eo]等。
2) 對蟻群中的[S]只螞蟻進行搜索,按式(3)的概率公式隨機在集合中選擇一條路徑,當全部的螞蟻都到達目標源為止。螞蟻[α(α=1,2,…,S)]在[Ini]中選擇[j]元素的概率為:
適應度函數與算法效果、評估個體適應度關聯(lián)密切,結合實際目標優(yōu)化參數確定適應度函數:適應度函數值非負、唯一值;函數復雜度低;合理、一致性。采用聚類算法效果評測的[FMeasure]函數定義[F=FMeasure]作為本算法的適應度函數,[F-FMeasure]值越小目標函數適應度越低,故將[F-FMeasure]目標函數轉變?yōu)樽畲蠡瘑栴}。
3) 構造解空間,更新信息素。從蟻群規(guī)模[S]中隨機挑選[h]數量個體,[h=[r?S]],[r]為動態(tài)變化選取率;選擇群體中信息素濃度最大的個體[MAX(πj(Ini))]為最優(yōu)解,螞蟻[i]下次行走路徑為[i=(1-λ)πi(Ini)+λMAX(πj(Ini))],得出當前迭代最優(yōu)解[πj(Ini)best],在螞蟻[i]領域局部搜索,尋優(yōu)規(guī)則表達式如下:
式中:[δ=0.1?rand()],若[f[πj(Ini)′best]≤f[πj(Ini)best]],公式(5)取“+”,否則為“-”,其中[πj(Ini)′best=πj(Ini)best+πj(Ini)best?0.01],[h]為動態(tài)搜索步長,對應的更新公式為:
式中:[hmax]與[hmin]為預設常量;[Iter]與[Itermax]分別為當前迭代次數、最大迭代次數。
當所有的螞蟻都遍歷完集合中的元素后,對路徑上的信息更新,選用Ant?Cycle模型更新信息素,按式(7)進行調整:
式中:[ρ]代表信息素揮發(fā)系數;[Δτkj(t)]表示第[k]只螞蟻在本次循環(huán)集合[Ini]里的[j]元素路徑上的信息量[10]。
4) 對蟻群進行交叉、變異算法操作。交叉算法中選擇通用性強的單點交叉(one?point crossover)算子,在序列中隨機選擇一個交叉點,以這個交叉點為界限,將兩個個體染色體結構交叉互換,產生兩個新的序列。采用符合高斯算法的正態(tài)隨機數均值[μ]、方差[σ]的正態(tài)分布以較小概率改變基因座上的基因值進行變異運算,變異運算主體包括兩個元素[(x,σ)],[x]為蟻群下一路徑節(jié)點,生成新個體表達式為:
式中:[N(0,Δσ)]的均值為0,方差為[σ]。
根據適應度函數[F-FMeasure]計算個體適應度,計算每只螞蟻搜索路徑值和時間,判斷是否滿足當前最優(yōu)解,若是最優(yōu)解轉入步驟5),否則轉入步驟3)。
5) 將蟻群算法的尋優(yōu)結果發(fā)送至BP神經網絡,計算期望結果與預測結果的誤差[e]。
式中:[Oq]為期望值;[Yq]為預測值;[q]為神經元數量。
6) 根據步驟5)的結果,按式(11)~式(14)更新神經網絡的權值和閾值:
式中:[Hi]為輸入層值;[Hj]為隱含層值;[η]為學習率參數。
7) 若輸出結果的精度滿足要求,算法結束,輸出最優(yōu)解,否則轉入步驟5)。
4" 實驗結果及分析
4.1" 設置相關參數
為了評價本文GA?ACO?BP算法性能,選用Matlab R2016a軟件工具對本文算法仿真顯示,計算機硬件配置處理器Inter[?]CoreTM i5?7300HQ 2.5 GHz,運行內存8.00 GB,64位操作系統(tǒng)。在目標區(qū)域100 m×100 m范圍內隨機部署100個節(jié)點,匯聚節(jié)點坐標為(0,0),節(jié)點初始能量為0.5 J,具體參數定義見表1,GA?ACO?BP算法的訓練在匯聚節(jié)點完成,在網絡節(jié)點用GA?ACO?BP算法對數據融合處理。
[相關參數 實驗值 目標平面區(qū)域 /m2 100×100 節(jié)點數量 100 節(jié)點初始能量 /J 0.5 節(jié)點通信距離 /m 30 數據傳輸能量消耗 /(nJ/bit) 50 數據融合能量消耗 /(nJ/bit) 5 ]
4.2" 仿真實驗與結果分析
本次仿真結果主要對LEACH,ACO?BP和GA?ACO?BP三種算法進行網絡性能對比,節(jié)點能耗對比結果如圖4所示??梢钥闯?,GA?ACO?BP算法與LEACH算法、ACO?BP算法相比,網絡能量消耗下降最慢,原因在于ACO的并行性和正反饋機制結合GA的快速搜索、全局收斂性,快速找到數據融合移動代理路由,節(jié)省能耗;而ACO?BP算法未在GA算法中優(yōu)化,尋優(yōu)時間較長,融合精度不高。
LEACH算法基于分布式分簇,簇頭的選擇不合理和數據融合效果不理想,直接影響到節(jié)點能耗,通過圖5可以看出,在大約1 000輪中節(jié)點開始出現(xiàn)死亡,而ACO?BP算法利用神經網絡對數據信息特征提取,融合了部分感知數據,在大約1 200輪才出現(xiàn)節(jié)點死亡,與LEACH算法相比網絡壽命約延長了20%;而GA?ACO?BP算法網絡性能最好,有效去除了冗余數據,節(jié)點能耗最低,在大約1 350輪的時候節(jié)點出現(xiàn)死亡,與LEACH算法相比網絡壽命約延長了35%,所以它的網絡生命周期最長。
Sink節(jié)點接收的數據量仿真結果如圖6所示。隨著時間的推移,基于LEACH路由算法存在數據冗余現(xiàn)象,簇頭節(jié)點過多的數據包造成網絡傳輸堵塞,數據包丟失嚴重。ACO?BP算法在一定程度上優(yōu)化了網絡性能,但求解時間長,搜索能力受限,數據融合效果不理想;GA?ACO?BP算法與ACO?BP算法、LEACH算法相比,在Sink節(jié)點接收的數據量最多,這是由于GA?ACO?BP算法對網絡性能進行了優(yōu)化,快速找到全局最優(yōu)解,改善了BP神經網絡數據融合效果,減少數據冗余,降低數據傳輸延遲,提高了無線信道利用率。
GA?ACO?BP算法與ACO?BP算法的收斂性對比如圖7所示。ACO?BP算法迭代次數在33時收斂,GA?ACO?BP算法迭代次數在21時收斂,顯然GA?ACO?BP算法有著更快的收斂速度,這是因為在蟻群算法中引入遺傳算法的交叉算子和變異算子擴大了蟻群算法搜索空間,避免陷入局部最優(yōu),提高了蟻群算法的搜索能力和收斂速度。
5" 結" 語
本文從節(jié)省節(jié)點能耗,提高網絡收集數據的整體效率的目的出發(fā),對WSN中傳感器采集的信息進行數據融合處理,減少了需要傳輸的數據量。遺傳算法搜索最優(yōu)解來初始化蟻群算法信息素分布,優(yōu)化后的蟻群算法更新BP神經網絡模型的權值和閾值,快速求得目標函數最優(yōu)解。通過對GA?ACO?BP算法仿真測試,并與WSN傳統(tǒng)的LEACH算法和ACO?BP算法進行綜合對比,GA?ACO?BP算法在收斂速度、降低節(jié)點功耗、Sink節(jié)點接收的數據量等性能指標方面,都要優(yōu)于LEACH和ACO?BP算法,具有一定的應用價值。
參考文獻
[1] 潘琢金,劉繼磊,羅振,等.低功耗無線傳感器網絡節(jié)點的設計與實現(xiàn)[J].計算機工程與設計,2015(12):3225?3229.
PAN Zhuojin, LIU Jilei, LUO Zhen, et al. Design and implementation of low?power wireless sensor network node [J]. Computer engineering and design, 2015(12): 3225?3229.
[2] 李瓊,楊軍.基于無線傳感器網絡的溫室環(huán)境監(jiān)測系統(tǒng)中低功耗協(xié)議研究[J].南方農業(yè)學報,2012,43(12):2109?2112.
LI Qiong, YANG Jun. Low power consumption protocol of greenhouse environment monitoring system based on wireless sensor network [J]. Journal of southern agriculture, 2012, 43(12): 2109?2112.
[3] 張揚,楊松濤,張香芝.一種模擬退火遺傳算法的傳感器網絡數據融合技術研究[J].計算機應用研究,2012,29(5):1860?1862.
ZHANG Yang, YANG Songtao, ZHANG Xiangzhi. Research on wireless sensor networks data aggregation on simulated annealing genetic algorithm [J]. Application research of compu?ters, 2012, 29(5): 1860?1862.
[4] 邱立達,劉天鍵,林南,等.基于深度學習模型的無線傳感器網絡數據融合算法[J].傳感技術學報,2014,27(12):1704?1709.
QIU Lida, LIU Tianjian, LIN Nan, et al. Data aggregation in wireless sensor network based on deep learning model [J]. Chinese journal of sensors and actuators, 2014, 27(12): 1704?1709.
[5] 王華東,王大羽.一種改進的多無線傳感器數據分批估計自適應加權融合算法[J].傳感技術學報,2015,28(8):1239?1243.
WANG Huadong, WANG Dayu. An improved multiple wireless sensor data batch estimation adaptive weighted fusion algorithm [J]. Chinese journal of sensors and actuators, 2015, 28(8): 1239?1243.
[6] 樊雷松,強彥,趙涓涓,等.無線傳感網中基于BP神經網絡的數據融合方法[J].計算機工程與設計,2014,35(1):62?66.
FAN Leisong, QIANG Yan, ZHAO Juanjuan, et al. Data fusion method based on BP neural network in wireless sensor network [J]. Computer engineering and design, 2014, 35(1): 62?66.
[7] 翟學明,王佳,李金澤.基于蟻群算法和BP神經網絡的信道分配策略的研究[J].傳感技術學報,2016,29(3):445?450.
ZHAI Xueming, WANG Jia, LI Jinze. Research on channel allocation strategy based on ant colony algorithm and BP neural network [J]. Chinese journal of sensors and actuators, 2016, 29(3): 445?450.
[8] 郭秀娟,張坤鵬.基于蟻群混合遺傳算法的組卷問題研究[J].吉林建筑大學學報,2017,34(4):79?83.
GUO Xiujuan, ZHANG Kunpeng. Research on application of ant colony algorithms hybrid genetic algorithms for test paper generation problems [J]. Journal of Jilin Jianzhu University, 2017, 34(4): 79?83.
[9] 孫凌逸,黃先祥,蔡偉,等.基于神經網絡的無線傳感器網絡數據融合算法[J].傳感技術學報,2011,24(1):122?127.
SUN Lingyi, HUANG Xianxiang, CAI Wei, et al. Data aggregation of wireless sensor networks using artificial neural networks [J]. Chinese journal of sensors and actuators, 2011, 24(1): 122?127.
[10] 喬東平,裴杰,肖艷秋,等.蟻群算法及其應用綜述[J].軟件導刊,2017,16(12):217?221.
QIAO Dongping, Pei Jie, XIAO Yanqiu, et al. A general overview on ant colony algorithm and its application [J]. Software guide, 2017, 16(12): 217?221.