王虹,徐佑宇,譚沖,劉洪,鄭敏
(1 中國(guó)科學(xué)院上海微系統(tǒng)與信息技術(shù)研究所, 上海 200050; 2 中國(guó)科學(xué)院大學(xué), 北京 100049)
無(wú)線傳感器網(wǎng)絡(luò) (wireless sensor network,WSN)是由大量小尺寸、低成本的微傳感器節(jié)點(diǎn)通過(guò)自組織和多跳方式形成的通信網(wǎng)絡(luò)[1],將傳感器數(shù)據(jù)發(fā)送給匯聚節(jié)點(diǎn)以實(shí)現(xiàn)對(duì)特定區(qū)域的環(huán)境信息的探測(cè)和感知。WSN中傳感器節(jié)點(diǎn)能量有限,并且節(jié)點(diǎn)電池由于環(huán)境因素難以替換[2]。WSN中傳感器節(jié)點(diǎn)在監(jiān)測(cè)區(qū)域分布較密,會(huì)導(dǎo)致監(jiān)測(cè)區(qū)域的重疊,產(chǎn)生的大量冗余數(shù)據(jù)傳輸至匯聚節(jié)點(diǎn)會(huì)造成額外的能量消耗,縮短整個(gè)網(wǎng)絡(luò)的生命周期[3]。對(duì)WSN數(shù)據(jù)進(jìn)行數(shù)據(jù)融合處理,能有效地減少冗余數(shù)據(jù),降低傳感器節(jié)點(diǎn)能耗,延長(zhǎng)網(wǎng)絡(luò)生命周期[4]。
針對(duì)無(wú)線傳感網(wǎng)數(shù)據(jù)傳輸能耗較高的問(wèn)題,科研人員提出各種WSN數(shù)據(jù)融合算法來(lái)減少數(shù)據(jù)傳輸,以降低傳感器節(jié)點(diǎn)能耗[5]。文獻(xiàn)[3]設(shè)計(jì)一種基于反向傳播(back propagation,BP)神經(jīng)網(wǎng)絡(luò)的數(shù)據(jù)融合算法(back-propagation networks data aggregation,BPNDA), 該算法將BP神經(jīng)網(wǎng)絡(luò)和傳感器網(wǎng)絡(luò)分簇路由協(xié)議有機(jī)結(jié)合,將每個(gè)簇設(shè)計(jì)成一個(gè)神經(jīng)網(wǎng)絡(luò)模型, 通過(guò)神經(jīng)網(wǎng)絡(luò)提取對(duì)原始數(shù)據(jù)進(jìn)行特征提取,然后將特征數(shù)據(jù)發(fā)送給匯聚節(jié)點(diǎn), 從而提高數(shù)據(jù)收集效率, 延長(zhǎng)網(wǎng)絡(luò)生存時(shí)間。但是BP神經(jīng)網(wǎng)絡(luò)對(duì)于初始權(quán)值和閾值很敏感,易陷入局部極小值。文獻(xiàn)[6]利用遺傳算法對(duì)BP神經(jīng)網(wǎng)絡(luò)的權(quán)值和閾值參數(shù)進(jìn)行優(yōu)化,提出一種基于遺傳算法(genetic algorithm,GA)的BP神經(jīng)網(wǎng)絡(luò)數(shù)據(jù)融合算法GABP算法,能有效減少冗余數(shù)據(jù),延長(zhǎng)網(wǎng)絡(luò)生命周期。但遺傳算法存在搜索能力較差,求解速度較慢的缺陷。文獻(xiàn)[7]把蟻群算法應(yīng)用到BP神經(jīng)網(wǎng)絡(luò),對(duì)其結(jié)構(gòu)及參數(shù)進(jìn)行優(yōu)化,以克服BP神經(jīng)網(wǎng)絡(luò)容易陷入局部最優(yōu)解的缺點(diǎn)。利用優(yōu)化后的BP神經(jīng)網(wǎng)絡(luò)進(jìn)行數(shù)據(jù)融合,可以有效提取特征數(shù)據(jù),延長(zhǎng)網(wǎng)絡(luò)生命周期。文獻(xiàn)[8]提出一種基于粒子群(particle swarm optimization,PSO)優(yōu)化BP神經(jīng)網(wǎng)絡(luò)的無(wú)線傳感器網(wǎng)絡(luò)數(shù)據(jù)融合算法PSO-BP,利用粒子群算法優(yōu)化BP神經(jīng)網(wǎng)絡(luò)參數(shù),將優(yōu)化后的BP神經(jīng)網(wǎng)絡(luò)和傳感器網(wǎng)絡(luò)分簇路由協(xié)議有機(jī)結(jié)合,有效提升數(shù)據(jù)融合效率,延長(zhǎng)網(wǎng)絡(luò)生命周期。但是由于粒子群算法種群搜索空間中多樣性的丟失,所以粒子群算法存在陷入局部最優(yōu)解的缺點(diǎn)[9]。
綜上所述,傳統(tǒng)BP神經(jīng)網(wǎng)絡(luò)應(yīng)用于無(wú)線傳感器網(wǎng)絡(luò)中存在訓(xùn)練困難、易陷入局部最優(yōu)解的缺陷;GABP算法尋優(yōu)效果受種群初始分布影響較大,求解速度緩慢;PSO-BP算法中粒子群算法存在早熟收斂、維數(shù)災(zāi)難、缺乏多樣性、易于陷入局部極值等問(wèn)題,仍具有較大優(yōu)化空間。本文以?xún)?yōu)化尋優(yōu)性能和融合精度為目標(biāo),提出一種基于天牛須搜索(beetle antennae search,BAS)算子改進(jìn)粒子群算法的WSN數(shù)據(jù)融合算法BSO-BP算法,通過(guò)天牛須搜索算子優(yōu)化粒子群算法[10],增加粒子群算法的搜索空間多樣性,豐富粒子群算法的尋優(yōu)空間以避免陷入局部最優(yōu)解。利用優(yōu)化后的粒子群算法對(duì)BP神經(jīng)網(wǎng)絡(luò)的初始權(quán)值和閾值參數(shù)進(jìn)行優(yōu)化,得到的全局較優(yōu)解作為BP神經(jīng)網(wǎng)絡(luò)結(jié)構(gòu)參數(shù)的初始值并進(jìn)行進(jìn)一步優(yōu)化訓(xùn)練,從而克服BP神經(jīng)網(wǎng)絡(luò)訓(xùn)練極易陷入局部最優(yōu)解的缺陷,避免傳統(tǒng)BP神經(jīng)網(wǎng)絡(luò)初始權(quán)值和閾值參數(shù)隨機(jī)選取導(dǎo)致的網(wǎng)絡(luò)震蕩,提高BP神經(jīng)網(wǎng)絡(luò)的泛化能力和收斂能力。將BSOBP算法運(yùn)用到無(wú)線傳感器網(wǎng)絡(luò)分簇路由數(shù)據(jù)融合中,簇首節(jié)點(diǎn)利用優(yōu)化后的BP神經(jīng)網(wǎng)絡(luò)對(duì)傳感器采集數(shù)據(jù)進(jìn)行數(shù)據(jù)融合提取特征數(shù)據(jù),數(shù)據(jù)精度具有較高提升,將融合后的數(shù)據(jù)發(fā)送至基站節(jié)點(diǎn),有效減少冗余數(shù)據(jù)傳輸,延長(zhǎng)網(wǎng)絡(luò)生命周期。
粒子群(PSO)算法是一種基于鳥(niǎo)類(lèi)群體的社會(huì)行為的群體優(yōu)化算法,通過(guò)群體信息共享機(jī)制尋找當(dāng)前最優(yōu)值以獲取全局最優(yōu)值。每個(gè)粒子的行為模仿鳥(niǎo)類(lèi)飛行,粒子位置根據(jù)自身的慣性速度、歷史經(jīng)驗(yàn)以及群體社會(huì)經(jīng)驗(yàn)來(lái)進(jìn)行尋優(yōu)更新[11],尋優(yōu)公式如下
(1)
(2)
天牛須搜索(BAS)算法是由Jiang和Li在2018年提出的一種新型啟發(fā)式算法[12],它是一項(xiàng)基于天牛覓食原理的適用于目標(biāo)函數(shù)優(yōu)化的新技術(shù),其靈感來(lái)源于天牛覓食過(guò)程:天牛覓食時(shí),通過(guò)食物氣味強(qiáng)弱來(lái)覓食。天牛有兩只靈敏的長(zhǎng)觸角,如果左觸角收到的氣味強(qiáng)度大于右邊,那下一步天牛就會(huì)往左邊飛,反之則往右邊飛。依據(jù)這一簡(jiǎn)單原理天牛就可以有效找到食物,BAS對(duì)函數(shù)具體形式?jīng)]有要求,不需要梯度信息,就可以實(shí)現(xiàn)高效尋優(yōu)。BAS收斂快,并且算法簡(jiǎn)單容易實(shí)現(xiàn),容易移植到單片機(jī)運(yùn)行,很適合實(shí)時(shí)性要求較高的場(chǎng)景。天牛須搜索算法模型主要包括搜索行為和檢測(cè)行為:
1)創(chuàng)建天牛須朝向的歸一化隨機(jī)向量
(3)
式中:rands()為隨機(jī)函數(shù);m表示空間維度。
2)創(chuàng)建天牛左右須空間搜索模型,模擬天牛須行為
(4)
式中:xrk表示天牛右須在第k次迭代時(shí)的位置坐標(biāo);xlk表示天牛左須在第k次迭代時(shí)的位置坐標(biāo);xk表示天牛在第k次迭代時(shí)的質(zhì)心坐標(biāo);dk表示左右兩須之間的搜索距離。
3)根據(jù)適應(yīng)度函數(shù)判斷左右須氣味強(qiáng)度差異,即計(jì)算f(xlk)和f(xrk)的強(qiáng)度,f為適應(yīng)度函數(shù)。
4)迭代更新天牛的位置
xk+1=xk-δk×b×sign(f(xrk)-f(xlk)),
(5)
式中:δk表示在第k次迭代時(shí)的步長(zhǎng)因子;sign()為符號(hào)函數(shù)。
5)搜索距離和步長(zhǎng)更新
(6)
式中:ηd代表搜索距離的衰減更新系數(shù);ηδ代表步長(zhǎng)的衰減更新系數(shù);d0和δ0分別是最小距離閾值和最小步長(zhǎng)閾值,避免dk和δk為0。
天牛須搜索算法的搜索行為對(duì)于PSO算法有很大作用,賦予PSO算法中粒子天牛搜索行為特性,可以有效增加粒子種群變化的多樣性,克服PSO算法尋優(yōu)過(guò)程中易陷入局部最優(yōu)的問(wèn)題。本文根據(jù)基于適應(yīng)度值的輪盤(pán)賭算法選取多個(gè)粒子進(jìn)行天牛須搜索,每次迭代選取賦予天牛搜索行為的粒子個(gè)數(shù)為
(7)
式中:swarmize為粒子種群粒子總數(shù),iter和maxgen分別為當(dāng)前迭代次數(shù)和總迭代次數(shù)。粒子群搜索初期,具有天牛搜索行為的粒子能使種群更具多樣性,擴(kuò)展了尋找最優(yōu)解的范圍,避免陷入局部最優(yōu)解,隨著迭代次數(shù)增加,粒子群越來(lái)越收斂,此時(shí)應(yīng)減少具有天牛搜索行為的粒子數(shù)量,有利于減少計(jì)算量,快速收斂。具有天牛搜索行為的粒子根據(jù)式(3)隨機(jī)生成天牛須朝向向量,并對(duì)式(4)進(jìn)行修改確定天牛須左右須坐標(biāo)
(8)
引入粒子天牛須搜索行為增量
(9)
(10)
(11)
式中:w為慣性權(quán)重,反映粒子的運(yùn)動(dòng)習(xí)慣,理論上,w取值較小時(shí)局部搜索能力較強(qiáng),w取值較大可以增強(qiáng)全局搜索能力。文獻(xiàn)[13]分析比較多種動(dòng)態(tài)調(diào)整慣性權(quán)重的方法,發(fā)現(xiàn)對(duì)于多峰函數(shù)優(yōu)化,凸函數(shù)遞減法綜合來(lái)說(shuō)收斂速度最快,求解精度較高。因此本文慣性權(quán)重w采用凸函數(shù)遞減法
(12)
式中:wmax和wmin分別為慣性權(quán)重上下限值,iter和maxgen分別為當(dāng)前迭代次數(shù)和總迭代次數(shù)。c1和c2為學(xué)習(xí)因子,c1表示粒子對(duì)自身歷史經(jīng)驗(yàn)的學(xué)習(xí),c2表示粒子對(duì)共享的群體歷史經(jīng)驗(yàn)的學(xué)習(xí)[14],PSO算法運(yùn)行初期,側(cè)重于粒子個(gè)體的探索認(rèn)知,末期需要增強(qiáng)對(duì)群體經(jīng)驗(yàn)的學(xué)習(xí)能力,因此,c1和c2分別隨著迭代次數(shù)遞減和遞增:
(13)
(14)
式中:cm和cn為常數(shù),滿(mǎn)足cm>cn。
改進(jìn)PSO算法中,λ為天牛搜索行為增量的權(quán)重因子,搜索前期,天牛搜索行為增量權(quán)重較大有利于增加全局搜索能力,后期隨著具有天牛搜索行為的粒子數(shù)量的減少,天牛搜索行為增量權(quán)重也應(yīng)當(dāng)降低,因此搜索行為增量權(quán)重因子λ的賦值如下
(15)
式中:λmax和λmin為常數(shù),分別代表增量權(quán)重因子的上下限值。
WSN多傳感器數(shù)據(jù)融合算法可分為數(shù)據(jù)級(jí)融合、特征性融合和決策級(jí)融合3類(lèi)。決策級(jí)融合通過(guò)不同種類(lèi)的傳感器觀測(cè)同一個(gè)目標(biāo),例如溫度、濕度、風(fēng)速等傳感器感知森林某區(qū)域環(huán)境信息,每個(gè)傳感器在本地完成包括預(yù)處理、特征抽取、識(shí)別或判決等基本處理,以建立對(duì)所觀察目標(biāo)的初步結(jié)論。然后通過(guò)關(guān)聯(lián)處理進(jìn)行決策層融合判決,最終獲得聯(lián)合推斷結(jié)果。決策級(jí)融合包括貝葉斯估計(jì)法、專(zhuān)家系統(tǒng)、神經(jīng)網(wǎng)絡(luò)法、模糊集理論等,本文對(duì)決策級(jí)融合中的神經(jīng)網(wǎng)絡(luò)算法進(jìn)行研究改進(jìn)。
神經(jīng)網(wǎng)絡(luò)是由大量具有運(yùn)算能力的單元廣泛互聯(lián)而組成的,通過(guò)高效的學(xué)習(xí)機(jī)制模擬人腦信息處理的過(guò)程。神經(jīng)網(wǎng)絡(luò)由于其強(qiáng)大的計(jì)算能力,因此在信號(hào)處理、計(jì)算機(jī)視覺(jué)、自然語(yǔ)言?xún)?yōu)化處理等領(lǐng)域應(yīng)用廣泛[15]。BP神經(jīng)網(wǎng)絡(luò)是一種典型的多層前向型神經(jīng)網(wǎng)絡(luò)[16]。BP神經(jīng)網(wǎng)絡(luò)由輸入層、隱藏層、輸出層組成,它利用學(xué)習(xí)機(jī)制來(lái)存儲(chǔ)輸入和輸出的映射關(guān)系,其權(quán)值和閾值參數(shù)通常采用反向傳播的策略,借助最速梯度信息來(lái)獲得使網(wǎng)絡(luò)誤差最小化的參數(shù)組合,有很強(qiáng)的非線性映射能力、自學(xué)習(xí)和自適應(yīng)能力、泛化能力和容錯(cuò)能力。將BP神經(jīng)網(wǎng)絡(luò)模型利用到WSN中處理數(shù)據(jù)融合問(wèn)題,能有效降低數(shù)據(jù)特征維數(shù),提高數(shù)據(jù)融合效率和精度,從而減少節(jié)點(diǎn)能耗。利用BP神經(jīng)網(wǎng)絡(luò)結(jié)合無(wú)線傳感器分簇路由算法構(gòu)建WSN數(shù)據(jù)融合模型,網(wǎng)絡(luò)結(jié)構(gòu)如圖1所示。
圖1 BSO-BP算法神經(jīng)網(wǎng)絡(luò)結(jié)構(gòu)Fig.1 Neural network architecture of BSO-BP algorithm
按照LEACH(low energy adaptive clustering hierarchy)分簇路由算法完成分簇后,簇內(nèi)傳感器節(jié)點(diǎn)首先對(duì)監(jiān)測(cè)到的原始數(shù)據(jù)進(jìn)行濾波等預(yù)處理,然后將數(shù)據(jù)傳輸至簇首節(jié)點(diǎn),簇首節(jié)點(diǎn)利用BP神經(jīng)網(wǎng)絡(luò)對(duì)數(shù)據(jù)進(jìn)行融合,提取特征數(shù)據(jù),減少冗余數(shù)據(jù),將融合后的特征數(shù)據(jù)傳輸至匯聚節(jié)點(diǎn),從而減少數(shù)據(jù)傳輸量,延長(zhǎng)網(wǎng)絡(luò)生命周期[17]。但傳統(tǒng)BP神經(jīng)網(wǎng)絡(luò)也存在一定缺陷,初始權(quán)值參數(shù)的選擇具有隨機(jī)性,網(wǎng)絡(luò)對(duì)初始連接權(quán)值的選擇很敏感,初值選取不當(dāng)會(huì)導(dǎo)致訓(xùn)練結(jié)果不佳,易陷入局部最優(yōu)解。
利用改進(jìn)后的粒子群算法對(duì)BP神經(jīng)網(wǎng)絡(luò)數(shù)據(jù)融合算法進(jìn)行優(yōu)化,并應(yīng)用于LEACH分簇路由算法中,提出一種新型智能數(shù)據(jù)融合算法——BSO-BP算法。
LEACH分簇路由算法中需要定期更新簇首以平衡能耗,相應(yīng)地簇集也需動(dòng)態(tài)更新,簇首的變化會(huì)導(dǎo)致簇內(nèi)BP神經(jīng)網(wǎng)絡(luò)結(jié)構(gòu)的變化,BP神經(jīng)網(wǎng)絡(luò)進(jìn)行數(shù)據(jù)融合需要權(quán)值和閾值參數(shù),因此簇首更新后,在WSN進(jìn)入自治工作狀態(tài)前,BP神經(jīng)網(wǎng)絡(luò)的參數(shù)也需更新。WSN中傳感器節(jié)點(diǎn)運(yùn)算能力、節(jié)點(diǎn)能量以及存儲(chǔ)能力有限,因此參數(shù)的訓(xùn)練更新在基站節(jié)點(diǎn)進(jìn)行,BSO-BP算法整體步驟如下:
步驟1:每輪簇首節(jié)點(diǎn)更新,分簇形成后,簇首記錄簇內(nèi)節(jié)點(diǎn)信息并傳輸至基站節(jié)點(diǎn)。
步驟 2:基站根據(jù)簇集信息確定BP神經(jīng)網(wǎng)絡(luò)結(jié)構(gòu)。
步驟 3:基站選取與該分簇相匹配的樣本數(shù)據(jù)集,結(jié)合改進(jìn)后的PSO算法對(duì)BP神經(jīng)網(wǎng)絡(luò)進(jìn)行訓(xùn)練優(yōu)化,以得到對(duì)應(yīng)簇集的BP神經(jīng)網(wǎng)絡(luò)連接權(quán)值和閾值參數(shù)。
步驟 4:基站將相應(yīng)簇集的BP神經(jīng)網(wǎng)絡(luò)連接權(quán)值和閾值參數(shù)發(fā)送至各簇集節(jié)點(diǎn)內(nèi),存儲(chǔ)參數(shù)供下次使用。
步驟 5:每個(gè)簇集根據(jù)接收到的參數(shù)報(bào)文構(gòu)建對(duì)應(yīng)的BP神經(jīng)網(wǎng)絡(luò),簇首節(jié)點(diǎn)對(duì)簇內(nèi)成員節(jié)點(diǎn)上傳的數(shù)據(jù)進(jìn)行融合處理并將結(jié)果傳輸至基站節(jié)點(diǎn)。至此,完成一輪分簇路由通信過(guò)程。
上述步驟3中改進(jìn)PSO算法優(yōu)化BP神經(jīng)網(wǎng)絡(luò)算法的目的是優(yōu)化BP神經(jīng)網(wǎng)絡(luò)的權(quán)值閾值參數(shù)。利用改進(jìn)PSO對(duì)BP神經(jīng)網(wǎng)絡(luò)的連接權(quán)值和閾值參數(shù)進(jìn)行優(yōu)化,獲得一個(gè)全局優(yōu)化解。將全局優(yōu)化解作為BP神經(jīng)網(wǎng)絡(luò)的初始權(quán)值和閾值參數(shù),BP神經(jīng)網(wǎng)絡(luò)進(jìn)一步訓(xùn)練優(yōu)化,以獲得全局最優(yōu)參數(shù)。這樣,克服了BP神經(jīng)網(wǎng)絡(luò)由于初始權(quán)值選取的隨機(jī)性導(dǎo)致的收斂性不佳、訓(xùn)練時(shí)間較長(zhǎng)、易陷入局部最優(yōu)解等缺陷,提高了BP神經(jīng)網(wǎng)絡(luò)的收斂能力和求解精度,改進(jìn)PSO算法優(yōu)化BP神經(jīng)網(wǎng)絡(luò)算法具體實(shí)現(xiàn)步驟如下:
Step 1:確定搜索空間維度。WSN分簇形成后,每個(gè)簇內(nèi)成員節(jié)點(diǎn)個(gè)數(shù)即是輸入層神經(jīng)元個(gè)數(shù)M,隱藏層神經(jīng)元個(gè)數(shù)為N,輸出層神經(jīng)元個(gè)數(shù)為1。因此,搜索空間維度D=M×N+N×1+N+1。
Step 2: 初始化設(shè)置。初始化n個(gè)粒子的初始位置向量xi(i=1,2,…,n),其中xi=(xi1,xi2,…,xiD)為第i個(gè)粒子的D維搜索向量,包含BP神經(jīng)網(wǎng)絡(luò)中輸入層和隱藏層的權(quán)值,隱藏層和輸出層的權(quán)值,以及隱藏層和輸出層的閾值;初始化n個(gè)粒子的速度向量vi(i=1,2,…,n), 其中vi=(vi1,vi2,…,viD)為第i個(gè)粒子的速度向量;初始化速度變化范圍[-Vmax,Vmax];初始化最大迭代次數(shù)K。
Step 3:定義適應(yīng)度函數(shù)。對(duì)樣本數(shù)據(jù)進(jìn)行融合,根據(jù)樣本數(shù)據(jù)的均方根誤差(RMSE)作為適應(yīng)度函數(shù)
(16)
式中:m為樣本數(shù)據(jù)訓(xùn)練條目數(shù)量,traini是第i個(gè)樣本數(shù)據(jù)的融合預(yù)測(cè)結(jié)果,yi為第i個(gè)樣本數(shù)據(jù)的實(shí)測(cè)值。
Step 4:計(jì)算每個(gè)粒子的適應(yīng)度函數(shù)值。每個(gè)粒子個(gè)體需要記憶自身搜尋的最佳位置,第i個(gè)粒子自身搜尋過(guò)的最佳位置記作pbestid=(pi1,pi2,…,piD),同時(shí)群體搜尋到的最佳位置也會(huì)被記錄,記作gbestd=(g1,g2,….,gD)。
Step 5:根據(jù)公式(8)更新天牛左右須搜索空間位置,并分別計(jì)算f(xl)和f(xr)。
Step 6:根據(jù)公式(9)計(jì)算搜索行為增量。
Step 7:根據(jù)公式(10)公式(11)更新粒子速度和位置。
Step 8: 迭代控制。判斷是否到達(dá)迭代次數(shù)或者當(dāng)前位置的適應(yīng)度函數(shù)值是否達(dá)到理想值,如果滿(mǎn)足迭代停止條件,則進(jìn)行下一步驟,否則繼續(xù)從Step 4迭代搜索,并根據(jù)式(12)~式(15)分別更新慣性權(quán)重w、學(xué)習(xí)因子c1和c2以及天牛搜索行為增量的權(quán)重因子λ。
Step 9: 訓(xùn)練BP神經(jīng)網(wǎng)絡(luò)。種群最佳位置gbestd即是BP神經(jīng)網(wǎng)絡(luò)最佳初始權(quán)值和閾值,BP神經(jīng)網(wǎng)絡(luò)利用gbestd作為初始參數(shù)進(jìn)行訓(xùn)練學(xué)習(xí)直至權(quán)值和閾值參數(shù)確定。
利用MATLAB 2016a進(jìn)行仿真實(shí)驗(yàn),與GABP算法和PSOBP算法進(jìn)行對(duì)比實(shí)驗(yàn),從數(shù)據(jù)融合精度、網(wǎng)絡(luò)生命周期以及迭代收斂性能3個(gè)方面進(jìn)行分析。無(wú)線傳感網(wǎng)絡(luò)仿真參數(shù)如表1所示。
表1 仿真參數(shù)表Table 1 Simulation parameters
為驗(yàn)證算法數(shù)據(jù)融合性能,本文采用森林火災(zāi)面積數(shù)據(jù)集為研究樣本,該數(shù)據(jù)集提供了多項(xiàng)氣象數(shù)據(jù)包括溫度、濕度、風(fēng)速、降雨量等以及對(duì)應(yīng)的森林火災(zāi)面積數(shù)據(jù)。無(wú)線傳感器網(wǎng)絡(luò)通過(guò)采集氣象數(shù)據(jù)能有效監(jiān)測(cè)小型火災(zāi),對(duì)保障森林安全有重要意義。本文仿真實(shí)驗(yàn)中,BP神經(jīng)網(wǎng)絡(luò)模型為4輸入、1輸出的單隱藏層結(jié)構(gòu)。選取數(shù)據(jù)集中傳感器監(jiān)測(cè)到的4項(xiàng)氣象數(shù)據(jù)(溫度、濕度、風(fēng)速、降雨量)作為BP輸入層參數(shù),森林火災(zāi)面積數(shù)據(jù)作為輸出層參數(shù)。隱藏層神經(jīng)元的數(shù)量關(guān)系到網(wǎng)絡(luò)的學(xué)習(xí)信息處理能力和結(jié)構(gòu)復(fù)雜性,需要選擇合適的隱藏層神經(jīng)元數(shù)目。根據(jù)隱藏層神經(jīng)元數(shù)量經(jīng)驗(yàn)公式
(17)
隱藏層神經(jīng)元數(shù)量取值范圍為[4,12], 表2為不同神經(jīng)元數(shù)量下的融合誤差RMSE值對(duì)比結(jié)果,其中RMSE量綱為森林火災(zāi)面積,單位為hm2。
表2 隱藏層神經(jīng)元數(shù)量與RMSE值Table 2 Neurons’number of hidden layers vs. RMSE
比較不同隱藏層神經(jīng)元數(shù)量下的融合誤差RMSE值,隱藏層神經(jīng)元數(shù)量設(shè)置為7時(shí),融合誤差RMSE值最小,因此,本文中BP神經(jīng)網(wǎng)絡(luò)為4-7-1的單隱層結(jié)構(gòu),待優(yōu)化參數(shù)個(gè)數(shù)為4×7+7+7×1+1=43。
1)融合精度
融合精度對(duì)比采用平均相對(duì)誤差(average relative error,AvRE)、均方根誤差(root mean squared error,RMSE)以及擬合優(yōu)度(goodness of fit,R2)作為評(píng)價(jià)指標(biāo),計(jì)算公式如下:
(18)
(19)
(20)
圖2 融合結(jié)果比較Fig.2 Comparison of fusion results
4種算法的詳細(xì)評(píng)價(jià)指標(biāo)對(duì)比結(jié)果如表3。從表3可以看出BSO-BP算法在平均相對(duì)誤差、均方根誤差以及擬合優(yōu)度3個(gè)方面都優(yōu)于其他3種算法。BSO-BP算法和傳統(tǒng)BP算法相比,平均相對(duì)誤差和均方根誤差分別減少28%和37.4%。相較于PSO-BP算法,減少了11%的平均相對(duì)誤差和13.89%的均方根誤差。BSO-BP算法克服了BP神經(jīng)網(wǎng)絡(luò)易陷入局部最優(yōu)解的缺陷,增加了粒子群算法的種群搜索空間多樣性,解決了粒子群算法早熟收斂的問(wèn)題,因此BSO-BP算法相比其他算法有更好的數(shù)據(jù)融合效果。
表3 融合誤差對(duì)比Table 3 Comparison of fusion error
2)迭代收斂對(duì)比
為測(cè)試BSO-BP算法的收斂性能,選擇與GA-BP算法和PSO-BP算法進(jìn)行仿真對(duì)比。圖3為迭代收斂?jī)?yōu)化對(duì)比結(jié)果,由圖可知,GA-BP算法經(jīng)過(guò)大約55次迭代收斂至最佳適應(yīng)度值附近,PSO-BP算法大約經(jīng)過(guò)46次迭代能收斂至全局最優(yōu)解附近,而B(niǎo)SO-BP算法只需大約35次迭代,相比GA-BP和PSO-BP算法收斂速度提高,并且能尋找到更優(yōu)的最佳適應(yīng)度值。結(jié)果表明,將天牛須搜索算法中的天牛搜索行為增加到粒子群算法的粒子特性中能有效地增加尋優(yōu)空間,避免陷入局部最優(yōu)解,提高收斂速度和尋優(yōu)性能,可以高效地優(yōu)化BP神經(jīng)網(wǎng)絡(luò)的初始參數(shù)。
圖3 算法迭代收斂對(duì)比Fig.3 Comparison of iterative convergence among algorithms
3)網(wǎng)絡(luò)生命周期
WSN中傳感器節(jié)點(diǎn)能量有限,若監(jiān)測(cè)區(qū)域出現(xiàn)單個(gè)或多個(gè)傳感器節(jié)點(diǎn)能量耗盡或剩余能量不足以支持節(jié)點(diǎn)正常工作的情況,會(huì)導(dǎo)致監(jiān)測(cè)盲區(qū)增多,獲取的監(jiān)測(cè)數(shù)據(jù)不準(zhǔn)確,危險(xiǎn)系數(shù)上升。網(wǎng)絡(luò)生命周期在不同文獻(xiàn)中有不同定義,文獻(xiàn)[18]定義無(wú)線傳感網(wǎng)絡(luò)生命周期為目標(biāo)監(jiān)測(cè)區(qū)域內(nèi)覆蓋率到達(dá)容忍下限值的時(shí)間,文獻(xiàn)[19]定義網(wǎng)絡(luò)生命周期為網(wǎng)絡(luò)開(kāi)始到節(jié)點(diǎn)能量全部消耗完的時(shí)間。本文采用文獻(xiàn)[18]的定義,參考文獻(xiàn)[11]和實(shí)際經(jīng)驗(yàn)設(shè)定網(wǎng)絡(luò)存活節(jié)點(diǎn)低于85%時(shí),覆蓋率達(dá)到容忍值,此時(shí)的數(shù)據(jù)可靠性下降,需要補(bǔ)充傳感器節(jié)點(diǎn)能量。圖4(a)為各算法網(wǎng)絡(luò)生命周期對(duì)比結(jié)果,可以看出在存活節(jié)點(diǎn)到達(dá)85%的閾值時(shí),LEACH協(xié)議網(wǎng)絡(luò)運(yùn)行至700輪左右,BSO-BP算法和BP算法網(wǎng)絡(luò)運(yùn)行至830輪左右,相比LEACH協(xié)議延長(zhǎng)18.5%,這是由于BSO-BP算法和BP算法對(duì)監(jiān)測(cè)數(shù)據(jù)進(jìn)行了融合,減少了數(shù)據(jù)傳輸量,降低節(jié)點(diǎn)能耗,有效地延長(zhǎng)了網(wǎng)絡(luò)生命周期。圖4(b)為節(jié)點(diǎn)能耗對(duì)比,可以看出,LEACH協(xié)議節(jié)點(diǎn)能耗明顯高于BSO-BP算法和BP算法,而B(niǎo)SO-BP算法和BP算法的節(jié)點(diǎn)能耗和網(wǎng)絡(luò)生命周期大致相當(dāng),這是因?yàn)閮烧叩腂P神經(jīng)網(wǎng)絡(luò)結(jié)構(gòu)相同并且網(wǎng)絡(luò)的構(gòu)建和訓(xùn)練都是在基站節(jié)點(diǎn)進(jìn)行,數(shù)據(jù)融合的輸出維度一致。
圖4 網(wǎng)絡(luò)存活節(jié)點(diǎn)數(shù)量和節(jié)點(diǎn)能耗Fig.4 The number of alive nodes and the energy consumption of the node
針對(duì)無(wú)線傳感網(wǎng)BP神經(jīng)網(wǎng)絡(luò)數(shù)據(jù)融合算法存在對(duì)初始參數(shù)敏感、易陷入局部最優(yōu)解的缺陷,本文提出基于改進(jìn)粒子群的BP神經(jīng)網(wǎng)絡(luò)WSN數(shù)據(jù)融合算法(BSO-BP)。算法利用天牛須搜索(BAS)算法對(duì)粒子群算法進(jìn)行改進(jìn),利用改進(jìn)后的粒子群算法優(yōu)化BP神經(jīng)網(wǎng)絡(luò)的初始權(quán)值和閾值,引入WSN數(shù)據(jù)融合中,簇首節(jié)點(diǎn)通過(guò)優(yōu)化訓(xùn)練后的BP神經(jīng)網(wǎng)絡(luò)對(duì)采集數(shù)據(jù)進(jìn)行特征提取,將融合后的數(shù)據(jù)發(fā)送至匯聚節(jié)點(diǎn)。與傳統(tǒng)BP算法和PSO-BP算法進(jìn)行對(duì)比,該算法能有效地提高融合精度和收斂速度,減少冗余數(shù)據(jù)傳輸,延長(zhǎng)網(wǎng)絡(luò)生命周期。
中國(guó)科學(xué)院大學(xué)學(xué)報(bào)2020年5期