胡向東,李秋實(shí)
(重慶郵電大學(xué) 自動化學(xué)院,重慶 400065)
無線傳感網(wǎng)(wireless sensor network, WSN)針對特定區(qū)域分布大量感知節(jié)點(diǎn),形成多跳自組織網(wǎng)絡(luò)以實(shí)時監(jiān)測和收集目標(biāo)信息,經(jīng)融合處理后匯聚到sink節(jié)點(diǎn)供用戶決策[1];無線傳感網(wǎng)廣泛應(yīng)用于軍事國防、生物醫(yī)療、環(huán)境監(jiān)測等眾多領(lǐng)域。由于網(wǎng)絡(luò)中感知節(jié)點(diǎn)的覆蓋范圍往往相互重疊、節(jié)點(diǎn)無人值守易被捕獲劫持,故會采集到冗余甚至錯誤的數(shù)據(jù),這些數(shù)據(jù)無意義甚至有害,并會因進(jìn)入后續(xù)的逐跳傳輸而造成網(wǎng)絡(luò)能量的極大浪費(fèi)[2]。而無線傳感網(wǎng)中節(jié)點(diǎn)的能量通常依賴難以補(bǔ)充的電池提供,節(jié)省能量是無線傳感網(wǎng)的基本需求,因此,傳輸數(shù)據(jù)前就剔除冗余數(shù)據(jù)等具有重要意義。
數(shù)據(jù)融合是將收集到的原始數(shù)據(jù)組合,篩選出更精簡、更可靠結(jié)果的技術(shù)[3]。WSN中的數(shù)據(jù)融合能夠一定程度降低數(shù)據(jù)的冗余性,減少數(shù)據(jù)傳輸量,達(dá)到節(jié)省節(jié)點(diǎn)能量消耗、延長網(wǎng)絡(luò)生命周期的目的。
數(shù)據(jù)融合分為數(shù)據(jù)級融合、特征級融合和決策級融合。傳統(tǒng)的數(shù)據(jù)融合的方法可歸為隨機(jī)類和人工智能類。隨機(jī)類一般包括加權(quán)平均法[4]、卡爾曼濾波法[5]、貝葉斯估計法[6]等;人工智能類一般包括模糊邏輯推理法[7]、神經(jīng)網(wǎng)絡(luò)方法[8]等。每種數(shù)據(jù)融合方法都有自己的特點(diǎn)和適用場景,盡管它們?yōu)樘囟▓鼍暗臄?shù)據(jù)融合實(shí)現(xiàn)提供了技術(shù)方法,但也存在一定的局限性。
迄今為止,無線傳感網(wǎng)領(lǐng)域的數(shù)據(jù)融合方法研究是一個熱點(diǎn)。如孫凌逸等[9]提出了利用神經(jīng)網(wǎng)絡(luò)解決無線傳感網(wǎng)數(shù)據(jù)融合問題,即將前饋反向傳播神經(jīng)網(wǎng)絡(luò)(back propagation neural network, BPNN)與低功耗自適應(yīng)集簇分層型(low energy adaptive clustering hierarchy, LEACH)協(xié)議相結(jié)合,每個簇都是單獨(dú)的神經(jīng)網(wǎng)絡(luò),簇頭節(jié)點(diǎn)僅將提取后的少量特征數(shù)據(jù)發(fā)送給sink節(jié)點(diǎn),從而減少數(shù)據(jù)的傳輸量,降低節(jié)點(diǎn)能耗,延長網(wǎng)絡(luò)壽命[9]。楊永健等[10]提出基于自組織特征映射神經(jīng)網(wǎng)絡(luò)(SOFM神經(jīng)網(wǎng)絡(luò))結(jié)合LEACH協(xié)議數(shù)據(jù)融合,實(shí)驗(yàn)表明,該方法能夠有效延長網(wǎng)絡(luò)周期,無線傳感器網(wǎng)絡(luò)生命周期達(dá)到了LEACH算法的1.5倍。郭潤龍等[11]提出了一種組合RBF神經(jīng)網(wǎng)絡(luò) (radial basis function neural network, RBFNN)和證據(jù)理論的數(shù)據(jù)融合方法。感知節(jié)點(diǎn)將收集到的數(shù)據(jù)經(jīng)預(yù)處理后直接傳輸給RBF神經(jīng)網(wǎng)絡(luò),神經(jīng)網(wǎng)絡(luò)的輸出作為證據(jù)理論的初始證據(jù),通過證據(jù)理論的組合規(guī)則進(jìn)行數(shù)據(jù)融合,得到各個信息源的信任度,監(jiān)測傳感器節(jié)點(diǎn)的工作狀態(tài)。
W-Norden等[12]基于遺傳算法優(yōu)化神經(jīng)網(wǎng)絡(luò)進(jìn)行無線傳感網(wǎng)數(shù)據(jù)融合,應(yīng)用在多任務(wù)進(jìn)程管理系統(tǒng),實(shí)驗(yàn)表明,該系統(tǒng)有較強(qiáng)的魯棒性。趙亞光等[13]將蟻群算法應(yīng)用到神經(jīng)網(wǎng)絡(luò),優(yōu)化神經(jīng)網(wǎng)絡(luò)的參數(shù),克服BP神經(jīng)網(wǎng)絡(luò)易陷入局部最優(yōu)的問題。利用優(yōu)化后的BP神經(jīng)網(wǎng)絡(luò)數(shù)據(jù)融合,從而減少數(shù)據(jù)傳輸量,延長網(wǎng)絡(luò)周期。
簡言之,以上述研究成果為代表的現(xiàn)有神經(jīng)網(wǎng)絡(luò)數(shù)據(jù)融合方法普遍使用單層BP神經(jīng)網(wǎng)絡(luò)等淺層單一模型訓(xùn)練,采用隨機(jī)參數(shù),存在訓(xùn)練困難且易陷入局部最優(yōu)值、數(shù)據(jù)融合提取的特征數(shù)據(jù)不理想等不足;部分研究將智能算法與神經(jīng)網(wǎng)絡(luò)相結(jié)合,提高了數(shù)據(jù)融合的準(zhǔn)確性,但受限于算法本身的不完善,還有較大的優(yōu)化空間。
神經(jīng)網(wǎng)絡(luò)可以模仿人腦結(jié)構(gòu)進(jìn)行信息處理,且在處理的過程當(dāng)中可以自我學(xué)習(xí),反復(fù)調(diào)整自身的權(quán)值和閾值,使實(shí)際的輸出值逐漸逼近期望值,直到兩者的差距在給定的允許范圍內(nèi)[14]。代表性的神經(jīng)網(wǎng)絡(luò)模型有BPNN,RBFNN,HOPFIELD神經(jīng)網(wǎng)絡(luò)等。其中,BP神經(jīng)網(wǎng)絡(luò)采用的傳遞函數(shù)是Sigmoid型可微函數(shù),實(shí)驗(yàn)證實(shí)能夠模擬非線性數(shù)學(xué)模型,能夠?qū)崿F(xiàn)對任意函數(shù)的實(shí)值映射,正是因?yàn)锽P神經(jīng)網(wǎng)絡(luò)具有很強(qiáng)的逼近能力,其被廣泛應(yīng)用于模式識別、分類、自動化系統(tǒng)、圖像處理以及機(jī)器學(xué)習(xí)等領(lǐng)域。
利用BP 神經(jīng)網(wǎng)絡(luò)進(jìn)行無線傳感網(wǎng)數(shù)據(jù)融合,稱為BPNNDF(back propagation neural network data fusion) 算法,其結(jié)構(gòu)如圖1所示。該算法結(jié)合了LEACH路由協(xié)議,在完成分簇后,感知節(jié)點(diǎn)將監(jiān)測到的數(shù)據(jù)發(fā)送到簇首節(jié)點(diǎn),組建BP神經(jīng)網(wǎng)絡(luò),根據(jù)輸入層神經(jīng)網(wǎng)絡(luò)函數(shù)進(jìn)行預(yù)處理后,根據(jù)隱含層和輸出層的神經(jīng)網(wǎng)絡(luò)函數(shù)后續(xù)處理,通過BP神經(jīng)網(wǎng)絡(luò)的自學(xué)習(xí)能力,提取特征數(shù)據(jù),將特征數(shù)據(jù)傳送到sink節(jié)點(diǎn),以達(dá)到減少數(shù)據(jù)傳輸量、節(jié)省網(wǎng)絡(luò)能量的目的。
圖1 BPNNDF算法的結(jié)構(gòu)Fig.1 Structure of BPNNDF Algorithm
雖然近幾年來人們對神經(jīng)網(wǎng)絡(luò)的研究取得了很大的成果,特別是 BP 神經(jīng)網(wǎng)絡(luò)更是被廣泛應(yīng)用于模式識別、預(yù)測預(yù)報、優(yōu)化控制以及智能決策等實(shí)際問題中,但同時 BP神經(jīng)網(wǎng)絡(luò)也暴露出以下不足。
①網(wǎng)絡(luò)結(jié)構(gòu)難以確定,即神經(jīng)網(wǎng)絡(luò)的隱含層層數(shù)以及隱含層的神經(jīng)元個數(shù)不確定。實(shí)驗(yàn)中只能通過經(jīng)驗(yàn)或者嘗試法來確定網(wǎng)絡(luò)結(jié)構(gòu),導(dǎo)致這些方法效率較低;
②初始權(quán)值閾值不確定,BP神經(jīng)網(wǎng)絡(luò)的初始權(quán)值閾值一般通過隨機(jī)產(chǎn)生,造成輸出結(jié)果震蕩較大,難以達(dá)到期望的效果。
為了應(yīng)對基于BP神經(jīng)網(wǎng)絡(luò)數(shù)據(jù)融合存在的不足,探索人工魚群優(yōu)化BP神經(jīng)網(wǎng)絡(luò)。人工魚群算法(artificial fish swarm algorithm, AFSA)是一種由李曉磊提出的智能搜索算法,從提出開始就得到了國內(nèi)外學(xué)者的廣泛關(guān)注,該算法經(jīng)過不斷的理論完善開始應(yīng)用于各個領(lǐng)域,由解決一維靜態(tài)優(yōu)化問題發(fā)展到解決多維動態(tài)組合優(yōu)化問題。該算法具有較快的收斂速度和優(yōu)秀的全局搜索能力,與BP神經(jīng)網(wǎng)絡(luò)相結(jié)合,能夠很好地克服BP神經(jīng)網(wǎng)絡(luò)陷入局部極值的缺陷[15]。
AFSA原理是有一種仿生生物——人工魚,可以在一片水域中通過自行覓食或尾隨其他人工魚,找到食物濃度最高的地方,經(jīng)過一段時間后,人工魚數(shù)目最多的地方一般就是本水域中食物濃度最高的地方。人工魚群算法以此為基礎(chǔ),通過人工魚的覓食、聚群、追尾和隨機(jī)行為等實(shí)現(xiàn)尋優(yōu)。
①覓食行為。人工魚的覓食行為是指在水中隨機(jī)地自由游動,當(dāng)發(fā)現(xiàn)食物時,則會向食物逐漸增多的方向快速游去。
②聚群行為。人工魚在游動過程中為了保證自身的生存和躲避危害會自然地聚集成群,但同時人工魚還要盡量避免和其他人工魚過于擁擠,超過設(shè)置的擁擠度。
③追尾行為。當(dāng)人工魚群中的一條或幾條人工魚發(fā)現(xiàn)食物時,其臨近的人工魚會尾隨其快速到達(dá)食物點(diǎn)。
④隨機(jī)行為。單獨(dú)的人工魚在水中通常都是隨機(jī)游動的,這是為了更大范圍地尋找食物點(diǎn)或身邊的伙伴,避免人工魚過早聚在一起。
在人工魚群算法中,人工魚總是向著食物濃度更高的方向移動。在視野范圍較小時,人工魚的覓食行為以及隨機(jī)游動更為突出;在視野范圍較大時,人工魚由于容易發(fā)現(xiàn)視野內(nèi)的同類,追尾行為和聚群行為比較突出。從整個尋優(yōu)過程來看,視野和步長越大,人工魚群越容易跳出局部最優(yōu),得出全局極值并收斂;視野和步長越小,人工魚群越能在視野內(nèi)更多次的尋找最優(yōu)解。受王聯(lián)國等[16]提出的人工魚群算法啟發(fā),本文提出改進(jìn)的人工魚群算法(improved artificial fish swarm algorithm, IAFSA),采取自適應(yīng)動態(tài)的視野和步長策略:①設(shè)置一個隨周期變化的基準(zhǔn)視野和步長。算法運(yùn)行初期,人工魚的視野范圍和步長應(yīng)該相對較大,可以增強(qiáng)算法跳出局部最優(yōu)的能力和算法收斂速度;算法運(yùn)行后期,視野和步長逐漸減小,此時,人工魚已經(jīng)定位在最優(yōu)解附近區(qū)域,小的視野和步長有利于找到最優(yōu)解;②針對個體人工魚自適應(yīng)調(diào)整。適應(yīng)度較差的人工魚,距離全局最優(yōu)解較遠(yuǎn),應(yīng)適當(dāng)增加視野和步長;適應(yīng)度較好的人工魚,已經(jīng)接近全局最優(yōu)解,應(yīng)適當(dāng)減小視野和步長,強(qiáng)化局部搜索能力。
本文設(shè)置步長隨視野動態(tài)調(diào)整,符合人工魚尋優(yōu)特征,也有助于減少算法復(fù)雜度。
step=visual·λ,λ∈(0,1)
(1)
設(shè)置人工魚的初始視野(Fv)和人工魚的初始步長(Fs)后,周期t的基準(zhǔn)人工魚視野Fvt通過(2)式計算更新
(2)
(2)式中:γ為衰減因子;t為當(dāng)前周期數(shù);Tmax為最大設(shè)置周期。
每個周期后,計算所有人工魚的適應(yīng)度中位數(shù),根據(jù)個體魚適應(yīng)度與中位數(shù)的差異率,再次調(diào)整視野和步長。設(shè)人工魚Fi的適應(yīng)值為Xi,求出所有適應(yīng)值的中位數(shù)Xm,根據(jù)周期t的基準(zhǔn)視野,求出個體人工魚Fi在周期t視野Fvti為
Fvti=Fvt·[1+(Xi-Xm)/Xm]
(3)
人工魚群算法優(yōu)化BP神經(jīng)網(wǎng)絡(luò)的基本思路是設(shè)BP神經(jīng)網(wǎng)絡(luò)輸入層有j個神經(jīng)元,有k個隱含層,輸出層元素有l(wèi)個神經(jīng)元,則待調(diào)整的參數(shù)是j·k+k·l個權(quán)值和k+l個閾值,人工魚的狀態(tài)以神經(jīng)網(wǎng)絡(luò)的初始權(quán)值和閥值代表,每條人工魚代表一個神經(jīng)網(wǎng)絡(luò),每條人工魚的狀態(tài)就可以用一個j·k+k·l+k+l維的變量表示。人工魚的個體適應(yīng)值X為其對應(yīng)的神經(jīng)網(wǎng)絡(luò)訓(xùn)練誤差Err的絕對值的相反數(shù),個體適應(yīng)值越高,代表對應(yīng)的神經(jīng)網(wǎng)絡(luò)誤差越小。
人工魚群算法利用算法強(qiáng)大的尋優(yōu)能力不斷尋優(yōu),得到較優(yōu)的狀態(tài)解,解的各個狀態(tài)代表BP神經(jīng)網(wǎng)絡(luò)的權(quán)值和閾值被調(diào)整到全局最優(yōu)值附近。采用調(diào)整后的權(quán)值和閾值代替初始隨機(jī)設(shè)定的權(quán)值和閾值,能夠避免BP神經(jīng)網(wǎng)絡(luò)陷入局部極值的缺陷,并且因?yàn)閷?yōu)后得到的權(quán)值和閾值相對固定,可避免隨機(jī)取值帶來的網(wǎng)絡(luò)震蕩。
基于人工魚群算法的BP神經(jīng)網(wǎng)絡(luò)參數(shù)尋優(yōu)流程如圖2所示。
圖2 AFSABP參數(shù)尋優(yōu)流程Fig.2 Flow chart of AFSABP parameter optimization
仿真實(shí)驗(yàn)采用縉云山火災(zāi)經(jīng)驗(yàn)數(shù)據(jù)庫,消防專家經(jīng)過大量試驗(yàn)和研究得出不同煙霧信號、溫度信號、CO信號3個參數(shù)值對應(yīng)的火災(zāi)概率。通過無線傳感網(wǎng)采集3個參數(shù)值對火災(zāi)進(jìn)行實(shí)時監(jiān)測有著重要意義。
在酷睿雙核CPU,8G RAM的計算機(jī)上采用Matlab 2016進(jìn)行算法仿真測試。人工魚群算法中的參數(shù)設(shè)定:人工魚數(shù)量FishNum=10;最大設(shè)置周期Tmax=50;最多試探次數(shù)TryNum=1;擁擠度因子δ=0.618;初始視野Fv=1.5;視步系數(shù)λ=0.2,t為當(dāng)前周期數(shù),衰減因子γ通過(2)式計算。
BP神經(jīng)網(wǎng)絡(luò)的隱含層的數(shù)目太少,則BPNN獲取的信息不足以解決問題;若數(shù)目太多,則會導(dǎo)致學(xué)習(xí)時間過長,同時可能會出現(xiàn)過擬合的問題。表1為不同隱含層數(shù)目的的誤差對比試驗(yàn)結(jié)果。
表1 隱含層節(jié)點(diǎn)數(shù)與融合誤差
從表1可以看出,隨著隱含層神經(jīng)元數(shù)目的增加,融合誤差呈現(xiàn)先減少后增加的趨勢,當(dāng)神經(jīng)元數(shù)目為5時,融合誤差最小。實(shí)驗(yàn)涉及煙霧信號、溫度信號、CO信號共3個輸入?yún)?shù),火災(zāi)概率1個輸出參數(shù),即輸入層有3個神經(jīng)元,輸出層有1個神經(jīng)元, 隱含層設(shè)為5個神經(jīng)元,故設(shè)置的BP神經(jīng)網(wǎng)絡(luò)結(jié)構(gòu)為3-5-1,共有3·5+5·1=20個權(quán)值,5+1=6個閾值,共26個待優(yōu)化參數(shù)。
選擇人工魚群優(yōu)化神經(jīng)網(wǎng)絡(luò)、遺傳算法優(yōu)化神經(jīng)網(wǎng)絡(luò)(genetic algorithm back propagation,GABP)、蟻群算法優(yōu)化神經(jīng)網(wǎng)絡(luò)(ant colony optimization,ACOBP)以及前饋反向傳播神經(jīng)網(wǎng)絡(luò)(back propagation, BP)進(jìn)行Matlab實(shí)現(xiàn),并進(jìn)行對比實(shí)驗(yàn),為方便對比優(yōu)化效果,GABP的群體大小設(shè)置為10,ACOBP的種群規(guī)模設(shè)置為10,兩者的迭代次數(shù)都設(shè)為50。
利用預(yù)測值與實(shí)際值的平均相對誤差(average relative error, AvRE)為
(4)
均方根誤差(root mean square error, RmSE)為
(5)
最大相對誤差(maximum relative error, MaxRE)為
MaxRE=Max(Err(1)+Err(2)…Err(N))
(6)
及最小相對誤差(minimum relative error, MinRE)為
MinRE=Min(Err(1)+Err(2)…Err(N))
(7)
作為主要評價指標(biāo),并給出融合一致性對比和融合誤差對比,直觀對比各方法的融合效果。
表2給出了1 000次試驗(yàn)下各種融合方法的各類型誤差的平均值,可以看出,本文的AFSABP數(shù)據(jù)融合結(jié)果的各類型誤差平均值都小于其他方法,相較于傳統(tǒng)BP數(shù)據(jù)融合方法,可減少3.06%的相對誤差和3.74%的均方根誤差,有統(tǒng)計學(xué)上的優(yōu)勢。
表2 4類誤差均值對比
圖3、圖4分別給出了各種方法的融合結(jié)果與實(shí)際值的一致性分析及相對誤差對比,由圖3、圖4可知,基于AFSABP的融合結(jié)果相較于其他算法與實(shí)際值的一致性更好,平均相對誤差及最大相對誤差最小,而且其他算法在融合過程中容易出現(xiàn)震蕩,導(dǎo)致結(jié)果偏差較大。AFSABP數(shù)據(jù)融合算法較其他算法表現(xiàn)出更高的準(zhǔn)確性和穩(wěn)定性。
圖3 融合一致性對比Fig.3 Comparison of fusion consistency
圖4 融合誤差對比Fig.4 Comparison of fusion error
為測試改進(jìn)人工魚群算法的性能,選擇與傳統(tǒng)人工魚群算法進(jìn)行仿真測試對比。圖5顯示了傳統(tǒng)人工魚群算法和本文改進(jìn)的人工魚群算法在數(shù)據(jù)融合過程中的收斂情況。由圖5可以看出,原有的魚群算法在第38個周期找到最靠近全局最優(yōu)值的點(diǎn),而改進(jìn)后的算法在第23個周期完成尋優(yōu);結(jié)合表2和圖5可以看出,本文算法尋優(yōu)結(jié)果精度高于原有算法的尋優(yōu)結(jié)果精度。結(jié)果表明,本文改進(jìn)的魚群算法在收斂速度和尋優(yōu)精度上較原有魚群算法都有明顯進(jìn)步。
圖5 算法迭代收斂對比Fig.5 Comparison of iterative convergence of algorithms
綜合可知,AFSABP算法相較于其他方法,可得出更高的數(shù)據(jù)融合結(jié)果準(zhǔn)確性?;馂?zāi)場景具有代表性,意味著AFSABP算法具有好的應(yīng)用前景。
本文針對現(xiàn)有無線傳感網(wǎng)神經(jīng)網(wǎng)絡(luò)數(shù)據(jù)融合存在容易陷入局部最優(yōu)解的缺陷,提出基于人工魚群算法優(yōu)化神經(jīng)網(wǎng)絡(luò)的WSN數(shù)據(jù)融合方法。算法以LEACH路由協(xié)議為基礎(chǔ),在節(jié)點(diǎn)分簇后,簇頭節(jié)點(diǎn)利用改進(jìn)的人工魚群算法優(yōu)化神經(jīng)網(wǎng)絡(luò)的權(quán)值和閾值,以此對簇內(nèi)節(jié)點(diǎn)采集的數(shù)據(jù)進(jìn)行數(shù)據(jù)融合,并將經(jīng)融合提取出的特征數(shù)據(jù)輸送給匯聚節(jié)點(diǎn),從而減少數(shù)據(jù)傳輸量,降低節(jié)點(diǎn)能量消耗,進(jìn)而延長網(wǎng)絡(luò)的生命周期。仿真實(shí)驗(yàn)對比結(jié)果表明,改進(jìn)后的魚群算法在收斂速度和尋優(yōu)精度上都有顯著進(jìn)步,本文方案較典型的BP神經(jīng)網(wǎng)絡(luò)數(shù)據(jù)融合方法可減少3.06%的相對誤差和3.74%的均方根誤差。