張湘婷,張福鼎
(江蘇第二師范學院 物理與電子工程學院,江蘇 南京 210013)
傳統(tǒng)通信系統(tǒng)容易造成系統(tǒng)資源消耗以及過程時間損耗,隨著移動通信設(shè)備廣泛使用和新媒體業(yè)務(wù)的爆炸式增長需求,傳輸速率低及頻譜資源不足問題逐漸暴露,對未來無線通信的發(fā)展提出了一個很大的挑戰(zhàn)[1]。D2D技術(shù)直接通信的質(zhì)量較高,系統(tǒng)吞吐量得到大大提升;由于通信過程中基站不被使用,當發(fā)生一些自然災(zāi)害,即使基站被毀壞導致通信系統(tǒng)無法實現(xiàn)時,緊急性地通信需求就可以寄托于多跳D2D組網(wǎng)技術(shù),保障信息傳遞的及時性[2]。D2D通信一般用于設(shè)備之間短距離的信息傳遞,傳播過程中的時間延遲會降低[3]。并且由于D2D通信不涉及到其他網(wǎng)絡(luò)設(shè)備,傳輸過程中的延遲和處理過程產(chǎn)生的延遲被大大降低。傳統(tǒng)的通信網(wǎng)絡(luò)中,通信必須依賴基站的中繼才能完成設(shè)備的通信。而D2D通信不需要經(jīng)過基站,減輕了基站和其他網(wǎng)絡(luò)設(shè)備的傳輸任務(wù)。
因此,在蜂窩小區(qū)內(nèi)建立端到端的直接鏈路,可以獲得高傳輸速率、低傳輸時延等,而且系統(tǒng)吞吐量得到了提升[4]。商場里的一些促銷信息、商品折扣信息可以通過D2D通信技術(shù)準確地發(fā)布到目標群體客戶手中。此外,家庭成員之間分享圖片和短視頻時或者進行其他近距離的網(wǎng)絡(luò)社交時,也可以依賴于這種技術(shù),減少內(nèi)容發(fā)送次數(shù),從而減輕基站的負載[5]。車輛網(wǎng)絡(luò)中,短距離車輛之間可以交換速度信息、路況信息等,利用D2D通信技術(shù)降低時延,車輛駕駛員的生命也能得到一定程度的保障。
復(fù)雜多變的網(wǎng)絡(luò)環(huán)境也使得傳統(tǒng)的資源分配算法效用低下。目前,大多對于D2D通信的研究還是針對靜態(tài)環(huán)境下的資源分配,并且在假設(shè)用戶信道、狀態(tài)信息已知的情況下進行資源分配的研究。但傳統(tǒng)算法卻不具備這種利用歷史經(jīng)驗進行資源分配的能力。強化學習非常適應(yīng)在陌生的環(huán)境或者狀態(tài)等信息未知的情況下,由系統(tǒng)在交互過程中,自己做出更新和調(diào)整,自發(fā)地學習過往經(jīng)驗,強化系統(tǒng),最終得到利益最大化的策略。因為其靈活性和自由性,強化學習同時被應(yīng)用到未來無線通信領(lǐng)域中。
Q學習過程簡單描述就是學習者從環(huán)境中獲取狀態(tài)和執(zhí)行上一動作獲得的回報值,依據(jù)策略選擇后一時刻的動作[6]。深度Q學習算法針對的是環(huán)境狀態(tài)連續(xù)的情況下,結(jié)合神經(jīng)網(wǎng)絡(luò)技術(shù)無限趨近值函數(shù),因為此時Q值表會失去作用,可以通過函數(shù)擬合的方法對值函數(shù)直接學習,從而使得Q值表更新被轉(zhuǎn)化成函數(shù)擬合問題,來解決狀態(tài)連續(xù)的問題。
強化學習算法利用歷史先驗信息調(diào)整自我,是一種靈活性、自適應(yīng)性很強的算法,尤其是針對動態(tài)環(huán)境,其優(yōu)點更為突顯,不需要事先知道數(shù)學模型,可以通過自身“試錯”獲得反饋,從而更新策略,優(yōu)化系統(tǒng),使得智能體獲得最優(yōu)的動作[7]。因此,只要通過多次與環(huán)境的試探過程,系統(tǒng)就可以獲得在每一個狀態(tài)下的最佳動作。在通信領(lǐng)域,利用Q學習算法,與傳感器中的決策機制相結(jié)合,可以適應(yīng)動態(tài)環(huán)境;在異構(gòu)網(wǎng)絡(luò)中,利用Q學習算法,完成無線資源的配置。
如圖1所示,首先提出了一種最小模型(簡化框架),學習者(Agent)從環(huán)境中獲取環(huán)境狀態(tài)參數(shù)化模型,依據(jù)學習策略選擇動作執(zhí)行,環(huán)境同時變化到下一環(huán)境狀態(tài),并且給出當前動作的獎勵信號。智能體探測環(huán)境狀態(tài)并且結(jié)合獎勵信號,選擇需要執(zhí)行的動作可以看出,每一次選擇動作都會對環(huán)境狀態(tài)和獎勵信號產(chǎn)生變化,從而導致最終獎勵值的變動。簡而言之,就是通過學習使得選擇某個特定動作的概率最大化,而這個特定動作執(zhí)行帶來的則是系統(tǒng)利益最大化,所以智能體與環(huán)境的交互簡單來說就是Agent學習一種行為策略。

