汪 亮,陳燕紅
(湖南機電職業技術學院電氣工程學院,湖南 長沙 410151)
無線傳感器網絡被譽為二十一世紀最具影響力的科學技術之一[1],其已成為我國重點研究項目之一。 由于無線傳感器網絡節點通常由電池提供能量,導致能量存在上限且無法補充,因此建立有效無線傳感器網絡分簇路由算法用以控制節點能量消耗十分重要[2]。 但是現階段無線傳感器網絡分簇路由控制方法由于樣本數量較少、網絡節點間剩余能量差高的問題,導致控制方法的效果無法達到預期。相關學者深入研究了該問題,并且取得了一定成果。
王宗山等[3]首先通過改進人工蜂群優化的模糊C 均值算法聚類分簇網絡節點,并由節點狀態分布式競選簇首,然后采用基尼系數優化的蜂群算法作為簇間路由算法,最后利用輪詢機制控制簇內通信,構建無線傳感器網絡分簇路由算法。 該方法延長了無線傳感器的使用壽命,但是其由于樣本較小、蘊含的信息有限,導致簇首數量選擇不理想。 Nishi等[4]認為從傳感器節點到Sink 的通信是一個能量消耗的任務,分簇是傳感器網絡中提供通信的策略之一,利用移動中繼設計了繼電器和節點聚類方法,構建無線傳感器網絡分簇路由算法。 該方法有效分簇了無線傳感器網絡,但是其網絡能耗均衡性較差,導致網絡節點間剩余能量差高,工作效率不佳。 胡潤彥等[5]建立每輪網絡能耗總量和分簇數量的目標函數并獲取最優分簇數,通過雙層模糊決策選擇簇首節點,構建無線傳感器網絡分簇路由算法。 該方法在實際應用中可以有效降低網絡節點間剩余能量差,但是該方法存在分類準確率低的問題。 李洪兵等[6]考慮鄰近簇首和鄰近節點的狀態,分級處理節點,在選取簇首時,根據簇首位置和簇群范圍優化簇首,以此降低發生簇首分布過密和簇群范圍不合理情況的概率,在數據傳輸時,通過節點剩余能量、節點間距離和鄰近節點,采用中繼方式均衡節點能耗,從而降低無線傳感器網絡總能耗,該方法提高了網絡能耗均衡性,但是在實際應用中增加的無線傳感器網路壽命未達到預期值。
為了解決上述方法中存在的問題,提出基于小樣本無梯度學習的無線傳感器網絡分簇路由方法。該方法引入小樣本無梯度學習算法,并且結合了生成對抗網絡,處理小樣本數據,優化算法,實現無線傳感器網絡分簇路由的設計,以期提高無線傳感器網絡分簇路由的工作效率和使用壽命。
從統計學角度分析,數據規模越大,能夠從中學習的網絡結構和分布構成越豐富、特征刻畫越明確,由此產生了大規模的大數據樣本處理方法,但在實際樣本應用中,受環境、成本、時間等客觀因素影響,并非所有情況下均能夠獲取到大量數據樣本,因此小樣本數據處理同樣十分重要,處理小樣本能夠在有限數據內獲取更豐富的信息,實現小樣本的有效利用[7]。
基于小樣本無梯度學習的無線傳感器網絡分簇路由方法采用條件生成對抗網絡處理小樣本學習數據[8],用p1,p2,…,pm表示小樣本機器學習數據,將數據映射至由復值函數構成的Hibert 空間H中,得到對應數據φ(p1),φ(p2),…,φ(pm),用β表示投影方向,JεB表示H中類間散布矩陣,βT表示H中全部數據樣本平均值,m表示樣本數量,結合再生核理論[9],轉換特征提取問題為最優化求解問題K(β),如下所示:
轉換式(1)中投影方向為樣本點線性輸出,用β′表示β的轉置;CB表示經過變化后類間散布;CW表示經過變化后類內散布;vj表示總平均值;wi表示類別i對應平均值;β′T表示轉置后全部數據樣本平均值。 得到轉置后優化求解問題K(β′),如下所示:
依據以上計算求得樣本特征值,采用對應的特征向量構建特征矩陣,用于后續計算。
針對處理數據中存在的不平衡情況,需要計算數據特征相對熵,結合相對熵變化,平衡小樣本數據類[10]。 用A表示構建的特征矩陣,P(a)表示A的概率分布,a∈A,A∈Ω,Ω表示有限集合,則A的信息熵H(A)如下所示:
假設存在兩個類不同的特征矩陣B和D,b∈B,d∈D,用ρ(b)表示B的邊緣概率;ρ(d)表示D的邊緣概率;P(b,d)表示B和D聯合概率分布。得到B和D互信息Q(B,D),如下所示:
互信息在信息熵調節中具有重要作用,其能夠反映數據信息量變化情況。 結合式(4)計算B和D的相對熵L(B|D),如下所示:
式中:P(b)表示B的概率分布。 通過相對熵能夠描述B和D之間的平衡性,若數據不平衡,則通過調節信息熵使相對熵達到平衡目標,實現數據平衡后,將數據輸入條件生成對抗網絡加以處理。
用S表示一個條件生成對抗網絡,S具有對應最優判別器W,在W結果達到最優并輸出結果WS時,完成小樣本處理。 用gs表示S生成的數據分布,gdata表示未經處理時的最小化真實分布,則WS=以gs和gdata散度J(gdata‖gs)作為數據處理目標函數F(S)的等價函數,則有:
在提前設定W的條件下,即可實現目標函數F(S)的求解,完成不改變原始數據內容的小樣本學習數據處理。
無梯度學習的無線傳感器網絡分簇路由方法是通過LEACH 協議算法和遺傳算法(GA)優化的BP神經網絡(GABP)相結合實現的,該方法在求解具有非凸、不可導、有大量局部極值目標函數中表現優異。 選擇LEACH 協議算法的原因是該算法的網絡拓撲結構為分層結構,簇首節點形成高層網絡,使得簇內節點不需要存儲路由信息,簡化了路由路徑選擇,并且可以隨機選取簇首節點,同時,具有數據融合處理的功能,減少了無線傳感器網絡的信息傳輸量,更加符合無線傳感器網絡分簇路由方法。 選擇結合遺傳算法(GA)優化的BP 神經網絡(GABP)是因為BP 算法具有尋優精確的特點,但是全局尋優能力有限,而遺傳算法具有很強的宏觀搜索能力和良好的全局優化性能,因此將三種算法相結合,從而提高網絡能耗均衡性、延長網絡壽命。
2.1.1 BP 神經網絡
BP 神經網絡是一種結構為三層或三層以上的神經網絡[11],其中每層均由若干神經元構成,網絡結構及神經元模型如圖1 所示。

