廖勇,程港,李玉杰
(重慶大學(xué)微電子與通信工程學(xué)院,重慶 400044)
大規(guī)模多輸入多輸出(MIMO,multiple input multiple output)技術(shù)憑借其高能量效率、高頻譜效率和大系統(tǒng)容量等優(yōu)勢成為下一代移動通信的關(guān)鍵技術(shù)之一[1]。為了充分利用大規(guī)模MIMO 技術(shù)帶來的潛在性能增益,基站需要獲取足夠精確的下行鏈路信道狀態(tài)信息(CSI,channel state information)[2]。在時分雙工(TDD,time division duplex)大規(guī)模MIMO 系統(tǒng)中,可以利用上下行信道的互易性來獲得CSI。但是在頻分雙工(FDD,frequency division duplexing)大規(guī)模MIMO 系統(tǒng)中,用戶必須先估計(jì)下行鏈路CSI,再通過上行鏈路反饋回基站[3]。由于大規(guī)模MIMO CSI 矩陣具備角度時延域稀疏特性,壓縮感知[4]可以被應(yīng)用于CSI 反饋。雖然壓縮感知理論與大規(guī)模MIMO 的CSI 反饋模型比較貼合,但目前依然存在一些技術(shù)挑戰(zhàn),因此研究人員開始關(guān)注深度學(xué)習(xí)在CSI 領(lǐng)域的應(yīng)用。文獻(xiàn)[5]提出了第一個FDD 大規(guī)模MIMO 的CSI 反饋網(wǎng)絡(luò)CsiNet,它是一種通過引入自編碼器結(jié)構(gòu)[6],并且模擬壓縮感知框架構(gòu)建的高反饋精度的網(wǎng)絡(luò),相比于傳統(tǒng)的壓縮感知方法,有較好的反饋性能和更低的復(fù)雜度。為了進(jìn)一步提升網(wǎng)絡(luò)的恢復(fù)效果,文獻(xiàn)[7]在CsiNet 的基礎(chǔ)上提出了CsiNet+,該網(wǎng)絡(luò)在用戶設(shè)備處利用更大卷積核的卷積層增加CSI 矩陣的感受野,提取更多的深層次特征,在基站處利用更多的卷積網(wǎng)絡(luò)提高CSI 重構(gòu)精度。針對快時變FDD大規(guī)模MIMO 系統(tǒng)中因多普勒頻移導(dǎo)致的信道時間相關(guān)性使系統(tǒng)無法保證高可靠和低時延通信的問題,文獻(xiàn)[8]利用卷積神經(jīng)網(wǎng)絡(luò)(CNN,convolutional neural network)和批標(biāo)準(zhǔn)化網(wǎng)絡(luò)對CSI 矩陣中的噪聲進(jìn)行提取并且學(xué)習(xí)信道的空間結(jié)構(gòu),通過注意力機(jī)制提取CSI 矩陣間的時間相關(guān)性以提高CSI 重構(gòu)的精度。在高速移動環(huán)境下,信道特征復(fù)雜多變,同時存在加性噪聲和非線性效應(yīng)的影響,文獻(xiàn)[9]提出一種殘差混合網(wǎng)絡(luò),可消除高速移動場景加性噪聲的影響,學(xué)習(xí)并適應(yīng)稀疏、雙選衰落信道特征,在高壓縮率與低信噪比條件下依然具有較好的性能表現(xiàn)。針對FDD 模式下CSI 反饋方法復(fù)雜度高、精度低和開銷大的問題,文獻(xiàn)[10]提出了一種輕量化低復(fù)雜度的反饋方法,該方法在時間復(fù)雜度和空間復(fù)雜度上均有良好的表現(xiàn)。
值得注意的是,大多數(shù)的深度學(xué)習(xí)方法需要依靠大量已分類標(biāo)記的數(shù)據(jù)來進(jìn)行神經(jīng)網(wǎng)絡(luò)的訓(xùn)練,因此這種方法也被稱為基于數(shù)據(jù)驅(qū)動的深度學(xué)習(xí)方法,但該方法不具備可解釋性。針對上述問題,研究人員發(fā)現(xiàn)將傳統(tǒng)的經(jīng)典非線性迭代算法與深度學(xué)習(xí)的網(wǎng)絡(luò)參數(shù)訓(xùn)練相結(jié)合,可以減小對大量標(biāo)記數(shù)據(jù)的強(qiáng)依賴性,同時具備一定的理論保障和性能下限。這種通過結(jié)合經(jīng)典非線性迭代算法的可解釋性和深度學(xué)習(xí)高性能的方法被稱作“深度展開”[11]。文獻(xiàn)[12]提出一種多任務(wù)神經(jīng)網(wǎng)絡(luò)結(jié)構(gòu),通過展開基于最小均方誤差準(zhǔn)則的兩次迭代來恢復(fù)下行鏈路的CSI 和上行用戶的數(shù)據(jù)序列,在減少上行鏈路帶寬資源占用方面表現(xiàn)優(yōu)異。文獻(xiàn)[13]提出基于深度卷積神經(jīng)網(wǎng)絡(luò)的馬爾可夫模型對前向CSI 進(jìn)行差分編碼,能有效提高CSI 重構(gòu)精度。文獻(xiàn)[14]將快速迭代收縮閾值算法(FISTA,fast iterative shrinkage thresholding algorithm)展開為FISTA-Net 并且作為大規(guī)模MIMO的CSI反饋算法,獲得了優(yōu)異的性能。
針對基于深度學(xué)習(xí)的CSI 反饋算法存在待訓(xùn)練參數(shù)過多、可解釋性不強(qiáng)的問題,本文提出了2 種基于深度展開的CSI 反饋算法,以近似消息傳遞(AMP,approximate message passing)[15]作為深度展開的基準(zhǔn)算法,從2 個視角分別展開得到了基于可學(xué)習(xí)參數(shù)的 AMP(LP-AMP,learnable parameters-AMP)算法和基于卷積網(wǎng)絡(luò)的AMP(CNN-AMP,convolutional neural network-AMP)算法。本文的主要貢獻(xiàn)如下:1) LP-AMP 算法通過改進(jìn)AMP 中的閾值函數(shù)和Onsager 項(xiàng)來解決CSI 矩陣非嚴(yán)格稀疏的問題;2) 隨著這種非嚴(yán)格稀疏性的加強(qiáng),在LP-AMP 算法的基礎(chǔ)上提出了利用卷積殘差學(xué)習(xí)網(wǎng)絡(luò)改進(jìn)閾值函數(shù)模塊的 CNN-AMP 算法,與LP-AMP 相比,CNN-AMP 在犧牲了一些復(fù)雜度的情況下,獲得了更加明顯的重構(gòu)效果;3) 所提的基于深度展開的CSI 反饋算法既具有壓縮感知算法的可解釋性理論保障,又具有深度學(xué)習(xí)方法的高性能表現(xiàn),可以為FDD 大規(guī)模MIMO CSI 反饋領(lǐng)域的研究提供一些可行的思路。
本文針對單小區(qū)大規(guī)模MIMO 的通信系統(tǒng),基站配備有Nt根發(fā)射天線,天線陣列方式采用均勻線性陣列,用戶端配備有單根接收天線。采用正交頻分復(fù)用系統(tǒng),并有Ns個子載波,因此接收向量y可以建模為
其中,y是維度為Ns×1 的復(fù)數(shù)接收向量;x是Ns×1的復(fù)數(shù)發(fā)射向量;n是Ns×1的加性高斯白噪聲向量;是Ns×Nt的復(fù)數(shù)CSI 信道矩陣,其中行向量為每個子載波下的空域信道矢量,列向量為頻域信道矢量;U是Nt×Ns的復(fù)數(shù)預(yù)編碼矩陣。如果以空頻域矩陣作為反饋矩陣的基準(zhǔn),那么CSI 矩陣就是,此時的反饋總量是NsNt,這會占據(jù)大量的系統(tǒng)資源,因此需要設(shè)計(jì)低復(fù)雜度高反饋精度的有限CSI 反饋方法。
考慮到CSI 矩陣具備角度時延域的稀疏特性,為了降低CSI 的反饋開銷,將角度和時延域的稀疏特性全部應(yīng)用于空頻域矩陣,經(jīng)過兩次矩陣乘積的離散傅里葉變換(DFT,discrete Fourier transform),即可得到角度時延域稀疏CSI 矩陣為
將上述經(jīng)DFT 稀疏和截?cái)嘀蟮腃SI 矩陣H作為待反饋矩陣,深度展開CSI 反饋模型如圖1 所示。首先,將用戶端估計(jì)得到的CSI 矩陣H經(jīng)向量化和拼接得到長度為N=的實(shí)數(shù)稀疏向量x,在得到稀疏的待反饋向量x之后,測量矩陣使用獨(dú)立同分布高斯隨機(jī)矩陣A進(jìn)行壓縮。將矩陣的壓縮和重構(gòu)2 個過程分別使用編碼器和解碼器進(jìn)行描述,編碼器在用戶設(shè)備處,解碼器在基站處。編碼過程表示為
圖1 深度展開CSI 反饋模型
其中,y表示長度為M的測量向量,fen(·) 表示編碼器函數(shù),Re(·) 表示取向量的實(shí)部,Im(·) 表示取向量的虛部,vec(·) 表示向量化操作。
y通過反饋信道到達(dá)基站,為了便于區(qū)分,以表示基站端接收到的測量向量,基站通過深度展開的AMP 算法恢復(fù)為第k次迭代的重構(gòu)向量xk,然后反變換回CSI 稀疏矩陣,即可完成CSI 的反饋流程。解碼過程表示為
其中,fde(·) 表示解碼器函數(shù)。最終的訓(xùn)練過程是將fen(·) 和fde(·) 聯(lián)立在一起進(jìn)行端到端的訓(xùn)練,這種端到端的訓(xùn)練過程可表示為
其中,fall(·) 是編碼器和解碼器聯(lián)立后的變換函數(shù),Θ={Θen,Θde}是網(wǎng)絡(luò)的參數(shù)集合,Θen是編碼器參數(shù),Θde是解碼器參數(shù),Hi是第i例訓(xùn)練樣本。
深度展開模型由多個計(jì)算模塊組成,每個計(jì)算模塊對應(yīng)非線性迭代算法中的一次迭代。文獻(xiàn)[16]指出,將深度學(xué)習(xí)方法與現(xiàn)有通信領(lǐng)域中的經(jīng)典非線性迭代算法結(jié)合已成為近年來的研究熱點(diǎn),并且已經(jīng)應(yīng)用到預(yù)編碼、信號檢測和信道解碼等處理中。深度展開模型架構(gòu)如圖2 所示。
圖2 深度展開模型架構(gòu)
深度展開模型包括3 個部分,即數(shù)學(xué)模型、迭代算法和深度網(wǎng)絡(luò)。在應(yīng)用中將具體的實(shí)際問題抽象為數(shù)學(xué)模型,根據(jù)相關(guān)的數(shù)學(xué)理論推導(dǎo)得到具體的迭代算法,將迭代算法每輪迭代的計(jì)算式展開為深度網(wǎng)絡(luò)中的一層,利用可學(xué)習(xí)參數(shù)或神經(jīng)網(wǎng)絡(luò)替換原始迭代算法中每輪迭代中的超參數(shù)或某個計(jì)算模塊。
AMP 算法[15]很好地繼承了迭代閾值算法的優(yōu)勢,又融入了消息傳遞算法的精髓。假設(shè)初始化重構(gòu)向量x0=ATy,殘差向量z-1=y,第t(t≥ 0)次迭代可表示為
其中,u為軟閾值函數(shù)的輸入。
根據(jù)文獻(xiàn)[17],Onsager 校正項(xiàng)中的bt與閾值λt為
其中,ε是一個與稀疏度和測量向量長度M有關(guān)的可調(diào)數(shù)值。AMP 算法與FISTA 相似,不同之處在于AMP 算法在殘差向量更新時增加了Onsager 校正項(xiàng),并且迭代閾值在每輪迭代中都會通過殘差向量和測量向量長度M進(jìn)行調(diào)整。AMP 計(jì)算模塊如圖3 所示。
圖3 AMP 計(jì)算模塊
圖3 展示了AMP 算法迭代式中的每一個計(jì)算模塊,AMP 算法的流程如算法1 所示。
算法1AMP 算法
輸入測量向量y,高斯隨機(jī)矩陣A
輸出重構(gòu)向量xt+1
初始化重構(gòu)向量x0=ATy,殘差向量z-1=y,迭代次數(shù)t=1
步驟3t=t+1,若t<N,返回步驟1,若t=N,迭代結(jié)束;
本節(jié)對基于可學(xué)習(xí)參數(shù)的 AMP 反饋算法LP-AMP 的展開結(jié)構(gòu)進(jìn)行描述。具體而言,通過引入深度學(xué)習(xí)中梯度下降法更新網(wǎng)絡(luò)參數(shù),優(yōu)化AMP算法中的迭代更新參數(shù),將算法的每輪迭代展開為深度網(wǎng)絡(luò)中的一層,再將多個這樣的層堆疊,在模型訓(xùn)練的過程中逐漸優(yōu)化每層中不同的可學(xué)習(xí)參數(shù),使模型以更少的迭代層數(shù)更快地收斂。LP-AMP的中間展開計(jì)算模塊如圖4 所示。
圖4 LP-AMP 的中間展開計(jì)算模塊
輸入層對進(jìn)入迭代中的x t和z t進(jìn)行初始化操作,輸出層將迭代至最后的x k作為LP-AMP 的最后輸出,中間展開計(jì)算模塊的 R(·) 和 N(·) 函數(shù)是引入可學(xué)習(xí)參數(shù)α t向量和β t參數(shù)的2 個可學(xué)習(xí)模塊。LP-AMP 算法的初始化和中間展開式可以表示為
其中,x0的初始化是通過將采樣矩陣的轉(zhuǎn)置AT作為可學(xué)習(xí)矩陣Q的初始化,在不斷訓(xùn)練的過程中,調(diào)整矩陣Q的分布,增強(qiáng)初始重構(gòu)效果;α t是第t層展開中的可學(xué)習(xí)向量;β t是第t層展開中的可學(xué)習(xí)參數(shù)。對于展開式中的 R(·) 和 N(·) 模塊,R(·) 模塊對應(yīng)原始AMP 算法中的閾值函數(shù)η(·) 部分,與閾值函數(shù)有所不同;N(·) 模塊則對應(yīng)于Onsager 項(xiàng)部分中的對x t的0 范數(shù)計(jì)算過程。
閾值函數(shù)η(·) 和 R(·) 模塊的對比如圖5 所示。
圖5 閾值函數(shù) η (·) 和 R(·) 模塊的對比
從圖5 可以看出,原始的CSI 數(shù)據(jù)并非嚴(yán)格稀疏,大多數(shù)的數(shù)據(jù)非常接近0,但是并不為0。閾值函數(shù)η(·) 則在一次更新迭代的情況下將絕對值小于閾值λt的參數(shù)嚴(yán)格置0,這破壞了原始信號的細(xì)節(jié)(即小于閾值但不為0 的點(diǎn)在重構(gòu)信號中被刪除)。本文將原始的閾值函數(shù)η(·) 替換成 R(·) 計(jì)算模塊,是為了加強(qiáng)閾值函數(shù)在應(yīng)對非嚴(yán)格稀疏數(shù)據(jù)時的非線性表征能力。與η(·) 閾值函數(shù)不同的是,R (·) 模塊引入可學(xué)習(xí)向量αt來提升整體的變換效果,計(jì)算式為
其中,α t∈RN是長度為N的可學(xué)習(xí)參數(shù)向量,它的長度與重構(gòu)向量x t的長度相同,即N=。R(·) 模塊的計(jì)算式使不會有小于閾值的點(diǎn)被嚴(yán)格置0,并且每個數(shù)據(jù)點(diǎn)都有一個可學(xué)習(xí)參數(shù)進(jìn)行調(diào)整。
N(·) 模塊對應(yīng)于AMP 算法中Onsager 中求解x t的0 范數(shù)部分,x t的0 范數(shù)是指向量x t中的非零元素的數(shù)目。但是通過 R(·) 模塊處理后的數(shù)據(jù)幾乎不存在嚴(yán)格為0 的數(shù)據(jù),因此 N(·) 模塊中對0 范數(shù)的處理同樣需要通過可學(xué)習(xí)參數(shù)來模擬。具體而言,將可學(xué)習(xí)參數(shù)βt作為計(jì)算非零元素?cái)?shù)目的閾值,超過βt閾值的數(shù)據(jù)點(diǎn)被判定為非零元素。通過后續(xù)的仿真實(shí)驗(yàn)可以看到,引入可學(xué)習(xí)參數(shù)βt可以減少算法的總迭代次數(shù)并提高重構(gòu)精度。另外,值得注意的是,采樣矩陣A是服從高斯分布的隨機(jī)矩陣。然而,已有研究證明,設(shè)計(jì)合理的采樣矩陣可以提高CSI 矩陣重構(gòu)的精度[18]。在LP-AMP 中也不例外,為了提高重構(gòu)精度,利用經(jīng)訓(xùn)練過后的A進(jìn)行數(shù)據(jù)的壓縮,Q進(jìn)行數(shù)據(jù)的初始重構(gòu)。LP-AMP算法的流程如算法2 所示。
算法2LP-AMP 算法
輸入測量向量y,訓(xùn)練后的矩陣A
輸出重構(gòu)向量xt+1
初始化重構(gòu)向量x0=Qy,訓(xùn)練后的矩陣Q的初始化為AT,殘差向量z-1=y,迭代次數(shù)t=1
步驟1由測量向量y、訓(xùn)練后的矩陣A、當(dāng)次迭代的xt、當(dāng)前展開計(jì)算模塊中的可學(xué)習(xí)參數(shù)β t、前一次迭代的z t-1計(jì)算出當(dāng)次迭代的z t=y-Ax t+M-1N(x t;βt)z t-1;
步驟2引入可學(xué)習(xí)參數(shù)αt向量,利用當(dāng)前展開計(jì)算模塊中的R(·) 計(jì)算得到
步驟3t=t+1,若t<N,返回步驟1,若t=N,迭代結(jié)束;
LP-AMP 的 R(·) 閾值模塊依然面臨一個重要的問題,即雖然LP-AMP 通過可學(xué)習(xí)參數(shù)作為每層的閾值向量,但是在訓(xùn)練之后會使 R(·) 模塊中的閾值向量α t成為固定值,這會使個別不符合總體樣本特征的數(shù)據(jù)重構(gòu)效果變差,進(jìn)而影響算法的整體泛化能力。在LP-AMP 的整個流程中,R(·) 模塊幾乎承擔(dān)著大部分的非線性計(jì)算過程,而深度學(xué)習(xí)中CNN在應(yīng)對非線性表征時,往往有著更好的性能。因此本節(jié)利用卷積殘差學(xué)習(xí)模塊替換LP-AMP中的閾值模塊 R(·),其余部分不做任何改動。為了方便后續(xù)的描述,將基于卷積殘差學(xué)習(xí)網(wǎng)絡(luò)的AMP 反饋算法命名為 CNN-AMP。從理論推導(dǎo)角度而言,LP-AMP 中 R(·) 的作用是去除數(shù)據(jù)中的高斯白噪聲影響。具體的推導(dǎo)過程如下。
根據(jù)y=Ax可得
根據(jù)上述推導(dǎo),AMP 算法中η(·) 閾值函數(shù)的作用是去除每輪迭代重構(gòu)信號中的高斯白噪聲。CNN-AMP 的中間展開計(jì)算模塊如圖6 所示,其與LP-AMP 的不同之處僅在于將 R(·) 模塊替換為了?(·) 模塊,?(·) 模塊由3 個深度可分離卷積層[19]構(gòu)成,卷積核的大小為3×3,每個卷積層之間通過ReLU 激活函數(shù)相連。值得強(qiáng)調(diào)的是,?(·) 模塊利用殘差學(xué)習(xí)[20]的模式,將網(wǎng)絡(luò)的輸入減去網(wǎng)絡(luò)的輸出得到最終結(jié)果,即 ?(·) 模塊將學(xué)習(xí)到每輪重構(gòu)向量的高斯白噪聲,最后通過輸入減去噪聲得到該展開層信號的重構(gòu)。
圖6 CNN-AMP 的中間展開計(jì)算模塊
根據(jù)上述對CNN-AMP 的描述,它的迭代展開式可以寫為
其中,CNN-AMP 中的 (Nxt;βt) 模塊與LP-AMP保持一致,依然利用學(xué)習(xí)參數(shù) βt作為模擬求解xt的0 范數(shù)閾值。CNN-AMP 的輸入層的初始化過程以及輸出層也與LP-AMP 保持一致,為了提高重構(gòu)精度,采樣矩陣A與初始重構(gòu)矩陣Q同樣加入網(wǎng)絡(luò)參數(shù)的訓(xùn)練。CNN-AMP 算法的流程如算法3 所示。
算法3CNN-AMP 算法
輸入測量向量y,訓(xùn)練后的矩陣A
輸出重構(gòu)向量xt+1
初始化重構(gòu)向量x0=Qy,訓(xùn)練后的矩陣Q的初始化為AT,殘差向量z-1=y,迭代次數(shù)t=1
步驟1由測量向量y、訓(xùn)練后的矩陣A、當(dāng)次迭代的x t、當(dāng)前展開計(jì)算模塊中的可學(xué)習(xí)參數(shù)β t、前一次迭代的z t-1計(jì)算出當(dāng)次迭代的z t=y-Axt+M-1N(x t;βt)z t-1;
步驟2引入殘差學(xué)習(xí)模塊 ?(·),利用當(dāng)前展開計(jì)算模塊中的 ?(·) 計(jì)算得到x t+1=?(x t+ATz t);
步驟3t=t+1,若t<N,返回步驟1,若t=N,迭代結(jié)束;
對比LP-AMP、CNN-AMP 和AMP 的展開或迭代式可以發(fā)現(xiàn),若去掉LP-AMP 和CNN-AMP中的 R(·)、N (·) 和 ?(·) 模塊,將其更改為原始閾值函數(shù)η(·) 和常規(guī)的 0 范數(shù)計(jì)算,LP-AMP 和CNN-AMP 就會退化為AMP 算法,也就是說,LP-AMP 和CNN-AMP 的性能下限是可以預(yù)知的,即存在理論前提和性能保障。但是基于數(shù)據(jù)驅(qū)動的深度學(xué)習(xí)方法的性能則無法提前預(yù)知,在進(jìn)行訓(xùn)練之前,無法保證得到很好的效果。為了方便后續(xù)對比實(shí)驗(yàn)的分析,這里k1層展開的LP-AMP和k2層展開的CNN-AMP 被命名為LP-AMP-k1和CNN-AMP-k2。產(chǎn)生數(shù)據(jù)集的信道模型是基于空間幾何的隨機(jī)信道模型 COST2100[21],其在COST259 模型和COST273 模型的基礎(chǔ)上進(jìn)行構(gòu)建,可以在時間、頻率和空間上重現(xiàn)MIMO 信道的隨機(jī)屬性。產(chǎn)生的數(shù)據(jù)集分別為100 000 訓(xùn)練集、30 000 驗(yàn)證集和20 000 測試集。采用端到端的訓(xùn)練方式,訓(xùn)練的損失函數(shù)采用均方誤差(MSE,mean square error),它是一種計(jì)算預(yù)測值和真實(shí)值之間誤差的函數(shù),具體的表達(dá)式為
其中,Hi為原始輸入的第i例樣本,矩陣的維度是32×32,Θ為網(wǎng)絡(luò)中的所有參數(shù),包括A、Q、α t、β t等,fall(·) 為整個網(wǎng)絡(luò)的計(jì)算式,fall(Hi;Θ)為恢復(fù)的第i例樣本,T為總的訓(xùn)練樣本數(shù)量。優(yōu)化器算法為自適應(yīng)矩估計(jì)[22]優(yōu)化器,它是隨機(jī)梯度下降算法的一種變體。采樣矩陣A使用服從高斯分布的隨機(jī)矩陣初始化填充,第t層可訓(xùn)練向量α t使用0.1 初始化填充,第t層β t也初始化為0.1。
為了得到理想效果并避免梯度消失的問題,初始學(xué)習(xí)率設(shè)置為0.001,衰減率設(shè)置為0.9。使用的訓(xùn)練設(shè)備配置為NVIDIA GeForce RTX 2080 Ti 顯卡,Intel Xeon E5-2678 v3 處理器,64 GB 內(nèi)存。通過實(shí)驗(yàn)發(fā)現(xiàn),LP-AMP-k1的收斂速度比CNN-AMP-k2快得多。當(dāng)壓縮率,批量數(shù)據(jù)大小為200,k1和k2分別取3 和7 時,LP-AMP-k1和CNN-AMP-k2的MSE 如表1 所示,采用Python平臺的深度學(xué)習(xí)框架Pytorch 搭建整體結(jié)構(gòu)。
表1 LP-AMP-k1 和CNN-AMP-k2 的MSE
除此之外,還需要確定AMP 算法的收斂迭代次數(shù),及LP-AMP-k1和CNN-AMP-k2的最佳展開層數(shù)。當(dāng)室內(nèi)場景下壓縮率時,LP-AMP-k1和CNN-AMP-k2在驗(yàn)證集上的MSE如圖7 所示。從圖7 可以看出,當(dāng)k1=1、3、5、7、9 時,LP-AMP-k1整體損失呈下降趨勢,但是損失整體相差并不大,隨著k1的增大,最終收斂的迭代次數(shù)開始增加,k1=3 和k1=5 時的收斂速度幾乎相同,k1=5 時的整體損失僅略低于k1=3。綜合復(fù)雜度和性能平衡之下,設(shè)置k1=3。另外,CNN-AMP-k2整體的損失比LP-AMP-k1低一個數(shù)量級,這也是在犧牲一些復(fù)雜度之下?lián)Q取的性能優(yōu)勢。隨著層數(shù)的增加,CNN-AMP-k2損失同樣呈下降趨勢,k2=5 和k2=7 時的損失差距不大,為了平衡復(fù)雜度和性能,設(shè)置k2=5。
圖7 LP-AMP-k1 和CNN-AMP-k2 在驗(yàn)證集上的MSE
AMP 的迭代次數(shù)q也是影響整體復(fù)雜度的關(guān)鍵參數(shù),MSE 隨迭代次數(shù)的變化如圖8 所示。無論在室內(nèi)或室外場景,AMP 算法信道矩陣的非嚴(yán)格稀疏性導(dǎo)致算法在驗(yàn)證集上整體收斂于迭代次數(shù)50~100,以下的計(jì)算選取q=100。相比于LP-AMP-3,AMP 的乘法次數(shù)高一個數(shù)量級,與CNN-AMP-5較接近。
圖8 MSE 隨迭代次數(shù)的變化
本節(jié)將通過對比 CsiNet、CsiNetPlus、LP-AMP-3、CNN-AMP-5 和AMP 方法來說明深度展開方法的優(yōu)勢和缺陷,通過分析網(wǎng)絡(luò)的參數(shù)量和實(shí)數(shù)乘法次數(shù)來反映復(fù)雜度。對于網(wǎng)絡(luò)參數(shù),AMP作為傳統(tǒng)的壓縮感知算法并不存在網(wǎng)絡(luò)參數(shù),但是LP-AMP-3 和CNN-AMP-5 是AMP 的深度展開算法,引入了可學(xué)習(xí)參數(shù)和殘差學(xué)習(xí)模塊,需要計(jì)算整體的參數(shù)量。
參數(shù)量的計(jì)算將M=512、256、128、64 和N=2048代入計(jì)算,并且忽略所有結(jié)構(gòu)的偏置項(xiàng)。不同算法編碼器和解碼器的參數(shù)量如表2 所示。
表2 不同算法編碼器和解碼器的參數(shù)量
LP-AMP-3 和CNN-AMP-5 算法編碼器部分的參數(shù)量與CsiNet 和CsiNetPlus 幾乎相同,這是因?yàn)長P-AMP-3 和CNN-AMP-5 都將采樣矩陣A作為可訓(xùn)練參數(shù),這與全連接神經(jīng)網(wǎng)絡(luò)的壓縮過程在參數(shù)量的計(jì)算上是等價(jià)的。
在解碼器部分,LP-AMP-3 和CNN-AMP-5 比CsiNet 和CsiNetPlus 的參數(shù)量略大,不過總體來說,M×N依然是參數(shù)量計(jì)算的主體部分,數(shù)量級依然相同。LP-AMP-3 存在可訓(xùn)練矩陣Q以及 R(·)、N (·) 模塊中的向量α t和參數(shù)β t,CNN-AMP-5 與LP-AMP-3 同樣存在可訓(xùn)練矩陣Q,不同之處在于,R(·) 模塊被替換為 ?(·) 模塊,當(dāng)層數(shù)越大時,參數(shù)量相應(yīng)也就越大。
不同算法的乘法次數(shù)如表3 所示。AMP、LP-AMP-3 和CNN-AMP-5 在編碼器部分的乘法次數(shù)一樣,這是因?yàn)樵趬嚎s感知算法的框架中,編碼器部分都是采樣矩陣A與待壓縮向量x的乘積,而所提算法和CsiNet 和CsiNetPlus 的乘法次數(shù)幾乎相同,這是因?yàn)樗鼈兊挠?jì)算量主要來源于M×N。在解碼器部分,LP-AMP-3 在壓縮率為時比CsiNet 和CsiNetPlus 的乘法次數(shù)多,在其他壓縮率時則相反,這是因?yàn)樗崴惴ǖ挠?jì)算量不僅與展開層數(shù)有關(guān),并且受M×N的影響較大。不管在哪種壓縮率下,CNN-AMP-5 的乘法次數(shù)都高于 CsiNet 和CsiNetPlus,這主要是受 ?(·) 模塊的影響。和AMP算法相比,LP-AMP-3 和CNN-AMP-5 的復(fù)雜度較低,這是因?yàn)樗鼈兊恼归_層數(shù)遠(yuǎn)小于AMP 的總迭代次數(shù) 100。另外,CNN-AMP-5 的復(fù)雜度比LP-AMP-3 高,原因在于 ?(·) 模塊使用了連續(xù)的卷積層。
表3 不同算法的乘法次數(shù)
本節(jié)將對比 LP-AMP-3、CNN-AMP-5、CsiNet、CsiNetPlus 和AMP 算法的CSI 反饋性能。經(jīng)兩次DFT 得到角度時延域矩陣H,保留該矩陣的前=32 行,因此復(fù)數(shù)矩陣H的維度為32×32,再將復(fù)數(shù)矩陣改為實(shí)虛部雙通道矩陣。壓縮率,M=512、256、128、64,N=2 048。在MATLAB 平臺進(jìn)行仿真,設(shè)備配置與第3 節(jié)相同,仿真系統(tǒng)主要參數(shù)如表4 所示,其他參數(shù)都遵循文獻(xiàn)[21]中的默認(rèn)設(shè)置。
表4 仿真系統(tǒng)主要參數(shù)
將離線訓(xùn)練好的模型應(yīng)用于室內(nèi)室外場景下的測試集,并通過計(jì)算原始矩陣與重構(gòu)矩陣之間的歸一化均方誤差(NMSE,normalized mean squared error)對模型的性能進(jìn)行量化評估。NMSE的計(jì)算式為
其中,Hi和分別表示原始信道數(shù)據(jù)和恢復(fù)信道數(shù)據(jù)。不同方法在室內(nèi)和室外場景下的NMSE如圖9 所示。
圖9 不同方法在室內(nèi)和室外場景下的NMSE
除NMSE 之外,余弦相似度ρ同樣可以用來對比不同算法之間CSI 矩陣的重構(gòu)精度。該指標(biāo)可以體現(xiàn)重構(gòu)的CSI 矩陣與原始CSI 矩陣之間的相似程度,其計(jì)算式為
其中,Hvec、分別表示向量化后的CSI 信道矩陣和重構(gòu)的CSI 信道矩陣,ρ值越大,說明兩者越相似,重構(gòu)精度越高。不同方法在室內(nèi)和室外場景下的余弦相似度如圖10 所示。
圖10 不同方法在室內(nèi)和室外場景下的余弦相似度
由圖10 可知,經(jīng)典壓縮感知的AMP 算法在不同場景、不同壓縮率下的ρ均低于其他幾種算法,即CSI矩陣的重構(gòu)相似度均低于其他算法。在室內(nèi)場景下,AMP 算法在壓縮率為時ρ明顯下降,而在室外場景下,AMP 在各壓縮率下的ρ都不夠理想,已無法滿足大規(guī)模MIMO 系統(tǒng)CSI 反饋的精度要求。LP-AMP-3 算法在室內(nèi)場景的不同壓縮率下的ρ與CsiNet 和CsiNetPlus 算法比較接近,在室外場景的不同壓縮率下的ρ略低于CsiNet 和CsiNetPlus 算法。CNN-AMP-5 算法不僅在室內(nèi)場景的不同壓縮率下保持較高的ρ,在室外場景下也有著優(yōu)異的表現(xiàn),可以滿足大規(guī)模MIMO 系統(tǒng)CSI 反饋的精度要求。
本文研究了基于深度展開的大規(guī)模 MIMO CSI 反饋算法。在AMP 算法迭代過程的基礎(chǔ)上,從2 個角度將其深度展開,提出了基于可學(xué)習(xí)參數(shù)的AMP 深度展開算法LP-AMP 和基于卷積殘差學(xué)習(xí)模塊的AMP 深度展開算法CNN-AMP。針對信道矩陣的非嚴(yán)格稀疏性的問題,LP-AMP 通過深度學(xué)習(xí)的方法改進(jìn)了閾值函數(shù),增強(qiáng)了AMP 算法應(yīng)對室內(nèi)場景的性能,降低了算法的復(fù)雜度。在室外場景下,隨著信道矩陣的劇烈變化,非嚴(yán)格稀疏性問題逐漸增大,針對這個問題,本文又提出CNN-AMP 算法,將LP-AMP 算法中改進(jìn)的閾值函數(shù)模塊替換為卷積殘差學(xué)習(xí)模塊,該模塊可以消除AMP 算法在每次迭代更新后重構(gòu)向量中的高斯隨機(jī)噪聲。因此無論是在室內(nèi)場景下還是在室外場景下,與代表性算法相比,所提算法都有明顯的優(yōu)勢。本文提出的基于深度展開的CSI 反饋算法既具有壓縮感知算法的可解釋性理論保障,又具有深度學(xué)習(xí)方法的高性能表現(xiàn),可以為大規(guī)模MIMO CSI反饋提供一些參考,未來還可以從降低復(fù)雜度方面對算法進(jìn)行改進(jìn)。