陸燕 楊秋芬
(湖南開放大學(xué) 湖南長沙 410004)
隨著網(wǎng)絡(luò)技術(shù)的發(fā)展以及互聯(lián)網(wǎng)的規(guī)模逐漸擴(kuò)大及其應(yīng)用的不斷豐富,通信網(wǎng)絡(luò)正經(jīng)歷著爆發(fā)式的流量增長[1]。研究表明:通過對(duì)設(shè)備提速擴(kuò)容來提升網(wǎng)絡(luò)服務(wù)質(zhì)量的方法已不再適用[2]。近年來,學(xué)術(shù)界使用了深度強(qiáng)化學(xué)習(xí)(DRL)技術(shù)來生成網(wǎng)絡(luò)路由的最優(yōu)路徑[3]?;谏疃葟?qiáng)化學(xué)習(xí)的網(wǎng)絡(luò)路由算法通常是有數(shù)據(jù)驅(qū)動(dòng)的,在一定程度上克服了人工進(jìn)行流量分析和建模的缺點(diǎn)[4]。但是,已有的深度強(qiáng)化學(xué)習(xí)網(wǎng)絡(luò)路由算法存在無法收斂及可擴(kuò)展性差等問題[5]。對(duì)此,該文主要介紹了一種基于多變量分配技術(shù)的結(jié)構(gòu),并將其與優(yōu)先級(jí)深度確定性策略梯度(Prioritized Deep Deterministic Policy Gradient,PDDPG)算法融合,通過Agent 間相互共享策略與經(jīng)驗(yàn)提升算法的收斂速度和算法的可擴(kuò)展性。
目前,基于DRL算法實(shí)現(xiàn)的網(wǎng)絡(luò)路由方案主要面臨兩個(gè)問題。(1)難以收斂。當(dāng)網(wǎng)絡(luò)負(fù)載呈指數(shù)增長時(shí),高輸出維數(shù)使得深度強(qiáng)化學(xué)習(xí)算法無法收斂[6]。當(dāng)網(wǎng)絡(luò)負(fù)載流量呈指數(shù)級(jí)增長,過高的輸出維度使得深度強(qiáng)化學(xué)習(xí)算法出現(xiàn)無法收斂的情況。(2)可擴(kuò)展性差。目前,基于DRL算法的網(wǎng)絡(luò)路由方案通常需要控制網(wǎng)絡(luò)中所有目標(biāo)元素單元(鏈路或數(shù)據(jù)流)。隨著網(wǎng)絡(luò)負(fù)載和流量的增加,這種控制方法將導(dǎo)致DRL輸出動(dòng)作空間過大,容易出現(xiàn)數(shù)據(jù)交換成本增加以及網(wǎng)絡(luò)傳輸延時(shí)增長,影響了算法的可擴(kuò)展性[7]。為解決當(dāng)前DRL算法的兩個(gè)問題,該文對(duì)算法進(jìn)行了設(shè)計(jì)。
該文使用深度強(qiáng)化學(xué)習(xí)算法來控制和操作網(wǎng)絡(luò),并展示了知識(shí)定義網(wǎng)絡(luò)(KDN)功能平面的三層結(jié)構(gòu):數(shù)據(jù)平面、責(zé)任存儲(chǔ)以及轉(zhuǎn)發(fā)和處理數(shù)據(jù)包??刂破矫妫–P)負(fù)責(zé)監(jiān)控網(wǎng)絡(luò)流量,并分發(fā)流表規(guī)則和頂級(jí)知識(shí)平面(KP)。在KP 中的Agent(DRL Agent)用于利用底部發(fā)送的有效網(wǎng)絡(luò)信息生成有效的網(wǎng)絡(luò)策略,從而找到當(dāng)前網(wǎng)絡(luò)流量狀態(tài)下的鏈路權(quán)重信息,將其發(fā)送到控制平面,使用路徑規(guī)劃模塊生成路由流表,并將其更新到拓?fù)浣粨Q機(jī)以實(shí)現(xiàn)KDN 全局實(shí)時(shí)網(wǎng)絡(luò)控制。同時(shí),KP中有動(dòng)作離散化模塊和狀態(tài)預(yù)處理模塊這兩個(gè)模塊,分別用于KP接收數(shù)據(jù)平面信息的狀態(tài)優(yōu)化和分發(fā)數(shù)據(jù)平面的動(dòng)作優(yōu)化。
該文使用當(dāng)前網(wǎng)絡(luò)流量來構(gòu)造符合當(dāng)前網(wǎng)絡(luò)流量狀態(tài)的鏈路權(quán)重,并預(yù)先處理原始信息以生成代理的先驗(yàn)知識(shí)增強(qiáng)神經(jīng)網(wǎng)絡(luò)中動(dòng)作狀態(tài)的潛在相關(guān)性。神經(jīng)網(wǎng)絡(luò)在初始權(quán)重上繼續(xù)學(xué)習(xí),以降低學(xué)習(xí)難度,從而根據(jù)流量狀態(tài)對(duì)路由策略采取行動(dòng),降低梯度向錯(cuò)誤策略參數(shù)更新的概率,提高算法的收斂速度。
該文基于參數(shù)共享的優(yōu)先級(jí)深度確定性策略梯度(PS-PDDPG)算法是PDDPG 方法在多Agent 系統(tǒng)中的擴(kuò)展。該項(xiàng)目的共享優(yōu)先經(jīng)驗(yàn)回放池技術(shù)有助于提升訓(xùn)練效率,參數(shù)共享技術(shù)有助于提升算法可擴(kuò)展性,從而使得PS-PDDPG算法適用于大規(guī)模動(dòng)態(tài)變化的網(wǎng)絡(luò)路由優(yōu)化場景。
(1)利用基于注意力的經(jīng)驗(yàn)回放優(yōu)化算法,實(shí)現(xiàn)使智能體能有選擇性地存儲(chǔ)和利用訓(xùn)練樣本,提升PSDDPG 算法的訓(xùn)練效率。為了提高樣本的采集效率,該項(xiàng)目設(shè)計(jì)兩個(gè)經(jīng)驗(yàn)回放池,一個(gè)為普通的經(jīng)驗(yàn)回放池,另一個(gè)為高獎(jiǎng)勵(lì)經(jīng)驗(yàn)回放池。當(dāng)回合結(jié)束時(shí),將進(jìn)程緩存器中的交互經(jīng)驗(yàn)累積起來,計(jì)算該回合對(duì)應(yīng)的累積獎(jiǎng)勵(lì)值,然后將其與歷史最大的回合累積獎(jiǎng)勵(lì)值進(jìn)行對(duì)比,如果大于歷史最大的回合累積獎(jiǎng)勵(lì)值,則將該回合交互軌跡存入高回報(bào)經(jīng)驗(yàn)回放池中。在智能體與環(huán)境進(jìn)行交互并采集存儲(chǔ)交互經(jīng)驗(yàn)時(shí),同時(shí)從兩個(gè)經(jīng)驗(yàn)回放池中采樣訓(xùn)練樣本,對(duì)動(dòng)作網(wǎng)絡(luò)和策略網(wǎng)絡(luò)進(jìn)行更新,如圖1所示。
圖1 PS-DDPG算法框架
該文將注意力機(jī)制的應(yīng)用范圍從對(duì)神經(jīng)網(wǎng)絡(luò)特征的調(diào)制優(yōu)化拓展到模型輸入,利用注意力機(jī)制對(duì)訓(xùn)練樣本進(jìn)行篩選,在不同的訓(xùn)練階段,根據(jù)模型的訓(xùn)練狀態(tài),選擇適合當(dāng)前學(xué)習(xí)的訓(xùn)練樣本,提升強(qiáng)化學(xué)習(xí)算法的樣本效率,降低對(duì)于數(shù)據(jù)的依賴。其中,動(dòng)作網(wǎng)絡(luò)用于策略學(xué)習(xí),對(duì)于給定環(huán)境狀態(tài)依據(jù)策略輸出執(zhí)行的動(dòng)作,從而評(píng)判網(wǎng)絡(luò)用于擬合動(dòng)作、狀態(tài)和回報(bào)值之間的關(guān)系,從而在訓(xùn)練中對(duì)動(dòng)作網(wǎng)絡(luò)的輸出進(jìn)行監(jiān)督,實(shí)現(xiàn)策略學(xué)習(xí)。該項(xiàng)目初步提出基于注意力機(jī)制的經(jīng)驗(yàn)回放算法,首先定義policy是以θ={θ1,…,θN}為參數(shù)的N個(gè)Agent 之間的博弈,將所有Agent 策略的集合設(shè)為π={π1,…,πN},則期望獎(jiǎng)勵(lì)的梯度為公式(1)。
經(jīng)過引入注意力機(jī)制的經(jīng)驗(yàn)回放優(yōu)化后,損失函數(shù)的定義為公式(2)。
(2)融合共享參數(shù)可以增強(qiáng)算法的可擴(kuò)展性。PDDPG算法采用了評(píng)判器系統(tǒng)的結(jié)構(gòu),由評(píng)判器系統(tǒng)的狀態(tài)和行為作為輸入,輸出的標(biāo)量函數(shù)估計(jì)用于判斷當(dāng)前的策略;執(zhí)行程序Actor網(wǎng)絡(luò)是以狀態(tài)作為輸入的,而輸出持續(xù)的行為則是基于評(píng)判器網(wǎng)絡(luò)估算的價(jià)值來進(jìn)行戰(zhàn)略升級(jí)。為了提高PDDGP 算法的可擴(kuò)展性,引入Target-Actor 網(wǎng)絡(luò)和Target-Critic 網(wǎng)絡(luò)。訓(xùn)練前,Target-Actor 與Actor 以及Target-Critic 與Critic 的網(wǎng)絡(luò)結(jié)構(gòu)和共享參數(shù)完全相同,如圖2 所示。因?yàn)楦鞔淼挠^察測量o、動(dòng)作a和獎(jiǎng)勵(lì)r設(shè)定是相同的,因此各代理n在周期內(nèi)t與周圍的情境相互作用產(chǎn)生了一種體驗(yàn)單元(on,t,an,t,rn,t,on,t+1,φn,t,εn,t,φn,t+1,εn,t+1),智能體N的多智能體聯(lián)合Q值函數(shù)可近似為
圖2 PS-DDPG算法的智能體策略學(xué)習(xí)過程
PS-PDDPG算法的集中式訓(xùn)練和分布式執(zhí)行框架如圖3 所示,在各階段步t,各智能個(gè)體根據(jù)當(dāng)?shù)赜^測on,t和經(jīng)過訓(xùn)練的控制系統(tǒng)μ?(on,t)和控制系統(tǒng)的控制系統(tǒng)?*來實(shí)現(xiàn)決策,而無需評(píng)判系統(tǒng)。在PS-PDDPG算法中所有智能體共享參數(shù),可獲得其他智能體的經(jīng)驗(yàn),該方法可以幫助智能主體在不進(jìn)行選擇的情況下,迅速地發(fā)現(xiàn)最佳的網(wǎng)絡(luò)路由策略,從而提高了系統(tǒng)的可擴(kuò)展性。
圖3 PS-PDDPG算法的訓(xùn)練與執(zhí)行框架
深度強(qiáng)化學(xué)習(xí)路由算法的整體有效性在現(xiàn)有網(wǎng)絡(luò)架構(gòu)下難以大規(guī)模部署。因此,該文利用智慧校園網(wǎng)絡(luò)和實(shí)驗(yàn)實(shí)訓(xùn)機(jī)房軟硬件資源,嘗試自主組建大規(guī)模網(wǎng)絡(luò)環(huán)境,并改變網(wǎng)絡(luò)負(fù)載均衡,在不同網(wǎng)絡(luò)負(fù)載的網(wǎng)絡(luò)場景下驗(yàn)證DDPG算法和PS-PDDPG 算法的收斂速度和可擴(kuò)展性,由此來驗(yàn)證基于PS-PDDPG 算法的整體有效性。
圖4 不同網(wǎng)絡(luò)負(fù)載下的算法性能測試
該實(shí)驗(yàn)使用網(wǎng)絡(luò)流量構(gòu)建符合兩種不同規(guī)模網(wǎng)絡(luò)流量狀態(tài)的鏈路權(quán)重,使用兩種不同方法,讓Agent 在網(wǎng)絡(luò)負(fù)載均衡分別為25%和75%的兩種環(huán)境中學(xué)習(xí)網(wǎng)絡(luò)路由最優(yōu)策略,最終獲得最短網(wǎng)絡(luò)延時(shí)。通過實(shí)驗(yàn)發(fā)現(xiàn)PDDPG 算法的訓(xùn)練曲線增長緩慢,表明Agent在網(wǎng)絡(luò)負(fù)載均衡為25%和75%兩種環(huán)境中的隨訓(xùn)練步數(shù)增加時(shí),網(wǎng)絡(luò)延時(shí)降低速率較慢。但PS-PDDPG算法的訓(xùn)練曲線在整個(gè)學(xué)習(xí)和訓(xùn)練階段不斷增加,網(wǎng)絡(luò)延時(shí)快速降低,且較早穩(wěn)定。但是,在訓(xùn)練初期階段,由于沒有從行為選擇模型中學(xué)習(xí)到有效的行為選擇策略,代理累積的內(nèi)外獎(jiǎng)賞并不能幫助尋找最佳的網(wǎng)路路徑。PS-PDDPG算法在訓(xùn)練過程中逐步獲得一種較好的抽樣策略,從而使PS-PDDPG 算法在最大程度上達(dá)到了很好的穩(wěn)定性,比PDDPG 算法要好得多。研究結(jié)果顯示,該P(yáng)S-PDDPG 算法能夠有效地減少在復(fù)雜的網(wǎng)絡(luò)環(huán)境中學(xué)習(xí)路由優(yōu)化策略的困難,從而使代理更好地掌握路由優(yōu)化策略。優(yōu)化后的PS-PDDPG算法在收斂速度和可擴(kuò)展性方面優(yōu)于其他深度強(qiáng)化學(xué)習(xí)算法。
對(duì)于高維度和大規(guī)模網(wǎng)絡(luò)的路由優(yōu)化,對(duì)原有的DDPG算法進(jìn)行了改進(jìn)和改進(jìn),從而得到了增強(qiáng)的PSPDDPG算法,它更適合解決網(wǎng)絡(luò)路由優(yōu)化問題。
使用當(dāng)前網(wǎng)絡(luò)流量根據(jù)當(dāng)前網(wǎng)絡(luò)流量狀態(tài)構(gòu)建鏈路權(quán)重,預(yù)先兩次處理原始信息以生成智能體積的先驗(yàn)知識(shí)可以增強(qiáng)網(wǎng)絡(luò)中動(dòng)作狀態(tài)的潛在相關(guān)性,提高算法的收斂速度。
根據(jù)獎(jiǎng)勵(lì)值對(duì)訓(xùn)練樣本進(jìn)行分類,分別放入高獎(jiǎng)勵(lì)經(jīng)驗(yàn)回放池或者普通獎(jiǎng)勵(lì)經(jīng)驗(yàn)回放池。不同的訓(xùn)練階段,根據(jù)模型的訓(xùn)練狀態(tài),選擇適合當(dāng)前學(xué)習(xí)的訓(xùn)練樣本,提升深度強(qiáng)化學(xué)習(xí)算法的訓(xùn)練效率。
利用參數(shù)分享技術(shù),使各主體分享同一策略的參數(shù),并利用各主體在與周圍環(huán)境的互動(dòng)中獲得的經(jīng)驗(yàn),從而減少了算法的復(fù)雜性。幫助學(xué)習(xí)者進(jìn)行高效的學(xué)習(xí),執(zhí)行高獎(jiǎng)勵(lì)策略,解決深度強(qiáng)化學(xué)習(xí)的普遍問題,并提升算法的可擴(kuò)展性。