張 陽,任 剛,趙開新,劉小杰,朱命冬
(1.河南工學(xué)院 計算機科學(xué)與技術(shù)學(xué)院,河南 新鄉(xiāng) 453003;2.河南工學(xué)院 數(shù)據(jù)挖掘與智能計算研究所,河南 新鄉(xiāng) 453003)
水聲網(wǎng)絡(luò)由若干分布在被監(jiān)測區(qū)域的水下網(wǎng)絡(luò)節(jié)點組成,在環(huán)境監(jiān)測、資源勘探、災(zāi)難預(yù)警和潛艇探測等民用和軍用領(lǐng)域均具有廣闊的應(yīng)用前景,是進(jìn)行海洋開發(fā)的重要工具[1-4]。
水聲網(wǎng)絡(luò)技術(shù)的發(fā)展面臨著多種挑戰(zhàn)。首先,水聲信道具有時空變化的特點,通信系統(tǒng)的最佳工作參數(shù)無法在部署前確定;其次,水聲信道具有高延遲、低帶寬和復(fù)雜多徑衰落等特點,節(jié)點間實現(xiàn)可靠通信非常困難;最后,水聲網(wǎng)絡(luò)中能量補充困難,提高能量效率非常關(guān)鍵[5]。
機器學(xué)習(xí)方法,尤其是增強學(xué)習(xí)能夠根據(jù)水聲環(huán)境的動態(tài)變化,實時優(yōu)化網(wǎng)絡(luò)參數(shù),實現(xiàn)網(wǎng)絡(luò)的自主優(yōu)化。本文提出了一種基于Q-Learning技術(shù)的水聲網(wǎng)絡(luò)協(xié)議,采用增強學(xué)習(xí)方法,使智能移動節(jié)點能夠根據(jù)水聲信道的時空變化情況和網(wǎng)絡(luò)的實時特性,自適應(yīng)地優(yōu)化移動路徑和服務(wù)時間,提高網(wǎng)絡(luò)的能量效率,降低平均延遲。該方法為人工智能技術(shù)應(yīng)用于水聲網(wǎng)絡(luò)提供了一個較好的借鑒。
由于水聲環(huán)境的時空變化特性,水聲網(wǎng)絡(luò)的最優(yōu)工作參數(shù)無法在部署前確定。近年來水聲網(wǎng)絡(luò)中出現(xiàn)了應(yīng)用增強學(xué)習(xí)算法來實現(xiàn)系統(tǒng)參數(shù)自適應(yīng)更新的協(xié)議。Q-Learning技術(shù)是增強學(xué)習(xí)的主要算法之一,是一種無模型的學(xué)習(xí)方法。該算法將智能體與周圍環(huán)境的交互視為Markov決策過程,即智能體根據(jù)當(dāng)前所處的狀態(tài)和所選擇的動作,決定一個固定的狀態(tài)轉(zhuǎn)移概率分布和下一個狀態(tài),并得到一個即時回報[6-7]。
Q-Learning的目標(biāo)是尋找一個策略,可以最大化未來回報Q。Q可通過以下模型計算:
(1)
步驟1:給定折扣系數(shù)γ和獎勵矩陣R。
步驟2:令Q=0。
步驟3:對每輪決策,隨機選擇一個初始狀態(tài)s,若未達(dá)到目標(biāo)狀態(tài),則執(zhí)行:(1)在當(dāng)前狀態(tài)s的所有可能行動集合中選取一個動作a;(2)利用選定的動作a,得到下一個狀態(tài)s;(3)按照公式(1)計算Q(s,a)。
本節(jié)定義了一種典型的水聲數(shù)據(jù)采集網(wǎng)絡(luò),用以驗證所提出的網(wǎng)絡(luò)協(xié)議。如圖1所示,網(wǎng)絡(luò)由n個靜態(tài)錨節(jié)點和一個AUV(Autonomous Underwater Vehicle)節(jié)點組成。靜態(tài)錨節(jié)點通過連接到海底的線纜保證懸浮在水中固定位置,采集海洋環(huán)境數(shù)據(jù);AUV是具有移動能力和相對“無限”能量的水下航行器,能夠在網(wǎng)絡(luò)范圍內(nèi)自主移動,幫助錨節(jié)點完成數(shù)據(jù)交換。為了覆蓋較大的范圍和節(jié)約成本,錨節(jié)點經(jīng)常稀疏布放;同時考慮到能耗,錨節(jié)點的通信能力是受限的,通常無法相互通信,需要移動AUV協(xié)助錨節(jié)點完成數(shù)據(jù)的交換。
圖1 一個典型的水聲網(wǎng)絡(luò)
AUV節(jié)點在網(wǎng)絡(luò)中作為智能Agent,通過Q-Learning算法實時計算出最優(yōu)移動路徑。AUV節(jié)點在移動時,周期性的廣播信標(biāo)信號以發(fā)現(xiàn)處于通信范圍內(nèi)的錨節(jié)點。如果錨節(jié)點收到信標(biāo),則立刻向移動節(jié)點返回一個確認(rèn)報文,隨后AUV與錨節(jié)點之間建立通信并完成數(shù)據(jù)交換。為了簡化模型,在每個錨節(jié)點附近定義一個位點,當(dāng)AUV移動至該位點時,AUV和錨節(jié)點之間能夠進(jìn)行數(shù)據(jù)傳輸。假設(shè)節(jié)點i∈(1,n)對應(yīng)的位點為wi,AUV的移動路徑可以看做是一條折線,折點為節(jié)點的位點wi。AUV在兩位點之間的運動簡化為勻速直線運動,穿越一個錨節(jié)點的通信范圍所消耗的時間Tv=2r/v,其中r表示錨節(jié)點的通信范圍,v表示移動節(jié)點的運動速度。AUV達(dá)到一個位點后,可以自由選擇下一個要訪問的位點。
整個網(wǎng)絡(luò)可以看作是僅含一個Agent的Q-Learning系統(tǒng),系統(tǒng)狀態(tài)是離散的且和AUV要訪問的位置相關(guān)。當(dāng)AUV節(jié)點在時間t達(dá)到節(jié)點j時,系統(tǒng)狀態(tài)可以定義為st=j,j=1,2,……n??梢缘玫较到y(tǒng)的狀態(tài)空間S={1,2,3…,n}。
動作集合定義為AUV節(jié)點訪問某個錨節(jié)點的過程。通過在時間t執(zhí)行動作at,AUV運動至節(jié)點i,同時系統(tǒng)狀態(tài)轉(zhuǎn)移到i。完成對應(yīng)服務(wù)后,AUV需要決定下一個動作(即運動至哪個位點)。最優(yōu)動作的選擇取決于對當(dāng)前狀態(tài)下所有動作質(zhì)量的估計。系統(tǒng)狀態(tài)下的動作集可表示為Ai={1,…,i-1,i+1,…,n}。
協(xié)議的目標(biāo)是減少數(shù)據(jù)包傳輸延遲,在回報函數(shù)的設(shè)計上,主要考慮AUV的移動距離、錨節(jié)點的消息隊列長度和AUV的等待時間。設(shè)當(dāng)前系統(tǒng)的狀態(tài)st=i,要執(zhí)行的動作為at=j,則回報函數(shù)rij可以表示為式(2):
ri,j=dij+uij+qij
(2)
其中Dij表示距離因子,uij表示等待時間因子,qij為目標(biāo)錨節(jié)點消息隊列長度因子。下面對回報函數(shù)的三個組成因子分別進(jìn)行分析。
(1)AUV移動距離
dij用來度量AUV移動距離對系統(tǒng)的回報,距離越大,消耗時間越多,錨節(jié)點數(shù)據(jù)傳輸延遲越大。歸一化后,dij可表示為式(3),可以看出移動距離越小,系統(tǒng)回報獎勵越大。
(3)
(2)AUV等待時間
為了節(jié)約能量,錨節(jié)點通常有兩種狀態(tài):工作態(tài)和睡眠態(tài)。只有當(dāng)AUV運動至對應(yīng)錨節(jié)點通信范圍內(nèi),且錨節(jié)點處于工作態(tài)時,AUV和錨節(jié)點間才能建立數(shù)據(jù)服務(wù)。如果AUV到達(dá)目標(biāo)位點時,無法與錨節(jié)點建立聯(lián)系,則進(jìn)行等待。假設(shè)錨節(jié)點j由睡眠態(tài)切換到工作態(tài)的概率服從參數(shù)為λj的泊松分布,Tv和Tw分別表示移動節(jié)點的運動時間和等待時間,移動節(jié)點與錨節(jié)點建立服務(wù)的概率為:
pm(j)=1-(ps,j)Tv+Tw
(4)
在運動時間Tv內(nèi)與錨節(jié)點j建立服務(wù)的概率為:
pmt(j)=1-e-Tvλj
(5)
移動節(jié)點在位點j處的等待時間可表示為:
(6)
對AUV等待時間歸一化,可得等待時間因子uij。如式(7)所示,等待時間越短,對系統(tǒng)的回報越大。
(7)
(3)消息隊列長度
錨節(jié)點內(nèi)消息隊列采用先進(jìn)先出模型,設(shè)gj表示節(jié)點j的數(shù)據(jù)率,tnow為當(dāng)前時間,trj為移動節(jié)點上次與j建立服務(wù)的時間,tij表示從位點wi運動至wj的時間,則兩次服務(wù)間隔內(nèi)生成數(shù)據(jù)包的數(shù)量nj可表示為:
nj=gj(tnow-trj+gjtij)
(8)
考慮到最大隊列長度為qmax,則隊列因子qij可用式(9)表示,可以看出消息隊列越短,算法回報越低。
(9)
為了更好地驗證本文提出的基于Q-Learning算法協(xié)議的性能,我們將該協(xié)議與基于隨機游走模型的協(xié)議[8]和基于最短路徑的協(xié)議[9]進(jìn)行了對比。在的區(qū)域內(nèi)均勻且稀疏地生成了20個錨節(jié)點,錨節(jié)點的最大傳輸距離為50m。每個錨節(jié)點按照泊松分布隨機生成數(shù)據(jù)包,生成速率(包每秒)在0.01—0.05間,所有錨節(jié)點最多可緩存500包數(shù)據(jù)。AUV節(jié)點的運動速度范圍為0.5—10m/s,AUV的最大等待時間為5s,AUV與目標(biāo)錨節(jié)點建立服務(wù)的概率pm=0.8。錨節(jié)點工作態(tài)和睡眠態(tài)間的切換速度λ∈[0.05,0.07]。Q-Learning算法的折扣系數(shù)γ=0.5。
圖2表示的是數(shù)據(jù)包端到端延遲與AUV運動速度之間的關(guān)系??梢钥闯鋈N協(xié)議的延遲均隨AUV移動速度的增加而降低,這是因為AUV速度增加,消耗在路徑上的時間相對減少,加快了數(shù)據(jù)包的轉(zhuǎn)運。Q-Learning算法在AUV速度較低時延遲較大,隨著AUV速度的增加,延遲逐漸降低,主要原因是較低的移動速度導(dǎo)致訓(xùn)練過程變長。
圖3表示每傳輸一包數(shù)據(jù)AUV平均移動的距離。可以看出隨著AUV速度的增加,三種協(xié)議下平均移動距離都變大,這是因為隨著速度增加,AUV與錨節(jié)點建立服務(wù)的概率降低,轉(zhuǎn)運數(shù)據(jù)包的數(shù)量下降。當(dāng)AUV速度超過6.5m/s時,強化學(xué)習(xí)過程得到加速,Q-Learning協(xié)議的平均移動距離在三種協(xié)議中最小,能量效率最高。
圖4對比了三種協(xié)議中移動AUV與錨節(jié)點成功建立服務(wù)的概率。隨著速度增加,AUV在錨節(jié)點通信范圍內(nèi)的停留時間減少,降低了與錨節(jié)點建立通信過程的概率?;赒-Learning算法的協(xié)議在三種協(xié)議中表現(xiàn)最好,成功建立服務(wù)的概率遠(yuǎn)超其他兩種協(xié)議。圖5給出了三種協(xié)議下AUV成功與錨節(jié)點建立服務(wù)的概率波動情況,可以看出基于Q-Learning算法的協(xié)議性能最穩(wěn)定。
圖2 平均端到端延遲
圖3 AUV節(jié)點移動距離
圖4 AUV與錨節(jié)點建立服務(wù)的概率
圖5 建立服務(wù)概率的方差
本文探討了將機器學(xué)習(xí)以及深度學(xué)習(xí)技術(shù)應(yīng)用于水聲網(wǎng)絡(luò)中的方法,提出了一種基于Q-Learning算法的水聲網(wǎng)絡(luò)協(xié)議,通過對比仿真驗證了該算法能夠有效地降低端到端延遲和平均能量消耗。