?

基于強化學習的網絡擁塞控制算法

2024-04-09 04:53李凡李慧斯馬文丹
科技創新與應用 2024年10期
關鍵詞:強化學習仿真實驗學習方法

李凡 李慧斯 馬文丹

摘? 要:該文結合強化學習方法提出一種QLCC算法,此算法是將網絡擁塞過程進行簡化之后描述為馬爾科夫決策過程,在Q-learning算法應用的基礎上創新設計的新型網絡擁塞控制算法。研究過程中首先介紹強化學習方法,并對網絡擁塞過程中馬爾科夫決策過程的構建條件及假設進行探討,之后從框架結構、參數結構及定義、參數離散劃分和更新步驟幾個方面介紹QLCC算法,并采取仿真實驗方法對該種新算法的網絡吞吐量、公平性、隨機丟包環境下的吞吐量分別進行檢測,通過與其他3種傳統網絡擁塞控制算法進行對比分析,證實QLCC算法具有吞吐量較佳、公平性最高、抗丟包性能最優的性能,說明其是一種具有較高應用優勢的智能化網絡擁塞控制算法。

關鍵詞:強化學習;QLCC算法;網絡擁塞控制;學習方法;仿真實驗

中圖分類號:TP393.0? ? ? 文獻標志碼:A? ? ? ? ? 文章編號:2095-2945(2024)10-0055-04

Abstract: In this paper, based on reinforcement learning, a QLCC algorithm is proposed, which describes the network congestion process as a Markov decision process and innovatively designs a new network congestion control algorithm based on the application of Q-learning algorithm. In the course of the research, the reinforcement learning method is first introduced, and the construction conditions and assumptions of Markov decision process in the process of network congestion are discussed, and then the QLCC algorithm is introduced from the aspects of frame structure, parameter structure and definition, parameter discrete partition and update steps. However, simulation experiments are used to test the network throughput, fairness and throughput of the new algorithm in random packet loss environment. By comparison and analysis with other three traditional network congestion control algorithms, it is proved that QLCC algorithm has better throughput, highest fairness and best anti-packet loss performance, indicating that it is an intelligent network congestion control algorithm with high application advantages.

Keywords: reinforcement learning; QLCC algorithm; network congestion control; learning method; simulation experiment

在互聯網高速發展的過程中,網絡上數據傳送量不斷增大,若網站端點傳輸數量超過網絡最大承受范圍,便會形成網絡擁塞,為此,相關專家針對特定網絡環境提出了網絡擁塞控制算法。網絡環境不斷改變的同時,網絡擁塞控制算法也需要持續優化,需要考慮到多方面影響因素,因此網絡擁塞控制算法性能的優化難度相對較高。而基于人工智能的智能化網絡擁塞控制算法可以針對網絡環境進行模型的預建與虛擬,因此,網絡擁塞控制算法呈現出了向智能化與模型化設計方向發展的趨勢。為此,基于強化學習思想,利用O-learning算法求解構建擁塞控制模型,是優化網絡擁塞控制算法的新路徑。

1? 強化學習方法

強化學習是一種人工智能機器學習方法,主要是通過試錯類學習,在交互過程中不停試錯從而實現自動尋優[1]。強化學習由5個部分實現,分別是智能體、外部環境、狀態空間、動作空間及反饋。其中,智能體指的是決策及行為的分析模型,而狀態空間分別是環境量化的表示方式及智能體執行動作的集合。反饋則是指外部環境對智能體動作執行所作出的評價。強化學習中的智能體及環境,可以利用狀態、動作,在獎勵激勵下產生交互。在強化學習過程中,智能體首先執行動作,然后環境會立即向新狀態轉變,并對新狀態給予正激勵或負激勵。智能體在新狀態及新環境反饋下獲得獎勵激勵后,會采用持續性獲得最多獎勵的策略執行后續動作?;趶娀瘜W習方式了解何種狀態下做出何種動作方可實現獎勵最大化,是智能體的最終目的。強化學習基本過程如圖1所示。

