本文提出了一種新型迭代信念傳播-卷積神經網絡(BP-CNN)架構,以利用噪聲相關性進行相關噪聲下的信道解碼。采用標準的 BP 解碼器用來估計編碼位,然后用 CNN 來消除 BP 解碼器的估計誤差,以獲得更準確的信道噪聲估計。在 BP 和 CNN 之間迭代,將逐漸提高解碼信噪比,從而獲得更好的解碼性能。為了訓練一個行為良好的 CNN 模型,本文定義了一個新的損失函數,它不僅涉及到噪聲估計的精度,還涉及到估計誤差的正態性檢驗,即衡量估計誤差遵循高斯分布的可能性。與使用標準二次損失函數相比,在 CNN 訓練中引入正態性檢驗可以塑造殘余噪聲分布,進一步降低迭代解碼的誤碼率。我們進行了大量的實驗來分析和驗證所提出的框架。
研究背景
信道編解碼是現代通信系統的重要組成部分,在編碼理論和應用方面都取得了巨大的進展。例如,低密度奇偶校驗碼(LDPC)能夠通過適當優化的編碼結構和完善的置信傳播(BP)解碼算法產生接近 AWGN 信道的香農容量的性能。然而,在實際通信系統中,由于濾波、過采樣和設備噪聲,信道有時在噪聲樣本中表現出相關性。例如,數字系統中的相位噪聲和時鐘抖動通常會導致數字系統中的粉紅噪聲。
如果接收器沒有設計成噪聲相關性,那么設計良好的信道碼可能不會有令人滿意的性能。具體來說,LDPC 碼在有色噪聲下會出現性能下降。解決這一問題的困難主要來自有色噪聲帶來的高度復雜性。而解決這個問題最直接的方法是白化,即將有色噪聲轉換為白噪聲。然而,這種方法需要矩陣乘法,這對于長碼來說是非常復雜的。此外,白化后的等效編碼符號可能表現出與發送符號不同的結構,這使得解碼復雜化。理論上,譯碼器可以先估計噪聲分布,然后利用估計的聯合分布對 BP 譯碼器進行優化。然而,這種方法是基于模型的,當相關性強時,優化具有聯合噪聲分布的 BP 解碼器也可能非常復雜。因此,需要一種低復雜度和健壯的解碼器結構,能夠很好地利用噪聲相關性的特性,并且可以應用于不同的相關模型。
近年來,深度學習的發展為解決這一問題提供了新的方向。深度學習技術不需要基于預先定義的噪聲模型來尋找算法,而是允許系統直接從訓練數據中學習有效的網絡模型。深度學習在計算機視覺、自然語言處理、自主車輛等多個領域得到了廣泛應用,取得了顯著的效果。受這些進步的啟發,研究人員最近嘗試使用深度學習技術解決通信問題(包括信道解碼)。然而,這些工作都沒有解決線性碼在相關信道噪聲下的有效譯碼問題。
研究目的和研究內容
基于上述背景,本文設計了一種新的接收器結構來解決信道噪聲中存在相關性時的譯碼問題。這種結構將經過訓練的卷積神經網絡(CNN)與標準的 BP 解碼器連接起來,接收到的符號在 BP 和 CNN 之間進行迭代處理,因此被稱為迭代 BP-CNN。在接收器側,接收到的符號首先由 BP 解碼器處理以獲得初始解碼。然后,從接收的符號中減去估計的發射符號,得到信道噪聲的估計。由于譯碼誤差,信道噪聲估計不準確。然后將信道噪聲估計結果反饋給 CNN,CNN 進一步消除了 BP 解碼器的估計誤差,并通過訓練獲得了更準確的噪聲估計。然后從接收到的符號中減去 CNN 的估計結果,并將結果再次反饋給 BP 解碼器。如果對 CNN 進行良好的訓練以提供準確的估計,則留給 BP 解碼的噪聲干擾較少。在 BP 和 CNN 之間迭代將逐漸提高譯碼信噪比,從而降低誤碼率。
本文所提出的迭代 BP-CNN 解碼器具有許多令人滿意的特性。研究發現在強噪聲相關性下,增加 BP 迭代次數并沒有帶來什么改善。但利用 CNN 可以提高譯碼器處理噪聲相關性的能力,并且可以用較少的 BP 迭代次數得到更好的結果。特別是隨著人工智能芯片的快速發展,CNN 的執行得到了有效的支持。因此,CNN 的增量復雜性不會妨礙所提出的體系結構的應用。此外,這種方法是數據驅動的,不需要噪聲相關模型有特定的格式。當模型格式發生變化時,該方法仍通過重新訓練網絡來實現。
直觀地講,CNN 能夠幫助信道解碼的原因與 CNN 在圖像處理的低級任務中的成功類似,如圖像去噪或圖像超分辨率。當我們將信道噪聲中的相關性視為一種 “特征”時,這一點就變得更加清晰了,CNN 可以提取這種特征。然而,我們的問題設置與這些其他應用非常不同,在這些應用中,提取特征是最終目標。在迭代 BP-CNN 架構中,CNN 的目標不僅是準確估計信道噪聲和抑制殘差,而且要產生對 BP 解碼器有利的輸出。這種獨特的要求促使我們開發了一種用于 CNN 訓練的新型損失函數,它將殘余噪聲功率的影響與 Jarque-Bera 正態性檢驗相結合。
研究模型
1. 系統框架
系統框架如圖 1 所示,在發射器處,一個長度為 的均勻分布的比特塊 x,通過線性信道編碼器編碼為長度為 的二進制碼字 u。本文將重點研究 LDPC 碼,但所提出的方法很容易適用于其他線性塊碼。然后通過 BPSK 調制將碼字 u 映射到符號矢量 s 上。
圖 1 一種由信念傳播(BP)譯碼器和前向卷積神經網絡(CNN)組成的迭代譯碼結構。
BPSK 符號將通過一個加性高斯噪聲的信道。信道噪聲向量表示為長度為 n 的 ,被建模為具有自動相關矩陣 Σ 的高斯隨機向量。值得注意的是,LDPC 碼字可能很長,因此 Σ 的大小可能很大。
如圖 1 的虛線框所示,受 CNN 在圖像去噪和超分辨率中的成功應用的啟發,并注意到信道噪聲 n 的相關性可以被認為是信道解碼中可能被利用的“特征”,我們建議在 BP 之后并聯一個 CNN,利用這種相關性來抑制 ,并獲得更準確的信道噪聲估計。
2. 噪聲估計的 CNN 方法
如前所述,采用 CNN 進行噪聲估計是由于其在計算機視覺中的成功應用所啟發的。對于一些特定的圖像恢復任務,以往的工作表明,CNN 利用圖像特征來恢復圖像的能力很強。在本文的任務中,可以將噪聲相關性看作是特征,并訓練 CNN 利用該特征進行準確的噪聲估計。
圖 2 采用 CNN 結構進行噪聲估計
在所提出的迭代 BP-CNN 架構中,所采用的網絡結構如圖 2 所示,與圖像修復中低級任務所采用的網絡結構相似,但有一個明顯的區別,即網絡的輸入是一個一維向量,而不是一個二維圖像。在圖 2 的第一層可以看到,k1 個特征圖是由輸入數據生成的。
3. 訓練模型
1)損失函數:眾所周知在深度學習中,網絡的性能在很大程度上取決于訓練損失函數的選擇。一般來說,損失函數是衡量 CNN 實際輸出和預期輸出之間的差異,它應該根據網絡的具體任務來詳細定義。在該結構中,CNN 用于估計信道噪聲,其輸出將影響下一次迭代的 BP 譯碼性能。因此,必須充分考慮 CNN 與后續 BP 譯碼的關系,選擇合適的損失函數。
生成訓練數據的另一個因素是信道條件,即信噪比(SNR),它將決定 BP 解碼的錯誤嚴重程度,從而影響網絡的輸入。本文用 Γ 表示一組信道條件來生成訓練數據。如果信道條件非常好,那么存在的誤差就非常少,網絡可能無法學習信道噪聲的魯棒特征。另一方面,如果信道條件很差,中存在很多錯誤,它們會掩蓋信道噪聲的特征,這對網絡訓練也是不利的。因此,我們提出在多個信道信噪比下生成訓練數據,以避免因選擇特定信道信噪比而導致性能不佳的風險。
性能評估
1)BP-CNN 降低譯碼誤碼率:首先比較了該方法和標準 BP 譯碼器的性能。對于 BP 解碼器,總共執行 50 次迭代(在圖中表示為“BP(50)”。對于所提出的方法,我們使用其最簡單的形式進行測試,即 BP 解碼器和 CNN 之間只有一次迭代。在這種情況下,接收器結構可以簡單地表示為 BP-CNNBP。本文給出了兩個相關參數的比較結果:=0.8 代表一個相對較強的相關模型,=0.5 代表一個中等的相關模型。另外,還介紹了在沒有任何相關性(=0)的 AWGN 信道下的測試結果,以證明所提出的方法也可以在沒有相關性的噪聲下工作,因此具有廣泛的應用范圍。基線和增強的 BP-CNNs 都是是經過測試的。對于增強的 BP-CNN,我們將 分別設置為 0.1、10 和 10 為 =0.8、0.5 和 0。
為了隔離和識別 CNN 的貢獻,本文在兩個系統中保持 BP 迭代的總次數相同。在 BP-CNN 方法中,本文在每個 BP 解碼過程中執行 25 次 BP 迭代(圖中表示為 “BP(25)-CNN-BP(25)”),結果與標準 BP 解碼器的 50 次 BP 迭代相同。
實驗結果報告在圖 3 中。可以看到,基線和增強型 BP-CNN 在相關噪聲下都能實現顯著的性能提升。在 =0.8 的強相關情況下,BP-CNN 可以在 BER=10−4 時將解碼性能提高約 3.5dB。需要強調的是,這種性能的提升不能通過標準 BP 解碼器中更多的迭代來彌補,因為 BP(50)已經達到了飽和的性能。在 =0.5 的中等相關性情況下,性能增益變小,因為相關性較弱,采用 CNN 的好處較小。對于 =0 的特殊情況,即標稱 AWGN 信道,提出的方法與標準 BP 解碼的性能相似。因此,得出結論,迭代 BP-CNN 解碼方法可以支持很寬范圍的相關度,性能的提升隨著噪聲相關度的變化而變化。
圖 3 BP-CNN 與標準 BP 譯碼的性能比較
我們還可以從圖 3 中比較基線和增強型 BP-CNN 解碼器。我們看到,增強型 BP-CNN 進一步優于基線策略。此外,增強型 BP-CNNN 有利于計算下一輪 BP 解碼的 LLRs。
2)BP-CNN 以較低的復雜度實現性能提升。除了在相同的 BP 迭代次數下提高解碼性能外,迭代 BP-CNN 解碼器的另一個可取之處是它能以較低的總體復雜度勝過標準 BP 解碼。為了看到這一點,本文在圖 4 中展示了另一組結果。除了在 BP-CNN 解碼器中,每個 BP 的數量從 25 個減少到 5 個之外,實現細節與圖 3 相同。為了比較,本文還分別繪制了 12 次和 50 次迭代的標準 BP 解碼性能。理想情況下,我們希望設置 BP 參數,使兩種方法的總體復雜度完全相同,然后比較它們的 BER 性能。然而,準確比較 BP 網絡和 CNN 相關的復雜性是相當困難的。我們通過比較它們在相同計算環境下的運行時間來解決這個問題。兩者都是在 TensorFlow 中實現的,并且使用相同的計算資源進行模擬運行。這并不準確,但它給出了一個近似值。在我們的測試環境中,我們觀察到結構為4;9,3,3,15;64,32,16,1的 CNN 的運行時間大致相當于兩次 BP 迭代。這意味著圖 4 中選擇的 BP(5)-CNN-BP(5)結構的復雜度與標準 BP 解碼器的 12 次迭代大致相同。本文還繪制了 BP(50),并觀察到進一步增加標準 BP 的復雜度會帶來一些邊際收益。因此,BP(12)代表了一個良好但不飽和的情況,與 BP(5)-CNN-BP(5)的比較是公平和有意義的。
圖 4 BP-CNN 以較低的復雜度實現了性能提升(=0.8)
由于篇幅所限,圖 4 中只給出了 =0.8 的結果。顯然,基線 BP(5)-CNN-BP(5)解碼器的性能與標準 BP(50)相當,但復雜度要低得多。當比較復雜度大致相同的解碼性能時,基線 BP(5)-CNN-BP(5)解碼器和增強型 BP(5)解碼器的性能都優于標準 BP(12)解碼器。
3)CNN 和 BP 之間的多次迭代進一步提高了性能。到此為止,本文只展示了所提出的迭代 BP-CNN 解碼器的一次迭代的仿真結果。當然,可以在 CNN 和 BP 之間進行多次迭代,希望進一步降低誤碼率,如圖 1 所示。符號方面,本文用 {BP()-CNN}-BP()來表示 BP-CNN 迭代解碼器結構,BP 和 CNN 之間的迭代次數為 ,BP 內部的迭代次數為 。共運行了 +1 個 BP()和 CNN。本組實驗采用增強型 BP-CNN。我們在圖 5 中報告了不同 's 的仿真結果。通過比較 BP(5)-CNN-BP(5)和 BP(25)-CNN-BP(25),看到只有增加 BP 迭代次數才能提供有限的性能提升。然而,很明顯,多次迭代可以獲得更大的改進。當 =0.8 時,與 BP(5)-CNN-BP(5)相比,在誤碼率=10-4 時,兩次 BP-CNN 迭代可以提高解碼性能 0.7dB。此外,我們注意到,在 4 次 BP-CNN 迭代后,性能的提升變得不明顯。這是因為 CNN 已經達到了最大容量,無法進一步抑制殘余噪聲功率。
圖 5 CNN 和 BP 之間的多次迭代可以進一步提高解碼性能(=0.8)
實驗總結
在本文中,我們設計了一種新型的迭代 BP-CNN 解碼結構來處理相關信道噪聲。所提出的框架將一個 CNN 與一個 BP 解碼器串聯起來,并在它們之間進行迭代。BP 解碼器是估計編碼位,間接估計信道噪聲。CNN 通過學習噪聲相關性來消除 BP 解碼器的信道噪聲估計誤差。為了實現該框架,提出采用全卷積網絡結構,并提供了兩種策略來訓練網絡。仿真結果顯示了所提出的迭代 BP-CNN 解碼器的有效性。在未來的工作中,我們將嘗試尋找其他與誤碼率性能更相關的損失函數。我們還將考慮將迭代結構展開為一個開環系統,這樣我們可以設計不同數量的 BP 迭代和 CNN 結構。此外,我們還將通過從實際環境中收集的數據來驗證我們的方法。
致謝
本文由南京大學軟件學院 2021 級碩士顏昌粵翻譯轉述。