圖1 BP 神經網絡結構及神經元模型圖
圖1 中,f表示神經元傳輸函數,f=ωr+b;r表示神經元輸入;ω表示權值;b表示偏置;x1,x2,…,xm表示輸入參數;ωij和φik分別表示輸入層與隱含層和隱含層與輸出層連接權值。 最終得到輸出y1,y2,…,ym。
在BP 神經網絡正向傳播過程中,輸入信息由輸入層傳輸至隱含層,在隱含層中經過處理輸出各單元實際值;在反向過程中,若輸出值不符合預期,則通過反向學習,并修正各個層次連接權重,使BP 神經網絡學習誤差達到預期,完成BP 神經網絡學習。
2.1.2 GA 算法
GA 算法是根據“優勝劣汰,適者生存”理論誕生的種群擇優算法[12],結合種群選擇、交叉、變異操作,實現種群優化,在多代循環后,得到符合要求的個體,即完成最優解逼近,選擇、交叉、變異操作的主要流程如下所示:
①選擇
選擇是依據特定概率選擇種群中個體作為繁殖后代的父本,并且由適應度決定概率。 選擇操作可以保留優秀個體,從而經過繁衍得到更多優質個體,完成期望值逼近。
②交叉
交叉結合自然界信息交互思想,通過交換兩個被選擇個體上的一點或多點位置,產生新的個體,在全局角度上改善個體結構。
③變異
變異操作依據特定概率選擇個體,變異選擇個體中某段染色體,加強個體的適應度。
GA 算法在全局尋優中表現優異,而BP 神經網絡在局部尋優中具有一定優勢,因此將兩者相結合,建立GABP 算法,提高算法性能,主要流程如下所示:
①染色體編碼
BP 神經網絡負責編碼全部權值和偏置并生成染色體X,σm表示各個隱含層之間連接偏置,sn表示輸出層偏置,得到一組染色體X如下所示:
②適應度計算
適應度函數對個體被選中的概率起到決定性作用,結合預測輸出yi和期望輸出ei構建染色體Xi的適應度函數K(Xi):
式中:α表示系數;n表示神經元總數;i∈[1,n]。
③遺傳操作
計算個體適應度值,并引入輪盤賭法選擇概率,用M表示種群數量,則每個基因被選中的概率pi如下所示:
采用式(9)選擇兩個基因,記作Xa和Xb,交換兩者第k位的染色體,得到新染色體Xak和Xbk,新染色體如下所示:
式中:γ表示[0,1]中的常數。
在父代中選取個體基因的基因點Xij,通過均勻分布的隨機數替換Xij,提高基因適應性,用Xmax和Xmin分別表示選取的個體基因上下界;u表示當前進化次數;g(u)表示u的相關函數;r1和r2分別表示[0,1]中隨機數;Umax表示進化次數最大值。 得到新基因點X′ij如下所示:
變異操作能夠提高局部尋優能力,并保障種群多樣性。
基于小樣本無梯度學習的無線傳感器網絡分簇路由方法采用LEACH 協議算法,初步劃分各傳感器節點為簇[13],LEACH 協議算法通過隨機選擇簇首方式生成網絡,并以“輪”為周期重組網絡,選取新簇首,平衡網絡能量高損耗。 在LEACH 協議算法建簇階段中,全部節點隨機生成在[0,1]內,比較該隨機數值與設定閾值ψ(m),確定是否設置該節點為簇首。 用η表示成為簇首節點數與網絡中總節點數之比;W表示當前輪結束后還未成為簇首的節點集合;R表示已完成循環輪數;mod(·)表示求余函數。ψ(m)遵循以下規則:
根據式(12),若隨機數值小于ψ(m),則將其設置為簇首。 在第一輪簇首選擇中,簇首節點由LEACH 協議算法隨機決定,簇首負責分配簇內成員相應工作。
經LEACH 協議算法劃分后的每個分簇均與BP神經網絡模型一一對應。 GABP 算法具有泛化能力強、收斂速度快等優點,將其應用于簇首節點和數目選擇的主要流程如圖2 所示。

