蔣 芳,黃 興,胡夢鈺,王 翊,許耀華,胡艷軍
(1.安徽大學 計算智能與信號處理教育部重點實驗室,安徽 合肥 230601;2.安徽省物聯網頻譜感知與測試工程技術研究中心,安徽 合肥 230601)
隨著新型智能終端的普及與大規模機器通信的發展,低時延、大鏈接、高可靠性的應用需求對未來的B5G/6G移動通信系統物理層技術提出了新的挑戰。為滿足這些需求,大規模多輸入多輸出(Multi-Input Multi-Output,MIMO)被用于提升信道容量[1]、非正交多址接入(Non-Orthogonal Multiple Access,NOMA)技術被用于增加接入用戶數,提升通信吞吐量[2]。而稀疏碼多址接入(Sparse Code Multiple Access,SCMA)是非正交多址接入方案中一種碼域非正交多址接入技術,能夠提供大鏈接,具有高的頻譜效率[3]。因此,多輸入多輸出與稀疏碼多址接入技術的結合,能夠以高的信息傳輸速率接入更多的用戶設備,滿足未來移動通信系統低時延、大鏈接的應用需求。
文獻[4]研究了MIMO-SCMA系統的上行和下行鏈路設計,由于MIMO-SCMA系統接收端的檢測復雜度隨天線數與用戶數的增加,呈指數型增長。目前針對MIMO-SCMA系統的研究,大量集中在接收端的低復雜度檢測算法:文獻[5-11]對消息傳遞算法進行改進;文獻[6]采用多天線檢測與多用戶檢測聯合的檢測方法。在這些MIMO-SCMA系統中,發送端大多采用稀疏碼多址接入編碼器與多天線的簡單級聯,每個用戶配置固定的稀疏碼多址接入碼本,即使是發送到不同天線上的數據,仍然采用同一碼本進行編碼,誤碼率性能并未得到有效提升,部分甚至犧牲了誤碼率性能以降低檢測復雜度。為了進一步提升誤碼率的性能,文獻[12]提出了應用于不同發射天線的稀疏碼多址接入碼本設計方法,將碼本中星座點的幅度和旋轉角度作為優化變量,通過遺傳算法的求解得到針對不同發射天線的最優碼本。文獻[13]在下行MIMO-SCMA系統中使用多維空時編碼,不同的發射天線對應不同的空時碼字,通過分集增益的引入改善誤碼率性能。
隨著AI技術給許多其他場景的任務帶來的性能提升,一些研究也證實了神經網絡在通信領域的可行性。最近,已經有將神經網絡單獨運用于稀疏碼多址接入或者多輸入多輸出系統的先例[14-16]。文獻[14]的研究基于神經網絡的檢測器,通過構造一個稀疏鏈接的神經網絡,降低了稀疏碼多址接入系統的解碼復雜度。文獻[15]提出使用卷積神經網絡代替傳統稀疏碼多址接入解碼算法完成信號的盲檢測。文獻[16]研究了神經網絡運用于多輸入多輸出系統接收端提高多天線檢測精度或降低復雜度的方法。以上研究表明,將神經網絡應用在物理層單個模塊上,雖然帶來了一定的性能提升,但無法對端到端通信系統進行聯合優化[17]。基于神經網絡在聯合優化多個物理層模塊過程中的良好表現[18],文獻[19]引入了對通信系統進行端到端聯合優化的思路,利用自動編碼器在不需要任何信號編碼的先驗知識的前提下聯合學習發射機和接收機的實現。文獻[20]則是將這種物理層端到端的聯合優化方法運用在稀疏碼多址接入系統中,提出了一種基于深度學習的碼字生成和信號檢測的稀疏碼多址接入方案,用于聯合優化稀疏碼多址接入網絡的碼字映射和解碼過程。與傳統的方法相比,文獻[20]使用深度學習取代了傳統的手動碼本設計與解碼算法,在網絡中進行了星座映射的訓練,獲得了一定的性能增益。為了在文獻[20]方案的基礎上提升誤碼率和復雜度性能,文獻[21]提出了一種基于深度學習的中密度碼分多址(Moderate-density Code Multiple Access,MCMA)系統。該系統由一個新型Tanner圖表示,通過調整神經網絡的邊緣權重,來實現無需迭代的多用戶檢測。文獻[22]研究了一種用于稀疏碼多址接入的新型深度神經網絡方法來降低計算復雜度,并提升誤碼率性能,且在此基礎上進行擴展,提出基于深度學習的稠密碼分多址 (Dense Code Multiple Access,DCMA)系統。
將深度學習應用于MIMO-SCMA系統中,筆者提出了一種基于降噪自編碼器的MIMO-SCMA(Denoising Auto Encoder-based MIMO-SCMA,DAE-MIMO-SCMA)系統編解碼方法。在發送端使用多個基于降噪自編碼器(Denoising Auto Encoder,DAE)的深度神經網絡(Deep Neural Network,DNN)單元,分別學習得到用戶對應每根發射天線的稀疏碼多址接入碼本,在輸入端人為引入破壞噪聲,用于提升碼本的魯棒性;在接收端采用聯合檢測的方法,設計一個基于全鏈接神經網絡的多天線稀疏碼多址接入解碼器;通過端到端的訓練,優化所有神經網絡的結構與參數,包括優化器、每個神經網絡的隱藏層數、節點數等,使得神經網絡能夠快速收斂。

