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