圖2 GABP 算法的簇首節點和數目選擇流程
基于GABP 的無線傳感器網絡分簇路由算法的主要步驟如下所示:
①結合無線傳感器網絡拓撲結構,設定BP 神經網絡拓撲結構,初始化權值和偏置并傳遞至GA算法,用m和n分別表示輸入和輸出節點數,λ表示[0,10]范圍內的調節常數,計算隱含層節點個數v,如下所示:
②計算每個個體適應度值并將適應度值較高的個體交叉、變異獲取新種群,更新后的種群若滿足要求,則進入步驟3,若不滿足要求,則重復計算直到符合要求為止。 用θ表示鄰居節點密度,l表示節點傳輸距離,Qn-res和QN-res分別表示節點n剩余能量和全部節點剩余能量總和,?、ε和φ表示權值系數,三者滿足?+ε+φ=1,定義無線傳感器網絡分簇路由中采用的適應度函數Z,如下所示:
③傳遞獲取到的最優解至BP 神經網絡,結合誤差δn更新權值和偏置,用X(i)表示網絡輸入值,Gi和Gj分別表示輸入層和隱含層輸出,ξ表示系數,yn表示預測輸出,en表示期望輸出,n表示輸出層數量,得到ωij和φik的更新ω′ij和φ′ik,如下所示:
④判定經過BP 神經網絡處理后輸出誤差δn是否符合提前設定的期望值,若符合,則算法結束,若不符合,則返回步驟3 繼續執行。
采用訓練后的GABP 算法為LEACH 協議算法選擇簇首節點和簇首數量,實現基于小樣本無梯度學習的無線傳感器網絡分簇路由。
為驗證所提方法的有效性和可行性,需要測試所提方法的性能。 選取簇首數量、網絡能耗均衡性和網絡壽命為性能指標,檢測所提方法、文獻[3]方法和文獻[4]方法提出的無線傳感器網絡分簇路由算法在小樣本情況下的分簇效果。 以某公司的無線傳感器網絡為研究對象,該公司無線路由的數量為10 個,具體參數如表1 所示。