(1)

將所有接收天線上的接收數據合并在一起,則第j個用戶的接收向量為
yj=Hjx+nj,
(2)
其中,
(3)
x表示在所有NB根發射天線上發送的信號向量,表示為
x=[(x1)T,(x2)T,…,(xNB)T]T∈CNBK×1。
(4)
nj為高斯噪聲向量,表示為
(5)
Hj是信道矩陣,表示為
(6)
為了提升MIMO-SCMA系統誤碼率性能,提出了一種下行DAE-MIMO-SCMA系統編解碼方法,用深度神經網絡分別構建MIMO-SCMA系統的編解碼器,系統結構如圖1。圖中選取用戶數J=6,時頻資源塊數K=4。基站端每根天線都有一個稀疏碼多址接入編碼器,編碼器由多個基于DAE的DNN單元構成,每個DNN單元即為一個碼字映射器,接收端每個用戶都有一個獨立的解碼器,解碼器采用全鏈接的深度神經網絡。

圖1 DAE-MIMO-SCMA系統結構


(7)
在傳統MIMO-SCMA系統中,每個用戶數據在所有發射天線上共用同一碼本,這會降低不同發射天線上傳輸碼字的最小歐氏距離,從而降低決策過程中檢測碼字的可靠性。而筆者提出的DAE-MIMO-SCMA下行系統編解碼方法,在基站端如圖1所示,每根發射天線配置多個基于DAE的碼字映射器,每根發射天線上二進制數據到復數碼字的映射過程由神經網絡自主學習,通過端到端訓練得到每根天線上采用的最佳碼本。


圖2 SCMA因子圖

(8)

考慮到通信系統中信道噪聲的影響,碼字映射器采用了基于DAE結構的DNN單元,區別于文獻[20]的碼字映射器,文中方案中DAE結構的DNN單元隱藏層數為2,每一個隱藏層節點數為24,并且在基于DAE的多天線稀疏碼多址接入碼字映射器中,增加了一個噪聲層,如圖3虛線框中所示,在輸入數據上疊加一定比例的高斯白噪聲。通過人為引入破壞噪聲使神經網絡自主學習數據中更具魯棒性的特征表示,相比于采用自編碼器結構的DNN單元提高了系統對數據重構的魯棒性,提升了系統誤碼率(Bit Error Rate,BER)性能。

圖3 基于DAE的多天線SCMA編碼器與碼字映射器結構

(9)
其中,ε表示人為引入的破壞噪聲,通過設定不同的噪聲標準差σs來控制引入噪聲的比例。被噪聲污染后的數據送入神經網絡隱藏層,數據經過線性激活后經批量歸一化以防止過擬合,對歸一化后的數據進行非線性激活,采用tanh激活函數,輸出層采用線性激活函數,即不對上一層輸出數據進行運算。
引入了噪聲層以后,整個DAE-MIMO-SCMA系統的基站端所有稀疏碼多址接入編碼信號向量x表示為
x=f(s;θ1;ε) ,
(10)

