圖1:位元速率自適應系統框架
圖2: 位元速率自適應技術分類
hybrid: 混合模式,同時考慮**吞吐量和buffer資訊決策下一片段的位元速率檔位,例如mpc
總所周知,近年來機器學習裡的深度學習在計算機視覺、語音識別和自然語言處理等流域遍地開花,取得了很多突破性的進展。而機器學習從學習訊號區分的話,可以分為:有監督學習、無監督學習和強化學習。強化學習是系統從環境學習以使得獎勵期望最大的機器學習。強化學習和有監督學習的不同在於教師訊號。強化學習的教師訊號是動作的獎勵,有監督學習的教師訊號是正確的動作。舉個例子,在貓狗分類時,對於一張是哪種動物,有監督學習給的訊號是這張的真正label是貓或者狗。而基於強化學習的圍棋ai中,在某種局面下,我們並沒有確切的答案告訴你,一定要落子在**,而是可能會反饋給你落子在何處時的價值估計。
圖3: 強化學習基本框架
強化學習(reinforcement learning, rl)的基本思路是通過最大化智慧型體(agent)從環境中獲得的累計獎賞值,以學習到完成目標的最優策略。強化學習側重於學習解決問題的策略,是制定策略或者系統控制的通用框架,其通過和環境的不斷互動和動作嘗試來調整和優化策略決策,一般由智慧型體agent、環境environment、動作action、執行動作後環境反饋的觀察狀態s和立即獎懲reward組成,其學習的過程可以描述為:(1)在每個時刻,agent與環境互動得到乙個環境的狀態觀察st,並利用dl(深度學習)等方法來感知觀察,以得到狀態s的抽象特徵表示;(2)基於某種策略將當前狀態對映為相應的動作,並基於期望回報來評價各動作的價值(3)環境對此動作做出反應,得到新的觀察狀態st+1並反饋上乙個動作at的立即獎賞reward(rt)。通過不斷迴圈以上過程,不斷試錯和學習,以期得到實現目標的最優策略。
近兩年,隨著深度學習的火熱和應用領域的延伸,學術界也嘗試利用機器學習的方法來解決位元速率自適應問題。其中,mit的電腦科學和人工智慧實驗室在基於ai的位元速率自適應演算法上做了創新性的嘗試並取得了不錯的結果,受到他們思路的啟發,我們也在基於ai的位元速率自適應演算法進行了實踐探索。本文基於強化學習的位元速率自適應演算法中採用的是actor-critic的策略梯度方法來進行策略的學習,下圖4是基於actor-critic框架的位元速率自適應演算法的模型框架。
圖4:基於actor-critic框架的abr演算法模型
如圖4所示,輸入狀態經過actor網路和critic網路後輸出的分別是策略動作(位元速率檔位)和價值估計,而在實際部署只需要策略決策時,僅保留訓練好的actor網路。在實際的模型訓練時,採用的是a3c(asynchronous advantageactor-critic)架構進行快速有效的模型訓練。
圖5:100多種網路狀態下(6種位元速率檔位)的測試結果對比
圖6:100多種網路狀態下(6種位元速率檔位)的測試結果對比(reward組成因素分解)
圖6中對組成總平均reward的各個因素進行分解,可以看到傳統方法的robustmpc雖然在總平均位元速率獎勵上比強化學習模型1和2要高,但與此同時帶來的重新緩衝(rebuffering)的風險也更高,導致rebuffering的懲罰明顯多於其他兩種模型。而基於強化學習的abr模型1和2能夠更好地兼顧各項因素使得累計獎勵到達更高。
圖7:真實系統和損傷網路環境測試集下模型的測試結果
圖8:點播ai流控系統
實際的線上資料統計對比如下:
表1:流控後台打分演算法統計的效果對比(對比傳統演算法)
表2:流控後台打分演算法統計的效果對比(對比非流控模式)
以上**1和**2結果顯示:
•ai模型的總得分比傳統mpc演算法增加約6%, 超清檔位佔比增加約5%,且卡頓和切換懲罰更小
•ai模型的總得分比非流控模式增加約18%,超清檔位佔比增加約6%~14%左右,且卡頓和切換懲罰明顯更小
注:**2是關閉mpc傳統演算法後,ai模型演算法對比非流控模式(使用者自主選擇檔位)的統計資料。
表3:電競客戶端打分演算法統計的效果對比
以上**3結果顯示:
• ai流控的總分比非流控模式增加約4.9分
• 清晰度:超清檔位佔比增加約8.4%
• 流暢度:
1)ai流控較非ai無緩衝率得分高約12分,無緩衝率高約8%
2)ai流控較非ai二次緩衝每小時比率的得分高約8分
ai如何賦能物流?類守望先鋒遊戲ai設計
胡珀:從危到機,ai 時代下的安全挑戰
反向傳播演算法推導-全連線神經網路
海量技術實踐經驗,盡在雲加社群!
讓你的iTerm更Geek
iterm2 作為乙個免費 開源的應用,mac程式設計師應用必備的軟體!作為乙個專業的終端,功能真的很強大,iterm oh my zsh應作為最佳配置使用!我們有時會遇上這樣一種情況,就是我們只想用命令列執行某乙個特定的操作,然後就不需要它了。其實在這種情況下我們沒有必要開啟命令列應用的。比如我們...
讓你工作與生活更平衡
你有沒有感覺一上班就開啟了痛苦模式,一整天都在計算著下班的時間,下班後瞬間感覺恢復了一天的激情?你是否感覺自己的工作時間太長,占用了自己大量的時間,沒有私人的空間來交朋友 看書 做自己的事情?看看下面的文章,或許可以讓你工作和生活更加平衡。最近看 google模式 這本書,在第75頁,施密特寫了這麼...
讓你更了解v for迭代迴圈
定義格式如下 v for item i in arr 說明 item表示值,i表示索引,為可選項,arr是被迭代陣列 主要 演示如下 for item,i in arr 值為 索引值為 h3 div var vm newvue methods script 結果如下 定義格式如下 v for val...