表1 實驗參數表
根據實驗目的,對比分析所提方法的性能,檢測結果如下所示。
3.2.1 簇首數量分析
用M表示節點總數,D表示區域邊長,lch-s表示簇首與Sink 節點間距離,εfs和εamp分別表示自由空間信道模型和多徑衰落信道模型下的能耗系數,得到無線傳感器網絡中最優簇首個數N,計算公式如下所示:
結合所設計實驗環境的實際情況,經計算得到,在所設計實驗中N∈[1,6.3]。 根據理論和經驗可知在簇首數量為4 個、5 個和6 個時,協議每輪消耗能量均值最低且第一個死亡節點和所有節點死亡出現時經歷輪數相對較多,即在簇首數量為4 個、5 個和6 個時無線傳感器網絡狀態更為理想。
分別統計所提方法、文獻[3]方法和文獻[4]方法運行200 次的簇首數量分布情況,如圖3 所示。

圖3 簇首數量分布檢測結果
由圖3 可以看出,所提方法的簇首數量均分布在4 個、5 個、6 個、7 個處,其中大部分為4 個、5 個和6 個,符合理想狀態下的簇首數量,文獻[3]方法簇首數量在1 個到12 個之間均有出現,文獻[4]方法簇首數量分布于2 個到9 個之間,文獻[3]方法和文獻[4]方法的簇首數量分布較為分散,對簇首數量選擇不及所提方法。 因為所提方法采用條件生成對抗網絡處理小樣本數據,在有效小樣本中得到更為豐富的可用信息,在無線傳感器網絡分簇路由中得到更為優異的分簇效果。 分類準確率如圖4所示。

圖4 分類準確率
分析圖4 中的分類準確率曲線可知,三種方法的曲線差異較大,但是三種方法的分類準確率曲線均隨著傳感節點數量的變化而變化。 其中所提方法的分類準確率曲線一直呈現上升趨勢,未出現降低的情況,并且在傳感節點數量達到20 個后,準確率曲線一直在文獻方法分類準確率曲線之上,上升幅度大于文獻方法,并且在傳感節點數量達到100 個時,所提方法的分類準確率達到了96.3%,而兩種文獻方法的分類準確率曲線均出現不同程度的下降,出現了較大的波動,文獻[3]方法在傳感節點數量為40 個時,準確率開始上升,在傳感節點數量為100 個時,分類準確率為87.3%,而文獻[4]方法在傳感節點數量為20 個時,分類準確率曲線開始上升,在傳感節點數量為100 個時,準確率達到89.2%,對比三種方法的分類準確率可知,所提方法的準確率最高,分別比文獻方法提高了9.0%和7.1%,由此可知,所提方法有效提高了無線傳感器網絡分類準確率。 這是因為所提方法采用了GABP算法優化簇首節點和簇首數量,提高了全局尋優的性能,從而提高了分類的準確率。
3.2.2 網絡能耗均衡性分析
以網絡節點間剩余能量差衡量網絡能耗均衡性,網絡節點間剩余能量差越小則對應網絡能耗均衡性越好。 用M表示無線傳感器網絡中節點總數,表示節點k當前剩余能量,Eavg表示全網當前剩余能量均值,得到無線傳感器網絡節點間剩余能量差ΔE計算公式如下所示:
根據式(17)分別計算不同迭代次數下所提方法、文獻[3]方法和文獻[4]方法的網絡節點間剩余能量差,檢測結果如圖5 所示。

