許耀華, 朱成龍, 王 翊, 蔣 芳, 丁夢琴, 王慧平
(安徽大學計算智能與信號處理教育部重點實驗室, 安徽 合肥 230601)
大規模多輸入多輸出(multiple input multiple output, MIMO)系統是5G的關鍵技術之一,高頻譜效率和足夠的空間自由度使得其成為學術界研究熱點。大規模MIMO也面臨許多挑戰,如信號接收檢測[1]。由于檢測問題是非確定性多項式(non-deterministic polynomial, NP)完備問題,計算復雜,已有多項式復雜度的次最優解決方案。機器學習領域的深度神經網絡在解決很多工程領域問題上的成功,表明基于機器學習數據驅動的檢測方法具備計算效率高、接近最佳的檢測性能的特點[2]。
在大規模MIMO檢測算法中,最大似然估計(maximum likelihood, ML)算法窮盡搜索方式找到最優解,但卻有著指數級的復雜度,隨著天線數量的增多,在實際系統中難以實現[3]。為了降低ML算法的計算成本,人們開始尋求近優的檢測算法。長期演進(long term evolution, LTE)系統小規模MIMO檢測通常使用線性檢測算法,如迫零(zero forcing, ZF)算法和最小均方誤差(minimum mean square error, MMSE)算法[4-5],基于矩陣求逆,諾依曼級數近似(Neumann series approximation, NSA)算法將其轉換為一系列矩陣矢量乘法[6]。隨著5G大規模MIMO用戶數的增加,其計算復雜度也變得相當大,這些算法在實際系統中難以實現。為了進一步降低矩陣求逆帶來的計算復雜度,Li等[7-8]提出了一種高并行(high-parallelism, HP)檢測算法,通過構建迭代矩陣將復雜的原矩陣反轉為線性方程組進行求解,并詳細證明了其收斂性,算法并行實現方法和復雜度分析表明,并行度可以與矩陣維數相同,與傳統的MMSE算法相比,復雜度可以降低一個數量級。
近年來,在計算機視覺與自然語言處理等領域,深度學習得到了廣泛的應用。同樣,有部分學者開始將深度學習方法應用到通信領域[9-11],通過許多的非線性單元和神經網絡的結構,從而設計出適用于信號檢測方面的神經網絡,例如Samuel等[12-13]基于投影梯度下降法提出了基于模型驅動的信號檢測網絡(detection network, DET-Net),將ML與梯度下降算法相結合,生成一個神經網絡架構;張曉羽等[14]提出了一種去噪稀疏的連接檢測網絡(denoising sparsely connected detection network, DS-Net), 通過將全連接網絡修改為稀疏連接的簡化網絡,從而在一定程度上減少了訓練參數;胡鐘秀等[15]通過在原有的簡化近似消息傳遞(simplified approximate message passing,SAMP)迭代檢測器中增加一些可訓練參數,利用深度學習的方法獲得最優參數提出簡化近似消息傳遞網絡(simplified approximate message passing network, SAMP-Net),提高了原迭代檢測器的性能等。對于設計深層網絡架構的比較有前景的方式將是對現有迭代算法的展開,將迭代算法的每一次迭代過程視為神經網絡中的一個層級,從而將迭代算法變成深層網絡結構。
本文將深度學習與一種HP檢測算法相結合,提出一種新的HP網絡(HP network, HP-Net),用于MIMO檢測。在不同的信道和不同信噪比(signal to noise ratio, SNR)的情況下,HP算法迭代收斂的速度并不相同,本文提出的方案中,將HP算法與深度學習結合,HP算法的每一次迭代作為一個單層網絡,通過非線性神經元和相關權重偏置的訓練,從而實現較低的誤碼率。
本文主要的研究工作如下:首先介紹MIMO系統模型和MIMO檢測算法;然后描述了基于HP檢測算法和深度學習提出的HP-Net神經網絡結構;之后對傳統的MMSE算法和HP檢測算法以及HP-Net網絡結構的檢測性能進行了仿真對比分析;最后對全文進行相關總結。
本文考慮大規模MIMO上行鏈路系統,如圖1所示。用戶數為K,基站端的接收天線數為N,并且K?N。

圖1 大規模MIMO上行鏈路系統

y=Hx+n
(1)
式中:H∈CN×K為復數信道矩陣;x∈CK×1為發送信號;y∈CN×1為接收信號;n∈CN×1為復加性高斯白噪聲,且服從CN(0,δ2)分布(δ2表示方差)。

(2)