圖1 系統(tǒng)整體框架
一次完整的業(yè)務(wù)到達,通過策略體系,系統(tǒng)分配通道和功率的過程可以用如下的框圖來描述。在蜂窩小區(qū)中,D2D用戶對A和B相距很近,用戶設(shè)備A想要傳輸一個數(shù)據(jù)給用戶B,就需要復(fù)用蜂窩資源,在蜂窩小區(qū)中同時存在一個基站,負責控制分配資源;收到用戶A的業(yè)務(wù)請求之后,基站根據(jù)設(shè)計的算法獲得的策略信息,給用戶分配合適的信道,以保證利益最大化。用戶A和用戶B在數(shù)據(jù)傳輸過程中不再需要通過基站中繼,通過復(fù)用資源實現(xiàn)交互傳輸。基站分配好信道之后,用戶A、B之間開始通信,完成此次的數(shù)據(jù)傳輸。在合理的算法控制下,這種通信方式既不會對蜂窩小區(qū)中的原有蜂窩用戶造成太大的干擾,還能節(jié)省資源,提高傳輸速率。
本文提出的資源分配系統(tǒng)運行的流程如圖2所示,分為幾個主要的模塊,如蜂窩小區(qū)內(nèi)需要傳遞數(shù)據(jù)的用戶設(shè)備、負責接收業(yè)務(wù)請求的接收模塊以及算法模塊。核心模塊是存放在基站中的算法系統(tǒng),在強化學習的基礎(chǔ)上實現(xiàn)設(shè)計,算法主要分成兩部分,一部分是占用信道和發(fā)射功率的調(diào)配,另一部分是調(diào)度控制,兩個模塊的共同作用下實現(xiàn)設(shè)備之間的傳輸交互。將引入D2D通信的蜂窩系統(tǒng)進行數(shù)學建模。馬爾科夫決策過程通常包含4個要素:(1)有限的狀態(tài)集集合,通常用S表示;(2)有限的動作集合,用A來表示;(3)執(zhí)行動作的回報值集合,可以用R表示;(4)當前狀態(tài)執(zhí)行動作進入下一狀態(tài)的概率值的集合,用P來表示。強化學習的原理是找到一種策略φ,表示選擇某個動作來執(zhí)行的概率;通過策略a=φ(x),學習者可以在任意的狀態(tài)x下找到對應(yīng)的動作,使得其獲得最大獎賞值。在非正交模式下,系統(tǒng)內(nèi)提供多條通信通道,并且每個通道上都有不同的功率等級可供選擇。智能體的任務(wù)目標是在每個用戶的業(yè)務(wù)請求到達系統(tǒng)時,系統(tǒng)能夠通過在線學習算法分配合適的信道和功率等級,以使得長期回報最大化。