yj=Hjf(s;θ1;ε)+nj。
(11)
MIMO-SCMA系統在接收端要分別進行多天線檢測和多用戶檢測,計算復雜度高。為了降低復雜度,筆者提出了一個針對DAE-MIMO-SCMA系統的聯合檢測解碼器。采用聯合檢測的思想,將多輸入多輸出檢測與稀疏碼多址接入多用戶檢測過程合并,一次解碼同時完成多天線與多用戶檢測,在解碼器實現方法上采用全鏈接的深度神經網絡替代基于Tanner圖的消息迭代算法。接收端每個用戶的解碼過程通過全鏈接神經網絡來實現,以便組合散布在不同接收天線不同資源塊上的所有信息。對于下行系統,接收端每個用戶都有其獨立的解碼器,設計一個全鏈接的深度神經網絡作為解碼器。由于接收端所有用戶采用結構一致的深度神經網絡解碼器,這里僅給出用戶j的解碼器結構,如圖4所示。

圖4 接收端單個用戶的聯合解碼器


(12)
系統接收端所有用戶的解碼信號可表示為
(13)

(14)


(15)
神經網絡訓練所需的用戶數據是隨機產生的,以單熱編碼的形式送入編碼器中。為了提升系統的魯棒性,基站端的稀疏碼多址接入編碼器采用了降噪自編碼器結構,即人為引入噪聲層使得信號數據首先經過噪聲層的處理,這里采用高斯噪聲,噪聲ε~N(0,σ2I)。通過設定不同的噪聲標準差σ來控制加入的噪聲的比例,所加的噪聲比例對訓練出的神經網絡模型有很大影響;為了訓練最優的網絡模型,應進行多次實驗以選擇合適的噪聲標準差數值。通信系統中的噪聲n具有隨機特征,在訓練中采用隨機產生的方式,信道矩陣H隨機生成但在訓練階段系統需要知道具體的信道狀態信息。整個訓練流程如圖5所示。

圖5 DAE-MIMO-SCMA訓練流程圖
D-SCMA系統[20]采用SGD(Stochastic Gradient Descent)算法作為優化函數,其計算表達式為
θ=θ-α?θJ(θ;xi;yi) ,
(16)
其中,θ表示神經網絡中需要優化更新的訓練參數,J(·)表示訓練該神經網絡所采用的損失函數,α表示學習率。雖然SGD在每次訓練更新時對每個樣本都進行梯度更新,但該算法所耗時間長,收斂速度緩慢,且并不是每次的迭代都向著整體最優的方向,很容易被困在鞍點,而不是全局最優點,導致神經網絡的精度達不到最優。因此文中針對DAE-MIMO-SCMA系統的特點,采用Adam(Adaptive moment estimation)優化器來更新網絡,基本計算表達式如下:
(17)

根據提出的下行DAE-MIMO-SCMA系統的編解碼方法,進行了誤碼率和收斂速度性能的驗證。實驗環境是使用Tensorflow、Keras等深度學習庫,基于Python 3.7.6進行仿真實驗。搭建了一個2×2的下行MIMO-SCMA系統,信道模型采用瑞利衰落信道,每個用戶數據以2比特為一組進行單熱編碼和碼本映射,由于采用深度學習的方法自適應地學習碼本,每根天線上的星座圖已不遵循某種特定的調制方式,且具有很大的差異性。該系統編碼器和解碼器的神經網絡分別包含2層和4層隱藏層,其隱藏層節點數分別為24和512。采用總數據集為500 000組隨機數據進行訓練,每批數據大小為512,訓練噪聲以Eb/N0=10 dB進行訓練,使用Adam優化器對每個樣本的損失值都進行梯度更新,進而更新神經網絡的權重和偏置,起始學習率為0.000 01。
首先,針對6個用戶占用4個資源塊的情況,將所提出的DAE-MIMO-SCMA的編解碼方法與傳統的MIMO-SCMA系統進行了誤碼率仿真實驗。為了充分地比較,還對D-SCMA系統[20]進行了多天線擴展,記為深度學習輔助的多輸入多輸出稀疏碼分多址(D-MIMO-SCMA)。由于按照D-SCMA原文的訓練參數設置,進行多天線擴展后的收斂效果不理想,故采用Adam優化器對該神經網絡進行優化。傳統MIMO-SCMA系統用性能較好的JMPA[6]作為代表,誤碼率性能如圖6所示?;谏疃葘W習的DAE-MIMO-SCMA與D-MIMO-SCMA 系統的編解碼方法的誤碼率性能均優于傳統的MIMO-SCMA方案,而筆者提出的DAE-MIMO-SCMA系統編解碼方法的誤碼率性能最好。未添加噪聲層的AE-MIMO-SCMA方案是在筆者提出的DAE-MIMO-SCMA系統的編解碼方法中去掉了人為引入的噪聲層,直接采用自編碼器實現SCMA編碼,結果顯示其誤碼率性能比基于降噪自編碼器的系統有所損失。筆者提出的編解碼方案也適用于不同Eb/N0環境下的訓練,獲得的神經網絡模型對于信道噪聲的魯棒性不同。如針對不同的Eb/N0分別訓練,誤碼率性能會優于單一Eb/N0訓練得到的網絡,但是時間和復雜度開銷隨之變大。綜合誤碼率性能和復雜度之間的權衡,在Eb/N0=10 dB時進行訓練具有較好的泛化能力。

