楊永健,劉 帥
(吉林大學計算機科學與技術學院,長春130012)
如今,大量的無線傳感器網絡應用在生活中的各個領域,為我們提供了很大的幫助。在該網絡中,部署在遠程環境中的傳感器節點在沒有任何網絡拓撲先驗信息的情況下完成自行配置,其最終目標是監測傳感器區域中感興趣的特定事件。然而,通常情況下,該網絡中的傳感器節點的能量有限,存儲空間不大,計算能力較低等局限性成為了無線傳感器網絡應用的瓶頸,因此關于如何降低網絡能耗,延長網絡生存時間的研究是十分有意義的。
通常,無線傳感器網絡為了保證對監測區域的覆蓋度,會在區域內部署較多的傳感器節點,這些傳感器節點的監測區域相互重疊,采集到的數據存在很大的空間相關性,從而導致高度的相似性;而且同一個傳感器在短時間內采集的數據也可能具有很高的時間相關性。對這些冗余數據的存儲,計算和發送會浪費網絡中大量的資源,包括存儲空間和傳輸能量,縮短整個網絡的生存期。同時,過多的冗余數據也給后臺的數據處理帶來了不必要的計算開支。
針對上述背景,本文提出一種基于自組織映射神經網絡的無線傳感器網絡數據融合算法(SOFMDA)。SOFMDA算法以無線傳感器網絡中的基于位置的分簇路由協議(只需要是分簇協議,并不指定具體的協議)為基礎,以簇內節點為SOFM神經網絡的輸入層神經元,在簇頭節點利用SOFM神經網絡技術對數據分類,并提取特征,然后將代表原始數據的特征數據而不是所有的原始數據發送給匯聚節點,從而達到減少數據發送量,降低能耗的目的。
人工神經網絡,亦稱為神經網絡,是一種應用類似于大腦神經突觸連接的結構進行信息處理的數學模型[1]。它是一種運算模型,由大量的節點(或稱神經元)和相互之間的加權連接構成。它可以模擬人類大腦活動,具有很強的非線性逼近、分布存儲、模式分類和識別等能力,可以處理已知信息較少,考慮因素較多的信息處理問題。
與有導師學習規則的神經網絡不同,SOFM神經網絡使用無導師學習規則來訓練網絡,可以在沒有預知正確模式的情況下(沒有已知的輸入和輸出訓練樣本數據),通過對客觀事件的反復觀察、分析與比較,自行提煉其內在規律,并對具有共同特征的事物進行正確的分類。即,SOFM神經網絡的訓練只依賴于一組輸入量,其自行尋找輸入量中的內在特征,從而實現分類。圖1展示了SOFM網絡模型的一般形式。

圖1 SOFM網絡模型
SOFM網絡采用了Kohonen學習規則,它不僅僅更新勝出的單個神經元的權值,并且對其一定鄰域內的所有神經元的權值都進行更新,即圖1中節點i為勝出的神經元,而在其周圍的鄰域內的節點(圖中其他的實心節點),都要被更新。這種學習規則更接近于人腦內神經元的工作方式。Kohonen規則對權值進行更新的表達式如式(1)所示。

