王 曉,唐 倫 ,賀小雨,陳前斌
1.重慶郵電大學(xué) 通信與信息工程學(xué)院,重慶 400065
2.重慶郵電大學(xué) 移動(dòng)通信技術(shù)重點(diǎn)實(shí)驗(yàn)室,重慶 400065
為了在同一物理網(wǎng)絡(luò)上同時(shí)支持多元化的業(yè)務(wù)場(chǎng)景,“網(wǎng)絡(luò)切片”普遍被業(yè)界認(rèn)為是一種理想的網(wǎng)絡(luò)模型。網(wǎng)絡(luò)功能虛擬化(Network Function Virtualization,NFV)是支撐網(wǎng)絡(luò)切片的關(guān)鍵技術(shù)之一。NFV技術(shù)利用云計(jì)算和虛擬化技術(shù)編排不同的虛擬網(wǎng)絡(luò)功能(Virtualized Network Function,VNF),并將其映射在通用物理服務(wù)器設(shè)備上完成相應(yīng)網(wǎng)絡(luò)功能。一個(gè)完整的服務(wù)請(qǐng)求由多個(gè)VNF 有序連接而成,形成一條服務(wù)功能鏈(Service Function Chain,SFC),多個(gè)相同業(yè)務(wù)類型的SFC 組成一個(gè)網(wǎng)絡(luò)切片[1-2]。如何在底層物理網(wǎng)絡(luò)上部署SFC 是NFV 技術(shù)的關(guān)鍵問題。SFC 部署問題的實(shí)質(zhì)是將VNF和連接VNF的虛擬鏈路分別在底層物理網(wǎng)絡(luò)滿足資源容量需求的服務(wù)器與物理鏈路上實(shí)例化,并將底層網(wǎng)絡(luò)的物理資源(如計(jì)算資源、鏈路帶寬資源)分配給SFC 的各個(gè)組成部分(VNF、虛擬鏈路),形成一條端到端通路,完成相應(yīng)的用戶服務(wù)請(qǐng)求[3-4]。網(wǎng)絡(luò)資源是有限的,如何在保證用戶SFC服務(wù)質(zhì)量的前提下節(jié)約資源消耗,降低運(yùn)營成本,對(duì)運(yùn)營商來說至關(guān)重要。
目前,針對(duì)SFC 的研究并不完善,現(xiàn)有研究通常根據(jù)不同的服務(wù)需求和網(wǎng)絡(luò)場(chǎng)景來設(shè)定一個(gè)服務(wù)功能鏈映射的優(yōu)化目標(biāo),并設(shè)計(jì)啟發(fā)式算法進(jìn)行求解。如文獻(xiàn)[5]考慮在保證資源限制的前提下優(yōu)化SFC的部署成本,提出了一種基于動(dòng)態(tài)規(guī)劃的成本優(yōu)化算法進(jìn)行求解。文獻(xiàn)[6]考慮動(dòng)態(tài)網(wǎng)絡(luò)功能部署和路由優(yōu)化問題,聯(lián)合優(yōu)化可接受最大流速率(Flowrate)和能耗,建立了一個(gè)混合整數(shù)線性規(guī)劃模型,設(shè)計(jì)了一種基于流補(bǔ)償?shù)慕品峙渌惴ㄟM(jìn)行求解。文獻(xiàn)[7]考慮在內(nèi)容分發(fā)網(wǎng)絡(luò)場(chǎng)景下部署實(shí)現(xiàn)內(nèi)容分發(fā)功能的SFC,在保證時(shí)延要求的前提下最小化部署成本,并將此優(yōu)化問題轉(zhuǎn)化為一個(gè)整數(shù)線性規(guī)劃問題,提出了一種前攝性VNF 鏈部署算法進(jìn)行求解。
以上研究均是針對(duì)SFC在核心網(wǎng)的部署,然而對(duì)于無線用戶,在接入網(wǎng)端進(jìn)行無線資源(如子載波資源、發(fā)送功率等)分配是完成端到端服務(wù)必不可少的一部分,因此,在NFV場(chǎng)景下,將無線資源分配與SFC部署進(jìn)行聯(lián)合優(yōu)化還需進(jìn)一步深入研究。此外,經(jīng)證明SFC部署問題是NP-hard 問題[8],現(xiàn)有研究通常設(shè)計(jì)啟發(fā)式算法來求出次優(yōu)解,并且較少考慮到無線環(huán)境的動(dòng)態(tài)性而在單時(shí)隙中優(yōu)化網(wǎng)絡(luò)性能。然而,面對(duì)復(fù)雜多變的網(wǎng)絡(luò)環(huán)境,這樣的啟發(fā)式算法難以達(dá)到理想的優(yōu)化效果。
針對(duì)上述問題,本文聯(lián)合考慮SFC部署和無線資源分配,提出一種基于深度強(qiáng)化學(xué)習(xí)(Deep Reinforcement Learning,DRL)的SFC多維資源聯(lián)合分配算法。主要貢獻(xiàn)包括:
(1)針對(duì)無線用戶的SFC 服務(wù)請(qǐng)求,構(gòu)建一種基于環(huán)境感知的SFC資源分配機(jī)制,將用戶可達(dá)的無線速率作為SFC部署的流速率,以此作為依據(jù)來分配SFC節(jié)點(diǎn)計(jì)算資源和鏈路帶寬等資源;
(2)根據(jù)上述基于環(huán)境感知的SFC 資源分配機(jī)制,建立用戶時(shí)延要求、無線速率需求以及資源容量約束下的SFC部署成本最小化模型;
(3)將此優(yōu)化模型轉(zhuǎn)化為在離散時(shí)間下的具有連續(xù)狀態(tài)空間、高維度動(dòng)作空間的無模型馬爾科夫決策過程(Markov Decision Process,MDP)模型,并提出一種基于深度確定性策略梯度(Deep Deterministic Policy Gradient,DDPG)[9]的SFC多維資源聯(lián)合分配算法,實(shí)現(xiàn)對(duì)SFC多維資源的聯(lián)合優(yōu)化。
本文的網(wǎng)絡(luò)場(chǎng)景采用基于NFV/SDN(Software Defined Network)控制面與數(shù)據(jù)面相分離的架構(gòu),如圖1所示??刂泼娴腘FV管理編排器(Management and Orchestration,MANO)負(fù)責(zé)對(duì)用戶的SFC進(jìn)行部署和資源分配決策,數(shù)據(jù)面的NFV 基礎(chǔ)設(shè)施(NFV Infrastructure,NFVI)為分布式高性能通用服務(wù)器,負(fù)責(zé)用戶SFC中VNF的實(shí)例化和鏈路傳輸。
圖1 網(wǎng)絡(luò)場(chǎng)景
針對(duì)無線用戶的下行SFC請(qǐng)求,要完成完整的端到端通信除了需要常規(guī)的VNF 部署之外,還需要在無線接入網(wǎng)端為用戶分配無線頻譜和發(fā)送功率等資源。在傳統(tǒng)SFC 部署問題中,通常為一條SFC 指定一個(gè)流速率,或者為SFC 中的每個(gè)VNF 和虛擬鏈路指定所需的資源消耗[6],但由于SFC 在有線鏈路的流速率與最終用戶可達(dá)的無線速率不匹配,導(dǎo)致核心網(wǎng)資源浪費(fèi)。針對(duì)這一問題,本文構(gòu)建了一種基于環(huán)境感知的SFC資源分配機(jī)制。所謂“環(huán)境感知”,即在無線端監(jiān)測(cè)用戶的信道狀態(tài),并分配相應(yīng)無線資源,從而根據(jù)香農(nóng)公式獲得用戶可達(dá)的無線速率,以此速率作為整個(gè)SFC 的流速率,進(jìn)行相應(yīng)VNF和虛擬鏈路的計(jì)算資源和鏈路帶寬資源的分配。這樣,以用戶可達(dá)的無線速率作為依據(jù)來分配SFC 各部分資源,節(jié)約了核心網(wǎng)資源消耗,從而有效降低了SFC 的部署成本。本文的資源分配在核心網(wǎng)中考慮物理節(jié)點(diǎn)計(jì)算資源與有線鏈路帶寬資源,在無線接入網(wǎng)中考慮子載波分配。
底層物理網(wǎng)絡(luò)用無向圖G=(N,E)表示。其中N={n1,n2,…}為物理節(jié)點(diǎn)集合,由分布式的標(biāo)準(zhǔn)化高性能通用服務(wù)器組成,用Nr={r1,r2,…}表示無線接入網(wǎng)中小基站(Small Base Station,SBS)集合,有Nr?N;E={(ni,nj)|ni,nj∈N,Bi,j >0}為物理鏈路集合。用C1×|N|=[c1,c2,…]表示物理節(jié)點(diǎn)計(jì)算資源容量,其中ci為物理節(jié)點(diǎn)ni的計(jì)算資源容量;用B|N|×|N|=[Bi,j]表示物理節(jié)點(diǎn)的關(guān)聯(lián)矩陣,其元素Bi,j表示節(jié)點(diǎn)ni和nj間的鏈路帶寬容量,若兩點(diǎn)間無鏈路則為0;用表示SBS的子載波資源向量,其中表示SBSri的子載波個(gè)數(shù)。
服務(wù)請(qǐng)求集合用F={1,2,…,f,…}表示。一個(gè)SFC請(qǐng)求為一個(gè)五元組f=<sfcf,Loadf,rf,Delayf,Cf >,其中sfcf表示f的SFC 邏輯鏈路,Loadf表示f的負(fù)載(單位:Mbit),rf表示發(fā)起該服務(wù)請(qǐng)求的用戶所關(guān)聯(lián)的SBS,Delayf表示f的時(shí)延要求,Cf表示f的無線速率要求。
本文的研究目標(biāo)是在動(dòng)態(tài)變化的無線信道環(huán)境中,為每個(gè)時(shí)隙的服務(wù)請(qǐng)求做出SFC 部署與資源分配決策。部署變量包括每個(gè)時(shí)隙的VNF部署變量及其計(jì)算資源分配、鏈路映射變量及其帶寬分配以及無線接入網(wǎng)子載波分配。用二進(jìn)制矩陣表示VNF 部署矩陣,其中表示在t時(shí)隙VNF部署在物理節(jié)點(diǎn)nj上,否則為0;用表示sfcf鏈路部署變量,在t時(shí)隙當(dāng)sfcf中從vi出發(fā)的虛擬鏈路映射在物理鏈路(np,nq)上時(shí),有否則為0,進(jìn)而可用表示sfcf中所有鏈路的映射集合。當(dāng)節(jié)點(diǎn)映射完成后,以SFC相鄰節(jié)點(diǎn)間映射的物理節(jié)點(diǎn)的Dijkstra最短路徑作為該虛擬鏈路的映射結(jié)果。如圖2 所示,SFC 中一條虛擬鏈路(i,j)的相鄰兩個(gè)VNF分別映射在物理節(jié)點(diǎn)n1和n3上,則該虛擬鏈路映射即為節(jié)點(diǎn)n1和n3間的Dijkstra 最短路徑n1→n2→n3。
圖2 鏈路映射示意圖
用矩陣W(t)=[Wi,f(t)]表示SBS 子載波分配矩陣,其中Wi,f(t)表示在t時(shí)隙SBSri分配給服務(wù)請(qǐng)求f的子載波數(shù)量。用cpuf(t) 表示t時(shí)隙分配給sfcf中的VNF 的計(jì)算資源,用Bf(t)表示分配給sfcf的鏈路帶寬資源。假設(shè)t時(shí)隙節(jié)點(diǎn)處理速率與所分配計(jì)算資源cpuf(t)成正比:
其中,φ為轉(zhuǎn)化因子,根據(jù)本文所構(gòu)建的基于環(huán)境感知的SFC 資源分配機(jī)制,節(jié)點(diǎn)處理速率和鏈路帶寬Bf(t)應(yīng)與用戶可達(dá)的無線速率Cf(t)一致,即Bf(t)=Cf(t),則可得計(jì)算資源的需求量為:
本文的優(yōu)化目標(biāo)是在滿足服務(wù)請(qǐng)求時(shí)延要求和無線速率需求的前提下,最小化SFC部署成本。根據(jù)本文構(gòu)建的基于環(huán)境感知的SFC資源分配機(jī)制,首先要在每一時(shí)隙開始時(shí)監(jiān)測(cè)用戶無線接入網(wǎng)端的信號(hào)強(qiáng)度,SBS通過平均分配的方法對(duì)用戶進(jìn)行功率分配,從而得到用戶的信干噪比γi,f(t),即:
其中,B是單個(gè)子載波帶寬。將此用戶可達(dá)的無線速率作為該用戶SFC的流速率,以此為依據(jù)對(duì)SFC進(jìn)行資源分配。
本文考慮的部署成本由無線子載波資源成本、物理節(jié)點(diǎn)計(jì)算資源成本以及鏈路帶寬資源成本三部分組成,可表示為:
其中,ρw、ρc、ρb為三種成本權(quán)重因子,costw(t)為子載波資源消耗,costc(t)為物理節(jié)點(diǎn)計(jì)算資源消耗,costb(t)為有線鏈路帶寬資源消耗,分別表示如下:
每條SFC 需滿足由其自身服務(wù)特點(diǎn)所決定的時(shí)延需求。一條SFC的總時(shí)延D由物理節(jié)點(diǎn)處理時(shí)延Dc、有線鏈路傳輸時(shí)延Dl以及無線鏈路傳輸時(shí)延Dw組成。設(shè)節(jié)點(diǎn)處理時(shí)延與SFC負(fù)載Loadf成正比,與節(jié)點(diǎn)處理速率成反比,因此服務(wù)請(qǐng)求f的SFC節(jié)點(diǎn)處理時(shí)延為:
設(shè)有線鏈路傳輸時(shí)延與SFC負(fù)載Loadf成正比,與分配到的鏈路帶寬資源Bf(t)成反比,因此服務(wù)請(qǐng)求f的SFC有線鏈路傳輸時(shí)延為:
設(shè)無線傳輸時(shí)延與SFC負(fù)載Loadf成正比,與無線速率Cf(t)成反比,因此服務(wù)請(qǐng)求f的無線鏈路傳輸時(shí)延為:
由此可得,服務(wù)請(qǐng)求f的總時(shí)延為:
綜上所述,本文的優(yōu)化目標(biāo)可歸納如下:
其中,C1表示各個(gè)服務(wù)請(qǐng)求的時(shí)延要求,C2表示各個(gè)服務(wù)請(qǐng)求的無線速率需求,C3 表示每個(gè)VNF 必須映射到一個(gè)物理節(jié)點(diǎn)上,C4 表示每個(gè)物理節(jié)點(diǎn)計(jì)算資源的容量限制,C5表示每條物理鏈路帶寬資源限制,C6表示物理節(jié)點(diǎn)流守恒,C7表示SFC是一條不可分離流,C8表示SBS 無線子載波資源容量限制,C9 表示用戶的vr必須映射到與之關(guān)聯(lián)的SBS上。
上述模型中的環(huán)境狀態(tài)是動(dòng)態(tài)變化的用戶信干噪比,狀態(tài)空間具有馬爾科夫性且為連續(xù)值[10],同時(shí),模型中的決策變量包括每個(gè)用戶的子載波分配及其SFC 中每一個(gè)VNF 的部署,維度較高。馬爾科夫決策過程(MDP)是序貫決策的數(shù)學(xué)模型,用于系統(tǒng)狀態(tài)具有馬爾科夫性質(zhì)的環(huán)境,通過與環(huán)境的不斷交互來獲得更大的收益。因此上述優(yōu)化問題可轉(zhuǎn)化為具有連續(xù)狀態(tài)空間和高維度動(dòng)作空間的離散時(shí)間MDP模型。深度確定性策略梯度(DDPG)算法是一種基于行動(dòng)者-評(píng)論家(Actor-Critic,AC)算法架構(gòu)的深度強(qiáng)化學(xué)習(xí)算法[9],在智能決策問題中具有良好的性能優(yōu)勢(shì)。它利用神經(jīng)網(wǎng)絡(luò)從連續(xù)狀態(tài)空間和高維動(dòng)作空間中提取特征,并結(jié)合了深度Q網(wǎng)絡(luò)(Deep Q Network,DQN)算法中“經(jīng)驗(yàn)回放”(Experience Replay)和“固定目標(biāo)網(wǎng)絡(luò)”(Fixed Target Network)的思想,可以使算法在MDP 中達(dá)到理想的收斂速率和穩(wěn)定性[11]。因此,本文提出一種基于DDPG的SFC多維資源聯(lián)合分配算法求解上述優(yōu)化模型。
根據(jù)本文建立的SFC部署優(yōu)化問題,將該優(yōu)化問題轉(zhuǎn)化為一個(gè)具有連續(xù)狀態(tài)空間和高維度動(dòng)作空間的無模型MDP模型。MDP由一個(gè)四元組表示<S,A,Pr,r >,S表示狀態(tài)空間,A表示動(dòng)作空間,Pr表示狀態(tài)轉(zhuǎn)移概率,r表示獎(jiǎng)勵(lì)函數(shù)。其中,狀態(tài)空間S由時(shí)隙t各個(gè)用戶無線端可能的信干噪比組成,因此時(shí)隙t系統(tǒng)的狀態(tài)為:
動(dòng)作空間由用戶無線端子載波分配和VNF映射矩陣組成,則時(shí)隙t的動(dòng)作為:
根據(jù)本文構(gòu)建的基于環(huán)境感知的SFC 資源分配機(jī)制,以子載波分配W(t)所得到的用戶可達(dá)的無線速率作為用戶SFC計(jì)算資源和鏈路帶寬資源分配的依據(jù),并通過映射矩陣將 SFC 中各個(gè) VNF 映射到滿足資源容量約束的物理節(jié)點(diǎn)上,完成部署。
狀態(tài)轉(zhuǎn)移概率Pr可表示為:
其中,f(·)為狀態(tài)轉(zhuǎn)移概率密度函數(shù)。由于本MDP 中狀態(tài)空間為用戶在無線環(huán)境中的信干噪比,無法直接量化其狀態(tài)轉(zhuǎn)移概率,因此將其視為未知概率。所謂“無模型”MDP,即狀態(tài)轉(zhuǎn)移概率難以求得,不依賴于環(huán)境的MDP模型。
當(dāng)環(huán)境處于狀態(tài)st時(shí)執(zhí)行動(dòng)作at,系統(tǒng)會(huì)進(jìn)入下一狀態(tài)st+1,并得到即時(shí)獎(jiǎng)勵(lì)rt,本文優(yōu)化目標(biāo)為SFC的部署總成本,因此將成本的相反數(shù)設(shè)為獎(jiǎng)勵(lì)函數(shù),即:
動(dòng)作a的來源為一個(gè)確定性策略π,由策略π可得到每個(gè)時(shí)隙的子載波分配和SFC部署決策,π為狀態(tài)空間S到動(dòng)作空間A的一個(gè)映射,可表示為:
動(dòng)作值函數(shù)Q(s,a)表示從當(dāng)前狀態(tài)并采取某一動(dòng)作后執(zhí)行某一策略得到的累計(jì)獎(jiǎng)勵(lì)的期望值,即在一段時(shí)間k內(nèi)的累積部署成本Cost(t)的相反數(shù),因此在狀態(tài)s根據(jù)策略π采取動(dòng)作a的動(dòng)作值函數(shù)可表示為:
其中,λ∈(0,1)為權(quán)衡各個(gè)時(shí)刻回報(bào)函數(shù)的折扣因子。Q函數(shù)的迭代形式稱為貝爾曼方程(Bellman Equation),如下式所示:
定義一個(gè)策略目標(biāo)函數(shù)J(π)來衡量策略的性能表現(xiàn),它表示為動(dòng)作值函數(shù)的均值,如下式所示:
其中,d(s)為狀態(tài)空間的分布函數(shù)。該MDP 模型的優(yōu)化目標(biāo)即為,找到一個(gè)子載波分配和SFC 部署策略π,使Q函數(shù)的期望值最大,從而達(dá)到本文最小化SFC部署成本的優(yōu)化目標(biāo),即:
本文需要在NFV框架下對(duì)無線用戶進(jìn)行子載波分配和SFC的部署,由式(14)和式(15)可知其狀態(tài)空間和動(dòng)作空間維度極大且狀態(tài)轉(zhuǎn)移概率Pr未知,無法通過式(20)的貝爾曼方程進(jìn)行迭代獲得Q值。由此,深度強(qiáng)化學(xué)習(xí)利用神經(jīng)網(wǎng)絡(luò)從高維空間中提取特征,從而輸出Q值的近似值,解決了維度過高的問題。在各類深度強(qiáng)化學(xué)習(xí)中,DDPG算法在AC算法的基礎(chǔ)上結(jié)合了DQN算法中“經(jīng)驗(yàn)回放”和“固定目標(biāo)網(wǎng)絡(luò)”的思想,相比于AC算法提高了穩(wěn)定性與收斂性。
DDPG算法架構(gòu)如圖3所示,其智能體(Agent)包括Actor 和Critic 兩部分。其中,Actor 負(fù)責(zé)構(gòu)建參數(shù)化的策略,根據(jù)當(dāng)前狀態(tài)輸出動(dòng)作,Critic 負(fù)責(zé)構(gòu)建Q 網(wǎng)絡(luò),根據(jù)環(huán)境反饋的獎(jiǎng)勵(lì)值來評(píng)估當(dāng)前策略,輸出時(shí)間差分(Temporal Difference,TD)誤差(目標(biāo)Q 網(wǎng)絡(luò)與在線Q網(wǎng)絡(luò)輸出之差)來更新Actor 和Critic 兩部分的參數(shù),使MDP的優(yōu)化目標(biāo)J(π)最大化。所謂“經(jīng)驗(yàn)回放”是指設(shè)置一個(gè)存放狀態(tài)轉(zhuǎn)移過程<st,at,rt,st+1>的經(jīng)驗(yàn)池,它將每一次與環(huán)境交互的過程記錄下來,每次訓(xùn)練時(shí)從經(jīng)驗(yàn)池中隨機(jī)抽取小批量狀態(tài)轉(zhuǎn)移過程進(jìn)行學(xué)習(xí),其目的是為了打破學(xué)習(xí)樣本中數(shù)據(jù)間的時(shí)間相關(guān)性,這樣網(wǎng)絡(luò)可以從過去更廣泛的經(jīng)驗(yàn)中進(jìn)行學(xué)習(xí)而不僅僅局限于當(dāng)前環(huán)境[9,12]。由于狀態(tài)空間和動(dòng)作空間的高維性,在Actor和Critic兩部分智能體中,均使用神經(jīng)網(wǎng)絡(luò)來構(gòu)建參數(shù)化的策略和動(dòng)作值函數(shù),而神經(jīng)網(wǎng)絡(luò)往往因其目標(biāo)值的參數(shù)與估計(jì)值的參數(shù)同時(shí)變化,從而導(dǎo)致學(xué)習(xí)過程不穩(wěn)定和發(fā)散。DQN中“固定目標(biāo)網(wǎng)絡(luò)”的方法可以有效解決這一問題,即在用一個(gè)神經(jīng)網(wǎng)絡(luò)估計(jì)值的同時(shí),建立另一個(gè)神經(jīng)網(wǎng)絡(luò)作為目標(biāo)網(wǎng)絡(luò),其參數(shù)在一定的迭代過程中保持不變,經(jīng)過指定迭代次數(shù)后再用當(dāng)前評(píng)估網(wǎng)絡(luò)的參數(shù)替換該目標(biāo)網(wǎng)絡(luò)的參數(shù),這種目標(biāo)網(wǎng)絡(luò)的更新方式稱為“硬更新”(Hardupdate)。與DQN 算法不同的是,DDPG 采用“軟更新”(Softupdate)的方式來更新目標(biāo)網(wǎng)絡(luò)參數(shù),即每一步都會(huì)更新目標(biāo)網(wǎng)絡(luò),但更新的幅度非常小,這樣做使學(xué)習(xí)過程更接近于監(jiān)督式學(xué)習(xí)[9,13]。研究表明,使用上述目標(biāo)網(wǎng)絡(luò)的方法可以使神經(jīng)網(wǎng)絡(luò)的收斂過程更加穩(wěn)定。
圖3 DDPG算法架構(gòu)
2.3.1 Critic部分
在DDPG 算法中,Critic 部分利用兩個(gè)神經(jīng)網(wǎng)絡(luò)來估計(jì)Q 值,從而評(píng)估當(dāng)前策略。其中一個(gè)神經(jīng)網(wǎng)絡(luò)為“在線Q網(wǎng)絡(luò)”,其參數(shù)設(shè)為w,在線Q網(wǎng)絡(luò)的輸出為動(dòng)作值函數(shù)的估計(jì)值Qw(st,at),另一個(gè)神經(jīng)網(wǎng)絡(luò)為“目標(biāo)Q 網(wǎng)絡(luò)”,其參數(shù)為w′,輸出為動(dòng)作值函數(shù)的目標(biāo)值yt,有:
訓(xùn)練時(shí),將從經(jīng)驗(yàn)池中隨機(jī)抽取M組狀態(tài)轉(zhuǎn)移過程<si,ai,ri,si+1>進(jìn)行訓(xùn)練,根據(jù)損失函數(shù)來更新在線Q 網(wǎng)絡(luò)的參數(shù)w,Critic 的損失函數(shù)L(w)定義為TD 誤差的均方值:
利用損失函數(shù)L(w)關(guān)于參數(shù)w的梯度,使用梯度下降法來更新在線Q網(wǎng)絡(luò)的參數(shù),使w朝著L(w)下降的方向進(jìn)行更新,即:
其中,αc為Critic 的學(xué)習(xí)率。同時(shí),使用上述“軟更新”的方式更新目標(biāo)Q 網(wǎng)絡(luò)的參數(shù)w′,設(shè)置“軟更新系數(shù)”τ來控制每一步目標(biāo)網(wǎng)絡(luò)更新的幅度,則目標(biāo)Q網(wǎng)絡(luò)的更新方式為:
2.3.2 Actor部分
DDPG算法的Actor部分負(fù)責(zé)構(gòu)建參數(shù)化的策略并根據(jù)狀態(tài)輸出動(dòng)作。與Critic部分一樣,Actor也使用了兩個(gè)神經(jīng)網(wǎng)絡(luò)來構(gòu)建參數(shù)化的策略,分別為“在線策略網(wǎng)絡(luò)”和“目標(biāo)策略網(wǎng)絡(luò)”。其中,目標(biāo)策略網(wǎng)絡(luò)用于構(gòu)建目標(biāo)策略πθ′(s),其參數(shù)為θ′,其輸出為目標(biāo)Q網(wǎng)絡(luò)提供動(dòng)作a′=πθ′(s),用于式(23)計(jì)算動(dòng)作值函數(shù)的目標(biāo)值yt,從而計(jì)算TD誤差;在線策略網(wǎng)絡(luò)用于構(gòu)建在線策略πθ(s),其參數(shù)為θ,為整個(gè)智能體輸出動(dòng)作a并與環(huán)境進(jìn)行交互,其參數(shù)采用策略梯度算法進(jìn)行更新[14]。由于在DDPG算法中,用神經(jīng)網(wǎng)絡(luò)來輸出Q值,則可將式(21)中的Qπ(s,a)用在線Q網(wǎng)絡(luò)的輸出Qw(s,a)代替,則策略目標(biāo)函數(shù)J(π)可改寫如下:
策略梯度是指策略目標(biāo)函數(shù)J(π)關(guān)于參數(shù)θ的梯度,表示為:
與Critic相同,Actor的訓(xùn)練樣本也來自經(jīng)驗(yàn)池中的M組狀態(tài)轉(zhuǎn)移過程<si,ai,ri,si+1>。于是,上述策略梯度可改寫如下:
由此,可以得出Critic的參數(shù)更新公式為:
同樣地,使用“軟更新”方式對(duì)目標(biāo)策略網(wǎng)絡(luò)參數(shù)進(jìn)行更新:
為了讓智能體輸出的動(dòng)作有可能獲得更大的獎(jiǎng)勵(lì),為Actor 輸出的動(dòng)作增加探索機(jī)制(Exploration),即在在線策略網(wǎng)絡(luò)輸出的動(dòng)作中加入一個(gè)隨機(jī)的探索噪聲noise,表達(dá)為:
探索噪聲隨著訓(xùn)練回合的進(jìn)行不斷減小,直到最終獲得使獎(jiǎng)勵(lì)穩(wěn)定且收斂的策略。
綜上所述,可將基于DDPG的SFC多維資源聯(lián)合分配算法歸納如下:
算法1基于DDPG的SFC多維資源聯(lián)合分配算法
本文通過 Python 3.0 和 TensorFlow、OpenAI gym等工具實(shí)現(xiàn)本文提出的基于DDPG 的服務(wù)功能鏈多維資源聯(lián)合優(yōu)化算法仿真,并使用Matlab繪圖完成。為了評(píng)估本文所提機(jī)制及算法的有效性,現(xiàn)將其與文獻(xiàn)[5]中的DP-COA啟發(fā)式算法,以及其他兩種強(qiáng)化學(xué)習(xí)算法策略梯度算法(Policy Gradient,PG)[14]和AC算法[10]進(jìn)行性能比較。本文共設(shè)置10個(gè)物理節(jié)點(diǎn),其中包括2個(gè)接入節(jié)點(diǎn)(SBS),每個(gè)物理節(jié)點(diǎn)擁有4個(gè)虛擬CPU(vCPU)資源,每個(gè)vCPU 的數(shù)據(jù)處理速率均為160 Mbit/s,每一條物理鏈路總帶寬為300 Mbit/s,每個(gè)接入節(jié)點(diǎn)的子載波個(gè)數(shù)為50,每個(gè)子載波帶寬為0.18 MHz[15]。3個(gè)成本權(quán)重因子分別設(shè)為ρc=0.4,ρb=0.2,ρw=0.4[7]。學(xué)習(xí)過程中,訓(xùn)練共進(jìn)行500 個(gè)回合,每回合200 步,經(jīng)驗(yàn)池大小M設(shè)為10 000,因此每當(dāng)回合數(shù)進(jìn)行到50 時(shí),經(jīng)驗(yàn)池填滿,開始學(xué)習(xí)。
首先,對(duì)于強(qiáng)化學(xué)習(xí)算法,學(xué)習(xí)率是影響算法收斂速度和決策性能的關(guān)鍵因素。圖4 描繪了當(dāng)有10 個(gè)用戶請(qǐng)求,且性能需求為無線速率需求為20 Mbit/s以及用戶平均時(shí)延要求為20 ms時(shí),在不同學(xué)習(xí)率下算法的收斂效果。從圖4 中可以看出,當(dāng)訓(xùn)練過程到達(dá)50 回合時(shí),經(jīng)驗(yàn)池填滿,算法開始從經(jīng)驗(yàn)池中批量抽取狀態(tài)轉(zhuǎn)移過程進(jìn)行學(xué)習(xí),SFC 部署成本開始迅速下降。當(dāng)Actor 學(xué)習(xí)率αa為 0.001、Critic 學(xué)習(xí)率αc為 0.01 時(shí),算法收斂快速穩(wěn)定,且系統(tǒng)成本最低,表現(xiàn)出良好的性能優(yōu)勢(shì)。因此本文在后續(xù)的仿真中均選擇αa=0.001,αc=0.01 為DDPG算法的學(xué)習(xí)率。
圖4 不同學(xué)習(xí)率下DDPG算法的收斂效果
圖5 描繪了三種基于策略的強(qiáng)化學(xué)習(xí)算法PG、AC以及DDPG 算法應(yīng)用于本文模型的收斂效果和性能表現(xiàn),三種算法均為可以解決高維度動(dòng)作空間MDP 問題的強(qiáng)化學(xué)習(xí)算法。從圖中可以看出,對(duì)于復(fù)雜環(huán)境,PG算法難以達(dá)到一個(gè)理想的收斂效果和性能優(yōu)化,AC 算法在收斂速度方面也不及DDPG 算法。其原因?yàn)椋琍G算法是單純的策略梯度算法,相當(dāng)于DDPG 架構(gòu)中的Actor部分,只能通過自身的策略梯度進(jìn)行參數(shù)更新,缺少相應(yīng)的評(píng)判部分(Critic)對(duì)其輸出的策略進(jìn)行評(píng)估,因此對(duì)于復(fù)雜環(huán)境,PG 算法的智能體難以找到正確的參數(shù)更新方向,導(dǎo)致其收斂過程不穩(wěn)定。而AC算法的智能體包含Actor 和Critic 兩部分,其中Actor 負(fù)責(zé)構(gòu)建參數(shù)化的策略,根據(jù)環(huán)境狀態(tài)輸出相應(yīng)的動(dòng)作;Critic負(fù)責(zé)輸出Q值,對(duì)當(dāng)前Actor中的策略進(jìn)行評(píng)估,幫助策略網(wǎng)絡(luò)參數(shù)朝著可以獲得更大Q值的方向進(jìn)行更新,因此AC算法可以得到比PG算法更好的優(yōu)化效果。然而AC算法由于其智能體包括Actor和Critic兩部分,存在收斂過程緩慢的問題,DDPG針對(duì)這一問題,在AC算法架構(gòu)的基礎(chǔ)上結(jié)合了“經(jīng)驗(yàn)回放”和“固定目標(biāo)網(wǎng)絡(luò)”的思想,訓(xùn)練時(shí)從經(jīng)驗(yàn)池中隨機(jī)抽取部分狀態(tài)轉(zhuǎn)移過程進(jìn)行學(xué)習(xí),打破了學(xué)習(xí)樣本中的時(shí)間相關(guān)性,這樣可以從過去更廣泛的經(jīng)驗(yàn)中進(jìn)行學(xué)習(xí)而不僅僅局限于當(dāng)前環(huán)境;固定目標(biāo)網(wǎng)絡(luò)可以為Critic 的訓(xùn)練提供穩(wěn)定的目標(biāo)Q 值,使得學(xué)習(xí)過程更加穩(wěn)定,保證了Critic 網(wǎng)絡(luò)輸出Q 值的準(zhǔn)確性,從而加快了Actor 中策略網(wǎng)絡(luò)的收斂。因此,DDPG 算法的收斂效果強(qiáng)于PG 和AC 算法。
圖5 不同強(qiáng)化學(xué)習(xí)算法的收斂效果
接下來對(duì)在不同服務(wù)請(qǐng)求數(shù)下的算法性能進(jìn)行比較。首先比較在不同用戶請(qǐng)求數(shù)下的系統(tǒng)成本,用戶無線速率需求設(shè)為20 Mbit/s,如圖6所示??梢钥闯霰疚乃褂玫腄DPG算法在三種不同在線人數(shù)情況下,系統(tǒng)總成本均處于最低。AC 強(qiáng)化學(xué)習(xí)算法由于其收斂緩慢,隨著用戶請(qǐng)求數(shù)的增加,其性能表現(xiàn)逐漸差于啟發(fā)式算法DP-COA。而DDPG算法由于在AC算法的基礎(chǔ)上結(jié)合了經(jīng)驗(yàn)回放和目標(biāo)網(wǎng)絡(luò)方法,因此保證了算法收斂的穩(wěn)定性,并具有良好的性能表現(xiàn)。在時(shí)延優(yōu)化方面,從圖7可以看出,DDPG算法下的系統(tǒng)總時(shí)延在不同用戶請(qǐng)求數(shù)下均處于最優(yōu)。DP-COA為動(dòng)態(tài)規(guī)劃算法,它將每個(gè)時(shí)刻的SFC 部署按VNF 的順序依次進(jìn)行決策,面對(duì)復(fù)雜的網(wǎng)絡(luò)環(huán)境,DP-COA 容易陷入局部最優(yōu)。并且DP-COA算法考慮單純的SFC部署問題,未將無線資源的分配聯(lián)合考慮,對(duì)于無線用戶沒有完成完整的端到端服務(wù)。而DDPG 算法可以契合本文所構(gòu)建的基于環(huán)境感知的SFC資源分配機(jī)制,從而解決無線用戶SFC 部署與無線資源的聯(lián)合優(yōu)化問題。由此可見,DDPG 適用于更復(fù)雜的網(wǎng)絡(luò)場(chǎng)景,在擴(kuò)展性方面強(qiáng)于DP-COA啟發(fā)式算法。
圖6 不同用戶請(qǐng)求下的系統(tǒng)總成本對(duì)比
圖7 不同用戶請(qǐng)求下的系統(tǒng)總時(shí)延對(duì)比
圖8 描繪了三種算法在不同無線速率需求下的性能對(duì)比,用戶請(qǐng)求數(shù)設(shè)為10。如圖8 所示,當(dāng)無線速率需求較小時(shí),三種算法在系統(tǒng)總成本上的性能表現(xiàn)相差不大,但隨著無線速率需求的增大,DDPG 算法在該性能上的優(yōu)勢(shì)逐漸體現(xiàn)出來,且強(qiáng)化學(xué)習(xí)算法(DDPG、AC)對(duì)系統(tǒng)總成本的優(yōu)化效果整體優(yōu)于啟發(fā)式算法DP-COA。圖9 描繪了在不同無線速率需求下的系統(tǒng)總時(shí)延對(duì)比情況。可以看出,DDPG算法在三種無線速率需求下的時(shí)延性能優(yōu)勢(shì)較為明顯,AC 算法由于其自身收斂緩慢,其時(shí)延性能表現(xiàn)不如啟發(fā)式算法DP-COA,再次說明了DDPG 算法中的經(jīng)驗(yàn)回放和固定目標(biāo)網(wǎng)絡(luò)方法的有效性。
圖8 不同無線速率需求下的系統(tǒng)總成本對(duì)比
圖9 不同無線速率需求下的系統(tǒng)總時(shí)延對(duì)比
針對(duì)NFV下的無線用戶SFC請(qǐng)求的低成本部署問題,本文聯(lián)合考慮SFC 部署與無線資源分配,構(gòu)建了一種基于環(huán)境感知的SFC資源聯(lián)合分配機(jī)制,并據(jù)此建立了在滿足用戶時(shí)延要求、無線速率需求以及資源容量約束下的SFC部署成本最小化模型,并將該優(yōu)化模型轉(zhuǎn)化為具有連續(xù)狀態(tài)空間和高維度動(dòng)作空間的無模型MDP模型,提出一種基于DDPG的SFC多維資源聯(lián)合分配算法求解該優(yōu)化問題。仿真結(jié)果表明,在上述SFC部署機(jī)制下,使用該算法進(jìn)行求解,可在保證用戶性能需求的同時(shí),有效降低SFC部署成本和時(shí)延。