圖6 不同算法的誤碼率性能對比
為了驗證神經網絡的優化效果,比較了DAE-MIMO-SCMA與D-MIMO-SCMA的損失與訓練批次的關系,結果如圖7所示,DAE-MIMO-SCMA的神經網絡訓練收斂速度要快于D-MIMO-SCMA,在對訓練損失的對比中,文中方案構造的神經網絡訓練損失收斂于0.02,D-MIMO-SCMA的損失收斂于0.04,從圖中也可以看出,DAE-MIMO-SCMA的訓練損失要優于D-MIMO-SCMA的。

圖7 不同算法的訓練損失對比
同時,針對不同的過載率也進行了性能分析,如圖8所示,相對于傳統的MIMO-SCMA系統,DAE-MIMO-SCMA系統的編碼方法能夠適用不同的過載率,避免了稀疏碼多址接入碼本設計的復雜過程。實驗結果表明,隨著過載率增大,更多的用戶會疊加在資源塊上,誤碼率的性能也會隨之降低。

圖8 不同過載率時DAE-MIMO-SCMA誤碼率性能對比
圖9給出了輸入噪聲層對DAE-MIMO-SCMA系統誤碼率的影響。用噪聲標準差σ表征噪聲層所加入噪聲的大小,分別在不同的信噪比環境下進行了實驗??梢钥闯觯斎雽右朐肼暤拇笮ο到y的性能產生一定的影響。在Eb/N0=6 dB情況下,噪聲標準差選擇0.3為最優。然而在高信噪比環境下,即Eb/N0=10 dB的情況下,噪聲標準差選擇0.1是最優的訓練參數。使用受噪聲污染的數據來訓練神經網絡能學習到高斯噪聲的部分特征,從而在一定程度上減輕高斯噪聲對系統的影響。由于在低信噪比環境下的噪聲較大導致降噪網絡影響程度甚微,而對于高信噪比環境下噪聲較小,降噪網絡的優勢表現相對明顯,從而顯示出更好的魯棒性。經過多次的實驗仿真,綜合考慮網絡在不同信道噪聲環境下的整體性能,DAE-MIMO-SCMA的編解碼方案所添加噪聲層的噪聲標準差為0.08。

圖9 不同噪聲標準差作用下的誤碼率性能

筆者提出了一種下行DAE-MIMO-SCMA系統的編解碼方法,基站端對每根發射天線分別配置一個SCMA編碼器,采用多個基于降噪自編碼器的深度神經網絡單元構造每根發射天線的稀疏碼多址接入編碼器,通過多天線的稀疏碼多址接入編碼和噪聲層的引入,使得編碼器的輸出為更具魯棒性的特性表示;在接收端設計基于神經網絡的聯合解碼器,一次解碼同時完成多天線和多用戶的聯合檢測,以降低復雜度。為了進一步提升性能,對神經網絡的優化器、隱藏層數、隱藏層節點數等參數進行了優化選取。仿真結果表明,與傳統MIMO-SCMA和D-MIMO-SCMA系統的編解碼方法對比,文中的方案在誤碼率性能上獲得了提升,在信噪比條件好的情況下,誤碼率性能的提升更為明顯,同時筆者所提出的編解碼方法相對于傳統MIMO-SCMA和D-MIMO-SCMA均具有更低的解碼復雜度。目前的DAE-MIMO-SCMA系統在已知信道狀態信息時相較傳統MIMO-SCMA系統獲得了明顯的性能提升。
下一步將研究采用生成對抗網絡模擬多輸入多輸出信道的影響或者嘗試引入遷移學習的方法,使得系統在未知信道狀態信息時,仍然能夠獲得相較于傳統通信系統的性能優勢。