陸燕 楊秋芬
(湖南開放大學 湖南長沙 410004)
隨著網絡技術的發展以及互聯網的規模逐漸擴大及其應用的不斷豐富,通信網絡正經歷著爆發式的流量增長[1]。研究表明:通過對設備提速擴容來提升網絡服務質量的方法已不再適用[2]。近年來,學術界使用了深度強化學習(DRL)技術來生成網絡路由的最優路徑[3]。基于深度強化學習的網絡路由算法通常是有數據驅動的,在一定程度上克服了人工進行流量分析和建模的缺點[4]。但是,已有的深度強化學習網絡路由算法存在無法收斂及可擴展性差等問題[5]。對此,該文主要介紹了一種基于多變量分配技術的結構,并將其與優先級深度確定性策略梯度(Prioritized Deep Deterministic Policy Gradient,PDDPG)算法融合,通過Agent 間相互共享策略與經驗提升算法的收斂速度和算法的可擴展性。
目前,基于DRL算法實現的網絡路由方案主要面臨兩個問題。(1)難以收斂。當網絡負載呈指數增長時,高輸出維數使得深度強化學習算法無法收斂[6]。當網絡負載流量呈指數級增長,過高的輸出維度使得深度強化學習算法出現無法收斂的情況。(2)可擴展性差。目前,基于DRL算法的網絡路由方案通常需要控制網絡中所有目標元素單元(鏈路或數據流)。隨著網絡負載和流量的增加,這種控制方法將導致DRL輸出動作空間過大,容易出現數據交換成本增加以及網絡傳輸延時增長,影響了算法的可擴展性[7]。為解決當前DRL算法的兩個問題,該文對算法進行了設計。
該文使用深度強化學習算法來控制和操作網絡,并展示了知識定義網絡(KDN)功能平面的三層結構:數據平面、責任存儲以及轉發和處理數據包。控制平面(CP)負責監控網絡流量,并分發流表規則和頂級知識平面(KP)。在KP 中的Agent(DRL Agent)用于利用底部發送的有效網絡信息生成有效的網絡策略,從而找到當前網絡流量狀態下的鏈路權重信息,將其發送到控制平面,使用路徑規劃模塊生成路由流表,并將其更新到拓撲交換機以實現KDN 全局實時網絡控制。同時,KP中有動作離散化模塊和狀態預處理模塊這兩個模塊,分別用于KP接收數據平面信息的狀態優化和分發數據平面的動作優化。
該文使用當前網絡流量來構造符合當前網絡流量狀態的鏈路權重,并預先處理原始信息以生成代理的先驗知識增強神經網絡中動作狀態的潛在相關性。神經網絡在初始權重上繼續學習,以降低學習難度,從而根據流量狀態對路由策略采取行動,降低梯度向錯誤策略參數更新的概率,提高算法的收斂速度。
該文基于參數共享的優先級深度確定性策略梯度(PS-PDDPG)算法是PDDPG 方法在多Agent 系統中的擴展。該項目的共享優先經驗回放池技術有助于提升訓練效率,參數共享技術有助于提升算法可擴展性,從而使得PS-PDDPG算法適用于大規模動態變化的網絡路由優化場景。
(1)利用基于注意力的經驗回放優化算法,實現使智能體能有選擇性地存儲和利用訓練樣本,提升PSDDPG 算法的訓練效率。為了提高樣本的采集效率,該項目設計兩個經驗回放池,一個為普通的經驗回放池,另一個為高獎勵經驗回放池。當回合結束時,將進程緩存器中的交互經驗累積起來,計算該回合對應的累積獎勵值,然后將其與歷史最大的回合累積獎勵值進行對比,如果大于歷史最大的回合累積獎勵值,則將該回合交互軌跡存入高回報經驗回放池中。在智能體與環境進行交互并采集存儲交互經驗時,同時從兩個經驗回放池中采樣訓練樣本,對動作網絡和策略網絡進行更新,如圖1所示。

