周永濤,劉 唐,彭 艦
(1.四川大學 計算機學院, 成都 610065; 2.四川師范大學 計算機科學學院, 成都 610101)
得益于無人機(unmanned aerial vehicle,UAV)的一些優點,例如很高的機動性、可按需部署、成本較低等,可以將其作為空中基站[1](base station,BS)與地面用戶建立無線連接以提供通信服務,增強網絡的覆蓋范圍以及數據傳輸性能。空中基站被部署在一定高度的空中,相較于傳統地面基站能夠有更大的機會與地面用戶建立視距鏈路連接(line-of-sight,LoS)。空戰基站有很多實際應用場景,例如在地面基站受損的災害環境中提供穩定可靠的無線通信服務,以及在傳統地面網絡出現擁塞時作為輔助通信基站。
近年來,無人機作為空中基站提供無線通信服務受到了較為廣泛的關注[2-9]。在關于基站無人機的研究中,有較多工作致力于尋找基站無人機的部署位置[4-6]。Zhang等[4]以最大化用戶體驗質量(quality of experience,QoE)為目標尋找無人機的最佳部署位置;Zhang等[5]通過設計基站無人機的三維部署位置來增強目標信號強度和減少信道干擾;Valiulahi等[6]在存在同頻道干擾的情況下,以最大化所有地面用戶可實現的最小系統吞吐量為目標計算基站無人機最佳的三維部署位置。這類研究將無人機作為靜態空中基站,忽視了無人機的高機動和可控制特性。另外,有部分研究關注于計算無人機的飛行路徑[7-9],通過規劃無人機的飛行路徑最大化下行通信中所有地面用戶的最小吞吐量[7]、最大化無人機飛行期間的整體平均總傳輸速率[8]、實現對目標區域較高的通信覆蓋率[9]。這類研究在設計無人機飛行路徑時沒有考慮地面用戶位置可能發生變化。
上述對于基站無人機部署問題和飛行路徑規劃問題的研究很少考慮到地面用戶的移動。然而在現實應用場景中,地面用戶的活動往往呈現動態性和隨機性[10-11]。地面用戶持續移動且基站無人機的通信范圍有限,可能降低地面移動用戶與基站無人機間的無線通信速率,從而造成網絡性能的損失[12]。故在部署基站無人機的無線通信網絡中考慮地面用戶的移動是必要的。
得益于無人機的機動性和可控制特性,可以通過動態調整無人機的飛行距離和飛行方向角(即規劃無人機的飛行路徑)實時追蹤地面移動用戶,提高用戶與基站無人機間的無線通信速率,增強無人機網絡性能。在考慮地面用戶移動的無人機網絡中,規劃基站無人機飛行路徑的挑戰主要有兩點:一是無人機的飛行距離和飛行方向角都是連續變量[13],在連續空間內尋找最優的飛行動作比較困難;二是在實時追蹤持續移動的地面用戶時,很難保持優化算法的較高性能[14]。

本文提出一種基于DRL的基站無人機路徑規劃算法(DDPG-TD)來應對地面用戶移動的無人機網絡,以避免由于用戶移動造成的無人機網絡性能損失。將基站無人機提供通信服務的任務周期劃分為多個時間間隔相同的時隙,算法以最大化任務周期內無人機網絡總吞吐量(所有時隙內的網絡吞吐量之和)為目標,在連續動作空間中計算出每個時隙內無人機的飛行動作,完成對無人機飛行路徑的規劃。算法中的DRL模型經過訓練后能夠針對變化的地面用戶位置做出相應的飛行策略調整。為驗證本文提出的算法在規劃基站無人機飛行路徑時的有效性,將DDPG-TD算法與3種較為常用的算法進行比較。仿真結果表明,DDPG-TD算法中的無人機網絡吞吐量明顯高于3種對比算法。此外,本文還對DRL中的神經網絡結構設計和超參設定進行了實驗對比,以挑選合適的神經網絡結構和超參設定。
在一個部署基站無人機的無線通信網絡中,有多個基站無人機為多個地面用戶提供無線通信服務,地面用戶的位置可能持續變化,如圖1所示。