由式(2)可知:
W=HHH+δ2I
(3)
(4)
雖然MMSE屬于近優算法,但由文獻[16]可以得到,直接計算W-1的復雜度高達O(K3)。
HP信號檢測算法[7-8]是由Li等提出的一種低復雜度線性迭代算法,算法通過求解線性方程組的方式逼近計算出發送信號,進而通過判決恢復出原始信號。不同于傳統的矩陣求逆,該算法通過構建迭代矩陣將復雜的原矩陣轉換為對應線性方程組求解,從而避免對矩陣求逆的復雜求解。
將式(2)轉化為式(5)的形式,通過對原矩陣W進行矩陣分解,將W等價為兩個矩陣P和Q之和,其中P是一個非奇異矩陣,避免了對W-1的復雜求解。

(5)

(6)
將式(6)進行線性迭代展開:
(7)
算法的迭代收斂條件為
(8)
在文獻[7-8]中證明了在大規模MIMO系統中,式(8)是可以得到滿足的。而對非奇異矩陣P可按以下步驟進行構建。將W分成若干個2×2子矩陣,分割后每行的子矩陣數量為M=K/2。因此,原矩陣W被分割為M×M的子矩陣,矩陣P是所有M個對角線子矩陣的組合結果,即矩陣P的方程為
(9)
式中:Pi, j和ωi, j分別表示P和W的第i行和第j列元素的值。
因此對P的求逆可以簡單得到。通過式(9)可得矩陣P,對其求逆可通過對2×2子矩陣的求逆并行實現,2×2子矩陣求逆如下所示:
(10)
HP檢測算法僅需一定的迭代次數,即可對復雜的矩陣求逆進行有效的避免,從而一定程度上降低復雜度,然而算法對于迭代次數并沒有進行限制,并且并未明確算法的循環截止條件,流程如算法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函數表示。非線性閾值函數的選取有很多種[8],通過文獻[14,16]可將閾值函數設置為
(12)
其中,t一般取0.000 1。
為了對神經網絡更好的訓練,從而得到最優的權重和偏置,對神經網絡給出了對應的損失函數:
(13)
另外,利用了殘差網絡的思想,將每一層網絡的輸出于前一層網絡的輸出進行了殘差運算。具體流程如算法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訓練參數 Θ(k)={W(k),B(k)}s.t minimize loss(x;x^k)
將輸入數據經過輸入層輸入到隱藏層,再將隱藏層得到的數據作為下一層的輸入,每一層的輸出將是下一層的輸入,最后一層得到的輸出再經過對應的非線性變換得到最后的結果。HP-Net將HP檢測算法中的每一次迭代作為神經網絡中的每一層,即神經網絡的層數L與HP檢測算法的迭代次數L相同,每一層的結果作為下一層的輸出,并通過一個非線性閾值函數得到最終輸出,如圖3所示。

圖3 HP-Net深層學習架構
HP迭代算法矩陣求逆運算中,將原矩陣分解為若干個2×2的子矩陣。根據算法流程可知,計算復雜度主要集中在矩陣矢量乘法運算中,在k次迭代,K×K的矩陣Q和K×1的向量Xk進行乘法運算,其復雜度為(K-2)×K,其他運算的復雜度可忽略不計,在一次迭代中實現的并行性是K,所需的乘法是K2,從而整體上的算法復雜度為O(K2)[7-8]。
表1對比了HP算法、HP-Net與NSA[6]算法復雜度隨迭代次數變化關系。與HP算法的表達式相比,HP-Net也沒有復雜的矩陣求逆運算,其是基于HP算法與神經網絡的結合,僅在訓練中添加了部分可訓練的參數Θ(k),從而增加了神經元節點間的乘法運算,因此復雜度是在HP復雜度的基礎上加上神經網絡參數訓練的額外計算量O(K2)+O(K),但HP-Net整體復雜度數量級依舊沒有發生改變,為O(K2)。另外,由于HP-Net在建立模型時為離線訓練數據,模型訓練參數可以被存儲,因此檢測過程中不需要重復訓練網絡,且經訓練后的模型網絡層數遠低于HP算法的迭代次數,線上檢測時模型僅需要計算有限次的矩陣乘法與加法,相較于經典檢測算法的高復雜度,其整體檢測復雜度更低。

表1 并行性與復雜度對比
表2對比了HP算法、HP-Net、MMSE算法與NSA算法整體復雜度的數量級,注意到MMSE算法與NSA算法的復雜度均為O(K3),因此HP-Net相對于MMSE與NSA算法的復雜度均降低了一個數量級。

表2 各檢測算法復雜度
表3對比了HP-Net與經典DET-Net[12-13]算法的參數個數。由圖2可知,單層HP-Net網絡只有兩個可學習參數,因此在總共L層的HP-Net架構中,可訓練參數總數為2L。并且對于HP-Net網絡架構,可訓練參數數量僅與網絡層數有關,不受用戶數和接收天線數的影響,因此在訓練過程中可以有效提高網絡的收斂速度。此外,相對于DET-Net架構,HP-Net大大降低了訓練次數以及訓練參數,并能夠實現相同甚至更好的誤(bit error rate, BER)碼率性能。因此,HP-Net能夠成為實現大規模MIMO系統中快速信號檢測的一個較好的實現方法。

