分组马尔可夫叠加传输的神经网络译码
2020-10-11王千帆毕胜陈曾喆陈立马啸
王千帆,毕胜,陈曾喆,陈立,马啸
(1.中山大学电子与通信工程学院,广东 广州 510006;2.中山大学数据科学与计算机学院,广东 广州 510006;3.中山大学广东省信息安全重点实验室,广东 广州 510006;4.中山大学电子与信息工程学院,广东 广州 5 100063)
1 引言
通信领域是一个相对复杂且成熟的领域,传统的性能优化方法的效果正在逐步减弱,这种现象在物理层尤为明显[1]。为满足用户对新一代通信的需求,通信技术和人工智能技术相结合成为一种新的研究方向。机器学习被认为是人工智能领域中最能体现“智能”的分支之一,其在处理难以用数学公式描述的问题上具有一定优势,并成功地应用在图像处理、文本处理等领域。
受机器学习在图像去噪和超清分辨等方面研究的启发,基于机器学习来实现或优化旨在去除噪声恢复数据的信道译码引起了越来越多的关注。神经网络(NN,neural network)是机器学习中的重要分支之一,将NN运用到信道译码研究的优势在于NN是不依赖于模型的,即不需要对信道噪声的统计信息做任何假设,便能在训练过程中学习信道的映射关系或提取信道统计信息[2]。此外,NN在并行性上也具有一定的优势,利用NN可以最大限度地并行化译码过程,从而提高译码器的吞吐量[3]。目前,基于NN的译码研究已经取得了初步的成 果[4-5]。一般来说,使用NN进行译码可以看作一个分类问题。然而类别的数量随着信息位长度的增长呈指数增长,存在维度诅咒现象[6]。当信息位长度较大时,使用NN直接译码一般难以获得较好的译码性能,因此不具备实用价值,这也是目前基于NN的译码主要针对中短码的原因。然而即使在中短码的情况下,目前的方案一般也难以达到传统方案最优的译码性能。文献[4]使用NN对码长16的极化码进行译码,性能接近最大似然(ML,maximum likelihood)译码,但仍有一定差距。文献[5]基于NN改进了中短码长的BCH(Bose-Ray-Hocquengthem)码在置信传播译码下的性能,但与传统译码性能相比仍有部分差距。文献[7]提出了一种针对低密度奇偶校验(LDPC,low density parity check)码、极化码的NN联合译码方案,该译码方案可以达到与置信传播译码相近的性能,但所使用的码长仍然是较短的。文献[8]使用NN代替极化码连续消除译码器中的部分子块,但所使用的码长仍然是较短的。通过以上的研究可以发现,基于NN的译码研究主要面临两方面的问题:一方面是短码情况下如何达到传统方案的最优译码性能,另一方面是如何将NN运用到长码的译码中。
分组马尔可夫叠加传输(BMST,block Markov superposition transmission)是近年来提出的一种新的编码传输方案[9-10],其编码过程如下。信息序列先由基本码进行编码,然后将编码后的序列进行交织,最后将交织后的序列进行叠加传输,从而达到既能重复传输多次又能保证传输效率的目的。研究者在多个场景下对BMST进行了研究。文献[11]提出了适用于光纤通信场景的BMST-BCH码设计,保证了高码率传输下的高可靠性。文献[12]提出了一种基于BMST通过部分叠加来构造空间耦合LDPC码的一般方法。此外,BMST在加性高斯白噪声(AWGN,additive white Gaussian noise)信道[9]、湍流信道[13]和非高斯脉冲信道[14]上均有逼近香农限的性能,同时研究者也给出了相应的用于预测误码性能的简单下界。BMST具有诸多优点,其由短码出发,构造性能优异的长码为NN运用到长码提供了一种可能,即可以设计针对短码的NN译码器,并将此译码器嵌入长码译码的迭代机制中,从而替代其中部分模块。
文献[15]初步提出了基于NN的BMST译码方案,以汉明(Hamming)码为基本码,利用NN实现了仅比ML译码器差0.5 dB的基本码译码器,并将其嵌入了BMST的迭代译码机制中。本文在文献[15]的基础上改进了基于NN的BMST译码方法,分析了不同网络结构和数据表征形式对译码性能的影响,通过引入独热向量,使基于NN的基本码译码器可以达到ML译码的性能。针对使用独热向量可以达到ML译码性能的原因,本文也给出了相应解释。由于使用独热向量时输出层神经元个数随信息位长度的增长呈指数增长,而输出层神经元个数过多是不利于学习的。针对该问题,本文提出了双热向量,从而极大地减少输出层神经元个数,降低学习复杂度,同时可以达到接近ML译码的性能。最后,本文将所实现的NN基本码译码器嵌入迭代译码机制中,设计了基于NN的分组马尔可夫叠加传输的滑窗译码算法,并分析了其对应的性能下界。仿真结果显示:1)所提NN基本码译码器在使用独热向量表征下可以达到ML译码的性能,在使用降低学习复杂度的双热向量表征下可以达到接近ML译码的性能;2)所提基于NN的分组马尔可夫叠加传输的滑窗译码算法的性能在中高信噪比区域贴合其对应的精灵辅助(GA,genie-aided)下界,并与BMST的传统性能下界贴近,获得了额外的编码增益。
2 预备知识
2.1 神经网络
受到人脑结构的启发,研究者提出了NN的概念[16]。类似于大脑,NN具有学习、存储和使用经验知识的特性。整个NN由输入层、隐含层和输出层构成,如图1所示。
图1 神经网络结构
图2展示了神经元的运算过程。假设前一层有n个神经元与本层第k个神经元相连,则本层第k个神经元的输出y(k)如式(1)所示。
其中,x(i)表示此神经元的第i个输入,w(i)表示第i个输入对应的权重,b(k)表示此神经元对应的偏置,ϕ表示激活函数。这里权重和偏置用来描述线性关系,激活函数用来描述非线性关系。
图2 神经元的运算过程
2.2 分组马尔可夫叠加传输
记忆长度为m的BMST系统的编码过程如图3所示。该系统是由一个基本码编码器、m个交织器和m个寄存器组成。这里考虑基本码是一个码长为n、信息位长度为k的二元线性码C[n,k]。
图3 BMST系统编码过程
BMST方案的码字c(t)经过调制后发送到噪声信道,接收端获得信号的含噪信号y(t)。本文的调制方式为二进制相移键控(BPSK,binary phase shift keying),噪声信道为AWGN信道。
BMST的译码过程采用基于正规图(normal graph)[17]的滑窗译码算法,具体译码过程见文献[10]。
3 神经网络译码
3.1 基于神经网络的基本码译码
本节将介绍利用NN实现的不同方案的基本码译码器,其中,基本码采用[7,4]汉明码,隐含层的激活函数使用ReLU函数[18],输出层的激活函数使用sigmoid函数,具体如式(2)和式(3)所示。
NN输入数据为有噪信号,因此,针对NN结构和监督数据的表征形式,本文给出了4种方案。
方案1使用一个输入输出维度均为7的NN,如图4所示。NN训练所用的输入数据为7维噪声向量,监督数据为软入软出(SISO,soft-in soft-out)ML译码后输出的7维概率向量。
图4 方案1架构
方案2架构如图5所示,其基本思想是通过缩小NN的输出维度来减少每个NN的类别数目,以此改进性能。该方案使用2个输入维度均为7的NN(NN-1和NN-2),其输出维度分别为4和3。训练所用的输入数据均为7维噪声向量,NN-1所使用的监督数据为与ML译码器输出的信息位对应的4维概率向量,NN-2所使用的监督数据为ML译码器输出的校验位对应的3维概率向量。
图5 方案2架构
方案3如图6所示。该方案中的NN输入维度为7,输出维度为16。训练所用的输入数据为7维噪声向量,监督数据为16维独热向量表示的信息位。独热向量采用N种情况使用一个长度为N的向量进行表示,当出现第i种情况时(1≤i≤N),该向量的第i个元素值为1,其他元素值为0。本文采用的基本码信息位长度为4,因此N=24=16。采用独热向量需要更多的神经元来表征不同类别,虽然这增加了输出层神经元数目,但是更易于区分每个类别。
图6 方案3架构
方案4架构如图7所示。该方案中的NN输入维度为7,输出维度为8。训练所使用的输入数据为7维噪声向量,监督数据为使用8维双热向量表示的信息位。监督数据中前4维向量是信息位前两位对应的独热向量,后4维向量是信息位后两位对应的独热向量。当采用方案3中的独热向量来表示信息位时,输出层神经元个数随信息位长度的增长呈指数增长,但输出层神经元个数过多是不利于NN训练的。方案4可以使输出层神经元个数大幅减少。以10 bit信息位为例,采用方案3,输出层神经元个数为210=1 024。若采用方案4,则输出层神经元个数减少至25+25=64个。
图7 方案4架构
3.2 基于神经网络的BMST译码
本节基于3.1节的NN基本码译码器,针对BMST系统提出了基于NN的滑窗译码算法,一般使用正规图[17]来描述该译码算法的信息传递过程。图8为L=4、m=2的BMST基于NN的滑窗译码器示意。一般来说,译码窗口d≥m,图8中的矩形表示节点,与节点相连的边需要满足一定的信息传递约束。Y(t)、C(t)、V(t)和U(t)分别为y(t)、c(t)、v(t)和u(t)对应的随机向量,这里y(t)、c(t)、v(t)和u(t)分别表示接收序列、发送码字、基本码码字和信源序列;H(·)表示随机变量的熵。在一个译码层中,包含4类节点,具体如下。
图8 基于NN的BMST滑窗译码示意
译码窗口为d的滑窗译码算法只在包含d+1层的子正规图上进行迭代译码。接收向量y(t+d)在时刻t+d输入译码器中进行迭代。迭代完成后,基于NN的滑窗译码算法输出信源u(t)的估计。详细过程如算法2所示。
算法2基于NN的BMST滑窗译码算法
输入
输出
全局初始化译码器根据接收向量y(t)(0≤t≤d-1)计算c(t)对应的后验概率,正规图上当前层内部其他边上的消息及连接到其他层的所有边上的消息都按照均匀分布进行初始化。设置最大迭代次数Jmax>0,阈值σ>0,熵率H0(Y(t))=0。
滑窗译码 fort=0,1,…,L-1
1)局部初始化。当t+d≤L+m-1时,译码器根据接收向量y(t+d)计算c(t+d)对应的后验概率。将第t+d层内部其他边上的消息及连接到其他层的所有边上的消息按照均匀分布进行初始化。
2)迭代。forJ=1,…,Jmax
①前向递归。对于i=0,1,…,d,正规图上第t+i层消息传递的顺序为
② 后向递归。对于i=d,d-1,…,0,正规图上第t+i层消息传递的顺序为
③判决。对v(t)进行硬判决,计算Y(t)的熵率HJ(Y(t)),若满足|HJ(Y(t))-HJ-1(Y(t))|≤σ,则退出迭代,并输出。
3)干扰消除。通过更新C(t+1),…,C(t+m)对应的后验概率来移除所有层上v(t)的影响。
3.3 GA下界
本节分析得到基于NN的BMST系统的GA下界。文献[9]中给出了采用BPSK调制的BMST在AWGN信道下的GA下界,如式(4)所示。
其中,λ表示,Eb表示每比特的信号能量,N0表示噪声的功率谱密度;FBMST(·)和Fbasic(·)分别表示记忆长度为m的BMST和基本码的性能函数。在中高信噪比区域,BMST的最大额外增益为10log(m+1)dB。基于NN的BMST系统同样存在着类似的GA下界,如式(5)所示。
其中,FBMST-NN(·)和Fbasic-NN(·)分别为记忆长度为m的基于NN的BMST和基本码的性能函数。对于记忆长度为m的BMST系统而言,只需将基于NN的基本码译码器的误比特率曲线向左平移10log(m+1)dB,即可得到对应的GA下界。
4 数值结果
本节通过几个例子来分析第3节中4种不同方案的NN基本码译码器和不同基本码译码器嵌入BMST系统的性能。BMST系统中基本码使用汉明码的2 500重笛卡尔积[7,4]2500,其信息位长度和码字长度分别为k=10000和n=17500。在BMST系统中,采用的交织器是长度为17500的均匀随机交织器[10]。对于基本码译码器,本文只需要针对原始的[7,4]汉明码训练即可,所产生训练数据的为6 dB,训练数据量为107帧,每批样本大小为256帧。使用TensorFlow开源框架的ADAM-Optimizer,学习率为0.1,步长为0.01。文中用(N0,N1,…,Nℓ-1)来表示包含ℓ层隐含层的NN,其中第i层隐含层的神经元个数为Ni。采用算法2作为BMST的译码算法,设置最大迭代次数Jmax=50,L=98,译码的熵终止阈值σ=10-5。
例1图9展示了汉明码在方案1中不同NN结构对译码性能的影响,参数设置与文献[15]相同,本文得到了相似的仿真结果。由仿真结果可知,在一定范围内,增加隐含层神经元的数目可以改善性能。两层隐含层神经元个数分别为56、28时(图9中表示为 (56,28)),在BER=10-4处,该方案比ML译码方案差1.2 dB。结果还反映再增大神经元数目已无意义,即网络结构(56,28)已饱和。
图9 方案1下不同NN结构的汉明码译码性能曲线
例2图10展示了汉明码在方案2不同NN结构对译码性能的影响。方案2通过使用2个独立的NN,缩小NN的输出维度并改善性能。由仿真结果可知,相比于方案1,方案2的性能得到了提升。结果还反映在一定范围内,增加隐含层神经元的数目可以改善性能。在BER=10-4处,NN结构为(28,14)的方案2性能比ML译码方案差0.5 dB。
例3图11展示了汉明码在采用方案3情况下不同NN结构对译码性能的影响。方案3使用一个独热向量来表示信息位。由仿真结果可知,所有网络结构的性能曲线均贴合ML译码方案的性能曲线。使用没有隐含层的浅层NN(图11中表示为(none))同样可以达到ML译码方案的性能。在浅层NN结构下,乘法和加法分别需要执行7×16=112次,比较操作需要执行15次,激活函数执行16次,这里激活函数可以通过查表获得输出值。而ML译码方案分为2个步骤,第一步计算16个码字的概率,需要进行96次乘法;第二步根据16个码字的概率,得到译码选择,需要15次比较操作。表1展示了2种译码器的复杂度对比。从表1中可以看出,方案3 NN (none) 译码器相比于ML译码方案只是增加了加法运算和较少的乘法运算。
图10 方案2下不同NN结构的汉明码译码性能曲线
图11 方案3下不同NN结构的汉明码译码性能曲线
表1 2种译码方案的计算复杂度对比
由图11还可以看出,方案3在没有隐含层的情况下可以达到ML译码方案的性能,这是由于无隐含层的方案3等效于实现一个ML译码方案。以如下给定权重、偏置的“NN”来解释其等效性。假设接收向量对应的对数似然比作为NN的输入,没有隐含层,输出层神经元个数为16个,且每个输出层神经元的偏置均为0,无激活函数。若码表中第i个码字的第j位为0,则输入层第j个神经元与输出层第i个神经元的权重为+1,反之则为-1。经过前向传播后,若该NN第b个输出层神经元的值最大,则码表中第b个码字的概率最大。上述给定权重、偏置的“NN”,即ML译码方案的网络实现形式。基于此,对于码表已知的任意编码方案的ML译码方案,均可以由NN来实现。但是使用独热向量情况下,输出层神经元个数会随信息位长度呈指数增长,输出层神经元个数过多是不利于学习的。针对这个问题,本文提出了双热向量,即方案4,如例4所示。
例4图12展示了汉明码在方案4不同NN结构对译码性能的影响。方案4使用双热向量来表示信息位,从而减小输出层神经元个数,降低学习复杂度。由仿真结果可知,在BER=10-5处,网络结构为(56,28)的方案4性能比ML译码方案差0.2 dB,达到了近似最优的性能,同时降低了学习复杂度,更具有实用性。
图12 方案4下不同NN结构的汉明码译码性能曲线
例5图13展示了不同方案的NN基本码译码器嵌入BMST系统中的性能。所有训练方案的隐含层NN结构均为(56,28)。BMST系统记忆长度m=1,译码窗口d=7。由仿真结果可知,使用不同方案基本码译码器的BMST系统均获得了额外编码增益。其中,使用方案3的BMST系统的性能在中高信噪比区域贴合其对应的GA下界,并与BMST的传统性能下界接近。同时,使用方案4的BMST系统也获得了较好的性能,并在中高信噪比区域与方案3(56,28)的性能下界贴合。
图13 不同方案的基本码译码器在BMST系统中的性能比较
例6图14展示了记忆长度m对基于NN的BMST系统的性能影响。汉明码采用方案3 NN(56,28)的译码器,BMST系统中同样采用相同结构的NN译码器。BMST系统记忆长度和译码窗口设置分别为[m,d]=[1,3]和[m,d]=[2,6]。由仿真结果可知,基于NN的BMST系统增大记忆长度m可以提高性能,同时,不同记忆长度m的仿真性能在中高信噪比区域都与其对应的下界贴合。
图14 不同记忆长度的BMST系统的性能比较
5 结束语
本文研究了基于NN的分组马尔可夫叠加传输的译码方案,给出了不同网络结构和数据表征形式对译码性能的影响。针对数据表征形式,提出了缩减NN输出维度、使用独热向量表示信息位和使用双热向量表示信息位等方案。其中,使用独热向量表示信息位的NN基本码译码器可以达到ML译码的性能。针对独热向量下输出层神经元个数过多、不利于学习的问题,提出了双热向量,可以极大减少输出层神经元个数,同时可以达到接近ML译码的性能。在此基础上,将不同方案的基本码译码器嵌入BMST迭代译码机制中,替换了长码译码中的部分模块,均获得了额外编码增益。其中采用方案3的BMST系统的性能贴合其对应的GA下界,并与BMST的传统性能下界接近。