2? 網絡擁塞過程中馬爾科夫決策過程的構建

馬爾科夫決策過程是實現強化學習的基礎,而此過程的構建有2個必要條件,一是在當前狀態執行當前動作后才可進入下一狀態。二是當前狀態前期狀態與下一狀態之間并無關聯[2]。因此,網絡擁塞控制過程符合這2個條件后,方可基于馬爾科夫決策過程構建網絡擁塞控制模型。由于傳統網絡擁塞控制算法采用的是將網絡擁塞控制過程直接假設為馬爾科夫決策過程的簡單假設方式,會出現關鍵信息丟失現象。為此,本文提出簡化網絡擁塞過程,使此過程與馬爾科夫決策過程更加匹配,并且采用強化學習方法實現網絡擁塞控制過程求解過程的簡化。由于傳統網絡擁塞控制算法的數據報傳送時間延時效應與馬爾科夫控制過程不相匹配,為此,基于強化學習的網絡擁塞控制算法是在當前網絡鏈路帶寬探測的基礎上,尋求最優數據發送速率點,不必進行隊列填充,但要確保瓶頸鏈路有持續的數據包傳輸。也就是說網絡鏈路中沒有數據包排列現象。假設網絡擁塞控制過程數據發送速率與最優操作點完全契合,那么,本文假設的網絡擁塞過程將具備2個性質,一是在網絡鏈路資源得到充分利用的前提下,將最優操作點的網絡傳輸速率作為最大傳輸速率。二是數據包不排隊不會出現時間延遲現象,且此時網絡鏈路的傳送時間延時值最低。此操作使網絡擁塞過程得以簡化,可與馬爾科夫決策過程的構建條件相吻合。因此,可利用馬爾科夫決策過程構建網絡擁塞控制模型,之后,再利用強化學習方法優化與求解此模型。

3? QLCC擁塞控制算法

3.1? QLCC算法框架

Q-Learning算法屬于強化學習的基礎性、離用化算法,此算法可利用時間差分法估算值函數。為化解網絡擁塞問題,本文采用Q-Learning算法構建智能化網絡擁塞控制算法的模型。以Q-Learning算法為基礎構建的網絡擁塞控制算法(QLCC)框架圖如圖2所示。

3.2? QLCC算法參數結構及定義

此算法以傳統網絡狀態參數向量、接收反饋信息參數為輸入,并以當前網絡狀態最佳窗口調節動作為輸出。在利用Q-learning算法時,由于其具有離散化特征,為避免多特征參數設置時可能出現維度爆炸等問題,且為達到提高算法運算效率的目的,可以利用Remy擁塞控制算法的參數描述當前網絡狀態[3]。參數符號共有3個,一是ack_ewma,表示2個連續接收確認數據包的平均時間差值;二是send_ewma,代表接收到確認數據包所對應的發送數據包移動平均時間差值;三是rtt_ratio,指的是最新RTT數值及歷史最小RTT數值之比。而QLCC算法的動作空間參數結構復雜,包含5個擁塞控制窗口調節動作,分別是cwnd=cwnd、cwnd=cwnd-1、cwnd=cwnd-1/cwnd、cwnd=cwnd+1和cwnd=cwnd+1/cwnd。其中,cwnd=cwnd表示收到確認數據包時網絡發送窗口大小不發生改變,而其他4個動作依次代表收到確認數據包時,減少一個單位大小、減少一個當前窗口單位大小、增加一個單位大小和增強一個當前窗口單位大小。

3.3? QLCC算法參數離散劃分

Q-Learning算法屬于強化學習中的一種離散化算法,用于描述各個網絡狀態的參數均具有離散化特征,可采用離散化的形式表示本文所選用的3個連續參數,這3個參數的離散劃分數量并不一致,rtt_ratio參數,直接離散劃分即可,而send_ewma、ack_ewma 2個參數需要經過歸一公式處理后再進行離散劃分,公式如下

f(s)=2×((1/1+e-x)-0.5)。? (1)

