張 東 劉 林
(91202部隊 葫蘆島 125004)
根據主要運營商以及通信協會發布的報告,5G 將是未來移動網絡的主要平臺,其整合了通信和計算技術,而移動邊緣計算(MEC)作為5G 的主要核心技術之一,有效地解決了未來網絡中的網絡延遲、擁塞以及容錯等問題。在MEC 的機制下,無線網絡側具有計算、存儲以及處理的能力,高效地整合了無線網絡和互聯網技術。其通過無線應用編程接口打開無線網絡與服務服務器之間的信息交互,整合無線網絡與服務,將傳統無線基站升級為智能基站。對于MEC 系統,計算卸載過程中需要無線數據傳輸,因此計算卸載策略的設計應考慮移動設備時變信道質量、任務到達和能量狀態等現有環境動態。
近年來,人們對計算卸載策略的設計進行了大量的研究。在文獻[1]中,Wang等開發了一種基于multipliers 算法的交替方向法,通過優化計算卸載決策、資源分配和內容緩存策略來解決收益最大化問題。在文獻[2]中,Hu等提出了一種考慮協同計算卸載的無線功率轉移輔助MEC 系統中聯合功率和時間分配的兩階段方法。這些工作中的策略主要是基于一次優化,并沒有表現出長期的計算卸載性能。在文獻[3]中,Mao 等使用Lyapunov 優化技術研究了一個支持無線能量采集的移動設備MEC系統的動態計算卸載策略。然而,Lyapunov優化只能構造一個近似最優解。考慮到無線信道在時域內的隨機變化,這些方法不適用于動態系統。為了解決這一系列問題,本文首先提出基于Q-learning的方法,但是隨著用戶數量的增加,可能的動作數量會迅速增加,那么動作值Q的計算和存儲就會變得十分復雜。所以,本文最后采用了深度強化學習的方法,仿真結果表明,該方法可以使系統的延遲成本和能耗之和最小。
1)網絡模型
本文的網絡模型包括若干個基站以及若干終端UE、MEC 服務器被部署在基站上。假設每一個設備都將要完成一個計算任務,并且每個UE 都可以在本地執行任務或者將任務通過無線網絡卸載到MEC 服務器端,每個MEC 服務器的計算能力都是有限的,不能保證為所有的設備提交的計算任務進行服務。
2)任務模型
假設每個任務的每個終端都有一個計算密集型任務,該任務可以被定義為Rn?(Bn,Dn,τn);而且每個任務可以通過本地的CPU執行處理,也可以通過計算卸載到基站的MEC 服務器上執行,其中Bn代表計算任務所需要的輸入數據的大小,包括輸入的元素種類和數量。 Dn是指為了完成計算密集型任務Rn所需要的計算任務的個數,反映了執行該計算任務所需要的計算資源的數量。假設無論是通過本地CPU 或者是卸載任務到MEC 服務器,Dn的值都是一樣的。τn是指該計算任務可以容忍的最大的延時,這也將是求解最優化解時的一個重要的約束條件。所有的這些參數都是和任務類型有著緊密的聯系的,所以在不同種類的任務中其值可能是不一樣的,并且我們也可以根據任務的描述配置信息進行估計這些參數的值。本文假設每個任務都可以被切割為n 個獨立的任務,且每個任務都可以在本地執行也可以卸載到MEC 服務器上執行,本文定義an∈{ }0,1 作為每個任務的執行位置,且最終的決策向量為A={a1,a2,…,an};其中,0代表在本地執行任務,1代表在MEC服務器執行任務。
3)計算模型
(1)本地計算模型
其中zn是指每個CPU 執行任務時的能源消化,一般將其設定為那么本地計算總得消耗就是:其中,代表任務的時延消耗權重和能量消耗權重,且滿足0為了簡便起見,本文假設在一次計算卸載過程中,權重值保持不變。
(2)卸載計算模型
如果UE 選擇通過卸載來執行計算任務,那么整個卸載過程可以分為以下三步。
首先,UE 需要無線接入網上傳足夠的數據到最近的基站,然后基站將數據傳送到MEC 服務器;MEC 指派部分計算資源去代替本地CPU 去執行這些任務;最后,MEC 服務器將計算結果反饋給UE。根據上面的步驟,我們分別計算時延和能源消耗。
第一步的時延就是傳輸時延:

