許耀華, 朱成龍, 王 翊, 蔣 芳, 丁夢琴, 王慧平
(安徽大學(xué)計算智能與信號處理教育部重點實驗室, 安徽 合肥 230601)
大規(guī)模多輸入多輸出(multiple input multiple output, MIMO)系統(tǒng)是5G的關(guān)鍵技術(shù)之一,高頻譜效率和足夠的空間自由度使得其成為學(xué)術(shù)界研究熱點。大規(guī)模MIMO也面臨許多挑戰(zhàn),如信號接收檢測[1]。由于檢測問題是非確定性多項式(non-deterministic polynomial, NP)完備問題,計算復(fù)雜,已有多項式復(fù)雜度的次最優(yōu)解決方案。機(jī)器學(xué)習(xí)領(lǐng)域的深度神經(jīng)網(wǎng)絡(luò)在解決很多工程領(lǐng)域問題上的成功,表明基于機(jī)器學(xué)習(xí)數(shù)據(jù)驅(qū)動的檢測方法具備計算效率高、接近最佳的檢測性能的特點[2]。
在大規(guī)模MIMO檢測算法中,最大似然估計(maximum likelihood, ML)算法窮盡搜索方式找到最優(yōu)解,但卻有著指數(shù)級的復(fù)雜度,隨著天線數(shù)量的增多,在實際系統(tǒng)中難以實現(xiàn)[3]。為了降低ML算法的計算成本,人們開始尋求近優(yōu)的檢測算法。長期演進(jìn)(long term evolution, LTE)系統(tǒng)小規(guī)模MIMO檢測通常使用線性檢測算法,如迫零(zero forcing, ZF)算法和最小均方誤差(minimum mean square error, MMSE)算法[4-5],基于矩陣求逆,諾依曼級數(shù)近似(Neumann series approximation, NSA)算法將其轉(zhuǎn)換為一系列矩陣矢量乘法[6]。隨著5G大規(guī)模MIMO用戶數(shù)的增加,其計算復(fù)雜度也變得相當(dāng)大,這些算法在實際系統(tǒng)中難以實現(xiàn)。為了進(jìn)一步降低矩陣求逆帶來的計算復(fù)雜度,Li等[7-8]提出了一種高并行(high-parallelism, HP)檢測算法,通過構(gòu)建迭代矩陣將復(fù)雜的原矩陣反轉(zhuǎn)為線性方程組進(jìn)行求解,并詳細(xì)證明了其收斂性,算法并行實現(xiàn)方法和復(fù)雜度分析表明,并行度可以與矩陣維數(shù)相同,與傳統(tǒng)的MMSE算法相比,復(fù)雜度可以降低一個數(shù)量級。
近年來,在計算機(jī)視覺與自然語言處理等領(lǐng)域,深度學(xué)習(xí)得到了廣泛的應(yīng)用。同樣,有部分學(xué)者開始將深度學(xué)習(xí)方法應(yīng)用到通信領(lǐng)域[9-11],通過許多的非線性單元和神經(jīng)網(wǎng)絡(luò)的結(jié)構(gòu),從而設(shè)計出適用于信號檢測方面的神經(jīng)網(wǎng)絡(luò),例如Samuel等[12-13]基于投影梯度下降法提出了基于模型驅(qū)動的信號檢測網(wǎng)絡(luò)(detection network, DET-Net),將ML與梯度下降算法相結(jié)合,生成一個神經(jīng)網(wǎng)絡(luò)架構(gòu);張曉羽等[14]提出了一種去噪稀疏的連接檢測網(wǎng)絡(luò)(denoising sparsely connected detection network, DS-Net), 通過將全連接網(wǎng)絡(luò)修改為稀疏連接的簡化網(wǎng)絡(luò),從而在一定程度上減少了訓(xùn)練參數(shù);胡鐘秀等[15]通過在原有的簡化近似消息傳遞(simplified approximate message passing,SAMP)迭代檢測器中增加一些可訓(xùn)練參數(shù),利用深度學(xué)習(xí)的方法獲得最優(yōu)參數(shù)提出簡化近似消息傳遞網(wǎng)絡(luò)(simplified approximate message passing network, SAMP-Net),提高了原迭代檢測器的性能等。對于設(shè)計深層網(wǎng)絡(luò)架構(gòu)的比較有前景的方式將是對現(xiàn)有迭代算法的展開,將迭代算法的每一次迭代過程視為神經(jīng)網(wǎng)絡(luò)中的一個層級,從而將迭代算法變成深層網(wǎng)絡(luò)結(jié)構(gòu)。
本文將深度學(xué)習(xí)與一種HP檢測算法相結(jié)合,提出一種新的HP網(wǎng)絡(luò)(HP network, HP-Net),用于MIMO檢測。在不同的信道和不同信噪比(signal to noise ratio, SNR)的情況下,HP算法迭代收斂的速度并不相同,本文提出的方案中,將HP算法與深度學(xué)習(xí)結(jié)合,HP算法的每一次迭代作為一個單層網(wǎng)絡(luò),通過非線性神經(jīng)元和相關(guān)權(quán)重偏置的訓(xùn)練,從而實現(xiàn)較低的誤碼率。
本文主要的研究工作如下:首先介紹MIMO系統(tǒng)模型和MIMO檢測算法;然后描述了基于HP檢測算法和深度學(xué)習(xí)提出的HP-Net神經(jīng)網(wǎng)絡(luò)結(jié)構(gòu);之后對傳統(tǒng)的MMSE算法和HP檢測算法以及HP-Net網(wǎng)絡(luò)結(jié)構(gòu)的檢測性能進(jìn)行了仿真對比分析;最后對全文進(jìn)行相關(guān)總結(jié)。
本文考慮大規(guī)模MIMO上行鏈路系統(tǒng),如圖1所示。用戶數(shù)為K,基站端的接收天線數(shù)為N,并且K?N。
圖1 大規(guī)模MIMO上行鏈路系統(tǒng)
y=Hx+n
(1)
式中:H∈CN×K為復(fù)數(shù)信道矩陣;x∈CK×1為發(fā)送信號;y∈CN×1為接收信號;n∈CN×1為復(fù)加性高斯白噪聲,且服從CN(0,δ2)分布(δ2表示方差)。
(2)
由式(2)可知:
W=HHH+δ2I
(3)
(4)
雖然MMSE屬于近優(yōu)算法,但由文獻(xiàn)[16]可以得到,直接計算W-1的復(fù)雜度高達(dá)O(K3)。
HP信號檢測算法[7-8]是由Li等提出的一種低復(fù)雜度線性迭代算法,算法通過求解線性方程組的方式逼近計算出發(fā)送信號,進(jìn)而通過判決恢復(fù)出原始信號。不同于傳統(tǒng)的矩陣求逆,該算法通過構(gòu)建迭代矩陣將復(fù)雜的原矩陣轉(zhuǎn)換為對應(yīng)線性方程組求解,從而避免對矩陣求逆的復(fù)雜求解。
將式(2)轉(zhuǎn)化為式(5)的形式,通過對原矩陣W進(jìn)行矩陣分解,將W等價為兩個矩陣P和Q之和,其中P是一個非奇異矩陣,避免了對W-1的復(fù)雜求解。
(5)
(6)
將式(6)進(jìn)行線性迭代展開:
(7)
算法的迭代收斂條件為
(8)
在文獻(xiàn)[7-8]中證明了在大規(guī)模MIMO系統(tǒng)中,式(8)是可以得到滿足的。而對非奇異矩陣P可按以下步驟進(jìn)行構(gòu)建。將W分成若干個2×2子矩陣,分割后每行的子矩陣數(shù)量為M=K/2。因此,原矩陣W被分割為M×M的子矩陣,矩陣P是所有M個對角線子矩陣的組合結(jié)果,即矩陣P的方程為
(9)
式中:Pi, j和ωi, j分別表示P和W的第i行和第j列元素的值。
因此對P的求逆可以簡單得到。通過式(9)可得矩陣P,對其求逆可通過對2×2子矩陣的求逆并行實現(xiàn),2×2子矩陣求逆如下所示:
(10)
HP檢測算法僅需一定的迭代次數(shù),即可對復(fù)雜的矩陣求逆進(jìn)行有效的避免,從而一定程度上降低復(fù)雜度,然而算法對于迭代次數(shù)并沒有進(jìn)行限制,并且并未明確算法的循環(huán)截止條件,流程如算法1所示。
算法 1 高并行信號檢測算法輸入 H,y,K,Titer,δ2初始化 W=HHH+δ2IPi,j=ωi,j, j-1≤i≤j, i mod 2=1ωi,j, j≤i≤j+1,i mod 2=00, 其他步驟 1 P-1=inv(P)Q=W-Py^=HHyx0=0步驟 2 for k=1:Titerxk+1=-P-1Qxk+P-1y^endfor輸出 xTiter
圖2 一個HP-Net層的流程圖
(11)
式中:f(·)由Relu函數(shù)表示。非線性閾值函數(shù)的選取有很多種[8],通過文獻(xiàn)[14,16]可將閾值函數(shù)設(shè)置為
(12)
其中,t一般取0.000 1。
為了對神經(jīng)網(wǎng)絡(luò)更好的訓(xùn)練,從而得到最優(yōu)的權(quán)重和偏置,對神經(jīng)網(wǎng)絡(luò)給出了對應(yīng)的損失函數(shù):
(13)
另外,利用了殘差網(wǎng)絡(luò)的思想,將每一層網(wǎng)絡(luò)的輸出于前一層網(wǎng)絡(luò)的輸出進(jìn)行了殘差運(yùn)算。具體流程如算法2所示。
算法 2 HP-Net信號檢測算法輸入 H,y,δ2輸出 x^初始化 W=HHH+δ2Iy^=HHyPi,j=ωi,j, j-1≤i≤j,i mod 2=1ωi,j, j≤i≤j+1,i mod 2=00, 其他步驟 1 P-1=inv(P)Q=W-Px(0)=0訓(xùn)練模型步驟 2 for k=1:LM(k)=-P-1Qx(k)+P-1y^R(k)=W(k)·M(k)+B(k)x(k+1)=f(R(k))endfor訓(xùn)練參數(shù) Θ(k)={W(k),B(k)}s.t minimize loss(x;x^k)
將輸入數(shù)據(jù)經(jīng)過輸入層輸入到隱藏層,再將隱藏層得到的數(shù)據(jù)作為下一層的輸入,每一層的輸出將是下一層的輸入,最后一層得到的輸出再經(jīng)過對應(yīng)的非線性變換得到最后的結(jié)果。HP-Net將HP檢測算法中的每一次迭代作為神經(jīng)網(wǎng)絡(luò)中的每一層,即神經(jīng)網(wǎng)絡(luò)的層數(shù)L與HP檢測算法的迭代次數(shù)L相同,每一層的結(jié)果作為下一層的輸出,并通過一個非線性閾值函數(shù)得到最終輸出,如圖3所示。
圖3 HP-Net深層學(xué)習(xí)架構(gòu)
HP迭代算法矩陣求逆運(yùn)算中,將原矩陣分解為若干個2×2的子矩陣。根據(jù)算法流程可知,計算復(fù)雜度主要集中在矩陣矢量乘法運(yùn)算中,在k次迭代,K×K的矩陣Q和K×1的向量Xk進(jìn)行乘法運(yùn)算,其復(fù)雜度為(K-2)×K,其他運(yùn)算的復(fù)雜度可忽略不計,在一次迭代中實現(xiàn)的并行性是K,所需的乘法是K2,從而整體上的算法復(fù)雜度為O(K2)[7-8]。
表1對比了HP算法、HP-Net與NSA[6]算法復(fù)雜度隨迭代次數(shù)變化關(guān)系。與HP算法的表達(dá)式相比,HP-Net也沒有復(fù)雜的矩陣求逆運(yùn)算,其是基于HP算法與神經(jīng)網(wǎng)絡(luò)的結(jié)合,僅在訓(xùn)練中添加了部分可訓(xùn)練的參數(shù)Θ(k),從而增加了神經(jīng)元節(jié)點間的乘法運(yùn)算,因此復(fù)雜度是在HP復(fù)雜度的基礎(chǔ)上加上神經(jīng)網(wǎng)絡(luò)參數(shù)訓(xùn)練的額外計算量O(K2)+O(K),但HP-Net整體復(fù)雜度數(shù)量級依舊沒有發(fā)生改變,為O(K2)。另外,由于HP-Net在建立模型時為離線訓(xùn)練數(shù)據(jù),模型訓(xùn)練參數(shù)可以被存儲,因此檢測過程中不需要重復(fù)訓(xùn)練網(wǎng)絡(luò),且經(jīng)訓(xùn)練后的模型網(wǎng)絡(luò)層數(shù)遠(yuǎn)低于HP算法的迭代次數(shù),線上檢測時模型僅需要計算有限次的矩陣乘法與加法,相較于經(jīng)典檢測算法的高復(fù)雜度,其整體檢測復(fù)雜度更低。
表1 并行性與復(fù)雜度對比
表2對比了HP算法、HP-Net、MMSE算法與NSA算法整體復(fù)雜度的數(shù)量級,注意到MMSE算法與NSA算法的復(fù)雜度均為O(K3),因此HP-Net相對于MMSE與NSA算法的復(fù)雜度均降低了一個數(shù)量級。
表2 各檢測算法復(fù)雜度
表3對比了HP-Net與經(jīng)典DET-Net[12-13]算法的參數(shù)個數(shù)。由圖2可知,單層HP-Net網(wǎng)絡(luò)只有兩個可學(xué)習(xí)參數(shù),因此在總共L層的HP-Net架構(gòu)中,可訓(xùn)練參數(shù)總數(shù)為2L。并且對于HP-Net網(wǎng)絡(luò)架構(gòu),可訓(xùn)練參數(shù)數(shù)量僅與網(wǎng)絡(luò)層數(shù)有關(guān),不受用戶數(shù)和接收天線數(shù)的影響,因此在訓(xùn)練過程中可以有效提高網(wǎng)絡(luò)的收斂速度。此外,相對于DET-Net架構(gòu),HP-Net大大降低了訓(xùn)練次數(shù)以及訓(xùn)練參數(shù),并能夠?qū)崿F(xiàn)相同甚至更好的誤(bit error rate, BER)碼率性能。因此,HP-Net能夠成為實現(xiàn)大規(guī)模MIMO系統(tǒng)中快速信號檢測的一個較好的實現(xiàn)方法。
表3 HP-Net與DET-Net架構(gòu)對比
本文中使用Python3.6,在TensorFlow框架下構(gòu)建神經(jīng)網(wǎng)絡(luò),采用Adam Optimizer優(yōu)化器進(jìn)行訓(xùn)練參數(shù)優(yōu)化[17]。初始值設(shè)置為0,初始學(xué)習(xí)率設(shè)置為0.000 1,并且學(xué)習(xí)率隨著神經(jīng)網(wǎng)絡(luò)的層次的疊加發(fā)生對應(yīng)的變化。在神經(jīng)網(wǎng)絡(luò)中,選取批量大小為3K(K代表1 000)個,迭代大小為10K個,用戶端設(shè)置為16個單天線用戶,基站端的天線數(shù)量設(shè)置為128個,調(diào)制方式為二進(jìn)制相移鍵控(binary phase shift keying, BPSK),傳輸信道為瑞利衰落信道。以近優(yōu)的MMSE算法作為參考,比較HP傳統(tǒng)算法和基于深度學(xué)習(xí)的HP算法的性能。
圖4對HP檢測算法與HP-Net架構(gòu)在不同SNR的情況下BER性能進(jìn)行了對比。從圖4中可以看出,HP-Net算法相比于HP檢測算法而言有著明顯的優(yōu)勢,如在3層HP-Net算法比3次迭代的HP檢測算法相比,BER為10-3時SNR提高了1.5 dB。并且,HP-Net算法在層數(shù)為3時BER性能已經(jīng)超過了HP檢測算法迭代11次的BER性能。
圖4 HP-Net架構(gòu)的BER性能對比
圖5給出了MMSE算法、HP檢測算法以及HP-Net架構(gòu)在不同SNR情況下BER性能。仿真以MMSE作為參考對比,從圖5中可以看出,HP-Net算法在層數(shù)為3時就十分接近于MMSE算法的性能,當(dāng)層數(shù)為4時,BER性能已經(jīng)超過了MMSE算法,這也是傳統(tǒng)線性檢測算法幾乎無法達(dá)到的性能。
圖5 各檢測算法的BER性能對比
圖6是信道SNR為10 dB,接收端天線數(shù)為128,網(wǎng)絡(luò)層數(shù)設(shè)置為3 層時,對比HP-Net、HP算法與MMSE算法在不同用戶數(shù)情況下的BER性能。以MMSE作為參考對比,由圖6可知,在相同的仿真條件下,系統(tǒng)整體誤碼性能隨著用戶端用戶數(shù)目的增加逐漸變差,其中可以發(fā)現(xiàn)HP算法變化最為明顯。隨著用戶數(shù)增加,MMSE算法與HP-Net誤碼變化基本吻合,性能接近,因此在不同的用戶數(shù)條件下,HP-Net算法能夠在一定程度上逼近MMSE算法性能。
圖6 HP-Net和MMSE算法與用戶數(shù)的關(guān)系
圖7給出了MMSE算法、DET-Net架構(gòu)以及HP-Net架構(gòu)在不同SNR情況下的BER性能。以MMSE作為參考對比,從圖7中可以看出,在相同的仿真條件下,HP-Net算法在層數(shù)為3時即可達(dá)到DET-Net網(wǎng)絡(luò)層數(shù)為14時的性能,在相同的網(wǎng)絡(luò)層數(shù)時其性能遠(yuǎn)遠(yuǎn)優(yōu)于DET-Net架構(gòu),且達(dá)到MMSE算法的性能時網(wǎng)絡(luò)層數(shù)更少,性能更優(yōu)。
圖7 HP-Net與DET-Net架構(gòu)的BER性能對比
圖8是當(dāng)SNR條件為10 dB時,HP-Net、MMSE、DET-Net以及HP檢測算法的收斂情況對比。從圖8中可知,隨著層數(shù)(迭代次數(shù))的不斷增加,4種算法表現(xiàn)出明顯不同的收斂情況??梢钥闯?當(dāng)層數(shù)為3時HP-Net算法性能與MMSE算法接近,4層之后性能明顯超出,而相較于傳統(tǒng)的HP檢測算法,HP-Net的性能優(yōu)勢更為明顯,并且與DET-Net算法相比,在相同條件下收斂速度更快,BER更低。
圖8 BER性能與迭代次數(shù)的關(guān)系
圖9是當(dāng)網(wǎng)絡(luò)層數(shù)為3層,接收端天線數(shù)為128,SNR條件為10 dB時HP-Net與MMSE算法相對運(yùn)行時間的對比,進(jìn)而比較兩種檢測算法的計算復(fù)雜度。從圖9中可以看出,隨著用戶端用戶數(shù)目的增加,MMSE算法耗時上升趨勢快速,而HP-Net耗時上升趨勢相對平穩(wěn)。因此,相較于MMSE算法,HP-Net在大規(guī)模MIMO信號檢測中達(dá)到類似性能的計算復(fù)雜度較低。
圖9 HP-Net算法和MMSE算法運(yùn)行時間比較
本文對大規(guī)模MIMO上行鏈路系統(tǒng)的信號檢測問題進(jìn)行了研究,基于神經(jīng)網(wǎng)絡(luò)和一種HP檢測算法提出了HP-Net網(wǎng)絡(luò)架構(gòu),與在相同迭代次數(shù)下的HP檢測算法進(jìn)行對比,檢測效果有了一定的提高,并且相比于MMSE算法,不僅復(fù)雜度有了明顯的降低,而且還實現(xiàn)了更快的收斂速度和更優(yōu)的BER性能。將傳統(tǒng)的迭代算法與神經(jīng)網(wǎng)絡(luò)相結(jié)合,從而形成一定的深度學(xué)習(xí)網(wǎng)絡(luò)架構(gòu),為信號檢測算法與深度學(xué)習(xí)網(wǎng)絡(luò)架構(gòu)研究提供了一條途徑。