鄭會(huì)吉,余思聰,邱鑫源,崔翛龍
(武警工程大學(xué) a.信息工程學(xué)院;b.反恐指揮信息工程聯(lián)合實(shí)驗(yàn)室,西安 710086)
近年來,隨著新的計(jì)算和通信技術(shù)快速發(fā)展,增強(qiáng)現(xiàn)實(shí)、無人駕駛以及移動(dòng)醫(yī)療等創(chuàng)新型移動(dòng)應(yīng)用和服務(wù)日益涌現(xiàn)。這些移動(dòng)應(yīng)用對(duì)計(jì)算和存儲(chǔ)資源具有大量需求,從而在云和終端用戶之間產(chǎn)生較大的網(wǎng)絡(luò)流量,給傳輸鏈路造成沉重負(fù)擔(dān),影響服務(wù)傳輸時(shí)延。新興的移動(dòng)邊緣計(jì)算技術(shù)[1]為解決這一問題提供了一種解決方法,其核心思想是將云計(jì)算的強(qiáng)大能力擴(kuò)展至靠近終端用戶一側(cè),以緩解網(wǎng)絡(luò)擁塞和降低服務(wù)時(shí)延。
計(jì)算卸載是移動(dòng)邊緣計(jì)算中的一項(xiàng)關(guān)鍵技術(shù),它能將移動(dòng)應(yīng)用的密集型計(jì)算任務(wù)從終端用戶卸載到合適的邊緣服務(wù)器。一般來說,計(jì)算卸載和資源分配共同構(gòu)成一個(gè)混合整數(shù)非線性規(guī)劃問題,是一種NP-hard問題[2],現(xiàn)有的許多方法都是基于啟發(fā)式或近似算法[3-5],但對(duì)于移動(dòng)邊緣網(wǎng)絡(luò),這些方法都十分依賴先驗(yàn)知識(shí)和精確的模型,當(dāng)環(huán)境發(fā)生變化時(shí),則需要對(duì)應(yīng)地去更新先驗(yàn)知識(shí)和模型。因此,特定的啟發(fā)式或近似算法很難完全適應(yīng)動(dòng)態(tài)的移動(dòng)邊緣環(huán)境。
深度強(qiáng)化學(xué)習(xí)(Deep Reinforcement Learning,DRL)將強(qiáng)化學(xué)習(xí)和深度神經(jīng)網(wǎng)絡(luò)相結(jié)合,通過試錯(cuò)學(xué)習(xí)來解決游戲、機(jī)器人等復(fù)雜問題。深度強(qiáng)化學(xué)習(xí)在各種任務(wù)卸載問題中的應(yīng)用也被越來越多研究者關(guān)注,將終端用戶、無線信道以及邊緣服務(wù)器看作環(huán)境,通過與環(huán)境的交互學(xué)習(xí)卸載策略。此過程通常被建模為一個(gè)馬爾可夫決策過程(Markov Decision Process,MDP),主要元素包括(S,A,R,γ),分別表示環(huán)境的狀態(tài)、智能體執(zhí)行的動(dòng)作、環(huán)境反饋的獎(jiǎng)勵(lì)以及折扣因子。文獻(xiàn)[6-12]提出的算法由于樣本效率比較低,需要進(jìn)行充分的二次訓(xùn)練以更新策略,因此比較耗時(shí)[13]。
元學(xué)習(xí)是以一種系統(tǒng)的、數(shù)據(jù)驅(qū)動(dòng)的方式從先前經(jīng)驗(yàn)中去學(xué)習(xí)。收集描述先前學(xué)習(xí)模型的元數(shù)據(jù),然后從元數(shù)據(jù)中學(xué)習(xí),以提取和傳遞用于指導(dǎo)搜索用在新任務(wù)上的最佳模型的知識(shí)。本文中,元學(xué)習(xí)通過對(duì)不同任務(wù)場(chǎng)景先訓(xùn)練一個(gè)通用元策略,明顯加快新策略的學(xué)習(xí)。同時(shí),結(jié)合強(qiáng)化學(xué)習(xí),元強(qiáng)化學(xué)習(xí)通過借鑒歷史任務(wù),與環(huán)境的少量交互中學(xué)習(xí)新策略?;诖?本文提出一種基于元強(qiáng)化學(xué)習(xí)的自適應(yīng)卸載模型,將卸載過程建模為一個(gè)馬爾可夫決策過程(Markov Decision Process,MDP)。該模型包含兩個(gè)子模型,一個(gè)外部模型利用歷史任務(wù)數(shù)據(jù)訓(xùn)練得到元策略;基于元策略,內(nèi)部模型通過少量梯度更新快速學(xué)習(xí)新策略,適應(yīng)新環(huán)境[14]。
圖1所示為本文的移動(dòng)邊緣場(chǎng)景,由邊緣服務(wù)器和N個(gè)移動(dòng)終端組成,表示為N={1,2,…,N}。每個(gè)移動(dòng)終端在時(shí)間t時(shí)刻需要處理計(jì)算任務(wù),不同任務(wù)權(quán)重值不同。計(jì)算任務(wù)遵循二值卸載策略,即移動(dòng)終端要么在本地執(zhí)行,要么將任務(wù)卸載到邊緣服務(wù)器執(zhí)行。假設(shè)邊緣服務(wù)器的計(jì)算能力遠(yuǎn)大于移動(dòng)終端,定義t時(shí)刻的計(jì)算策略為xt={xn(t)∈{0,1}|n∈N},xn(t)=0表示本地計(jì)算,反之表示卸載計(jì)算。
圖1 移動(dòng)邊緣場(chǎng)景
主要研究移動(dòng)邊緣網(wǎng)絡(luò)中考慮時(shí)變無線信道因素的時(shí)延優(yōu)化問題。計(jì)算任務(wù)表示為一個(gè)列表taskn=[in,on,ζn],分別表示數(shù)據(jù)大小、回傳結(jié)果大小以及完成任務(wù)所需的CPU周期數(shù)。移動(dòng)終端n和邊緣服務(wù)器之間傳輸速率為
(1)
式中:Bn是傳輸信道帶寬;Pn是傳輸功率;ω0是環(huán)境噪聲功率;hn(t)∈ht是對(duì)應(yīng)的信道增益。則移動(dòng)終端n的總通信時(shí)延為
(2)
邊緣服務(wù)器和移動(dòng)終端的CPU周期數(shù)分別為fe和f0,根據(jù)前面的假設(shè),滿足f0?fe。因此,邊緣服務(wù)器的處理時(shí)延為
(3)
同理,移動(dòng)終端本地執(zhí)行的時(shí)延為
(4)
則移動(dòng)終端n的時(shí)延為
(5)
移動(dòng)邊緣網(wǎng)絡(luò)的加權(quán)時(shí)延和為
(6)
式中:wn(t)表示移動(dòng)終端n的權(quán)重。
(7)
MRL利用移動(dòng)終端和邊緣服務(wù)器的計(jì)算資源進(jìn)行訓(xùn)練。訓(xùn)練包括兩個(gè)模型:一個(gè)是針對(duì)具體任務(wù)的內(nèi)部模型;另一個(gè)是針對(duì)元策略的外部模型。內(nèi)部模型在移動(dòng)終端訓(xùn)練(內(nèi)部模型往往只需較少訓(xùn)練步驟和訓(xùn)練數(shù)據(jù),因此假設(shè)移動(dòng)終端能支持訓(xùn)練);外部模型在邊緣服務(wù)器上訓(xùn)練。
MRL的詳細(xì)訓(xùn)練過程如圖2所示,包括4個(gè)步驟:第一步,移動(dòng)終端從邊緣服務(wù)器下載元策略;第二步,移動(dòng)終端基于元策略和本地?cái)?shù)據(jù)訓(xùn)練內(nèi)部模型,以獲得特定任務(wù)策略;第三步,移動(dòng)終端將特定任務(wù)策略的參數(shù)上傳到邊緣服務(wù)器;第四步,邊緣服務(wù)器根據(jù)接收到的參數(shù)訓(xùn)練外部模型,生成新的元策略,并開始新一輪訓(xùn)練。
圖2 MRL訓(xùn)練過程
將計(jì)算卸載過程建模為一個(gè)MDP過程,其基本要素包括:
1)狀態(tài)空間:環(huán)境的狀態(tài)是t時(shí)刻信道增益,則狀態(tài)空間表示為state={ht};
2)動(dòng)作空間:由于采用二值卸載模式,因此動(dòng)作空間表示為action={0,1};
3)獎(jiǎng)勵(lì)函數(shù):若動(dòng)作為最優(yōu)解的動(dòng)作值,獎(jiǎng)勵(lì)為最小優(yōu)化函數(shù)值的相反數(shù),反之為最大優(yōu)化函數(shù)值的相反數(shù)。
MRL采用AC(Actor-Critic)算法,其中包括actor和critic兩個(gè)模塊。actor模塊會(huì)根據(jù)輸入產(chǎn)生卸載動(dòng)作,而critic則會(huì)對(duì)產(chǎn)生的動(dòng)作進(jìn)行評(píng)價(jià)打分,最后輸出打分最高的卸載動(dòng)作。
訓(xùn)練集包含Ω?jìng)€(gè)不同任務(wù)場(chǎng)景I={ψi|i=1,2,…,Ω},一個(gè)任務(wù)場(chǎng)景包含K個(gè)樣本數(shù)據(jù),表示為ψ={(hk,xk)|k∈K}。采用強(qiáng)化學(xué)習(xí)方法對(duì)元策略進(jìn)行訓(xùn)練,算法具體如下:
輸入:樣本數(shù)據(jù)(hi,xi)
1 從邊緣服務(wù)器下載元策略,初始化參數(shù)θi=θ
2 設(shè)定迭代數(shù)M
3 fori∈{1,2,…,M}do:
4 從I中采樣樣本數(shù)據(jù)Ib
5 forψi∈Ibdo:
6 從ψi中采樣樣本數(shù)據(jù)Di
7 輸入無線信道增益hi
8 利用保序量化算法產(chǎn)生φ個(gè)卸載動(dòng)作{xi}
14 end
16 end
(8)
圖3 內(nèi)部模型
式中:fθi是內(nèi)部模型的函數(shù)。最后,通過梯度下降的方法對(duì)模型的參數(shù)進(jìn)行更新,即
(9)
式中:α是一種超參數(shù)。
圖4 外部模型
(10)
式中:β是步長?;诟碌耐獠磕P?將采樣下一批任務(wù)場(chǎng)景訓(xùn)練直至收斂。
本文通過Python編程語言進(jìn)行實(shí)驗(yàn)仿真,實(shí)驗(yàn)運(yùn)行在Intel Core i7-9700H 3.6 GHz CPU,內(nèi)存8 GB的服務(wù)器上,虛擬環(huán)境采用框架Tensorflow-gpu 2.3。假設(shè)所有移動(dòng)終端隨機(jī)分布在指定區(qū)域,服從概率為3×10-4的泊松分布,其計(jì)算所需的計(jì)算周期與輸入大小有關(guān),表示為γn=165 cycle[16]與邊緣服務(wù)器之間的信道功率增益服從路徑損耗模型H[dB]=103.8+20.9lgd[km],d表示移動(dòng)終端與服務(wù)器之間的距離。部分實(shí)驗(yàn)參數(shù)如表1所示。
表1 實(shí)驗(yàn)參數(shù)
圖5給出了MRL在不同參數(shù)下的收斂性能,包括學(xué)習(xí)率、內(nèi)存大小和批量大小。圖5(a)為學(xué)習(xí)率在Adam優(yōu)化器中的影響,從中容易得出,過大的學(xué)習(xí)率(0.1)會(huì)導(dǎo)致算法難以收斂,過小的學(xué)習(xí)率(0.001)收斂速度較慢,所以,在仿真實(shí)驗(yàn)中,將學(xué)習(xí)率設(shè)置為0.01。在圖5(b)中,較小的內(nèi)存(512 B)導(dǎo)致在收斂上較大的波動(dòng),但較大的內(nèi)存(2 048 B )需要更多的訓(xùn)練數(shù)據(jù)收斂至最優(yōu),因此將內(nèi)存大小設(shè)置為1 024 B。如圖5(c)所示,較小的批量(64)并沒有充分利用保存在內(nèi)存中的訓(xùn)練數(shù)據(jù),但較大的批量(512)則會(huì)頻繁采樣舊的數(shù)據(jù)從而降低收斂性能,因此,將批量大小設(shè)置為128。
(a) 學(xué)習(xí)率
在圖6中,橫坐標(biāo)為微調(diào)步數(shù),縱坐標(biāo)為歸一化計(jì)算速率(它是枚舉的最優(yōu)卸載策略和評(píng)估策略之間的比值)。為更好說明MRL的性能,將一般強(qiáng)化學(xué)習(xí)算法RL[13]作為對(duì)比,可以看到,在MRL中,內(nèi)部模型的參數(shù)是從預(yù)訓(xùn)練的外部模型復(fù)制而來,它能在20步微調(diào)內(nèi)適應(yīng)新的任務(wù)場(chǎng)景,并使歸一化計(jì)算速率達(dá)到0.99以上;相反,一般的強(qiáng)化學(xué)習(xí)算法則需要更多的步數(shù)來收斂,這說明了MRL能更快更高效地適應(yīng)新任務(wù)場(chǎng)景。
圖6 MRL算法的性能
圖7給出了3個(gè)不同任務(wù)場(chǎng)景ψ1,ψ2和ψ3下的MRL。一旦任務(wù)場(chǎng)景變換,例如從場(chǎng)景ψ1變到ψ2,借助外部模型快速訓(xùn)練一個(gè)新的內(nèi)部模型。如圖7所示,MRL快速適應(yīng)新的場(chǎng)景,并在100步微調(diào)都能達(dá)到歸一化計(jì)算速率超過0.99。同時(shí),如圖8所示,對(duì)比不同算法下3個(gè)場(chǎng)景的平均時(shí)延可以看出,MRL相比一般的RL、貪婪算法以及深度神經(jīng)網(wǎng)絡(luò)[17](Deep Neural Network,DNN)具有最優(yōu)的性能。
圖7 動(dòng)態(tài)場(chǎng)景下的MRL
圖8 平均時(shí)延對(duì)比
表2 不同算法性能對(duì)比
本文針對(duì)以往深度學(xué)習(xí)算法的不足,提出了一種基于元強(qiáng)化學(xué)習(xí)的自適應(yīng)卸載方法,它能適應(yīng)動(dòng)態(tài)MEC任務(wù)場(chǎng)景。移動(dòng)終端基于元策略和本地?cái)?shù)據(jù)訓(xùn)練內(nèi)部模型,以獲得特定任務(wù)策略,用更少的訓(xùn)練數(shù)據(jù)可以快速訓(xùn)練一個(gè)內(nèi)部模型以適應(yīng)新的任務(wù)。仿真實(shí)驗(yàn)表明,MRL在少量的微調(diào)步數(shù)內(nèi)能達(dá)到0.99以上的準(zhǔn)確率。因此,該算法在未來移動(dòng)邊緣網(wǎng)絡(luò)中的快速部署是可能的。