張 陽,任 剛,趙開新,劉小杰,朱命冬
(1.河南工學院 計算機科學與技術學院,河南 新鄉 453003;2.河南工學院 數據挖掘與智能計算研究所,河南 新鄉 453003)
水聲網絡由若干分布在被監測區域的水下網絡節點組成,在環境監測、資源勘探、災難預警和潛艇探測等民用和軍用領域均具有廣闊的應用前景,是進行海洋開發的重要工具[1-4]。
水聲網絡技術的發展面臨著多種挑戰。首先,水聲信道具有時空變化的特點,通信系統的最佳工作參數無法在部署前確定;其次,水聲信道具有高延遲、低帶寬和復雜多徑衰落等特點,節點間實現可靠通信非常困難;最后,水聲網絡中能量補充困難,提高能量效率非常關鍵[5]。
機器學習方法,尤其是增強學習能夠根據水聲環境的動態變化,實時優化網絡參數,實現網絡的自主優化。本文提出了一種基于Q-Learning技術的水聲網絡協議,采用增強學習方法,使智能移動節點能夠根據水聲信道的時空變化情況和網絡的實時特性,自適應地優化移動路徑和服務時間,提高網絡的能量效率,降低平均延遲。該方法為人工智能技術應用于水聲網絡提供了一個較好的借鑒。
由于水聲環境的時空變化特性,水聲網絡的最優工作參數無法在部署前確定。近年來水聲網絡中出現了應用增強學習算法來實現系統參數自適應更新的協議。Q-Learning技術是增強學習的主要算法之一,是一種無模型的學習方法。該算法將智能體與周圍環境的交互視為Markov決策過程,即智能體根據當前所處的狀態和所選擇的動作,決定一個固定的狀態轉移概率分布和下一個狀態,并得到一個即時回報[6-7]。
Q-Learning的目標是尋找一個策略,可以最大化未來回報Q。Q可通過以下模型計算:

(1)

步驟1:給定折扣系數γ和獎勵矩陣R。
步驟2:令Q=0。
步驟3:對每輪決策,隨機選擇一個初始狀態s,若未達到目標狀態,則執行:(1)在當前狀態s的所有可能行動集合中選取一個動作a;(2)利用選定的動作a,得到下一個狀態s;(3)按照公式(1)計算Q(s,a)。
本節定義了一種典型的水聲數據采集網絡,用以驗證所提出的網絡協議。如圖1所示,網絡由n個靜態錨節點和一個AUV(Autonomous Underwater Vehicle)節點組成。靜態錨節點通過連接到海底的線纜保證懸浮在水中固定位置,采集海洋環境數據;AUV是具有移動能力和相對“無限”能量的水下航行器,能夠在網絡范圍內自主移動,幫助錨節點完成數據交換。為了覆蓋較大的范圍和節約成本,錨節點經常稀疏布放;同時考慮到能耗,錨節點的通信能力是受限的,通常無法相互通信,需要移動AUV協助錨節點完成數據的交換。