表3 HP-Net與DET-Net架構對比
本文中使用Python3.6,在TensorFlow框架下構建神經網絡,采用Adam Optimizer優化器進行訓練參數優化[17]。初始值設置為0,初始學習率設置為0.000 1,并且學習率隨著神經網絡的層次的疊加發生對應的變化。在神經網絡中,選取批量大小為3K(K代表1 000)個,迭代大小為10K個,用戶端設置為16個單天線用戶,基站端的天線數量設置為128個,調制方式為二進制相移鍵控(binary phase shift keying, BPSK),傳輸信道為瑞利衰落信道。以近優的MMSE算法作為參考,比較HP傳統算法和基于深度學習的HP算法的性能。
圖4對HP檢測算法與HP-Net架構在不同SNR的情況下BER性能進行了對比。從圖4中可以看出,HP-Net算法相比于HP檢測算法而言有著明顯的優勢,如在3層HP-Net算法比3次迭代的HP檢測算法相比,BER為10-3時SNR提高了1.5 dB。并且,HP-Net算法在層數為3時BER性能已經超過了HP檢測算法迭代11次的BER性能。

圖4 HP-Net架構的BER性能對比
圖5給出了MMSE算法、HP檢測算法以及HP-Net架構在不同SNR情況下BER性能。仿真以MMSE作為參考對比,從圖5中可以看出,HP-Net算法在層數為3時就十分接近于MMSE算法的性能,當層數為4時,BER性能已經超過了MMSE算法,這也是傳統線性檢測算法幾乎無法達到的性能。

圖5 各檢測算法的BER性能對比
圖6是信道SNR為10 dB,接收端天線數為128,網絡層數設置為3 層時,對比HP-Net、HP算法與MMSE算法在不同用戶數情況下的BER性能。以MMSE作為參考對比,由圖6可知,在相同的仿真條件下,系統整體誤碼性能隨著用戶端用戶數目的增加逐漸變差,其中可以發現HP算法變化最為明顯。隨著用戶數增加,MMSE算法與HP-Net誤碼變化基本吻合,性能接近,因此在不同的用戶數條件下,HP-Net算法能夠在一定程度上逼近MMSE算法性能。

圖6 HP-Net和MMSE算法與用戶數的關系
圖7給出了MMSE算法、DET-Net架構以及HP-Net架構在不同SNR情況下的BER性能。以MMSE作為參考對比,從圖7中可以看出,在相同的仿真條件下,HP-Net算法在層數為3時即可達到DET-Net網絡層數為14時的性能,在相同的網絡層數時其性能遠遠優于DET-Net架構,且達到MMSE算法的性能時網絡層數更少,性能更優。

圖7 HP-Net與DET-Net架構的BER性能對比
圖8是當SNR條件為10 dB時,HP-Net、MMSE、DET-Net以及HP檢測算法的收斂情況對比。從圖8中可知,隨著層數(迭代次數)的不斷增加,4種算法表現出明顯不同的收斂情況。可以看出,當層數為3時HP-Net算法性能與MMSE算法接近,4層之后性能明顯超出,而相較于傳統的HP檢測算法,HP-Net的性能優勢更為明顯,并且與DET-Net算法相比,在相同條件下收斂速度更快,BER更低。

圖8 BER性能與迭代次數的關系
圖9是當網絡層數為3層,接收端天線數為128,SNR條件為10 dB時HP-Net與MMSE算法相對運行時間的對比,進而比較兩種檢測算法的計算復雜度。從圖9中可以看出,隨著用戶端用戶數目的增加,MMSE算法耗時上升趨勢快速,而HP-Net耗時上升趨勢相對平穩。因此,相較于MMSE算法,HP-Net在大規模MIMO信號檢測中達到類似性能的計算復雜度較低。

圖9 HP-Net算法和MMSE算法運行時間比較
本文對大規模MIMO上行鏈路系統的信號檢測問題進行了研究,基于神經網絡和一種HP檢測算法提出了HP-Net網絡架構,與在相同迭代次數下的HP檢測算法進行對比,檢測效果有了一定的提高,并且相比于MMSE算法,不僅復雜度有了明顯的降低,而且還實現了更快的收斂速度和更優的BER性能。將傳統的迭代算法與神經網絡相結合,從而形成一定的深度學習網絡架構,為信號檢測算法與深度學習網絡架構研究提供了一條途徑。