圖1 地面用戶移動的無人機網絡示意圖
基站無人機的數量為K,地面用戶的數量為N。所有基站無人機可以通過通信衛星與外部網絡建立通信連接。由于地面用戶的位置隨著時間的推移發生改變,可能導致固定位置部署的基站無人機與地面用戶間的無線通信速率下降。因此需要規劃無人機的飛行路徑實時追蹤地面移動用戶,提高用戶與基站無人機間的無線通信速率。假定一個基站無人機為地面用戶提供網絡通信服務的任務,該任務時長為T個時隙,每個時隙的時間間隔均相同。在任務初始時刻,每個基站無人機在隨機位置起飛,并以固定高度H飛行,隨后使用本文提出的路徑規劃算法不斷調整自己的飛行軌跡,使T個時隙的任務周期內無人機網絡中總吞吐量最大化。每個用戶在一個時隙內僅可以與一架基站無人機建立通信連接,無人機在同時服務多個地面用戶時使用的是頻分多址(frequency division multiple access,FDMA)技術。

給定時隙t基站無人機k的飛行方向角和飛行距離,基站無人機k在時隙t內終點位置的三維坐標可以表示為:

(1)

地面用戶的活動具有動態性和隨機性,目前有較多研究對地面用戶的活動進行預測建模,文獻[16]對這些地面用戶運動模型做了比較全面的調查。其中一種比較常見的模型是隨機游走模型(random walk model,RWM)。RWM中,地面用戶的移動方向由均勻分布在[0,2π]之間的角度決定,且用戶被分配一個隨機速度,這個速度的范圍是[0,vmax],vmax表示一個普通行人的最大行走速度。
指定地面用戶n的移動方向角和速度為(σn,vn),在時隙t的時間間隔充分小,且地面用戶的移動速度v較小的前提下,用戶n在時隙t內的二維坐標表示為:

(2)


(3)
1.4.1通信覆蓋表示


(4)

1.4.2信道速率計算
地面用戶與基站無人機之間的通信連接可以看作是空對地通信信道(air-to-ground channels),該信道的路徑損失(path loss)被建模為視距鏈路連接(line-of-sight,LoS)和非視距鏈路連接(none-line-of-sight,NLoS)2個傳播類[17]。用戶n與無人機k之間建立LoS連接的概率計算如下:

(5)
式中: 常量參數α和β取決于環境(如城市環境或鄉村環境等)。φ=sin-1H/d表示用戶n與無人機k之間的仰角,由式(3)可以計算d。平均路徑損失可以表示為:

(6)
式中:fc和c分別表示載波頻率和光速,常量ηLoS和ηNLoS表示自由空間中信號傳播的額外損失。另外,非視距鏈路概率PNLoS=1-PLoS。
本文中無人機同時服務多個地面用戶使用的是FDMA技術。在計算用戶傳輸速率時不考慮用戶傳播信道之間的干擾。根據香農公式,用戶n和無人機k之間的傳輸速率可以表示為:
Rn,k=Wn,klog2(1+10SNRn,k/10)
(7)
式中:Rn,k的單位是bit/s,Wn,k表示通信信道帶寬,SNRn,k是信噪比,計算如下:
SNRn,k=pn,kLn,k/Ngw
(8)
式中:pn,k表示無人機k到用戶n的傳輸功率,Ngw是加性高斯白噪聲(additive white gaussian noise),Ln,k可由式(6)計算。
為了提高用戶與基站無人機間的無線通信速率,增強無人機網絡性能,目標是最大化任務周期內無人機網絡的總吞吐量Csum:

(9)
由于無人機的飛行動作空間是連續的,且地面用戶活動呈現動態性和隨機性,這就導致解決最大化Csum問題是具有挑戰性的[18]。基于傳統搜索式算法會帶來比較高的計算復雜度。為了解決該問題,本文提出DDPG-TD算法來計算基站無人機的飛行路徑。
強化學習是和監督學習、非監督學習并列的第3種機器學習方法,其更側重于以交互目標為導向進行學習,近年來強化學習在一些游戲應用中表現出不錯的性能。強化學習中,智能體與系統環境不斷進行交互,以實現目標收益最大化為目標,學習環境中不同狀態對應的正確動作。結合了深度學習的強化學習解決了傳統強化學習中狀態空間和動作空間無限帶來的“維度災難”問題,它利用神經網絡幫助智能體在與環境的交互中不斷學習理想動作,可以應對更復雜的狀態空間和時變環境。
在標準的強化學習中,智能體在離散的時間點(Epoch)與系統環境進行交互。如圖2所示,在每一個時間點t,智能體觀察此時的環境狀態st,選擇執行動作at后得到相應的獎勵rt。強化學習旨在找到每個狀態下對應的動作,即策略π(s),該策略能夠最大化總的折扣獎勵R:

圖2 強化學習中的智能體與環境交互示意圖

(10)
式中,r(·)是獎勵函數(reward function),折扣因子γ∈[0,1]。
標準的強化學習需要記錄每個狀態下的動作價值分布,當環境狀態集合復雜甚至狀態空間連續時,很難實現記錄每個狀態下的所有動作價值。為了處理復雜的狀態空間,DRL使用深度神經網絡(deep neural networks,DNN)構成一個近似函數Q(·):
Q(st,at)=E[Rt|st,at]
(11)

(12)
式中:Q(·)近似估計動作at在狀態st下的累積期望折扣獎勵。DRL中比較常用的尋找策略π(s)的方法是貪心算法:
π(st)=argmaxatQ(st,at)
(13)
DRL中稱該網絡為深度Q神經網絡(deep Q network,DQN)。最小化均方差損失函數L(θQ)訓練DQN:
L(θQ)=E[yt-Q(st,at|θQ)]
(14)
式中:θQ是DQN的權重向量,yt是目標價值,可以通過以下表達式計算:
yt=r(st,at)+γQ′[st+1,π′(st+1|θπ′)|θQ′]
(15)
深度強化學習一般利用經驗回放和目標網絡技術協助訓練神經網絡[15]。經驗回放池用于保存智能體和環境交互得到的獎勵值和狀態更新。訓練階段,在經驗回放池中按一定規則采樣若干數據來更新神經網絡。經驗回放能夠解除用來訓練網絡的序列數據之間的相關性,能夠避免難收斂問題,同時訓練過程也更加平滑。DRL使用目標網絡估計目標價值yt,雙網絡方式能夠消除DQN過度估計的問題。目標網絡和原始DQN網絡具有相同的結構,但是目標網絡的參數更新要比原始網絡慢。

▽θπJ=E[▽atQ(s,a|θQ)|s=st,a=π(s|θπ)·
▽θππ(s|θπ)|s=st]
(16)
本文提出一種基于DRL的基站無人機路徑規劃算法。在該算法中,DRL智能體周期性地收集地面環境數據(地面用戶的位置),根據地面環境計算出每個時隙最優的飛行動作,并通過指令將動作信息發送給正在提供無線通信服務的基站無人機,無人機收到指令做出相應的調整。基于DRL算法的設計思想,定義的狀態、動作和獎勵值等如下:
1) 狀態st:在任務周期內的每個時隙,定義的狀態st包含以下3個方面:

②pgn:當前時隙地面用戶n的位置坐標;
③puk:當前時隙基站無人機k的位置坐標。

2) 動作at:定義基站無人機在每個時隙的飛行動作包含2個方面:



3) 獎勵值rt:在時隙t采取了動作at后得到的獎勵值定義為:
(17)

4) 懲罰值penalty:每個時隙無人機執行動作at后,如果存在無人機飛出地面邊界或者無人機之間發生碰撞,將會在該時隙獲得的獎勵值上減去懲罰值,這樣能夠有效避免無人機飛出地面邊界以及無人機之間發生碰撞。
如圖3所示,DDPG-TD算法由一個智能體和無人機網絡環境組成,智能體中有4個神經網絡和一個經驗回放池。算法中的4個神經網絡,分別是評論者網絡Q(st,at|θQ)和執行者網絡π(st|θπ),以及評論者目標網絡Q′(st,at|θQ′)和執行者目標網絡π′(st|θπ′)。目標網絡和原網絡具有相同的結構,算法使用目標網絡解決網絡訓練過程中的過度估計問題。網絡更新的數據由智能體和無人機網絡環境交互產生。在智能體與無人機網絡環境交互階段,執行者網絡根據當前時隙環境的狀態st計算出對應的動作at,智能體執行該動作并觀察得到環境狀態的轉變st+1以及對應的獎勵值rt,并將得到的數據(st,at,rt,st+1)存入經驗回放池。經驗回放池B的容量大小設置為S,并設置一個累積經驗閾值Bth,當B中存放的數據量未達到Bth時,無人機動作at的選擇是隨機的;當B中累積經驗數據達到Bth后,對π(st|θπ)加噪聲后得到無人機動作at,本文采用正態分布隨機變量噪聲。