圖1 PS-DDPG算法框架
該文將注意力機制的應用范圍從對神經網絡特征的調制優化拓展到模型輸入,利用注意力機制對訓練樣本進行篩選,在不同的訓練階段,根據模型的訓練狀態,選擇適合當前學習的訓練樣本,提升強化學習算法的樣本效率,降低對于數據的依賴。其中,動作網絡用于策略學習,對于給定環境狀態依據策略輸出執行的動作,從而評判網絡用于擬合動作、狀態和回報值之間的關系,從而在訓練中對動作網絡的輸出進行監督,實現策略學習。該項目初步提出基于注意力機制的經驗回放算法,首先定義policy是以θ={θ1,…,θN}為參數的N個Agent 之間的博弈,將所有Agent 策略的集合設為π={π1,…,πN},則期望獎勵的梯度為公式(1)。
經過引入注意力機制的經驗回放優化后,損失函數的定義為公式(2)。
(2)融合共享參數可以增強算法的可擴展性。PDDPG算法采用了評判器系統的結構,由評判器系統的狀態和行為作為輸入,輸出的標量函數估計用于判斷當前的策略;執行程序Actor網絡是以狀態作為輸入的,而輸出持續的行為則是基于評判器網絡估算的價值來進行戰略升級。為了提高PDDGP 算法的可擴展性,引入Target-Actor 網絡和Target-Critic 網絡。訓練前,Target-Actor 與Actor 以及Target-Critic 與Critic 的網絡結構和共享參數完全相同,如圖2 所示。因為各代理的觀察測量o、動作a和獎勵r設定是相同的,因此各代理n在周期內t與周圍的情境相互作用產生了一種體驗單元(on,t,an,t,rn,t,on,t+1,φn,t,εn,t,φn,t+1,εn,t+1),智能體N的多智能體聯合Q值函數可近似為

圖2 PS-DDPG算法的智能體策略學習過程
PS-PDDPG算法的集中式訓練和分布式執行框架如圖3 所示,在各階段步t,各智能個體根據當地觀測on,t和經過訓練的控制系統μ?(on,t)和控制系統的控制系統?*來實現決策,而無需評判系統。在PS-PDDPG算法中所有智能體共享參數,可獲得其他智能體的經驗,該方法可以幫助智能主體在不進行選擇的情況下,迅速地發現最佳的網絡路由策略,從而提高了系統的可擴展性。

圖3 PS-PDDPG算法的訓練與執行框架
深度強化學習路由算法的整體有效性在現有網絡架構下難以大規模部署。因此,該文利用智慧校園網絡和實驗實訓機房軟硬件資源,嘗試自主組建大規模網絡環境,并改變網絡負載均衡,在不同網絡負載的網絡場景下驗證DDPG算法和PS-PDDPG 算法的收斂速度和可擴展性,由此來驗證基于PS-PDDPG 算法的整體有效性。

圖4 不同網絡負載下的算法性能測試
該實驗使用網絡流量構建符合兩種不同規模網絡流量狀態的鏈路權重,使用兩種不同方法,讓Agent 在網絡負載均衡分別為25%和75%的兩種環境中學習網絡路由最優策略,最終獲得最短網絡延時。通過實驗發現PDDPG 算法的訓練曲線增長緩慢,表明Agent在網絡負載均衡為25%和75%兩種環境中的隨訓練步數增加時,網絡延時降低速率較慢。但PS-PDDPG算法的訓練曲線在整個學習和訓練階段不斷增加,網絡延時快速降低,且較早穩定。但是,在訓練初期階段,由于沒有從行為選擇模型中學習到有效的行為選擇策略,代理累積的內外獎賞并不能幫助尋找最佳的網路路徑。PS-PDDPG算法在訓練過程中逐步獲得一種較好的抽樣策略,從而使PS-PDDPG 算法在最大程度上達到了很好的穩定性,比PDDPG 算法要好得多。研究結果顯示,該PS-PDDPG 算法能夠有效地減少在復雜的網絡環境中學習路由優化策略的困難,從而使代理更好地掌握路由優化策略。優化后的PS-PDDPG算法在收斂速度和可擴展性方面優于其他深度強化學習算法。
對于高維度和大規模網絡的路由優化,對原有的DDPG算法進行了改進和改進,從而得到了增強的PSPDDPG算法,它更適合解決網絡路由優化問題。
使用當前網絡流量根據當前網絡流量狀態構建鏈路權重,預先兩次處理原始信息以生成智能體積的先驗知識可以增強網絡中動作狀態的潛在相關性,提高算法的收斂速度。
根據獎勵值對訓練樣本進行分類,分別放入高獎勵經驗回放池或者普通獎勵經驗回放池。不同的訓練階段,根據模型的訓練狀態,選擇適合當前學習的訓練樣本,提升深度強化學習算法的訓練效率。
利用參數分享技術,使各主體分享同一策略的參數,并利用各主體在與周圍環境的互動中獲得的經驗,從而減少了算法的復雜性。幫助學習者進行高效的學習,執行高獎勵策略,解決深度強化學習的普遍問題,并提升算法的可擴展性。