得到的3個參數離散劃分結果詳見表1。

3.4? 基本回報值函數定義

為提升網絡擁塞控制過程及馬爾科夫擁塞過程的契合性,確??稍谧顑灢僮鼽c處獲取最大回報值,將基本回報值函數定義為

U=?琢×log(瞬時吞吐量)-?茁×log■,(2)

式中:?琢為調節延時參數;?茁為吞吐量比例參數。在實驗過程中,通過調節吞吐量比例參數便可得到與馬爾科夫擁塞控制過程更加契合的網絡擁塞控制過程。在智能體了解環境時,回報值函數屬于關鍵因子,為創造更佳的網絡環境,保證智能體學習效果,還需要對反饋函數算法進行定義,公式如下

3.5? QLCC算法迭代更新步驟

算法更新時,首先需要錄入網絡環境量化參數,而后輸出最優決策動作,輸出參數有當前網絡狀態量化后參數向量(s)、行為動作參數向量(a)、行為動作參數空間(A)、下一網絡狀態量化后參數向量(■)、狀態-行為對應值函數(Q(s,a))、規則集合(Q-Table)、折扣因子(?酌)、單步學習率(?琢)、回報值(R)和動作概率(?茁),而后會對規則集合進行初始化,并于當前網絡環境進行量化后參數向量的獲取,之后停止模擬過程,在if random(0,1)<0.9條件下,在規則集合中選取當前狀態下量化后參數向量的最大值的動作ealse,那么便會在行為動作參數空間動作集中隨機選擇一個行為動作參數向量,并且此向量會在環境下運行,從中獲取到下一網絡狀態量化得到的參數向量及回報值,最后值函數會進行更新,步驟為:Q(s,a)←Q((s,a)+?琢[R+?酌maxaQ(■,a)-Q((s,a)]。s與■數值相等是當前環境狀態參數進行更新的必要條件[4]。

4? QLCC算法實驗設計與結果分析

4.1? QLCC算法實驗拓撲結構設計

本實驗仿真平臺選用網絡仿真模擬器,網絡仿真拓撲環境的結構包含3個主要部分,一是發送端,二是接收端,三是路由節點,其中發送端及接收端分別有多個,而路由節點只有2個。發送節點具備嵌入不同種類擁塞控制算法的功能,而瓶頸鏈路的作用是對不同帶寬及延時進行設置。

4.2? 仿真實驗及結果分析

4.2.1? 網絡吞吐量實驗

在網絡吞吐量實驗中,只需設置一個發送端,并分析單個發送端的吞吐量,實驗時將瓶頸鏈路的帶寬及延時分別設定為5 Mb及10 ms,而隊列排隊值及模擬時間值分別設置為100 kpt及100 s。在數據發送端嵌入QLCC算法,同時還需將TCP NewReno算法、TCP CUBIC算法、TCP Compound算法嵌入其中作為對比,并對各個算法的網絡吞吐量值、平均時間延時值展開對比分析。4種算法各自發送端吞吐量及時延統計數據見表2。通過仿真實驗的QLCC算法及其他算法的擁塞控制窗口數據變化情況分析發現,網絡環境下只設置發送端時,QLCC算法可在低時延下(無須排隊的情況下)具備較高的吞吐量,雖然此吞吐量要低于TCP Compound算法,但卻比TCP NewReno算法、TCP CUBIC算法更高。QLCC算法的平均時延僅為0.012 8 s左右,而其他算法的平均時延均高于0.12 s,說明QLCC算法比其他3種算法的時延更低。這是由于QLCC算法數據傳送時,鏈路上無數據包排隊現象,因而數據傳輸更加高效。

4.2.2? 算法公平性實驗

在對QLCC算法的公平性進行檢驗時,需要在網絡拓撲結構中設置4個發送端,將上述4種算法分別嵌入其中,并將瓶頸鏈路的帶寬及時延設置為10 Mb及10 ms,隊列排隊值及模擬時間值分別設置為1 000 kpt及100 s。通過仿真實驗可以獲取4種算法網絡擁塞控制算法協議內公平性對比數據。其中QLCC算法及TCP CUBIC算法的網絡公平因子均為1.000 0,而TCP NewReno算法及TCP CUBIC算法的網絡公平因子分別是0.977 5及0.990 0。QLCC算法的公平性在4種算法中居于第二,雖不如TCP Compound算法,但比TCP NewReno算法及TCP CUBIC算法更為優異。并且QLCC的4個發送端吞吐量在前期快速提升后以極快的速度進行收斂, 在整個仿真實驗過程中,4個發送端的瞬時吞吐量持平,由此可見,相較于其他3種算法而言,QLCC算法的公平性更佳[5]。

4.2.3? 隨機丟包環境下吞吐量實驗

此實驗過程中,在網絡拓撲結構中只設置1個發送端,所有實驗參數設置均與網絡吞吐量實驗相同,即瓶頸鏈路帶寬、延時、隊列排隊值和模擬時間分別為5 Mb、10 ms、100 kpt和100 s。之后將4種算法分別嵌入到4個發送端中。通過仿真實驗可以得到4種算法在丟包環境下的吞吐量情況。其中,在丟包率為1%時,TCP Compound算法、TCP NewReno算法、TCP CUBIC算法的吞吐量均出現了明顯下滑趨勢,導致此現象的原因是這些傳統網絡擁塞控制算法均以丟包反饋作為設計依據,因而在丟包越多的情況下,數據包傳送速率越低,因而其吞吐量出現了不斷下降現象。而QLCC算法在丟包率達到25%后吞吐量才出現下滑,是因為此時QLCC算法所收集及學習的有價值信息量有所不足,對其決策制定產生了影響[6]。然而相較于其他3種算法而言,相同丟包率情況下,QLCC算法的吞吐量更高。這說明,QLCC算法具備更強的抗丟包性能。如圖3所示。

5? 結論

基于QLCC的網絡擁塞控制算法可通過簡化網絡擁塞控制過程,使之與馬爾科夫決策過程更加契合,并可基于強化學習中的Q-learning算法完成網絡擁塞控制模型的求解。相較于傳統網絡擁塞控制方法而言,此種基于強化學習的新型網絡擁塞控制算法的網絡吞吐量、公平性均較強,并且丟包環境下的吞吐量更高,說明其抗丟包能力更強。通過仿真實驗證實,此種智能化網絡擁塞控制算法在化解網絡擁塞問題方面具備更高的應用價值。

參考文獻:

[1] 何佳晉.基于深度強化學習方法的擁塞控制研究[D].哈爾濱:哈爾濱理工大學,2021.

[2] 楊明.網絡擁塞控制算法BBR的公平性研究與改進[D].武漢:華中科技大學,2020.

[3] 成誠.基于在線學習的數據中心網絡擁塞控制算法的設計與實現[D].北京:北京郵電大學,2020.

[4] 劉安戰.移動延遲容忍傳感網絡擁塞控制算法研究[J].計算機仿真,2020,37(2):307-311.

[5] 李少博.端到端的TCP擁塞控制算法研究[D].哈爾濱:哈爾濱理工大學,2018.

[6] 張奎.基于NS2的網絡擁塞控制算法實驗仿真與分析[J].青海師范大學學報(自然科學版),2021,37(2):36-41.

猜你喜歡
強化學習仿真實驗學習方法
基于強化學習的在線訂單配送時隙運能分配
論“以讀促寫”在初中英語寫作教學中的應用
智能交通車流自動導引系統
開展體驗式教學創新研究 提高化學課堂有效性
分布式系統中基于非合作博弈的調度算法
小學音樂快樂學習的三種方法
高中數學教學方法淺析
論高中物理電路知識的學習方法及解題思路
小學語文低段識字教學的意義及學習方法
基于多重視閾下的《電子控制技術》課程的教學探討
91香蕉高清国产线观看免费-97夜夜澡人人爽人人喊a-99久久久无码国产精品9-国产亚洲日韩欧美综合