圖3 DDPG-TD算法框圖
在神經網絡更新階段,先從經驗回放池B中隨機采樣大小為Bs的小批量數據,對這些數據進行歸一化處理后,通過最小化式(10)的損失函數L(θQ)來更新評論者網絡參數θQ,并通過計算式(12)的梯度▽θπJ來更新執行者網絡參數θπ。目標網絡和原始網絡具有相同的結構,目標網絡的更新速度慢于原始網絡,更新速度由學習率控制。
在仿真實驗中,設置一個大小為的1 000 m×1 000 m的矩形目標區域,地面用戶的數量為20,網絡中部署2架基站無人機。相關參數[3,14]見表1。實驗使用TensorFlow 2.0和Python 3.7,仿真設備為一臺搭載28核2.4 GHz的Intel Xeno E5處理器和一張24 GB顯存3090顯卡的計算機。網絡一共訓練1 000幕(Episode),每一幕包含200個時隙(200 s)。執行者網絡結構為兩層全連接神經網絡,第一個隱藏層包含600個神經元,第二個隱藏層包含500個神經元,使用ReLU函數作為激活函數。執行者網絡輸出層使用Sigmoid函數作為激活函數,防止輸出的動作值超過算法設計的邊界值。評論者網絡也是兩層全連接神經網絡,第一層第二層分別包含600和500個神經元,使用ReLU函數作為激活函數。執行者和評論者網絡中均使用L2權重衰減來防止過擬合。執行者網絡和評論者網絡結構見圖4。通過大量的實驗比較,找到神經網絡中性能表現良好的超參。設置采樣批量為512,折扣因子為0.9,執行者網絡學習率為0.000 3。

表1 仿真參數

圖4 執行者網絡和評論者網絡結構示意圖
使用以下指標來對DDPG-TD算法做性能評估:
1) 網絡吞吐量TPt:表示當前時隙所有地面用戶無線傳輸速率之和,由式(7)計算傳輸速率。
(18)
將DDPG-TD算法與3種常見算法進行對比:

2) DMC(distributed motion control)[3]:該算法將地面用戶區域對無人機的吸引看作為一個虛擬的力,通過對無人機受到的力進行受力分析,結合牛頓第二定律計算出無人機的飛行方向和飛行速度。
3) DDQN[19]:該算法也是強化學習算法。與DDPG-TD算法不同,該算法僅能夠在離散的動作空間中選擇價值最大的飛行動作。在DDQN算法實驗中,將無人機的飛行動作劃分成離散的值,例如飛行方向劃分為東、南、西、北4個方向,飛行距離劃分成小于等于dmax的多個值。
圖5展示了在DDPG-TD算法規劃的基站無人機飛行路徑下,無人機與地面用戶的位置分布,圖5(a)展示的是任務初始時刻2架無人機和20位地面用戶的位置分布,圖5(b)展示的是無人機執行任務100 s后,圖5(c)展示的是無人機執行任務200 s后。在仿真實驗中,20位地面移動用戶分為2個簇,每個簇中各10位用戶。2架無人機的初始位置分別設置為(450,200)和(550,200)。從1.4.2小節計算無線傳輸速率的過程可以看出,無人機與地面用戶的距離越近則地面用戶能夠獲得的無線傳輸速率越高。仿真實驗中,圖5展示無人機會逐漸飛向用戶簇,以縮短移動與地面用戶的距離,為用戶提供較高傳輸速率的無線通信服務。圖5中展示的地面用戶是以簇的形式向固定方向移動,這樣設定的目的是更清楚地展示無人機實時追蹤用戶的過程。在本文提出的DDPG-TD算法中,環境狀態的設定包含了全部地面用戶的位置以及無人機的位置。算法根據環境狀態決定無人機飛行動作,故無論用戶如何移動,在獲得地面用戶位置和無人機位置后,算法均能夠規劃無人機飛行路徑。