圖1 一個典型的水聲網絡
AUV節點在網絡中作為智能Agent,通過Q-Learning算法實時計算出最優移動路徑。AUV節點在移動時,周期性的廣播信標信號以發現處于通信范圍內的錨節點。如果錨節點收到信標,則立刻向移動節點返回一個確認報文,隨后AUV與錨節點之間建立通信并完成數據交換。為了簡化模型,在每個錨節點附近定義一個位點,當AUV移動至該位點時,AUV和錨節點之間能夠進行數據傳輸。假設節點i∈(1,n)對應的位點為wi,AUV的移動路徑可以看做是一條折線,折點為節點的位點wi。AUV在兩位點之間的運動簡化為勻速直線運動,穿越一個錨節點的通信范圍所消耗的時間Tv=2r/v,其中r表示錨節點的通信范圍,v表示移動節點的運動速度。AUV達到一個位點后,可以自由選擇下一個要訪問的位點。
整個網絡可以看作是僅含一個Agent的Q-Learning系統,系統狀態是離散的且和AUV要訪問的位置相關。當AUV節點在時間t達到節點j時,系統狀態可以定義為st=j,j=1,2,……n。可以得到系統的狀態空間S={1,2,3…,n}。
動作集合定義為AUV節點訪問某個錨節點的過程。通過在時間t執行動作at,AUV運動至節點i,同時系統狀態轉移到i。完成對應服務后,AUV需要決定下一個動作(即運動至哪個位點)。最優動作的選擇取決于對當前狀態下所有動作質量的估計。系統狀態下的動作集可表示為Ai={1,…,i-1,i+1,…,n}。
協議的目標是減少數據包傳輸延遲,在回報函數的設計上,主要考慮AUV的移動距離、錨節點的消息隊列長度和AUV的等待時間。設當前系統的狀態st=i,要執行的動作為at=j,則回報函數rij可以表示為式(2):
ri,j=dij+uij+qij
(2)
其中Dij表示距離因子,uij表示等待時間因子,qij為目標錨節點消息隊列長度因子。下面對回報函數的三個組成因子分別進行分析。
(1)AUV移動距離
dij用來度量AUV移動距離對系統的回報,距離越大,消耗時間越多,錨節點數據傳輸延遲越大。歸一化后,dij可表示為式(3),可以看出移動距離越小,系統回報獎勵越大。
(3)
(2)AUV等待時間
為了節約能量,錨節點通常有兩種狀態:工作態和睡眠態。只有當AUV運動至對應錨節點通信范圍內,且錨節點處于工作態時,AUV和錨節點間才能建立數據服務。如果AUV到達目標位點時,無法與錨節點建立聯系,則進行等待。假設錨節點j由睡眠態切換到工作態的概率服從參數為λj的泊松分布,Tv和Tw分別表示移動節點的運動時間和等待時間,移動節點與錨節點建立服務的概率為:
pm(j)=1-(ps,j)Tv+Tw
(4)
在運動時間Tv內與錨節點j建立服務的概率為:
pmt(j)=1-e-Tvλj
(5)
移動節點在位點j處的等待時間可表示為:
(6)
對AUV等待時間歸一化,可得等待時間因子uij。如式(7)所示,等待時間越短,對系統的回報越大。
(7)
(3)消息隊列長度
錨節點內消息隊列采用先進先出模型,設gj表示節點j的數據率,tnow為當前時間,trj為移動節點上次與j建立服務的時間,tij表示從位點wi運動至wj的時間,則兩次服務間隔內生成數據包的數量nj可表示為:
nj=gj(tnow-trj+gjtij)
(8)
考慮到最大隊列長度為qmax,則隊列因子qij可用式(9)表示,可以看出消息隊列越短,算法回報越低。
(9)
為了更好地驗證本文提出的基于Q-Learning算法協議的性能,我們將該協議與基于隨機游走模型的協議[8]和基于最短路徑的協議[9]進行了對比。在的區域內均勻且稀疏地生成了20個錨節點,錨節點的最大傳輸距離為50m。每個錨節點按照泊松分布隨機生成數據包,生成速率(包每秒)在0.01—0.05間,所有錨節點最多可緩存500包數據。AUV節點的運動速度范圍為0.5—10m/s,AUV的最大等待時間為5s,AUV與目標錨節點建立服務的概率pm=0.8。錨節點工作態和睡眠態間的切換速度λ∈[0.05,0.07]。Q-Learning算法的折扣系數γ=0.5。
圖2表示的是數據包端到端延遲與AUV運動速度之間的關系。可以看出三種協議的延遲均隨AUV移動速度的增加而降低,這是因為AUV速度增加,消耗在路徑上的時間相對減少,加快了數據包的轉運。Q-Learning算法在AUV速度較低時延遲較大,隨著AUV速度的增加,延遲逐漸降低,主要原因是較低的移動速度導致訓練過程變長。
圖3表示每傳輸一包數據AUV平均移動的距離。可以看出隨著AUV速度的增加,三種協議下平均移動距離都變大,這是因為隨著速度增加,AUV與錨節點建立服務的概率降低,轉運數據包的數量下降。當AUV速度超過6.5m/s時,強化學習過程得到加速,Q-Learning協議的平均移動距離在三種協議中最小,能量效率最高。
圖4對比了三種協議中移動AUV與錨節點成功建立服務的概率。隨著速度增加,AUV在錨節點通信范圍內的停留時間減少,降低了與錨節點建立通信過程的概率。基于Q-Learning算法的協議在三種協議中表現最好,成功建立服務的概率遠超其他兩種協議。圖5給出了三種協議下AUV成功與錨節點建立服務的概率波動情況,可以看出基于Q-Learning算法的協議性能最穩定。

圖2 平均端到端延遲

圖3 AUV節點移動距離

圖4 AUV與錨節點建立服務的概率

圖5 建立服務概率的方差
本文探討了將機器學習以及深度學習技術應用于水聲網絡中的方法,提出了一種基于Q-Learning算法的水聲網絡協議,通過對比仿真驗證了該算法能夠有效地降低端到端延遲和平均能量消耗。