吳宗卓
(陜西國防工業職業技術學院,計算機與軟件學院, 陜西,西安 710300)
邊緣計算是處理從物聯網(IoT)收集大量數據的有效解決方案[1]。物聯網中傳統的數據集規模較小,非優化的數據收集方案不太可能影響邊緣計算的性能[2]。然而,近年來物聯網中的數據流特性發生了變化。首先,物聯網中的數據越來越大。其次,數據不僅來自于同質的靜態物聯網設備,還來自于異質的動態物聯網設備[3]。為了在邊緣服務器上高效地處理這些數據,需要在物聯網中進行有效的數據收集,因為非優化的數據收集解決方案可能會導致并行計算的性能瓶頸[4]。在這項工作中,主要關注這些場景中的負載平衡問題[5-6]。
針對該問題,目前已經分別提出了多種解決方案[6-7]。然而它們都面臨2個挑戰:物聯網和并行計算的需求是不同的[8-9];數據采集解決方案不僅要考慮網絡的拓撲結構,還要考慮網絡中的動態對象[10]。
本文為物聯網網絡集群提出了一種基于深度強化學習(DRL)的解決方案,主要是基于一個深度Q學習網絡模型(DQN)。 在每個集群中,將從集群成員IoT設備產生的數據收集到集群中的邊緣服務器。
系統模型包括物聯網和邊緣計算服務器,如圖1所示。物聯網由同質設備組成。假設物聯網設備在區域內隨機部署,每個物聯網設備都有到邊緣服務器的多跳通信路由。每個物聯網設備周期性地產生數據,并通過多跳通信將消息傳輸到邊緣服務器。部署多臺邊緣服務器,對物聯網采集的數據進行并行計算。為了將數據從物聯網設備收集到多個邊緣服務器,網絡被劃分為多個集群,每個邊緣服務器駐留在一個集群中。每個邊緣服務器負責從集群的物聯網設備收集數據。
假設每個物聯網設備定期向其集群的邊緣服務器發送固定大小的報告數據。物體在物聯網區域內移動,觸發相鄰物聯網設備產生較大尺寸的傳感數據。例如,物體可能是一個人在移動。連接到每個IOT設備的傳感器檢測人的接近程度。一旦一個人出現在物聯網設備的檢測范圍內,物聯網設備捕獲該人的圖像并將圖像數據發送到其集群的邊緣服務器[10]。

圖1 物聯網和并行邊緣服務器的系統模型
網絡聚類取決于移動對象在物聯網中的位置和數據采集要求。圖2給出了一個例子,當對象從左圖中的位置移動到右圖中時,集群分區將更改以保持邊緣服務器中收集的數據的平衡。為了保證采集到的數據在2個邊緣服務器上的大小是平衡的,網絡聚類模式必須改變以適應對象在區域內的移動。本文利用DRL方法在具有動態對象的物聯網中尋找最優的網絡聚類。

(a)

(b)圖2 動態對象觸發相鄰物聯網設備生成數據
本文采用深度Q學習網絡(DQN)作為動態網絡聚類的DRL模型。假設執行DQN模型的代理駐留在邊緣服務器中,并且計算DQN模型所需的所有信息都已收集到代理。
假設一組邊緣服務器P={p1,…,pi,…,pn}以整數i∈[1,n]駐留在網絡中。在邊緣服務器pi處設置集群核心oi。為了在初始化時將物聯網劃分成集群,首先選擇離集群核心oi,并將最近的物聯網節點作為簇頭hi。在此基礎上,將網絡劃分為C={c1,…,ci,…,cn}簇,其中i∈[1,n]基于簇頭。為了簡化實現,將網絡劃分為Voronoi集群。初始化之后,每個邊緣服務器都駐留在一個集群中。
為了控制集群的分區,移動集群的核心。動作狀態空間A是所有簇核的運動。在實現中,每個集群核心有5個移動動作:向上、向下、向左、向右、保持。在每個時間步,DQN模型選擇并對集群核心執行移動動作。移動后,網絡重新選擇離集群核心最近的物聯網節點作為簇頭,并根據新的簇頭將網絡重新劃分為多個簇。移動集群核心和分區集群的示例如圖3所示。

圖3 基于集群核心的移動,將物聯網網絡劃分為機群
行動的回報是滿足物聯網和邊緣計算方面的要求。定義了網絡集群應該滿足的2個要求如下。
(1) 邊緣服務器。將收集到的邊緣服務器pi的數據大小命名為di,并記D={d1,…,di,…,dn},其中i∈[1,n]。為了最大限度地提高邊緣服務器的并行計算速度,在邊緣服務器中應該收集所收集的數據集的大小。使用在[0,1]中歸一化的D的平均絕對偏差值,以量化負載平衡需求。因此,有
(2) IoT網絡。將集群ci中的所有數據傳輸到邊緣服務器pi的通信跳總數命名為bi。B={b1,…,bi,…,bn},其中i∈[1,n]。由于假設了物聯網使用多跳通信,更多的通信跳意味著需要更高的通信時間來收集相同數量的數據。為了保持在同一級別上收集每個集群數據的速度,應該平衡傳輸每個集群中所有數據的通信跳數。使用[0,1]中標準化的B的平均絕對偏差值來量化物聯網的需求。因此有
將這兩個指標結合起來作為DQN模型的獎勵。在時間t上的回報函數表示為rt=W×H。DQN模型的目標是找到一個最大化預期累積折扣回報Rt的策略,其中β∈[0,1]是回報rt的折扣因子,k是t的時間步長數,IEττ表示最大化預期[12]。
(1)
將命名為狀態空間S中時間t處的DQN模型的輸入狀態數據,該狀態空間是一個數組值,由:網絡的鄰接矩陣;每個節點的集群ID;每個節點中生成的數據的大小連接。策略圖是從狀態空間S到動作空間A的映射,目的是找到最大化Rt的最優策略。Q值Q(st,at)被定義為使用策略π在狀態st中執行操作at時的回報Rt。使用Q值來度量給定狀態下某個動作的質量。本文的DQN模型使用一個完全連接的DNN和權重集θ來近似Q函數。在采取行動后,代理接收回報rt,物聯網移動到新的狀態st+1。選擇將Q值最大化為狀態st中的一個的動作。
(2)
帶Q值的改進策略基于以下更新方程,其中Q′是改進策略,α∈[0,1]是學習率。

