亚洲免费av电影一区二区三区,日韩爱爱视频,51精品视频一区二区三区,91视频爱爱,日韩欧美在线播放视频,中文字幕少妇AV,亚洲电影中文字幕,久久久久亚洲av成人网址,久久综合视频网站,国产在线不卡免费播放

        ?

        一種基于循環(huán)神經(jīng)網(wǎng)絡(luò)的極化碼BP 譯碼算法

        2022-01-14 03:02:24何彥琦彭大芹趙雪志
        計(jì)算機(jī)工程 2022年1期

        何彥琦,彭大芹,趙雪志

        (1.重慶郵電大學(xué)通信與信息工程學(xué)院,重慶 400065;2.重慶郵電大學(xué)電子信息與網(wǎng)絡(luò)工程研究院,重慶 400065)

        0 概述

        極化碼[1]自2009 年由ARIKAN 提出以來(lái),因其在無(wú)記憶信道中被證明可以達(dá)到香農(nóng)極限信道容量的特性,以及編解碼的低復(fù)雜度而備受關(guān)注[2]。由于極化碼在短塊長(zhǎng)度下具有良好的誤碼率(Bit Error Rate,BER)性能,因此在第五代移動(dòng)通信技術(shù)(5th Generation Mobile Communication Technology,5G)中被采用為控制信道編碼方案。同時(shí),極化碼的譯碼算法得到學(xué)者的廣泛研究,其中,串行抵消(Successive Cancellation,SC)和置信傳播(Belief Propagation,BP)是極化碼最常用的兩種譯碼算法。相比于SC 譯碼算法[3]以及在其基礎(chǔ)上改進(jìn)的串行抵消列表(Successive Cancellation List,SCL)譯碼算法[4],BP 譯碼算法的并行譯碼過(guò)程具有更高的吞吐量及更低的時(shí)延[5-6],因此更能滿(mǎn)足5G 場(chǎng)景的需求。但隨著迭代次數(shù)及碼長(zhǎng)的增加,運(yùn)算復(fù)雜度大幅提高,即使采用最小和近似[7]和早期終止準(zhǔn)則[8]來(lái)降低復(fù)雜度和冗余迭代次數(shù),BP 譯碼算法在有限的迭代中仍然表現(xiàn)不理想。

        近年來(lái),基于神經(jīng)網(wǎng)絡(luò)的譯碼器受到了人們廣泛的關(guān)注。為改善BP 譯碼算法的性能,國(guó)內(nèi)外研究者對(duì)此進(jìn)行了大量研究并取得了顯著的進(jìn)展。文獻(xiàn)[9-10]將BP 迭代譯碼結(jié)構(gòu)運(yùn)用到神經(jīng)網(wǎng)絡(luò)架構(gòu)中,并通過(guò)深度學(xué)習(xí)優(yōu)化最小和近似后用于彌補(bǔ)性能損失的縮放因子,大幅降低了迭代次數(shù)并提升了誤碼率性能。對(duì)神經(jīng)網(wǎng)絡(luò)譯碼算法的進(jìn)一步優(yōu)化主要從增強(qiáng)譯碼BER 性能和降低運(yùn)算復(fù)雜度或時(shí)延兩個(gè)方面進(jìn)行。在提升BER 性能方面,文獻(xiàn)[11-12]結(jié)合循環(huán)冗余校驗(yàn)(Cyclic Redundancy Check,CRC)與BP 譯碼算法兩者的因子圖及神經(jīng)網(wǎng)絡(luò),取得了接近于CA-SCL 譯碼算法的性能,文獻(xiàn)[13]在此基礎(chǔ)上將神經(jīng)網(wǎng)絡(luò)架構(gòu)修改為長(zhǎng)短期記憶網(wǎng)絡(luò)(Long Short-Term Memory,LSTM)以平衡譯碼性能與運(yùn)算復(fù)雜度。在降低運(yùn)算復(fù)雜度及時(shí)延方面,文獻(xiàn)[14]結(jié)合分塊方法及深度神經(jīng)網(wǎng)絡(luò)改善了長(zhǎng)碼情況下的譯碼性能,文獻(xiàn)[15]則是通過(guò)卷積神經(jīng)網(wǎng)絡(luò)(Convolutional Neural Network,CNN)對(duì)神經(jīng)網(wǎng)絡(luò)架構(gòu)中的值傳遞過(guò)程進(jìn)行簡(jiǎn)化以降低運(yùn)算復(fù)雜度,文獻(xiàn)[16]提出一種殘差網(wǎng)絡(luò)降噪譯碼算法并完成了硬件實(shí)現(xiàn),取得了極低的譯碼時(shí)延。

        但以上方法大部分仍存存在2 個(gè)待解決的關(guān)鍵問(wèn)題:額外的權(quán)值存儲(chǔ)開(kāi)銷(xiāo),隨著極化碼碼長(zhǎng)的增加與迭代次數(shù)的影響,成倍增長(zhǎng)的權(quán)重因子導(dǎo)致了相當(dāng)大的存儲(chǔ)空間開(kāi)銷(xiāo),阻礙了神經(jīng)網(wǎng)絡(luò)在實(shí)際通信系統(tǒng)中的應(yīng)用;大量的乘法運(yùn)算,與使用最小和近似的BP 算法相比,深度學(xué)習(xí)的輔助使得算法具有更好的性能。但以上算法大部分添加了相乘的縮放因子,增加了運(yùn)算復(fù)雜度。

        針對(duì)神經(jīng)網(wǎng)絡(luò)譯碼器存在的問(wèn)題,受BCH(Bose-Chaudhuri-Hocquenghem)譯碼所采用的偏移最小和近似(Offset Min-Sum,OMS)BP 譯碼算法[17-18],以及循環(huán)神經(jīng)網(wǎng)絡(luò)(Recurrent Neural Network,RNN)譯碼架構(gòu)[19]的啟發(fā),本文對(duì)極化碼的BP 譯碼算法和深度學(xué)習(xí)進(jìn)行研究,提出一種基于循環(huán)神經(jīng)網(wǎng)絡(luò)的偏移最小和置信傳播(RNN-OMS-BP)譯碼算法。通過(guò)循環(huán)神經(jīng)網(wǎng)絡(luò)結(jié)構(gòu)實(shí)現(xiàn)神經(jīng)網(wǎng)絡(luò)多次迭代之間的參數(shù)共享,并運(yùn)用偏移最小和近似算法修改迭代過(guò)程中的消息更新策略,以實(shí)現(xiàn)低運(yùn)算復(fù)雜度、低內(nèi)存占用的極化碼譯碼算法。

        1 極化碼與BP 譯碼算法

        1.1 極化碼

        極化碼是一種通過(guò)信道極化原理構(gòu)造的線性分組碼,理論上可以達(dá)到香農(nóng)容量,其原理可簡(jiǎn)述為對(duì)于N=2n(n為任意正整數(shù))的極化碼,根據(jù)信道可靠性將信道分裂為兩部分,一部分信道分裂為信道容量趨于1 的無(wú)噪聲信道,用于傳輸信息比特,另一部分則分裂為完全噪聲信道,在發(fā)送端和接收端都設(shè)置為已知的凍結(jié)比特。通過(guò)生成矩陣實(shí)現(xiàn)包含K位信息比特、(N-K)位凍結(jié)比特、碼率為K/N的(N,K)極化碼,定義如下:

        其中:n=lbN;BN表示比特反序矩陣;F?n表示對(duì)F=的n次克羅內(nèi)克積;長(zhǎng)度的原始比特序列uN通過(guò)與生成矩陣GN相乘即可得到長(zhǎng)度為N的編碼比特序列xN。

        1.2 極化碼的BP 譯碼算法

        置信傳播(BP)是一種廣泛應(yīng)用的消息傳遞譯碼算法,主要應(yīng)用于低密度匹配校驗(yàn)碼(Low Density Parity Check Code,LDPC)和BCH 碼。但不同于以上2 種信道編碼的BP 譯碼過(guò)程是基于奇偶校驗(yàn)矩陣進(jìn)行消息更新的,極化碼的BP 譯碼算法的消息更新過(guò)程是在因子圖上迭代進(jìn)行的,并且采用類(lèi)似SC 譯碼算法的連續(xù)消除規(guī)則[20]。該因子圖一共由n=lbN個(gè)階段及N×(n+1)個(gè)節(jié)點(diǎn)組成。一個(gè)(8,4)極化碼的BP 譯碼因子圖如圖1 所示。

        圖1 極化碼的BP 譯碼算法因子圖Fig.1 Factor graph of BP decoding algorithm for polar code

        在圖1 中,下標(biāo)i、j分別表示階段數(shù)和節(jié)點(diǎn)數(shù),上標(biāo)t表示當(dāng)前迭代次數(shù),每個(gè)節(jié)點(diǎn)(i,j)傳遞兩類(lèi)對(duì)數(shù)似然比(Likelihood Ratio,LLR)信息:從左至右傳遞的右信息對(duì)數(shù)似然比和從右至左傳遞的左信息對(duì)數(shù)似然比。用公式表示如下:

        g(a,b)≈sign(a)×sign(b)min(||a,||b) (3)

        在迭代開(kāi)始時(shí),兩類(lèi)對(duì)數(shù)似然比信息初始化如下:

        其中:A表示信息比特集合;Ac表示凍結(jié)比特集合;yj表示從信道中接收到的第j位信息比特。經(jīng)過(guò)預(yù)設(shè)的T次迭代之后,第j位估計(jì)信息比特可通過(guò)對(duì)最后一次迭代輸出的左信息對(duì)數(shù)似然比進(jìn)行硬判決,得到:

        1.3 深度神經(jīng)網(wǎng)絡(luò)BP 譯碼算法

        最小和近似雖然有效地降低了復(fù)雜度,但也會(huì)導(dǎo)致誤碼率性能損失。文獻(xiàn)[10]提出了基于深度神經(jīng)網(wǎng)絡(luò)的BP 譯碼算法,該網(wǎng)絡(luò)架構(gòu)可以看作極化碼因子圖的展開(kāi)結(jié)構(gòu),并在消息更新因子圖中設(shè)置了可學(xué)習(xí)的參數(shù),從而彌補(bǔ)最小和近似帶來(lái)的性能損失。式(2)被替換如下:

        在T次迭代完成后,使用交叉熵?fù)p失函數(shù)評(píng)估神經(jīng)網(wǎng)絡(luò)通過(guò)激活函數(shù)(如sigmoid 函數(shù))輸出的預(yù)測(cè)信息比特oj與傳輸信息比特uj的誤差,即:

        該模型的最終目標(biāo)是通過(guò)反向傳播算法計(jì)算損失函數(shù)梯度,并使用隨機(jī)梯度下降(Stochastic Gradient Descent,SGD)算法最小化損失函數(shù),確定最優(yōu)縮放因子的值。

        2 基于循環(huán)神經(jīng)網(wǎng)絡(luò)的偏移最小和近似BP譯碼算法

        2.1 偏移最小和近似

        DNN-BP 可以更好地解決最小和的近似損失問(wèn)題,但是該深度神經(jīng)網(wǎng)絡(luò)架構(gòu)仍然存在2 個(gè)問(wèn)題:

        1)引入縮放因子為算法增加了大量的乘法運(yùn)算,運(yùn)算復(fù)雜度大幅增加。

        2)存儲(chǔ)空間被該深度架構(gòu)中大量的縮放因子的存儲(chǔ)所占用。這2 個(gè)問(wèn)題都阻礙了DNN-BP 在現(xiàn)實(shí)通信系統(tǒng)中的部署。

        本文提出一種基于循環(huán)神經(jīng)網(wǎng)絡(luò)的偏移最小和近似置信傳播(RNN-OMS-BP)譯碼算法用于極化碼譯碼,以實(shí)現(xiàn)乘法縮放因子的替代以及不同次迭代之間的權(quán)值共享。

        使用偏移最小和近似算法[18]代替縮放因子最小和近似算法,式(3)被替換如下:

        其中:β為偏移量。

        為改善系統(tǒng)性能,因子圖中不同節(jié)點(diǎn)應(yīng)用不同的偏移量,式(7)更新如下:

        2.2 循環(huán)神經(jīng)網(wǎng)絡(luò)架構(gòu)

        使用偏移量替代縮放因子后,解決了引入大量乘法運(yùn)算的問(wèn)題。但大量的可學(xué)習(xí)偏移量仍然占用了較大的存儲(chǔ)空間。因此,受到文獻(xiàn)[19]的啟發(fā),本文基于上述的偏移最小和近似算法提出改進(jìn)的循環(huán)神經(jīng)網(wǎng)絡(luò)架構(gòu),代替文獻(xiàn)[10]所采用的前饋神經(jīng)網(wǎng)絡(luò)架構(gòu)。以(4,2)極化碼為例的網(wǎng)絡(luò)架構(gòu)如圖2 所示。

        圖2 循環(huán)神經(jīng)網(wǎng)絡(luò)架構(gòu)及神經(jīng)元圖Fig.2 Recurrent neural network architecture and neuronal graphs

        在圖2(a)神經(jīng)網(wǎng)絡(luò)結(jié)構(gòu)中,右信息以及左信息傳遞的過(guò)程分別展開(kāi)為(n-1)層和n層由N個(gè)神經(jīng)元組成的隱藏層,因此,一次完整的迭代轉(zhuǎn)換為(2n-1)層隱藏層。本文架構(gòu)與DNN-BP 架構(gòu)[10]的改進(jìn)主要有以下2 個(gè)方面:

        1)在每層隱藏層的計(jì)算單元中因?yàn)槠屏孔钚『徒萍尤肓薽ax 函數(shù),因此相當(dāng)于在隱藏層中的每個(gè)計(jì)算單元中添加了線性整流函數(shù)(Rectified Linear Unit,ReLU)作為激活函數(shù),該函數(shù)公式如下:

        2)在每(2n-1)層隱藏層的運(yùn)算完成后,進(jìn)行循環(huán)輸入,實(shí)現(xiàn)偏移量參數(shù)集β的復(fù)用。

        圖2(b)中計(jì)算單元1、計(jì)算單元2 分別用于承擔(dān)式(10)中第1、3 式及第2、4 式與sigmoid 函數(shù)的計(jì)算,分別記為fI(xl-1;βl)(l)、fII(xl-1;βl)(l) 和o(xL),式(10)在神經(jīng)網(wǎng)絡(luò)中的簡(jiǎn)化公式如下:

        選擇合理的損失函數(shù)對(duì)訓(xùn)練過(guò)程的效率和運(yùn)算復(fù)雜度都有明顯的幫助,DNN-BP 算法采用如式(8)所示的交叉熵?fù)p失函數(shù)作為損失函數(shù),交叉熵函數(shù)無(wú)疑是契合于該應(yīng)用場(chǎng)景的損失函數(shù)。但交叉熵?fù)p失函數(shù)同樣也存在不夠硬件友好的缺點(diǎn),在求導(dǎo)計(jì)算中需要計(jì)算sigmoid 函數(shù),而sigmoid 激活函數(shù)的運(yùn)算時(shí)間較長(zhǎng)且更為復(fù)雜。因此,本文嘗試采用Hinge 損失函數(shù)對(duì)交叉熵?fù)p失函數(shù)進(jìn)行替代,該損失函數(shù)公式如下:

        通過(guò)合理的損失函數(shù)選擇,可有效減少訓(xùn)練復(fù)雜度及時(shí)間,而幾乎未帶來(lái)可見(jiàn)的性能下降。

        2.3 譯碼算法偽代碼

        算法RNN-OMS-BP 譯碼算法

        最終計(jì)算出BER 以評(píng)估譯碼算法性能。

        3 仿真結(jié)果與分析

        為評(píng)估本文所提出的RNN-OMS-BP 譯碼算法的性能,分別通過(guò)仿真將其與原始BP 譯碼算法、DNN-BP 譯碼算法在誤碼率(Bit Error Rate,BER)、收斂速度及運(yùn)算復(fù)雜度方面進(jìn)行對(duì)比。表1 所示為仿真中所用的實(shí)驗(yàn)參數(shù)。

        表1 仿真參數(shù)設(shè)置Table 1 Simulation parameters setup

        3.1 BER 性能分析

        第一個(gè)實(shí)驗(yàn)是模擬在碼長(zhǎng)及碼率相同的情況下,不同迭代次數(shù)下原始BP、DNN-BP 與本文提出的RNNOMS-BP 譯碼算法的BER 性能,觀測(cè)迭代次數(shù)對(duì)神經(jīng)網(wǎng)絡(luò)譯碼器的架構(gòu)設(shè)計(jì)和參數(shù)的調(diào)整有重要意義。仿真結(jié)果如圖3 所示(以(16,8)極化碼為例)。

        圖3 不同迭代次數(shù)下3 種譯碼算法BER 性能Fig.3 BER performance of three decoding algorithms under different iteration times

        從圖3 可以看出,對(duì)于(16,8)極化碼,DNN-BP和RNN-OMS-BP 譯碼算法只需約5 次迭代即可收斂,就能獲得良好的性能。另一方面,傳統(tǒng)的BP 譯碼算法需要超過(guò)40 次迭代才能達(dá)到與神經(jīng)網(wǎng)絡(luò)譯碼器迭代2 次相近的BER 性能。因此,傳統(tǒng)BP 算法消耗的計(jì)算資源較多,能耗高,時(shí)延較長(zhǎng)。此外,RNN-OMS-BP 與DNN-BP 兩種算法具有幾乎相同的誤碼率,但RNN-OMS-BP 算法計(jì)算復(fù)雜度與存儲(chǔ)空間占用減少,更適合部署在實(shí)際通信系統(tǒng)中。

        3.2 不同碼長(zhǎng)下的BER 性能分析

        信道編碼碼長(zhǎng)對(duì)系統(tǒng)BER 性能有顯著影響,因此本文對(duì)(16,8)、(64,32)和(128,64)3 種不同碼長(zhǎng)的RNN-OMS-BP 譯碼算法、DNN-BP 譯碼算法以及傳統(tǒng)BP 譯碼算法BER 性能進(jìn)行仿真對(duì)比,其中,傳統(tǒng)BP 譯碼算法迭代次數(shù)為40,RNN-OMS-BP 譯碼算法迭代次數(shù)為5,仿真結(jié)果如圖4 所示。

        圖4 不同碼長(zhǎng)下3 種譯碼算法BER 性能Fig.4 BER performance of three algorithms under different code lengths

        從圖4 可以看出,在(16,8)的短碼長(zhǎng)情況下,相比于傳統(tǒng)BP 譯碼算法,RNN-OMS-BP 算法的BER性能得到明顯改善,與DNN-BP 算法的BER 性能差距非常小;在碼長(zhǎng)為(64,32)和(128,64)的情況下,與傳統(tǒng)BP 譯碼算法相比,RNN-OMS-BP 亦可以實(shí)現(xiàn)更低的誤碼率,且優(yōu)勢(shì)在高信噪比區(qū)域更加明顯,與短碼長(zhǎng)情況類(lèi)似,相較于DNN-BP 譯碼算法BER性能下降非常微小。仿真結(jié)果與預(yù)測(cè)情況一致,即提出的RNN-OMS-BP 算法在長(zhǎng)短碼情況下相較于傳統(tǒng)BP 算法均有顯著改善,相較于DNN-BP 算法,性能下降相當(dāng)微小。

        3.3 偏移量值的分布

        本節(jié)以(64,32)極化碼為例,對(duì)本文提出的RNN-OMS-BP 譯碼算法中偏移量β的值在訓(xùn)練中的變化過(guò)程進(jìn)行仿真分析,該變化過(guò)程如圖5 所示(以(64,32)極化碼為例)。

        圖5 偏移量值的分布直方圖Fig.5 Histogram of distribution of offset values

        從圖5 可以看出,當(dāng)訓(xùn)練次數(shù)即Epoch ≈10 時(shí),偏移量值的更新過(guò)程基本收斂,所有值的分布近似于以0 為中心的半正態(tài)分布形態(tài),偏移量β的值主要集中在0.0~0.4 之間,因此本文在訓(xùn)練過(guò)程開(kāi)始時(shí)將偏移量β的初始值設(shè)置為0。

        3.4 運(yùn)算復(fù)雜度分析

        表2 的運(yùn)算復(fù)雜度分析以(16,8)極化碼為例,列舉了在傳統(tǒng)BP 譯碼算法迭代TBP=40 次、DNN-BP譯碼算法及本文提出的RNN-OMS-BP 譯碼算法迭代T=5 次的情況下,三者分別在加法運(yùn)算、乘法運(yùn)算及存儲(chǔ)空間占用3 個(gè)方面的運(yùn)算復(fù)雜度。

        表2 運(yùn)算復(fù)雜度分析Table 2 Analysis of computational complexity

        由表2 可知,相比于傳統(tǒng)BP 譯碼算法,兩種神經(jīng)網(wǎng)絡(luò)結(jié)構(gòu)的BP 譯碼算法將迭代次數(shù)減少80%以上,并且有效降低了最小和近似帶來(lái)的BER 性能損失。相比于DNN-BP 譯碼算法,RNN-OMS-BP 譯碼算法在同樣經(jīng)過(guò)5 次迭代的前提下,以增加12.5%的加法運(yùn)算量為代價(jià),替代了所有的乘法運(yùn)算。同時(shí)通過(guò)循環(huán)神經(jīng)網(wǎng)絡(luò)結(jié)構(gòu)在迭代次數(shù)為T(mén)=5 時(shí),減少了80%的存儲(chǔ)空間占用。

        除譯碼過(guò)程的運(yùn)算復(fù)雜度分析外,本文還通過(guò)仿真測(cè)試了訓(xùn)練過(guò)程采用不同損失函數(shù)下的BER 性能,如圖6 所示(以(64,32)極化碼為例)。

        圖6 不同損失函數(shù)下的BER 性能Fig.6 BER performance under different loss functions

        從圖6 可以看出,使用Hinge 損失函數(shù)代替交叉熵函數(shù)對(duì)性能的影響幾乎可以忽略不計(jì),該優(yōu)化方案對(duì)于碼長(zhǎng)極長(zhǎng)或需要使用運(yùn)算性能較弱的設(shè)備進(jìn)行在線訓(xùn)練的情況,具有一定的優(yōu)化效果。

        4 結(jié)束語(yǔ)

        本文提出一種基于RNN-OMS-BP 的極化碼譯碼算法。將偏移最小和近似算法替代乘法運(yùn)算,采用改進(jìn)的循環(huán)神經(jīng)網(wǎng)絡(luò)架構(gòu)實(shí)現(xiàn)參數(shù)共享,有效減少內(nèi)存開(kāi)銷(xiāo),并通過(guò)離線學(xué)習(xí)減少BP 譯碼算法的迭代次數(shù)。仿真結(jié)果表明,該譯碼算法在誤碼率性能和運(yùn)算復(fù)雜度之間取得了良好的平衡,對(duì)于BP 譯碼算法的硬件實(shí)現(xiàn)和實(shí)際應(yīng)用更加友好。下一步將結(jié)合具有軟判決輸出的多用戶(hù)檢測(cè)算法,設(shè)計(jì)基于循環(huán)神經(jīng)網(wǎng)絡(luò)架構(gòu)的聯(lián)合迭代檢測(cè)譯碼算法[21-22],以獲得更顯著的系統(tǒng)性能增益。

        精品日韩欧美| 中文日韩亚洲欧美制服| 亚洲av无码片一区二区三区| 亚洲无码性爱视频在线观看| 久久老熟女一区二区三区| 色偷偷色噜噜狠狠网站30根| 亚洲处破女av日韩精品| 亚洲一级电影在线观看| 日本熟妇裸体视频在线| 国产免费观看黄av片| 三年片免费观看大全国语| av一区二区三区亚洲| 手机在线国产福利av| 亚洲va久久久噜噜噜久久天堂| 亚洲高潮喷水无码av电影| 日本视频一区二区三区免费观看| 天堂麻豆精品在线观看| 日韩网红少妇无码视频香港| 97精品依人久久久大香线蕉97| 午夜爽毛片| 亚洲精品国产一区二区免费视频| 日韩精品久久无码中文字幕| 美女裸体自慰在线观看| av东京热一区二区三区| 黄片视频免费观看蜜桃| 亚洲av成人无码网站大全| 在线无码国产精品亚洲а∨| 日本在线一区二区免费| 免费人成在线观看网站| 久久久噜噜噜久久中文字幕色伊伊| 日本av一区二区播放| 开心五月婷婷激情综合网| 亚洲国产一区二区a毛片| 一区二区三区放荡人妻| 亚洲一区二区精品在线| 亚洲国产精品无码久久98| 欧美日韩国产一区二区三区地区| 国产熟妇一区二区三区网站| 欧洲美女熟乱av| 久久久精品久久日韩一区综合| 日本女优一区二区在线免费观看 |