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