劉樹(shù)培
(南京郵電大學(xué)通信與信息工程學(xué)院,江蘇 南京 210003)
非正交多址(NOMA:Non-orthogonal multiple access)是一種有著廣泛應(yīng)用前景的技術(shù)。NOMA的基本思想是讓多個(gè)用戶復(fù)用同一頻帶資源,主動(dòng)引入干擾信息,在接收端使用串行干擾刪除(SIC:Successive interference cancelation)實(shí)現(xiàn)正確解調(diào)。具有高容量、低延遲、支持大規(guī)模連接等技術(shù)特點(diǎn)。在對(duì)NOMA系統(tǒng)的研究中,資源分配問(wèn)題是其中的重要一環(huán)。資源管理策略包括功率控制、信道分配、用戶聚類、用戶調(diào)度、速率控制等。通過(guò)適當(dāng)?shù)馁Y源管理和利用功率域中的用戶多樣性,可以協(xié)調(diào)NOMA用戶之間的干擾,從而提升NOMA網(wǎng)絡(luò)的性能[1]。
在文獻(xiàn)[2]中,作者針對(duì)NOMA下行鏈路的場(chǎng)景,在考慮用戶服務(wù)質(zhì)量和最大發(fā)射功率的前提下,研究了子信道分配和功率分配問(wèn)題。文獻(xiàn)[3]研究了上行鏈路NOMA網(wǎng)絡(luò)的接入時(shí)延最小化問(wèn)題。作者將其分為2個(gè)子問(wèn)題,即用戶調(diào)度問(wèn)題和功率控制問(wèn)題,并提出了一種迭代算法來(lái)解決該問(wèn)題。在文獻(xiàn)和文獻(xiàn)中,作者將子信道分配和功率分配聯(lián)合考慮,但這種聯(lián)合資源分配問(wèn)題通常是NP-hard的,采用傳統(tǒng)方法優(yōu)化很難得到最優(yōu)解。
由于傳統(tǒng)方法依賴于對(duì)系統(tǒng)的建模,且計(jì)算復(fù)雜度較高。而機(jī)器學(xué)習(xí)在解決這些復(fù)雜的數(shù)學(xué)問(wèn)題時(shí)表現(xiàn)出了巨大的優(yōu)勢(shì)。強(qiáng)化學(xué)習(xí)(RL: Reinforcement learning)作為機(jī)器學(xué)習(xí)的一個(gè)主要分支,可以作為實(shí)時(shí)決策任務(wù)的選項(xiàng)之一。在NOMA系統(tǒng)中,強(qiáng)化學(xué)習(xí)算法已被用于子信道分配、用戶聚類及功率分配等資源分配方法上[6-8]。
深度強(qiáng)化學(xué)習(xí)(DRL:Deep reinforcement learning)作為深度學(xué)習(xí)和強(qiáng)化學(xué)習(xí)的結(jié)合,可以直接從高維原始數(shù)據(jù)學(xué)習(xí)控制策略提供更快的收斂速度,對(duì)于具有多狀態(tài)和動(dòng)作空間的系統(tǒng)更加有效。而深度Q網(wǎng)絡(luò)(DQN:Deep q-network)[9]是DRL的典型算法之一,它將神經(jīng)網(wǎng)絡(luò)和Q學(xué)習(xí)結(jié)合起來(lái),通過(guò)經(jīng)驗(yàn)回放和目標(biāo)網(wǎng)絡(luò)來(lái)解決收斂和穩(wěn)定問(wèn)題。深度Q學(xué)習(xí)已經(jīng)在許多研究中得到應(yīng)用,例如多用戶蜂窩網(wǎng)絡(luò)中的功率控制[10],多小區(qū)的功率分配[11],以及物聯(lián)網(wǎng)系統(tǒng)[12-13]。
本文針對(duì)NOMA系統(tǒng)下資源配置問(wèn)題,以優(yōu)化系統(tǒng)最大和速率為目標(biāo)展開(kāi)研究。本文將該問(wèn)題分解為2個(gè)子問(wèn)題分步求解。首先根據(jù)信道條件將用戶分配至不同的子信道,然后再采用DQN算法,根據(jù)用戶信道狀態(tài)信息進(jìn)行功率分配。通過(guò)仿真分析,基于DQN的功率分配方案可以得到較高的系統(tǒng)和速率。
圖1 系統(tǒng)模型
系統(tǒng)總帶寬為B,將其均分為N個(gè)子信道,每個(gè)子信道的帶寬為Bs=B/N。用Sm,n表示子信道的分配索引。當(dāng)用戶m分配在子信道n上時(shí),Sm,n=1;否則,Sm,n=0。用pm,n表示第n個(gè)子信道上用戶m的分配功率。由于NOMA系統(tǒng)中多用戶可復(fù)用同一資源塊,設(shè)每個(gè)子信道上的最大用戶數(shù)為M。則第n個(gè)子信道上的傳輸信號(hào)為:
(1)
用gm,n表示子信道n上用戶m的信道增益。則基站接收端,接收信號(hào)的表達(dá)式為:
(2)
根據(jù)NOMA原理,在接收端采用串行干擾刪除技術(shù)(SIC),基站接收多個(gè)不同用戶的疊加信號(hào),將其按照一定的順序解調(diào)出來(lái)。在上行鏈路中,最優(yōu)的SIC解碼順序應(yīng)該是信道增益的降序[14]。因?yàn)榫哂休^弱信道增益的設(shè)備不會(huì)對(duì)具有較強(qiáng)信道增益的設(shè)備造成干擾。對(duì)于子信道n中的用戶m,信干噪比可表示為:
(3)
根據(jù)香農(nóng)定理,對(duì)應(yīng)速率為:
Rm,n=Bslog (1+SINR)
(4)
子信道n的和速率為:
(5)
系統(tǒng)的和速率為:
(6)
由上述公式可以看出,系統(tǒng)的和速率和子信道分配、用戶的功率分配相關(guān)。因此,本文研究的是在上述場(chǎng)景下使系統(tǒng)的和速率最大化的問(wèn)題,該優(yōu)化問(wèn)題可建模為:
(7)
其中,Pmax是用戶的最大發(fā)射功率,Rmin是用戶的最小數(shù)據(jù)速率。約束條件C1確保每個(gè)用戶的發(fā)射功率不超過(guò)Pmax。約束條件C2保證每個(gè)用戶的速率不低于最小信號(hào)速率。
由于在上述優(yōu)化問(wèn)題中,直接找出全局最優(yōu)解的難度較高。本文將其分成2個(gè)子問(wèn)題:子信道分配和功率分配,逐步去求解該優(yōu)化問(wèn)題。
在上行鏈路NOMA系統(tǒng)中,為了在基站接收端進(jìn)行SIC,需要保持接收信號(hào)的差異性。而在同一子信道內(nèi),用戶的信道增益區(qū)別對(duì)于最小化簇內(nèi)干擾也至關(guān)重要。用戶間信道增益差異越大,對(duì)系統(tǒng)性能的提升也越大。為減少接收端SIC解調(diào)的復(fù)雜度,在本文的分配方法中,每個(gè)子信道內(nèi)將分配2個(gè)用戶。具體步驟如下。
子信道分配算法偽代碼
步驟1:輸入總用戶數(shù)K,組A={},組B={}。
步驟2:將K個(gè)用按信道增益大小排序。
G=sort(K)={g1,g2……gK}
步驟3:如果用戶數(shù)K為偶數(shù)。
A={g1,g2……gK/2}
子信道數(shù)為K/2,具體分配為:
……
民間還成立有毛主席像章收藏研究會(huì),總部設(shè)在上海。李建明感慨,當(dāng)時(shí)那些收藏家們大都五六十歲了,自己還年輕。如今自己60多歲了,他們已經(jīng)步入暮年。去年李建明去北京參加一個(gè)紅色收藏會(huì)議,見(jiàn)到幾位以前未曾謀面的老朋友,其中有位叫黃淼鑫,送他一本《追夢(mèng)——毛主席像章收藏31年》。
SK/2={gK/2,gK}
步驟4:如果用戶數(shù)為奇數(shù)。
G=G-g(K+1)/2
步驟5:重復(fù)上述步驟3。
對(duì)于上行鏈路的NOMA系統(tǒng)資源分配,首先基于上述的子信道分配確定分配決策,再通過(guò)深度強(qiáng)化學(xué)習(xí)去確定用戶的功率分配。在明確具體的步驟之前,先簡(jiǎn)要闡述強(qiáng)化學(xué)習(xí)的理論。
S(狀態(tài)空間):在功率分配問(wèn)題中,將用戶信號(hào)的信噪比看做狀態(tài)空間,信噪比r同用戶發(fā)射功率p、信道增益g等相關(guān),因此,狀態(tài)空間S可表示為:
S={r1,r2……rK}
(8)
A(動(dòng)作空間):在NOMA功率分配中,將對(duì)用戶發(fā)射功率的調(diào)整看做是動(dòng)作空間,可表示為:
A={-1,0,+1}
(9)
-1代表減少用戶的發(fā)射功率,+1代表增加用戶的發(fā)射功率,0表示維持不變。
Re(獎(jiǎng)勵(lì)):Re表示在狀態(tài)s下采取動(dòng)作a得到獎(jiǎng)勵(lì),在本文中,將Re設(shè)為系統(tǒng)的優(yōu)化目標(biāo)和速率:
(10)
(11)
Q學(xué)習(xí)(Q-learning)算法是一種時(shí)間差分算法。狀態(tài)-行為值函數(shù)(Q函數(shù))表明智能體遵循策略π在某一狀態(tài)所執(zhí)行的特定行為的最佳程度。Q函數(shù)定義為:
Qπ(s,a)=Eπ[Rt|st=s,at=a]
(12)
表示從狀態(tài)s開(kāi)始采取動(dòng)作a所獲得的期望回報(bào)。其中Rt表示所獲得的回報(bào)獎(jiǎng)勵(lì)總和:
(13)
γ為折扣因子,表示對(duì)于未來(lái)獎(jiǎng)勵(lì)和即時(shí)獎(jiǎng)勵(lì)的重要性。γ取值位于0~1。
在本文的Q學(xué)習(xí)算法中,首先由系統(tǒng)環(huán)境獲得狀態(tài)s,并初始化Q函數(shù);再根據(jù)ε貪婪策略在狀態(tài)s下采取動(dòng)作a,轉(zhuǎn)移到新的狀態(tài)s′,獲取獎(jiǎng)勵(lì)r。根據(jù)下列方程更新Q值,將其存入Q值表中。其中α為學(xué)習(xí)速率:
Q(s,a)=Q(s,a)+α(r+γmaxQ(s′,a′)-Q(s,a))
(14)
重復(fù)上述步驟若干次,直到迭代完成。
在具有多維狀態(tài)時(shí),要遍歷每個(gè)狀態(tài)下的行為會(huì)花費(fèi)大量時(shí)間,因此采用一個(gè)權(quán)重為θ的神經(jīng)網(wǎng)絡(luò)來(lái)近似每個(gè)狀態(tài)下所有可能的Q值,即將該網(wǎng)絡(luò)作為函數(shù)逼近器來(lái)逼近Q函數(shù),并通過(guò)梯度下降來(lái)最小化損失函數(shù):
Loss(θ)=((r+γmaxQ(s′,a′,θ′)-Q(s,a,θ))2
(15)
在本課題中,對(duì)用戶進(jìn)行子信道分配后,將其狀態(tài)空間輸入到DQN,采用ε貪婪策略來(lái)選擇動(dòng)作:以概率ε在動(dòng)作空間內(nèi)選擇一個(gè)隨機(jī)動(dòng)作,以概率1-ε選擇具有最大Q值的動(dòng)作a:
a=argmax(Q(s,a,θ))
(16)
在選擇完動(dòng)作后,在狀態(tài)s下執(zhí)行該行為,然后轉(zhuǎn)移到新的狀態(tài)s′,并獲得獎(jiǎng)勵(lì)r。上述信息〈s,a,r,s′〉將被保存至經(jīng)驗(yàn)回放池中。這些存儲(chǔ)信息可被用來(lái)訓(xùn)練DQN。接下來(lái),從經(jīng)驗(yàn)回放池中隨機(jī)采樣一批轉(zhuǎn)移信息,并計(jì)算損失函數(shù)Loss(θ)。由于連續(xù)的〈s,a,r,s′〉信息間是相關(guān)聯(lián)的,這些隨機(jī)采樣的訓(xùn)練樣本將會(huì)減少信息之間的關(guān)聯(lián)性,并有助于降低神經(jīng)網(wǎng)絡(luò)過(guò)擬合。
通過(guò)隨機(jī)選擇的訓(xùn)練樣本,可以得到由目標(biāo)網(wǎng)絡(luò)生成的Q值:
Qt=((r+γmaxQ(s′,a′,θ′))2
(17)
其中,目標(biāo)網(wǎng)絡(luò)的權(quán)重為θ′。用于預(yù)測(cè)Q值的實(shí)際Q網(wǎng)絡(luò)可通過(guò)梯度下降來(lái)學(xué)習(xí)正確的權(quán)重。滯后若干時(shí)間步后,從實(shí)際Q網(wǎng)絡(luò)中復(fù)制權(quán)重θ來(lái)更新目標(biāo)Q網(wǎng)絡(luò)的權(quán)重θ′,這樣可使訓(xùn)練過(guò)程進(jìn)一步穩(wěn)定。如圖2所示。
圖2 DQN主要流程圖
在本節(jié)中,通過(guò)仿真結(jié)果來(lái)評(píng)估上行鏈路NOMA系統(tǒng)中深度強(qiáng)化學(xué)習(xí)算法的有效性。基站位于小區(qū)中心,用戶隨機(jī)分布在小區(qū)內(nèi)。具體參數(shù)設(shè)置如表1所示。此次仿真在Python3.6上用Tensorflow1.5完成。
表1 仿真參數(shù)設(shè)置
圖3對(duì)比了DQN和Q-learning算法的收斂速度和平均和速率??梢钥闯鯠QN相較于Q-learning算法更加穩(wěn)定,相同迭代條件內(nèi)且所能達(dá)到的平均和速率更大,收斂速度更快。這是因?yàn)榛谏窠?jīng)網(wǎng)絡(luò)的DQN算法搜索更快,且在狀態(tài)數(shù)過(guò)多時(shí),不容易陷入局部最優(yōu)。
圖3 算法的平均和速率比較
圖4對(duì)比了不同發(fā)射功率下DQN,Q-learning以及固定功率分配算法(FPA :Fixed power allocation)的平均和速率。當(dāng)用戶設(shè)備采用FPA算法進(jìn)行功率分配時(shí),可獲得略優(yōu)于Q-learning算法的平均和速率;但FPA始終采用最大發(fā)射功率,會(huì)導(dǎo)致較高的能量損耗;而DQN由于收斂較快,始終能達(dá)到較高的和速率,并且使功率動(dòng)態(tài)分配。
圖4 不同功率限制下和速率比較
圖5對(duì)比了在不同學(xué)習(xí)速率下的DQN損失函數(shù)的收斂情況。學(xué)習(xí)速率過(guò)大會(huì)導(dǎo)致函數(shù)震蕩,迭代過(guò)快;學(xué)習(xí)速率過(guò)小則會(huì)使函數(shù)收斂過(guò)慢。從圖5中可以看出,當(dāng)學(xué)習(xí)速率(learning rate)設(shè)置為0.01時(shí),DQN的收斂更加穩(wěn)定。
圖5 不同學(xué)習(xí)速率下的DQN損失函數(shù)
本文主要研究了上行鏈路NOMA系統(tǒng)資源分配問(wèn)題,通過(guò)子信道分配和基于信道條件的DQN功率分配算法,找到較優(yōu)的功率分配方案,實(shí)現(xiàn)了最大化系統(tǒng)和速率的目標(biāo)。仿真結(jié)果顯示:本文提出的Q-learning算法和DQN具備較快的收斂特性。與其他方法相比,DQN算法可以實(shí)現(xiàn)更高的和速率,表現(xiàn)出了更好的性能。