杜麗娜,卓力,楊碩,李嘉鋒,張菁
(1.北京工業(yè)大學(xué)計算智能與智能系統(tǒng)北京市重點(diǎn)實(shí)驗室,北京 100124;2.北京工業(yè)大學(xué)信息學(xué)部,北京 100124)
隨著移動通信技術(shù)和移動智能終端的迅猛發(fā)展,移動互聯(lián)網(wǎng)用戶數(shù)量以及移動視頻業(yè)務(wù)流量呈指數(shù)級增長趨勢。思科公司的報告預(yù)測,到2022 年,視頻業(yè)務(wù)流量將占據(jù)全球互聯(lián)網(wǎng)數(shù)據(jù)流量的82%[1]。與傳統(tǒng)互聯(lián)網(wǎng)在線視頻業(yè)務(wù)相比,移動環(huán)境下的視頻業(yè)務(wù)呈現(xiàn)出空間移動性、時間碎片性以及社交關(guān)聯(lián)性等新的復(fù)雜特性。面向復(fù)雜的移動環(huán)境以及移動視頻業(yè)務(wù)所呈現(xiàn)出的新特性,如何在有限的網(wǎng)絡(luò)資源條件下保障移動視頻業(yè)務(wù)的用戶體驗質(zhì)量(QoE,quality of experience),成為當(dāng)下學(xué)術(shù)界和工業(yè)界共同關(guān)注的熱點(diǎn)課題。
QoE 是指用戶對設(shè)備、網(wǎng)絡(luò)、系統(tǒng)、應(yīng)用或業(yè)務(wù)的質(zhì)量和性能的整體主觀感受[2],反映了用戶在接受服務(wù)時的滿意或舒適程度。國際電信聯(lián)盟[3]對QoE 的定義為“用戶使用一項應(yīng)用或服務(wù)時感到的快樂或煩惱程度”。
目前的移動視頻流媒體業(yè)務(wù)普遍采用基于HTTP 的自適應(yīng)流媒體(HAS,HTTP adaptive streaming)技術(shù)進(jìn)行傳輸。HAS 技術(shù)可以根據(jù)網(wǎng)絡(luò)的時變、波動特性以及客戶端的播放狀態(tài)自適應(yīng)調(diào)整視頻碼率,有效提高用戶的質(zhì)量體驗。2012 年,MPEG 和3GPP 聯(lián)合推出了基于HTTP 的動態(tài)自適應(yīng)流媒體(DASH,dynamic adaptive streaming over HTTP)國際標(biāo)準(zhǔn)[4],以滿足移動流媒體業(yè)務(wù)日益發(fā)展的需求。除此之外,工業(yè)界也推出了各種HAS協(xié)議,如Adobe公司推出了HTTP動態(tài)流媒體(HDS,HTTP dynamic streaming)[5],蘋果公司推出了HLS(HTTP live streaming)[6],微軟公司推出了MSS(Microsoft smooth streaming)[7]等。由于HAS 技術(shù)具有兼容性好、擴(kuò)展性強(qiáng)、易部署等優(yōu)點(diǎn),目前已被廣泛應(yīng)用于各種移動流媒體業(yè)務(wù)系統(tǒng)中。
HAS 流程如圖1 所示。對原始視頻以不同的碼率進(jìn)行編碼,將每個視頻碼流分割成不同的片段存儲于服務(wù)器端??蛻舳烁鶕?jù)當(dāng)前的網(wǎng)絡(luò)狀況、自身硬件的處理能力、緩存狀態(tài)等,動態(tài)調(diào)整視頻流的碼率,以提升用戶的QoE。可以看出,在客戶端部署的碼率自適應(yīng)(ABR,adaptive bit rate)算法,是HAS 技術(shù)的核心所在。
圖1 HAS 流程
在實(shí)際應(yīng)用過程中,ABR 算法仍然面臨許多的困難與挑戰(zhàn)。這些挑戰(zhàn)主要來自以下幾個方面。
1) 網(wǎng)絡(luò)狀態(tài)的多變性以及不可預(yù)測性。
2) 決策的累積效應(yīng)。即前面的決策會影響未來的碼率選擇,這就需要ABR 算法決策具有一定的前瞻性和預(yù)測性。
3) 實(shí)時性。ABR 算法的決策時間不能過長。
4) 公平性和穩(wěn)定性。多個客戶端同時通過瓶頸鏈路競爭共享帶寬時,面臨公平性和穩(wěn)定性問題。
5) QoE 影響因素眾多且難以量化。QoE 的影響因素既包括主觀因素,又包括客觀因素,這些因素相互影響,尤其是主觀因素難以量化。如何精確地預(yù)測用戶QoE 是設(shè)計ABR 算法不可回避的問題。
近年來,隨著強(qiáng)化學(xué)習(xí)(RL,reinforcement learning)和深度學(xué)習(xí)在各個領(lǐng)域的廣泛應(yīng)用,學(xué)者將其應(yīng)用于ABR 算法中,取得了諸多有意義的成果。這些方法以直接優(yōu)化用戶的QoE 為目的,從大量數(shù)據(jù)中學(xué)習(xí)碼率自適應(yīng)的最優(yōu)策略,可以獲得比傳統(tǒng)啟發(fā)式方法更好的性能,因此逐步成為目前ABR 研究的主流方向。
目前國內(nèi)外已經(jīng)有關(guān)于ABR 算法的研究綜述,比如,2017 年,Kua 等[8]從客戶端、服務(wù)器端和網(wǎng)絡(luò)內(nèi)部3 個角度出發(fā),總結(jié)了ABR 算法的研究進(jìn)展。此外,作者還闡釋了直播和點(diǎn)播之間的區(qū)別以及具體實(shí)施過程中媒體呈現(xiàn)描述(MPD,media presentation description)文件的差異。2018 年,Ayad等[9]從代碼層面分析了DASH 標(biāo)準(zhǔn)開源播放器DASH-IF、谷歌的DASH Media Source 以及Bitmovin播放器的實(shí)現(xiàn)細(xì)節(jié),并評估了上述3 個播放器以及Netflix、YouTube、Vimeo 共6 個播放器的性能。本文則對近幾年來出現(xiàn)的基于RL(包括深度強(qiáng)化學(xué)習(xí))的ABR算法進(jìn)行了綜述,對代表性ABR算法的思路、策略、性能等進(jìn)行了深入的分析總結(jié)。
RL 的基本架構(gòu)如圖2 所示。RL 包含3 個基本要素:智能體、環(huán)境和獎勵函數(shù)。其基本原理為:智能體通過從環(huán)境中觀察到的狀態(tài)選擇一個動作用于環(huán)境,環(huán)境接受該動作更新狀態(tài)并產(chǎn)生一個強(qiáng)化信號(獎或懲)反饋給智能體。如果智能體的某個行為策略導(dǎo)致環(huán)境正的獎賞,那么智能體產(chǎn)生這個行為策略的趨勢便會加強(qiáng)。智能體的目標(biāo)是在每個離散狀態(tài)下發(fā)現(xiàn)最優(yōu)策略,以使期望的折扣獎賞最大,并根據(jù)強(qiáng)化信號和當(dāng)前狀態(tài)再選擇下一個動作。選擇的動作不僅影響當(dāng)前的強(qiáng)化值,還影響環(huán)境下一時刻的狀態(tài)及最終的強(qiáng)化值。
圖2 強(qiáng)化學(xué)習(xí)基本架構(gòu)
不同于監(jiān)督學(xué)習(xí)和非監(jiān)督學(xué)習(xí),RL 把學(xué)習(xí)看作試探評價過程,側(cè)重在交互中學(xué)習(xí),由智能體在與環(huán)境的交互過程中根據(jù)獲得的獎勵或懲罰不斷地學(xué)習(xí),最終學(xué)習(xí)到更加適應(yīng)環(huán)境的策略。
RL 為ABR 算法的設(shè)計提供了一種新的技術(shù)手段[10],其本質(zhì)可以看成高維狀態(tài)空間的特征選擇[11]或者序列決策。在不同的前提條件下,RL 也可以轉(zhuǎn)化成動態(tài)規(guī)劃(DP,dynamic programming)、馬爾可夫決策過程(MDP,Markov decision process)、隱馬爾可夫模型(HMM,hidden Markov model)等。
目前,大多數(shù)ABR 算法的研究工作集中在QoE建模和訓(xùn)練最佳策略來提高用戶QoE 等方面。將RL 應(yīng)用于碼率選擇的整體架構(gòu)如圖3 所示。智能體的輸入是前幾個視頻片段的碼率以及下載時間、下一個視頻片段的可選碼率等信息,輸出是擬選擇的碼率。環(huán)境包括網(wǎng)絡(luò)狀態(tài)和客戶端播放器的狀態(tài)等,獎勵函數(shù)普遍用QoE 模型表達(dá)。人們通過設(shè)計不同的算法來定義智能體如何做出決策。
圖3 將強(qiáng)化學(xué)習(xí)應(yīng)用于碼率選擇的整體架構(gòu)
表1 是目前比較具有代表性的幾種基于強(qiáng)化學(xué)習(xí)的ABR 算法。從表1 可以看出,這些ABR 算法采用的RL 方法主要包括Q-learning、HMM、MDP和DP 等,其中Q-learning 是最常用的算法。Q-learning 的經(jīng)典實(shí)現(xiàn)方式是列舉出所有的狀態(tài)和動作,構(gòu)建Q 函數(shù)表,然后迭代計算各種狀態(tài)下執(zhí)行每個動作的預(yù)期回報的最大值。例如,Claeys 等[12]采用Q-learning 方法來解決ABR 問題,將環(huán)境模型劃分成2 500 萬個狀態(tài),由于狀態(tài)空間太大,導(dǎo)致該模型難以收斂。作者之后進(jìn)行了改進(jìn),減少了環(huán)境狀態(tài)的組成元素,并重新設(shè)計了獎勵函數(shù),提升了性能[13]。由于Q-learning 方法在計算和存儲Q 函數(shù)表時需要耗費(fèi)大量的時間與空間,因此基于Q-learning 的ABR 算法需要在Q 函數(shù)表空間-時間復(fù)雜度和QoE 性能之間進(jìn)行折中。
表1 基于強(qiáng)化學(xué)習(xí)的代表性ABR 算法
RobustMPC[19]算法是一種基于控制理論的ABR 算法,該算法綜合考慮帶寬預(yù)測器預(yù)測的帶寬、緩沖區(qū)狀態(tài)以及用戶的QoE 來選擇碼率,所采用的QoE 模型被廣泛應(yīng)用于各種基于RL 的ABR算法中,如式(1)所示。
其中,Rn表示第n個視頻片段的碼率,q(Rn)表示視頻質(zhì)量,Tn表示卡頓時長,最后一項表示平滑度,α、β、γ表示每一項的權(quán)重。
RobustMPC 算法對帶寬預(yù)測的準(zhǔn)確性要求較高,當(dāng)帶寬預(yù)測不夠準(zhǔn)確時,算法性能會出現(xiàn)明顯下降。為此,Sun 等[14]利用隱馬爾可夫模型進(jìn)行帶寬預(yù)測,該算法在帶寬劇烈抖動的情況下依然有較好的性能。Chiariotti 等[15]采用并行學(xué)習(xí)技術(shù),可提高學(xué)習(xí)率并限制次優(yōu)選擇,從而實(shí)現(xiàn)快速而準(zhǔn)確的學(xué)習(xí)過程,并迅速收斂于穩(wěn)定的獎勵。通過選擇最佳碼率,使長期預(yù)期獎勵最大化。
還有一部分研究者采用DP 來解決ABR 問題。例如Andelin 等[16]采用DP 來解決碼率的最優(yōu)選擇問題,設(shè)計獎勵函數(shù)時考慮了視頻質(zhì)量以及視頻質(zhì)量切換等因素。仿真網(wǎng)絡(luò)下的實(shí)驗結(jié)果表明,該算法可以有效提升用戶的QoE。
PANDA/CQ[17]是另一種比較具有代表性的使用DP 的ABR 算法,該算法的重點(diǎn)在于獎勵函數(shù)的設(shè)計,目的是減少不必要的質(zhì)量切換對QoE 產(chǎn)生的影響。García 等[20]提出基于隨機(jī)DP 的ABR 算法,目的是學(xué)習(xí)到保障用戶QoE 的最佳請求策略。該算法的獎勵函數(shù)是視頻質(zhì)量、卡頓頻率和時長以及質(zhì)量切換的線性表達(dá)式,通過對卡頓、質(zhì)量切換等不同指標(biāo)的實(shí)驗結(jié)果分析,證明該算法可以實(shí)現(xiàn)視頻質(zhì)量和卡頓之間的均衡。
總體來看,基于RL 的ABR 算法以最優(yōu)化QoE為目標(biāo),通過數(shù)據(jù)驅(qū)動的方式訓(xùn)練ABR 算法。算法不依賴預(yù)先設(shè)計的模型或?qū)Νh(huán)境的假設(shè),通過觀察和實(shí)驗逐漸學(xué)習(xí)到碼率自適應(yīng)的最佳策略,取得了比啟發(fā)式方法更好的性能。然而,采用傳統(tǒng)的RL算法設(shè)計的ABR 算法存在維度災(zāi)難以及收斂緩慢的問題。受限于算法對于高維數(shù)據(jù)的表達(dá)能力,基于RL 的ABR 算法的動作空間和樣本空間都很小,難以應(yīng)對具有很大狀態(tài)空間和動作空間的情況。
近年來,深度學(xué)習(xí)在計算機(jī)視覺、自然語言處理、語音識別等領(lǐng)域取得了極大的成功。研究者將深度學(xué)習(xí)與RL 相結(jié)合,提出各種深度強(qiáng)化學(xué)習(xí)(DRL,deep reinforcement learning)算法,如2013 年Mnih[21]提出的深度Q 網(wǎng)絡(luò)(DQN,deep q-network),可利用深度學(xué)習(xí)自動提取大規(guī)模輸入數(shù)據(jù)的抽象表征,使深度強(qiáng)化學(xué)習(xí)能夠解決各種復(fù)雜的決策任務(wù)。
2017 年以來,研究者開始將DRL 應(yīng)用到ABR算法中,Pensieve 算法[22]是使用DRL 解決ABR 問題最有代表性的算法之一,已成為目前基于DRL的 ABR 算法的基準(zhǔn)。Pensieve 算法采用Actor-Critic[23]算法實(shí)現(xiàn)ABR,其算法結(jié)構(gòu)如圖4 所示。智能體的輸入是上一個視頻片段的下載時間、帶寬估計值、下一個視頻片段的可選大小、當(dāng)前緩沖區(qū)占有率、剩余視頻片段數(shù)量以及前幾個視頻片段的碼率,輸出是所選擇的碼率,獎勵函數(shù)是RobustMPC 算法采用的QoE 模型,如式(1)所示。深度神經(jīng)網(wǎng)絡(luò)(DNN,deep neural network)由一維卷積神經(jīng)網(wǎng)絡(luò)(CNN,convolutional neural network)和全連接層組成,輸出為下一個視頻片段的碼率。DNN 作用是提高算法對高維數(shù)據(jù)的表達(dá)能力,進(jìn)而緩解“維度災(zāi)難”問題。
圖4 Pensieve 算法結(jié)構(gòu)
具體而言,DNN 用來擬合DRL 中的各種函數(shù),如價值函數(shù)和策略函數(shù)等。研究結(jié)果表明,在強(qiáng)化學(xué)習(xí)中引入DNN,有助于學(xué)習(xí)到更好的策略,從而獲得更優(yōu)的性能。
2018 年,Paul 等[24]對Pensieve 算法進(jìn)行了擴(kuò)展,在低帶寬環(huán)境下測試了Pensieve 算法的性能。盡管Pensieve 取得了遠(yuǎn)超啟發(fā)式算法的性能,但是依然存在很大的改進(jìn)空間。為此,研究者從獎勵函數(shù)、深度神經(jīng)網(wǎng)絡(luò)結(jié)構(gòu)、實(shí)時性等角度出發(fā),提出了各種基于DRL 的ABR 算法。
QoE 的影響因素眾多,不同的因素對QoE 有著不同的影響,而現(xiàn)有的用作獎勵函數(shù)的QoE 模型忽略了視頻的內(nèi)容特性、用戶的行為偏好等影響因素。為此,研究者從不同的角度對獎勵函數(shù)進(jìn)行了改進(jìn)。
1) 考慮用戶的行為偏好、興趣度等主觀因素對QoE 的影響
Sengupta 等[25]提出HotDASH 算法,考慮了用戶的行為偏好,將用戶對視頻片段的偏好程度寫入MPD 文件,以便環(huán)境將該狀態(tài)信息傳遞給智能體,預(yù)提取滿足用戶偏好的視頻片段。其獎勵函數(shù)在式(1)的基礎(chǔ)上考慮了用戶的偏好,采用Actor-Critic算法訓(xùn)練策略。實(shí)驗結(jié)果表明,該算法的性能優(yōu)于現(xiàn)有的啟發(fā)式方法以及Pensieve 等基于DRL 的ABR 算法。
Gao 等[26]認(rèn)為,大多數(shù)ABR 算法都沒有考慮到視頻的語義信息,而語義信息在很大程度上決定了視頻內(nèi)容的信息量和趣味性,從而影響用戶的QoE。為此,作者提出了一種基于內(nèi)容興趣度(CoI,content of interest)的ABR 算法。首先設(shè)計一種用于識別視頻CoI的深度學(xué)習(xí)方法,然后將視頻的CoI信息作為智能體的一個輸入,采用DQN 方法實(shí)現(xiàn)ABR 算法。
文獻(xiàn)[27]提出了一種情感內(nèi)容感知的ABR 算法。作者考慮了用戶對情感內(nèi)容(AC,affective content)的偏好,將視頻幀的AC 分為6 類,采用ResNet 網(wǎng)絡(luò)對視頻幀的AC 進(jìn)行分類,并輸出其屬于每一類別的置信度。之后對視頻片段中所有幀的類別置信度求平均,作為整個視頻片段的置信度,并將用戶的情感偏好加入獎勵函數(shù)中,根據(jù)用戶的情感偏好來優(yōu)化QoE。
這些方法在進(jìn)行QoE 建模時,充分考慮了用戶的主觀因素,建立的模型可以更好地表征人的感知,因此獲得了更好的QoE 性能。
2) 考慮視頻內(nèi)容特性對QoE 的影響
文獻(xiàn)[28]觀察到用戶在視頻的某些部分對低質(zhì)量的敏感度高于其他部分。為此,該算法對每個視頻進(jìn)行眾包實(shí)驗,以得出用戶在視頻不同部分的質(zhì)量敏感性,將敏感性作為權(quán)重對KSQI 模型[29]進(jìn)行修正,并將該模型應(yīng)用到ABR 算法中。實(shí)驗結(jié)果表明,這些改進(jìn)可以有效提高QoE。
文獻(xiàn)[30]建立了一種連續(xù)性QoE 模型,該模型考慮了前一段時間出現(xiàn)的卡頓、平均的視頻質(zhì)量對當(dāng)前QoE 的影響。研究結(jié)果表明,將該模型作為獎勵函數(shù),其性能要優(yōu)于Pensieve 算法。
上述的研究結(jié)果表明,通過改進(jìn)獎勵函數(shù),可以在一定程度上提高ABR 算法的性能。
學(xué)者將各種先進(jìn)的深度學(xué)習(xí)方法與強(qiáng)化學(xué)習(xí)相結(jié)合,提升ABR 算法的有效性。
Tiyuntsong 方法[31]將生成對抗網(wǎng)絡(luò)與Actor-Critic 相結(jié)合,生成對抗網(wǎng)絡(luò)用來從過去的狀態(tài)中提取隱藏的特征,采用Self-Play 深度強(qiáng)化學(xué)習(xí)方法,通過訓(xùn)練2 個相互競爭的智能體來自動學(xué)習(xí)碼率控制策略。
Zwei 方法[32]將DRL 與蒙特卡羅算法相結(jié)合,在蒙特卡羅搜索過程中,根據(jù)當(dāng)前策略從起始狀態(tài)中采樣多個軌跡,通過平均每個軌跡對的競爭結(jié)果來估計預(yù)期的長期獲勝率,其中結(jié)果表示哪個軌跡更接近2 條軌跡之間的實(shí)際需求。估計獲勝率后,通過增加獲勝樣本的概率和減少失敗樣本的可能性,采用近端策略優(yōu)化[33]來優(yōu)化DNN,以獲得更優(yōu)的策略。
針對現(xiàn)有的ABR 算法主要側(cè)重于優(yōu)化所有客戶端的整體QoE,而忽略了不同用戶QoE 多樣性的問題,Huo 等[34]提出了多用戶感知的元學(xué)習(xí)方法,該方法將元學(xué)習(xí)和多任務(wù)DRL 相結(jié)合,通過主觀實(shí)驗分析驗證了不同用戶在QoE 影響因素上的差異,并且量化這個差異。在此基礎(chǔ)上,作者修正了獎勵函數(shù),借鑒Frans 等[35]提出的方法建立了一種多任務(wù)深度強(qiáng)化學(xué)習(xí)框架,實(shí)現(xiàn)了多用戶偏好的QoE 優(yōu)化。
深度學(xué)習(xí)與強(qiáng)化學(xué)習(xí)相結(jié)合,雖然可以利用深度學(xué)習(xí)強(qiáng)大的表征能力提升性能,但同時也面臨樣本效率低、難以收斂、計算復(fù)雜度高等問題。為此,很多學(xué)者針對性地提出了各種解決方案。
針對無模型深度強(qiáng)化學(xué)習(xí)方法難以收斂等問題,Liu 等[36]采用支持向量回歸(SVR,support vector regression)建立了一個chunk-wise 感知的獎勵函數(shù),將Pensieve 算法中的Actor-Critic 算法替換為深度Q-learning 算法,并加入double Q-learning、Dueling network 以及 multi-step 等機(jī)制對深度Q-learning 網(wǎng)絡(luò)進(jìn)行改進(jìn),使網(wǎng)絡(luò)訓(xùn)練能更快收斂,并獲得更高的平均QoE。
Saleem 等[37]提出了一種基于 double deep Q-learning 的ABR 算法,并對算法的性能進(jìn)行了較全面的評估,主要評價指標(biāo)有峰值信噪比(PSNR,peak signal to noise ratio)、結(jié)構(gòu)相似性(SSIM,structural similarity index measure)、卡頓頻率和質(zhì)量切換等客觀指標(biāo)以及用戶的QoE。實(shí)驗結(jié)果表明,與Actor-Critic 方法相比,采用double deep Q-learning具有更快的收斂速度。
針對現(xiàn)有方法樣本效率低和對視頻質(zhì)量信息感知不足的缺點(diǎn),Huang 等[38]提出了Comyco 算法,該算法主要包括及時求解器、仿真播放器、經(jīng)驗池以及神經(jīng)網(wǎng)絡(luò)4 個模塊。其中,及時求解器負(fù)責(zé)提供專家策略,經(jīng)驗池負(fù)責(zé)存儲專家策略,神經(jīng)網(wǎng)絡(luò)負(fù)責(zé)訓(xùn)練策略、做出決策。
Comyco 算法利用模仿學(xué)習(xí)解決強(qiáng)化學(xué)習(xí)樣本效率低的問題,以視頻的感知質(zhì)量作為獎勵函數(shù)。此外,作者認(rèn)為視頻質(zhì)量上升和下降對QoE 的影響不同,因此對獎勵函數(shù)進(jìn)行了改進(jìn),采用視頻多方法評價融合(VMAF,video multimethod assessment fusion)準(zhǔn)則來度量視頻質(zhì)量q(Rn)。
DAVS[39]是一種基于學(xué)徒學(xué)習(xí)的ABR 算法,該算法不需要獎勵函數(shù)作為指導(dǎo),而是從專家示例中學(xué)習(xí)更好的策略。考慮到視頻內(nèi)容上的差異性,將視頻分為動態(tài)片段(紋理豐富度高且運(yùn)動復(fù)雜度高)和靜態(tài)片段,并為動態(tài)片段分配更高的質(zhì)量。
隨著深度學(xué)習(xí)的不斷發(fā)展,人們提出了各種DNN 結(jié)構(gòu),眾多研究者對DRL 算法中的DNN 進(jìn)行了改進(jìn)。
2017 年,Gadaleta 等[40]提出了D-DASH 方法。該方法采用deep Q-learning 方法實(shí)現(xiàn)碼率自適應(yīng),其中的深度神經(jīng)網(wǎng)絡(luò)采用的是多層感知機(jī)以及長短期記憶(LSTM,long short-term memory)等網(wǎng)絡(luò)結(jié)構(gòu)。實(shí)驗結(jié)果表明,與基于強(qiáng)化學(xué)習(xí)的ABR 算法相比,D-DASH 方法表現(xiàn)出更快的收斂速度以及更好的性能。
LASH 是Lekharu 等[41]提出的一種ABR 算法,該算法采用LSTM 代替部分1D-CNN,將輸入部分分為兩組:一組輸入LSTM 網(wǎng)絡(luò),另一組輸入全連接層,將兩部分的輸出合并后,輸入下一層全連接層。實(shí)驗結(jié)果表明,加入LSTM 使模型能夠更準(zhǔn)確地學(xué)習(xí)到時序特征。與Pensieve 算法相比,平均QoE 提升了約8.84%。
總體來說,深度神經(jīng)網(wǎng)絡(luò)可以有效解決傳統(tǒng)強(qiáng)化學(xué)習(xí)算法中“維度災(zāi)難”的問題,提高算法對于高維數(shù)據(jù)的表達(dá)能力,通過對深度強(qiáng)化學(xué)習(xí)中的價值函數(shù)、策略函數(shù)等進(jìn)行有效擬合,使網(wǎng)絡(luò)可以學(xué)習(xí)到更好的策略。
移動視頻流在網(wǎng)絡(luò)傳輸過程中,要綜合考慮網(wǎng)絡(luò)狀況、視頻編碼方式、實(shí)時傳輸需求等多種因素。很多學(xué)者針對這些因素開展了研究工作。
單個方案往往無法對復(fù)雜多變的網(wǎng)絡(luò)情況進(jìn)行充分的建模。為此,有學(xué)者通過集成多個ABR算法來提高用戶的QoE。比如,Zhang 等[42]提出了集成自適應(yīng)流媒體(EAS,ensemble adaptive streaming)方法,該方法首先對網(wǎng)絡(luò)環(huán)境進(jìn)行分類,之后為每種網(wǎng)絡(luò)環(huán)境分別設(shè)計了相應(yīng)的ABR 算法以適應(yīng)其特性,依據(jù)網(wǎng)絡(luò)狀態(tài)動態(tài)匹配合適的算法。實(shí)驗結(jié)果表明,EAS 可以應(yīng)對更具挑戰(zhàn)性的網(wǎng)絡(luò)環(huán)境。
Zhao 等[43]設(shè)計了時延控制模型來控制跳幀,并通過集合2 個不同網(wǎng)絡(luò)軌跡下訓(xùn)練出來的ABR 算法來提高用戶的QoE。Akhtar 等[44]提出了一種Oboe方法。該方法首先對不同的網(wǎng)絡(luò)狀態(tài)進(jìn)行建模,并訓(xùn)練出不同網(wǎng)絡(luò)環(huán)境的最佳參數(shù),之后在線檢測網(wǎng)絡(luò)狀態(tài)改變點(diǎn),并自適應(yīng)調(diào)整參數(shù)。實(shí)驗結(jié)果表明,Oboe 方法顯著提升了RobustMPC、Pensieve 等算法的性能。
眾所周知,視頻傳輸質(zhì)量在很大程度上取決于可用帶寬資源。為此,Yeo 等[45]提出NAS 方法,應(yīng)用圖像超分辨率DNN 來提升視頻的增強(qiáng)質(zhì)量,最大化用戶的QoE。在進(jìn)行碼率控制時,利用深度強(qiáng)化學(xué)習(xí)來選擇下載的視頻片段的碼率和DNN 塊,降低了視頻傳輸質(zhì)量對帶寬資源的依賴程度。
針對視頻流的實(shí)時傳輸需求,研究者開展了ABR 算法的研究。QARC 是Huang 等[46]提出的一種面向?qū)崟r視頻流的碼率自適應(yīng)算法,該算法包括視頻質(zhì)量預(yù)測網(wǎng)絡(luò)(VQPN,video quality prediction network)和視頻質(zhì)量增強(qiáng)學(xué)習(xí)(VQRL,video quality reinforcement learning)2 個子網(wǎng)絡(luò),VQPN 根據(jù)歷史視頻幀的質(zhì)量預(yù)測當(dāng)前視頻幀的質(zhì)量,其輸入是前幾個視頻幀,輸出是下一時刻視頻幀的質(zhì)量;VQRL 則依據(jù)網(wǎng)絡(luò)狀態(tài)和VQPN 的預(yù)測情況選擇合適的碼率。VQRL 采用Actor-Critic 算法,輸入是VQPN 預(yù)測的視頻幀的質(zhì)量、最近k個發(fā)送和接收到的視頻幀的碼率、時延以及數(shù)據(jù)分組丟失率,獎勵函數(shù)考慮了視頻質(zhì)量、時延、碼率和質(zhì)量切換,輸出是所選擇的碼率。
雖然QARC 取得了很好的性能,但是作者認(rèn)為其缺乏可解釋性,因此于2019 年進(jìn)一步提出了升級版EQARC(explainable QARC)[47]。EQARC 包括EVQPN(explainable VQPN)和EVQRL(explainable VQRL)2 個子網(wǎng)絡(luò):EVQPN 由VQPN 中加入注意力機(jī)制形成,用來更準(zhǔn)確地預(yù)測當(dāng)前視頻幀的質(zhì)量;EVQRL 采用2D-CNN 代替VQRL 中的1D-CNN,獲得了比QARC 算法更優(yōu)的性能。
Deeplive[48]是另一個針對實(shí)時視頻流的ABR算法,其獎勵函數(shù)綜合考慮了碼率、卡頓時長、端到端的時延、丟幀以及質(zhì)量切換等因素,輸入包括過去k個視頻幀的碼率、卡頓時長、緩沖區(qū)大小和端到端時延,動作包括所選擇的碼率、目標(biāo)緩沖區(qū)以及時延限制,輸出是所選擇的碼率。實(shí)驗結(jié)果表明,在4 種不同的網(wǎng)絡(luò)環(huán)境下,Deeplive 方法獲得的QoE 比Pensieve 算法平均提高了15%以上。
有學(xué)者將深度強(qiáng)化學(xué)習(xí)與可擴(kuò)展視頻編碼(SVC,scalable video coding)相結(jié)合,來提高用戶的QoE。一般的ABR 算法中,視頻普遍以恒定碼率進(jìn)行編碼,而SVC 可以提供細(xì)粒度的碼率切換,為HAS 客戶端提供更大的靈活性,在可變網(wǎng)絡(luò)條件下,可以減少卡頓的發(fā)生。但是,SVC 會引入額外開銷,并增加獲取視頻塊的HTTP 請求數(shù)量。
LAAVS[49]方法采用SVC 和非SVC 相結(jié)合的方式,可以在不影響視頻質(zhì)量的情況下顯著減少視頻的卡頓。實(shí)驗結(jié)果表明,該方法可以取得比Pensieve更高的平均QoE。
Grad-HYBJ[50]是一種基于深度強(qiáng)化學(xué)習(xí)的ABR 算法,該算法將SVC 的質(zhì)量控制機(jī)制加入算法中,考慮了編碼開銷對QoE 的影響。同時,提出了一種混合編碼(HYBJ,jump-enabled hybrid coding)方法來減輕這方面的影響。與Pensieve 算法相比,平均QoE 提升了約17%。
基于深度強(qiáng)化學(xué)習(xí)的ABR 算法取得了遠(yuǎn)超啟發(fā)式方法的性能,逐漸成為研究熱點(diǎn),同時也引起了工業(yè)界的重視。針對現(xiàn)有算法存在的僅針對單用戶、未考慮運(yùn)營商帶寬成本等問題,工業(yè)界開展了深入的研究。
RESA[51]是愛奇藝提出的一種實(shí)時的ABR 算法,該算法綜合考慮流暢度、清晰度和平滑度(視頻質(zhì)量等級切換次數(shù)占總視頻片段數(shù)量的比例)3 個方面的因素,加權(quán)組合建立QoE 模型,QoE 模型的參數(shù)依據(jù)用戶的觀看行為偏好進(jìn)行設(shè)置。真實(shí)用戶的在線評估結(jié)果表明,該算法在為優(yōu)質(zhì)用戶和普通用戶提供不同QoE 的同時,還可以控制服務(wù)提供商的帶寬成本。
快手聯(lián)合清華大學(xué)從訓(xùn)練效率和模型復(fù)雜度2 個方面對 Comyco 算法進(jìn)行了改進(jìn),提出了Lifelong-Comyco 算法[52]。該算法由外循環(huán)系統(tǒng)和內(nèi)循環(huán)系統(tǒng)兩部分組成:內(nèi)循環(huán)系統(tǒng)是Comyco,外循環(huán)系統(tǒng)的目標(biāo)是進(jìn)一步減少訓(xùn)練時所需的訓(xùn)練集。首先對客戶端估計的帶寬數(shù)據(jù)進(jìn)行整理,找出線下最優(yōu)解。然后查看當(dāng)前線上策略與線下最優(yōu)解所取得的QoE 的差距,當(dāng)差距超過某個值時,將當(dāng)前帶寬數(shù)據(jù)放入要訓(xùn)練的數(shù)據(jù)集中。最后采用終身學(xué)習(xí)的方法訓(xùn)練神經(jīng)網(wǎng)絡(luò),使網(wǎng)絡(luò)可以在不忘記過去表現(xiàn)良好的帶寬數(shù)據(jù)的情況下,記住表現(xiàn)不好的帶寬數(shù)據(jù)。與Pensieve 算法相比,訓(xùn)練效率提高了1 700 倍,訓(xùn)練速度提高了16 倍,平均QoE 提高了4.57%~9.93%。而且該模型的浮點(diǎn)計算量僅為輕量級神經(jīng)網(wǎng)絡(luò)ShuffleNetV2[53]的0.15%,可以成功部署在筆記本電腦等移動設(shè)備上。
Stick[54]是一種低復(fù)雜度的ABR 算法,該算法將傳統(tǒng)的啟發(fā)式方法BBA(buffer-based algorithm)[55]與基于學(xué)習(xí)的方法相結(jié)合,通過深度學(xué)習(xí)方法增強(qiáng)BBA 的性能。與此同時,BBA 又能給基于深度學(xué)習(xí)的算法帶來更多的領(lǐng)域知識,從而降低模型的浮點(diǎn)運(yùn)算量(FLOPS,floating point operation per second)。Stick 算法主要包含Stick 和Trigger 這2 個模塊,Stick 模塊利用線下訓(xùn)練好的神經(jīng)網(wǎng)絡(luò),根據(jù)當(dāng)前客戶端接收的狀態(tài)輸出連續(xù)值,用于控制BBA算法的閾值;Trigger 模塊用于決定是否開啟Stick模塊的輕量級神經(jīng)網(wǎng)絡(luò),從而進(jìn)一步降低Stick 神經(jīng)網(wǎng)絡(luò)的整體浮點(diǎn)計算量。在多個數(shù)據(jù)集上的實(shí)驗結(jié)果表明,該算法獲得的平均QoE 要高于Pensieve算法,且模型的FLOP 降低了88%。
綜上所述,近幾年基于DRL 的ABR 算法研究工作主要集中在以下幾個方面:1) 建立更精確的用戶QoE 模型來指導(dǎo)ABR 算法;2) 設(shè)計合適的DNN,優(yōu)化網(wǎng)絡(luò)訓(xùn)練策略,使網(wǎng)絡(luò)可以更好地擬合深度強(qiáng)化學(xué)習(xí)中的價值函數(shù)和策略函數(shù),進(jìn)而學(xué)習(xí)到更好的策略;3) 應(yīng)對網(wǎng)絡(luò)狀態(tài)的多變性以及用戶對于高質(zhì)量視頻的需求;4) 針對深度強(qiáng)化學(xué)習(xí)方法樣本效率低、難以收斂等問題設(shè)計更合適的算法。
表2 列舉了目前幾種代表性的基于深度強(qiáng)化學(xué)習(xí)的ABR 算法,從算法面向的業(yè)務(wù)類型、獎勵函數(shù)、強(qiáng)化學(xué)習(xí)算法、網(wǎng)絡(luò)軌跡數(shù)據(jù)集、性能評價指標(biāo)(包括平均QoE 提升和節(jié)約帶寬)等方面進(jìn)行了總結(jié)。在目前的研究工作中,對算法性能進(jìn)行測試時,普遍采用的網(wǎng)絡(luò)軌跡數(shù)據(jù)集是HSDPA[56]和FCC[57],也有少量研究工作采用 4G LTE[58]和Oboe[44]等網(wǎng)絡(luò)數(shù)據(jù)集。測試視頻則普遍采用的是Envivio 序列。文獻(xiàn)[38-39]則在不同類型的視頻(如游戲、電影、新聞以及運(yùn)動等)上對Comyco和DAVS算法進(jìn)行了測試。測試結(jié)果表明,算法的性能與視頻的內(nèi)容密切相關(guān)。具體來說,對于電影、新聞和運(yùn)動這幾類場景切換較頻繁的視頻,Comyco 算法可以獲得更高的QoE[38]。對DAVS 算法的測試結(jié)果表明,對紋理豐富度高且運(yùn)動復(fù)雜度高的視頻,應(yīng)該分配更高的質(zhì)量[39]。
表2 基于深度強(qiáng)化學(xué)習(xí)的代表性ABR 算法
雖然基于深度強(qiáng)化學(xué)習(xí)的ABR 算法有著遠(yuǎn)超啟發(fā)式方法的性能,但是其復(fù)雜度較高,往往難以直接在客戶端實(shí)現(xiàn),尤其是針對計算和存儲資源非常有限的移動設(shè)備。為此,Meng 等[60]提出Pitree框架,該框架將ABR 轉(zhuǎn)化為決策問題,具有通用性強(qiáng)、高性能和可擴(kuò)展等優(yōu)點(diǎn),可以在犧牲少量性能的情況下,大大提升處理速度。在多個數(shù)據(jù)集上的實(shí)驗結(jié)果表明,將Pensieve 以及HotDASH 等復(fù)雜度較高的算法轉(zhuǎn)為決策樹問題,可以有效節(jié)約計算和存儲資源,進(jìn)而將算法部署于視頻播放器。
對算法進(jìn)行性能評價時,往往需要在同一個數(shù)據(jù)集上進(jìn)行,本節(jié)首先介紹各種HAS 視頻數(shù)據(jù)集以及網(wǎng)絡(luò)軌跡數(shù)據(jù)集,然后介紹評價標(biāo)準(zhǔn)。
數(shù)據(jù)是基于機(jī)器學(xué)習(xí)的ABR 算法研究中最重要的工具之一。ABR 算法的常用公共數(shù)據(jù)集包括HAS 視頻數(shù)據(jù)集以及網(wǎng)絡(luò)軌跡數(shù)據(jù)集,近年來越來越多數(shù)據(jù)集的公開為QoE 模型和ABR 算法的設(shè)計提供了良好的基礎(chǔ)。
4.1.1 HAS 視頻數(shù)據(jù)集
采用HAS 傳輸?shù)囊曨l可能存在卡頓(包括初始延時)和質(zhì)量切換2 種失真。早期的數(shù)據(jù)集大部分為手工生成且包含失真類型單一,數(shù)據(jù)規(guī)模有限。近幾年,數(shù)據(jù)集規(guī)模不斷擴(kuò)大,包含的失真類型、采用的ABR 算法和網(wǎng)絡(luò)環(huán)境更加豐富。
表3 是最常用的幾個公開HAS 視頻數(shù)據(jù)集,給出了各個數(shù)據(jù)集的發(fā)布時間、QoE 影響因素、原始視頻數(shù)量、網(wǎng)絡(luò)軌跡數(shù)量、失真視頻數(shù)量、觀看設(shè)備以及視頻質(zhì)量感知度量準(zhǔn)則等信息。
表3 代表性公開HAS 視頻數(shù)據(jù)集
得克薩斯大學(xué)公布的LIVE-NFLX-II[65]是目前最全面的數(shù)據(jù)集之一。該數(shù)據(jù)集在7 種網(wǎng)絡(luò)環(huán)境下,采用4 種ABR 算法由15 個原始視頻生成了420 個失真視頻。數(shù)據(jù)集提供了每個視頻的連續(xù)性和回顧性主觀MOS 得分。
滑鐵盧大學(xué)建立的SQoE-Ⅲ數(shù)據(jù)集[66]包含450個視頻。將20 個不同內(nèi)容類型的源視頻序列編碼為11 個碼率等級(235~7 000 kbit/s),并存儲于服務(wù)端??蛻舳诉x擇了6 個具有代表性的ABR 算法,在13 個網(wǎng)絡(luò)環(huán)境下進(jìn)行仿真,采用ITU-R 絕對類別標(biāo)度進(jìn)行主觀測試,并進(jìn)行打分。數(shù)據(jù)集中給出了MOS、VMAF 等多種視頻質(zhì)量打分結(jié)果。
2020 年,SQoE-Ⅲ的作者公布了SQoE-IV[67]。SQoE-IV 是目前為止最大的公開數(shù)據(jù)集,共包含1 350 個失真視頻,5 個時長30 s 的不同內(nèi)容的原始視頻經(jīng)過H.264 和HEVC 編碼器編碼為13 個碼率等級,在9 個網(wǎng)絡(luò)環(huán)境條件下進(jìn)行仿真。客戶端選擇了5 個具有代表性的ABR 算法,測試者在3 種設(shè)備上觀看打分。在此基礎(chǔ)上,作者對現(xiàn)有的11 種QoE 模型的性能進(jìn)行了評估。實(shí)驗結(jié)果表明,最新的QoE 模型與主觀評分之間的相關(guān)性還有待提高,QoE 模型和ABR 算法都有改進(jìn)的余地。
4.1.2 網(wǎng)絡(luò)軌跡數(shù)據(jù)集
近年來,研究者公布了多個網(wǎng)絡(luò)軌跡數(shù)據(jù)集。表4 是最常用的幾個公開網(wǎng)絡(luò)軌跡數(shù)據(jù)集,給出了各個數(shù)據(jù)集的發(fā)布時間、移動模式、持續(xù)時間、軌跡數(shù)目、帶寬范圍等信息。
表4 代表性公開網(wǎng)絡(luò)軌跡數(shù)據(jù)集
已經(jīng)公開的數(shù)據(jù)集中包括3G[56]、4G[58]、5G[69]等多種網(wǎng)絡(luò)通信環(huán)境下的軌跡數(shù)據(jù),其中FCC 數(shù)據(jù)集是美國聯(lián)邦通信委員會依據(jù)美國測量寬帶計劃定期公布的帶寬數(shù)據(jù)集。目前常用的FCC 數(shù)據(jù)集于2016 年公布。
早期的ABR 算法常用平均比特率、卡頓次數(shù)、卡頓頻率、平滑性等指標(biāo)來度量ABR 算法性能的優(yōu)劣,無法準(zhǔn)確反映用戶QoE。目前的ABR 算法普遍采用QoE 提升程度、視頻感知質(zhì)量、卡頓時長、平滑性以及QoE 相同情況下節(jié)約帶寬的比例等指標(biāo)來度量算法的性能。由于目前沒有公認(rèn)的QoE 評價標(biāo)準(zhǔn),各算法中所采用的QoE 評價模型往往是研究者自行建立的。
考慮到平均比特率無法準(zhǔn)確反映視頻的主觀感受質(zhì)量,有部分算法采用SSIM、VMAF 等指標(biāo)來評價視頻的感知質(zhì)量。其中VMAF 是Netflix公司提出的一種全參考視頻質(zhì)量客觀評價指標(biāo),該指標(biāo)采用視覺信息保真度、細(xì)節(jié)損失程度和運(yùn)動信息等評估方法對視頻質(zhì)量進(jìn)行度量,使用SVR 將3 個指標(biāo)進(jìn)行融合,得到最終的評估結(jié)果,這種方式使VMAF 可以保留每種質(zhì)量評估方法的優(yōu)勢。相比于PSNR、SSIM 等視頻質(zhì)量客觀評價準(zhǔn)則,VMAF 指標(biāo)更接近于用戶的主觀感受,可以與人類的主觀評價保持一致,因此被越來越多地應(yīng)用于 ABR 算法中,對視頻感知質(zhì)量進(jìn)行度量。
圖5 和圖6 給出了Comyco、Pitree_Comyco、Pensieve、RobustMPC、BOLA[70]和Rate_based[71]共6 種代表性ABR 算法在FCC 數(shù)據(jù)集上的測試結(jié)果。其中Comyco、Pensieve 是基于DRL 的ABR 算法,Pitree_Comyco 是將Comyco 算法通過Pitree 框架轉(zhuǎn)化為決策樹的算法,RobustMPC、BOLA 和Rate_based 是傳統(tǒng)的啟發(fā)式ABR 算法。圖5 是6 種算法的平均QoE 累積分布函數(shù)(CDF,cumulative distribution function)對比結(jié)果,其中橫坐標(biāo)是平均QoE,縱坐標(biāo)是概率值。圖5 很好地反映了在不同區(qū)間內(nèi)平均QoE 的分布概率。圖6 進(jìn)一步給出了平均QoE、平均卡頓時長和平均比特率3 個指標(biāo)的對比實(shí)驗結(jié)果。為便于對比,對每個指標(biāo)進(jìn)行了歸一化處理,其計算方式為實(shí)際值與最大值的比值,縱坐標(biāo)表示其歸一化后的值。從圖6 可以看出,基于深度強(qiáng)化學(xué)習(xí)的ABR 算法性能要遠(yuǎn)高于傳統(tǒng)的啟發(fā)式算法,其平均QoE 可以提升1.71%~4.54%,平均卡頓時長可以減少7.04%~34.6%,平均比特率可以提升2.91%~3.98%。
圖5 FCC 數(shù)據(jù)集上多種算法的CDF
圖6 FCC 數(shù)據(jù)集上多種算法性能對比
圖7 給出了Pensieve、RobustMPC 以及基于緩存的Buffer_based[55]算法在Oboe 數(shù)據(jù)集上的測試結(jié)果,其中Buffer_based是傳統(tǒng)的啟發(fā)式ABR算法。從圖7 可以看出,Pensieve 算法的性能明顯優(yōu)于其他2 種啟發(fā)式的算法,其平均 QoE 可以提升1.10%~10.16%,平均卡頓時長可以減少3.73%~7.65%,平均比特率可以提升1.93%~6.45%。
圖7 Oboe 數(shù)據(jù)集上多種算法性能對比
在客戶端實(shí)施ABR 算法是HAS 保障用戶QoE的關(guān)鍵所在。大量的研究結(jié)果表明,基于深度強(qiáng)化學(xué)習(xí)的ABR 算法可以取得更優(yōu)越的性能,是目前ABR 的研究熱點(diǎn)。但是,現(xiàn)階段開展基于深度強(qiáng)化學(xué)習(xí)的ABR 算法研究還面臨以下問題。
1) 視頻數(shù)據(jù)集規(guī)模。建立大規(guī)模視頻主觀質(zhì)量評價數(shù)據(jù)集十分困難,一方面,主觀實(shí)驗費(fèi)時費(fèi)力,花費(fèi)較高;另一方面,視頻時長較長時,由于觀測者的興趣和精神能力有限,難以給出有效的主觀評估。因此,建立大規(guī)模的主觀視頻質(zhì)量評價數(shù)據(jù)集仍然是一個需要重點(diǎn)解決的問題。
2) 獎勵函數(shù)的設(shè)計。基于深度強(qiáng)化學(xué)習(xí)的ABR 算法采用QoE 模型作為獎勵函數(shù),QoE 模型的準(zhǔn)確性將直接影響算法的性能。因此如何建立更加準(zhǔn)確的QoE 模型是ABR 算法需要解決的問題,還有很大的研究空間。
3) 深度神經(jīng)網(wǎng)絡(luò)的設(shè)計。智能體中的深度神經(jīng)網(wǎng)絡(luò)用來學(xué)習(xí)高維數(shù)據(jù)的有效表示,決定最優(yōu)的碼率控制策略。因此,針對應(yīng)用場景的具體需求,利用最新的深度學(xué)習(xí)研究成果,設(shè)計適用于ABR 算法的深度神經(jīng)網(wǎng)絡(luò)結(jié)構(gòu)是一個重要的研究內(nèi)容。
此外,將模仿學(xué)習(xí)、超分辨率重建、可擴(kuò)展編碼等方法引入ABR 算法中,可以有效解決基于深度強(qiáng)化學(xué)習(xí)的ABR 算法樣本效率低、收斂緩慢等問題,也是未來比較有意義的研究方向。