其中,rn代表網絡信道中的上傳速率。
在本文中,我們將MEC 系統的卸載和資源分配作為一個優化問題,本文的目標是將MEC 系統中所有用戶的執行延遲和能源消耗相結合的總成本最小化。在最大可容忍延遲和計算能力的約束下,問題的表達式為

上式中,A =[1,2…n]為卸載決策向量,f =[ f1,f2…fn]為計算資源分配。優化問題的目標是使整個系統的總成本最小化。C1 表示每個UE 選擇通過本地計算或卸載計算來執行其計算任務。C2 表明,無論是通過本地計算執行還是卸載計算,時間開銷都不應超過最大可容忍延遲。C3 確保為UEn分配的計算資源不能超過MEC 服務器的F。C4 保證分配給卸載UEs 的計算資源總和不能超過MEC服務器的F。
該問題可以通過求解卸載決策向量A 和計算資源分配f的最優值來求解。但由于該問題為二元變量,可行集和目標函數不是凸的。此外,隨著用戶數量的增加,該問題的大小可能會迅速增大,因此該問題是NP 難度問題,本文提出了一種求解最優A和f的強化學習方法。
在本節中,首先詳細定義了DRL 代理的具體狀態、行為和獎勵。然后介紹了經典的基于Q-learning 的方法。為了進一步避免維數的限制,本文提出了一種利用DNN 估計Q-learning 動作值函數的DQN方法。
1)強化學習的三個元素
強化學習方法中有三個關鍵要素,即狀態、動作、獎勵,具體到本文的系統模型中。
狀態:系統的狀態由兩部分組成:s=(tc,ac)。我們將tc 定義為整個系統的總成本,ac=Call;ac 是MEC 服務器的可用的計算能力,并可以計算為ac=
動作:在我們的系統中,動作集包含兩個部分。分別是n 個UE 的卸載決策,A={α1,…αn}和資源分配方案f={f1,… fn},所以動作向量可以將二者組合為{α1,…αn,f1,… fn};
獎賞:狀態s 每執行一個可能的動作都會進入下一個狀態,而每個動作都會獲得一個獎賞值R(s,a),一般來說,獎勵函數應該與目標函數相關。因此,我們優化問題的目標是得到最小的花費總和,而RL的目標是得到最大的報酬,因此報酬的值應該與代價和的大小負相關,我們將即時報酬定義為標準化其中tctocal是所有任務通過本地計算的花費總和,tc(s,a) 是當前狀態的實際總成本。
2)Q-learning方法
Q 學習是一種記錄Q 值的經典的RL 算法。每個狀態-動作對都有一個值Q(s,a)。對于每一步,agent 計算并存儲Q(s,a)在Q 表中,該值可視為長期獎勵,則Q(s,a)可以表示為

其中s,a 是當前的狀態和動作,s',a'是下一個動作和狀態,并且我們定義γ 為加權因子,其取值為連續值且滿足0 ≤γ ≤1。值得注意的是,如果值趨于0,這意味著agent 主要考慮的是即時獎勵,如果趨于1,這意味著agent 也非常關注未來的獎勵。對于每一步,Q(s,a)的值是迭代更新的。這樣,就可以得到最優的A和f算法1,展示了Q 學習算法的過程。
算法1 Q-learning方法
初始化Q(s,a)
For 每個階段:
選擇一個隨機狀態s.
For 每一步do
在所有可能的動作中選擇一個執行動作a
執行選擇的動作a,并且觀察獎勵s’