其中q代表訓練輪數,α為學習速率,學習速率的取值關系到學習的效果和運算量,取值過大雖然學習次數較少但學習效果不理想,取值過小又可能導致長時間無法達到學習目標。
經過多輪的訓練,使得獲勝神經元附近的權值都向著輸入模式靠近,所以SOFM是一種可以體現輸入模式并保證輸入數據拓撲結構的神經網絡模型。
周沖等人提出的 WSN數據融合算法[2]針對LEACH算法在簇頭選擇機制、數據融合以及簇頭與基站通信的路由方面的不足,提出了改進方案,在簇頭選擇的算法中加入了能量控制條件,簇頭與基站的路由改為更適合數據融合的多跳反向組播樹,仿真實驗表明與LEACH算法相比,性能上有所提升。Wang Leichun等人提出的基于空間相關性的數據融合算法[3],將空間位置和數據特征作為主要考慮因素對傳感器數據做分類融合,實驗表明該算法在能耗、數據采集量和融合質量等方面都優于RAA。Nithyakalyani,S等人提出的以數據為中心的融合技術[4],該技術是一種基于 Voronoi圖的模糊聚類(VF)算法。該算法考慮節點剩余能量、簇頭節點和鄰居節點的距離和服務質量,在簇頭節點進行數據融合。仿真實驗表明,算法有效地提高了網絡性能。
神經網絡技術在解決無線傳感器網絡方面的問題已經發揮了很大的作用,也有了一定的研究成果。Renzik[5]等使用多層感知神經網絡檢測無線傳感器網絡中的信號變化情況,用以判斷異常事件的發生。馮芳等提出的基于神經網絡的無線傳感器自適應路由算法[6],在基站上采用神經網絡的自適應學習來選擇簇頭,并根據最優權函數值來選擇最短路徑中的下一跳,仿真實驗表明網絡性能是EMHR算法的1.8倍。Julio Barbanch等第一次將SOFM神經網絡應用于無線傳感器網絡,并提出了基于SOFM的無線傳感器路由協議[7],該協議沒有考慮數據融合方面的內容。余黎陽等將BP神經網絡和無線傳感器網絡分簇路由協議有機結合,構造出一個三層感知器神經網絡[8],來完成數據融合的工作,仿真結果表明該方法有效地提高了LEACH算法[9]的性能,但該算法無法完成缺乏訓練輸出集合情況下的工作。孫凌逸等在文獻[8]的基礎上,增加了數據特征的處理[10],同樣對LEACH算法進行了改進,效果比較明顯,與文獻[8]的問題相同,協議沒有給出缺乏訓練集合的情況下的實現。
SOFM神經網絡可以和無線傳感器網絡很好的結合來解決數據融合的問題。無線傳感器中的節點扮演神經網絡的神經元角色,采集的數據作為神經元的輸入量,在簇頭節點做神經網絡的增量學習工作,從而實現數據的分類。之所以采用無導師學習規則的神經網絡是因為它可以不需要提前指定訓練數據的正確分類結果,因為對我們來說,有時確實很難獲得。
SOFMDA算法,針對實時監測類應用而設計,如大型溫室監控網,空氣質量采集網等。在這些應用場景中,傳感器節點不斷地采集大量的監控數據,并發送給匯聚節點。匯聚節點受到的數據的冗余性主要來自于以下兩個方面:(1)鄰近的傳感器節點采集的數據具有較高的相似性;(2)短時間內同一傳感器節點采集的數據具有較高的相似性。然而,我們的研究將不局限于這兩點,只要是可以量化的導致數據冗余的因素,都可以作為我們研究的對象,例如在某些特定的應用中傳感器節點所處的光強度(溫室監控),風速(森林防火監控)等。
為方便問題的研究,文中N個傳感器節點隨機分布在矩形感知區域內。文中使用的概念及標識如表1所示。

表1 本文的概念和標識
本文對無線傳感器網絡具有如下要求:
(1)所有節點在部署之后不能隨意移動,且每個節點具有唯一的網內標識id號;
(2)節點的初始能量相同,不存在能量補給;
(3)網絡中有唯一的匯聚節點(Sink),位置固定;
(4)匯聚節點的能量較充沛,不會出現死亡現象;
(5)網內節點可以獲知自己所在的位置信息。
對于要求(5),因為無線傳感器網絡的數據融合必然要考慮到節點的空間相關性造成的數據冗余,所以位置信息是SOFM過程中要考慮的的重要因素。這也是大多數無線傳感器網絡路由算法中所要求的。
SOFMDA算法對路由協議沒有過多的要求,只要求是分簇路由協議(然而,不同的分簇協議也會導致最終的性能差別),且在整個網絡內,節點成為簇頭滿足公平性的原則即可,所以我們將路由協議部分泛化處理,在某一時刻的網絡拓撲T的情況下討論問題。
設C為當前時刻T拓撲下網絡中所有簇的集合,當前時刻網絡中簇的數量為M,即‖C‖=M。Ci代表第 i號簇,Ci∈C,i=0,1,…,M-1,Ci-Head為Ci的簇頭節點編號。我們的算法是在每一個簇頭節點進行神經網絡的分類操作和數據融合操作。設‖Ci‖=ni,則對于簇頭Ci-Head內的神經網絡將有Qi=ni個輸入向量(包括Ci-Head采集到的數據),由于采用SOFM神經網絡,所以Ci-Head并不需要訓練集對應的正確輸出。設對于當前的網絡應用,影響網絡中數據冗余度的因素為 e1,e2,…,er,則有每個輸入向量有r個元素,則Ci-Head的輸入矩陣為一個r×Qi的二維矩陣:

Ci通過這Qi個輸入列向量訓練網絡的權值,從而達到對以后向量的分類操作。圖2為Ci-Head中的SOFM網絡結構示意圖。

圖2 Ci-Head中的神經網絡結構示意圖
其中,IW11為神經網絡的權系數和閾值矩陣,‖ndist‖為輸入向量p和IW11的偏差值,S1為最終需要的分類數,a1為最終的分類結果。經過Ci-Head內的SOFM神經網絡,采集到的數據信息已經被分類為S1組,被分類到一組的數據具有較高的數據相關性,可以使用融合方法將同一組的數據進行融合,具體的融合方法將在下一節討論。
圖3為 SOFMDA 算法的模型圖,ci1,ci2,…,cik為簇Ci的簇內成員節點,則k=Qi,分類部分由簇頭結點Ci-Head完成,這也是SOFMDA的核心部分,其結構示意圖如圖2所示;a1,a2,…,as是原始數據經過SOFM后分類成的s個數據集合,在同一集合中的數據有很高的數據相關性,適合進行特征數據的提取,它們將作為DA(數據融合)的輸入,提取特征值,也就是最終將發送到匯聚節點的數據。簇內節點在t時刻向簇頭節點發送的數據為一個r+1元組,其格式為

前r個元素為影響冗余度因子,用來在簇頭節點處進行SOFM分類;最后一個元素data為傳感器采集的真實數據,需要在簇頭節點處進行DA操作,從而獲取最終的特征數據。

圖3 SOFMDA模型圖
由于SOFM神經網絡隨著輸入樣本的增加,不斷調整其內部的權值和閾值矩陣,以使其能越來越準確的對輸入數據加以分類,因此網絡在運行之初的結果可能不夠準確。應該為SOFM網絡留出一定的自行訓練時間,一般情況下SOFM對數據量不大的樣本,訓練200次左右即可達到準確。
特征提取,將已經按照相關性分好類的數據融合為一個特征值,用此特征值來代表這一類數據,從而達到減少數據傳輸量的目的。
關于特征提取的方法,一般認為有兩種方式,一種為取所有數據的算數平均值為特征值。即圖3中DA部分按照式(3)計算特征值。

其中‖ai‖為集合ai中元組的數量,dataij為集合ai中第j個元組的數據。fi為這一時刻,簇頭節點ci向匯聚節點發送的最終數據。這種做法運算簡單,涵義清晰,但當數據變化范圍較大時不能很準確的反應數據的整體特征,而且如果出現較大的奇異值時,可能會給出完全錯誤的特征數據。因此它適合應用在數據變化范圍小且穩定的場景中。
另外的一種方式是采用可以使所有數據的二階中心距最小的數據作為最終的特征數據。即尋找一個數據d,使得式(4)取最小值。將d作為最終的數據發送給匯聚節點。

這種方式可以有效地改善奇異值對整個數據特征的影響。但其對簇頭節點的運算能力要求較高,且運算時間過長,除非在特殊的應用中,否則對于能量寶貴的無線傳感器網絡來說,一般不太實用。
除此之外,還有一些研究學者提出的特征提取處理方法同樣可以應用到SOFMDA算法之中的DA部分,如流量分布加權融合算法[11]等,該算法通過實時計算網絡中的流量分布,選擇路由,從而達到節約能耗的目的。
該模型將SOFM神經網絡的訓練方法與傳統的無線傳感器網絡的數據融合算法相融合,以SOFM為方法,數據融合技術為目的,構建了一種新的無線傳感器數據融合算法。
本文采用MATLAB仿真測試算法的性能。以環境監測系統為應用場景。布置在感知區域內的傳感器節點可以實時采集所處環境的溫度和濕度數據,并將才記得數據發送到Sink節點。
實驗中我們分別選取SOFMDA的分類數為4和6,將100個傳感器節點部署在100 m×100 m范圍的感知區域內,傳感器節點本身可以采集溫度和濕度數據。路由協議采用經典的LEACH協議。具體的實驗參數如表2所示。

