
摘要
機器學習模型,尤爲是強化學習(RL),在優化視頻流應用方面已顯示出巨大的潛力。然而,目前的解決方案侷限於「離線學習」模式,即 RL 模型在仿真器/模擬器中進行訓練,而後 在真實網絡中部署。所以,上述方案不可避免地會遇到’仿真-現實’環境之間的差別(gap),在真實網絡中的性能遠遠不如仿真環境下的性能。前端
在本文中,咱們提出了 OnRL,一個實時移動視頻通話的在線 RL 框架。OnRL 將單獨的 RL agent 直接部署到每一個視頻通話系統中。這些系統依據 RL 算法,實時地作出視頻比特率決策,並隨時間實時演化其 RL agent。OnRL 繼而聚合這些 agent,造成一個具備高層次信息的 RL 模型,從而使得每一個視頻通話都能應 對不肯定的動態網絡條件。web
此外,OnRL 還設計融合了新的機制來處理視頻特性所帶來的系列挑戰,並消除由 RL 算法自己的強探索性致使的服務質量降低的風險。咱們將 OnRL 應用到主流的視頻直播系統——阿里巴巴淘寶直播 APP。經過近一個月對 151 名真實移動用戶的 543 小時視頻直播實驗評估,OnRL 的性能明顯優於以前的算法,在保持類似視頻質量的同時,視頻卡頓率減小了 14.22%。算法
引言後端
實時交互式視頻應用佔據了當今互聯網的大部分流量,這主要是因爲許多新興的主流視頻通話應用的帶動,如 Facetime、Skype、谷歌 Hangouts、淘寶直播、微信等。安全
隨着 LTE-Advanced 和 5G 等網絡基礎設施的升級,新的應用場景也在迅速涌現,如實時超清視 頻/VR 廣播、雲遊戲、手術機器人或車輛的遠程視頻操做。這種交互式 視頻應用程序在帶寬和延遲方面對網絡提出了最苛刻的要求。儘管通訊基礎設施正在努力 知足其這些應用需求,但它只承諾提供力所能及的最佳服務(best-effort service)。應用必須 依賴其自己的調節算法來適應高度動態的網絡條件。
服務器
爲了保持高質量的用戶體驗(QoE),傳統的交互式視頻應用程序採用基於規則(rule- based)的協議,如傳輸層的擁塞控制和應用程序的視頻比特率自適應。然而,預約制規則 沒法適應高度異構的現代互聯網,包括蜂窩/WiFi 無線連接、跨大陸光纖連接、基於雲的數 據中心連接等,全部這些都具備不一樣的帶寬、延遲和緩衝能力。微信
近年來,數據驅動的機器學習算法被提出用來改進視頻 QoE。例如,Pensieve在視頻流系統中使 用了強化學習(RL)來調節視頻比特率,目的是在最大限度利用帶寬的同時下降視頻卡頓的風 險。Concerto設計了模仿學習算法以協調傳輸層和視頻編解碼器間的不協調性,從而降 低移動視頻通話的卡頓率。網絡
在展現潛力的同時,現有的解決方案一般採用「離線學習,在線運行」的策略,即機器學 習模型在仿真器或仿真器中進行訓練,而後在實際應用中進行部署和測試。不幸的是,這樣 的離線學習模型在現實世界中的性能較差。此外,它們甚至可能表現出與在模擬環境中相 反的性能特徵。其根本緣由在於兩個相互關聯的因素: session
在模擬器中 忠實地模擬複雜的真實世界的互聯網動態是很是具備挑戰的開放問題。一條網絡路徑的 單個路由器能夠有各類各樣的功能和狀態,例如多流競爭、丟包策略、負載引發的質量波動, 更不用說終端設備上的多個協議層之間複雜的交互了。架構
從本質上說,機器學習算法是數據 驅動的,算法的能力嚴格地受到其學習環境(及數據產生環境)的限制。它經過在模擬器中 反覆試驗得到的經驗可能在處理真實的 Internet 時變得過期的(沒法正確作出決策)。
在本文中,咱們提出一種基於在線強化學習的移動視頻通話自適應框架 OnRL 來彌補 ‘模擬-現實’的差距。OnRL 直接在真實視頻通話系統(即,阿里巴巴淘寶直播) 中運行並持續訓練,從而學習和響應真實的網絡動態性。OnRL 不只僅是一個簡單的學習環境的轉變。相反,它發現並解決了三個獨特的設計挑戰:
從大量併發的視頻通話中學習。在傳統的離線學習中,能夠收集和鏈接(concat) 來自每一個用戶的網絡 trace,並將其輸入模擬器/仿真器來訓練 RL 模型。基於此,RL 模型能夠探索不一樣的環境來豐富它的經驗,並收斂到一個具備從全部用戶那裏學習到的羣 體智能的通用模型。然而,對於在線學習,大量的視頻通話會話同時運行。在此過程當中,學 習算法須要隨着每一個個體的實時變化而演化。所以,關鍵的挑戰在於如何在利用羣體智能的 同時,實現從串行離線學習到並行在線學習的轉變。爲了應對這一挑戰,咱們提出了兩階段 (two-stage)在線學習架構。首先,基於最早進的 PPO 算法設計了一個新的深度強化 學習模型,並將一個個性化的 RL 模型實例與每一個用戶關聯起來。經過這種方式,每一個用戶 均可以使用本身的學習經驗獲得不一樣的 RL 模型。其次,咱們將全部用戶的經驗按照聯邦學 習的原則進行聚合,從而造成一個可以對任何網絡名稱作出反應的高級模型。這兩個階段是 迭代耦合的,從而在個性化體驗和羣體智能之間取得平衡。
在實時視頻的動態性下執行 RL 算法。有效強化學習的一個基本要求是學習算法 的動做必須嚴格的被環境執行。在咱們的視頻通話算法中,一旦 RL 算法決定發送一個比特 率 x,視頻編碼器應該理想地以徹底相同的速率 x 產生視頻流。雖然這對於離線模擬或 VoD 流很簡單,但實時通話中的視頻編解碼器在短期尺度中不能生成嚴格的 x 粒度的比特 率。相反,視頻編解碼器有本身的控制邏輯,其比特率依賴於圖像場景動態壓縮策略,甚至設 備計算能力, 這致使了大幅度的視頻比特率波動,以及 RL 的比特率決策與實際發送視頻流 量之間的差距(第 3 章節)。爲了處理上述問題,咱們對 OnRL 學習算法進行了自適應優化, 將上述差距輸入給 RL 神經網絡模型。經過這種方式,OnRL 能夠理解這一差距的動態性, 而後經過自動調整其獎勵操做來彌補其負面影響。例如,OnRL 一旦檢測到一個較大的差距, 就會將以前的 RL 行爲視爲‘被污染’的,而且在計算相應的 reward 時,經過施加一個較 低的權重因子來下降該行爲的影響。
魯棒的混合學習。本質上,RL 算法經過遵循 trial-and-error 原則進行學習,若是直接應用於在線學習,會存在系統性能降低的風險。具體來講,該算法可能會採起不正確的「探 索」操做 (例如,在較差的網絡條件下選擇很是高的視頻比特率),從而致使災難性的後果 (例如,嚴重的擁塞,從而致使較低的 QoE),特別是在 RL 模型還沒有獲得良好訓練的早期學 習階段。爲了解決這一問題,咱們設計了一種混合學習機制,當 RL 算法被認爲處於異常狀 態(如連續經歷高丟包率和高延遲)時,OnRL 將返回到傳統的基於規則的視頻比特率算法。爲了實現這種切換,咱們設計了一種自適應的趨勢濾波算法來檢測 RL 運行狀態。此外, 咱們經過將每一次這樣的切換事件(RL 切換到基於規則的算法)做爲懲罰,映射到 RL 的 獎勵函數來加強 RL 的學習過程。經過這種方式,RL 算法將認識到它應該儘量避免調用 傳統基於規則的算法,並演變成一個獨立的、健壯的視頻比特率自適應算法。
咱們已經在阿里巴巴旗下的主流視頻通話系統淘寶直播上實現並部署了 OnRL。咱們用 543 小時的淘寶實時會話來評估 OnRL——在一個月的測試中,咱們測試了全球 151 個測 試版用戶。結果證明了在線學習的優點,帶來了顯著的 QoE 改善,即減小了 14.22%的視 頻卡頓率,同時保持了幾乎相同的視頻比特率(吞吐量)。此外,咱們的控制實驗驗證了 OnRL 中的每一個設計模塊,並經過基準實驗解釋了它們的有效性。
本文貢獻:據咱們所知,OnRL 是第一個部署在實際運營系統中的基於在線學習的視頻 通話解決方案。OnRL 解決了當 RL 在高度動態和異構的移動互聯網上知足實時應用時出現 的通常問題。OnRL 的具體貢獻包括:
咱們提出了一個 two-stage 迭代的 RL 算法,與傳統的基於模擬/仿真的離線學習不 同,該算法使在線學習可以直接從大量併發視頻通話會話學習,並得到視頻調整能力。(第 2 章節)。
咱們設計了新的機制,以減小 RL 應用於實時視頻應用時,因爲編碼器不能合格執行 RL 肯定的視頻速率(第 3 章節)所帶來的負面效果,從而提升在線學習的魯棒性(第 4 章節)。
咱們在主流商業視頻通話平臺上實現和部署了 OnRL(第 5 章節),並驗證了其顯著的性能提高(第 6 章節)。
並行在線學習:架構和算法
▐ 迭代性的 two-stage 架構
現有的機器學習驅動的視頻傳輸系統都採用「離線學習」方法,如圖 1(a) 所示。這樣的系統首先須要從不一樣的用戶那裏收集大量的模擬或真實的網絡trace。而後,將這些 trace序列化,即無論其固有的個性化/時間特性進行鏈接,然 後在定製的模擬器/仿真器中,訓練神經網絡模型(一般是 RL 模型)。最後,將訓練後的模 型分發給每一個用戶,用戶在運行時利用此固有模型執行所學習的比特率自適應策略。
然而,這種離線學習沒法提供預期的性能提高,主要是因爲‘模 擬-現實’的差距所形成。並且,串行化學習加重了這一差距:
trace串行化模糊了用戶的個體特徵,即每一個用戶將得到相同的訓練體驗,從而失 去了個性化優化的可能性。
一旦 RL 模型離線訓練,它就會固化並中止在現實世界中的 學習。所以,它沒法處理之前沒經歷過的新的網絡情況。
相比之下,On-RL 採用了一種徹底不一樣的在線學習設計原則。爲了實現這一原則,咱們 設計了一個迭代的two-stage學習架構(圖 1(b),其操做以下:
階段 1:個性化學習。每一個用戶在運行時分別學習本身的 RL 模型,該模型基於最早進的 PPO 算法,具備針對 實時視頻傳輸的定製設計。這樣,每一個用戶都擁有一個個性化的模型,其中包含 了其個性化的學習體驗。
階段 2:學習聚合。而後,將個性化模型反饋到後端服務器, 並聚合以生成一個通用模型。根據聯邦學習的原理,聚合模型對每一個模型的神經模型參數採 用加權平均。從較高的層次上講,聚合模型經歷了來自不一樣用戶 的足夠多的網絡變體,從而得到了所需的應對網絡動態的能力。
上述兩個階段是迭代進行的。具體來講,聚合模型將分發給全部用戶;每一個用戶在新的 可視頻通話會話中,將從最新的聚合模型開始,並繼續重新會話中學習。該過程產生了一個 新的個體模型,該模型融合在後端服務器上,用於新一輪的學習聚合。咱們將這種持續迭代 視爲一種「終身學習」,它在每一個用戶的個性化體驗和全部用戶的羣體驗之間取得了平 衡。值得注意的是,一個成熟的聚合模型能夠當即應用到一個新的客戶機用戶,從而消除在 初始化階段低 QoE 的風險。
咱們如今分別對個體學習算法和學習聚合進行闡述。
▐ 個性化在線學習
咱們爲個性化在線學習設計了一個基於 PPO 的 RL 算法,如圖 2 所示。具體地說,RL Agent在任意時刻 t保持觀察瞬時網絡狀態 St(丟包、延遲、延遲間隔和吞吐量),並決定動 做 At(比特率),該動做預期與當前可用的網絡帶寬匹配。而後在視頻編解碼器和傳輸層協議 上執行At操做,傳輸層協議分別以At的速率生成和消耗視頻流量。流量通過網絡路徑後,將 產生新的狀態 St+1,從而啓動新一輪 RL 操做。
RL Agent的關鍵功能 St→ At的映射是由 RL 的控制策略 πst,at決定的。直觀地說,若是 RL 代理產生的比特率超過可用帶寬,它將致使網絡擁塞。其結果將反映在下一狀態 St+1,最 有多是高丟包率或大延遲。經過觀察從 St到 St+1 的變化,RL 代理能夠意識到它作了不恰當的操做,所以在下次觀察 St或相似狀態時須要更新策略 πst,at以生成更保守的比特率。在上述工做流程的基礎上,咱們肯定了兩個需求:
RL Agent應該很是靈活,即在視頻幀 級別的粒度上響應網絡動態,對應於幾十毫秒的時間粒度。
RL Agent應避免下降視頻感 知質量和 QoE。爲了知足需求,On-RL 首先採用在後臺運行的秒級別粒度 的批量級策略更新,同時使用ms級粒度的最新模型執行敏捷響應。其次,On-RL 經過使用 相對穩定的策略調整機制來保證平滑的比特率自適應。咱們如今介紹 RL 模型和訓練方法。
OnRL 的 PPO 模型
圖 3 描繪了 On-RL 的 RL 模型,包括狀態、動做和神經網絡結 構。
狀態:也是 RL Agent在任意時刻t 的輸入,用 St=(Lt,Dt,It,Tt)表示,它表示丟包、延遲、 延遲間隔(即連續到達的組包的到達時間間隔和發送時間間隔之間的差)和接收端吞 吐量。基於 WebRTC中的週期性 RTCP ACK 消息(主流交互視頻服務中使用的傳輸/應用 層協議棧),這些輸入能夠在發送方以大約 50ms的細粒度時間粒度輕鬆輸出。
行爲:在每一個 RTCP 間隔中,On-RL 將 St映射到壓縮動做空間 A:{0.1M,0.2M,···, 2.5M},表示視頻編解碼器的目標輸出比特率。視頻流經過網絡傳輸後,On-RL 將當即轉 換爲新的狀態 St+1,並生成新的動做。經過這樣連續的迭代,On-RL 將學會處理網絡動態性 繼而提高視頻服務質量。
獎勵:爲了確保 On-RL 可以從過去的經驗中學習,每個動做都與一個獎勵相關聯,獎 勵是上一個時間間隔的視頻 QoE,定義以下:
其中 Qn表示應用層的視頻質量,Ln和 Dn表示傳輸層的丟包率和延遲。最後一項是經過懲 罰較大的比特率波動來加強視頻的平滑性。這些指標由不一樣的影響因素 α、β、η、φ 加權, 而後相加。
神經網絡結構。On-RL 使用一個神經網絡結構(用一組參數 θ)來表示策略。它採用簡 單的全鏈接(FC)結構提取隱藏在不一樣輸入元素中的隱含特徵。更具體地說,On-RL 首先平 鋪(flatten)序列(Lt,Dt,It,Tt),而後將其饋送到兩個 FC 層,分別包含 64 和 32 個神經元。每 一層採用tanh激活函數,它顯示出比傳統 Relu 或 Softmax 激活函數更精確的帶寬預測能力。除 FC 外,咱們還嘗試了 CNN 和長短時記憶(LSTM)進行特徵提取,但它們的性能 不如 FC。進一步分析代表,CNN 體系結構專門用於提取包含複雜空間信息的圖像特徵,而 這些信息不存在於 On-RL 的狀態空間中。對於 LSTM,考慮長期歷史影響的時間序列數據推 理更爲有用,但視頻通話的性能更多地依賴於瞬時網絡條件。
訓練策略,訓練的目標是最大化總的累積回報
其中 γ 做爲 折扣因子,一般定製爲 0.99 或 0.9。Rτ 最大化的梯度策略更新可表述以下:
式中,表示優點函數,表示狀態和行動決定的預期報酬與策略 θ 的平均預期報酬之間的差別。直觀地說,優點函數能夠顯示某個動做相對於平均動做的額外效益。回想一下,因爲學習率值的不肯定性,傳統的策略梯度能夠在相鄰策略之間進行大的或 小的調整。這種不肯定性會給實時視頻帶來災難性的 QoE 和難以收斂的問題,特別是對於 On-RL 的實時學習。爲了不這種狀況,咱們設計了兩個自定義模塊來維護在線學習性能:
批量級更新,而不是實例級(單個輸入)更新。如前所述,On-RL 須要響應每一個輸入實 例以適應實時帶寬變化。一般,響應也會致使神經網絡參數的更新。然而,這樣的實例級更 新將大大增長學習時間,並反過來下降響應速度。所以,咱們設計了一個批量更新策略。特 別是,學習 Agent在緩衝區存儲了最近的狀態、動做、獎勵記錄。只有當緩衝區大於批處理大小時,Agent纔會將緩衝區饋到策略網絡以更新神經網絡參數。這樣,Agent能夠實時執行細粒度的響應,同時運行在線學習。
平滑級別更新。On-RL 使用關 於梯度更新的損失函數,以下所示:
其中,咱們經過考慮它們的機率比來限制當前策略和舊策略之間的差別。具體來講,當
超過區間(1-ε,1+ε) (這裏 ε 是一個設置爲 0.2 的超參數)時,咱們截取 比率,從而從損失函數L(θ)中移除對應激勵。經過這種方式,On-RL 將順利地更新學習策 略,從而避免過於抖動的比特率決策,從而提升比特率平滑度以得到更好的 QoE。
神經網絡參數的選擇。咱們使用 TensorFlow來實現訓練 On-RL 整個工做流,使用 TFLearn來構建神經網絡體系結構。On-RL 採用 RTCP 級的細粒度迭代,在咱們的設計中, 批量訓練的批大小爲 32。咱們使用 Adam優化器來更新隨機梯度降低。關於獎勵的超參 數 α,β,η,φ 分別被經驗地設爲 50,50,10,30。
▐ 學習聚合
學習聚合的靈感來自於咱們對淘寶網直播Trace的分析中的兩個關鍵觀察:
不一樣的 用戶表現出不一樣程度的網絡動態性。例如,一些用戶一般在家裏進行視頻會話(例如,化妝 師或店內購物指南),並有穩定的 WiFi鏈接。相應地,PPO 學習算法傾向於生成穩定的視頻 比特率決策。相反,因爲移動性或切換,其餘客戶端用戶(例如戶外旅行者)一般會經歷波 動的蜂窩網絡條件。所以,該學習算法將學習頻繁地改變其視頻比特率以匹配瞬時網絡變化。
當用戶一般具備相對一致的網絡情況時,她可能會改變平常程序,從而遇到新的網絡 動態。在這種狀況下,一個純粹從她本身之前的網絡條件訓練的 RL 模型將做出不恰當的反 應。
爲了平衡個體和羣體的經驗,咱們提出了一種加權模型聚合方法。最近的工做已經代表,在許多神經網絡模型中平均加權多種神經元的參數,能夠達到彙集這些模型經驗 的相似效果。所以,咱們利用神經網絡參數的強大特徵表示能力來實現模型聚合,如圖 4 所示。具體地說,假設咱們有 K 個用戶,每一個用戶 K 的神經模型能夠用一個矩陣 Wk,i,j表示, 其中 Wk,i,j的每一個元素是神經模型中一個神經元的參數(i表示神經網絡的第 i層,j是每層的第j個神經元)。注意,全部矩陣(Wk,i,j∈[1,k])的維數是相同的,由於全部用戶的神經網絡結構是相同的。爲了融合各個模型,咱們按照聯邦學習的原則執行加權平均操做:
其中 表示聚合模型,λk是用戶k模型的權重。咱們在圖 5 中提供了一個示例來講明模型平均化過程。特別是,暗神經元的權重 W2,2 是根據兩個單獨模型(模型 1 和模型 2) 對應的神經元位置計算出來的。咱們有兩種方法來肯定每一個 λk的值:
平均彙集。對於一個新加入的用戶(即一個沒有任何經驗的用戶),咱們生成並應 用一個具備全部用戶平均經驗的模型,即,咱們讓k的 λk=1/k∈[1,k]。
個性化聚合。對於其餘用戶,咱們優先考慮用戶自身的權重,以便在其典型網絡 條件下得到最佳性能,同時在遇到異常狀況時作出恰當的反應。具體地說,對於每一個用戶k, 咱們讓 λk=c(c∈[0,1]),和 λm=1-c/k-1,對於任意m≠k.以秒爲單位。在 Sec.6 中的實驗評價了 權重參數c的影響。
在實時視頻的動態性下執行 RL 算法
▐ 理解行爲誤差
在實際的視頻通話系統,如 WebRTC 中,一個視頻幀一般會突發地進 入網絡。爲了不短暫的擁塞,其引入了一種Pacer機制,即將視頻數據均勻地分佈在連續 的時間片上,如圖 6 所示,當產生視頻幀時,它們會被送入Pacer隊列。Pacer將視頻幀分 成多組數據包,以∆爲間隔(一般爲 5ms)發送至網絡。Pacer 有本身的控制邏輯(例如,預 算和補包)根據擁塞控制算法(例如,WebRTC 中的 GCC)生成的瞬時目標比特率(表示爲x),發送這些數據包。使人感到奇怪的是,經過對淘寶直播中默認 WebRTC Pacer 的行爲分 析,咱們發現Pacer的實際發送速率p與目標x仍有較大的誤差。咱們的分析揭示了致使差 距的兩個不可避免的緣由。
pacer 有時須要增長髮送比特率以加速緩衝區的清空。Pacer 隊列有本身的控制邏輯, 它依賴於圖像場景的動態性、壓縮策略甚至終端設備的計算能力,另外一方面,視頻流量是相 當大的,例如,當視頻場景快速變化時,一個關鍵幀可能包含過多的數據,在這種狀況下, 若是Pacer嚴格執行 X,這將致使Pacer 隊列中產生較大延遲,這可能會對實時視頻形成不 利的凍結影響。所以,咱們將經過乘以一個參數(在 WebRTC 中約爲 2.5)來從新計算Pacing速率,以加速緩衝區清空。這意味着交互視頻系統沒法嚴格執行 RL 的動做(X),這將損害 它的有效性,並可能最終誤導它的策略更新。
pacer有時沒有足夠的視頻數據來知足目標比特率 x,例如,相對靜態的視頻場景。Pacer內部的填充邏輯能夠人爲地添加一些虛擬數據包,但咱們發現這種機制幾乎不適用於 實時視頻,其根本緣由是虛擬數據包帶來了更多的流量佔用,加重了帶寬成本,並且填充數 據每每會增長實際視頻數據包的延遲,從而下降 QoE。所以,像淘寶直播這樣的運營視頻通話服務一般不肯意使用填充,所以 RL 模型所要求的目標比特率也沒法準確執行。
在圖 7 中,咱們經過記錄和繪製從視頻會話採集的目標比特率、Pacing 速率和 Pacer緩
衝區中的隊列大小來展現行爲誤差。咱們能夠發現,當Pacer隊列累積了不少數據包(例如, 每當出現關鍵幀超過 1000 字節)時,Pacer 將執行比目標比特率 x高的發送比特率p以加 速緩衝區清空,而當隊列幾乎爲空時,因爲沒有填充,實際發送速率一般降到零。
▐ 學習容忍行爲誤差
爲了克服上述問題,咱們進一步定製了 OnRL 的 RL 模型來隱式地 學習目標比特率和實際視頻流量之間的差距,咱們經過將差距輸入 RL 神經模型來實現這一 點,特別地,咱們將這個差距定義爲:Gt=Xt−Pt,其中 Xt 表示 On-RL 在t時刻 RL 動做的目 標速率,Pt是 Pacing速率,而後第 2.2 節中的狀態/輸入被更新爲經過這種方式,On-RL 能夠學習差距的動態性,而後經過自動調整其 獎勵操做來補救影響,一旦檢測到較大的間隙(例如,|Gt| >0.5Mbps),On-RL 將認爲先前 的 RL 行爲爲異常,並經過在累積獎勵(第 2.2.2 節)中施加低權重因子(在咱們的設計中, 默認值爲 0.5)來減小行爲的影響。第 6.4 節與差距不敏感的 RL 模型相比,驗證了該機制的 有效性。
魯棒的混合學習
在這一部分中,咱們闡述了混合學習策略,以確保 RL在實際網絡動態條件下在線訓練 時的可靠性。典型的 RL 模型是以trail-and-error的方式學習的,而實際運行中,任何錯誤 的行爲均可能致使交互視頻 QOE 的嚴重降低。在圖 8 中咱們展現了這一點。視頻比特率、 包延遲和groud truth網絡帶寬是從本地testbed上的受控實驗中獲取的(testbed的實現將在第 5 節中介紹)。在 10分鐘的時間內,出現了8 次RL生成的比特率超出可用帶寬的現象,致使延遲急劇上升。理想狀況下,RL 算法應該從這些錯誤中吸收教訓,但與基於模擬 的訓練不一樣,經過失敗積累經驗對於實時視頻是不可接受的,尤爲是在視頻會話開始時,RL 可能須要不斷地利用和失敗,以實現其策略。
另外一方面,傳統的基於規則的視頻傳輸控制算法,如 GCC,每每會作出保守的決策, 所以,將基於規則的算法和 RL 算法相結合,即一旦 RL 的決策變得過於激進,就切換到保守 的算法,但這會影響 RL 的學習能力,即 RL 的學習被中斷,而且在其不存在的期間不會注意 網絡狀態的變化,所以 RL 在將來沒法作出恰當的反應,關鍵問題是:如何在保持學習能力 的同時抑制 RL算法的災難性探索行爲?
爲了應對這一挑戰,咱們設計了一種混合學習機制,將 RL 算法和保守算法集成在一個 耦合的閉環系統中,直觀地說,咱們不時僅僅把基於規則的算法(在咱們的設計中是 GCC) 看成一個保護備份,而是把它看成 RL 算法的「老師」,並提供有用的反饋以防止不恰當的行爲。
圖 9 展現出了該方案的工做流程,具備如下關鍵要素:
不一樣於純 RL 學習(第 2.2 節),咱們引入了一個安全狀態檢測器,經過檢查當前輸入狀態來評估 RL 算法是否正常工做。
若是是,則輸入狀態將轉到 RL Agent,該Agent將負責按照第 2.2 節中的過程進行 比特率分配。
不然,GCC 將接管比特率選擇算法。值得注意的是,每當調用 GCC 時都 會有一個懲罰,它被合併到 RL 的獎勵函數中。這樣,即便在 GCC 運行時 On-RL 仍然能夠隱式地學習。
一旦檢測器肯定 RL 致使 QoE 收到損害的可能性很低,On-RL 將回滾到 RL。咱們如今開始詳細地介紹在混合學習框架中安全狀況探測器和懲罰反饋的設計。
▐ 安全狀況檢測器
因爲網絡條件的不肯定性,檢測Agent是否作出了不許確的行爲是非 常重要的。爲了可以及時的檢測即將發生錯誤控制的行爲,受到基於延遲的擁塞控 制機制的啓發,咱們設計了一個基於延遲的濾波器來預測視頻的 QoE 損失。其基本思想是 檢測最近接收到的延遲序列是否呈現上升趨勢,若是是,檢測器將命令 On-RL 從 RL 切換到 GCC,具體地說,咱們使用包間間隔∆d(ti)序列來估計網絡路徑上的排隊累積趨勢,定義以下:
其中,si 和ai表示第i分組的發送和接收時間戳。在時間 T,近期內 QOE 降低的可能性 能夠用歷史序列來表示:∆d(t0),∆d(t1),..., ∆d(tT)。咱們用指數加權平均值 D(ti)定義可能性 度量,以下所示:
其中,延遲記錄的時間越近,它在 D(ti)中的權重就越重要。注意,檢測器使用沿t的滑動窗口計算 D(t),而且一旦 D(ti)超過閾值 γ(t), filter會預測QOE有下降的高風險,因而會切換到 GCC。因爲 GCC 對延遲敏感,其控制策略會當即下降當前發送的比特率,從而下降風 險;另外一方面,一旦條件恢復到安全狀態(即,沒有延遲增加的趨勢),RL 策略將從新進行控制。
這裏的一個挑戰是肯定閾值γ(t)。咱們注意到恆定閾值不能處理固有的網絡多樣性和動 態性。所以咱們設計了一個隨延遲序列變化的自適應閾值 γ(t):
▐ RL 的切換懲罰
咱們利用 RL 和 GCC 之間的切換做爲反饋來擴充 RL 模型。每一個切換事 件都被配置爲對代理的獎勵功能的額外懲罰,這樣,它將學會恰當地操做,從而在未來儘可 能少地切換到 GCC。具體來講,咱們設計了一個自適應懲罰參數 η′,以替換公式(1)中標 準 RL 獎勵中默認的 η:
在這個η′調節下,RL 動做觸發的延遲越大,在整個過程當中受到的懲罰就越大。咱們將在 第 6 章驗證整個混合學習方案的設計。
Taobao-Live app 實現
咱們基於運營中的 Taobao-Live視頻通話系統實現 On-RL,並將其做爲測試版應用程序發佈給用戶。Taobao-Live 基於 WebRTC構建,WebRTC是一個實時視頻通訊框架,內置視頻編解碼和傳輸層協議(即 GCC)支持。WebRTC 容許靈活地重 新實現視頻控制算法,並已被用於最早進的傳輸和視頻應用研究,如 BBR、Salsify和 Concerto等。
咱們的On-RL 實現本質上替代了Taobao-Live中現有的比特率控制模塊。理想狀況下, On-RL 的組件應該在Taobao-Live應用程序中實現。可是,因爲在移動設備上缺少訓練 RL 神經網絡的 API 支持,咱們經過雲輔助框架實現了 On-RL,如圖 10 所示。除了視頻通話 的發送方和接收方,咱們還引入了一個 RL 服務器,在這個服務器上咱們基於TensorFlow 實現了 On-RL 的三個設計組件(即兩階段迭代學習、協調學習和魯棒學習)。在每一個通話會話 期間,發送方維護一個鏈接並與 RL 服務器交換信息。它從接受方收集 RTCP 反饋(好比丟包、 延遲、吞吐量等),並將它們做爲 On-RL 的輸入發送到 RL 服務器。而後 On-RL 處理輸入並返 回一個動做(即目標視頻比特率)給發送方,而後由TensorFlow執行。同時,服務器上的 On-RL模塊按期更新其控制策略來實如今線學習。咱們發現,從發送方到服務器的信息交換延遲在 大多數狀況下只有 10 毫秒左右,這對視頻通話的影響能夠忽略不計,Sec.6.3 將對此進行驗 證。
爲了處理髮送方和 RL 服務器之間可能的鏈接失敗,咱們還在發送方上實現了回滾機制,即若是鏈接失敗,發送方自動降級到默認的 WebRTC 控制器。此外,RL 服務器大約天天在 輕載時間(一般在早上)執行一次模型聚合。
▐ RL 服務器
每一個 RL 服務器是一個配備 32 內核,2.5-GHz CPU 和 65-GB 內存而且運行 Red-Hat Linux4.8.5-11 的 COTS PC,咱們採用 TensorFlow1.15.2 版原本支持 On-RL 的神經網 絡,因爲 On-RL 高效的神經網絡結構,每一個服務器至少能夠容納 50 個併發用戶,模型大小 爲32KB,運行時內存需求爲 0.5GB。目前,咱們已經部署了 5 臺 RL 服務器進行beta測試, 可是 On-RL 的高可擴展性是經過阿里巴巴雲管理系統 Apsara來保證的,Apsara具備高 效的資源調度能力和在數百萬臺服務器上的負載平衡能力。
▐ 仿真器和本地 testbed
除了可運行的app外,咱們還開發了一個與現有工做中使用的 相似的trace驅動的仿真器。咱們還構建了一個由客戶機和服務器組成的本地視 頻通話測試平臺,其端到端網絡帶寬遵循咱們從Taobao-Live會話中收集的Trace,並由 Linux TC執行。與操做應用程序不一樣,這些平臺容許在已知帶寬的基礎上進行受控實驗,這有 助於對結果進行更深刻的診斷。
實驗
在本節中,咱們從三個方面評估 On-RL:
經過比較相同模型在不一樣操做環境(包括 仿真,測試平臺和實際網絡)下的性能來驗證在線學習的必要性。
咱們使用真實的用戶羣在運營的淘寶直播中部署和評估 On-RL。。
咱們分別評估 On-RL 中的每一個設計模塊,以得到對在線訓練的深刻微觀理解。
▐ 評估方法
評估指標咱們採用應用層和傳輸層指標進行綜合評估,包括:
視頻吞吐量和峯值信噪比(PSRN),它們表徵了視頻幀的感知質量。
卡頓率,用於衡量視頻通話Session的流暢程度。在淘寶直播系統中,每當數據包 RTT 超過 300 毫秒時就會發生停頓。可是, 在仿真/測試平臺的實驗室環境中,RTT 幾乎不會上升到該水平,所以,咱們採用 Taobao-Live的工程師所建議的,當瞬時視頻幀速率降至 12fps如下時,就認爲發生了卡頓事件。
咱們還記錄了傳輸層指標,包括視頻通話期間的丟包率和 RTT,這有助於深刻了解 On-RL 的行爲並解釋應用層的性能。
對比方法
咱們將 On-RL 與如下表明視頻通話技術的算法進行了比較:
Concert ,它利用深度模仿學習優化了視頻 QoE。做爲一種半監督算法,Concert在具備真實網絡 帶寬的模擬器中進行訓練。在這項工做中,除非另有說明,不然咱們將使用其原始模型來運行 Concert,該模型通過了超過 100 萬次的現實世界視頻通話會議的訓練。
WebRTC ,這是最流行的基於規則的視頻通話框架。WebRTC 已被整合到 Google Chrom和主流實時視頻應用中,包括 Google Hangout,Facebook Messager,Amazon Chime和 Taobao-Live。
▐ 驗證在線學習的必要性
仿真器和測試平臺之間的差距
咱們首先比較了仿真訓練的模型,即 Concert模型和2.2 節中描述的基本 PPO 模型的性能。爲了確保公平性,咱們在兩個不一樣的測試環境模擬器 和本地測試牀中使用相同的 3 小時的Trace。獲得的視頻比特率和卡頓率如圖 11(a)所示,圖 11(a)證明當測試在與訓練相同的環境(即,Concerto-S-S 和 PPO-S-S)中進行時 Concerto和 PPO 工做良好。然而,當在測試平臺(即 Concert-S-T 和 PPO-S-T)中進行測試時,性能會 顯著降低。具體來講,它們的卡頓率分別提升了 64.9%和 51.2%,同時視頻碼率的誤差較小 (在 0.02 Mbps 到 0.1 Mbps之間)。
爲了理解性能降低,咱們繪製了一段 300 秒的模型操做(即視頻比特率)與圖 11(b)中的groud-truth帶寬的對比。咱們觀察到,在仿真環境中,Concerto和 PPO 在高波動的狀況下 都能很是緊密地跟蹤帶寬,平均誤差分別只有 17.4%和 13.6%。相比之下,在試驗檯環境中處 理相同的Trace時,誤差分別增長到 30.3%和 37.12%。綜上所述,一旦部署環境與培訓環境 不一樣,離線 RL 模型的體驗就會變得陳舊,致使性能不能使人滿意。
仿真/測試平臺與真實網絡條件之間的差距
咱們進一步研究了真實網絡動態下「離線 學習」的侷限性。除了 On-RL 以外,咱們有意將三個離線訓練的模型集成到 Taobao-Live系 統中,包括在模擬器中訓練的 Concerto 和 PPO 模型(稱爲 PPOt)以及在測試平臺中訓練 的 PPO 模型(稱爲 PPOs)。而後,咱們隨機選擇Taobao-Live應用用戶運行模型。請注意, 就如上文所述,通過離線訓練的模型都在本身的訓練環境中顯示出使人滿意的視頻 QoE。我 們在總共持續 10 小時的隨機視頻Session集中繪製了圖 12 中的平均視頻吞吐量,卡頓率,數據包延遲和丟包率。咱們發現 On-RL 實現了效果最佳的視頻 QOE。尤爲是,它在視頻吞吐 量方面比最適合的 ML 方案「Concerto」好 31.9%,在卡頓率方面下降了 78.3%。另外一方 面,PPOt和 PPOs在兩個指標上都表現出較大的 QOE 差距。同時,On-RL還有最小的數據 包延遲和丟失率,這證明了其應對網絡動態的能力。結果進一步驗證了在線學習對在實際網 絡條件下優化實時交互式視頻應用程序的必要性。
▐ 真實直播環境中的系統級評估
咱們向真實用戶分發了配備 On-RL 的 Taobao-Live Beta版,以進行大規模的系統級評 估。咱們從 30 個城市(國外 3 個,國內 27 個)招募了 151 個用戶,並從中收集了 543 小時的視頻通話會議。在每一個Session的Trace中,咱們以秒粒度記錄網絡/應用程序性能指標 (第 6.1 節),這些指標總共造成了 4.55 GB 的數據集。當前,On-RL 僅支持iOS,最終用戶 設備的範圍從IPhone7 到 Iphone11 Pro。爲了公平起見,咱們讓每一個在前 10 分鐘使用默 認的 WebRTC,而後再切換到 On-RL。這樣,咱們能夠粗略地認爲這兩種算法都經歷了幾乎 相同的網絡條件。
總體表現。
表 1 總結了全部Session的平均 QoE 指標。咱們觀察到:
On-RL 在傳輸層 指標方面取得了顯着改善:數據包丟失減小了 23.5%,往返時延減小了 9.92%。
傳輸層 的優點轉化爲應用層的性能提高,即在保持幾乎相同的視頻吞吐量的同時,將卡頓率下降了14.22%。值得注意的是,此處的卡頓率與 Concerto中的停頓時間度量標準不一樣,用戶 羣也有所不一樣(151 VS. 6)。所以,真實世界的評估結果不能直接比較(在第 6.2 節中已經給 出了在相同條件下的直接比較)。此外,與由仿真器/仿真器驅動的基於 RL 的 VoD 系統相比,性能提高彷佛不大,這主要是由於可操做的視頻通話系統涉及具備更多異構網絡條 件的實際用戶。下面咱們對結果進行更深刻的分析。
細粒度性能細分
咱們根據不一樣的會話屬性對用戶進行分組,並在圖 13 中從新標註評 估結果。 這裏,每一個圖例標籤後面的數字表明性能指標的平均值。
(1) 4G VS. WiFi。對於 4G 而言 On-RL 顯著下降了 68.7% 的卡頓率,並略微增長了視頻吞 吐量,而在 WiFi網絡上有很是接近的性能(差別在 3% 之內)。相應地,在 4G 網絡中,丟包 率和 RTT 的減小更加顯著。對於淘寶直播 用例,大多數 WiFi用戶都呆在相對固定的室內 環境中,而 4G 則傾向於提供更多動態的室外場景。 所以,實驗代表,在處理動態網絡條 件時,On-RL 的優點更加突出。
(2) 動態與穩定網絡。 根據視頻吞吐量的變化狀況,將全部Session分爲穩定 / 動態兩 類(用 0.197 Mbps的吞吐量標準差均值做爲分隔動態和穩定的閾值)。咱們發現,On-RL 在 動態網絡上顯著地提升了 QoE,而在穩定網絡上則不那麼好(有時稍微差一點)。 例如,動態 網絡的平均視頻往返時延從 171.77ms 下降到 80.34ms,而穩定網絡的平均視頻往返時延從 42.75ms增長到 48.89ms。 其餘指標也有相似的趨勢。對於以上狀況,咱們推測主要緣由 在於 On-RL 有在網絡動態的狀況下探索和密切跟蹤可用帶寬的能力。 若是網絡帶寬是穩定 的,On-RL 的探測機制可能會致使過載,從而致使相對較低的視頻質量。
(3) 高質量與低質量的網絡。 咱們進一步分類的視頻會議根據經驗觀察的網絡條件。 若是一個Session的吞吐量大於全部Session的平均吞吐量,咱們將相應的網絡質量視爲高,不然視爲低。 咱們發現 On-RL 在低質量的網絡條件下表現得更好。
▐ OnRL 的各個模塊詳細分析
咱們如今分別研究 On-RL 內部各個設計模塊的影響。在這裏,咱們在咱們的測試平臺上 進行受控實驗。這主要是由於:
正在運行的淘寶直播不容許對最終用戶進行單獨的模塊測 試。
咱們須要真實的帶寬來深刻了解每一個模塊的行爲,這是在現實網絡中運行淘寶直播時 所沒有的。
從聚合學習中得到的收益
咱們首先經過比較聚合模型(Agg-Mode)和從頭開始的模型 (Src-Mode)的性能來演示利用先前學習經驗的收益。更具體地說,咱們從隨機選擇的淘寶直播Session的Trace中訓練了 8 個不一樣的模型,每一個持續時間超過 2 個小時。而後,咱們按 照 2.3 節中的規定,經過求平均值將它們聚合在一塊兒。圖 14(a)繪製了在持續 1 小時的同一 組Trace上運行Agg-Mode和Src-Mode時的視頻吞吐量、PSNR 和 fps。咱們發現,Agg-Mode在全部與 QoE 相關的重要指標上都優於Src-Mode:吞吐量、PSNR 和fps增益分別 爲 18.2%、41.1%和 47.6%。此外,咱們還能夠觀察到,Src-Mode下的 PSNR 較低(<15dB), 代表圖像質量在開始階段很是低,這說明了在沒有任何經驗的狀況下開始的成本。
爲了進一步理解上述結果,咱們在圖中分析了這兩個模型的行爲(即視頻發送比特率)。在圖 14(b)中咱們看到 Src-Mode一般發送比可用帶寬更多的流量,這會致使擁塞,從而降 低 QoE。此外,Src-Mode的行爲表現出比Agg-Mode高 47.62%的方差,這代表Src-Mode以Overshoot/Underuse爲代價來努力探索可用帶寬。
聚合中涉及的模型數量的影響
咱們隨機使用 10 小時Trace訓練 15 個不一樣的模型,並 從其中選擇 0 個(即從頭開始)、5 個、10 個和 15 個用於聚合。咱們在相同的 1 小時測試Trace上檢查了所得 4 個聚合模型的性能,如圖 15 所示。咱們觀察到:
與 0 聚合的狀況相比, 五、十、15 個模型的聚合分別下降了 77.1%、80.7%、83.7%的卡頓率。
雖然模型聚合也提升 了視頻吞吐量,但增益相對較低,分別爲 10.8%、21.27%和 21.3%。
整體而言,參與聚合的模 型越多,聚合模型擁有的羣體智能就越多,就越能更好地應對複雜的網絡動態。
加權聚合的效果
咱們以 3 種方式聚合了 7 個隨機模型:平均模型、不進行平均的單個模型(命名爲 Model-1)和加權模型(將最大權重 1/2 分配給 Model-1,將 1/12 的最大權重分 配給其他模型)。在這裏,咱們有意從 Model-1 的用戶中選擇一個Trace,三個模型在該Trace上運行。從圖 16 咱們觀察到,當吞吐量類似(0.7五、0.79 和 0.78 Mbps)時,加權模型和 Model-1 的卡頓率分別比平均模型低 76.8%和 68.5%。結果代表,對於已有訓練模型的現有用戶,在 對其自學習模型進行優先級排序的同時,聚合大量模型將得到最優的 QOE。
處理 RL 動做誤差的效果
咱們比較了有和沒有處理動做誤差的兩種模型,分別在相同 的隨機選擇的持續 2 小時的網絡Trace下運行。從表 2 中的結果咱們發現,經過將誤差做爲 RL 的額外輸入,卡頓率顯著下降了 55.4%,丟包率下降了 10.3%,吞吐量(0.02 Mbps)和 PSNR(1.68dB)略有降低。所以,在線訓練的性能得益於對動做誤差的顯式學習,所以即便動 做沒有嚴格執行,該模型也能夠得到較高的性能。
魯棒混合學習的效果
如今咱們運行帶有或不帶有魯棒混合學習機制的 On-RL,分別標 記爲 RL-only 和 Robust-RL。表 3 總結了兩種方案在相同的 1 小時Trace上運行時的性能。 咱們觀察到 Robust-RL 能夠顯着提升魯棒性:卡頓率和丟包率分別下降了 56.9%和 63.5%。 從視頻清晰度的角度來看,Robust-RL 保持幾乎相同的吞吐量,同時將 PSNR 提升了 3.57dB。 爲了更直觀地瞭解 Robust-RL 的效果,圖 17 展現了 150s的實驗Trace片斷。咱們發現,當 RL 性能不佳時(例如,在 100s 至 150s之間),損耗和延遲性能會急劇降低。Robust-RL 會 設法迅速切換到保守的 GCC 算法,以免 QoE 下降。
相關工做
▐ 低延遲視頻傳輸(Low-latency video transport )
實時互聯網視頻應用對數據傳輸協議 提出了最嚴格的要求。雖然傳輸層相關協議已經研究了幾十年,但新的網絡特性和應 用不斷出現,繼而不斷生成新的算法設計。與傳統擁塞控制協議中經常使用的數據包丟失度量相比,許多新興系統以低延遲爲目標,並利用數據包延遲做爲擁塞控制的 早期指示器。雖然這些方法能夠更好地平衡延遲與接收端吞吐量之間的權衡,但它們依賴於 一組手工控制的規則,沒法處理不斷增長的網絡異構性和動態性,特別是對於移動網絡。
從 Remy開始,利用機器學習模型,特別是 RL,自動生成比手工規則更強的自適應控制規則。Remy探索了一個馬爾科夫模型(即,一種列表式的 RL)來優化擁塞控制算法。Pensieve採用 A3C RL 算法預測最優 VoD 比特率,知足瞬時變化的網絡條件。Indigo提出了一種基於模仿學習(IL, RL 的一種子類型)的算法來改進 VoD QoE。最近的一個系統 Concerto也設計了一個 IL 算法來更好地協調視頻通話的編解碼器和傳輸層。在取得顯著 進展的同時,這些模型都在離線的模擬器或仿真器上進行了訓練。根據報告和咱們的實驗所證明的‘仿真-現實’之間的差距,這些方法在實際網絡條件下進行大規模測試時,一般能夠得到微小的性能增益。
最近的研究工做在現實世界環境中對基於機器學習(ML)的視頻流算法進行了 改進和評價。特別地,ABRL對 Pensieve 算法進行了多種定製設計,以適應運行 Facebook VoD 系統時的獨特挑戰。Puffer]構建並運行了一個 VoD 開放平臺,並在真實 環境訓練了一個監督學習模型,即,使用從實際部署中收集的跟蹤。與這些系統相比,OnRL 具備兩個不一樣之處:
大部分狀況下,這些工做中的 ML 模型仍然是離線訓練的(雖然使用了真實世界的 trace),所以須要避開在線訓練帶來的獨特挑戰,例如並行學習和魯棒學習。
他們專一於 VoD 應用,這不一樣於交互式視頻通話,即對當今的互聯網服務提出了更苛刻的 時延及視頻質量要求。
▐ 在線學習(Online Learning)
經典的在線學習提倡使用動態的數據流進行訓練, 也稱爲終身學習或連續學習。其顯著特色是在新環境下不斷完善預測模型,而不是 使用過後更新的訓練模型。從最先的在線梯度更新到最近的元學習,人工 智能社區在在線學習的理論方面作了大量的研究工做。在線學習不多被用於網絡優化算法 中。PCC和 PCC-Vivace是最近提出的共享一個在線學習協議的擁塞控制協議。它們 利用探測機制來不斷優化網絡效用目標函數。Park提出了一個開放的平臺,以方便在 RL 的傳統應用領域以外,進行在線 RL 解決計算機系統問題的實驗。據咱們所 知,OnRL 是第一個適應在線學習以解決實時視頻通話的獨特挑戰的算法。
▐ 聯邦學習(Federated Learning)
聯邦學習是一種分佈式機器學習體系結構,其中數據存儲在 分佈式本地設備上,而不是存儲在中央服務器上。一般,聯邦學習的目的是在保護隱私 的同時聚合多個用戶的體驗,並減小過分的交流。OnRL 的學習聚合組件受到聯邦學 習概念的啓發。可是 OnRL 在解決視頻通話優化的實際問題方面走得更遠,包括設計特定 的適合視頻通話的 RL 網絡結構,在視頻流量動態的狀況下執行 RL 的動做,並經過設計混 合學習機制來加強視頻的魯棒性。
討論
▐ On-device 在線學習
咱們目前部署的 OnRL 採用了雲輔助(cloud-assisted )架構。關 鍵的設計模塊位於遠程雲服務器,而不是移動設備,以適應缺少移動平臺的 RL 訓練。咱們 注意到主流的 Tensorflow-Lite和 Core-ML只容許執行預先訓練好的 RL 模型,即它們只支持推理,但不支持訓練。據咱們所知,在最近的工做中,其支持移動端神經網 絡訓練的平臺是用 Java 開發的,很難與 Taobao-live app 在線集成。然而,隨着神經處理 單元(NPUs)在移動設備上的快速發展及可用性,在移動設備上進行神經網絡訓練將是可行 的。且基於設備的訓練將消除部署 RL 服務器的開銷和成本,這將促進 OnRL 等在線學習算 法的普遍使用。
▐ 自適應聚合學習
在本文中,經過設計加權線性集合,已驗證了學習集合的重要性。我 們推測,根據不一樣的 session 進行更細粒度的聚合,例如根據 session 場景(室內、戶外步 行或駕駛)或網絡類型(WiFi、4G)對用戶進行分組,可能會進一步改進視頻 QoE。咱們計劃 在 OnRL 的下一階段嘗試這種自適應聚合方法。
▐ 將 RL 與基於規則的算法更緊密地集成
第 6.3 節中的評估代表,RL 在處理網絡動態 方面表現出顯著的優點,但有時在穩定的網絡條件下,RL 的性能低於基於規則的協議(如 WebRTC)。根據網絡的動態級別,能夠將 OnRL 和基於規則的算法集成在一塊兒,就像混合 學習方案中所作的那樣。咱們把這部分做爲下一步工做。
總結
在這項工做中,咱們設計了一個在線強化學習的實時視頻通話系統 OnRL。咱們解決了三個 獨特的挑戰: 從並行視頻 session 中學習;考慮視頻自己動態性的 RL 動做執行方法;避免減 少 RL 產生災難性決策所形成的 QoE 損失。對主流業務視頻通話系統的實際評估代表, OnRL 的性能優於最早進的解決方案。咱們相信 OnRL 暗示了一個新的方向,如將在線學習 歸入更多的視頻通訊應用,如 VoD、360 全景視頻、虛擬現實等。
內容社交互動團隊
淘系內容社交互動平臺是阿里集團內容與直播的業務高地和人才高地。是淘寶業務增加的發動機和下一代電商模式升級核心推進玩家。在不斷的探索中,秉承 "WIN FAST" 理念,咱們成功孵化了「淘寶直播」這一創新業務,並在業務中完成了阿里內容平臺的升級。咱們擁有廣闊的空間,誠邀算法、多媒體、數據、服務端、無線端、前端、測試、產品等各產品技術領域人才加盟。
若是您有興趣可講簡歷發至:zhongsheng.cxj@taobao.com,期待您的加入!
淘寶內容社交互動平臺近期在北京成立了新的研發中心,對淘寶內容社交互動平臺感興趣的小夥伴,歡迎點擊「閱讀原文」查看詳細崗位信息。
✿ 拓展閱讀
做者|陳虓將(仲升)
編輯|橙子君
出品|阿里巴巴新零售淘系技術
本文分享自微信公衆號 - 淘系技術(AlibabaMTT)。
若有侵權,請聯繫 support@oschina.cn 刪除。
本文參與「OSC源創計劃」,歡迎正在閱讀的你也加入,一塊兒分享。