圖2 通信資源分配算法流程
基于Q學習的資源分配算法,學習者通過與環(huán)境交互對環(huán)境狀態(tài)產(chǎn)生影響;通過把這種造成的影響進行量化,可以作為環(huán)境對執(zhí)行動作后反饋的回報值。Agent探測環(huán)境,結(jié)合反饋值信息,采取動作,從而得到新的反饋值,目的是最大化智能體執(zhí)行動作得到最大獎勵值的概率,直到收斂。因此,智能體執(zhí)行當前動作除了受到當前狀態(tài)影響,還與前一時刻執(zhí)行動作的回報值有關(guān)。在動作集合A和狀態(tài)集合S下,所有的動作a∈A,所有的環(huán)境狀態(tài)s∈S,Q(s,a)表示在狀態(tài)s下采取動作a獲得回報的期望。
Q學習實際上是通過交互獲得值建立Q值表,系統(tǒng)根據(jù)Q值來選擇動作以使得利益最大化,具體實現(xiàn)步驟如下:
(1)初始化環(huán)境狀態(tài)、動作行為、Q值表;
(2)探測環(huán)境狀態(tài)選擇執(zhí)行動作;
(3)環(huán)境反饋回報值,更新Q值表;
(4)環(huán)境進入下一狀態(tài),持續(xù)重復(fù)以上動作,直到收斂。
在t時刻,當任務(wù)開始時,系統(tǒng)內(nèi)提供有多條信道并且每條信道上都有等級不同的功率,智能體(Agent)需要根據(jù)相關(guān)分配策略對每一個D2D用戶和蜂窩用戶進行信道和功率等級的分配。首先需要將環(huán)境狀態(tài)模型、Q值表初始化,當用戶帶著業(yè)務(wù)請求到達智能體(Agent)時,智能體探測環(huán)境狀態(tài)(St),選取執(zhí)行動作(At)(即分配信道和功率等級),并且接收獎勵值(Rt+1);智能體繼續(xù)探測下一時刻環(huán)境狀態(tài)(St+1),結(jié)合獎勵值(Rt+1)和算法公式更新Q值;判斷此時是否滿足結(jié)束條件,若是,則結(jié)束;若否,則t=t+1。
設(shè)定在一個小區(qū)內(nèi)存在兩個蜂窩用戶B1、B2,兩個D2D用戶D1、D2,用戶業(yè)務(wù)到達服從泊松分布,為了對比Q學習下用戶通信的特點,在仿真時加上隨機分配方法和以最大發(fā)射功率分配方法作對比。在業(yè)務(wù)到達率相同的情況下,Q學習資源分配算法明顯優(yōu)于其他另外兩種算法,以最大發(fā)射功率的分配方法來說,結(jié)果最不理想。隨著業(yè)務(wù)到達率降低,也就是系統(tǒng)不忙碌的情況下,用戶在Q學習的方法下獲得的平均信道容量呈現(xiàn)出明顯升高的趨勢,主要也是因為需要同時處理業(yè)務(wù)的用戶減少,干擾也減少。而隨機分配方法在這個時候就沒有什么意義,無論業(yè)務(wù)到達情況如何,因為系統(tǒng)隨機分配資源,所以用戶獲得的平均信道容量沒有什么可參考的變化趨勢。測試的是當業(yè)務(wù)持續(xù)時間不同的情況下,系統(tǒng)的平均信道容量。ε受到業(yè)務(wù)進行時間的影響,業(yè)務(wù)持續(xù)時間越短,ε也就越大。因為業(yè)務(wù)持續(xù)時間短,系統(tǒng)完成業(yè)務(wù)的效率就會相對來說更高,如此一來,在同一時刻需要處理的用戶業(yè)務(wù)請求就會減少,系統(tǒng)就可以選擇功率等級高的發(fā)射功率來分配,從而也能滿足降低干擾、緩解資源匱乏的目的。
本文提出一種基于強化學習的通信資源分配系統(tǒng),將Q學習引入分配算法中,通過在線學習構(gòu)建Q值表,使得系統(tǒng)能夠進行合理地資源分配,對架構(gòu)的蜂窩小區(qū)內(nèi)的用戶進行資源分配,為小區(qū)內(nèi)的每一位用戶分配信道和功率等級,減小用戶之間的干擾,使得系統(tǒng)平均信道容量最大化。通過仿真,可以發(fā)現(xiàn)文中提到的資源分配系統(tǒng)確實可以在一定程度上解決蜂窩小區(qū)內(nèi)的干擾問題,同時也為小區(qū)內(nèi)各用戶的通信資源分配提供了一種參考方案。除此之外,文中提到的Q學習算法,適用于環(huán)境狀態(tài)比較理想化的模型。在實際情況下,如果環(huán)境狀態(tài)比較復(fù)雜時,文中的方法相對來說就有些低效,結(jié)合神經(jīng)網(wǎng)絡(luò)的方法或許可以使得算法更簡便。