表2 仿真實驗參數
其中冗余度影響因素是指我們認為的會影響數據冗余度的因素,在當前實驗背景下,時間和空間是我們考慮影響冗余度最重要的原因。
圖4中展示的是實驗中的數據采集元件,分別采用的是LM35溫度傳感器(左)和SHT11濕度傳感器(右)。每一個傳感器節點都配備一個LM35和SHT11元件,用來采集溫濕度數據。
SOFMDA采用同類算法常用的能耗模型[12],統計節點發送、接收和融合數據的能耗。在發送數據時,如果發送距離小于閾值d0,采用自由空間模型,否則,采用多路徑衰減模型。節點發送和接收l bit數據的能耗如式(5)和式(6)所示。

其中,d是發送距離,Eelec是無線收發電路發送或接收單位長度數據的電路能耗,εfs和εmp分別是自由空間模型和多路徑衰減模型的放大器能耗參數。

圖4 溫度和濕度傳感器元件
為防止個別傳感器節點可能產生的較大誤差對整個特征數據的影響,在做分類之前,我們對數據進行歸一化處理,即將所有采集到的數據轉換為[0,1]區間之內,這樣做不會改變最終的分類結果,卻可以保證即使存在個別的奇異值,也不會對最終的結果產生很大的影響。
圖5是隨機部署的傳感器網絡分布圖,‘+’為傳感器節點,‘●’是這一時刻網絡中的簇頭節點,中央位置的‘☆’為匯聚節點。圖中可以看出,節點的部署在空間上呈現隨機性,距離較近的節點的數據冗余度比較大,適合使用神經網絡的方法歸為一類。

圖5 100個節點網絡的分布圖
圖6展示了某一時刻圖4中標識出來的簇的簇頭使用SOFM神經網絡對13個簇內節點進行“6分類”和“4分類”之后數據的分布情況,兩次分類都進行了12輪訓練。圖6(a)中將13個數據分類為3、3、0、2、2、3 個一類,圖6(b)中將13 個數據分類為 1、5、3、4個一類。分類的數量會影響到數據準確性和融合程度。
圖7給出了分類數分別為4和6時,網絡中的誤差情況。可以看出分類數為6的情況誤差比總體低于分類數為4的情況,分類數越多,同類中的數據相關性就越明顯,因此最終的特征數據也更加接近原始數據,同時可以看出,數據誤差在網絡剛剛建立時較大,這是因為SOFM神經網絡在開始學習時的誤差較大,隨著數據的不斷增加,由于SOFM的增量學習功能,使得網絡最終的性能降低下來并趨于穩定。

圖6 經過神經網絡后的分類

圖7 分類數對準確性的影響
圖8給出了LEACH算法和SOFMDA算法在網絡能耗方面的性能對比。可以看出SOFMDA能有效地減少能耗,同時4分類的情況能耗比6分類的能耗更低,這是因為分類數越少,數據融合的程度就越大,最終的特征數據就越少,通信能耗就越低。
同時結合圖7,圖8分析,對于分類數的選取同時影響到數據準確性和能耗水平,應該根據具體應用的要求適當選擇,在準確度和能耗之間選取折中點。

圖8 LEACH和SOFMDA能耗
圖9顯示了LEACH算法、6分類SOFMDA算法和4分類SOFMDA算法在不同輪數網絡中死亡節點的數量的對比圖。從圖中可以看出,由于對原始數據做了分類融合和特征提取,SOFMDA算法從總體上降低了網絡中各個節點的能耗量,從而延長了網絡了整體的生命周期。同時,由于4分類比6分類有更高的融合度(同樣的原始數據,4分類融合后的數據更少),同一時刻,4分類的算法比6分類算法的死亡節點數要更少。

