喻鵬 ,張俊也,李文璟,周凡欽,豐雷,付澍,邱雪松
(1.北京郵電大學(xué)網(wǎng)絡(luò)與交換技術(shù)國家重點實驗室,北京 100876;2.重慶大學(xué)微電子與通信工程學(xué)院,重慶 400044)
隨著移動通信網(wǎng)絡(luò)的不斷演進,超五代(B5G,beyond the 5th generation)、第六代(6G,the 6th generation)網(wǎng)絡(luò)將帶來新型業(yè)務(wù)場景,如自動駕駛、工業(yè)控制、增強/虛擬現(xiàn)實等,這些場景對帶寬、時延、功耗、可靠性等指標(biāo)提出了更高的要求[1]。對應(yīng)的海量無線接入設(shè)備所需的高效快速的資源調(diào)度,也將給網(wǎng)絡(luò)帶來巨大挑戰(zhàn)。
為了解決上述問題,移動邊緣計算(MEC,mobile edge computing)被提出。通過邊緣計算,終端設(shè)備可以卸載部分或全部計算任務(wù)到基站等網(wǎng)絡(luò)邊緣節(jié)點,拓展了終端設(shè)備計算能力。相對于集中到云端的計算方法,MEC 能夠有效地降低任務(wù)處理時延,減輕核心網(wǎng)的流量壓力,保障數(shù)據(jù)私密性與安全性[2]。
未來無線網(wǎng)絡(luò)的深度將顯著拓展,從單一的信息傳輸?shù)絺鬏敗⒋鎯吞幚淼亩嗑S同步,需要通信、計算和存儲資源以及相關(guān)控制的無縫融合[3]。而基于MEC 的移動邊緣網(wǎng)絡(luò)(MEN,mobile edge network)的核心思想也正是將網(wǎng)絡(luò)的資源、內(nèi)容和功能遷移到網(wǎng)絡(luò)邊緣,從而提升網(wǎng)絡(luò)整體的資源調(diào)度效率,MEC 被認為是B5G/6G 網(wǎng)絡(luò)的重要組成部分[1],其資源分配方法對系統(tǒng)的性能有著重要影響。
5G 性能相比4G 有了大幅度提升,但是基站部署密度也進一步提升,導(dǎo)致5G 網(wǎng)絡(luò)的基站功耗為4G 基站的3~4 倍[4]。而未來6G 網(wǎng)絡(luò)將擁有超高吞吐量、超大帶寬,網(wǎng)絡(luò)節(jié)點的部署將更加密集,規(guī)模更加龐大,將會面臨更大的能耗壓力。對應(yīng)地,綠色節(jié)能是未來網(wǎng)絡(luò)發(fā)展的一大需求[5]。由于基站能耗約占通信能耗的60%~80%[6],而邊緣網(wǎng)絡(luò)作為基站的主要部署位置,將會成為通信網(wǎng)絡(luò)能耗產(chǎn)生的重要組成部分。因此,MEN 中高能效的資源分配方法具有重要的研究意義與價值。
近年來,MEC 得到了廣泛關(guān)注,MEN 資源分配問題也得到了大量的研究,而多維資源聯(lián)合優(yōu)化是其中的研究熱點。文獻[7]指出基于霧計算的通信與計算融合可以有效地提升系統(tǒng)的性能,并概述了基于霧計算的移動通信網(wǎng)絡(luò)的網(wǎng)絡(luò)架構(gòu)、系統(tǒng)容量和資源管理。文獻[8]將緩存資源引入用于多媒體內(nèi)容交付的移動基站中,考慮緩存與前傳成本,從經(jīng)濟角度進行優(yōu)化。文獻[9]研究了服務(wù)緩存放置、計算卸載決策和系統(tǒng)資源分配的聯(lián)合優(yōu)化。這些為邊緣網(wǎng)絡(luò)的融合資源分配方法提供了參考依據(jù)。
文獻[10]針對有多個能量采集設(shè)備的MEC 系統(tǒng),將最小化長期平均執(zhí)行成本的聯(lián)合計算卸載和動態(tài)資源分配問題描述為一個隨機優(yōu)化問題,提出了一種基于李雅普諾夫優(yōu)化的在線算法,將原問題轉(zhuǎn)化為時隙確定性問題。文獻[11]針對協(xié)同多點傳輸設(shè)計了一種聯(lián)合負載感知聚類和基于圖著色的小區(qū)間資源調(diào)度的資源分配方法。為了實現(xiàn)泛在邊緣計算,需要實現(xiàn)多邊緣服務(wù)器的協(xié)同處理。進一步地,文獻[12]提出了一種限制邊緣服務(wù)器超載概率的MEC 系統(tǒng)資源配置的優(yōu)化方法,通過樣本平均近似方法將機會約束隨機規(guī)劃問題轉(zhuǎn)化為混合整數(shù)規(guī)劃問題進行求解,實現(xiàn)了總通信代價最小的目標(biāo)。文獻[13]通過用綜合成本模型描述各種靜態(tài)和動態(tài)性能指標(biāo),建立了混合非線性優(yōu)化的在線邊緣網(wǎng)絡(luò)資源分配模型,利用正則化技術(shù)將非凸優(yōu)化問題轉(zhuǎn)化為凸優(yōu)化問題,模型的性能較貪心算法有大幅度提高。文獻[14]研究了多信道無線干擾情況下的多用戶計算卸載與資源分配策略,可以通過博弈論方法分布式地高效求解,并證明了所設(shè)計的算法可以達到納什均衡。上述研究以數(shù)學(xué)優(yōu)化方法為主,對優(yōu)化問題的數(shù)學(xué)形式具有較高的要求,需要針對具體問題對模型和約束進行精心設(shè)計或者進行轉(zhuǎn)化,例如求解對象維度單一、模型要求無約束或者少量線性約束、可用經(jīng)典算法進行求解等,且多采用離線方式,主要適用于少量網(wǎng)絡(luò)節(jié)點的局部網(wǎng)絡(luò)場景,難以適用于求解變量維度和約束較為復(fù)雜的場景。
針對上述不足,面對未來網(wǎng)絡(luò)密集化、復(fù)雜化的發(fā)展趨勢,強化學(xué)習(xí)(RL,reinforcement learning)作為一種免模型的方法,可以自動通過試錯進行學(xué)習(xí),具有很強的靈活性[15],是一種有前景的解決方案[16],RL 方法可適用于復(fù)雜動態(tài)的MEC 系統(tǒng)。文獻[17]將具有間歇性和不可預(yù)測性的可再生能源作為MEC 系統(tǒng)的能源,提出一種有效的基于RL 的資源管理算法,該算法分解為離線值迭代和在線強化學(xué)習(xí),動態(tài)地學(xué)習(xí)負載卸載和邊緣服務(wù)器配置的最優(yōu)策略,使系統(tǒng)長期成本最小化。近年來,以深度Q 學(xué)習(xí)(DQL,deep Q-learning)為代表的深度強化學(xué)習(xí)(DRL,deep reinforcement learning)算法興起。DRL 在高維離散或者連續(xù)空間中具有很強的決策能力,克服了RL 方法只適用于具有低維狀態(tài)和動作空間問題的不足。并且,基于圖形處理單元的并行計算進一步提升了DRL 的運行速度,使網(wǎng)絡(luò)管理具有及時性,克服了元啟發(fā)式算法、凸優(yōu)化算法等傳統(tǒng)方法的運行時間限制[18-19]。
一些研究將DRL 算法用于解決MEN 資源分配任務(wù)。文獻[20-21]提出基于DQL 的方案,來聯(lián)合優(yōu)化計算資源與網(wǎng)絡(luò)資源。文獻[22]在計算卸載與資源分配問題中,將幾種DRL 算法,包括DQL、深度確定性策略梯度(DDPG,deep deterministic policy gradient)和異步優(yōu)勢 actor-critic(A3C,asynchronous advantage actor-critic)算法,進行了對比。為了解決DQL 存在的Q 值過估計問題,雙深度Q 學(xué)習(xí)(DDQL,double deep Q-learning)算法被提出[23]。文獻[24]提出了基于DDQL 的算法,在不了解網(wǎng)絡(luò)狀態(tài)的情況下學(xué)習(xí)最優(yōu)計算卸載策略。
然而,上述研究大多關(guān)注的是上行流量為主的應(yīng)用場景,較少分析下行流量為主的應(yīng)用場景。并且,很多研究只考慮了單一資源的分配問題,部分研究對通信和計算資源進行了聯(lián)合優(yōu)化,或者關(guān)注緩存相關(guān)策略和資源分配策略的聯(lián)合優(yōu)化,但是對通信、計算、存儲3 種資源進行綜合考慮的研究不足。此外,高能效的資源分配機制研究主要關(guān)注了終端設(shè)備能耗,而對系統(tǒng)的總能耗關(guān)注不夠。
針對目前研究存在的問題,本文重點關(guān)注如復(fù)雜視頻處理、高清視頻請求等具有大量下行數(shù)據(jù)的業(yè)務(wù),在多任務(wù)、多終端設(shè)備、多邊緣網(wǎng)關(guān)、多邊緣服務(wù)器的MEN 場景下,以任務(wù)平均能耗最小化為優(yōu)化目標(biāo),針對每個任務(wù)選擇的邊緣網(wǎng)關(guān),考慮邊緣網(wǎng)關(guān)最大發(fā)射功率、邊緣服務(wù)器最大計算能力和最大存儲空間等資源約束,以及任務(wù)時延限制等約束,構(gòu)建對邊緣網(wǎng)關(guān)發(fā)射功率和邊緣服務(wù)器計算能力和存儲空間進行分配決策的優(yōu)化模型。該問題是一個NP-hard 的優(yōu)化問題。
本文將構(gòu)建的數(shù)學(xué)模型進行簡化,提出了基于DDQL 的求解方法,并通過實驗仿真將其與基于隨機算法(RA,random algorithm)、貪心算法(GA,greedy algorithm)、粒子群優(yōu)化(PSO,particle swarm optimization)算法、DQL 算法的求解方法進行了對比,證明本文方法降低了至少5%的任務(wù)平均能耗。DDQL 算法具有良好的收斂性和較低的時間復(fù)雜度,可以很好地完成MEN 高能效資源分配任務(wù)。
面向未來B5G/6G 網(wǎng)絡(luò)特征,網(wǎng)絡(luò)系統(tǒng)架構(gòu)可分為四層,自底向上分別為終端設(shè)備(ED,end device)、邊緣網(wǎng)關(guān)(EG,edge gateway)、邊緣服務(wù)器(ES,edge server)和云中心(CC,cloud center),如圖1 所示。其中,任務(wù)由終端設(shè)備發(fā)起,邊緣網(wǎng)關(guān)主要負責(zé)網(wǎng)絡(luò)協(xié)議轉(zhuǎn)化與數(shù)據(jù)轉(zhuǎn)發(fā),邊緣服務(wù)器主要負責(zé)提供計算與存儲功能,云中心在遠端具有更豐富的資源。云中心是系統(tǒng)架構(gòu)的必要組成部分,但在本文模型中,假設(shè)邊緣服務(wù)器可以滿足任務(wù)需求,不需要在云中心進行任務(wù)處理。
圖1 系統(tǒng)架構(gòu)
考慮實際網(wǎng)絡(luò)系統(tǒng),邊緣網(wǎng)關(guān)是現(xiàn)場級邊緣計算的典型設(shè)備形態(tài),可部署在基站側(cè);邊緣服務(wù)器是以通用硬件為虛擬化資源的移動邊緣應(yīng)用平臺,可部署在基帶處理單元池等運營商機房中。邊緣網(wǎng)關(guān)與邊緣服務(wù)器多在網(wǎng)絡(luò)規(guī)劃時設(shè)計了其隸屬關(guān)系,如多對一的關(guān)系,在網(wǎng)絡(luò)建設(shè)時通過光纖等有線鏈路連接,因此可將邊緣服務(wù)器與邊緣網(wǎng)關(guān)設(shè)定為固定連接。邊緣網(wǎng)關(guān)與終端設(shè)備通過無線信道通信,其連接關(guān)系需要在滿足覆蓋關(guān)系的條件下與資源分配進行聯(lián)合決策。
設(shè)終端設(shè)備的集合D={1,2,…,D},d∈D 表示一個終端設(shè)備,終端設(shè)備數(shù)為D。邊緣網(wǎng)關(guān)的集合為G={1,2,…,G},g∈G 表示一個邊緣網(wǎng)關(guān),邊緣網(wǎng)關(guān)數(shù)為G。邊緣服務(wù)器的集合為S={1,2,…,S},s∈S 表示一個邊緣服務(wù)器,邊緣服務(wù)器數(shù)為S。
任務(wù)的集合表示為K={1,2,…,K},k∈K 表示一個任務(wù),任務(wù)數(shù)為K。任務(wù)k用五元組(d k,l k,bk,ck,Tk)表征,其中dk為發(fā)起任務(wù)k的終端設(shè)備,dk∈D,假設(shè)一個終端設(shè)備一次最多發(fā)起一個任務(wù),lk為任務(wù)k返回終端設(shè)備的數(shù)據(jù)比特數(shù),bk為任務(wù)k所需存儲空間大小,ck為完成任務(wù)k所需中央處理器(CPU,central processing unit)時鐘周期數(shù),T k為完成任務(wù)k的時延限制。假設(shè)以上K個任務(wù)均為同一個時間片內(nèi)發(fā)起的任務(wù)。
邊緣服務(wù)器的選擇與能耗模型構(gòu)建如下。
設(shè)xk,s表示任務(wù)k選擇ESs的情況,為
一個任務(wù)只能且必須選擇一個ES,如式(2)所示。
針對存儲資源,設(shè)Bs表示ESs的最大存儲空間。每個ES 中任務(wù)所占用的存儲空間之和不能超過該ES 最大存儲空間,即
針對計算資源,考慮CPU 是執(zhí)行計算任務(wù)的核心設(shè)備,其性能與時鐘頻率有關(guān),可采用動態(tài)電壓頻率調(diào)整(DVFS,dynamic voltage and frequency scaling)技術(shù)對頻率進行調(diào)節(jié),以滿足任務(wù)的時延、能耗要求[25]。同一個ES上的不同任務(wù)可同時執(zhí)行,分別獲得不同的CPU 時鐘頻率。F s表示ESs所能提供的最大CPU 時鐘頻率。fk表示任務(wù)k所獲時鐘頻率。每個ES 中任務(wù)所獲CPU 時鐘頻率之和不能超過該ES 能提供的最大CPU 時鐘頻率,即
對每一個任務(wù)來說,其獲得的CPU 時鐘頻率范圍有一定的限制,F(xiàn)min為一個任務(wù)可獲得的CPU時鐘頻率的最小值,F(xiàn)max為一個任務(wù)可獲得的CPU時鐘頻率的最大值,則有
任務(wù)k的計算時延為
根據(jù)電路理論,動態(tài)能耗是CPU 能耗最主要的組成部分。在本文模型中,ES 的能耗只考慮因計算產(chǎn)生的動態(tài)能耗,而忽略其他能耗。ES 執(zhí)行任務(wù)k的能耗為,其中,κ為與硬件有關(guān)的常量[25]。所有ES 執(zhí)行任務(wù)的總能耗為
邊緣網(wǎng)關(guān)的選擇與能耗模型如下。
yk,g表示任務(wù)k選擇EGg的情況,如式(8)所示。
一個任務(wù)只能且必須選擇一個EG,如式(9)所示。
ES 與EG 通過有線鏈路通信,zs,g表示ESs和EGg的連接關(guān)系,即
EG 與ED 通過無線鏈路通信,wg,d表示EGg與EDd的覆蓋關(guān)系,如式(11)所示。
任務(wù)k選擇的ESs和EGg必須可通信,且只能選擇一條路徑,表示為
任務(wù)k選擇的EGg必須能與接收任務(wù)的EDdk通信,且只能選擇一條路徑,表示為
EGg到EDd信道的帶寬為Bg,d。根據(jù)香農(nóng)公式,從EGg到EDd的傳輸速率為
其中,δg,d為從EGg到EDd傳輸?shù)男旁氡龋⊿NR,signal noise ratio)。δg,d的表達式為
其中,pg,d為EGg到EDd發(fā)射功率,hg,d為從EGg到EDd的路徑損耗,N0為加性高斯白噪聲譜密度。hg,d的大小與EGg到EDd之間的距離Dg,d有關(guān),距離越遠,路徑損耗越大。
任務(wù)k獲得的EG 發(fā)射功率表示為,其范圍有一定的限制,Pmin為最小值,Pmax為最大值,如式(16)所示。
其中,Pg表示EGg所能提供的最大發(fā)射功率。一個EG 中所有任務(wù)獲得的發(fā)射功率之和不能超過該EG 所能提供的最大發(fā)射功率,即
若任務(wù)k是從EGg傳輸?shù)紼Ddk,則其傳輸時延為
考慮任務(wù)實際的EG 選擇情況,任務(wù)k從EG到ED 的傳輸時延為
任務(wù)k的總時延為ES 計算時延與從EG 到ED傳輸時延之和,ES 與EG 之間通過有線鏈路連接,傳輸速度很快,傳輸時延忽略不計,則有
EGg的能耗
所有EG 的總能耗為
在上述系統(tǒng)架構(gòu)模型、任務(wù)模型、邊緣服務(wù)器和邊緣網(wǎng)關(guān)選擇與能耗模型的基礎(chǔ)上,考慮網(wǎng)絡(luò)的整體能耗特征,最終的MEN 資源分配的優(yōu)化模型如式(23)所示。
優(yōu)化目標(biāo)為最小化任務(wù)平均能耗,能耗為邊緣服務(wù)器計算能耗與邊緣網(wǎng)關(guān)傳輸能耗之和。約束條件C1 要求每個任務(wù)在規(guī)定時延內(nèi)完成,保障用戶的服務(wù)質(zhì)量(QoS,quality of service)。約束條件C2和C3 要求每個任務(wù)只能且必須選擇一個邊緣服務(wù)器和一個邊緣網(wǎng)關(guān)。約束條件C4 和C5 要求每個任務(wù)選擇唯一且可通信的路徑。約束條件C6~C8 分別要求滿足邊緣服務(wù)器的最大存儲空間限制、邊緣服務(wù)器的最大時鐘頻率限制和邊緣網(wǎng)關(guān)的最大發(fā)射功率限制。約束條件C9 和C10 分別對一個任務(wù)可獲得的邊緣服務(wù)器時鐘頻率、邊緣網(wǎng)關(guān)發(fā)射功率大小進行限制。
在該優(yōu)化問題中,有六類決策變量,分別為xk,s、yk,g、zs,g、wg,d、和fk。其中,xk,s、yk,g、zs,g和wg,d是離散的0-1 整數(shù)變量,和fk是連續(xù)變量。
由于部分決策變量是離散變量,該優(yōu)化問題的可行解集不是凸集,不是一個凸優(yōu)化問題,無法利用凸優(yōu)化問題優(yōu)良的全局最優(yōu)解性質(zhì),可以分析得到該問題是一個混合整數(shù)規(guī)劃問題??紤]到實際工程實踐的可行性,需要重點關(guān)注的不是如何精確求解最優(yōu)解,而是如何高效快速地獲得一個較好的可行解,結(jié)合相關(guān)工作分析,本文利用基于DDQL 的模型來完成上述能耗優(yōu)化模型的求解。
考慮到實際網(wǎng)絡(luò)的有線部分連接關(guān)系相對固定,因此,在任務(wù)選擇ES 與EG 時,將ES 與EG的連接關(guān)系zs,g和EG 與ED 的覆蓋關(guān)系wg,d作為已知條件。假設(shè)每個EG 只與一個ES 連接,因此確定了要選擇的EG 后,只有唯一的ES 滿足EG 與ES 可通信的約束條件,因此,可以將xk,s、yk,g兩類決策變量合并為一類決策變量uk,表示任務(wù)k選擇的EG,選擇的ES 即為該EG 連接的ES。發(fā)起任務(wù)k的設(shè)備為EDdk,這個是進行資源分配前的已知條件,且每個任務(wù)只能選擇一個EG,因此任務(wù)k獲得EG 的發(fā)射功率也可表示為pk。
經(jīng)過簡化后,關(guān)于任務(wù)k的決策變量有3 個,分別為選擇的EG 的編號uk、任務(wù)獲得EG 發(fā)射功率pk、任務(wù)獲得ES 時鐘頻率fk。結(jié)合優(yōu)化模型中給出的優(yōu)化目標(biāo),MEN 高能效資源分配問題就是要對每個任務(wù)的EG 連接關(guān)系、獲得EG 發(fā)射功率、獲得ES 時鐘頻率進行決策,在滿足時延限制、資源限制等約束條件的情況下,最小化任務(wù)平均能耗。
假設(shè)任務(wù)k可選擇的EG 的個數(shù)為,將連續(xù)變量pk、fk的可能取值離散化,假設(shè)任務(wù)k獲得EG 發(fā)射功率可能數(shù)值的個數(shù)為獲得ES 時鐘頻率可能數(shù)值的個數(shù)為。若使用暴力搜索算法來遍歷求解具有K個任務(wù)資源分配,其時間復(fù)雜度為具有指數(shù)級的時間復(fù)雜度,這是一個NP-hard 的復(fù)雜決策優(yōu)化問題,不適合大規(guī)模場景,因此需要使用智能算法在合理的時間內(nèi)求次優(yōu)解。
DRL 算法將深度學(xué)習(xí)(DL,deep learning)的強表征能力與RL 的強決策能力相結(jié)合,并且適用于具有動態(tài)性的環(huán)境。Q 學(xué)習(xí)(Q-learning)算法是一種經(jīng)典的RL 算法,DQL 算法將DL 方法引入Q-learning 中,突破了Q-learning 算法不適用于高維決策任務(wù)的局限性。DQL 算法狀態(tài)空間相對容易構(gòu)造,動作和獎勵與網(wǎng)絡(luò)優(yōu)化的過程和目標(biāo)有天然的契合度,是一種可用于網(wǎng)絡(luò)資源分配的有效方法。但DQL 算法中被高估的Q值影響了算法的性能,DDQL 算法通過分解動作選擇和策略評估來克服此問題[23]。本文提出基于DDQL 的移動邊緣網(wǎng)絡(luò)高能效資源分配方法。
RL 是智能體通過與環(huán)境交互,觀察做出動作后得到的獎勵,通過改變自己的行為來學(xué)習(xí)得到更多獎勵的策略。RL 重要基礎(chǔ)之一是試錯的學(xué)習(xí)方式,其流程為在時刻t,智能體從環(huán)境中觀察到狀態(tài)st,利用策略π選擇動作at。一旦該動作被執(zhí)行,環(huán)境轉(zhuǎn)變到下一個狀態(tài)st+1,向智能體提供獎勵rt作為反饋。智能體的目標(biāo)是學(xué)習(xí)一個可以最大化期望累積獎勵的策略[25]。
在一個回合(Episode)中,從時刻t起,考慮無限長的時間,智能體獲得的累積獎勵定義為
其中,γ∈[0,1]為折扣因子,用來削減未來獎勵對現(xiàn)在的影響,越遠的獎勵作用越小。
結(jié)合本文的優(yōu)化模型,對RL 的三要素,即狀態(tài)、動作和獎勵進行定義。
狀態(tài):狀態(tài)即為所有決策變量的組合。每個任務(wù)選擇的EG 表示為向量u=[u1,u2,…,uK],每個任務(wù)獲得的 EG 發(fā)射功率表示為向量p=[p1,p2,…,pK],每個任務(wù)獲得的ES 時鐘頻率表示為向量f=[f1,f2,…,fK]。狀態(tài)定義為s=[u p f],是一個3K維的向量。
獎勵:與式(23)模型的優(yōu)化目標(biāo)相對應(yīng)。由于DRL 算法要最大化累積獎勵,而模型的優(yōu)化目標(biāo)要最小化任務(wù)平均能耗,所以將立即獎勵設(shè)為優(yōu)化目標(biāo)的相反數(shù),為了使獎勵為正,再加上一個適當(dāng)大的正數(shù)Emax,Emax表示任務(wù)最大能耗。在狀態(tài)不滿足式(23)約束條件時,獎勵為0。獎勵定義為
Q值,即狀態(tài)?動作值函數(shù),表示在狀態(tài)s選擇動作a,按照策略π執(zhí)行,獲得的期望累積回報,定義為
Q-learning算法需要將每個狀態(tài)–動作對的Q值以表格形式存儲,當(dāng)狀態(tài)或動作空間過大時,便無法存儲。
DQL 算法通過深度神經(jīng)網(wǎng)絡(luò)(DNN,deep neural network)來逼近最優(yōu)策略對應(yīng)Q值,表示為Q?(s,a)[26],如式(27)所示。
其中,參數(shù)θ代表神經(jīng)網(wǎng)絡(luò)的權(quán)重,在迭代中通過調(diào)整參數(shù)θ來訓(xùn)練神經(jīng)網(wǎng)絡(luò)。將用來估計值函數(shù)的神經(jīng)網(wǎng)絡(luò)稱為Q 網(wǎng)絡(luò)(Q-network)。
本文使用的DNN 為多層前饋神經(jīng)網(wǎng)絡(luò)(FNN,feedforward neural network),神經(jīng)元分層排列,相鄰兩層的神經(jīng)元之間全連接,通過反向傳播來調(diào)整參數(shù)。DNN 以狀態(tài)為輸入,輸出所有可能的動作對應(yīng)的Q值。DNN 使用ReLU 函數(shù)作為激活函數(shù),ReLU 函數(shù)定義為
DQL 算法中,使用2 個結(jié)構(gòu)相同的DNN。其中,當(dāng)前Q 網(wǎng)絡(luò)為φ,參數(shù)為θ,用于評估當(dāng)前狀態(tài)動作對的Q值;目標(biāo)Q 網(wǎng)絡(luò)為,參數(shù)為θ?,用于產(chǎn)生目標(biāo)Q值。
誤差函數(shù)為均方誤差形式,定義[27]為
其中,s′為在狀態(tài)s執(zhí)行動作a后的下一個狀態(tài),a′為狀態(tài)s′下可選擇的動作。
DQL 算法引入固定Q 目標(biāo)機制,使用2 個DNN的原因是,如果使用同一個DNN 計算誤差并更新參數(shù),根據(jù)不斷變化的Q值更新網(wǎng)絡(luò),容易導(dǎo)致訓(xùn)練過程不穩(wěn)定。因此,使用2 個結(jié)構(gòu)相同的DNN,當(dāng)前Q 網(wǎng)絡(luò)每步都通過隨機梯度下降的方法進行更新,降低誤差;目標(biāo)Q 網(wǎng)絡(luò)每隔一定的步數(shù)更新一次,賦值為和當(dāng)前Q 網(wǎng)絡(luò)相同的參數(shù)。
DQL 算法中還使用了經(jīng)驗回放機制。將在每個時刻t下,智能體獲得的經(jīng)驗et=(st,at,rt,st+1)存入回放記憶單元中?;胤庞洃泦卧娜萘坑幸欢ǖ南拗疲鏉M后,存入新的經(jīng)驗時會隨機替換掉舊的經(jīng)驗。訓(xùn)練時,每次從回放記憶單元中隨機采樣,用小批量的樣本對網(wǎng)絡(luò)進行訓(xùn)練,更新網(wǎng)絡(luò)參數(shù)。
但DQL 根據(jù)式(30)計算目標(biāo)Q值時,每次都選擇下一個狀態(tài)中最大的Q值,且選擇和評價動作都基于目標(biāo)Q 網(wǎng)絡(luò)的參數(shù)θ?,這會使Q值被高估。
DDQL 算法針對上述問題進行改進。在DDQL 算法中,Q 網(wǎng)絡(luò)φ中的參數(shù)θ用來選擇Q值最大的動作,目標(biāo)Q 網(wǎng)絡(luò)的參數(shù)為θ?用來評估最優(yōu)動作的Q值,將動作選擇和策略評估分開。目標(biāo)Q值[23]為
誤差函數(shù)定義為
DDQL 算法的其他方面與DQL 一致,其算法框架如圖2 所示。
DDQL 算法分為離線訓(xùn)練和在線運行2 個階段。其中,離線訓(xùn)練階段需要進行許多回合,對Q網(wǎng)絡(luò)進行訓(xùn)練,在選擇動作的時候使用的是ε-貪心策略,如算法1 所示。ε-貪心策略是指,對于探索利用率ε∈[0,1],以ε的概率隨機選擇動作,以(1 ?ε)的概率選擇Q值最大的動作。在在線運行階段,為了減少運行時間,提升收斂速度,不對Q 網(wǎng)絡(luò)參數(shù)進行更新,采用貪心策略選擇Q值最大的動作[21],如算法2 所示。
算法1DDQL 訓(xùn)練階段流程
輸入系統(tǒng)環(huán)境參數(shù)、任務(wù)參數(shù)和DDQL 算法參數(shù)
輸出當(dāng)前Q 網(wǎng)絡(luò)參數(shù)θ
圖2 DDQL 算法框架
算法2DDQL 在線運行階段流程
輸入系統(tǒng)環(huán)境參數(shù)、任務(wù)參數(shù)、DDQL 算法參數(shù)和當(dāng)前Q 網(wǎng)絡(luò)參數(shù)θ、當(dāng)前狀態(tài)s1
輸出最終狀態(tài)sMaxStep+1
為驗證本文提出的基于DDQL 的求解方法的效果,將RA、GA、PSO 算法、DQL 算法作為對比算法。以下對幾種對比算法進行簡要介紹。
1) RA:隨機選擇EG 與資源進行分配,直到滿足約束條件為止。
2) GA:貪心策略是給每個任務(wù)分配盡量小的EG 發(fā)射功率和ES 時鐘頻率。首先給每個任務(wù)分配Pmin的EG 發(fā)射功率和Fmin的ES 時鐘頻率,若無法滿足約束條件,再依次給每個任務(wù)按照與DDQL 算法相同的步長增加分配的資源,直到滿足約束條件為止。
3) PSO 算法:PSO 算法是一種模擬鳥類行為的群體智能優(yōu)化算法。首先初始化一群例子,粒子具有位置、速度和適應(yīng)度特征,每個粒子的位置代表一個可能的解。在每次迭代中,粒子通過個體極值Pbest 和群體極值Gbest 更新自身速度,通過速度改變位置,重新計算適應(yīng)度,并更新Pbest 和Gbest。
每個粒子的位置即為DDQL 算法中定義的狀態(tài)s,共N維,N=3K。因此,對粒子的位置、速度等進行如下定義。
其中,n∈[1,N]代表維度編號;ω為慣性因子,其取值范圍為非負;c1,c2為加速常數(shù),前者為每個粒子的個體學(xué)習(xí)因子,后者為社會學(xué)習(xí)因子,取值范圍均為非負;r1,r2為2 個[0,1]內(nèi)的隨機數(shù)。
之后,檢查每個粒子每一維度的速度,若超出[vmin,vmax]的范圍,則對速度進行修正。位置更新式為
適應(yīng)度函數(shù)是評價粒子位置的指標(biāo),最優(yōu)位置是適應(yīng)度最大的位置。適應(yīng)度的定義與DDQL 算法中的獎勵相同,即式(25)。
4) DQL 算法:已在3.3 節(jié)中進行介紹,在此不再贅述。
針對本文方法和對比算法的時間復(fù)雜度分析如下。
RA。設(shè)找到可行解需要的迭代步數(shù)為TRA,則RA 的時間復(fù)雜度為O(TRAK)。由于RA 是隨機進行資源分配,TRA的隨機性也較大。
GA。設(shè)找到可行解需要的迭代步數(shù)為TGA,則GA 的時間復(fù)雜度為O(TGAK)。在任務(wù)數(shù)較小、資源不緊缺的情況下,TGA一般也較小,隨著任務(wù)數(shù)的增多,需要更多的迭代次數(shù)以找到滿足約束的可行解。
PSO 算法。設(shè)迭代總步數(shù)為TPSO,則PSO 算法的時間復(fù)雜度為O(TPSOMK)。
DDQL 算法。訓(xùn)練階段的時間復(fù)雜度需要考慮訓(xùn)練Q 網(wǎng)絡(luò)的時間復(fù)雜度和訓(xùn)練Q 網(wǎng)絡(luò)的次數(shù)兩部分。在訓(xùn)練Q 網(wǎng)絡(luò)的過程中,需要對每相鄰兩層神經(jīng)元之間的連接權(quán)重進行更新,設(shè)Q 網(wǎng)絡(luò)的層數(shù)為nl,第i層中神經(jīng)元的個數(shù)為ni,每次訓(xùn)練中的迭代次數(shù)為Tudp,則訓(xùn)練一次Q 網(wǎng)絡(luò)的時間復(fù)雜度為記回合數(shù)為TEpi,每回合中步數(shù)為TStep,則訓(xùn)練Q 網(wǎng)絡(luò)的次數(shù)為TEpiTStep,因此,DDQL 訓(xùn)練階段的時間復(fù)雜度使用早停、隨機失活等技巧來優(yōu)化神經(jīng)網(wǎng)絡(luò)訓(xùn)練,會對時間復(fù)雜度產(chǎn)生一定影響,因此以上結(jié)果為近似結(jié)果。DDQL 算法運行階段的時間復(fù)雜度為O(TStepK)。DDQL 算法在線訓(xùn)練階段的時間復(fù)雜度較高,但將Q 網(wǎng)絡(luò)訓(xùn)練好后,運行階段不需要更新Q 網(wǎng)絡(luò)且只需進行一個回合,時間復(fù)雜度低,運行時間短,可以滿足實時網(wǎng)絡(luò)條件下對在線決策時間的要求。因此,本文在對比不同算法的時間復(fù)雜度時,使用運行階段的時間復(fù)雜度。
DQL 算法。算法的時間復(fù)雜度與DDQL 算法相同。
綜上所述,各算法的時間復(fù)雜度如表1 所示。
表1 算法時間復(fù)雜度
在忽略任務(wù)數(shù)對迭代步數(shù)影響的情況下,RA、GA、PSO、DDQL、DQL 等算法的時間復(fù)雜度和任務(wù)數(shù)K成線性關(guān)系,相比于具有指數(shù)級時間復(fù)雜度的暴力搜索算法,時間復(fù)雜度顯著下降。
本章對提出的基于DDQL 的資源分配方法進行仿真實驗。首先,對仿真場景和仿真參數(shù)進行說明;然后,展示仿真結(jié)果,并對其進行分析。
在仿真實驗中,考慮多邊緣服務(wù)器、多邊緣網(wǎng)關(guān)、多終端設(shè)備的仿真場景,如圖3 所示??紤]900 m×900 m 的網(wǎng)絡(luò)覆蓋范圍,其中包含4 個邊緣服務(wù)器,11 個邊緣網(wǎng)關(guān),以及若干終端設(shè)備,其數(shù)量可設(shè)定,位置隨機。邊緣網(wǎng)關(guān)部署在基站側(cè),每個基站的覆蓋范圍的半徑為200 m,圖3 中以維諾圖的形式表示基站的覆蓋范圍。邊緣服務(wù)器與邊緣網(wǎng)關(guān)連接關(guān)系固定,邊緣網(wǎng)關(guān)與終端設(shè)備的連接關(guān)系需要后續(xù)通過算法進行決策。
圖3 仿真場景
根據(jù)文獻[28-31]設(shè)置默認情況下的系統(tǒng)參數(shù),如表2 所示。假設(shè)每個ED 發(fā)起一個任務(wù),其余的任務(wù)相關(guān)的參數(shù)隨機生成,在所給范圍內(nèi)均勻分布。
表2 系統(tǒng)參數(shù)設(shè)置
根據(jù)文獻[32]設(shè)置DDQL 和DQL 算法參數(shù),如表3 所示。表4 為PSO 算法參數(shù)設(shè)置。
表3 DDQL 和DQL 算法參數(shù)設(shè)置
表4 PSO 算法參數(shù)設(shè)置
本文通過MATLAB 建立數(shù)值仿真環(huán)境評估所提算法的性能。
DDQL 和DQL 算法需要在實際運行前進行Q網(wǎng)絡(luò)的訓(xùn)練。圖4 為2 種算法在訓(xùn)練過程中的Q值變化情況。Q值起初都在0 附近,隨著回合數(shù)增加,Q值先逐漸增加,而后趨于穩(wěn)定。DDQL 算法的Q值在100 回合左右收斂,DQL 算法的Q值在300回合左右收斂。相比于DQL 算法,DDQL 算法在訓(xùn)練階段具有更快的收斂速度。并且,DQL 算法的Q值明顯大于DDQL 算法的Q值,反映出DQL 算法存在Q值過估計的問題。
圖4 DDQL 算法和DQL 算法訓(xùn)練階段Q 值變化情況
接下來對算法在在線運行階段的性能進行評估與分析。
圖5 為不同算法在不同任務(wù)數(shù)下的收斂步數(shù)對比。其中,GA 的收斂步數(shù)是指在找到可行解之前的迭代次數(shù),找到可行解后算法停止。PSO 算法、DQL 算法、DDQL 算法的收斂步數(shù)是指結(jié)果趨于穩(wěn)定前經(jīng)過的迭代次數(shù)。GA、PSO 算法在任務(wù)數(shù)為10 時,收斂步數(shù)很少,但隨著任務(wù)數(shù)增加,GA 的收斂步數(shù)迅速增加,而PSO 的收斂步數(shù)也在任務(wù)數(shù)大于60 之后明顯增加。這是因為隨著任務(wù)數(shù)增加,資源逐漸緊張,需要更多的步數(shù)來搜索可行解并優(yōu)化至收斂。相比之下,在任務(wù)數(shù)少時,DDQL 算法和DQL 算法的收斂步數(shù)略多于GA 與PSO,但隨著任務(wù)數(shù)增加,DDQL 算法和DQL 算法的收斂步數(shù)也基本穩(wěn)定,在狀態(tài)與動作維度較高的情況下也顯示出了良好的收斂性。并且,DDQL 算法的收斂步數(shù)總體上少于DQL 算法。
圖5 不同算法收斂步數(shù)對比
圖6~圖8 是任務(wù)數(shù)為50 時,PSO、DQL 和DDQL算法運行階段的變化情況。圖6 為任務(wù)平均能耗變化情況。PSO 雖然收斂速度快,在10 步就收斂,但是過早地陷入了局部最優(yōu)解,最終任務(wù)平均能耗為0.356 J。由于PSO 算法會維護歷史群體最優(yōu)值,所以迭代過程中,任務(wù)平均能耗只會單調(diào)減少,不會出現(xiàn)起伏波動。DQL 算法的收斂步數(shù)略多,在38 步收斂,最終任務(wù)平均能耗為0.321 J。DDQL 算法的收斂步數(shù)在PSO 算法和DQL 算法之間,DDQL 算法在第21 步收斂,最終任務(wù)平均能耗為0.291 J,比PSO 算法少18.3%,比DQL 算法少9.4%。
圖7 為任務(wù)平均獲得的EG 發(fā)射功率與ES 時鐘頻率變化情況,其收斂情況與圖6 相吻合。最終,在PSO、DQL 和DDQL 算法下,任務(wù)平均獲得的EG發(fā)射功率分別為0.52 W、0.64 W 和0.59 W,ES 時鐘頻率分別為1.15 GHz、1.20 GHz 和1.09 GHz。
圖6 任務(wù)平均能耗變化情況
圖7 資源分配變化情況
圖8 為任務(wù)平均時延與傳輸速率變化情況。3 種算法經(jīng)過迭代優(yōu)化,在任務(wù)平均能耗減小的同時,任務(wù)平均時延減少,任務(wù)平均傳輸速率增加,提升了用戶QoS,系統(tǒng)獲得了更好的性能。但DQL 用多于DDQL 算法的任務(wù)平均能耗,獲得了更低的任務(wù)平均時延和更高的傳輸速率,反映了能耗與性能存在一定的折中關(guān)系。
圖8 任務(wù)平均時延與傳輸速率變化情況
圖9 為任務(wù)數(shù)為50 時,任務(wù)平均能耗與任務(wù)需要的CPU 時鐘周期數(shù)和任務(wù)傳輸數(shù)據(jù)量的關(guān)系圖。每個算法在每個測試任務(wù)數(shù)據(jù)量下進行100 組實驗,對結(jié)果取平均值。基于DDQL 的算法比基于RA、GA、PSO 和DQL 的算法分別降低了46.0%、10.2%、18.6%和5.4%的任務(wù)平均能耗。基于DDQL的資源分配方法能有效降低任務(wù)平均能耗。
圖9 任務(wù)平均能耗與任務(wù)數(shù)據(jù)量關(guān)系
圖10 為任務(wù)平均能耗隨任務(wù)數(shù)變化情況。由圖9 可以看出,任務(wù)需要的CPU 時鐘周期數(shù)和任務(wù)傳輸數(shù)據(jù)量對任務(wù)平均能耗影響較大,因此,在進行任務(wù)平均能耗與任務(wù)數(shù)關(guān)系的仿真實驗時,將任務(wù)需要的CPU 時鐘周期數(shù)均設(shè)為300 Mcycle,任務(wù)傳輸數(shù)據(jù)量均設(shè)為6 MB。在每個測試任務(wù)數(shù)下,進行100 組實驗,對結(jié)果取平均值。由圖10可以看出,隨著任務(wù)數(shù)增加,任務(wù)平均能耗也增加,但增長幅度較小。不同的算法對最終的任務(wù)平均能耗影響較大?;贒DQL 的算法比基于RA、GA、PSO 和DQL 的算法分別降低了65.0%、21.5%、37.4%和5.0%的任務(wù)平均能耗。
圖10 任務(wù)平均能耗與任務(wù)數(shù)關(guān)系
綜上,本文通過仿真實驗,驗證了提出的基于DDQL 的求解方法對解決多任務(wù)資源分配問題的有效性。訓(xùn)練過程與運行結(jié)果能夠收斂,在訓(xùn)練階段具有比DQL 算法更快的收斂速度;在運行階段,當(dāng)任務(wù)數(shù)較多時,相比于GA、PSO 算法,DDQL算法收斂步數(shù)優(yōu)勢明顯。運行中,DDQL 算法在降低任務(wù)平均能耗的同時,也能對任務(wù)平均時延與傳輸速率進行一定程度的優(yōu)化。相比基于RA、GA、PSO 算法、DQL 算法的方法,基于DDQL 算法的邊緣網(wǎng)絡(luò)資源分配方法能有效降低任務(wù)平均能耗。
本文對移動邊緣網(wǎng)絡(luò)資源分配方法進行研究??紤]任務(wù)完成時延限制和通信、計算、存儲資源限制等約束條件,建立任務(wù)平均能耗最小化的資源分配模型,并提出基于DDQL 的求解方法,相比基于RA、GA、PSO、DQL 的多種求解方法,降低了至少5%的任務(wù)平均能耗。本文提出的算法為移動邊緣網(wǎng)絡(luò)中低能耗資源分配方法提供了一種有借鑒意義的參考。
本文還存在一些不足之處,需進一步改進與優(yōu)化。例如,在優(yōu)化模型上,需要考慮在云中心、邊緣節(jié)點、終端設(shè)備協(xié)同配合的場景下,對計算卸載位置、各類資源分配等進行聯(lián)合決策與優(yōu)化;同時考慮上下行流量的傳輸過程,建立更通用的模型。在算法優(yōu)化上,可考慮使用能直接對連續(xù)動作空間進行優(yōu)化的方法,來避免動作步長對結(jié)果產(chǎn)生的影響。例如,目前獎勵設(shè)置采用的是約束判別方法,后續(xù)需要考慮更為高級的處理方法,如將約束疊加至目標(biāo)中。此外,目前DDQL 算法的超參數(shù)靠人工設(shè)定,后續(xù)需要研究算法的加速機制和參數(shù)自適應(yīng)設(shè)置方式,并探討將算法用于實際系統(tǒng)中的可行性。