(3)
DQN模型在每次迭代時更新其DNN,以最小化損失函數L。
(4)
在式(3)、式(4)中,β為回報因子,rt為回報。
整個深度Q學習的具體算法描述如算法1所示:

算法1 深度Q學習算法將回放記憶單元D的容量初始化為N;用隨機權重對動作值函數Q進行初始化;用隨機權重θ-=θ對目標動作值函數Q函數進行初始化For episode = 1, M do Initialize sequence s1={x1} and preprocessed sequence ?1=?1(s1) For t=1, T do With probability select a random action at otherwise select at=argmaxa∈A Q(?(st),a) Execute action at in emulator and observe reward rt=W×H and image xt+1 Set st+1=st,at,xt+1 and preprocess ?t+1=?(st+1) Store transition (?t,at,rt,?t+1) in D Sample random minibatch of transitions (?t,at,rt,?t+1) from D If episode terminates at step j+1 then Set yj=rj Else rj+γmaxa'∈A Q^(?j+1,a') End if Perform a gradient descent step on (yj-Q(?j,aj))2 with respect to network θ Every C step reset Q^=Q End forEnd for
實驗評估了模擬物聯網中DQN模型的性能。網絡部署在150 m×150 m的正方形區域內,節點隨機分布在該區域內。作為一個初步的實驗,分別在2個簇的40個節點、3個簇的60個節點和4個簇的80個節點中測試了該模型。對于簇數為2、3、4時,節點的數據傳輸范圍分別為40 m,35 m,30 m。目標的探測范圍是傳輸范圍的2倍。本文在物聯網區域設置了一個動態對象。目標速度為1 m/s,在隨機簇頭位置初始化。隨機選擇另一個簇頭作為目標的運動方向。對象向該方向移動,直到它位于部署區域之外。之后,物體會向相反的方向移動。假設每個節點每10 s產生一條1 Kb的消息。如果對象在某個節點的檢測范圍內,則該節點將生成10 Kb的消息。物聯網節點間的通信速度為1 Kb/s,為了簡化仿真,在此忽略了無線通信中的干擾。DQN模型每10 s處理一次。每輪訓練持續500 s。DQN模型的參數值如表1所示。

表1 DQN模型的參數
本文使用一個沒有DQN模型的靜態集群劃分算法進行比較。在比較方案中,每個邊緣服務器被設置為一個簇頭,網絡被劃分為Voronoi集群。比較了DQN解決方案和Voronoi聚類解決方案之間的平均回報分數。
2、3和4個簇的實驗結果分別顯示在圖4中表示,其中圖4(a)為3個方案的2個簇的實驗結果,圖4(b)為3個簇的實驗結果,圖4(c)為4個簇的實驗結果。

(a) 2個簇

(b) 3個簇

(c) 4個簇圖4 基于DQN模型和基準聚類解決方案的集群數據采集信用
DQN模型的結果用窗口大小為11的移動平均值表示,結果趨勢用4次多項式曲線擬合表示。在這3個實驗中,DQN方法與基準結果相比有顯著的改進。收斂后,在2、3、4個簇中的改進率分別為56%、47%和32%左右。隨著集群數目的增加,改進程度降低。主要原因是只選擇一個集群核心在一個時間步內移動。如果所有的集群核心都在一個時
間步內執行操作,那么找到回報更高的集群分區的機會就會增加。
本文提出了一種基于邊緣服務器的物聯網動態網絡集群的DRL解決方案。其目的是通過優化數據采集的聚類來滿足物聯網和邊緣計算的需求。初步實驗表明,與靜態基準解相比,所提出的DQN模型能獲得更好的結果。在這種情況下,說明將DRL技術應用于物聯網和邊緣計算是可行的。此外,本文為當前的網絡集群解決方案提供了一種新的方案。
但目前仍有許多不足,所以在未來的工作中,將改進DRL模型中的多個點。
(1)目前在實現中只使用一個具有直接移動模式的對象。這種運動模式不能代表物聯網系統中真實的動態對象。未來將評估強化學習模型是否能夠處理以更真實模式移動的多個對象,例如隨機行走。
(2)為了簡化DQN模型,目前在每個集群中設置一個集群核心。在下一步工作中,將在一個集群中設置多個集群核心。這將為控制集群形狀提供更小的粒度。
(3)本文假設物聯網是靜態的,只有物體在周圍移動。目前還不清楚強化學習解決方案是否能夠應對每個節點隨機移動的物聯網。