本發(fā)明涉及多媒體通信和網(wǎng)絡(luò)傳輸,尤其涉及一種基于改進(jìn)ppo和深度強(qiáng)化學(xué)習(xí)的自適應(yīng)碼率視頻流方法。
背景技術(shù):
1、隨著互聯(lián)網(wǎng)和移動通信技術(shù)的飛速發(fā)展,視頻流媒體已經(jīng)成為網(wǎng)絡(luò)應(yīng)用中不可或缺的一部分。用戶能夠通過各種設(shè)備隨時隨地觀看視頻內(nèi)容,享受便捷的娛樂和信息獲取方式,sandvine在《2023年全球互聯(lián)網(wǎng)現(xiàn)象報(bào)告》中稱,在全球互聯(lián)網(wǎng)流量中,視頻就占總流量的65%,且未來視頻流量還會持續(xù)增加,這也對高質(zhì)量視頻體驗(yàn)的需求提出了更高的要求。然而,視頻流媒體的普及也帶來了諸多挑戰(zhàn)。在視頻流媒體傳輸過程中,網(wǎng)絡(luò)條件較差或波動較大的情況下,不合適的碼率選擇可能會導(dǎo)致視頻卡頓、畫質(zhì)下降等問題,嚴(yán)重影響用戶體驗(yàn)質(zhì)量(quality?of?experience,qoe)。這種情況不僅會降低用戶的滿意度,還會直接影響內(nèi)容提供商的商業(yè)收益和市場競爭力。因此,在網(wǎng)絡(luò)帶寬波動和設(shè)備性能差異顯著的情況下,如何保證用戶持續(xù)獲得高質(zhì)量的視頻觀看體驗(yàn)成為亟需解決的問題。
2、深度強(qiáng)化學(xué)習(xí)結(jié)合了深度學(xué)習(xí)和強(qiáng)化學(xué)習(xí),用于解決智能體(agent)在與環(huán)境交互過程中學(xué)習(xí)最優(yōu)行為策略的問題。在深度強(qiáng)化學(xué)習(xí)中,智能體通過不斷觀察環(huán)境狀態(tài)、執(zhí)行動作并接收獎勵來優(yōu)化其策略,從而在未來遇到類似情況時能夠做出最佳決策。這種方法在多個領(lǐng)域取得了重大突破,包括機(jī)器人控制、自動駕駛和網(wǎng)絡(luò)資源管理等。例如,alphago在圍棋比賽中應(yīng)用深度強(qiáng)化學(xué)習(xí),實(shí)現(xiàn)了超越人類水平的表現(xiàn),彰顯了該技術(shù)的潛力和應(yīng)用價值。此外,深度強(qiáng)化學(xué)習(xí)在多個網(wǎng)絡(luò)場景中也表現(xiàn)出色,如軟件定義網(wǎng)絡(luò)(sdn)、無線傳感器網(wǎng)絡(luò)(wsn)和車載自組織網(wǎng)絡(luò)(vanet),展示了其在提升網(wǎng)絡(luò)性能和資源利用效率方面的巨大潛力。
3、在深度強(qiáng)化學(xué)習(xí)(deep?reinforcement?learning,drl)中,強(qiáng)化學(xué)習(xí)通過定義決策框架和策略更新方法,指導(dǎo)智能體在復(fù)雜環(huán)境中的學(xué)習(xí)和決策過程。深度學(xué)習(xí)則被用于處理強(qiáng)化學(xué)習(xí)中的函數(shù)近似和特征提取等問題,從而在復(fù)雜環(huán)境中更好的實(shí)現(xiàn)智能體的學(xué)習(xí)和決策。自適應(yīng)碼率(adaptive?bitrate,abr)系統(tǒng)根據(jù)網(wǎng)絡(luò)條件和用戶需求動態(tài)調(diào)整視頻碼率,以提供最佳的觀看體驗(yàn)和qoe。傳統(tǒng)的abr方法通常為基于啟發(fā)式規(guī)則或基于模型的方法,這些方法往往難以處理復(fù)雜的網(wǎng)絡(luò)環(huán)境和視頻內(nèi)容。相比之下,深度強(qiáng)化學(xué)習(xí)可以通過學(xué)習(xí)從環(huán)境狀態(tài)到最佳動作的映射,自動發(fā)現(xiàn)復(fù)雜的網(wǎng)絡(luò)特征和視頻內(nèi)容之間的關(guān)系,并在不斷的交互中優(yōu)化自適應(yīng)碼率的決策,從而提高用戶的觀看體驗(yàn)和qoe。
4、在視頻流媒體中,自適應(yīng)碼率(abr)是解決這些問題的有效方法,abr方法能夠根據(jù)當(dāng)前的網(wǎng)絡(luò)條件和設(shè)備性能動態(tài)調(diào)整視頻的碼率,以確保用戶獲得最佳的觀看體驗(yàn)。在實(shí)際應(yīng)用中,傳統(tǒng)啟發(fā)式的abr方法主要包括基于緩沖區(qū)(buffer-based)和基于網(wǎng)絡(luò)吞吐量的(rate-based)方法。buffer-based方法根據(jù)監(jiān)控緩沖區(qū)狀態(tài)來調(diào)整碼率,以最大化視頻質(zhì)量和緩沖利用率,但其對動態(tài)網(wǎng)絡(luò)環(huán)境響應(yīng)不足,可能導(dǎo)致qoe下降或者緩沖區(qū)溢出;rate-based方法通過預(yù)估網(wǎng)絡(luò)帶寬來動態(tài)調(diào)整碼率,以保證視頻傳輸?shù)牧鲿承裕雎粤丝蛻舳司彌_區(qū)的狀態(tài),導(dǎo)致性能不穩(wěn)定。
5、針對傳統(tǒng)啟發(fā)式方法的不足,在基于緩沖區(qū)和基于吞吐量的自適應(yīng)算法的研究基礎(chǔ)上,研究人員提出了一些基于機(jī)器學(xué)習(xí)的改進(jìn)方法。claeys[claeys?m,latre?s,famaeyj,et?al.design?and?evaluation?of?a?self-learning?http?adaptive?videostreaming?client[j].ieee?communications?letters,2014,18(4):716-719.]等提出了一種基于自適應(yīng)q學(xué)習(xí)的http自適應(yīng)流客戶端,與傳統(tǒng)的啟發(fā)式方法不同,該客戶端能夠動態(tài)學(xué)習(xí)與當(dāng)前網(wǎng)絡(luò)環(huán)境相對應(yīng)的最優(yōu)行為。chiariotti[chiariotti?f,d'aronco?s,tonil,et?al.online?learning?adaptation?strategy?for?dash?clients[c]//proceedingsof?the?7th?international?conference?on?multimedia?systems.2016:1-12.]等提出了基于強(qiáng)化學(xué)習(xí)的動態(tài)自適應(yīng)流(dash)客戶端邏輯,通過馬爾可夫決策過程(mdp)優(yōu)化選擇最佳表示,并通過并行學(xué)習(xí)技術(shù),確保學(xué)習(xí)快速而準(zhǔn)確的收斂。林[lin?h?d,shen?z?y,zhouh?k,et?al.knn-q?learning?algorithm?of?bitrate?adaptation?for?video?streamingover?http[c]//2020information?communication?technologies?conference(ictc).ieee,2020:302-306.]等結(jié)合了最近鄰(knn)算法與q學(xué)習(xí)算法,提出了一種新的knn-q學(xué)習(xí)算法,用于視頻流的無縫切換自適應(yīng)碼率。毛[mao?h,chen?s,dimmery?d,et?al.real-world?video?adaptation?with?reinforcement?learning.2020[2024-07-16].doi:10.48550/arxiv.2008.12858.]等人基于強(qiáng)化學(xué)習(xí)進(jìn)行自適應(yīng)碼率,利用貝葉斯優(yōu)化來最大化體驗(yàn)質(zhì)量(qoe),同時訓(xùn)練線性策略以減少視頻客戶端與模擬環(huán)境之間的延遲。然而,線性方法導(dǎo)致了算法性能的下降。以上算法均基于強(qiáng)化學(xué)習(xí)(rl),通過數(shù)據(jù)驅(qū)動方式優(yōu)化qoe性能,不依賴于預(yù)先設(shè)計(jì)的模型或環(huán)境假設(shè),逐漸學(xué)習(xí)最佳的自適應(yīng)碼率策略,性能顯著優(yōu)于傳統(tǒng)的啟發(fā)式方法。然而,這些基于rl的abr算法存在維度災(zāi)難和收斂緩慢的問題,難以在具有大狀態(tài)和動作空間的情況下保持高效表現(xiàn)。
6、近來,隨著深度學(xué)習(xí)技術(shù)在各領(lǐng)域的發(fā)展,有研究者將深度學(xué)習(xí)與強(qiáng)化學(xué)習(xí)結(jié)合,取得了顯著成果。如谷歌的deep?mind團(tuán)隊(duì)使用深度強(qiáng)化學(xué)習(xí)技術(shù)開發(fā)了alphago,并成為首個擊敗人類圍棋世界冠軍的人工智能程序,標(biāo)志著人工智能在復(fù)雜策略領(lǐng)域中的重大突破。后來,有研究者提出了基于深度強(qiáng)化學(xué)習(xí)(drl)的abr方法,pensieve[mao?h,netravalir,alizadeh?m.neural?adaptive?video?streaming?with?pensieve[c]//proceedings?ofthe?conference?of?the?acm?special?interest?group?on?data?communication.2017:197-210.]首次提出了使用drl的abr方法,作為目前基于drl的abr方法的基準(zhǔn),其采用a3c(asynchronous?advantage?actor-critic)方法,通過訓(xùn)練神經(jīng)網(wǎng)絡(luò)模型來進(jìn)行自適應(yīng)碼率,能夠通過模擬不同網(wǎng)絡(luò)環(huán)境和用戶行為,學(xué)習(xí)最優(yōu)的碼率選擇策略,具有較強(qiáng)的自適應(yīng)能力和智能化水平。但存在著訓(xùn)練不穩(wěn)定和不能請求最優(yōu)碼率等不足。d-dash[gadaletam,chiariotti?f,rossi?m,et?al.d-dash:a?deep?q-learning?framework?for?dashvideo?streaming[j].ieee?transactions?on?cognitive?communications?andnetworking,2017,3(4):703-718.]是一種使用deep?q-learning來實(shí)現(xiàn)abr的方法,其評估了不同的學(xué)習(xí)架構(gòu),包括前饋和循環(huán)深度神經(jīng)網(wǎng)絡(luò),并結(jié)合高級策略進(jìn)行性能評估。lash[lekharu?a,moulii?k?y,sur?a,et?al.deep?learning?based?prediction?model?foradaptive?video?streaming[c]//2020international?conference?on?communicationsystems&networks(comsnets).ieee,2020:152-159.]在pensieve方法的基礎(chǔ)上,通過引入lstm進(jìn)行了網(wǎng)絡(luò)結(jié)構(gòu)優(yōu)化,提升了方法性能,但存在基線函數(shù)學(xué)習(xí)不充分的問題,導(dǎo)致了較低的訓(xùn)練效率,目前,drl方法仍有很大的改進(jìn)空間。
技術(shù)實(shí)現(xiàn)思路
1、針對目前深度強(qiáng)化學(xué)習(xí)(drl)方法訓(xùn)練效率低、穩(wěn)定性不足和泛化能力不足等方面的技術(shù)問題,本發(fā)明提出一種基于改進(jìn)ppo和深度強(qiáng)化學(xué)習(xí)的自適應(yīng)碼率視頻流方法(improve?proximal?policy?optimization-deep?reinforcement?learning-adaptivebitrate,ippo-drl-abr),以采用雙重裁剪機(jī)制(dual?clipping)的近端策略優(yōu)化(proximal?policy?optimization,ppo)方法為訓(xùn)練框架,確保了策略更新的穩(wěn)定性并減少了崩潰風(fēng)險;采用lstm-sa網(wǎng)絡(luò)結(jié)構(gòu),融合長短期記憶網(wǎng)絡(luò)(lstm)和自注意力機(jī)制(self-attention)的學(xué)習(xí)能力,捕捉數(shù)據(jù)中的長短期和全局依賴關(guān)系,顯著提升自適應(yīng)碼率方法的訓(xùn)練效率、穩(wěn)定性和泛化能力。
2、為了達(dá)到上述目的,本發(fā)明的技術(shù)方案是這樣實(shí)現(xiàn)的:
3、一種基于改進(jìn)ppo和深度強(qiáng)化學(xué)習(xí)的自適應(yīng)碼率視頻流方法,包括以下步驟:
4、s1:收集數(shù)據(jù)集,將數(shù)據(jù)集劃分為訓(xùn)練集和測試集;
5、s2:定義策略,并構(gòu)建環(huán)境,基于策略構(gòu)建ippo-drl-abr模型,初始化模型參數(shù)并輸入訓(xùn)練集到ippo-drl-abr模型;
6、s3:基于ippo-drl-abr模型利用策略在環(huán)境中多次采樣,記錄軌跡數(shù)據(jù);
7、s4:基于軌跡數(shù)據(jù),利用采用雙重裁剪機(jī)制的ppo方法進(jìn)行策略更新;
8、s5:重復(fù)步驟s3到s4直到達(dá)到預(yù)定的訓(xùn)練周期或性能標(biāo)準(zhǔn),得到訓(xùn)練好的ippo-drl-abr模型;
9、s6:利用測試集對訓(xùn)練好的ippo-drl-abr模型進(jìn)行驗(yàn)證并輸出最優(yōu)碼率。
10、步驟s1所述數(shù)據(jù)集包括網(wǎng)絡(luò)軌跡數(shù)據(jù)集和視頻數(shù)據(jù),從數(shù)據(jù)集中隨機(jī)選取80%的樣本作為訓(xùn)練集,其余20%作為測試集。
11、步驟s2所述定義策略的方法為:定義策略函數(shù)π:π(st,ai)→[0,1],其中π(st,ai)表示策略函數(shù)π在每個時間步接收到環(huán)境狀態(tài)信息st下采取動作ai的動作概率,策略函數(shù)最終輸出所有動作概率分布π(st)={π(st,a1),π(st,a2),…};定義價值函數(shù)v=v(st),v(st)表示狀態(tài)價值;
12、步驟s2所述的構(gòu)建環(huán)境的方法為:定義網(wǎng)絡(luò)狀態(tài)和視頻播放信息:確定環(huán)境中需要的關(guān)鍵參數(shù);仿真視頻流媒體環(huán)境:構(gòu)建用于生成網(wǎng)絡(luò)狀態(tài)和視頻播放信息的仿真平臺;設(shè)計(jì)環(huán)境的反饋機(jī)制:設(shè)定環(huán)境返回的獎勵和新的環(huán)境狀態(tài)信息。
13、步驟s2所述的ippo-drl-abr模型的構(gòu)建方法為:構(gòu)建數(shù)據(jù)獲取模塊,將數(shù)據(jù)獲取模塊與智能體相連接,智能體包括策略網(wǎng)絡(luò)和價值網(wǎng)絡(luò),策略網(wǎng)絡(luò)和價值網(wǎng)絡(luò)均與數(shù)據(jù)獲取模塊相連接,策略網(wǎng)絡(luò)與環(huán)境相連接;環(huán)境接收智能體基于策略網(wǎng)絡(luò)選擇的動作,向智能體返回獎勵,并更新狀態(tài),環(huán)境與數(shù)據(jù)獲取模塊相連接,智能體采用結(jié)合自注意力機(jī)制和長短期記憶網(wǎng)絡(luò)的lstm-sa網(wǎng)絡(luò)和全連接網(wǎng)絡(luò)學(xué)習(xí)環(huán)境狀態(tài)信息的特征,進(jìn)行特征提?。?/p>
14、所述初始化模型參數(shù)的過程包括初始化策略網(wǎng)絡(luò)參數(shù)θ0和價值網(wǎng)絡(luò)參數(shù)φ0。
15、步驟s3所述的基于ippo-drl-abr模型利用策略在環(huán)境中多次采樣的方法為:在每個訓(xùn)練回合k開始時初始化環(huán)境;在每個訓(xùn)練回合k中的每個時間步t利用數(shù)據(jù)獲取模塊與環(huán)境交互收集環(huán)境狀態(tài)信息st,利用策略網(wǎng)絡(luò)和價值網(wǎng)絡(luò)對環(huán)境狀態(tài)信息進(jìn)行特征提取,輸出動作概率分布和狀態(tài)價值根據(jù)動作概率分布選擇其中一個動作at,根據(jù)動作at從環(huán)境獲取獎勵rt,數(shù)據(jù)獲取模塊在從環(huán)境獲取新的環(huán)境狀態(tài)信息st+1,記錄軌跡數(shù)據(jù)重復(fù)多個時間步進(jìn)行多次采樣,達(dá)到預(yù)定的時間步次數(shù)t,最終得到每個訓(xùn)練回合k的多次采樣后的軌跡數(shù)據(jù)dk;θk為策略網(wǎng)絡(luò)當(dāng)前訓(xùn)練回合的策略網(wǎng)絡(luò)參數(shù),φk為價值網(wǎng)絡(luò)當(dāng)前訓(xùn)練回合的價值網(wǎng)絡(luò)參數(shù)。
16、所述環(huán)境狀態(tài)信息st包括多個單一值類型的狀態(tài)參數(shù)和多個連續(xù)值類型的狀態(tài)參數(shù)。
17、所述利用策略網(wǎng)絡(luò)和價值網(wǎng)絡(luò)對環(huán)境狀態(tài)信息進(jìn)行特征提取的方法為:
18、策略網(wǎng)絡(luò)采用并行的m個全連接層分別對m個單一值類型的狀態(tài)參數(shù)進(jìn)行特征提取和采用并行的n個lstm-sa網(wǎng)絡(luò)分別對n個連續(xù)值類型的狀態(tài)參數(shù)進(jìn)行特征提取,將獲取到的m+n個特征提取結(jié)果進(jìn)行聚合操作,然后經(jīng)過全連接層和激活函數(shù),得到動作概率分布πθ(st);價值網(wǎng)絡(luò)采用并行的m個全連接層分別對m個單一值類型的狀態(tài)參數(shù)進(jìn)行特征提取和采用并行的n個lstm-sa網(wǎng)絡(luò)分別對n個連續(xù)值類型的狀態(tài)參數(shù)進(jìn)行特征提取,將獲取到的m+n個特征提取結(jié)果進(jìn)行聚合操作,然后經(jīng)過多個全連接層得到狀態(tài)價值vφ(st)。
19、所述lstm-sa網(wǎng)絡(luò)的計(jì)算過程為:將連續(xù)值類型的狀態(tài)參數(shù)輸入到lstm網(wǎng)絡(luò),在lstm-sa網(wǎng)絡(luò)的每個時間步依次經(jīng)過遺忘門、輸入門、更新記憶單元、輸出門和隱藏狀態(tài)更新,動態(tài)更新細(xì)胞狀態(tài)和隱藏狀態(tài);
20、遺忘門的計(jì)算過程為:ft=σ(wf·[ht-1,xt]+bf);
21、其中,σ是sigmoid函數(shù),wf是遺忘門的權(quán)重矩陣,bf是遺忘門的偏置,ht-1表示第t-1個時間步的隱藏狀態(tài),xt為在第t個時間步輸入的連續(xù)值類型的狀態(tài)參數(shù),[ht-1,xt]表示將前一個時間步的隱藏狀態(tài)和當(dāng)前時間步的輸入的連續(xù)值類型的狀態(tài)參數(shù)串聯(lián);
22、輸入門的計(jì)算過程為:it=σ(wi·[ht-1,xt]+bi);
23、其中,it表示輸入門的輸出,wi是輸入門的權(quán)重矩陣,bi是輸入門的偏置;
24、更新記憶單元的過程:
25、
26、其中,候選記憶單元狀態(tài),tanh()表示用于計(jì)算候選記憶單元狀態(tài)的激活函數(shù),wc是計(jì)算候選記憶單元狀態(tài)的權(quán)重矩陣,bc是計(jì)算候選記憶單元狀態(tài)的偏置項(xiàng)ct為更新后的記憶單元,⊙表示逐元素相乘;
27、輸出門的計(jì)算過程:ot=σ(wo·[ht-1,xt]+bo);
28、其中,ot表示輸出門的輸出,wo是輸出門的權(quán)重矩陣,bo是輸出門的偏置;
29、隱藏狀態(tài)更新過程為:ht=ot⊙tanh(ct);
30、其中,ht表示每個時間步最終的隱藏狀態(tài);
31、最終獲取連續(xù)值類型的狀態(tài)參數(shù)對應(yīng)的狀態(tài)序列h=h1,h2,…h(huán)i,…h(huán)j,…,ht,…,hn,n表示lstm網(wǎng)絡(luò)輸入的連續(xù)值類型的狀態(tài)參數(shù)的長度,hi、hi分別表示第i個時間步和第j個時間步的隱藏狀態(tài);
32、計(jì)算隱藏狀態(tài)序列h中的每個元素與其他元素之間的注意力權(quán)重,具體計(jì)算公式如下:
33、
34、其中,q(hi)和k(hj)分別表示通過查詢和鍵函數(shù)將隱藏狀態(tài)hi和隱藏狀態(tài)hj投影到查詢空間和鍵空間中的向量表示,dk表示查詢向量q(hi)的維度;
35、利用注意力權(quán)重對狀態(tài)序列h中的每個元素進(jìn)行加權(quán)求和,得到加權(quán)表示:
36、
37、其中,v(hj)表示通過值函數(shù)將隱藏狀態(tài)hj投影到值空間中的向量表示;
38、最后,將加權(quán)求和得到的加權(quán)表示作為lstm-sa網(wǎng)絡(luò)的特征提取結(jié)果。
39、步驟s4所述的利用采用雙重裁剪機(jī)制的ppo方法進(jìn)行策略更新的方法為:根據(jù)收集到的軌跡數(shù)據(jù)dk計(jì)算每個時間步的累積折扣獎勵根據(jù)每個時間步的累積折扣獎勵和每個時間步的狀態(tài)價值計(jì)算每個時間步的優(yōu)勢估計(jì)值通過引入修正系數(shù)和利用雙優(yōu)勢估計(jì)的雙重裁剪最大限度實(shí)現(xiàn)ppo目標(biāo)函數(shù),更新策略網(wǎng)絡(luò)參數(shù);通過均方誤差回歸擬合每個時間步的價值函數(shù)更新價值函數(shù)。
40、所述累積折扣獎勵的計(jì)算過程為:
41、
42、其中,γ是折扣因子,rt+b是第t+b個時間步的獎勵;
43、所述優(yōu)勢估計(jì)值
44、所述通過引入修正系數(shù)和利用雙優(yōu)勢估計(jì)的雙重裁剪最大限度實(shí)現(xiàn)ppo目標(biāo)函數(shù)的方法為:
45、
46、其中,arg?max表示使目標(biāo)函數(shù)最大化,rt(θk)為修正系數(shù),clip()是一個剪輯函數(shù),ε是一個小的超參數(shù),c表示用于限定修剪下限的大于1的實(shí)數(shù);
47、通過均方誤差回歸擬合每個時間步的價值函數(shù)vφk的方法為:
48、
49、arg?min表示使目標(biāo)函數(shù)最小化。
50、本發(fā)明的有益效果為:
51、本發(fā)明在drl系統(tǒng)中,采用了改進(jìn)的近端策略優(yōu)化(ippo)方法進(jìn)行策略更新,顯著提升了abr方法的性能。為了解決ppo方法在優(yōu)勢函數(shù)為負(fù)時出現(xiàn)的梯度選擇偏差問題,即梯度絕對值越大越容易被選擇,本發(fā)明針對自適應(yīng)碼率應(yīng)用,引入了雙重裁剪機(jī)制進(jìn)行優(yōu)化。這一方法有效減少了策略更新過程中崩潰的風(fēng)險,進(jìn)一步提高了abr方法的訓(xùn)練穩(wěn)定性和優(yōu)化性能。
52、針對abr應(yīng)用場景,本發(fā)明考慮到網(wǎng)絡(luò)吞吐量、緩沖區(qū)等狀態(tài)參數(shù)的多樣性,根據(jù)數(shù)據(jù)類型個性化設(shè)計(jì)了更適合的深度神經(jīng)網(wǎng)絡(luò)結(jié)構(gòu)(lstm-sa),提升了對不同類型數(shù)據(jù)的特征提取和學(xué)習(xí)能力。通過優(yōu)化網(wǎng)絡(luò)訓(xùn)練策略,能夠更好地?cái)M合drl中的價值函數(shù)和策略函數(shù),從而實(shí)現(xiàn)更優(yōu)的策略學(xué)習(xí)。