TWI766735B - 基於機器學習之速率調適系統與相關方法 - Google Patents
基於機器學習之速率調適系統與相關方法 Download PDFInfo
- Publication number
- TWI766735B TWI766735B TW110123009A TW110123009A TWI766735B TW I766735 B TWI766735 B TW I766735B TW 110123009 A TW110123009 A TW 110123009A TW 110123009 A TW110123009 A TW 110123009A TW I766735 B TWI766735 B TW I766735B
- Authority
- TW
- Taiwan
- Prior art keywords
- rate
- machine learning
- options
- rate adaptation
- adaptation system
- Prior art date
Links
Images
Landscapes
- Mobile Radio Communication Systems (AREA)
- Monitoring And Testing Of Transmission In General (AREA)
Abstract
基於機器學習之速率調適方法包含根據機器學習模型來比較複數個用於無線網路的資料傳輸之速率選項,以由該複數個速率選項中選出複數個當下較佳速率選項;測試該複數個當下較佳速率選項,並根據該些當下較佳速率選項各自之服務時間比率產生對應之吞吐量效能分數;比較每一該些當下較佳速率選項之吞吐量效能分數,來決定當下具有最高吞吐量效能分數之當下最佳速率選項;在測試該複數個當下較佳速率選項時,為每一該些當下較佳速率選項產生該服務時間比率;及採用該當下最佳速率選項來進行該無線網路的資料傳輸。
Description
本揭露書係相關於一種基於機器學習之速率調適系統與相關方法,尤指一種採用二階段式速率搜尋程序之基於機器學習的速率調適系統與相關方法。
目前已經有很多適合於傳統Wi-Fi標準的速率調適演算法,但這些方法缺乏擴展性,而無法輕易地應用於新Wi-Fi標準含Wi-Fi 5和其以後標準,或是達到最佳的吞吐量效能。雖然也已有一些適合於Wi-Fi 5的速率調適方法,例如Linux預設的Minstrel和Intel網卡的Iwlwifi,但它們因缺乏規模性或縝密性,而在某些狀況中無法達到預期的吞吐量效能。主要的原因是Wi-Fi 5標準開始運行以後,有大量的速率選項。一方面當調適方法缺乏規模性時,會導致在尋找最佳效能的速率選項時過於緩慢,而無法應付快速變化的通道狀況。在另一方面,為了加速速率的搜尋過程,有些方法直接排除了大部分的速率選項,而缺乏搜尋的縝密性,導致可能無法找到最佳的速率項目。
更具體來說,隨著Wi-Fi無線網路標準的演進,提升Wi-Fi速度效能的新技術不斷產生,從傳統Wi-Fi標準(如IEEE 802.11a/b/g)只有調變及編碼結構 (Modulation and Coding Scheme,MCS) 方法的技術,到現在流行的IEEE 802.11ac標準包含了三個提升速度效能的主要技術。這三個主要技術除了MCS以外,還包含頻寬(bandwidth)調整和多輸入多輸出(Multi-Input Multi-Output,MIMO)的技術。這些技術使得IEEE 802.11ac的速度可達每秒千兆位元(Giga bits per second,Gbps)以上。而各項技術也各自有多個選項,以使用於不同的無線通道狀況,例如無線網卡驅動程式中的速率調適演算法就是用在這種情況,以在當前通道狀況下選擇一個可以達到最高速率的技術選項組合。然而,因通道狀況瞬息萬變,可於數十毫秒間出現變化,若無法即時動態變換至最好的組合,將會造成Wi-Fi傳輸吞吐量低落。然而,所有速率選項組合的數目可以從將近一百個到數百個,對速率調適演算法的設計帶來挑戰。
目前適用於IEEE 802.11ac之最新標準的速率調適方法有三類。第一類速率調適方法是只考慮部分的速率選項組合,例如主要使用最大的頻寬160MHz,對於其他較小的20/40/80MHz等頻寬則是只考慮最低的速率選項,Intel
TM的Iwlwifi速率調適方法和其他傳統的方法即屬於此類速率調適方法。這類速率調適方法因為沒有全面性地考慮所有可能的速率選項,而使得在某些特殊狀況下(例如與常態相比已遠超出標準差的情況),當沒被考慮的選項是當下的最佳選項時,會造成無可避免的效能低落。
第二類速率調適方法則是考慮了所有的速率選項組合,但因為選項數目太多,而造成搜尋速率選項的複雜度大增、因而速率調適處理的太慢。例如,在無線通道變化快速時(舉例來說,因為裝置在移動中),此類速率調適方法通常難以迅速找到當下的最佳速率選項,Linux
TM預設的Minstrel速率調適方法即是屬於此類速率調適方法。
第三類速率調適方法是使用機器學習的方法,但它們沒有考慮快速變化的無線通道,而只考慮長期的吞吐量效能,因此在一段時間內只會選擇一個固定的選項組合,對於實際運作上需要動態靈活變化速率調適策略的無線網卡來說,並不能算是實用的速率調適方法。
再者,目前業界的常規方法並沒有把傳輸受到干擾的程度作為速率調適的參考因素。例如,當有不同頻寬20/40/80/160MHz的選項時,某些通道的干擾會影響某一個或某些特定頻寬的效能。若沒有事先因應這些頻寬的相關選項所受到的干擾來進行速率調適,可能會最終會選取、使用到干擾嚴重的頻寬選項,而造成傳輸效能低落。
本揭露書係揭露一種基於機器學習之速率調適系統與相關方法。
在一例子中,該基於機器學習之速率調適系統包含一機器學習模組、一速率調適控制模組、一精確性速率探測模組、一擁擠偵測器、及一傳輸模組。該機器學習模組用來在被詢問時,根據一機器學習模型來比較複數個用於一無線網路的資料傳輸之速率選項,以由該複數個速率選項中選出複數個當下較佳速率選項。該速率調適控制模組用來在被觸發時,向該機器學習模組詢問並接收到該複數個當下較佳速率選項。該精確性速率探測模組用來測試該複數個當下較佳速率選項,並根據該些當下較佳速率選項各自之一服務時間比率產生對應之一吞吐量效能分數,以及比較每一該些當下較佳速率選項之吞吐量效能分數,來決定當下具有一最高吞吐量效能分數之一當下最佳速率選項。該擁擠偵測器用來在測試該複數個當下較佳速率選項時為每一該些當下較佳速率選項產生該服務時間比率。該傳輸模組用來因應於該速率調適控制模組的指示,採用該當下最佳速率選項來進行該無線網路的資料傳輸。
在一例子中,該機器學習模組運作於該速率調適系統之一使用者空間,且該速率調適控制模組運作於該速率調適系統之一內核空間。該速率調適控制模組係以非同步之方式與該機器學習模組詢問並接收到該複數個當下較佳速率選項。
在一例子中,該機器學習模組另包含一網路鏈結收聽器,且該速率調適控制模組另包含一網路鏈結回傳器。該網路鏈結收聽器與該網路鏈結回傳器係形成一介面,用來在該使用者空間與該內核空間之間非同步地傳遞該複數個當下較佳速率選項。
在一例子中,該機器學習模組係以該無線網路之複數個連線品質指引作為輸入,並以該些當下較佳速率選項各自之吞吐量效能分數作為輸出,來使用一深度學習演算法訓練出該機器學習模型。
在一例子中,該深度學習演算法係採用一人工神經網路深度學習演算法。
在一例子中,該人工神經網路深度學習演算法係包含k-近鄰演算法、支持向量機器演算法、或隨機森林演算法中任一種或其任意組合。
在一例子中,該人工神經網路深度學習演算法係採用了修正之線性單元啟始函式。
在一例子中,該機器學習模組係對該些當下較佳速率選項各自被測試出來之吞吐量進行正規化,而產生該些當下較佳速率選項各自之吞吐量效能分數。
在一例子中,該精確性速率探測模組另用來管理一個表格,該表格為該無線網路所使用之每一速率選項及/或每一頻寬做逐時間記錄、並管理該服務時間比率與其對應之吞吐量之間的關係。
在一例子中,該精確性速率探測模組係以移動平均的方式來管理這個表格記載的項次間對應關係。
在一例子中,該機器學習模組係使用一均方誤差函式來計算現行輸出之複數個吞吐量效能分數與複數個對應之目標吞吐量效能分數之間的誤差,並將該些誤差反向傳播至該深度學習模型的各個層級,以更新該深度學習模型之各個神經元所採用的權重。
在一例子中,該機器學習模組是以隨機梯度下降方法來更新該些神經元所採用的權重。
在一例子中,該機器學習模組是以均方根傳播方法來更新該些神經元所採用的權重。
在一例子中,該機器學習模組是根據每個神經元所採用之權重中當下梯度之強度的移動平均來更新該些神經元所採用的權重。
在一例子中,該擁擠偵測器係將該無線網路之資料傳輸中每一幀之服務時間除以其生命週期來計算該服務時間比率。該每一幀之生命週期等於該每一幀之服務時間加上其排隊延遲。該每一幀之排隊延遲係為每一幀被實際傳送的時間點到接收到對應之回應之間的時間差。
在一例子中,該速率調適控制模組被觸發以詢問該機器學習模組的機制包含計時器觸發速率偵測與事件觸發速率偵測。
在一例子中,該速率調適系統係以被內嵌於Wi-Fi驅動程式的形式來被應用於IEEE 802.11ac下的網路介面卡。
在一例子中,該機器學習模組係使該機器學習模型學習該複數個速率選項、該些速率選項之效能、以及其低階層指示之間的關係。
在一例子中,該低階層指示包含無線訊號接收強度與子幀耗損至少其中之一。
在一例子中,該速率調適方法,包含: 根據一機器學習模型來比較複數個用於一無線網路的資料傳輸之速率選項,以由該複數個速率選項中選出複數個當下較佳速率選項;測試該複數個當下較佳速率選項,並根據該些當下較佳速率選項各自之一服務時間比率產生對應之一吞吐量效能分數;比較每一該些當下較佳速率選項之吞吐量效能分數,來決定當下具有一最高吞吐量效能分數之一當下最佳速率選項;在測試該複數個當下較佳速率選項時,為每一該些當下較佳速率選項產生該服務時間比率;及採用該當下最佳速率選項來進行該無線網路的資料傳輸。
在一例子中,該方法包含在一使用者空間與一內核空間之間以非同步之方式,詢問並接收到該複數個當下較佳速率選項。
在一例子中,該方法包含以該無線網路之複數個連線品質指引作為輸入,並以該些當下較佳速率選項各自之吞吐量效能分數作為輸出,來使用一深度學習演算法訓練出該機器學習模型。
在一例子中,該方法包含為該無線網路所使用之每一速率選項及/或每一頻寬做逐時間記錄,並管理該服務時間比率與其對應之吞吐量之間的關係。
在一例子中,該方法包含使該機器學習模型學習該複數個速率選項、該些速率選項之效能、以及其低階層指示之間的關係。
為了解決上述搜尋速率時所衍生搜尋效率與搜尋縝密性之間的取捨問題,本揭露書提出了一個基於機器學習的速率調適(MLRA,Machine Learning based Rate Adaptation)方法,其具有可實用的、擴展性(extensibility)、規模性(scalability)、和縝密性(thoroughness)等特質。本揭露書之基於機器學習的速率調適方法係利用機器學習來達到擴展性的效果,並據以自動辨識出速率選項、吞吐量(Goodput)效能和通道狀況之間的關係,另外並使用二階段的速率搜尋程序和擁擠狀況偵測,來即時達到規模性和縝密性之效果。
該速率搜尋程序採用了一個機器學習模型來自動地辨識出各個速率特徵與速率效能(例如吞吐量與連線品質等)之間的關係(Correlations),並使用一個概略性速率(Coarse-grained rate) 搜尋程序來鎖定一組當下較佳的速率選項。接著,並採用一個精確性速率 (Fine-grained rate) 搜尋程序於該組當下較佳的速率選項,以最終決定該組當下較佳速率選項中當下最佳的一個速率選項來運行無線網路。為了改進該速率搜尋程序的效能,本揭露書另採用一個擁擠狀況偵測機制來評估在每一個傳輸用頻寬實際需要花費的時間資源,以更進一步的評比當下該組較佳速率選項之間的優劣。
本揭露書的速率調適方法是以二個方式來支援延展性的需求。第一個方式是,該速率調適方法需要對模型參數做更新。更進一步說,該速率調適方法所採用的機器學習模型會採用一組連線品質指示(Link Quality Indicator)作為輸入,並將各速率選項的分數作為輸出,來訓練該機器學習模型,其中較高的分數代表了當下係為較佳速率選項的較高可能性。如此一來,當該速率調適方法需要考慮新的特徵、特徵選項、或指引時,將會需要改變該機器學習模型的輸入參數與輸出參數、調整模型參數、收集新的訓練用資料、以及重新訓練該機器學習模型,而實現上述的延展性需求。
第二個方式是,取代傳統速率調適方法中以人工方式比較速率選項的方法,而改以該機器學習模型來自動學習多個速率選項、該些速率選項的效能、以及其低階層指示之間的關係。其中這裡的低階層指示(即低階層資訊)可包含無線訊號接收強度(Received Signal Strength Indication,RSSI)、子幀耗損(Subframe Loss)等至少其中之一。如此一來,當需要考慮新的速率選項或其指示時,該機器學習模型可學習新的速率選項或其指示所衍生的新關係,而同樣的實現延展性的需求。
考慮到規模性與縝密性的需求時,本揭露書之速率調適方法將會藉由上述之二階段速率搜尋程序來加速速率選項的搜尋過程,達到以較低代價考慮所有當下可行的速率選項之目的。特別的是,在第一階段的速率搜尋程序中,本揭露書之基於機器學習的速率調適方法會使用該機器學習模型所輸出的分數,來先行排除當下部分可能較劣的速率選項。如此一來,可以大幅降低第二階段的速率搜尋程序中進行精確性速率搜尋時的運作成本。更特別的是,這個二階段速率搜尋程序可以因應不同組的當下速率選項來運作,只需要簡單地改變第一階段之該機器學習模型所採用的參數即可。如此一來,第二階段仍然可以正常地對新來的一組輸入參數來運作,以判斷更新後的該組較佳速率選項中之一最佳當下速率選項。
在一例子中,本揭露書之該速率調適方法的實作是基於一個非同步跨使用者空間和內核空間的架構,以將機器學習演算法應用至內核模組的Wi-Fi驅動程式。
在一例子中,本揭露書之該速率調適方法係適合應用於網路通訊產業,尤其是Wi-Fi晶片商、Wi-Fi基地台和網卡設備商、以及相關系統廠商,以隨時採用到當下最佳之無線網路速率。例如,本揭露書之該速率調適方法可以內嵌於Wi-Fi驅動程式的形式來被應用於IEEE 802.11ac下的網路介面卡(Network Interface Card,NIC)。
另外,本揭露書之該速率調適方法主要包含兩個項目。第一個項目是機器學習應用於內核模組(如Wi-Fi驅動程式)架構,可使得廠商對於無線網路或電腦系統開發智能服務,應用人工智慧技術,來針對不同類型與差異的使用者做產品效能的優化,以提高產品的競爭力。第二個項目是基於深度學習且具實用性的速率調適演算法,可使Wi-Fi晶片商和設備商提高Wi-Fi產品的效能。
圖1圖示了根據本揭露書之一例子,以硬體角度所揭露之速率調適系統100。速率調適系統100包含速率調適控制模組(Rate Adaptation Control Module)110、機器學習模組120、精確性速率探測模組(Fine-grained Rate Probing Module)130、以及擁擠偵測器(Congestion Detector)140。
速率調適控制模組110用來控制速率調適系統100整體的運作,並採用包含計時器觸發速率偵測(Timer-triggered Rate Probing)機制與事件觸發速率偵測(Event-triggered Rate Probing)機制的兩種速率偵測機制。在被觸發後,速率調適控制模組110向機器學習模組120詢問當下可採用的複數個較佳速率選項。
接著,精確性速率探測模組130會直接在無線網路上測試使用該些當下較佳速率選項的傳輸。另外,擁擠偵測器140會因應精確性速率探測模組130的測試,提供當下該些較佳速率選項所對應的服務時間比率(Service Time Ratio),使得精確性速率探測模組130可基於該些服務時間比率,來估計各個速率選項所對應之吞吐量(Goodput)。
每當速率調適控制模組110啟始一次速率偵測過程時,機器學習模組120會將上述的低階層資訊作為輸入之偵測連線品質指示,並使用該資訊套入機器學習模型來決定當下的一組可能偵測速率選項。跟傳統在當下就直接決定一個最佳速率選項的做法比起來,機器學習模組120不直接決定一個最佳速率選項的原因有兩個。第一個原因是,用來訓練其機器學習模型的資料通常不會捕捉到連線品質所有的變數與變化,以避免訓練中產生過度適應現象(Overfitting)。第二個原因是,由於不同的連線品質指示會因應不同的連線平台而出現差異,當下所採用的一組連線品質指示未必足以判斷在所有可能出現的速率選項中的最佳速率選項,也就是類似於本地(或當下)最佳(Local Optimal)未必等於廣域(或永久)最佳(Global Optimal)的原理。特別的是,精確性速率探測模組130會為每個較佳速率選項預估其吞吐量,並在每當發現有其他較佳速率選項具有更佳吞吐量效能分數時,將原先判斷的最佳速率選項動態替換為具有更加吞吐量效能分數之最佳速率選項,以將當下並不具有較佳吞吐量效能分數的其他速率選項排除。這個過程會持續到當下所有被建議的選項被精確性速率探測模組130預估過或排除為止,而只留下當下之最佳速率選項。
作為速率調適系統100的輔助,精確性速率探測模組130會另外藉由擁擠偵測器140的協助,來評估不同頻寬設定下,其評估中的速率選項之吞吐量表現所引起的干擾效應(Interference Effect)。在本揭露書之一例子中,擁擠偵測器140是以服務時間比率(Service Time Ratio)作為衡量整體無線網路擁擠等級的指標,以量化傳輸模組150當下進行資訊傳輸的成本(例如時間成本)。特別的是,精確性速率探測模組130會建立、管理一個表格(Table)來為該無線網路所使用之每一速率選項(及/或每一頻寬)做逐時間記錄(也就是圖1所示之速率統計模組160)、與管理該服務時間比率與其對應之吞吐量之間的關係;例如以移動平均(Moving Average)的方式來管理這個表格記載的項次間對應關係。
請另參閱圖2,其為以軟體角度所揭露之速率調適系統100的示意圖,其中速率調適系統100係由一Wi-Fi驅動程式所應用及運行,且圖2是以Wi-Fi驅動程式內的使用者空間(User Space)和內核空間(Kernel Space)、以及運行模式(Runtime Mode)及訓練模式(Training Mode)切割的方式來另行解釋速率調適系統100的技術特徵。其中,速率調適系統100是基於非同步方式來跨越使用者空間和內核空間兩者之間運作的架構。
如圖2所示,速率調適系統100以軟體觀點來說,可被規劃為二個區域,包含使用者空間(User Space)260與內核空間(Kernel Space)270,以運行速率調適系統100的二個不同模式,包含運行模式(Runtime Mode)210與訓練模式(Training Mode)250。另,圖1所示之機器學習模組120也可根據不同模式下的作用差異,在圖2中拆分為在運行模式210下運作的機器學習常駐模組230、與在訓練模式250下運作之機器學習訓練模組240。其中,使用者空間260與內核空間270之間,可透過由機器學習常駐模組230包含之網路鏈結收聽器232及Wi-Fi驅動程式205所包含的網路鏈結回傳器234所共同形成的一個介面來交換資訊。
速率調適系統100被應用於Wi-Fi驅動程式時,可以硬體、軟體、韌體、或上述之任意與合理組合等方式,安裝於Wi-Fi基地台與網路卡中,以執行本揭露書之速率調適方法,來動態評估Wi-Fi傳輸的多個速率選項之優劣,並採用所評估出來當下最佳之速率選項來進行資料傳輸。
在本揭露書之一例子中,速率調適系統100是以非同步方式,將深度學習應用在使用者空間260,並另外與內核空間270做溝通,以引導內核空間270可動態採用當下最佳的速率選項。會採用這個做法,而不將深度學習直接應用在內核空間270,主因是現行的內核空間270大多不支持浮點數運算,且內核空間270內建的函示庫也需要作出大幅更新;因此,為了避免更動內核空間270所引起各種過高衍生成本與風險,本揭露書採取了以更新彈性更高之使用者空間260來執行的方式,以避免上述大幅更動內核空間270的成本與風險。
在本揭露書之一例子中,是由位於使用者空間260的機器學習常駐(Machine Learning daemon)模組230來主導運行模式210。在該運行模式下,機器學習常駐模組230會透過圖1所示位於內核空間270中的速率調適控制模組110(及/或其包含之核心函式115)來與擁擠偵測器140共同運作,以偵測和估計每個速率選項對應之頻寬(bandwidth)的擁擠程度(例如前述之服務時間比率),並將該擁擠程度考慮在每個速率選項的效能預估中,並更新於前述擁擠偵測器140所管理與維護的表格。
在運行模式210中,機器學習常駐程式模組230根據Wi-Fi驅動程式205透過網路鏈結收聽器232與網路鏈結回傳器234而從Wi-Fi驅動程式205所得到的頻道狀況,以非同步的方式回傳預估當下各個速率選項的效能排序,其中該頻道狀況可以經由從無線網路所偵測到之訊號強度和不同速率下的預估效能等參數所描述。在此所述之非同步架構,即當Wi-Fi驅動程式205需要預估當下最佳的速率選項時,由Wi-Fi驅動程式205將目前的頻道狀況以向機器學習常駐程式模組230發出呼叫的方式,傳送至機器學習常駐程式模組230來詢問其預估結果;在機器學習常駐程式模組230尚未回傳預估結果前,Wi-Fi驅動程式205仍繼續運作,直至等到機器學習常駐程式模組230透過網路鏈結收聽器232與網路鏈結回傳器234回傳該預估結果後,Wi-Fi驅動程式205再根據該預估結果進行速率調適。
另外,在訓練模式250中,位於內核空間270的速率效能收集模組280會收集之不同頻道狀況中多個速率選項各自的效能資料,並將所收集的效能資料傳送至使用者空間260的一個資料收集模組(Data collection module)244和資料庫242(例如可採用MongoDB實施)。在訓練機器學習模型時,機器學習訓練模組(Machine learning training module)240會從資料庫242以批次方式讀取上述多個速率選項各自之效能資料,以訓練出用來判斷當下最佳速率選項的機器學習模型。機器學習訓練模組240所訓練出的機器學習模型,會以產生一個組態檔案246的方式傳遞至機器學習常駐模組230,以供運行模式210之下使用。
圖3圖示了圖1或圖2之基於機器學習之速率調適系統100所採用,基於深度學習的二階段速率調適演算法之概略流程圖。
在步驟302中,機器學習常駐模組230收到Wi-Fi驅動程式透過網路鏈結收聽器232與網路鏈結回傳器234所形成之介面所傳來的頻道狀態(channel state)後,以非同步方式回傳其預測之速率選項效能排序至內核空間270中的速率調適模組110。
在步驟302中可以採用任何深度學習模型來輔助,例如人工神經網路 (Artificial Neural Network,ANN)之深度學習。在本發明的數個例子中,所採用的人工神經網路深度學習演算法可包含k-近鄰演算法(k-Nearest Neighbors,k-NN)、支持向量機器演算法(Support Vector Machine,SVM)、或隨機森林演算法(Random Forest,RF)中任一種或其任意組合。本揭露書採用人工神經網路深度學習,其相較於其他受監督式的機器學習演算法具有兩個明顯的優點。第一個優點是,人工神經網路深度學習可以比其他演算法更有效率地解決非線性問題,而各個速率選項、吞吐量效能、及連線品質之間所形成的高複雜度交互關係,就屬於非線性問題的範疇。第二個優點是,人工神經網路深度學習可以支援多維度的輸出,而使得機器學習模組120可以在上述第二階段速率調適演算法中同時提供多個當下較佳的候選速率選項。圖4即為在本揭露書之一例子中,於步驟302所採取人工神經網路深度學習模型400的概略示意圖。
圖4中的人工神經網路深度學習模型400,是以IEEE 802.11ac Wi-Fi NIC為基礎,採用了k個可用之連線品質指引、m個特徵、以及n個速率選項,其中k、m、n皆為非負的整數。每一指示q
i的物件q
ij,都作為輸入層神經元的輸入。因此,輸入層就會具有總共
個神經元,其中i、j、k皆為非負的整數。隱藏層包含至少一層,且每一隱藏層多個神經元。輸出層包含n個神經元,以為每個速率選項提供提供相對應的分數S(r
i)。在本揭露書之一例子中,人工神經網路深度學習模型400採用了修正之線性單元(Rectified-Linear Unit,ReLU)啟始函式(Activation Function)
來因應其稀缺性,如此一來,對於
的狀況,修正之線性單元啟始函式就可以簡單的輸出0來處理,而大幅縮短人工神經網路深度學習模型400的處理時間。
圖4所例示介紹之人工神經網路深度學習模型400的運作方式可解釋如下。被輸入的多個連線品質指示q
1j、q
2j、…等各自描述了某種程度或面向的連線品質,並與各個速率選項所對應的吞吐量效能有所關聯。而被輸出的吞吐量效能分數S(r
1)、分數S(r
2)、分數S(r
3)、…等會基於實際偵測到的吞吐量效能做正規化(Normalization),以各自代表所關聯之速率選項。接著,會在該些分數S(r
1)、分數S(r
2)、分數S(r
3)、…等分數中選出一組當下較佳的複數個分數來。
在圖4所示人工神經網路深度學習模型400的訓練階段中,會使用反向傳播(Backpropagation)方式。也就是說,在前饋階段結束後,會使用一個均方誤差(Mean Square Error)函式來計算、量化現行輸出的多個吞吐量效能分數與多個對應之目標吞吐量效能分數之間的誤差。在每個神經元所計算出的誤差,會被反向傳播至人工神經網路深度學習模型400的各個階段/層級,以更新各神經元所採用的權重(Weight)來完成一個階段的訓練。其中,更新神經元權重的方法可採用隨機梯度下降(stochastic gradient descent)方法。在本揭露書的一個例子中,更新神經元權重的方法可另外採用均方根傳播(Root Mean Square Propagation,RMSProp)方法,也就是根據每個神經元所採用之權重中當下梯度之強度的移動平均做更新,來調適人工神經網路深度學習模型400之學習速率,以避免人工神經網路深度學習模型400中的震盪(Oscillation)。
採用速率調適系統100之Wi-Fi驅動程式中,分為步驟304與步驟306所代表的兩個階段來進行速率調適。
步驟304代表了第一個階段採用的概略性速率預測(Coarse-grained rate prediction)機制,也就是由機器學習模組120或機器學習常駐模組230根據當下預測出來的較佳速率選項預測結果,輸出多個當下潛在較佳的速率選項。
步驟306代表了第二個階段採用之精確性速率探測(Fine-grained rate probing)機制。其中,速率調適模組110根據步驟304中第一階段輸出的該些當下潛在較佳的速率選項,實際測試並偵測每個當下潛在較佳速率選項各自的效能。最後,速率調適模組110取出所測試出來具有當下最佳效能的速率選項,再將該當下最佳之速率選項於步驟308中傳送至傳輸模組(Transmission module)150,以使傳輸模組150採用該當下最佳速率選項來進行無線網路之資料傳輸。
在步驟306所採用速率調適的第二個階段中,可同時在步驟310藉由擁擠偵測器140的輔助,來即時預測每個較佳速率選項所對應之頻寬擁擠狀況以及吞吐量效能估計,以決定當下最佳的速率選項。
如上述相關擁擠偵測器140的描述,在此更進一步的敘述其採用的服務時間比率。更具體來說,擁擠偵測器140所採用之服務時間比率是將無線網路之資料傳輸中每一幀(frame)之服務時間除以其生命週期來計算,其中每一幀的生命週期包含其服務時間與排隊延遲(Queuing Delay)。該排隊延遲代表每一幀被創造出來的時間點到其被實際傳送的時間點之時間差。而該服務時間代表每一幀被實際傳送的時間點到接收到對應之回應(ACK)之間的時間差。當通道頻寬(例如40MHz至80MHz)處於忙碌狀態時,帧的傳輸會因為載波感應(Carrier Sensing)或避免碰撞(Collision Avoidance)而出現排隊延遲的增加。再者,當頻寬所遭遇的擁擠程度增加時,對應的排隊延遲也會跟著增加。在這兩種排隊延遲增加的情況中,服務時間比率也會成比例的減少。也就是說,服務時間比率是決定頻寬所遭遇的擁擠程度時,相當客觀的量化工具。最終也可透過通道頻寬干涉實驗來確知服務時間比率的有效性。
需注意的是,服務時間比率無法透過載波感應機制而輕易地決定。這是因為,載波感應機制會基於給定的訊號強度臨界值來偵測頻寬的擁擠程度,而相對欠缺動態更新的彈性。再者,在比較新一代的Wi-Fi驅動程式中,也不太需要應用到載波感應機制產生的資訊。
本揭露書所揭露之基於機器學習的速率調適系統與相關方法,有兩個優點。第一個是,由於是讓使用者空間與內核空間以非同步方式的介面來交換以機器學習模型來初步決定數個當下較佳速率選項,因此可以實質形成在內核空間應用機器學習演算法的效果,卻又可同時避開先前技術中在內核空間應用機器學習演算法的限制。第二個優點是,由於是使用二階段的速率選項檢測機制,而可以相較先前技術,在當下選出最佳速率選項的決策機制上有更佳的廣度、又能兼顧一定程度的精確度。
100:速率調適系統
110:速率調適控制模組
115:核心函式
120:機器學習模組
130:精確性速率探測模組
140:擁擠偵測器
150:傳輸模組
160:速率統計模組
210:運行模式
205:Wi-Fi驅動程式
230:機器學習常駐模組
232:網路鏈結收聽器
234:網路鏈結回傳器
240:機器學習訓練模組
242:資料庫
244:資料收集模組
246:組態檔案
250:訓練模式
260:使用者空間
270:內核空間
280:速率效能收集模組
302、304、306、308、310:步驟
400:人工神經網路深度學習模型
圖1圖示了根據本揭露書之一例子,以硬體角度所揭露之基於機器學習的速率調適系統。
圖2為以軟體角度所揭露圖1所示基於機器學習之速率調適系統的示意圖。
圖3圖示了圖1或圖2之基於機器學習之速率調適系統所採用,基於深度學習的二階段速率調適演算法之概略流程圖。
圖4為在本揭露書之一例子中,於圖3所示之一步驟所採取人工神經網路深度學習模型的概略示意圖。
無
100:速率調適系統
110:速率調適控制模組
115:核心函式
140:擁擠偵測器
210:運行模式
205:Wi-Fi驅動程式
230:機器學習常駐模組
232:網路鏈結收聽器
234:網路鏈結回傳器
240:機器學習訓練模組
242:資料庫
244:資料收集模組
246:組態檔案
250:訓練模式
260:使用者空間
270:內核空間
280:速率效能收集模組
Claims (24)
- 一種基於機器學習之速率調適系統,包含: 一機器學習模組,用來在被詢問時,根據一機器學習模型來比較複數個用於一無線網路的資料傳輸之速率選項,以由該複數個速率選項中選出複數個當下較佳速率選項; 一速率調適控制模組,用來在被觸發時,向該機器學習模組詢問並接收到該複數個當下較佳速率選項; 一精確性速率探測模組,用來測試該複數個當下較佳速率選項,並根據該些當下較佳速率選項各自之一服務時間比率產生對應之一吞吐量效能分數,以及比較每一該些當下較佳速率選項之吞吐量效能分數,來決定當下具有一最高吞吐量效能分數之一當下最佳速率選項; 一擁擠偵測器, 用來在測試該複數個當下較佳速率選項時為每一該些當下較佳速率選項產生該服務時間比率;及 一傳輸模組,用來因應於該速率調適控制模組的指示,採用該當下最佳速率選項來進行該無線網路的資料傳輸。
- 如請求項1所述之速率調適系統,其中該機器學習模組運作於該速率調適系統之一使用者空間,且該速率調適控制模組運作於該速率調適系統之一內核空間; 其中該速率調適控制模組係以非同步之方式與該機器學習模組詢問並接收到該複數個當下較佳速率選項。
- 如請求項2所述之速率調適系統,其中該機器學習模組另包含一網路鏈結收聽器,且該速率調適控制模組另包含一網路鏈結回傳器; 其中該網路鏈結收聽器與該網路鏈結回傳器係形成一介面,用來在該使用者空間與該內核空間之間非同步地傳遞該複數個當下較佳速率選項。
- 如請求項1所述之速率調適系統,其中該機器學習模組係以該無線網路之複數個連線品質指引作為輸入,並以該些當下較佳速率選項各自之吞吐量效能分數作為輸出,來使用一深度學習演算法訓練出該機器學習模型。
- 如請求項4所述之速率調適系統,其中該深度學習演算法係採用一人工神經網路深度學習演算法。
- 如請求項5所述之速率調適系統,其中該人工神經網路深度學習演算法係包含k-近鄰演算法、支持向量機器演算法、或隨機森林演算法中任一種或其任意組合。
- 如請求項5所述之速率調適系統,其中該人工神經網路深度學習演算法係採用了修正之線性單元啟始函式。
- 如請求項4所述之速率調適系統,其中該機器學習模組係對該些當下較佳速率選項各自被測試出來之吞吐量進行正規化,而產生該些當下較佳速率選項各自之吞吐量效能分數。
- 如請求項4所述之速率調適系統,其中該精確性速率探測模組另用來管理一個表格,該表格為該無線網路所使用之每一速率選項及/或每一頻寬做逐時間記錄、並管理該服務時間比率與其對應之吞吐量之間的關係。
- 如請求項9所述之速率調適系統,其中該精確性速率探測模組係以移動平均的方式來管理這個表格記載的項次間對應關係。
- 如請求項4所述之速率調適系統,其中該機器學習模組係使用一均方誤差函式來計算現行輸出之複數個吞吐量效能分數與複數個對應之目標吞吐量效能分數之間的誤差,並將該些誤差反向傳播至該深度學習模型的各個層級,以更新該深度學習模型之各個神經元所採用的權重。
- 如請求項11所述之速率調適系統,其中該該機器學習模組是以隨機梯度下降方法來更新該些神經元所採用的權重。
- 如請求項11所述之速率調適系統,其中該該機器學習模組是以均方根傳播方法來更新該些神經元所採用的權重。
- 如請求項11所述之速率調適系統,其中該該機器學習模組是根據每個神經元所採用之權重中當下梯度之強度的移動平均來更新該些神經元所採用的權重。
- 如請求項1所述之速率調適系統,其中該擁擠偵測器係將該無線網路之資料傳輸中每一幀之服務時間除以其生命週期來計算該服務時間比率,該每一幀之生命週期等於該每一幀之服務時間加上其排隊延遲,該每一幀之排隊延遲係為每一幀被實際傳送的時間點到接收到對應之回應之間的時間差。
- 如請求項1所述之速率調適系統,其中該速率調適控制模組被觸發以詢問該機器學習模組的機制包含計時器觸發速率偵測與事件觸發速率偵測。
- 如請求項1所述之速率調適系統,其中該速率調適系統係以被內嵌於Wi-Fi驅動程式的形式來被應用於IEEE 802.11ac下的網路介面卡。
- 如請求項1所述之速率調適系統,其中該機器學習模組係使該機器學習模型學習該複數個速率選項、該些速率選項之效能、以及其低階層指示之間的關係。
- 如請求項18所述之速率調適系統,其中該低階層指示包含無線訊號接收強度與子幀耗損至少其中之一。
- 一種基於機器學習之速率調適方法,包含: 根據一機器學習模型來比較複數個用於一無線網路的資料傳輸之速率選項,以由該複數個速率選項中選出複數個當下較佳速率選項; 測試該複數個當下較佳速率選項,並根據該些當下較佳速率選項各自之一服務時間比率產生對應之一吞吐量效能分數; 比較每一該些當下較佳速率選項之吞吐量效能分數,來決定當下具有一最高吞吐量效能分數之一當下最佳速率選項; 在測試該複數個當下較佳速率選項時,為每一該些當下較佳速率選項產生該服務時間比率;及 採用該當下最佳速率選項來進行該無線網路的資料傳輸。
- 如請求項20所述之方法,另包含: 在一使用者空間與一內核空間之間以非同步之方式,詢問並接收到該複數個當下較佳速率選項。
- 如請求項20所述之方法,另包含: 以該無線網路之複數個連線品質指引作為輸入,並以該些當下較佳速率選項各自之吞吐量效能分數作為輸出,來使用一深度學習演算法訓練出該機器學習模型。
- 如請求項20所述之方法,另包含: 為該無線網路所使用之每一速率選項及/或每一頻寬做逐時間記錄,並管理該服務時間比率與其對應之吞吐量之間的關係。
- 如請求項20所述之方法,另包含: 使該機器學習模型學習該複數個速率選項、該些速率選項之效能、以及其低階層指示之間的關係。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
TW110123009A TWI766735B (zh) | 2021-06-23 | 2021-06-23 | 基於機器學習之速率調適系統與相關方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
TW110123009A TWI766735B (zh) | 2021-06-23 | 2021-06-23 | 基於機器學習之速率調適系統與相關方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
TWI766735B true TWI766735B (zh) | 2022-06-01 |
TW202301206A TW202301206A (zh) | 2023-01-01 |
Family
ID=83103770
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
TW110123009A TWI766735B (zh) | 2021-06-23 | 2021-06-23 | 基於機器學習之速率調適系統與相關方法 |
Country Status (1)
Country | Link |
---|---|
TW (1) | TWI766735B (zh) |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20170019500A1 (en) * | 2015-07-15 | 2017-01-19 | Alibaba Group Holding Limited | Method and device for service processing |
TW201714469A (zh) * | 2015-08-25 | 2017-04-16 | 高通公司 | 在具有大量基地台之無線區域網路(wlan)中之功率節省機制 |
TW201916645A (zh) * | 2017-09-29 | 2019-04-16 | 中華電信股份有限公司 | 異質網路整合系統及其分流排程方法 |
-
2021
- 2021-06-23 TW TW110123009A patent/TWI766735B/zh active
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20170019500A1 (en) * | 2015-07-15 | 2017-01-19 | Alibaba Group Holding Limited | Method and device for service processing |
TW201714469A (zh) * | 2015-08-25 | 2017-04-16 | 高通公司 | 在具有大量基地台之無線區域網路(wlan)中之功率節省機制 |
TW201916645A (zh) * | 2017-09-29 | 2019-04-16 | 中華電信股份有限公司 | 異質網路整合系統及其分流排程方法 |
Also Published As
Publication number | Publication date |
---|---|
TW202301206A (zh) | 2023-01-01 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
EP3846387A1 (en) | Anomaly detection in a network | |
WO2021109578A1 (zh) | 业务运维中告警的预测方法、装置与电子设备 | |
CN107231436B (zh) | 一种进行业务调度的方法和装置 | |
CN110831029B (zh) | 一种模型的优化方法和分析网元 | |
US20210224696A1 (en) | Resource-aware and adaptive robustness against concept drift in machine learning models for streaming systems | |
CN107409075A (zh) | 用于网络时间序列数据的自适应的基于异常检测的预测器 | |
CN113869521A (zh) | 构建预测模型的方法、装置、计算设备和存储介质 | |
CN111371644B (zh) | 基于gru的多域sdn网络流量态势预测方法及系统 | |
CN107809766B (zh) | 一种用于网络优化的机器学习样本的生成方法及装置 | |
TWI684139B (zh) | 基於自動學習的基地台異常之預測的系統與方法 | |
CN113114722A (zh) | 一种基于边缘网络的虚拟网络功能迁移方法 | |
CN116244159B (zh) | 一种训练时长预测方法、装置、多元异构计算设备及介质 | |
CN115905450B (zh) | 一种基于无人机监控的水质异常溯源方法及系统 | |
Chang et al. | Decentralized deep reinforcement learning meets mobility load balancing | |
CN117896384B (zh) | 物联网通信方法、装置、设备及存储介质 | |
CN116455820A (zh) | 基于拥塞规避的多传输路径调整系统及方法 | |
US20230092777A1 (en) | Decentralized machine learning across similar environments | |
TWI766735B (zh) | 基於機器學習之速率調適系統與相關方法 | |
KR102093079B1 (ko) | 레이블 데이터를 이용한 생성적 적대 신경망 기반의 분류 시스템 및 방법 | |
US11558263B2 (en) | Network device association with network management system | |
Tanhatalab et al. | Deep ran: A scalable data-driven platform to detect anomalies in live cellular network using recurrent convolutional neural network | |
US20230196133A1 (en) | Systems and methods for weight of evidence based feature engineering and machine learning | |
CN114298213A (zh) | 基于多维特征向量和分类模型的卫通设备故障诊断方法 | |
CN111597860B (zh) | 一种用于cnc断刀预测的系统及方法 | |
WO2022223094A1 (en) | Method and network device for determining causes of network slice performance degradation in an open radio access network, o-ran |