賴昱辰/ LAI Yuchen, 鐘祎/ZHONG Yi, 王建峰/WANG Jianfeng
(1.華中科技大學(xué),中國(guó) 武漢 430074;2. 微軟公司,美國(guó) 雷德蒙德 98052)
隨著無(wú)線數(shù)據(jù)需求的急劇增加,用戶與無(wú)線接入點(diǎn)之間的距離大大減少,導(dǎo)致無(wú)線網(wǎng)絡(luò)向超密集架構(gòu)發(fā)展。由于密集的部署和多樣化的傳播環(huán)境,網(wǎng)絡(luò)管理和調(diào)節(jié)也變得極為復(fù)雜。在室外環(huán)境中,需要額外部署小型基站,減輕宏基站的無(wú)線流量負(fù)擔(dān),提高覆蓋范圍的連續(xù)性和信號(hào)強(qiáng)度。在室內(nèi)傳播環(huán)境如購(gòu)物中心和辦公樓內(nèi),由于承重墻等障礙物,加上個(gè)體用戶密集部署的無(wú)線局域網(wǎng)(WLAN)的影響,信號(hào)傳播可能比室外更為復(fù)雜。此外,由于覆蓋率、速率、等待時(shí)間的不同,不同無(wú)線應(yīng)用有著多樣化的服務(wù)質(zhì)量(QoS)要求。因此,應(yīng)當(dāng)正確規(guī)劃接入點(diǎn)的部署,以保證無(wú)線網(wǎng)絡(luò)的性能。
為規(guī)劃無(wú)線網(wǎng)絡(luò)的部署,首先應(yīng)評(píng)估給定部署方案的容量。傳統(tǒng)方法中,網(wǎng)絡(luò)的容量通過(guò)系統(tǒng)級(jí)仿真進(jìn)行估算,需要計(jì)算每個(gè)位置的信噪比(SINR)值,再計(jì)算每個(gè)位置的數(shù)據(jù)率;然而,模擬具有復(fù)雜傳播環(huán)境的大規(guī)模無(wú)線網(wǎng)絡(luò)相當(dāng)復(fù)雜,且僅適用于特定的部署方案,而部署方案千變?nèi)f化,所以對(duì)網(wǎng)絡(luò)容量的評(píng)估應(yīng)該更加智能和高效。
本文中,我們提出了使用卷積神經(jīng)網(wǎng)絡(luò)(CNN)模型預(yù)測(cè)無(wú)線網(wǎng)絡(luò)的容量的方法。圖1中給出了容量預(yù)測(cè)模型的框架,由用于無(wú)線網(wǎng)絡(luò)仿真的系統(tǒng)模型和用于數(shù)據(jù)預(yù)測(cè)的CNN組成。首先,在方形區(qū)域和有墻環(huán)境中使用無(wú)線網(wǎng)絡(luò)模型模擬信號(hào)傳輸,將環(huán)境信息與接入點(diǎn)信息等多維數(shù)據(jù)應(yīng)用于網(wǎng)絡(luò)容量估計(jì),使用二維矩陣描述接入點(diǎn)部署位置,并將無(wú)線網(wǎng)絡(luò)容量標(biāo)記為標(biāo)簽,得到CNN數(shù)據(jù)集。其次,將數(shù)據(jù)集按一定比例分為訓(xùn)練集和測(cè)試集兩部分,建立CNN模型并將訓(xùn)練集導(dǎo)入,經(jīng)過(guò)特征提取與分類決策后輸出網(wǎng)絡(luò)容量值,再利用反向傳播算法動(dòng)態(tài)調(diào)整神經(jīng)網(wǎng)絡(luò)參數(shù)的權(quán)重,優(yōu)化數(shù)據(jù)預(yù)測(cè)模型。
在本節(jié)中,我們介紹兩種不同的無(wú)線網(wǎng)絡(luò)部署環(huán)境(方形無(wú)障礙區(qū)域與有墻環(huán)境)并建立了信號(hào)傳輸模型。在兩個(gè)環(huán)境中各自生成10 000個(gè)接入點(diǎn)部署圖并計(jì)算其網(wǎng)絡(luò)容量,作為卷積神經(jīng)網(wǎng)絡(luò)的數(shù)據(jù)集。
我們將區(qū)域均勻劃分為個(gè)M×M網(wǎng)格,隨機(jī)分布N個(gè)發(fā)射功率相同的接入點(diǎn)。區(qū)域中,有M2個(gè)用戶均勻分布在平面內(nèi)。在方形區(qū)域內(nèi),每個(gè)用戶連接與其距離最近的接入點(diǎn)。在有墻環(huán)境中,用戶連接到穿墻后能提供最大信號(hào)功率的接入點(diǎn),并將其他接入點(diǎn)視作干擾。對(duì)每個(gè)接入點(diǎn)發(fā)射的信號(hào),需要考慮的關(guān)鍵因素有:
1)路徑損耗。該損耗是由發(fā)射功率的輻射擴(kuò)散和無(wú)線信道的傳播特性引起的。電波信號(hào)隨距離增長(zhǎng)而衰減,根據(jù)標(biāo)準(zhǔn)信號(hào)傳播模型,設(shè)定路徑損耗系數(shù)大于2。
2)瑞利衰落。由于信號(hào)的反射、衍射、折射和散射引起無(wú)線信道的多徑傳播,使得接收到的信號(hào)幅度遵循瑞利分布,功率衰減系數(shù)遵循均值為1的指數(shù)分布。
3)墻損。對(duì)有墻環(huán)境,還需要考慮穿墻帶來(lái)的信號(hào)損耗。信號(hào)通過(guò)一面墻時(shí)的衰減值為10~15 dB,故設(shè)定墻損系數(shù)為0.314。此外,采用跨立實(shí)驗(yàn)方法來(lái)計(jì)算在用戶和接入點(diǎn)之間的無(wú)線通信鏈路上的墻的數(shù)量。
與接收信號(hào)功率相比,通信環(huán)境中的高斯噪聲的干擾可以忽略不計(jì),利用香農(nóng)公式可以計(jì)算每個(gè)用戶的網(wǎng)絡(luò)容量值。在方形區(qū)域內(nèi)需考慮到邊緣效應(yīng)的影響,在4條邊界各忽略15%的區(qū)域,累計(jì)中心區(qū)域的用戶的數(shù)據(jù)率,取平均得到全局網(wǎng)絡(luò)容量值。對(duì)有墻環(huán)境,則累加平面圖內(nèi)所有室內(nèi)區(qū)域的數(shù)據(jù)率并取平均值。
圖2給出了一個(gè)室內(nèi)設(shè)計(jì)方案示例圖。原點(diǎn)設(shè)置在左下位置,將整個(gè)區(qū)域按比例縮放到平面直角坐標(biāo)系中,同時(shí)將墻壁模擬為線性線段,建模得10 000個(gè)樣本。圖3中是獲得最大和最小網(wǎng)絡(luò)容量值的接入點(diǎn)的部署圖和相應(yīng)的全局?jǐn)?shù)據(jù)率分布。其中,高網(wǎng)絡(luò)容量值區(qū)域顯示為黃色,低容量區(qū)域顯示為藍(lán)色??梢钥闯?,數(shù)據(jù)率隨著接入點(diǎn)周圍半徑的增加而減小,并在靠近接入點(diǎn)的區(qū)域達(dá)到峰值,但當(dāng)接入點(diǎn)分布過(guò)于密集時(shí)會(huì)互相干擾,使得網(wǎng)絡(luò)容量值較小。
本節(jié)中,我們將分析不同的卷積神經(jīng)網(wǎng)絡(luò)架構(gòu),以探討網(wǎng)絡(luò)容量預(yù)測(cè)問(wèn)題在不同場(chǎng)景下的適用性。將接入點(diǎn)的位置矩陣(即像素值為M×M的二維圖像)作為CNN的輸入,接入點(diǎn)位置的像素值標(biāo)準(zhǔn)化為1,其他區(qū)域像素值設(shè)置為0;將網(wǎng)絡(luò)容量從大到小均分為40類,作為CNN的標(biāo)簽。表1給出了使用的卷積神經(jīng)網(wǎng)絡(luò)的結(jié)構(gòu),Conv(x,y,z,s)表示卷積層,其輸入通道數(shù)為x、輸出通道數(shù)為y、步長(zhǎng)為s,卷積核的大小為(z×z)。MaxPool(z,s)表示最大池化層,其卷積核大小為(z×z),步長(zhǎng)為s。Fc(x,y)表示具有輸入節(jié)點(diǎn)數(shù)為x與輸出節(jié)點(diǎn)數(shù)為y的全連接層。
在卷積層中,通過(guò)將卷積核連接到輸入層相鄰區(qū)域中的多個(gè)神經(jīng)元,自動(dòng)完成輸入數(shù)據(jù)集的特征提取。每個(gè)卷積層都會(huì)生成一個(gè)新的特征圖,其維數(shù)等于卷積核的數(shù)量,其尺寸取決于卷積核的大小和步長(zhǎng)。通過(guò)連續(xù)卷積,特征圖維數(shù)增大而尺寸減小。
卷積層的輸出特征圖會(huì)被傳輸?shù)阶畲蟪鼗瘜樱赃M(jìn)行特征選擇和信息過(guò)濾。在最大值濾波的區(qū)域中,下采樣函數(shù)提取所有連接神經(jīng)元的最大值。池化層用于壓縮特征圖并減小輸出的空間大小以簡(jiǎn)化計(jì)算,也可提取主要特征以提高網(wǎng)絡(luò)的魯棒性。池化層中的計(jì)算方法與卷積層中相同,濾波器的參數(shù)不會(huì)經(jīng)反向傳播過(guò)程被修改。
▲圖3 獲得最高和最低容量值的接入點(diǎn)的部署位置及數(shù)據(jù)率分布圖
表1 應(yīng)用于無(wú)線網(wǎng)絡(luò)容量預(yù)測(cè)的CNN的詳細(xì)結(jié)構(gòu)與參數(shù)信息
全連接層位于所有神經(jīng)網(wǎng)絡(luò)的末端,連接所有輸入特征并將分散特征映射到標(biāo)記的樣本空間中,可用于減少特征位置對(duì)結(jié)果的影響。第一,將從最后一個(gè)卷積層獲得的高維數(shù)據(jù)表示為大小為3、維數(shù)為64的特征圖,并擴(kuò)展成576個(gè)單獨(dú)特征作為全連接層的輸入;第二,將線性加權(quán)和方法應(yīng)用于隱藏層,將每個(gè)標(biāo)簽的輸出概率發(fā)送到分類器,并在下一次訓(xùn)練中通過(guò)反向傳播算法更新隱藏層的參數(shù)權(quán)重;第三,分類器將概率最高的標(biāo)簽作為最終輸出。分類的數(shù)量越多,兩個(gè)相鄰網(wǎng)絡(luò)容量標(biāo)簽的值差就越小,即預(yù)測(cè)的網(wǎng)絡(luò)容量的精度越高。我們?cè)O(shè)置了兩個(gè)全連接層,并添加了一些非線性方法來(lái)提高數(shù)據(jù)集的訓(xùn)練效率。
卷積層與池化層具有較少的參數(shù)和較大的計(jì)算量,而全連接層則相反;因此,在加速優(yōu)化過(guò)程時(shí)著重于調(diào)整卷積層的參數(shù)和結(jié)構(gòu),在實(shí)現(xiàn)參數(shù)優(yōu)化和權(quán)重裁剪時(shí)著重于全連接層。
經(jīng)過(guò)仿真測(cè)試,使用線性整流函數(shù)(ReLU)作為激活函數(shù)以解決過(guò)擬合和梯度消失的問(wèn)題,同時(shí)減少計(jì)算量。使用交叉熵?fù)p失函數(shù)作為評(píng)估神經(jīng)網(wǎng)絡(luò)性能的指標(biāo),用于比較預(yù)測(cè)容量值與實(shí)際輸出之間的差異。在反向傳播過(guò)程中計(jì)算完所有參數(shù)的梯度后,使用基于隨機(jī)梯度下降(SGD)算法的AdaGrad優(yōu)化算法對(duì)網(wǎng)絡(luò)的權(quán)重和參數(shù)進(jìn)行更新,從而獲得最優(yōu)的權(quán)重參數(shù)。
在本節(jié)中使用Pytorch框架建立所有的CNN模型,主要研究以下CNN結(jié)構(gòu)和參數(shù)對(duì)訓(xùn)練效率與準(zhǔn)確度的影響:分類數(shù)與數(shù)據(jù)集數(shù)量、優(yōu)化算法學(xué)習(xí)率、批歸一化層與Dropout層、CNN的深度。
將訓(xùn)練集和測(cè)試集的比例設(shè)置為6:1,為確保實(shí)驗(yàn)結(jié)論的普適性,每個(gè)測(cè)試重復(fù)3次以上并取結(jié)果平均值。一個(gè)時(shí)期(epoch)意味著訓(xùn)練集中的所有樣本訓(xùn)練一次,且測(cè)試集的所有數(shù)據(jù)被評(píng)估一次。由于過(guò)擬合現(xiàn)象的產(chǎn)生,可以使用早停法,即提前終止訓(xùn)練過(guò)程以獲得更高準(zhǔn)確性。為了減少大規(guī)模樣本的計(jì)算時(shí)間和梯度值差異,每32個(gè)訓(xùn)練集樣本被劃分成一個(gè)小批次,隨機(jī)打亂批次順序并分批進(jìn)行訓(xùn)練。在以上前提條件下進(jìn)行測(cè)試,觀察到在方形無(wú)障礙區(qū)域內(nèi),測(cè)試集準(zhǔn)確率最高為96.01%,有墻環(huán)境中準(zhǔn)確率最高為87.84%。在簡(jiǎn)單環(huán)境中應(yīng)用的CNN也可以從復(fù)雜場(chǎng)景中提取隱藏特征,但模型訓(xùn)練時(shí)間更長(zhǎng),精度更低。
當(dāng)方形區(qū)域的10 000個(gè)數(shù)據(jù)輸入到CNN-4時(shí),準(zhǔn)確率僅達(dá)到79.93 %。增加訓(xùn)練集的數(shù)量可以提高CNN模型的擬合能力,當(dāng)訓(xùn)練集的數(shù)量逐漸增加到40 000個(gè)時(shí),可基本滿足準(zhǔn)確率要求。將網(wǎng)絡(luò)容量預(yù)測(cè)視為一個(gè)分類問(wèn)題,當(dāng)預(yù)測(cè)結(jié)果與真實(shí)值的誤差不超過(guò)2級(jí)時(shí)可視作結(jié)果正確,也可以通過(guò)減小分類類別數(shù)提高準(zhǔn)確率;但隨著輸出等級(jí)的逐漸減小,測(cè)試集的數(shù)據(jù)精度降低,經(jīng)測(cè)試后選擇40級(jí)輸出以平衡二者性能。
低時(shí)間復(fù)雜度意味著程序執(zhí)行的語(yǔ)句較少,運(yùn)行每個(gè)epoch的時(shí)間較短。低空間復(fù)雜度則意味著臨時(shí)占用的參數(shù)和存儲(chǔ)空間數(shù)量較少。一般情況下,模型的時(shí)間和空間復(fù)雜度隨神經(jīng)網(wǎng)絡(luò)層數(shù)的增加而增加。由表1可知,CNN-2的模型結(jié)構(gòu)與CNN-1非常相似,只是使用兩層3×3卷積替換了CNN-1第3層卷積層的5×5卷積核,這使得時(shí)間復(fù)雜度反而下降。
如圖4所示,在方形區(qū)域中,由于2層網(wǎng)絡(luò)無(wú)法充分提取特征圖的特征,甚至無(wú)法學(xué)習(xí)基本特征,2層CNN的準(zhǔn)確率只能達(dá)到74.77 %;但隨CNN深度的增加,準(zhǔn)確率呈上升趨勢(shì)并在使用4層網(wǎng)絡(luò)時(shí)達(dá)到最大值94.12 %。在層數(shù)增加的同時(shí),權(quán)重的線性相乘容易導(dǎo)致梯度爆炸或消失,且抽象能力過(guò)強(qiáng)時(shí)會(huì)阻止網(wǎng)絡(luò)提取有用的功能,這將使得5層網(wǎng)絡(luò)的準(zhǔn)確率下降。在有墻環(huán)境中,準(zhǔn)確率首先從2層的87.06%提高到3層的87.84%,接著持續(xù)降低。所以,在方形區(qū)域中使用4層神經(jīng)網(wǎng)絡(luò)CNN-2,在有墻環(huán)境中使用3層網(wǎng)絡(luò)CNN-3。
▲圖4 2—5層卷積神經(jīng)網(wǎng)絡(luò)的時(shí)間和空間復(fù)雜度及其在方形區(qū)域與有墻環(huán)境內(nèi)的準(zhǔn)確率
圖5中測(cè)試了LR介于0.001~0.1之間的Adam算法和可自動(dòng)調(diào)整學(xué)習(xí)率的AdaGrad算法的性能。LR較大時(shí),收斂速度很快,但容易出現(xiàn)梯度爆炸,使得權(quán)重更新失敗,導(dǎo)致模型不收斂??梢钥吹?,在LR為0.1時(shí),模型不收斂。當(dāng)LR為0.01時(shí),準(zhǔn)確率先上升,但梯度爆炸使得模型訓(xùn)練失敗。LR較小時(shí),梯度下降下降慢,收斂時(shí)間較長(zhǎng),也可能導(dǎo)致過(guò)擬合問(wèn)題。將LR減小到0.001,模型可正常運(yùn)行并表現(xiàn)出良好的性能。0.005的LR也被測(cè)試,雖然緩慢收斂,但性能不如0.001的LR。由于自適應(yīng)學(xué)習(xí)率算法被越來(lái)越多地應(yīng)用,我們選擇使用AdaGrad算法,并發(fā)現(xiàn)其在訓(xùn)練效率和準(zhǔn)確率上顯示出了更好的性能,并最終將其應(yīng)用于本文的CNN模型內(nèi)。
▲圖5 使用LR為0.001~0.1之間的Adam算法和AdaGrad算法的準(zhǔn)確率
▲圖6 在DP層和BN層影響下的訓(xùn)練次數(shù)和準(zhǔn)確率
BN層將重新縮放所獲均值和與方差,將每批訓(xùn)練數(shù)據(jù)標(biāo)準(zhǔn)化,再使用新學(xué)習(xí)的均值0和單位方差優(yōu)化網(wǎng)絡(luò)梯度,使數(shù)據(jù)分布更符合訓(xùn)練過(guò)程中的實(shí)際情況,以確保模型的非線性。在前向傳播過(guò)程中,DP層使隱藏層的某些節(jié)點(diǎn)停止工作,確保該模型不會(huì)太依賴于局部特征。兩者都可提高網(wǎng)絡(luò)泛化能力,優(yōu)化過(guò)擬合問(wèn)題。
如圖6所示,網(wǎng)絡(luò)內(nèi)不加BN或DP層時(shí),訓(xùn)練次數(shù)和單次訓(xùn)練時(shí)長(zhǎng)最大,但在有墻環(huán)境內(nèi)的準(zhǔn)確率最高,為87.84 %。在每個(gè)最大池化層后添加BN層后,訓(xùn)練速度大大提高,可在第18和第46個(gè)epoch完成模型訓(xùn)練;然而,由于訓(xùn)練集是接入點(diǎn)分布的二維圖像,BN在訓(xùn)練過(guò)程中丟失部分特征圖值,從而導(dǎo)致模型擬合度下降,使得準(zhǔn)確率降低。帶有DP層的CNN模型的訓(xùn)練速度得到了提高,同時(shí)在方形區(qū)域中的精度達(dá)到最大值96.01%。BN層和DP層同時(shí)添加時(shí),訓(xùn)練速度最高,但精度最低。
在程序中使用統(tǒng)一計(jì)算設(shè)備架構(gòu)(CUDA)加速,可大大縮短訓(xùn)練時(shí)間,這對(duì)二者在訓(xùn)練效率上的影響差異可以忽略。因此在方形區(qū)域中,在CNN-2全連接層后加DP層,在有墻環(huán)境中可直接使用CNN-1模型。當(dāng)使用優(yōu)化后的卷積神經(jīng)網(wǎng)絡(luò)來(lái)預(yù)測(cè)有墻環(huán)境的網(wǎng)絡(luò)容量時(shí),可以在33 s內(nèi)預(yù)測(cè)10 000個(gè)接入點(diǎn)部署方案的網(wǎng)絡(luò)容量,這比使用傳統(tǒng)系統(tǒng)仿真方法所需要的12 413 s快376倍。
利用接入點(diǎn)部署的二維圖像,卷積神經(jīng)網(wǎng)絡(luò)將復(fù)雜環(huán)境中網(wǎng)絡(luò)容量的預(yù)測(cè)轉(zhuǎn)換為二維數(shù)據(jù)處理問(wèn)題,可成功提取接入點(diǎn)部署位置的特征,實(shí)現(xiàn)高實(shí)時(shí)精準(zhǔn)預(yù)測(cè)。比起傳統(tǒng)的系統(tǒng)仿真方法,CNN更高效與智能,且具有高精度和魯棒性。隨著人工智能技術(shù)的發(fā)展,更多的機(jī)器學(xué)習(xí)方法將被應(yīng)用于未來(lái)無(wú)線網(wǎng)絡(luò)的部署與管理中。