楊仕成 陳保羅 陳鐵明 黃 亮③
(*浙江工業(yè)大學(xué)信息工程學(xué)院 杭州 310023)
(**浙江工業(yè)大學(xué)計算機科學(xué)與技術(shù)學(xué)院 杭州 310023)
移動互聯(lián)網(wǎng)技術(shù)的快速發(fā)展,推動了越來越多的時延敏感型和資源密集型應(yīng)用和服務(wù)出現(xiàn)。然而,這些移動應(yīng)用對無線設(shè)備的計算和存儲資源需求大幅增加。移動邊緣計算技術(shù)(mobile edge computing,MEC)為無線設(shè)備提供額外的計算資源,為該問題提供了一種很好的解決方案[1]。新興的移動邊緣計算技術(shù)是云計算、大數(shù)據(jù)、人工智能等技術(shù)在物聯(lián)網(wǎng)終端應(yīng)用的重要基礎(chǔ),推進(jìn)“萬物互聯(lián)”到“萬物智聯(lián)”。自《“十四五”國家信息化規(guī)劃》提出加快第5 代(5G)網(wǎng)絡(luò)規(guī)?;渴稹⑶罢靶缘牟季值? 代(6G)網(wǎng)絡(luò)技術(shù)儲備以來,國家進(jìn)一步大力推進(jìn)5G 基建、大數(shù)據(jù)中心、人工智能、工業(yè)互聯(lián)網(wǎng)等領(lǐng)域“新基建”計劃。當(dāng)前,電信運營商、網(wǎng)絡(luò)設(shè)備供應(yīng)商和云服務(wù)商等巨頭企業(yè)都在布局迎接移動邊緣計算帶來的新機遇和挑戰(zhàn)。因此,移動邊緣計算也成為學(xué)術(shù)界近年來的研究熱點。
移動邊緣計算技術(shù)通過將計算服務(wù)器配置在靠近物聯(lián)網(wǎng)終端的網(wǎng)絡(luò)邊緣[2],可有效縮短計算任務(wù)傳輸時延并提升物聯(lián)網(wǎng)終端的計算能力,深化物聯(lián)網(wǎng)連接和計算的融合。簡單而言,在移動邊緣計算框架下,可使終端設(shè)備按需將計算任務(wù)卸載上傳至邊緣服務(wù)器,由邊緣服務(wù)器完成計算任務(wù)并返回計算結(jié)果,以降低計算時延和設(shè)備能耗,提升終端設(shè)備的數(shù)據(jù)處理能力。如圖1 所示,移動邊緣計算在物聯(lián)網(wǎng)、端到端組網(wǎng)、無人機組網(wǎng)、車聯(lián)網(wǎng)等領(lǐng)域有著廣泛的應(yīng)用場景[3]。
圖1 移動邊緣計算網(wǎng)絡(luò)中計算卸載應(yīng)用場景[3]
以計算卸載作為移動邊緣計算的關(guān)鍵技術(shù)也引起了人們的廣泛研究[4-5]。計算卸載問題是一個混合整數(shù)規(guī)劃問題,并且一般是一個非確定多項式難題(non-deterministic polynomial hard,NP-hard),難以實時生成決策。一種可行的方案是利用分支定界法(branch-and-bound algorithm,BBA)[6]或動態(tài)規(guī)劃法(dynamic programming,DP)[7]進(jìn)行求解,然而,這些方法存在“維數(shù)災(zāi)難”(curse of dimensionality)問題,計算復(fù)雜度較高。另一種方案是將整型的0/1決策做連續(xù)線性松弛[8]或者用二次約束來近似整數(shù)約束并做半正定松弛[9],以比迭代搜索算法低的復(fù)雜度求得近似解方案,但這種方法犧牲了求解質(zhì)量,通常得到的計算卸載決策都不是最優(yōu)決策。此外,考慮到移動邊緣計算網(wǎng)絡(luò)的復(fù)雜性與動態(tài)性,通??刹捎没隈R爾可夫決策過程[10-11]或李雅普諾夫優(yōu)化方法[12]設(shè)計動態(tài)計算卸載策略,并優(yōu)化相關(guān)系統(tǒng)資源分配,最小化能耗、計算時延和網(wǎng)絡(luò)效用。然而,上述解決方案都依賴于專家知識和精確的數(shù)學(xué)模型。因此,如何設(shè)計一種低復(fù)雜度的算法且能適用于時變環(huán)境的移動邊緣計算網(wǎng)絡(luò)仍是一個挑戰(zhàn)。
深度學(xué)習(xí)利用深度神經(jīng)網(wǎng)絡(luò)[13]從數(shù)據(jù)樣本學(xué)習(xí),最終生成狀態(tài)空間到動作空間的最優(yōu)映射,擅長處理大狀態(tài)空間[14]和動作空間[15],被廣泛應(yīng)用于無線通信網(wǎng)絡(luò)領(lǐng)域。近年來,將深度學(xué)習(xí)應(yīng)用于移動邊緣計算卸載的研究逐漸增多。監(jiān)督學(xué)習(xí)將計算卸載問題建模為多標(biāo)簽分類問題,通過離線訓(xùn)練和線上部署深度神經(jīng)網(wǎng)絡(luò),提升卸載決策的響應(yīng)速度。監(jiān)督學(xué)習(xí)算法需要預(yù)生成大量的訓(xùn)練數(shù)據(jù),常用遍歷搜索[16]或者傳統(tǒng)分析優(yōu)化方法[17]獲得特定網(wǎng)絡(luò)場景的最優(yōu)決策。然而,當(dāng)網(wǎng)絡(luò)場景改變時,需要重新生成訓(xùn)練數(shù)據(jù)并訓(xùn)練深度神經(jīng)網(wǎng)絡(luò),該方法不適用于動態(tài)的網(wǎng)絡(luò)場景。深度強化學(xué)習(xí)可通過搜索計算卸載動作空間并自主學(xué)習(xí)實現(xiàn)最優(yōu)決策。當(dāng)前,基于深度Q 學(xué)習(xí)的計算卸載研究[18-21]較為廣泛,其將狀態(tài)/動作空間離散化并通過在線學(xué)習(xí)最優(yōu)化計算卸載決策及系統(tǒng)資源優(yōu)化。隨著大型神經(jīng)網(wǎng)絡(luò)模型的興起,模型對系統(tǒng)內(nèi)存的需求也在逐步增高,分布式架構(gòu)[22]通過并行的數(shù)據(jù)處理來減少系統(tǒng)內(nèi)存開銷,這一方法也引起了研究人員的廣泛關(guān)注。聯(lián)邦學(xué)習(xí)利用其分布式網(wǎng)絡(luò)架構(gòu)聯(lián)合多個邊緣服務(wù)器端進(jìn)行數(shù)據(jù)訓(xùn)練,在提升模型泛化性的同時,最大限度地減少用戶隱私泄露,進(jìn)一步提高了計算卸載的安全性與有效性[23]。其局限性是這些方法大多數(shù)是基于靜態(tài)交互的移動邊緣計算環(huán)境,一旦移動邊緣計算場景發(fā)生變化,在收斂到新的場景時,難以收集到足夠的訓(xùn)練樣本。針對計算任務(wù)場景動態(tài)變化以及上述深度學(xué)習(xí)方法網(wǎng)絡(luò)參數(shù)可移植差等問題,基于元學(xué)習(xí)[24]的計算卸載方法可以有效克服這一問題,面對一個新的計算任務(wù)場景,基于元學(xué)習(xí)的計算卸載方法通過找到一個全局模型,使模型執(zhí)行一個或幾個梯度下降步驟來快速收斂于該場景[25]。然而,現(xiàn)有算法考慮的是集中式移動邊緣計算網(wǎng)絡(luò)模型,存在隱私泄露的風(fēng)險,因此,如何設(shè)計一種算法能在保護(hù)用戶隱私的前提下,適用于時變環(huán)境的移動邊緣計算仍是一個挑戰(zhàn)。
為解決上述問題,本文提出一種基于聯(lián)邦元學(xué)習(xí)的計算卸載(federated meta-learning based offloading,FEMO)框架。一方面聯(lián)邦學(xué)習(xí)可以有效解決移動邊緣計算的數(shù)據(jù)隱私和數(shù)據(jù)孤島問題,并且基于聯(lián)邦學(xué)習(xí)的計算卸載還能有效降低通信帶寬需求,減輕了遠(yuǎn)程云服務(wù)器的存儲和計算負(fù)載,并降低模型更新相應(yīng)延時[26]。另一方面,為了滿足不同移動端的服務(wù)質(zhì)量(quality of service,QoS)需求,本算法融合了模型無關(guān)元學(xué)習(xí)(model-agnostic meta-learning,MAML)思想,在動態(tài)變化的邊緣計算網(wǎng)絡(luò)中,仍能取得較高的卸載效率。具體來說,本文的貢獻(xiàn)點如下。
(1)將整個移動邊緣計算網(wǎng)絡(luò)的系統(tǒng)效用模型化為所有無線設(shè)備的任務(wù)完成時延的加權(quán)和,為了使系統(tǒng)效用最小化,本文提出了一個針對移動邊緣計算網(wǎng)絡(luò)的聯(lián)合計算卸載與計算資源分配問題。該問題聯(lián)合優(yōu)化了每個邊緣服務(wù)上的無線設(shè)備的卸載決策和每個設(shè)備上計算資源分配。
(2)提出一種基于聯(lián)邦元學(xué)習(xí)的計算卸載框架,通過聯(lián)合多個邊緣服務(wù)器上的數(shù)據(jù)共同訓(xùn)練學(xué)習(xí),得到一個泛化能力更強的神經(jīng)網(wǎng)絡(luò)模型。并且進(jìn)一步考慮到邊緣服務(wù)器上個性化計算卸載應(yīng)用,為隱私保護(hù)的個性化計算卸載提供一種新的思路。
(3)數(shù)值結(jié)果進(jìn)一步驗證了所提算法的有效性,針對一個新的計算任務(wù)場景,基于聯(lián)邦元學(xué)習(xí)的計算卸載框架僅需少量的微調(diào)訓(xùn)練步數(shù)(少于10步),就能達(dá)到0.995 以上的性能。
如圖2 所示,本文考慮一個移動邊緣計算網(wǎng)絡(luò)包含K臺邊緣服務(wù)器和一個云端服務(wù)器,其中每個邊緣服務(wù)器都含有N臺有計算任務(wù)的無線設(shè)備(wireless device,WD)。N臺無線設(shè)備用集合N={1,2,…,N} 表示,K臺邊緣服務(wù)器用集合K={1,2,…,K} 表示,每個無線設(shè)備決定將每個任務(wù)卸載到對應(yīng)的邊緣服務(wù)器或者本地處理,即為二進(jìn)制卸載策略。
圖2 基于聯(lián)邦學(xué)習(xí)的隱私保護(hù)計算卸載算法應(yīng)用框架
每個邊緣服務(wù)器的用戶數(shù)據(jù)僅保存在該服務(wù)器。本文主要研究了邊緣計算系統(tǒng)的計算資源配置優(yōu)化問題,并通過用戶的權(quán)重優(yōu)先級系數(shù)來構(gòu)造動態(tài)的計算任務(wù)場景。本文考慮了由于無線設(shè)備與服務(wù)器之間的通信而導(dǎo)致的延遲優(yōu)化問題。
設(shè)置一個元組(αn,βn,γn) 來表示W(wǎng)Dn的計算任務(wù),其中n∈N,αn、βn、γn分別表示上行傳輸數(shù)據(jù)大小、服務(wù)器返回數(shù)據(jù)大小、完成該計算任務(wù)所需要的中央處理器(central processing unit,CPU)周期數(shù)。當(dāng)WDn的任務(wù)分配給邊緣服務(wù)器時,將WDn與邊緣服務(wù)器之間的上行和下行鏈路傳輸速率量化為
其中,Bn表示上行和下行傳輸鏈路的帶寬,ω0表示白噪聲功率,Pn表示W(wǎng)Dn將其計算任務(wù)卸載到邊緣服務(wù)器的發(fā)射功率以及邊緣服務(wù)器將計算結(jié)果回傳的發(fā)射功率,hn(t) 表示對應(yīng)的信道增益并假設(shè)該值在傳輸過程中保持不變。那么WDn的總通信時延可以推導(dǎo)為上行和下行傳輸時延之和,并假設(shè)上行和下行傳輸速率相等,則通信時延為
對于計算時延,用fk表示邊緣服務(wù)器每秒能執(zhí)行的CPU 周期數(shù)(cycle/s),其中k∈K,并在本文中假設(shè)各邊緣服務(wù)器計算資源相同;用f0表示無線設(shè)備每秒能執(zhí)行的CPU 周期數(shù),且f0遠(yuǎn)小于fk,這是由于邊緣服務(wù)器上的計算資源更豐富。當(dāng)2 個或多個任務(wù)被卸載到同一臺邊緣服務(wù)器時,邊緣服務(wù)器的計算資源被所有任務(wù)共享,計算資源的分配策略表示為ft={fn(t) |n∈Nt},其中fn(t) 表示邊緣服務(wù)器分配給WDn的計算資源,Nt={n∈N|an(t)=1} 是指在時間幀t,計算任務(wù)被卸載到邊緣服務(wù)器的所有無線設(shè)備集合。則WDn在邊緣服務(wù)器上處理計算任務(wù)的延遲表示為
相應(yīng)地,WDn在本地計算任務(wù)的計算延遲可表示為
相應(yīng)地,WDn在邊緣服務(wù)器執(zhí)行計算任務(wù)所需要的時延可表示為
綜上所述,WDn完成其計算任務(wù)所需的計算任務(wù)總傳輸?shù)挠嬎銜r延Tn可表示為
本文的研究目標(biāo)是最小化邊緣計算系統(tǒng)的加權(quán)時延和,問題建模如下:
上述問題為混合整數(shù)規(guī)劃問題,難以直接求解。本文將上述問題進(jìn)行了分層處理,其中底層問題利用神經(jīng)網(wǎng)絡(luò)學(xué)習(xí)來生成最優(yōu)的卸載決策,一旦得到最優(yōu)的卸載決策,將其代入到頂層問題中求解最優(yōu)的計算資源分配,最終使得整個邊緣計算系統(tǒng)的加權(quán)時延和最小。
將無線信道增益ht與最優(yōu)卸載決策之間的映射關(guān)系用π表示:
顯然,上述優(yōu)化問題是一個凸優(yōu)化問題,本文采用了KKT(Karush-Kuhn-Tucker)方法來求解該問題,其拉格朗日函數(shù)L 可表示為
其中,ν為拉格朗日系數(shù)。通過對該拉格朗日函數(shù)中的計算資源fn(t) 和拉格朗日系數(shù)ν求偏導(dǎo),令其導(dǎo)數(shù)為零,解方程組即可得到約束條件下函數(shù)的最優(yōu)解。對該函數(shù)進(jìn)行求導(dǎo),可得如下表達(dá)式:
當(dāng)該導(dǎo)函數(shù)取到0 時,可通過式(17)來計算最優(yōu)的資源分配結(jié)果。
由于γnwn(t) 為大于0 的實數(shù),所以ν*大于0,因此,最優(yōu)的資源分配方案滿足式(18)。
將式(17)代入到式(18)中,可獲得拉格朗日因子的最優(yōu)值:
最后,將式(19)代入式(17),則邊緣服務(wù)器的計算資源分配問題可獲得如式(20)所示的最優(yōu)解。
以本文研究的邊緣計算系統(tǒng)為例,考慮到用戶的隱私安全問題以及動態(tài)變化的計算任務(wù)場景,為了使得每個WDn獲得更高質(zhì)量的個性化模型,本節(jié)提出了一種基于聯(lián)邦元學(xué)習(xí)的計算卸載算法。具體來說,根據(jù)各個邊緣服務(wù)器本地數(shù)據(jù)共同訓(xùn)練一個全局模型,在個性化微調(diào)測試中,模型僅需少量訓(xùn)練樣本就能快速適應(yīng)該場景。
基于聯(lián)邦元學(xué)習(xí)的隱私保護(hù)計算卸載算法體系結(jié)構(gòu)如圖2 所示,每個邊緣服務(wù)器都含有等量計算任務(wù)場景{|i∈K,k∈K},其中I={1,2,…,L},且每個場景中都含有M={1,2,…,M} 個數(shù)據(jù)樣本,每個數(shù)據(jù)樣本又由信道增益集合和最優(yōu)卸載決策集合組合而成。整體的訓(xùn)練流程包含5 個步驟。
(1)邊緣服務(wù)器Bk,k∈{1,2,…,K},從云端上下載云端網(wǎng)絡(luò)模型參數(shù),復(fù)制并更新邊緣端網(wǎng)絡(luò)模型,即模型參數(shù)θk=θ。
(2)對于每個邊緣服務(wù)器Bk并行訓(xùn)練各自本地的模型參數(shù)θk。首先,各邊緣服務(wù)器從本地任務(wù)場景{|i∈K,k∈K} 中隨機抽取一個計算任務(wù)場景來迭代訓(xùn)練各自的神經(jīng)網(wǎng)絡(luò);以單個邊緣服務(wù)器為例,針對單一的計算任務(wù)場景,從該場景中不重復(fù)的隨機抽取一批數(shù)據(jù)樣本Mb,其中=;并將該樣本表示為Mb?M,其中hm表示時變無線信道增益,am表示卸載策略。隨后,通過最小化均方誤差來計算與預(yù)測值與真實標(biāo)簽之間的損失值,其計算公式如式(21)所示,在得到相應(yīng)的誤差損失后,同樣采用式(22)更新網(wǎng)絡(luò)參數(shù)θk。
(3)當(dāng)邊緣服務(wù)器上的神經(jīng)網(wǎng)絡(luò)參數(shù)更新后,基于更新后的網(wǎng)絡(luò)參數(shù),各邊緣服務(wù)器在各自的場景中重新抽取一批樣本,具體可表示為={(hm,am)|m∈M{Mb}},并計算該樣本下的損失。
其中,λ2是超參數(shù)。
重復(fù)上述操作,直至全局網(wǎng)絡(luò)模型收斂。基于各邊緣服務(wù)器共同訓(xùn)練得到的神經(jīng)網(wǎng)絡(luò)模型具有更強的泛化性,面對新的計算任務(wù)場景,能憑借少量的訓(xùn)練數(shù)據(jù)做到快速適應(yīng)。FEMO 的算法偽代碼如算法1 所示。
在使用基于聯(lián)邦元學(xué)習(xí)的計算卸載策略算法時,每個邊緣服務(wù)器不止于簡單復(fù)制運行云端共享模型,可以進(jìn)一步個性化微調(diào)網(wǎng)絡(luò)模型。如圖3 所示,首先邊緣服務(wù)器Bk從云端下載共享模型,并創(chuàng)建本地模型令θk=θ,?k∈K。根據(jù)新的計算任務(wù)場景,利用該場景下的數(shù)據(jù)樣本進(jìn)行微調(diào)訓(xùn)練,使得本地模型能夠快速適應(yīng)該場景,滿足不同邊緣服務(wù)器的個性化需求。其中,對于本地模型參數(shù)的更新,仍然采用梯度下降更新方式,具體如式(24)所示。
圖3 新場景下執(zhí)行微調(diào)訓(xùn)練示意圖
最后,可以基于微調(diào)過的本地模型生成卸載決策,并進(jìn)一步利用式(20)得到相應(yīng)的計算資源分配,最終得到相應(yīng)的Q值。需要說明的是,為了將FEMO 算法部署在邊緣計算網(wǎng)絡(luò),當(dāng)全局模型訓(xùn)練時的損失不再變化則認(rèn)為該模型收斂。而一旦模型收斂后,其參數(shù)被固定不再變化。一方面,本文更看重部署后的長遠(yuǎn)效益,當(dāng)模型收斂無需動態(tài)維護(hù)該模型,大大節(jié)省了計算資源;另一方面FEMO 是一種分布式算法,通過客戶端與云端之間模型參數(shù)的交互進(jìn)行訓(xùn)練,通過在云端聚合各客戶端的模型參數(shù)來進(jìn)一步提升模型的性能。另外,在客戶端與云端之間只涉及到模型參數(shù)的交互,而不含原始數(shù)據(jù)的信息,降低了通信成本,也保護(hù)了各客戶端數(shù)據(jù)的隱私泄露。
不失一般性,本文考慮了一個N=10 個無線設(shè)備和K=5 個邊緣服務(wù)器所組成的邊緣計算系統(tǒng),且每臺無線設(shè)備的可選權(quán)重系數(shù)被設(shè)置為W={1.0,1.5},本實驗的數(shù)據(jù)集包含了210種不同計算任務(wù)場景。其中,80%的場景將被作為訓(xùn)練集用于訓(xùn)練全局網(wǎng)絡(luò)模型,每個邊緣服務(wù)器上含有等量的計算任務(wù)場景,其中L=164。而余下20%的場景將用來測試FEMO 算法的性能。本文的信道增益可利用與空間相關(guān)的路徑衰落模型生成,其具體的表達(dá)式為H[dB]=103.8 +20.9 log10d[km][27]。
一旦得到無線信道增益ht以及相應(yīng)的計算任務(wù)權(quán)重wt后,可以通過枚舉法求解最優(yōu)卸載決策。αn=0.5 MB,βn=0.28 ×αn分別表示上行、下行數(shù)據(jù)大小;γn=330 cycles/byte ×αn[28]為完成該計算任務(wù)需要的CPU 周期數(shù)。本節(jié)以Gzip 應(yīng)用為計算任務(wù)類型,并設(shè)置每臺無線設(shè)備的處理速率為f0=2.84 ×109cycle/s、邊緣服務(wù)器的處理速率為fe=100×109cycle/s,上下行的傳輸信道帶寬設(shè)置為Bn=10 MHz。
本節(jié)使用的網(wǎng)絡(luò)結(jié)構(gòu)均為全連接神經(jīng)網(wǎng)絡(luò),且神經(jīng)網(wǎng)絡(luò)的結(jié)構(gòu)由1 個輸入層、2 個隱藏層和1 個輸出層組成,并且神經(jīng)元參數(shù)分別為N、120、80、N,每層的非線性函數(shù)為ReLU。其他參數(shù)為:λ1=0.010,λ2=0.001,λ3=0.010,|Mb|=10。為了驗證本文提出算法的有效性及其性能,本節(jié)的實驗軟件平臺為基于CPU 的PyTorch 深度學(xué)習(xí)框架,編程語言為Python。
為了更直觀地展現(xiàn)本文所提出FEMO 算法的收斂性能,將神經(jīng)網(wǎng)絡(luò)的預(yù)測輸出對應(yīng)的系統(tǒng)加權(quán)時延和作了歸一化,如式(25)所示。
Q*(h,w,a*) 是由枚舉法獲得的真實最優(yōu)卸載決策對應(yīng)的系統(tǒng)加權(quán)時延和,而Q(h,w,a) 為FEMO算法獲得的預(yù)測卸載方案對應(yīng)的系統(tǒng)加權(quán)時延和。在預(yù)測值遠(yuǎn)離最優(yōu)值時,分母大于分子,整體的比值小于1;而當(dāng)其越接近于真實值,Q^ 越接近于1。
如圖4 所示,本文研究了不同學(xué)習(xí)率下FEMO算法,在改變學(xué)習(xí)率λ1參數(shù)時,其他訓(xùn)練率參數(shù)保持不變。如圖4(a)所示,學(xué)習(xí)率越大,模型的收斂速度越快,因此,將學(xué)習(xí)率λ1設(shè)置為0.010 0。又如圖4(b)所示,學(xué)習(xí)率λ2設(shè)置范圍在0.010 0到0.000 1之間,而學(xué)習(xí)率過大時,模型會陷入局部最優(yōu),所以當(dāng)λ2設(shè)置為0.001 0 時,模型的收斂效果更好。為了選擇一個合適的學(xué)習(xí)率參數(shù),如圖4(c)所示,將λ3設(shè)置為0.010 0。
圖4 不同學(xué)習(xí)率對算法收斂性能的影響
如圖5 所示,從測試集中隨機抽取了一個新的計算任務(wù)場景來測試FEMO 算法在新場景中的表現(xiàn)。在評估之前,已經(jīng)利用所有邊緣端下的計算任務(wù)場景下來訓(xùn)練云端模型和單一模型數(shù)據(jù)集下訓(xùn)練得到的本地模型,實驗展示了基于聯(lián)邦元學(xué)習(xí)的計算卸載算法在邊緣服務(wù)器的測試性能。
圖5 FEMO 算法在新場景下的測試表現(xiàn)
實驗中基于聯(lián)邦元學(xué)習(xí)算法和對比算法都采用相同的神經(jīng)網(wǎng)絡(luò)模型,即神經(jīng)網(wǎng)絡(luò)模型只學(xué)習(xí)了0-1 計算卸載動作,但對比算法僅使用單一邊緣服務(wù)器上的訓(xùn)練數(shù)據(jù)。以下實驗結(jié)果均為對應(yīng)測試場景下100 個數(shù)據(jù)樣本的均值。訓(xùn)練收斂后,2 種算法都獲得了不錯的初始化性能,分別達(dá)到理想卸載方案的0.978 和0.972。在相同的個性化微調(diào)測試中,針對一個新移動邊緣計算應(yīng)用場景,FEMO 算法僅需少量的微調(diào)訓(xùn)練步數(shù)(少于10 步),就能達(dá)到0.995以上的性能,而單一邊緣服務(wù)器的數(shù)據(jù)集下訓(xùn)練的模型需要更多的迭代步數(shù)(200 步)才能收斂。因此,FEMO 算法在保護(hù)各邊緣服務(wù)器數(shù)據(jù)隱私的前提下,當(dāng)遇到一個新的任務(wù)場景時,僅需少量的訓(xùn)練樣本就能快速適應(yīng)該場景。
為了進(jìn)一步研究在小樣本下FEMO 算法的有效性,針對一個全新的場景,本文將FEMO 算法與其他2 種具有代表性的基準(zhǔn)方法進(jìn)行了比較。
(1)邊緣端學(xué)習(xí)。通過利用單一邊緣服務(wù)器上的數(shù)據(jù)集訓(xùn)練本地模型,與聯(lián)邦學(xué)習(xí)的過程類似,邊緣端學(xué)習(xí)也是根據(jù)不同的計算任務(wù)場景創(chuàng)建相應(yīng)的與本地模型網(wǎng)絡(luò)結(jié)構(gòu)相同的事件模型,通過匯總不同計算任務(wù)場景下的損失值來更新整個本地模型。
(2)隨機初始化學(xué)習(xí)。神經(jīng)網(wǎng)絡(luò)在針對新的場景前并沒有訓(xùn)練過,其網(wǎng)絡(luò)參數(shù)是隨機初始化的,在PyTorch 框架中全連接層的參數(shù)初始化滿足均方分布。其網(wǎng)絡(luò)結(jié)構(gòu)和其他2 種算法使用的模型結(jié)構(gòu)完全一致。
在實驗過程中把3 種算法的學(xué)習(xí)率以及批處理大小等實驗參數(shù)保持一致。如圖6 所示,由于訓(xùn)練數(shù)據(jù)的匱乏,基準(zhǔn)方法的性能是有限的。特別地,對于基于FEMO 算法得到的初始化參數(shù)在僅有1 個訓(xùn)練樣本下能通過微調(diào)達(dá)到0.984,而基于單一邊緣服務(wù)器數(shù)據(jù)集訓(xùn)練的本地模型雖然最終能獲得近似FEMO 的性能,但由圖4 可知,需要更多的迭代步數(shù)。使用隨機初始化的神經(jīng)網(wǎng)絡(luò)模型,一開始的初始化參數(shù)就遠(yuǎn)小于其他2 種方法的初始化參數(shù),則需要更多的樣本數(shù)量以及更多的微調(diào)步數(shù)才能達(dá)到相似的性能。這表明FEMO 算法可以快速從歷史的場景中學(xué)到先驗知識,并迅速將其轉(zhuǎn)移至新的計算任務(wù)場景。
圖6 幾種少量樣本下基準(zhǔn)方法的加權(quán)時延和歸一化值
為了進(jìn)一步評估所提算法的有效性與優(yōu)越性,本文將所提算法與以下其他計算卸載算法進(jìn)行比較。
(1)DSLO[29]:基于監(jiān)督學(xué)習(xí)的計算卸載算法,通過標(biāo)簽樣本訓(xùn)練的神經(jīng)網(wǎng)絡(luò),預(yù)測卸載決策。
(2)DROO[30]:基于強化學(xué)習(xí)的計算卸載算法,并利用經(jīng)驗回放技術(shù)指導(dǎo)神經(jīng)網(wǎng)絡(luò)學(xué)習(xí)。該算法通過將預(yù)測的卸載決策量化成多個二進(jìn)制決策,將決策代入目標(biāo)函數(shù)計算系統(tǒng)加權(quán)時延和,從中找出使時延取最小值的分流決策。
(3)基于線性規(guī)劃松弛的計算卸載[31](linear relaxation,LR):所有的二進(jìn)制卸載策略松弛到0~1之間的一個實數(shù),用∈[0,1] 表示。然后該松弛約束的優(yōu)化問題(P1)相對于原卸載策略 可以用凸優(yōu)化工具箱解決。一旦a^n給出,則可通過下式計算出相應(yīng)的二進(jìn)制卸載策略:
為避免偶然性,在整個實驗過程中,均保證了神經(jīng)網(wǎng)絡(luò)結(jié)構(gòu)與超參數(shù)設(shè)置保持一致。從測試集中隨機選取了10 個場景下測試的均值作為實際的測試效果。如圖7 所示,LR 算法產(chǎn)生的加權(quán)時延和歸一化值始終保持為0.972,不會隨著訓(xùn)練樣本數(shù)增多而改變。FEMO 算法在20 個微調(diào)步數(shù)內(nèi),其產(chǎn)生的加權(quán)時延和歸一化值能超過0.990,可以快速適應(yīng)新的計算任務(wù)場景。DSLO 算法隨著訓(xùn)練樣本數(shù)量的增加,在120 個微調(diào)步數(shù)內(nèi),其產(chǎn)生的加權(quán)時延和歸一化值能超過0.990,但是顯然在200 個微調(diào)步數(shù)內(nèi)還沒有收斂到最優(yōu)。因此,相較于FEMO 算法,DSLO 算法需要更多的訓(xùn)練樣本數(shù)以及更多的微調(diào)步數(shù)。值得一提的是,DROO 算法由于缺乏標(biāo)簽數(shù)據(jù),相較于DSLO 算法和FEMO 算法需要更多的微調(diào)步數(shù)才能適應(yīng)新的計算任務(wù)場景,在200 個微調(diào)步數(shù)內(nèi),其產(chǎn)生的加權(quán)時延和歸一化值為0.968。
總的來說,FEMO 算法通過學(xué)習(xí)歷史場景中的先驗知識,并且在少量訓(xùn)練樣本的情況下可以達(dá)到比其他計算卸載算法更好的模型初始化參數(shù)。該算法可以迅速適應(yīng)新的計算任務(wù)場景。
如表1 所示,本文對比了在不同計算卸載算法下加權(quán)時延和歸一化值。本小節(jié)將本文提出的FEMO 算法與隨機卸載算法和線性松弛卸載算法進(jìn)行了比較。由于FEMO 算法是利用多個計算任務(wù)場景中的先驗知識來得到一個較好的神經(jīng)網(wǎng)絡(luò)初始化參數(shù),因此,在個性化微調(diào)測試中,針對一個新的計算任務(wù)場景,在不做微調(diào)測試的情況下,其加權(quán)時延和歸一化值為0.976 7,并優(yōu)于其他2 種對比算法的卸載決策,最終在10 步微調(diào)測試內(nèi)收斂于該場景。
表1 不同計算卸載算法性能對比
本實驗一共生成了1024 個訓(xùn)練任務(wù)場景,其中80%的計算任務(wù)場景作為訓(xùn)練集。如圖8 所示,本文利用不同數(shù)量的計算任務(wù)場景訓(xùn)練云端模型,在邊緣服務(wù)器數(shù)量K不變的情況下,將L分別設(shè)置原訓(xùn)練集的40%、60%、80%、100%。其中,每個邊緣服務(wù)器在僅有原訓(xùn)練集40%的計算任務(wù)且每個場景只有10 個訓(xùn)練樣本的前提下,針對新的計算任務(wù)場景,FEMO 算法通過10 次迭代訓(xùn)練后,加權(quán)時延和歸一化值能超過0.985。然而,更多的計算任務(wù)場景意味著更多的先驗知識,使得神經(jīng)網(wǎng)絡(luò)模型有著更高的初始化參數(shù)。
圖8 不同規(guī)模的訓(xùn)練數(shù)據(jù)對算法性能的影響
本文面向5G 環(huán)境下的萬物智聯(lián)應(yīng)用場景,闡述了移動邊緣計算卸載是融合計算和通信的關(guān)鍵技術(shù)。針對5G 實際應(yīng)用場景要求計算卸載決策實時性和邊緣數(shù)據(jù)隱私保護(hù)安全性等挑戰(zhàn),本文融合聯(lián)邦學(xué)習(xí)和元學(xué)習(xí),實現(xiàn)了一種兼顧性能優(yōu)化與隱私保護(hù)的邊緣計算卸載通用框架。測試實驗表明,FEMO 算法僅需少量的微調(diào)訓(xùn)練步數(shù)就能達(dá)到0.995以上的性能,可為未來5G 移動邊緣計算應(yīng)用提供關(guān)鍵技術(shù)支撐。