圖5 無人機與地面用戶位置分布示意圖
圖6展示了本文提出的DDPG-TD算法與3種常見算法在每個時隙網絡吞吐量上的對比結果。DDPG-TD、DDQN以及DMC 3種算法的網絡吞吐量都有一個明顯上升并趨于穩定的過程,而Random算法的網絡吞吐量僅在一定區間內波動。這是因為前3種算法實現了無人機對地面移動用戶的動態追蹤,而Random算法中無人機每個時刻的飛行動作都是隨機確定的。在無人機速度快于地面用戶移動速度的前提下,DDPG-TD、DDQN以及DMC 3種算法通過規劃無人機飛行路徑不斷縮小無人機與地面移動用戶的距離,以提高無人機與地面用戶之間的無線傳輸速率。在第10個時隙,DDPG-TD算法實現了每個時隙網絡吞吐量最大化;在第13個時隙,DDQN算法也實現了網絡吞吐量最大化;在第21個時隙,DMC算法基本實現了網絡吞吐量最大化。在DDPG-TD、DDQN以及DMC 3種算法的網絡吞吐量趨于穩定后,前2種強化學習算法相較于DMC算法更加穩定,DDQN在短暫波動后網絡吞吐量基本穩定。這是因為2種強化學習算法根據所有地面用戶的實時位置以及無人機的位置,以最大化吞吐量為目標規劃無人機的飛行路徑,在一段時間后算法尋找到了無人機與地面用戶間最佳相對位置,故能夠保持網絡吞吐量穩定。而DMC算法將地面用戶區域對無人機的吸引看作為一個虛擬的力。文獻[3]給出該力的計算與無人機和用戶間的距離有關,這種計算方法不能精確反應無人機與用戶的位置對網絡吞吐量的影響,故DMC算法的網絡吞吐量在趨于穩定后存在波動的情況。可以看出,2種強化學習算法相較于DMC算法有更好的效果呈現。強化學習智能體與環境交互并學習最大化收益的策略,能夠更好地應對地面用戶移動的時變網絡環境。得益于能夠在連續空間中計算無人機的飛行動作,DDPG-TD算法相較于DDQN算法能夠更快實現最大化網絡吞吐量的目標(DDPG-TD算法在連續空間中計算飛行動作,無人機的飛行路徑更加平滑)。在實際實驗中,DDQN算法中的飛行動作離散值越多,神經網絡輸出維度會越大,網絡的結構也會更復雜。

圖6 每時隙網絡吞吐量曲線
圖7是4種算法分別在前5個時隙間隔、前10個時隙間隔以及前15個時隙間隔內的平均網絡吞吐量,是對圖6展示的吞吐量變化的補充。可以看出從前5個時隙到前10個時隙,再到前15個時隙,DDPG-TD、DDQN以及DMC 3種算法的平均吞吐量有明顯的上升趨勢,即3種算法在規劃無人機逐漸飛往用戶簇,縮小與用戶之間的距離,提高無線網絡傳輸速率。DDPG-TD算法可以在連續空間計算無人機的飛行動作,所以能夠更快靠近用戶簇,故能夠保持平均吞吐量一直領先于對比的3種算法。

圖7 平均網絡吞吐量直方圖
圖8展示了超參對神經網絡訓練結果的影響。結構一(Struct1)是兩層全連接神經網絡,每層網絡分別包含500和400個神經元;結構二(Struct2)是兩層全連接神經網絡,每層網絡分別包含600和500個神經元。在3個學習率0.000 2、0.000 3、0.000 4對比下,找到了相對較好的超參設置,即執行者和評論者網絡結構采用結構二,網絡學習率設置為0.000 3。

圖8 不同超參對訓練結果的影響直方圖
圖9展示了深度強化學習模型在訓練過程中獎勵值的變化情況。隨著訓練輪次增加,獎勵值逐漸增大并收斂在非常小的范圍內[20]。獎勵值的變化趨勢代表每訓練輪次(Episode)網絡總吞吐量的變化趨勢。

圖9 訓練過程中的獎勵值曲線
提出了一種基于深度強化學習的基站無人機路徑規劃算法,該算法在地面用戶移動的無人機網絡中規劃多架基站無人機的飛行路徑。仿真結果表明,通過所提算法規劃基站無人機飛行路徑,無人機網絡的吞吐量始終維持在較高水平。提出的算法是一種集中式算法,無人機的飛行動作指令由后端服務設備計算給出,這對后端服務設備和無人機之間的往返通信連接有較高的帶寬要求,在某些特殊情況如災害環境下后端服務設備帶寬可能無法支持與大量無人機進行通信連接。分布式算法較好地解決了上述集中式算法存在的問題。