朱 軍,楊 軍,李 凱,于文欣
(1.安徽大學(xué) 電子信息工程學(xué)院,安徽 合肥 230601;2.上??萍即髮W(xué),上海 201210;3.華為上海研究所,上海 201206)
隨著5G 的快速發(fā)展,大規(guī)模多輸入多輸出(Massive Multiple-Input Multiple-Output,Massive MIMO)作為其關(guān)鍵技術(shù)得到廣泛應(yīng)用[1,2],但在信道特征獲取的過程中,由于MIMO 網(wǎng)絡(luò)復(fù)雜度高,導(dǎo)致生成信道矩陣的計(jì)算量和時(shí)間開銷非常大。因此,為了解決這類問題,神經(jīng)網(wǎng)絡(luò)成為研究焦點(diǎn)[3,4]。
基于卡塔爾首都多哈市某地區(qū)的三維地圖生成的真實(shí)射線追蹤數(shù)據(jù)及5G 無(wú)線仿真平臺(tái)(白盒系統(tǒng))[5],計(jì)算得到用戶柵格級(jí)大尺度信道幅值,在利用神經(jīng)網(wǎng)絡(luò)對(duì)其進(jìn)行學(xué)習(xí)預(yù)測(cè)時(shí),發(fā)現(xiàn)較多預(yù)測(cè)用戶的預(yù)測(cè)誤差較大。通過觀察射線數(shù)據(jù)樣本,發(fā)現(xiàn)正是因?yàn)檫@些預(yù)測(cè)用戶分布在原始射線數(shù)據(jù)樣本的缺失部分,才導(dǎo)致了預(yù)測(cè)誤差較大。
針對(duì)上述問題,鑒于條件變分自編碼器[6,7](Conditional Variational Auto-Encoder,CVAE) 的樣本生成能力,提出基于CVAE 的射線樣本生成算法。在保證神經(jīng)網(wǎng)絡(luò)大幅度降低得到信道幅值的時(shí)間開銷的同時(shí),通過CVAE 生成并增添缺失的射線數(shù)據(jù)樣本,可很好地減少預(yù)測(cè)誤差較大的用戶數(shù)量并降低預(yù)測(cè)誤差。
Massive MIMO 系統(tǒng)的信道模型為3GPPTR 38.901 定義的3D-UMa 模型[8]。該模型包含了基站和用戶兩端離開角和到達(dá)角的3 維特性。射線追蹤模型輸出的是基站和用戶之間傳播射線的起點(diǎn)、終點(diǎn)、反射點(diǎn)的3 維坐標(biāo),以及射線的離開角、到達(dá)角、大尺度路損和時(shí)延等參數(shù),這些參數(shù)可以描述Massive MIMO 信道的大尺度傳播特征。
使用的神經(jīng)網(wǎng)絡(luò)模型為文獻(xiàn)[2]中的逆向傳播(Back Propagation,BP)神經(jīng)網(wǎng)絡(luò)。神經(jīng)網(wǎng)絡(luò)的輸入數(shù)據(jù)采用的是卡塔爾多哈市某地區(qū)的3 維地圖生成的射線追蹤數(shù)據(jù)中射線的離開角、到達(dá)角的傳播時(shí)延,輸入的量化區(qū)間大小為18°,4 個(gè)角度分量中水平方向離開角(Azimuth angle Of Departure,AOD)和水平方向到達(dá)角(Azimuth angle Of Arrival,AOA)的角度范圍為[-180°,180°],分別可形成20 個(gè)量化區(qū)間,垂直方向離開角(Zenith angle Of Departure,ZOD)和垂直方向到達(dá)角(Zenith angle Of Arrival,ZOA)的角度范圍為[0°,180°],分別可形成10 個(gè)量化區(qū)間,則每個(gè)用戶輸入向量共有60 個(gè)量化區(qū)間;輸出數(shù)據(jù)采用的是基于5G 仿真平臺(tái)生成的柵格級(jí)路損數(shù)據(jù)。通過相對(duì)誤差來(lái)度量神經(jīng)網(wǎng)絡(luò)輸出的預(yù)測(cè)值與實(shí)際值之間的差距,其表達(dá)式如下:
式中:e為相對(duì)誤差;y為用戶信道幅值的真實(shí)值;y′為預(yù)測(cè)值。
訓(xùn)練BP 神經(jīng)網(wǎng)絡(luò)的射線數(shù)據(jù)訓(xùn)練樣本數(shù)為5 900(該樣本是從所有,即59 000 個(gè)樣本中,挑選出并能代表整體樣本特征的樣本集),預(yù)測(cè)樣本數(shù)為1 000。將預(yù)測(cè)誤差>10%的用戶稱為高誤差用戶,預(yù)測(cè)誤差≤10%的用戶稱為普通用戶。將輸入預(yù)測(cè)樣本到訓(xùn)練好的BP 神經(jīng)網(wǎng)絡(luò)中得出的信道幅值與系統(tǒng)級(jí)仿真得出的信道幅值相比,會(huì)發(fā)現(xiàn)存在較多的偏差。
通過觀察BP 神經(jīng)網(wǎng)絡(luò)的預(yù)測(cè)結(jié)果可以發(fā)現(xiàn),預(yù)測(cè)誤差較大的高誤差用戶普遍與訓(xùn)練集中訓(xùn)練樣本的相似度較低。故根據(jù)預(yù)測(cè)用戶與訓(xùn)練集之間的余弦距離來(lái)對(duì)高誤差用戶和普通用戶進(jìn)行區(qū)分。以預(yù)測(cè)用戶與訓(xùn)練集中余弦距離最小的訓(xùn)練樣本之間的余弦距離,作為預(yù)測(cè)用戶與訓(xùn)練集之間的余弦距離,計(jì)算公式如下:
式中:T為預(yù)測(cè)用戶;Xi為訓(xùn)練集I中第i個(gè)訓(xùn)練樣本;tj和xij分別為預(yù)測(cè)用戶和第i個(gè)訓(xùn)練樣本向量在各量化區(qū)間的射線時(shí)延平均值,量化區(qū)間數(shù)為60。
根據(jù)皮爾遜相關(guān)系數(shù)公式,可以計(jì)算得到預(yù)測(cè)用戶與訓(xùn)練集之間的歸一化余弦距離與預(yù)測(cè)誤差之間的相關(guān)系數(shù)為0.355,表明具有一定程度的相關(guān)性。圖1 給出了高誤差用戶和普通用戶與訓(xùn)練集之間的歸一化余弦距離的累積分布函數(shù)(Cumulative Distribution Function,CDF)。如圖1 所示,高誤差用戶與訓(xùn)練集的余弦距離普遍較大,而普通用戶與訓(xùn)練集的余弦距離普遍較小。根據(jù)實(shí)驗(yàn)結(jié)果,選取歸一化余弦距離閾值0.075 對(duì)預(yù)測(cè)用戶與訓(xùn)練集之間的高誤差用戶和普通用戶進(jìn)行區(qū)分,即與訓(xùn)練集的歸一化余弦距離大于0.075 的預(yù)測(cè)用戶為高誤差用戶,小于或等于0.075 的預(yù)測(cè)用戶為普通用戶。
圖1 預(yù)測(cè)用戶與訓(xùn)練集的余弦距離CDF
1.2節(jié)使用的對(duì)BP 神經(jīng)網(wǎng)絡(luò)進(jìn)行訓(xùn)練的訓(xùn)練集中訓(xùn)練樣本的信道幅值分布,以及該訓(xùn)練集對(duì)應(yīng)預(yù)測(cè)集中高誤差用戶的信道幅值真實(shí)值分布如表1所示。
表1 原訓(xùn)練集訓(xùn)練樣本和對(duì)應(yīng)的高誤差用戶的信道幅值分布
從表1 可知,基于真實(shí)射線追蹤數(shù)據(jù)所得的訓(xùn)練樣本確實(shí)存在訓(xùn)練樣本缺失的問題。信道幅值絕對(duì)值位于80~140 dB 區(qū)間的訓(xùn)練樣本數(shù)較少,且由5 900 訓(xùn)練集訓(xùn)練得到的BP 神經(jīng)網(wǎng)絡(luò)預(yù)測(cè)的高誤差用戶基本都分布在這些區(qū)間段內(nèi)。
為解決射線樣本空間缺失的問題,在CVAE 生成所需信道幅值區(qū)間的訓(xùn)練樣本的基礎(chǔ)上擴(kuò)展訓(xùn)練集,并用擴(kuò)展后的訓(xùn)練集來(lái)訓(xùn)練BP 神經(jīng)網(wǎng)絡(luò),以降低高誤差用戶數(shù)及其預(yù)測(cè)誤差,實(shí)現(xiàn)快速準(zhǔn)確的信道幅值預(yù)測(cè)。
CVAE[9]是一種生成模型,通過學(xué)習(xí)樣本的分布規(guī)律,使得訓(xùn)練出來(lái)的模型不僅能重構(gòu)樣本,還具有仿照樣本分布的功能,生成更多指定區(qū)間的樣本。CVAE 是基于變分自編碼器(Variational Auto-Encoder,VAE)[10]在編碼器及解碼器上引入樣本的標(biāo)簽信息,即從無(wú)監(jiān)督模型變成有監(jiān)督模型,因此具有更好的學(xué)習(xí)能力。
為了生成指定信道幅值區(qū)間的新訓(xùn)練樣本,根據(jù)訓(xùn)練集中訓(xùn)練樣本的特點(diǎn),以10 dB 為一個(gè)區(qū)間范圍對(duì)幅值進(jìn)行劃分,原訓(xùn)練集里的訓(xùn)練樣本的信道幅值(絕對(duì)值)的范圍大小為80~180 dB,故總共可劃分為10 個(gè)區(qū)間,每個(gè)區(qū)間對(duì)應(yīng)的類別標(biāo)簽范圍即為0~9,記為l。在原始射線數(shù)據(jù)中加入了每個(gè)數(shù)據(jù)的類別標(biāo)簽,以此作為訓(xùn)練集對(duì)CVAE 進(jìn)行訓(xùn)練,本文使用的CVAE 的編碼器和解碼器皆為包括一個(gè)輸入層、兩個(gè)隱藏層和一個(gè)輸出層的4 層神經(jīng)網(wǎng)絡(luò)。
編碼器各層節(jié)點(diǎn)數(shù):輸入層為70,兩個(gè)隱藏層分別為310 和300,輸出層為4。其中輸入層節(jié)點(diǎn)數(shù)70 是根據(jù)射線追蹤數(shù)據(jù)所得出的訓(xùn)練樣本4個(gè)角度輸入向量的60 個(gè)數(shù)值,再添加類別標(biāo)簽的10 個(gè)數(shù)值,總共70 個(gè)數(shù)值,以此作為CVAE 編碼器的輸入;輸出層節(jié)點(diǎn)數(shù)4 是編碼器輸出的專屬于每個(gè)樣本xk的正態(tài)參數(shù),包括均值μk和標(biāo)準(zhǔn)差σk,各2 個(gè)數(shù)值。參照文獻(xiàn)[10],本文中采用的隱變量z的維度為2 維,因此CVAE 編碼器學(xué)習(xí)得出的分布參數(shù)均為2 維。前一個(gè)隱藏層采用的激活函數(shù)為指數(shù)線性單元(Exponential Linear Unit,ELU)函數(shù),后一個(gè)隱藏層采用的激活函數(shù)為雙曲正切tanh 函數(shù)。編碼器encoder 的輸入向量表示為:
式中:Xen表示為編碼器第n個(gè)訓(xùn)練樣本的輸入向量,其展開表示為Xen=[xnl]。其中xn的表達(dá)式為:
式中:為第n個(gè)用戶輸入向量的第m個(gè)量化區(qū)間的時(shí)延。
在訓(xùn)練CVAE 前要對(duì)基于射線追蹤數(shù)據(jù)形成的量化區(qū)間進(jìn)行處理,即在xn的各量化區(qū)間中,對(duì)無(wú)射線分布的量化區(qū)間填為0;l表示類別標(biāo)簽向量,長(zhǎng)度為10,在l中除對(duì)應(yīng)類別位置填為1,其余位置均填為0。編碼器的輸出向量表示為:
式中:Yen為編碼器第n個(gè)訓(xùn)練樣本的輸出向量,其表達(dá)式為Yen=[μkσk],其中μk表示均值,σk表示標(biāo)準(zhǔn)差。
解碼器各層節(jié)點(diǎn)數(shù):輸入層為12、兩個(gè)隱藏層分別為300 和300、輸出層為60。其中,輸入層節(jié)點(diǎn)數(shù)12 是2 維隱變量z的兩個(gè)值,再添加類別標(biāo)簽的10 個(gè)數(shù)值;輸出層節(jié)點(diǎn)數(shù)60 是解碼器生成的新訓(xùn)練樣本向量,具有60 個(gè)數(shù)值。前一個(gè)隱藏層采用的激活函數(shù)為tanh 函數(shù),后一個(gè)隱藏層采用的激活函數(shù)為ELU 函數(shù)[10]。解碼器的輸出層通過使用sigmoid 激活函數(shù)將輸出的數(shù)值范圍控制在(0,1)之間。在訓(xùn)練CVAE 的過程中,解碼器decoder 的輸入向量表示為:
式中:Xdn表示為解碼器第n個(gè)訓(xùn)練樣本的輸入向量,則其展開表示為Xdn=[zl],其中的z利用到了重參數(shù)技巧[10],根據(jù)編碼器輸出的μk和σk采樣得到的隱變量z=μk+σkε,z的維數(shù)為2,ε服從位置參數(shù)是0、尺度參數(shù)是1 的正態(tài)分布N(0,1)。l則與編碼器中的l相同,是類別標(biāo)簽向量。在訓(xùn)練CVAE 的過程中,解碼器的輸出向量表示為:
式中:Ydn為解碼器第n個(gè)訓(xùn)練樣本的輸出向量,其展開表示為Ydn=yn,yn的表達(dá)式如式(4),為解碼器還原得到的第n個(gè)訓(xùn)練樣本。
由文獻(xiàn)[9]可知,在隱變量z服從標(biāo)準(zhǔn)正態(tài)分布的條件下,CVAE 中的變分下界,即訓(xùn)練CVAE時(shí)的損失函數(shù)L(xk,y)為:
式中:DKL(q(z|xk,y)||p(z,y))為后驗(yàn)分布q(z|xk,y)和先驗(yàn)分布p(z,y)間的Kullback-Leibler 散度;p(xk|zn,y)為樣本xk關(guān)于隱變量z和類別信息y的條件概率;J為隱變量z的維度;μj,σj分別為隱變量z第j維的均值及標(biāo)準(zhǔn)差。
根據(jù)訓(xùn)練樣本的數(shù)據(jù)類型,對(duì)式(8)變分下界L(xk,y)第二項(xiàng)中的logp(xk|zn,y)采用伯努利分布[10],因而logp(xk|zn,y)為:
式中:D為訓(xùn)練樣本向量xk的長(zhǎng)度,規(guī)定為60;xi為樣本xk各量化區(qū)間的數(shù)值;yi為解碼器還原出的樣本的各量化區(qū)間的數(shù)值。當(dāng)CVAE 訓(xùn)練過程中每一步訓(xùn)練的樣本足夠多時(shí),可令式(8)中隱變量z的采樣次數(shù)N為1[10],因而式(8)中的Eq(z|xk,y)[logp(xk|z,y)]=logp(xk|z,y)。CVAE 的目標(biāo)是令變分下界L(xk,y)最大,在對(duì)CVAE 進(jìn)行訓(xùn)練時(shí),令-L(xk,y)最小,因而CVAE 訓(xùn)練過程的損失函數(shù)L如下:
式中:J為2;D為60;μj和σj分別為編碼器學(xué)習(xí)到的隱變量z的期望和方差的各維分量。
解碼器生成的訓(xùn)練樣本不包含輸出,即樣本的信道幅值信息,可以通過計(jì)算解碼器生成的新樣本與訓(xùn)練集中全部訓(xùn)練樣本的夾角余弦大小,將與新樣本夾角余弦最大的訓(xùn)練樣本的信道幅值作為新樣本的信道幅值。
利用CVAE 來(lái)實(shí)現(xiàn)指定信道幅值區(qū)間的訓(xùn)練樣本的生成,在對(duì)2.1 節(jié)實(shí)現(xiàn)的CVAE 進(jìn)行訓(xùn)練之后,從標(biāo)準(zhǔn)正態(tài)分布中隨機(jī)采樣得到M個(gè)z,M為要生成的指定類別的新樣本的數(shù)量,并和指定的類別標(biāo)簽lc一起輸入到CVAE 的解碼器中,即可實(shí)現(xiàn)指定信道幅值區(qū)間的訓(xùn)練樣本的生成?;贑VAE 的訓(xùn)練樣本生成算法的偽代碼如下:
通過將補(bǔ)充了新樣本的新訓(xùn)練集和未補(bǔ)充新樣本的原訓(xùn)練集訓(xùn)練得到的BP 神經(jīng)網(wǎng)絡(luò)進(jìn)行對(duì)比,評(píng)估降低高誤差用戶數(shù)及高誤差用戶預(yù)測(cè)誤差的有效性,以及完善訓(xùn)練集后的BP 神經(jīng)網(wǎng)絡(luò)在預(yù)測(cè)信道幅值時(shí)的性能。
用于訓(xùn)練CVAE 的訓(xùn)練樣本數(shù)為59 000 個(gè);對(duì)BP 神經(jīng)網(wǎng)絡(luò)進(jìn)行訓(xùn)練的原訓(xùn)練集樣本數(shù)為5 900個(gè);CVAE 生成的訓(xùn)練樣本數(shù)為2 000 個(gè),即補(bǔ)充了原BP 神經(jīng)網(wǎng)絡(luò)訓(xùn)練樣本得到新訓(xùn)練集,新訓(xùn)練集的訓(xùn)練樣本數(shù)為7 900 個(gè);預(yù)測(cè)集樣本數(shù)為1 000 個(gè)。
結(jié)合表1,本文利用CVAE 生成類別標(biāo)簽為0~5,即信道幅值絕對(duì)值位于80~140 dB 區(qū)間的新樣本,實(shí)現(xiàn)對(duì)原訓(xùn)練集中訓(xùn)練樣本缺失區(qū)間的樣本補(bǔ)充,以有效降低高誤差用戶的預(yù)測(cè)誤差?;贑VAE 生成2 000 個(gè)信道幅值絕對(duì)值位于80~140 dB區(qū)間的新樣本,并補(bǔ)充到原訓(xùn)練集中。圖2 給出了新訓(xùn)練集(原訓(xùn)練集補(bǔ)充了CVAE 生成的2 000 個(gè)新樣本后的訓(xùn)練集)和原訓(xùn)練集訓(xùn)練得到的BP 神經(jīng)網(wǎng)絡(luò)在預(yù)測(cè)集上的預(yù)測(cè)誤差CDF。誤差在小于0.06 時(shí),新舊訓(xùn)練集模型預(yù)測(cè)相差不明顯;在誤差大于0.06 時(shí),新訓(xùn)練集模型預(yù)測(cè)的誤差明顯比舊訓(xùn)練集的要低。
圖2 原訓(xùn)練集與新訓(xùn)練集訓(xùn)練模型的預(yù)測(cè)相對(duì)誤差CDF
雙方在預(yù)測(cè)集上的性能對(duì)比如表3 所示,與原BP 神經(jīng)網(wǎng)絡(luò)相比,補(bǔ)充了訓(xùn)練樣本的新BP 神經(jīng)網(wǎng)絡(luò)預(yù)測(cè)的高誤差用戶數(shù)有了明顯的降低,預(yù)測(cè)誤差大于10%且小于20%的高誤差用戶數(shù)減少約24.468%,預(yù)測(cè)誤差大于20%的高誤差用戶數(shù)減少約90%。新BP 神經(jīng)網(wǎng)絡(luò)在預(yù)測(cè)集上的平均相對(duì)誤差,相比原BP 神經(jīng)網(wǎng)絡(luò)也有了明顯的降低,預(yù)測(cè)集的平均相對(duì)誤差從4.5%降低到4.22%,相比原來(lái)的平均相對(duì)誤差減少了約6.2%。
表3 新/原訓(xùn)練集對(duì)應(yīng)的BP 神經(jīng)網(wǎng)絡(luò)在預(yù)測(cè)集上的性能對(duì)比
新訓(xùn)練集相較原訓(xùn)練集對(duì)應(yīng)預(yù)測(cè)集中高誤差用戶數(shù)有了較好的改善,信道幅值(絕對(duì)值)80~90 dB 區(qū)間的高誤差用戶數(shù)由12 個(gè)減至3 個(gè),90~100 dB 區(qū)間由38 個(gè)減至15 個(gè),100~110dB 區(qū)間 由47個(gè)減至27 個(gè),110~120 dB區(qū)間由62個(gè)減至39 個(gè),120~130 dB 區(qū)間由14 個(gè)減至6 個(gè),120~130 dB 區(qū)間由8 個(gè)減至7 個(gè)。由此可見,利用CVAE 對(duì)原訓(xùn)練集中80~140 dB 區(qū)間進(jìn)行訓(xùn)練樣本補(bǔ)充,可有效降低BP 神經(jīng)網(wǎng)絡(luò)預(yù)測(cè)位于80~140 dB區(qū)間的高誤差用戶數(shù)。
上述結(jié)果分析表明,通過對(duì)原訓(xùn)練集中訓(xùn)練樣本缺失的區(qū)間進(jìn)行訓(xùn)練樣本補(bǔ)充,確實(shí)可有效降低對(duì)應(yīng)區(qū)間的高誤差用戶數(shù)及預(yù)測(cè)平均相對(duì)誤差。
圖3 給出了新訓(xùn)練集訓(xùn)練得到的BP 神經(jīng)網(wǎng)絡(luò)預(yù)測(cè)的用戶信道幅值和白盒系統(tǒng)計(jì)算得到的用戶信道幅值的對(duì)比;新訓(xùn)練集訓(xùn)練得到的BP 神經(jīng)網(wǎng)絡(luò)預(yù)測(cè)的用戶信道幅值,與白盒系統(tǒng)通過系統(tǒng)級(jí)仿真計(jì)算得到的用戶信道幅值的一致性很高,預(yù)測(cè)集平均相對(duì)誤差為4.22%。新BP 神經(jīng)網(wǎng)絡(luò)預(yù)測(cè)1 000 個(gè)用戶的信道幅值的時(shí)間開銷為0.065 s,遠(yuǎn)低于系統(tǒng)級(jí)仿真即白盒系統(tǒng)計(jì)算得到1 000 個(gè)用戶的信道幅值的時(shí)間開銷(24 074.56 s)。
圖3 新BP 神經(jīng)網(wǎng)絡(luò)和白盒系統(tǒng)得到的信道幅值對(duì)比
本文提出了一種基于CVAE 的射線樣本生成算法,該算法通過增添所需區(qū)間的樣本來(lái)降低BP 神經(jīng)網(wǎng)絡(luò)預(yù)測(cè)的高誤差用戶數(shù)和預(yù)測(cè)平均相對(duì)誤差。完善訓(xùn)練集后的BP 神經(jīng)網(wǎng)絡(luò)在得到與白盒系統(tǒng)精度接近的信道幅值的同時(shí),可降低得到信道幅值的時(shí)間開銷。未來(lái)可考慮樣本的最適宜的分布,對(duì)CVAE 進(jìn)行改進(jìn),使得生成的樣本更符合原樣本的分布特點(diǎn)。