曹軻,譚沖,劉洪,鄭敏
(1 上海微系統(tǒng)與信息技術(shù)研究所 中國科學(xué)院無線傳感網(wǎng)與通信重點(diǎn)實(shí)驗(yàn)室,上海 200050;2 中國科學(xué)院大學(xué),北京 100049)(2020年1月6日收稿;2020年4月8日收修改稿)
無線傳感器網(wǎng)絡(luò)包含具有數(shù)據(jù)采集和通信功能的傳感器節(jié)點(diǎn)[1],節(jié)點(diǎn)由電池供電,但能量有限且難以有效補(bǔ)充。節(jié)點(diǎn)在傳輸數(shù)據(jù)時(shí)會消耗大量能量[2-3],數(shù)據(jù)傳輸?shù)哪芎臅s短整個(gè)網(wǎng)絡(luò)的網(wǎng)絡(luò)生存時(shí)間[4]。而數(shù)據(jù)融合技術(shù)可以提取傳感器節(jié)點(diǎn)采集數(shù)據(jù)的特征,減少傳輸數(shù)據(jù)量,降低網(wǎng)絡(luò)節(jié)點(diǎn)能耗,從而延長網(wǎng)絡(luò)生存時(shí)間[5]。
如何增加數(shù)據(jù)可靠性、降低節(jié)點(diǎn)能耗及延長網(wǎng)絡(luò)壽命是無線傳感器網(wǎng)絡(luò)數(shù)據(jù)融合算法的關(guān)鍵問題[6-7]。神經(jīng)網(wǎng)絡(luò)和無線傳感網(wǎng)的相似性使其成為數(shù)據(jù)融合算法的研究重點(diǎn)[8-11]。文獻(xiàn)[10]將BP神經(jīng)網(wǎng)絡(luò)用于環(huán)境監(jiān)測場景中的多傳感器數(shù)據(jù)融合,能降低監(jiān)測數(shù)據(jù)維數(shù)。文獻(xiàn)[11]提出基于BP神經(jīng)網(wǎng)絡(luò)的無線傳感器網(wǎng)絡(luò)數(shù)據(jù)融合算法(back-propagation networks data aggregation, BPNDA),算法以LEACH路由協(xié)議為基礎(chǔ),利用神經(jīng)網(wǎng)絡(luò)對簇成員采集的數(shù)據(jù)進(jìn)行特征提取并匯聚數(shù)據(jù)至匯聚節(jié)點(diǎn),有效地減少了數(shù)據(jù)傳輸通信量和節(jié)點(diǎn)傳輸能耗,但BP神經(jīng)網(wǎng)絡(luò)存在對初值敏感、易陷入局部最優(yōu)解的問題。文獻(xiàn)[12]提出一種基于改進(jìn)蟻群和BP神經(jīng)網(wǎng)絡(luò)的數(shù)據(jù)融合算法,利用改進(jìn)蟻群算法對BP神經(jīng)網(wǎng)絡(luò)進(jìn)行優(yōu)化,但只針對深井的場景。文獻(xiàn)[13]提出基于事件驅(qū)動的動態(tài)分簇協(xié)議,并使用BPNDA算法進(jìn)行數(shù)據(jù)融合,但事件驅(qū)動成本較高且未解決BP神經(jīng)網(wǎng)絡(luò)的缺陷。文獻(xiàn)[14]提出基于遺傳算法和粒子群算法優(yōu)化BP神經(jīng)網(wǎng)絡(luò)的數(shù)據(jù)融合算法(GAPSOBP),算法結(jié)合分簇路由算法能有效減少數(shù)據(jù)傳輸量和節(jié)點(diǎn)能耗,延長網(wǎng)絡(luò)生存時(shí)間。學(xué)者們?yōu)榱私鉀Q數(shù)據(jù)融合算法中BP神經(jīng)網(wǎng)絡(luò)盲目選取初值、易陷入局部極值等問題,嘗試將各類智能啟發(fā)式算法與神經(jīng)網(wǎng)絡(luò)相結(jié)合?;依莾?yōu)化算法是一種新型的群體智能優(yōu)化算法,算法在最優(yōu)解方面已經(jīng)被證明相較粒子群算法、遺傳算法和其他智能啟發(fā)式算法有更優(yōu)的收斂速度和求解精度[15],但在實(shí)際應(yīng)用時(shí)也會存在收斂性問題和局部極值問題[16]。
針對現(xiàn)有基于神經(jīng)網(wǎng)絡(luò)數(shù)據(jù)融合算法中網(wǎng)絡(luò)非線性映射能力不足、數(shù)據(jù)特征提取不準(zhǔn)確等問題,結(jié)合無線傳感器網(wǎng)絡(luò)實(shí)際傳輸情況,本文提出基于改進(jìn)灰狼算法優(yōu)化BP神經(jīng)網(wǎng)絡(luò)的無線傳感器網(wǎng)絡(luò)數(shù)據(jù)融合算法(improved grey wolf optimizer back-propagation networks data aggregation,IGWOBPDA)。文章主要分為3部分:1)提出基于正切函數(shù)的改進(jìn)控制參數(shù)策略和動態(tài)權(quán)重位置更新策略來平衡灰狼算法局部與全局搜索能力;2)提出IGWOBPDA算法模型。使用基于神經(jīng)網(wǎng)絡(luò)的數(shù)據(jù)融合模型,考慮到無線傳感網(wǎng)實(shí)際傳輸節(jié)點(diǎn)能耗和分簇情況,為保證數(shù)據(jù)融合網(wǎng)絡(luò)結(jié)構(gòu)和網(wǎng)絡(luò)負(fù)載的穩(wěn)定性,提出基于節(jié)點(diǎn)剩余能量參數(shù)和節(jié)點(diǎn)密度參數(shù)的簇首選取方案,通過調(diào)整權(quán)重因子來適應(yīng)網(wǎng)絡(luò)數(shù)據(jù)融合傳輸過程中的實(shí)際情況;3)提出IGWOBPDA算法流程。為解決數(shù)據(jù)融合中BP神經(jīng)網(wǎng)絡(luò)對初值敏感、易陷入局部最優(yōu)解的問題,采用改進(jìn)灰狼算法對BP神經(jīng)網(wǎng)絡(luò)初始閾值和初始權(quán)值進(jìn)行優(yōu)化,結(jié)合簇首選舉方案,實(shí)現(xiàn)數(shù)據(jù)融合。IGWOBPDA算法不僅能提高數(shù)據(jù)融合精度,而且能均衡網(wǎng)絡(luò)負(fù)載,降低網(wǎng)絡(luò)數(shù)據(jù)傳輸量和節(jié)點(diǎn)傳輸能耗,從而延長網(wǎng)絡(luò)生存時(shí)間。
灰狼優(yōu)化算法(grey wolf optimizer, GWO)[17]通過模仿灰狼種群在自然界的領(lǐng)導(dǎo)層級和群體狩獵方式來達(dá)到接近目標(biāo)的目的。算法按適應(yīng)度值將個(gè)體劃分為4種等級層級:α、β、δ、ω。α為最優(yōu)解,β、δ分別為第二、第三最優(yōu)解,候選解為ω。算法數(shù)學(xué)模型[17]為
D=|C·Xp(t)-X(t)|,
(1)
X(t+1)=Xp(t)-A·D.
(2)
其中:D為灰狼個(gè)體與獵物間的距離向量;t為當(dāng)前迭代次數(shù);Xp(t)為獵物的位置向量;X(t)為灰狼個(gè)體位置向量;收斂因子A=2a·r1-a,C=2·r2,r1、r2是[0,1]的隨機(jī)向量,a為控制參數(shù)。
灰狼種群有能力識別獵物的位置并包圍。在數(shù)學(xué)抽象的搜索空間中,通過計(jì)算α、β、δ的位置向量來更新ω的位置向量[15]:
Dα=|C1·Xα-X|,
(3)
Dβ=|C2·Xβ-X|,
(4)
Dδ=|C3·Xδ-X|.
(5)
其中:X表示當(dāng)前灰狼個(gè)體的位置;C1、C2、C3為隨機(jī)擾動向量;Xα、Xβ、Xδ分別為α、β、δ的位置;Dα、Dβ、Dδ分別為α、β、δ與當(dāng)前灰狼個(gè)體的距離。
X1=Xα-A1·Dα,
(6)
X2=Xβ-A2·Dβ,
(7)
X3=Xδ-A3·Dδ,
(8)
(9)
式(9)表示ω狼在本輪更新中的最終位置向量。
GWO算法具有能自適應(yīng)調(diào)整的收斂因子和控制參數(shù)機(jī)制。在式(2)中,a線性減小使得收斂因子A在[-a,a]區(qū)間內(nèi)變化。當(dāng)|A|>1時(shí),狼群散開全局搜索;當(dāng)|A|<1時(shí),狼群集中靠近最優(yōu)解??刂茀?shù)a影響著收斂因子A的收斂,進(jìn)而影響狼群全局或者局部搜索。文獻(xiàn)[15]采用控制參數(shù)為線性遞減的公式:
(10)
其中:amax=2,amin=0,tmax為最大迭代次數(shù)。
控制參數(shù)a隨t的增加從2到0線性減小,由于GWO實(shí)際尋優(yōu)過程是復(fù)雜而非線性分布的,線性減小a并不能完全平衡全局最優(yōu)和局部最優(yōu)的搜索能力。因此本文針對算法收斂性提出基于正切函數(shù)的非線性控制參數(shù)策略,公式如下
(11)
改進(jìn)后的控制參數(shù)a變?yōu)榉蔷€性的遞減,相較線性遞減策略,在算法開始時(shí),a遞減速率較小,增加了全局搜索能力,在算法后期,a遞減速率較大,改善了算法局部尋優(yōu)問題的收斂速率。
GWO算法在α、β、δ狼的帶領(lǐng)下進(jìn)行位置更新,但式(9)顯示了α、β、δ的同等影響力,然而α、β、δ是具有不同特征且領(lǐng)導(dǎo)影響力不同的。本文結(jié)合文獻(xiàn)[18-19]的動態(tài)權(quán)重更新策略,提出基于適應(yīng)度值和步長歐氏距離的動態(tài)權(quán)重位置更新策略,公式如下
(12)
(13)
(14)
(15)
(16)
(17)
(18)
其中:fα、fβ、fδ為適應(yīng)度值,W1、W2、W3分別為灰狼種群對α、β、δ的學(xué)習(xí)率。ω狼在每輪位置更新的最終公式為式(18)。通過適應(yīng)度權(quán)重w和學(xué)習(xí)率W綜合考慮,動態(tài)調(diào)整α、β、δ對更新個(gè)體的影響權(quán)重比例,更加凸顯灰狼α、β、δ對灰狼種群個(gè)體的影響,能更好平衡算法的學(xué)習(xí)搜索能力。
無線傳感器網(wǎng)絡(luò)傳感器節(jié)點(diǎn)的能耗問題和網(wǎng)絡(luò)生存時(shí)間的改善是當(dāng)前研究的重點(diǎn)。無線傳感器網(wǎng)絡(luò)數(shù)據(jù)融合技術(shù)主要分為3類:數(shù)據(jù)級融合,特征級融合和決策級融合。決策級融合技術(shù)通過多種監(jiān)測手段根據(jù)特征級融合提取的數(shù)據(jù)特征對目標(biāo)進(jìn)行識別、判別和分類等操作獲得最終的決策級融合結(jié)果。本文主要研究基于神經(jīng)網(wǎng)絡(luò)的決策級數(shù)據(jù)融合算法。
無線傳感器網(wǎng)絡(luò)中LEACH算法提出在簇首節(jié)點(diǎn)進(jìn)行數(shù)據(jù)融合的方式可以有效減少傳輸數(shù)據(jù)量,這使得在網(wǎng)絡(luò)質(zhì)量幾乎未損失的情況下,網(wǎng)絡(luò)只是增加了計(jì)算量而不增加通信能量[5]。本文以BPNDA算法為基礎(chǔ)構(gòu)建算法模型,利用LEACH算法的思想將網(wǎng)絡(luò)劃分成若干簇,每個(gè)簇結(jié)構(gòu)作為BP神經(jīng)網(wǎng)絡(luò)模型。簇結(jié)構(gòu)包括1個(gè)簇首節(jié)點(diǎn)和大量簇內(nèi)節(jié)點(diǎn):簇內(nèi)成員節(jié)點(diǎn)進(jìn)行數(shù)據(jù)監(jiān)測,并預(yù)處理歸一化數(shù)據(jù);簇首節(jié)點(diǎn)利用BP神經(jīng)網(wǎng)絡(luò)對數(shù)據(jù)進(jìn)行特征提取,并將特征數(shù)據(jù)轉(zhuǎn)發(fā)給匯聚節(jié)點(diǎn)。模型可減少傳輸數(shù)據(jù)量和能耗,延長網(wǎng)絡(luò)生存時(shí)間。
圖1為算法模型。將3層BP神經(jīng)網(wǎng)絡(luò)應(yīng)用至數(shù)據(jù)融合算法中,輸入層設(shè)置于簇成員節(jié)點(diǎn)中,隱含層和輸出層設(shè)置于簇首節(jié)點(diǎn)中。
圖1 IGWOBPDA算法模型
數(shù)據(jù)融合發(fā)生在簇首節(jié)點(diǎn)中,簇成員節(jié)點(diǎn)的監(jiān)測數(shù)據(jù)的數(shù)據(jù)類型可能不同。為保證不同類型數(shù)據(jù)能夠加權(quán)融合,簇成員節(jié)點(diǎn)對監(jiān)測數(shù)據(jù)信息進(jìn)行歸一化預(yù)處理,并通過BP神經(jīng)網(wǎng)絡(luò)輸入層將歸一化結(jié)果發(fā)送至簇首節(jié)點(diǎn)。監(jiān)測數(shù)據(jù)集xi(i=1,2,…,n)可以計(jì)算出數(shù)據(jù)均值和標(biāo)準(zhǔn)差
(19)
(20)
(21)
x′i將通過簇首節(jié)點(diǎn)的隱含層和輸出層對傳輸數(shù)據(jù)進(jìn)行融合處理。神經(jīng)網(wǎng)絡(luò)隱含層閾值值為Ri,γij為權(quán)值,bi為修正值,則輸出層神經(jīng)元功能函數(shù)為
(22)
簇首節(jié)點(diǎn)得到具有較小誤差的簇內(nèi)特征融合數(shù)據(jù)。網(wǎng)絡(luò)神經(jīng)元數(shù)據(jù)根據(jù)實(shí)際情況確定,由于能量、處理能力等限制,網(wǎng)絡(luò)訓(xùn)練任務(wù)由匯聚節(jié)點(diǎn)完成。
基于神經(jīng)網(wǎng)絡(luò)的數(shù)據(jù)融合模型以LEACH算法為基礎(chǔ)。LEACH算法以概率的計(jì)算保證所有節(jié)點(diǎn)輪流當(dāng)簇首,每個(gè)輪次節(jié)點(diǎn)會產(chǎn)生隨機(jī)值φ(0<φ<1),若φ (23) 其中:G為未當(dāng)過簇首的節(jié)點(diǎn)集,r為循環(huán)次數(shù),p為簇首占比重。然而,LEACH算法簇首隨機(jī)選取,可能導(dǎo)致能量不足的節(jié)點(diǎn)當(dāng)選簇首,或者簇內(nèi)節(jié)點(diǎn)過少,從而導(dǎo)致簇BP神經(jīng)網(wǎng)絡(luò)結(jié)構(gòu)不穩(wěn)定。因此本文綜合節(jié)點(diǎn)剩余能量參數(shù)和節(jié)點(diǎn)密度參數(shù),對簇首選舉方案進(jìn)行改進(jìn),以均衡網(wǎng)絡(luò)能量負(fù)載,保證網(wǎng)絡(luò)結(jié)構(gòu)穩(wěn)定。 2.2.1 節(jié)點(diǎn)剩余能量參數(shù) LEACH算法網(wǎng)絡(luò)節(jié)點(diǎn)初始能量相同,但隨著網(wǎng)絡(luò)傳輸?shù)倪M(jìn)行,簇首節(jié)點(diǎn)能耗較大,頻繁當(dāng)選簇首會導(dǎo)致節(jié)點(diǎn)耗能過大甚至提前死亡。因此選擇簇首應(yīng)考慮節(jié)點(diǎn)剩余能量[20]。定義節(jié)點(diǎn)剩余能量參數(shù)Er=Ep/E0,Ep為節(jié)點(diǎn)剩余能量,E0為節(jié)點(diǎn)初始能量。 2.2.2 節(jié)點(diǎn)密度參數(shù) 為保證數(shù)據(jù)融合網(wǎng)絡(luò)模型穩(wěn)定性,需考慮網(wǎng)絡(luò)節(jié)點(diǎn)密度參數(shù)。在實(shí)際網(wǎng)絡(luò)監(jiān)測環(huán)境中,節(jié)點(diǎn)隨機(jī)散落在監(jiān)測區(qū)域,簇首的選舉方案應(yīng)考慮該節(jié)點(diǎn)附近節(jié)點(diǎn)數(shù)量。定義附近節(jié)點(diǎn)為該節(jié)點(diǎn)最大通信范圍內(nèi)的其他節(jié)點(diǎn)[21],數(shù)據(jù)集合為 Noder={n|d(m,n)≤R,m∈N,n∈N}. (24) 本文定義節(jié)點(diǎn)密度參數(shù)為最大通信范圍R內(nèi)的附近節(jié)點(diǎn)數(shù)量與標(biāo)準(zhǔn)簇節(jié)點(diǎn)數(shù)量比。計(jì)算公式如下 (25) (26) 其中:smon為監(jiān)測面積,N為網(wǎng)絡(luò)節(jié)點(diǎn)個(gè)數(shù);m.Noder為節(jié)點(diǎn)m的附近節(jié)點(diǎn)個(gè)數(shù),1/p-1表示標(biāo)準(zhǔn)簇中附近節(jié)點(diǎn)數(shù)量。 算法考慮節(jié)點(diǎn)剩余能量參數(shù)和節(jié)點(diǎn)密度參數(shù),對簇首選舉的閾值公式進(jìn)行更新 (27) 其中:αi(i=1,2)為權(quán)重因子,滿足α1+α2=1。當(dāng)Ep很小時(shí),Er會減小T的值,當(dāng)前節(jié)點(diǎn)需要隨機(jī)值φ比之前輪次更小才能當(dāng)選簇首,式(27)能降低Ep較小的節(jié)點(diǎn)當(dāng)選簇首的概率;當(dāng)節(jié)點(diǎn)位置不佳或附近節(jié)點(diǎn)數(shù)量過少,可能無法形成有效的網(wǎng)絡(luò)結(jié)構(gòu)進(jìn)行數(shù)據(jù)融合,式(27)能降低ρr較小的節(jié)點(diǎn)T值。由此保證數(shù)據(jù)融合中網(wǎng)絡(luò)的負(fù)載均衡。 權(quán)重因子可根據(jù)實(shí)際場景和網(wǎng)絡(luò)結(jié)構(gòu)調(diào)整。在網(wǎng)絡(luò)運(yùn)行初期,節(jié)點(diǎn)初始能量充足,α1可相對降低,在網(wǎng)絡(luò)運(yùn)行中后期,節(jié)點(diǎn)Ep降低,可增加α1值;對于節(jié)點(diǎn)非均勻分布的場景,可適當(dāng)增加α2值以保證網(wǎng)絡(luò)結(jié)構(gòu)穩(wěn)定;在節(jié)點(diǎn)均勻分部場景中,α2=0,但非實(shí)際情況可達(dá)到。 本文使用Matlab進(jìn)行多次實(shí)驗(yàn)驗(yàn)證,在節(jié)點(diǎn)隨機(jī)分布的場景中,一般情況節(jié)點(diǎn)密度參數(shù)權(quán)重α2≤1/4;在多次實(shí)驗(yàn)驗(yàn)證中,考慮網(wǎng)絡(luò)運(yùn)行中節(jié)點(diǎn)能量的變化和網(wǎng)絡(luò)節(jié)點(diǎn)隨機(jī)密度,以保證數(shù)據(jù)融合傳輸?shù)姆€(wěn)定性。本文設(shè)計(jì)在網(wǎng)絡(luò)運(yùn)行初期,節(jié)點(diǎn)能量充足,節(jié)點(diǎn)剩余能量參數(shù)權(quán)重α1=3/4,節(jié)點(diǎn)密度參數(shù)權(quán)重α2=1/4;當(dāng)節(jié)點(diǎn)剩余能量Ep≤40%E0,節(jié)點(diǎn)剩余能量參數(shù)權(quán)重α1=4/5,節(jié)點(diǎn)密度參數(shù)權(quán)重α2=1/5。 IGWOBPDA算法利用改進(jìn)分簇算法得到相對穩(wěn)定的簇網(wǎng)絡(luò)結(jié)構(gòu),匯聚節(jié)點(diǎn)采用與網(wǎng)絡(luò)節(jié)點(diǎn)匹配的數(shù)據(jù)進(jìn)行樣本訓(xùn)練,并將訓(xùn)練得到的改進(jìn)神經(jīng)網(wǎng)絡(luò)參數(shù)傳輸給對應(yīng)簇首,簇首采用訓(xùn)練好的神經(jīng)網(wǎng)絡(luò)結(jié)構(gòu)進(jìn)行數(shù)據(jù)融合。具體算法步驟如下: Step1 初始部署網(wǎng)絡(luò)節(jié)點(diǎn)并上報(bào)節(jié)點(diǎn)信息。 Step2 設(shè)置網(wǎng)絡(luò)節(jié)點(diǎn)權(quán)重因子α1=3/4,α2=1/4。 Step3 計(jì)算節(jié)點(diǎn)Er,由式(25)、式(26)計(jì)算節(jié)點(diǎn)ρr,由式(29)計(jì)算T(n)。網(wǎng)絡(luò)確定簇首,形成穩(wěn)定的簇結(jié)構(gòu)。 Step4 簇首節(jié)點(diǎn)傳輸簇信息至匯聚節(jié)點(diǎn)等待訓(xùn)練。 Step5 匯聚節(jié)點(diǎn)按照簇信息確定BP神經(jīng)網(wǎng)絡(luò)結(jié)構(gòu),選取數(shù)據(jù)庫數(shù)據(jù)集,使用IGWO算法優(yōu)化BP神經(jīng)網(wǎng)絡(luò)初值,訓(xùn)練確定最優(yōu)參數(shù)并存儲。 Step6 匯聚節(jié)點(diǎn)發(fā)送訓(xùn)練最優(yōu)參數(shù)至對應(yīng)簇首節(jié)點(diǎn)。簇首節(jié)點(diǎn)確定簇內(nèi)神經(jīng)網(wǎng)絡(luò)參數(shù),進(jìn)行數(shù)據(jù)融合并傳輸至匯聚節(jié)點(diǎn)。 Step7 若超過一半節(jié)點(diǎn)Ep≤40%E0,調(diào)整節(jié)點(diǎn)權(quán)重因子:α1=4/5,α2=1/5。返回Step3直到網(wǎng)絡(luò)死亡。 其中,Step5采用IGWO(improved GWO)算法對BP神經(jīng)網(wǎng)絡(luò)的初始權(quán)值和閾值進(jìn)行優(yōu)化。BP神經(jīng)網(wǎng)絡(luò)算法模型初始權(quán)值和閾值選取具有隨機(jī)性,經(jīng)訓(xùn)練后可能達(dá)到局部最優(yōu)而非全局最優(yōu),其精確度難以達(dá)到實(shí)際需求。初值的隨機(jī)化會導(dǎo)致BP神經(jīng)網(wǎng)絡(luò)的樣本訓(xùn)練隨機(jī)化,網(wǎng)絡(luò)訓(xùn)練結(jié)果震蕩較大,陷入局部最優(yōu)解。將BP神經(jīng)網(wǎng)絡(luò)初值優(yōu)化問題轉(zhuǎn)化為灰狼個(gè)體尋找獵物位置問題,提供給網(wǎng)絡(luò)一個(gè)“足夠好”的初值能有效提高網(wǎng)絡(luò)非線性處理能力。 IGWO算法優(yōu)化BP神經(jīng)網(wǎng)絡(luò)具體步驟如下: Step1 設(shè)置搜索空間維度:d=M·N+N·1+N+1(神經(jīng)網(wǎng)絡(luò)結(jié)構(gòu):M-N-1);BP神經(jīng)網(wǎng)絡(luò)參數(shù)向量 U=[ω11,ω12,…,ω1N,…,ωM1,ωM2,…, ωMN,R1,R2,…,RN,γ1,γ2,…,γN,θ]. (28) 其中:ωij(i∈[1,M],j∈[1,N])為神經(jīng)元與隱含層權(quán)值,θ為輸出層閾值;設(shè)置種群規(guī)模n,最大迭代次數(shù)tmax和參數(shù)a、A、C。 Step2 初始化灰狼個(gè)體位置向量Xi(i=1,…,n)=U,Xi(i=1,…,n)∈[lb,ub]。 Step4 排序灰狼個(gè)體位置信息{f(Xi),Xi},取前3灰狼個(gè)體設(shè)置為:Xα,Xβ,Xδ。 Step5 由式(3)~式(5)計(jì)算Dα、Dβ、Dδ;由式(6)~式(8)計(jì)算X1、X2、X3;更新A、C; Step6 由式(11)更新a;由式(18)更新Xi(t+1)。 Step7 更新f(Xi)、Xα、Xβ、Xδ。 Step8 若t≤tmax,或f(Xi)達(dá)到預(yù)期目標(biāo),轉(zhuǎn)至Step9;否則轉(zhuǎn)至Step4。 Step9 記錄Xα作為最優(yōu)解Xbest,記Xbest=(Xbest1,Xbest2,…,Xbestd)=Ubest,用Ubest進(jìn)一步訓(xùn)練。 在一次數(shù)據(jù)融合傳輸中IGWO算法與BP神經(jīng)網(wǎng)絡(luò)的訓(xùn)練為串行關(guān)系。設(shè)IGWO算法灰狼個(gè)體數(shù)為n,個(gè)體迭代時(shí)間為T,算法迭代m次,則運(yùn)行IGWO算法時(shí)間復(fù)雜度為O(mn);BP神經(jīng)網(wǎng)絡(luò)結(jié)構(gòu)為n1-n2-n3,則運(yùn)行時(shí)間為(n1·n2+n2·n3)·T,時(shí)間復(fù)雜度為O(n2)。因此,IGWOBPDA算法時(shí)間復(fù)雜度為O(mn)+O(n2)。與節(jié)點(diǎn)傳輸能耗相比,CPU指令消耗的能量會更低,用較高的計(jì)算量換取較低的數(shù)據(jù)傳輸量有重大意義[3]。 本文使用Matlab2018a進(jìn)行仿真實(shí)驗(yàn)。以環(huán)境監(jiān)測場景作為應(yīng)用場景,通過與BPNDA算法、GAPSOBP算法進(jìn)行比較,從數(shù)據(jù)融合誤差、算法收斂性、匯聚節(jié)點(diǎn)接收數(shù)據(jù)量、網(wǎng)絡(luò)節(jié)點(diǎn)能耗、網(wǎng)絡(luò)生存時(shí)間五個(gè)方面對IGWOBPDA數(shù)據(jù)融合算法進(jìn)行仿真分析。 無線傳感器網(wǎng)絡(luò)仿真參數(shù)如表1所示。設(shè)匯聚節(jié)點(diǎn)在網(wǎng)絡(luò)部署外且位置固定,且有無限計(jì)算能力和能量,簇參數(shù)的訓(xùn)練更新過程都在匯聚節(jié)點(diǎn)完成。數(shù)據(jù)傳輸中的能耗計(jì)算采用文獻(xiàn)[22]中的一階無線電模型。 表1 無線傳感器網(wǎng)絡(luò)仿真參數(shù)設(shè)置 1)算法數(shù)據(jù)融合誤差 實(shí)驗(yàn)數(shù)據(jù)融合誤差采用3項(xiàng)指標(biāo)進(jìn)行對比,分別是平均均方誤差(average relative error,AvRE)、均方根誤差(root mean squared error,RMSE)、擬合優(yōu)度(goodness of fit,R2),計(jì)算公式為 (29) (30) (31) 表2為BPNDA算法、GAPSOBP算法和IGWOBPDA算法的數(shù)據(jù)融合誤差值。IGWOBPDA算法在3項(xiàng)誤差指標(biāo)中有明顯的優(yōu)勢。其中,IGWOBPDA算法在AvRE指標(biāo)上比BPNDA算法減少42.3%,比GAPAOBP算法減少8.7%;IGWOBPDA算法在RMSE指標(biāo)上比GAPAOBP算法減少7.2%。 表2 算法數(shù)據(jù)融合誤差值 為驗(yàn)證算法在不同數(shù)據(jù)集下的性能,本文選取另2個(gè)UCI數(shù)據(jù)集:巴塞羅那城市污水處理工廠的測量數(shù)據(jù)集(WTPDS)和葡萄牙葡萄酒檢測數(shù)據(jù)集(WDS),融合誤差(RMSE)結(jié)果如表3所示??梢钥闯鲈诓煌瑪?shù)據(jù)集下IGWOBPDA算法融合誤差值最低。算法提高了神經(jīng)網(wǎng)絡(luò)的非線性處理能力,有更好的數(shù)據(jù)融合準(zhǔn)確性。 表3 3種數(shù)據(jù)集下數(shù)據(jù)融合誤差值(RMSE) 2)算法收斂性 圖2為算法收斂性對比。IGWOBPDA算法和GAPSOBP算法隨迭代次數(shù)不斷地接近最優(yōu)適應(yīng)度值。IGWOBPDA算法大約在33代后就收斂至最優(yōu)適應(yīng)度值。表明了IGWOBPDA算法在使用自適應(yīng)調(diào)整的控制參數(shù)和動態(tài)位置權(quán)重等可以較好的擴(kuò)大尋優(yōu)空間,有效避免局部最優(yōu)解并提高算法收斂速度。 圖2 算法收斂性對比 3)網(wǎng)絡(luò)節(jié)點(diǎn)剩余能量 網(wǎng)絡(luò)節(jié)點(diǎn)剩余能量是有效反映無線傳感器網(wǎng)絡(luò)網(wǎng)絡(luò)效率的性能指標(biāo)。由圖3可知,IGWOBPDA算法對網(wǎng)絡(luò)的能耗速率明顯低于LEACH算法和BPNDA算法。由于IGWOBPDA算法一方面考慮到節(jié)點(diǎn)能量參數(shù)和節(jié)點(diǎn)密度參數(shù)能更好的均衡網(wǎng)絡(luò)能耗,另一方面能更有效的融合數(shù)據(jù),減少網(wǎng)絡(luò)數(shù)據(jù)傳輸量,降低節(jié)點(diǎn)能耗。隨著網(wǎng)絡(luò)規(guī)模的增加(n=100,n=150,n=200),IGWOBPDA算法節(jié)點(diǎn)平均能耗速率降低,能較好均衡網(wǎng)絡(luò)能耗。 圖3 算法網(wǎng)絡(luò)節(jié)點(diǎn)剩余能量對比 4)匯聚節(jié)點(diǎn)接收數(shù)據(jù)量 圖4為網(wǎng)絡(luò)節(jié)點(diǎn)數(shù)在LEACH算法、BPNDA算法和IGWOBPDA算法下對匯聚節(jié)點(diǎn)接收數(shù)據(jù)量的影響。IGWOBPDA算法對匯聚節(jié)點(diǎn)接收數(shù)據(jù)量有明顯提升。隨著網(wǎng)絡(luò)規(guī)模的增加,由于信道帶寬等限制,LEACH算法接收數(shù)據(jù)量穩(wěn)定,而IGWOBPDA算法接收數(shù)據(jù)量穩(wěn)步提升。IGWOBPDA算法采用改進(jìn)神經(jīng)網(wǎng)絡(luò)進(jìn)行數(shù)據(jù)融合,能夠更有效的融合數(shù)據(jù)和均衡網(wǎng)絡(luò)負(fù)載,算法減少了網(wǎng)絡(luò)數(shù)據(jù)通信量并消除網(wǎng)絡(luò)擁塞,增加了匯聚節(jié)點(diǎn)接收到的有效數(shù)據(jù)包量,增加了數(shù)據(jù)的準(zhǔn)確性和完備性。IGWOBPDA算法在已知大數(shù)據(jù)集的前提下,隨著規(guī)模的增加,數(shù)據(jù)融合性能有一定優(yōu)勢。 圖4 不同網(wǎng)絡(luò)規(guī)模下的數(shù)據(jù)量 5)網(wǎng)絡(luò)生存時(shí)間 本文采用文獻(xiàn)[23]對網(wǎng)絡(luò)生存時(shí)間的定義,當(dāng)傳感器網(wǎng)絡(luò)節(jié)點(diǎn)的存活率低于80%時(shí),網(wǎng)絡(luò)“死亡”,以保證網(wǎng)絡(luò)可靠性。圖5中IGWOBPDA算法明顯延長了網(wǎng)絡(luò)生存時(shí)間。 圖5 算法網(wǎng)絡(luò)網(wǎng)絡(luò)生存時(shí)間對比 為了優(yōu)化無線傳感器網(wǎng)絡(luò)數(shù)據(jù)融合算法的數(shù)據(jù)可靠性、網(wǎng)絡(luò)能耗等問題,且針對基于神經(jīng)網(wǎng)絡(luò)的無線傳感器網(wǎng)絡(luò)數(shù)據(jù)融合算法中對BP神經(jīng)網(wǎng)絡(luò)初始值敏感,考慮到無線傳感器網(wǎng)絡(luò)實(shí)際傳輸情況,本文提出基于改進(jìn)灰狼算法優(yōu)化BP神經(jīng)網(wǎng)絡(luò)的無線傳感器網(wǎng)絡(luò)數(shù)據(jù)融合算法IGWOBPDA。算法首先提出基于正切函數(shù)的控制參數(shù)和動態(tài)權(quán)重位置更新策略的灰狼算法改進(jìn)方案,使用改進(jìn)方案優(yōu)化BP神經(jīng)網(wǎng)絡(luò)的初始權(quán)值和閾值,有效避免了BP神經(jīng)網(wǎng)絡(luò)初始值的隨機(jī)性,提高網(wǎng)絡(luò)非線性處理能力;其次提出基于節(jié)點(diǎn)剩余能量和節(jié)點(diǎn)密度參數(shù)的成簇方案,通過調(diào)整參數(shù)權(quán)重來適應(yīng)數(shù)據(jù)融合傳輸過程中的實(shí)際情況,保證了數(shù)據(jù)融合網(wǎng)絡(luò)結(jié)構(gòu)和負(fù)載的穩(wěn)定性。仿真實(shí)驗(yàn)結(jié)果表明,該算法相較于BPNDA算法和GAPSOBP算法,在不同數(shù)據(jù)集下有更快的收斂速度,可至少減少7.2%的數(shù)據(jù)融合均方根誤差,并且能減少網(wǎng)絡(luò)能耗、降低數(shù)據(jù)傳輸量、延長網(wǎng)絡(luò)生存時(shí)間,隨著網(wǎng)絡(luò)的規(guī)模增加保持穩(wěn)定性。3 IGWOBPDA算法實(shí)現(xiàn)
3.1 IGWOBPDA算法流程
3.2 算法復(fù)雜性分析
4 仿真結(jié)果及分析
5 總結(jié)
中國科學(xué)院大學(xué)學(xué)報(bào)2022年2期