使s s’
Until 到達期望的狀態sterminal
End for
3)DQN方法
雖然Q-learning 可以通過獲得最大的獎勵來解決問題,但并不理想。如果我們使用Q-learning,這意味著對于每個狀態操作組,我們需要計算并將其對應的Q值存儲在一個表中。但在實際問題中,可能的狀態可能超過一萬。如果我們把所有的Q值都存儲在Q表中,矩陣Q(s,a)非常大。然后很難得到足夠的樣本遍歷每個狀態,這會導致算法失敗。因此,我們使用深度神經網絡來估計Q(s,a),這是深度Q 網絡(DQN)的基本思想,而不是為每個狀態動作對計算Q 值。算法2 詳細介紹了DQN 算法。
算法2 具有經驗延遲的DQL
初始化重放內存D的容量N
用隨機權重初始化動作值函數Q
初始化序列s1=x1 及預處理序列?1=?(s1)
For i=1,M do
根據ε選擇隨機動作 at的概率選出at=maxaQ*(?(st),a;θ)
在模擬器中執行動作at并且觀察獎賞值rt和下一狀態鏡像xt+1
設置st+1=st, at,xt+1和?1=?(s1)
在內存中存儲轉換狀態(?t,at,rt,?t+1)
從D中隨機抽取少量轉換樣本(?j,aj,rj,?j+1)
關 于 網 絡 參 數 θ 執 行 梯 度 下 降 步 驟
End for
End for
在本節中,給出了仿真結果來估計所提算法的性能。在模擬中,本文假設一個場景如下:本文考慮使用帶寬W=10MHz 的單個小單元,并在中心位置部署一個帶有MEC服務器的eNB。UE隨機分布在距eNB 200m范圍內。MEC服務器的計算能力為= 5GHz/s,每個UE 的CPU 頻率為= 1GHz/s。UE 的傳輸功率和空閑功率設置為Pn= 500mW,=100mW。本文假設Bn(以KB 為單位)的計算量的大小服從(300,500)之間的均勻分布,Dn(以M為單位)的CPU周期數服從(900,1100)之間的均勻分布。同樣為了簡單起見,每個UE 的決策權重設置為
我們將所提出的算法與其他兩種方法在某些參數上進行了比較。“FULL local”表示所有UE都通過本地計算執行它們的任務。“Full offloading”表示所有的UE 都將它們的任務卸載到MEC 服務器上,整個計算資源F平均分配給每個UE。
我們首先在圖1 中給出了MEC 系統的總開銷隨著UE 數量的變化,其中MEC 服務器的計算能力為F =5GHz/s,且UE 總數不斷增加。從整體上看,隨著UE 的不斷增加,四種方法的總成本自然增加。從圖1中可以看出,所提出的DQN方法可以達到最好的效果,然后Q-learning 也隨之變化,且誤差較小,兩種方法的性能相對穩定。在3 個UE 點上,全卸載曲線略高于DQN 和Q-learning,但UE 越多,全卸載曲線增長得越快。這是因為當UE 的數量變多時,MEC 服務器的容量不足以通過卸載計算來提供所有的UE。一個容量有限的MEC 服務器不應該服務太多的用戶,因此在這種情況下,如何選擇卸載的用戶就顯得尤為重要。

圖1 隨著UE數量變化總消耗的變化

圖2 系統總耗能隨著MEC性能的變化
圖2 為MEC 系統總成本隨著MEC 服務器的計算能力不斷增加的變化情況,其中UEs 的數量為5。從圖2 中可以看出,所提出的DQN 方法可以達到最好的效果,Q-learning 與DQN 的差距較小。在圖2中,完全本地計算曲線并沒有隨著MEC服務器容量的增加而變化,這是因為本地計算沒有使用MEC 服務器的計算資源。其他曲線隨著MEC 服務器計算能力的增加而減小,因為如果每個UE 分配更多的計算資源,執行時間就會縮短。此外,當F >8GHz/s時,全卸載、Q-learning和DQN的總代價下降較慢,且這些卸載方法的性能基本相同。計算結果表明,當MEC 服務器上的計算資源比本地計算資源多得多時,MEC 系統的總成本主要受無線資源等因素的制約。
本文提出了一種基于深度強化學習的方法來完成移動邊緣卸載,可以有效地完成UE 的中計算密集型任務;MEC 機制的完善對于5G 網絡的構建也是有很好的促進作用。通過仿真實驗結果表明,引入深度強化學習對于移動邊緣卸載技術有很好的完善作用。