圖5 網絡節點間剩余能量差檢測結果
由圖5 可以看出,所提方法、文獻[3]方法和文獻[4]方法在迭代次數由20 增加到200 過程中網絡節點間剩余能量差均有所增加,在迭代次數為20 次和40 次時,三種方法的網絡節點間剩余能量差相差不大,但在后續迭代次數增加過程中,文獻[3]方法和文獻[4]方法的網絡節點間剩余能量差出現大幅度升高,而所提方法始終低于另外兩種方法,所提方法最高的網絡節點間剩余能量差為0.015 8,文獻[3]方法的網絡節點間剩余能量差值為0.021 6,文獻[4]方法的網絡節點間剩余能量差值為0.027 3,前者與文獻方法相比,分別降低了0.005 8 和0.011 5,因此,說明所提方法的網絡能耗均衡性最好,能耗分配結果更加合理。 這是因為所提方法應用了LEACH 協議算法,該算法的簇首節點形成高層網絡,使得簇內節點不需要存儲路由信息,簡化了路由路徑選擇,并且具有數據融合處理的功能,減少了無線傳感器網絡的信息傳輸量,從而降低了能耗,增強了網絡能耗均衡性。
3.2.3 網絡壽命分析
定義網絡壽命為整個無線傳感器網絡首個節點能量全部消耗殆盡的時間,檢測所提方法、文獻[3]方法和文獻[4]方法的網絡壽命,如表2 所示。

表2 網絡壽命檢測結果
由表2 可以看出,所提方法的網絡壽命明顯高于文獻[3]方法和文獻[4]方法,所提方法的網絡壽命達到了241 輪,文獻[3]方法僅為42 輪,較所提方法少199 輪,文獻[4]方法為128 輪,較所提方法少113 輪,三種方法相比的結果表明所提方法的網絡壽命最長,說明所提方法能夠使節點消耗更加均衡,有效延長了無線傳感器網絡壽命。 這是因為所提方法有效地將LEACH 協議算法和GABP 算法相結合,使其具備了三種算法的優點,形成優勢互補,提高了節點能耗的均衡性,從而提高了無線傳感器網絡的使用壽命。
無線傳感器是將無線通信、傳感器和微處理相結合的高新技術,但目前無線傳感器網絡技術發展仍受到節點能量的限制,設計科學合理的無線傳感器網絡分簇路由算法是提高無線傳感器網絡技術的有效途徑。 為了解決目前存在的簇首數量選擇不理想、網絡能耗均衡性較差、網絡壽命較短問題,提出基于小樣本無梯度學習的無線傳感器網絡分簇路由方法,通過條件生成對抗網絡處理小樣本數據,結合LEACH 協議算法和GABP 算法實現小樣本無梯度學習無線傳感器網絡分簇路由算法構建。 該方法的簇首數量均分布在4~7 個處,相較于文獻對比方法,網絡節點間剩余能量差降低了0.005 8 和0.011 5,并且網絡壽命分別提高了119 輪和113 輪,因此其能夠獲取到更理想的簇首數量、增強網絡能耗均衡性,延長網絡壽命,在無線傳感器網絡應用中具有積極的意義。