王之卓,呂健鴻,王中鵬
(浙江科技學院 信息與電子工程學院,杭州 310023)
低密度奇偶校驗碼[1](low density parity check,LDPC)及置信傳播[2](belief propagation,BP)算法因其性能優(yōu)異被廣泛應用到各種數(shù)據(jù)傳輸信道中。然而面對復雜的信道環(huán)境[3],BP譯碼算法還存在一定的不足,如當該算法面對較復雜的衰落信道時,算法的性能很大程度上取決于對數(shù)似然比(log likelihood ratio,LLR)的值。近年來,伴隨硬件性能的提升及相關(guān)算法的飛速發(fā)展,人工智能(artificial intelligence,AI)技術(shù)也得到了進一步發(fā)展。深度學習作為AI技術(shù)的分支,在諸多領(lǐng)域中表現(xiàn)出優(yōu)異的性能,這啟發(fā)人們采用深度學習來解決傳統(tǒng)通信問題。一些研究者基于分類的思路,利用神經(jīng)網(wǎng)絡(luò)進行譯碼,例如,李杰等[4-6]使用神經(jīng)網(wǎng)絡(luò)對接收碼字進行分類譯碼,發(fā)現(xiàn)在碼長較短時譯碼算法比傳統(tǒng)算法在性能上有所提高,但隨著碼長的增加,算法的性能反而會下降。另一些研究者則采用預測的思路,輔助譯碼算法進行譯碼,例如,Liang[7]通過訓練卷積神經(jīng)網(wǎng)絡(luò)(convolutional neural networks,CNN)學習殘余噪聲而后將其從接收碼字中減去,可以明顯降低譯碼所需迭代次數(shù),并且提高算法的譯碼性能;Li[8]使用CNN網(wǎng)絡(luò)預測相干信道的信道增益,重定義計算LLR后進行譯碼,隨著信道相干性的提高,譯碼性能也隨之提高?;陬A測的思路可以在一定程度上避免受到碼長的限制,但由于接收信號中通常含有大量的噪聲,在從高噪聲信道接收的信號中提取特征時,神經(jīng)網(wǎng)絡(luò)的特征學習能力下降,進而導致譯碼性能無法提高。因此,本研究利用深度殘差收縮網(wǎng)絡(luò)[9](deep residual shrinkage networks,DRSN),在抑制信道噪聲的同時從接收信號中預測信道增益,計算LLR之后進行歸一化最小和[10](normalized min-sum,NMS)算法譯碼。
圖1 通信系統(tǒng)模型
長度為k的信息序列s=[s0,s1,…,sk-1]經(jīng)LDPC編碼得n個比特碼字c=[c0,c1,…,cn-1]。編碼公式如下:
c=sG。
(1)
式(1)中:c為信息序列s與生成矩陣G相乘得到的編碼序列;G為一個k×n的生成矩陣。編碼序列c經(jīng)過BPSK調(diào)制后獲得的傳輸信號
x=1-2c。
(2)
傳輸信號x在經(jīng)過無線傳輸信道后成為接收信號y=[y0,y1,…,yn-1]。信號向量的表達式為
y=hx+n。
(3)
式(3)中:n為高斯白噪聲;信道增益h=[h0,h1,…,hn-1],符合瑞利分布,h中的元素hi可表示為
(4)
式(4)中:a、b為獨立同分布的高斯變量。
BP譯碼算法是軟判決譯碼,因此需要通過接收碼字y計算出對應LLR值后送入譯碼器譯碼。LLR的計算公式如下:
(5)
式(5)中:L(ci)為第i位接收信號的LLR;xi、yi分別為第i位傳輸碼字和第i位接收信號;α為常數(shù),其值為0.886 2;σ2為加性高斯白噪聲的方差。
BP譯碼算法的實質(zhì)為LLR在變量節(jié)點和校驗節(jié)點之間迭代更新。對符號進行定義:L(ci)表示第i位接收碼字的LLR,L(Qi)表示第i位譯碼判決的概率信息。L(qij)是從變量節(jié)點vi到校驗節(jié)點cj的信息,該步驟稱為變量節(jié)點更新;反之,L(rji)更新表示校驗節(jié)點的更新。校驗節(jié)點與變量節(jié)點更新的公式如下:
(6)
圖2 BP譯碼流程
BP譯碼算法雖性能優(yōu)越,但在校驗節(jié)點更新這一步驟上,由于計算復雜度極高且不利于硬件實現(xiàn),因而降低了算法的可行性。為了降低譯碼時的計算復雜度,提出以犧牲一部分譯碼性能為代價,簡化計算的最小和[11](minimum sum,MS)譯碼算法。簡化算法的公式如下:
(7)
為彌補MS算法在性能上的損失,在MS算法中加入修正因子以提高算法的可靠性,提出歸一化最小和[10](NMS)譯碼算法。優(yōu)化后的公式如下:
(8)
式(8)中:λ為修正因子,其值小于1。
表1為不同譯碼算法校驗節(jié)點更新的算法復雜度,表中dc表示校驗矩陣中的行重。圖3顯示了碼長為3 872、碼率為3/4的LDPC碼3種譯碼算法的性能比較結(jié)果,其中NMS算法中使用的修正因子λ=0.797。從圖3中可以看出,由于算法被簡化,MS算法的性能相比BP譯碼算法有了不小的損失,然而NMS對算法進行了補償,進而使得譯碼的性能接近BP譯碼算法。
表1 不同譯碼算法校驗節(jié)點更新的算法復雜度
圖3 3種譯碼算法的性能比較
圖4 DRSN譯碼器結(jié)構(gòu)
結(jié)合預測信道增益,LLR的計算公式如下:
(9)
DRSN是深度殘差網(wǎng)絡(luò)[12](deep residual network,ResNet)的改進網(wǎng)絡(luò),它集成深度殘差網(wǎng)絡(luò)、注意力機制[13]和軟閾值函數(shù)[14]。DRSN的工作原理可以總結(jié)為:通過注意力機制關(guān)注不重要的特征,并通過軟閾值函數(shù)將該特征置零;如此反過來便將有用特征保留下來,進而加強神經(jīng)網(wǎng)絡(luò)從含噪聲信號中提取有用特征的能力。
2.2.1 軟閾值函數(shù)
軟閾值函數(shù)在許多信號去噪算法中被視為關(guān)鍵性步驟。其基本工作原理是:先將原信號轉(zhuǎn)換到一個可以將信息按照是否重要來分開的領(lǐng)域中,然后通過設(shè)置閾值將不重要的特征置零。完成這樣的任務(wù)關(guān)鍵是找到一類能夠?qū)⑷蝿?wù)信息與噪聲信息分開,并且能將噪聲信息置零的濾波器。從整體上來看,大部分濾波器只能針對特定場景進行處理,而神經(jīng)網(wǎng)絡(luò)以其強大的學習能力可以通過軟閾值函數(shù)來適應復雜信道環(huán)境。軟閾值函數(shù)的表達式如下:
(10)
式(10)中:x為輸入特征;y為輸出特征;τ為閾值。軟閾值函數(shù)不是將負特征設(shè)置為零,而是將接近零的特征設(shè)置為零,這樣可以有效保留有用的負特征,降低噪聲對算法結(jié)果精確度的影響。而軟閾值函數(shù)輸出對輸入的導數(shù)是1或0,這樣可以有效降低梯度爆炸和梯度消失的風險。
2.2.2 注意力機制
在計算機視覺領(lǐng)域中,注意力機制的原理是在快速掃描全區(qū)域后,將注意力重點放在感興趣的區(qū)域,為不同重要程度的區(qū)域賦予不同比例的權(quán)重,越重要的區(qū)域占據(jù)的權(quán)重越大。故本研究通過訓練一個小神經(jīng)網(wǎng)絡(luò),將獲取的權(quán)重應用到各通道中以降低無用信息占據(jù)的比重,從而提高預測的準確率。
2.2.3 ResNet
ResNet是在經(jīng)典CNN的基礎(chǔ)上衍生出來的,其引入殘差塊[12](residual building units,RBUs)概念,殘差塊結(jié)構(gòu)如圖5所示。圖5中的x是輸入特征圖,F()是殘差部分,由卷積層組成。該ResNet解決神經(jīng)網(wǎng)絡(luò)隨著層數(shù)的增加而精度下降的問題,并且由于需訓練的參數(shù)較少,減少了運算成本。卷積操作如圖6所示,卷積核在輸入向量上滑動提取特征,卷積運算公式為
對于工程造價信息化建設(shè)工作的落實,其在預算方面進行信息化轉(zhuǎn)變是比較關(guān)鍵的一個環(huán)節(jié),如果預算方面的信息化管理存在著較為明顯的偏差和混亂,必然會導致最終整個工程造價信息化管理效果受損。因為預算管理相對而言較為繁雜,涉及到的內(nèi)容比較多,如此也就必然需要重點把握好對于信息化建設(shè)平臺的構(gòu)建,促使預算統(tǒng)計分析以及指標控制較為合理,而這也是目前比較容易出現(xiàn)錯誤偏差的重要問題所在,預算編制結(jié)果不準確,最終必然會導致造價控制效果受損。
圖5 殘差塊結(jié)構(gòu)
圖6 卷積操作
yi,j=relu(ki,j?yi-1,j+bi,j)。
(11)
式(11)中:yi,j為第i層第j個通道的輸出特征映射;ki,j為第i層第j個卷積核;bi,j為對應層特征偏置項。relu為激活函數(shù),作為神經(jīng)網(wǎng)絡(luò)的基本組成部分用于非線性變換,其公式為
y=max(x,0)。
(12)
2.2.4 DRSN
圖7 殘差收縮塊結(jié)構(gòu)
本研究提出的譯碼算法由DRSN和NMS算法相結(jié)合,而為了使DRSN能夠有效地工作,需要依次完成以下3個任務(wù)。
1)獲得訓練數(shù)據(jù)集。通過通信仿真程序獲得接收信號y的數(shù)據(jù)。按本文1.1節(jié)中的方法生成數(shù)據(jù),將對應的信道增益h作為接收信號y的數(shù)據(jù)標簽。所有的數(shù)據(jù)集使用不同的信噪比(signal noise ratios,SNRs){0,2,4,6,7,8},每個SNR生成5 000組數(shù)據(jù)。各信噪比的比例相同,以保證神經(jīng)網(wǎng)絡(luò)對各噪聲功率的泛化能力。
2)搭建神經(jīng)網(wǎng)絡(luò)。神經(jīng)網(wǎng)絡(luò)結(jié)構(gòu)的搭建需要結(jié)合數(shù)據(jù)特征來進行。本研究用的是一維數(shù)據(jù),故按照圖7搭建一維DRSN網(wǎng)絡(luò)結(jié)構(gòu),卷積核也是一維。
表2 DRSN的網(wǎng)絡(luò)結(jié)構(gòu)參數(shù)
表3 超參數(shù)
本研究使用的優(yōu)化算法為自適應矩估計(adaptive moment estimation,Adam)[16],這是一種可以替代傳統(tǒng)隨機梯度下降的優(yōu)化算法。該算法通過計算梯度一階矩和二階矩給不同的權(quán)重設(shè)置自適應學習率,加快神經(jīng)網(wǎng)絡(luò)的訓練,從而盡快獲得結(jié)果。使用Xavier初始化方法是因為Xavier比隨機化初始化方法性能更好[8]。均方誤差(mean square error,MSE)是一種常用的損失函數(shù),用于衡量預測值和真實值之間的差距,其值越小代表網(wǎng)絡(luò)預測結(jié)果越接近真實值,計算公式如下:
(13)
本研究仿真試驗使用的軟件平臺為Pycharm,神經(jīng)網(wǎng)絡(luò)工具是TensorFlow1.6。通過修改基于文獻[7]的源碼github.com/liangfei-info/Iterative-BP-CNN,參考源碼github.com/Leo-Chu/Deep-learning-for-LDPC-decoding進行仿真。仿真使用LDPC碼,其碼塊長度為576,碼率為0.75。將文獻[8]中所使用的網(wǎng)絡(luò)結(jié)構(gòu)與本研究所使用的網(wǎng)絡(luò)損失值做比較,CNN對應的損失值為0.104 477,而DRSN所對應的損失值為0.096 94,從中可以看出,DRSN網(wǎng)絡(luò)經(jīng)過訓練后相比CNN的損失值降低了0.047 83,網(wǎng)絡(luò)預測準確率提高。
將譯碼算法的迭代次數(shù)均設(shè)置為25。圖8為用文獻[8]中譯碼算法進行的仿真,圖中3條曲線分別是使用標準BP譯碼后的誤碼率;使用真實信道增益計算LLR,經(jīng)BP譯碼后的誤碼率;以及使用CNN神經(jīng)網(wǎng)絡(luò)預測信道增益計算LLR,經(jīng)BP譯碼算法后的誤碼率。由圖8可知,使用真實信道增益計算LLR的譯碼算法(RG-BP譯碼)誤碼率遠低于其他2種算法,可見當神經(jīng)網(wǎng)絡(luò)預測的信道增益越接近真實信道增益時,譯碼算法的誤碼率越低。
圖8 文獻[8]中譯碼算法仿真
將文獻[8]中提出的CNN-BP譯碼算法與本文使用的算法進行比較,結(jié)果如圖9所示。從圖9可以看出,在SNR∈(0,4)階段,本研究使用的DRSN-NMS譯碼算法的誤碼率曲線和文獻[8]中所提出的CNN-BP譯碼算法的誤碼率曲線,均逼近標準BP譯碼算法的誤碼率曲線;而在SNR∈(4,8)階段,DRSN-NMS算法的誤碼率開始低于其他2種算法。DRSN-NMS誤碼率曲線低于CNN-BP的誤碼率曲線,以及DRSN的損失值低于CNN的損失值可以表明:預測的信道增益越接近真實信道增益,譯碼算法的譯碼性能越好,有一定的可信度。因為神經(jīng)網(wǎng)絡(luò)預測中存在對當前任務(wù)造成干擾的無用特征,借助DRSN將這些干擾特征盡可能地去除,可以使神經(jīng)網(wǎng)絡(luò)預測信道增益更加準確,而憑借更準確的預測增益,可以進一步提高譯碼性能。與CNN相比,DRSN在本文應用中增加的計算復雜度存在于恒等映射的一次加法與子網(wǎng)絡(luò)中的全連接層計算中,但相比整個神經(jīng)網(wǎng)絡(luò)的計算復雜度極小。利用神經(jīng)網(wǎng)絡(luò)預測信道增益方法輔助譯碼,是一種以增加計算復雜度為代價的算法。因此為了降低計算復雜度,選擇NMS算法進行譯碼,盡管其性能遜色于BP算法,但由于該算法計算復雜度低于BP算法,在降低算法復雜度上較有利。仿真試驗結(jié)果表明,DRSN-NMS算法的譯碼性能在高信噪比情況下超過標準BP譯碼算法。
圖9 本文算法與CNN-BP算法性能比較
本研究提出基于深度殘差收縮網(wǎng)絡(luò)的歸一化最小和譯碼算法,借助DRSN網(wǎng)絡(luò)抑制噪聲的干擾,從而提高神經(jīng)網(wǎng)絡(luò)的預測準確率。從含有噪聲的接收信息中獲得更接近真實值的信道增益,并將其用于計算對數(shù)似然比,然后經(jīng)易于實現(xiàn)的歸一化最小和譯碼算法進行譯碼操作。試驗結(jié)果表明,本研究提出的算法在信噪比高的信道環(huán)境下優(yōu)于傳統(tǒng)BP譯碼算法,這進一步驗證了本算法的有效性。