圖9 網絡中死亡節點的數量
當網絡規模增長時,SOFMDA算法可以很好的保持穩定性,不會產生由于數據包沖突導致的數據重傳和能量損失。圖10顯示了網絡中的節點數量分別在LEACH算法、BPNDA算法[10]和 SOFMDA(4)算法下對Sink節點收到的數據量的影響。可以看出,SOFMDA算法中匯聚節點收到的數據量比LEACH算法匯聚節點收到的數據量要少很多,同時比之前的BPNDA算法有一定的提升。這是因為SOFMDA算法采用神經網絡的方法對原始數據進行分類,使得原始數據量成倍數地下降,在減少了傳輸能耗的同時,也大量地減少了網絡中數據包的數量,從而減少了網絡沖突的產生。在網絡規模到達一定程度后,由于信道帶寬和通信速率的影響,LEACH中的接收數據量趨于穩定,這時信道已經飽和,會產生大量的數據包沖突,而SOFMDA卻一直保持在信道飽和點以下。
最后我們以仿真實驗的方式給出SOFMDA算法相對于LEACH算法性能的提升程度。我們以Sink節點收到等量的數據包時,網絡已經消耗的能量作為度量,來衡量算法的性能。圖11是隨著Sink節點收到數據包數量的增加網絡消耗的總能量變化曲線。為比較的效果比較明顯,我們將仿真時間提高到500 s。

圖10 網絡規模對數據量的影響

圖11 SOFMDA算法性能測試
由于采用了對原始數據進行先分類再特征提取的方式,導致網絡中數據傳輸量大大降低,從圖11中可以看出Sink在收到相同數量的數據包的情況下,SOFMDA算法消耗能量的速度明顯低于LEACH算法,在實驗結束時SOFMDA算法的性能達到了LEACH算法的1.5倍左右。
分簇算法和SOFM自組織映射神經網絡相結合的SOFMDA算法,可以有效地降低無線傳感器網絡的能耗。與無線傳輸所消耗的能量相比,CPU指令所消耗的能量要低的多,因此,用較高的計算量換取低數據傳輸量是有意義的[13]。
仿真測試表明,本文提出的SOFMDA算法通過對原始數據分類,同類數據特征提取的方式,可以有效地減少數據的傳輸量,從而節約能源,減輕信道壓力,提高信道利用率,延長網絡的生命周期。
[1] 朱凱,王正林.精通MATLAB神經網絡[M].北京:電子工業出版社,2010:246-270.
[2] 周沖,余震虹,王娜娜,等.無線傳感器網絡基于分簇路由的數據融合研究[J].現代電子技術,2012,35(7):13-46.
[3] Wang Leichun,Zhou Guoyu.A Spatial Correlation Based Data Aggregation Algorithm for Wireless Sensor Networks[J].Engineering Solutions for Manufacturing Processes,2013,655-657:655-659.
[4] Nithyakalyani,Kumar S,Suresh S,et al.An Approach to Data Aggregation in Wireless Sensor Network Using Voronoi Fuzzy Clustering Algorithm[J].Journal of Scientific and Industrial Research,2013,72(5):287-293.
[5] Reznik L,Von Pless G,AIKarim T.Intelligent Protocols Based on Sensor Signal Change Detection[C]//Proceedings of Systems Communications,2005:443-448.
[6] 馮芳,程良倫.無線傳感器網絡中一種新的基于神經網絡的自適應路由算法[J].傳感技術學報,2010,13(10):1476-1479.
[7] Barbancho J,CarlosLen J,Molina F,et al.Using Artificial Intelligence in Routing Schemes for Wireless Networks[J].Computer Communications,2007(30):2802-2811.
[8] 俞黎陽,王能,張衛.無線傳感器網絡中基于神經網絡的數據融合模型[J].計算機科學,2008,35(12):43-47.
[9] Heinzelman W,Chandrakasan A,Balakrishnan H.Energy-Efficient Communication Protocols for Wireless Microsensor Networks[C]//Proceedings of 33rd Hawaii International Conference on Systems Science,Washington,DC,2000:8020-8030.
[10]孫凌逸,黃先祥,蔡偉,等.基于神經網絡的無線傳感器網絡數據融合算法[J].傳感技術學報,2011,24(1):122-127.
[11]蔡宗吟,劉才銘,劉毅,等.一種高性能數據融合算法在無線傳感器網絡中的應用[J].青島科技大學學報(自然科學版),2013,34(3):309-314.
[12] Heinzelman W R.An Application Specific Protocol Architecture for Wireless Microsensor Networks[J].IEEE Transactions on Wireless Communications,2002,1(4):660-670.
[13] 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-3.