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