基于深度神经网络的信道译码性能评估

交互设计

  摘要

  随着第五代(5G)对高数据速率和低延迟的需求,深度神经网络解码器(NND)因其具有单次解码和并行计算的能力而成为一个很有前途的候选方案,本文提出了三种参数量级相同的神经网络,即多层感知器(MLP)、卷积神经网络(CNN)和递归神经网络(RNN)。通过大量的仿真,对这些深度神经网络的性能进行了评价。数值结果表明,RNN 具有最好的译码性能,但代价是最高的计算开销。此外,我们发现每种类型的神经网络都存在一个饱和长度,这是由于它们的学习能力受限造成的。

  研究背景

  最近,长期演进(也称为第五代(5G))在许多国家得到广泛推广。毫无疑问,5G 能够适应用户数据和系统容量的快速增长。直观地说,更高的传输速率需要更低的解码延迟。然而,传统的译码算法存在译码复杂度高、迭代次数多的问题。因此,设计新的高速低延迟解码器已成为一个亟待解决的新问题。

  深度学习的最新进展为解决这个问题提供了一个新的方向。深度学习已经应用于计算机视觉、自然语言处理、自动驾驶汽车等许多领域。显著的结果验证了其良好的性能。受此启发,一般的解码问题可以看作是一种分类问题,这是深度学习的典型应用。简言之,深度神经网络采用多层级联的非线性处理单元来提取和转换编码结构和噪声特性中包含的特征。与传统的迭代译码方法相比,深度神经网络译码器(NND)通过预先训练好的神经网络对每一层只传递一次来计算其估计器,称为一次译码。它为低延迟实现提供了基础。此外,利用现有的深度学习平台,如 Tensorflow,可以很容易地满足高速需求。通常,它们并行计算,并利用图形处理单元(GPU)等强大的硬体。

  研究者们试图用深度神经网络来解决信道解码问题。有研究已证明,通过给 Tanner 图中通过的 messages 分配适当的权重,可以在比传统的置信传播(BP)解码器更少的迭代次数下获得类似的解码性能。这些权重是通过深度学习中的训练获得的,这部分补偿了 Tanner 图中小循环的影响。考虑到 BP 译码包含大量乘法运算,一些文章中提出了一种轻量级的神经偏移最小和译码算法,该算法不需要乘法运算,硬件实现简单。另外一些研究发现结构化码确实比随机码更容易学习,并且解决了基于深度学习的解码器难以训练长码的挑战。因此,建议将极性编码图划分为子块,每个子码字的解码器分别进行训练。

  虽然在上述工作中,信道译码和深度神经网络的结合已经被研究过,但是有两个重要的问题还没有得到充分的研究。首先,哪种深度神经网络更适合 NND。其次,码字长度对 NND 性能的影响。本文在多层感知器(MLP)、卷积神经网络(CNN)和递归神经网络(RNN)的基础上,提出了三种参数量级相同的 NND。通过数值仿真比较了这三种深度神经网络的性能,发现 RNN 以最高的计算开销为代价,具有最好的译码性能。同时,我们发现码长对深度神经网络的拟合(过拟合和欠拟合)有影响。由此推断,每种类型的深度神经网络都存在一个饱和长度,这是由于它们的学习能力受到限制所致。

  研究模型

  (1)系统框架

  NND 的架构如图 1 所示。在发送器处,我们假设信息位 x 的长度为 。然后,通过信道编码器将 x 编码为长度为 的二进制码字 u,然后通过二进制相移键控(BPSK)调制将码字 u 映射到符号向量 s。本文假设 BPSK 符号是在加性高斯白噪声(AWGN)中传输的。

  图 1 深度神经网络解码器的体系结构

  我们希望 NND 能够尽可能地达到 MAP 解码的性能。作为一种监督学习方法,神经网络的构建需要两个阶段,它们分别是训练阶段和测试阶段。在训练阶段,利用一些训练样本对神经网络中的权值和偏置进行修正,目的是使损失函数最小化,经过这一阶段将得到地图函数 。然后,测试阶段,也就是实际的解码阶段,只是通过 从新接收到的符号向量中估计信息位,这也是为什么我们称其为一次解码。

  (2)模型训练

  神经网络的训练阶段对神经网络的译码性能有很大的影响,设计训练阶段需要解决两个问题。首先,如何生成训练样本。第二,应该选择哪种类型的损失函数。

  1)生成训练样本:为了训练网络,我们需要接收向量 y 和真实信息位 x。因此,一般的样本生成过程可以这样描述:从 中随机抽取信息位 x,然后通过执行信道编码、BPSK 映射和模拟来获得接收向量 y 通道噪声。

  然而,在设计中我们要考虑两个重要因素。一个是训练阶段的码本集 的比例,我们将其表示为 。如果我们在训练阶段从整个集合 中随机选取 x,那么在测试阶段接收到的新码字可能已经在训练阶段被看到了,因此神经网络的过程更像是记录和读取,而不是学习。为了评估 NND 的泛化能力,即 NND 是否能够估计未见过的码字,我们设置信息位 x 是从仅覆盖整个集合的 %的 X_p 中随机选取的。另一个因素是训练样本的信噪比(SNR),我们将其表示为 ρ_t。由于实际解码相位的信噪比未知且时变,NND 的性能在很大程度上取决于训练样本的信噪比。我们采用一些研究所提出的方法设置训练信噪比,并定义了一个新的性能指标,称为归一化验证误差(NVE),如下所示

  因此,NVE 度量在特定 SNR 下训练的 NND 与在不同 SNR 范围上的 MAP 解码相比的好坏,可以推断,NVE 越小表示 NND 的性能越好。正如研究所说,总有一个最优的![img](Users/yueyong/Library/Group Containers/UBF8T346G9.Office/TemporaryItems/msohtmlclip/clip_image005.png),这可以用两种极端情况来解释:

  ∙ ρ_t→+∞:无噪声训练,不训练 NND 处理噪音

  ∙ ρ_t→–∞:仅带噪声训练,神经网络无法学习编码结构

  这清楚地表明了在这两种情况之间的某个最佳情况。为此,我们在工作中用不同的数据集对神经网络进行训练,选择最优的神经网络,使神经网络的收敛速度最小。

  2)成本函数:损失函数是衡量实际 NND 产出与其预期产出之间的差异,如果实际产出接近预期产出,则损失只应略微增加,而较大的误差将导致非常大的损失。在我们的工作中,我们采用均方误差(MSE)作为损失函数。虽然神经网络中还有其他常用的代价函数,但我们的重点是比较不同类型的深度神经网络的 NND 性能,而代价函数对每种类型 NND 的影响是相同的,因此我们选择了简单易懂的最小均方误差。

  (3)深度神经网络的设计

  在这一节中,我们对 MLP、CNN 和 RNN 的具体设计进行了描述。众所周知,如果神经网络的参数(权值和偏差)很大,神经网络的表达和学习能力通常会很强。考虑到我们的目标是比较不同深度神经网络的学习能力,我们应该保持每个神经网络的总参数个数大致相同,以避免深度神经网络的性能差异来自于参数个数的差异。因此,我们为每个神经网络构造了一个相对简单和通用的结构,并将参数的大小保持为 103,如表 1 所示。

  表 1 参数总数汇总

  MLP 是一类层间完全连通的前馈人工神经网络,它至少由三层节点组成。MLP 的每个节点都是一个神经元,它使用一个非线性激活函数来赋予它学习能力。文献表明,当神经元数目足够大时,非线性激活函数在理论上可以任意逼近有界区域上的任意连续函数。在本文中,所提出的 MLP 架构如图 2 所示。在 MLP 中采用了 64、32、16 三个隐层,输入层和输出层的节点无疑是 和 。

  图 2 多层感知器的体系结构

  CNN 也是一类前馈人工神经网络,已成功应用于视觉图像分析。CNN 的隐藏层要么是卷积层,要么是池层,模拟单个神经元对视觉刺激的反应,卷积运算大大减少了参数的数量,使得网络可以用更少的参数更深入。因此,CNN 在图像特征提取方面的优异性能促使我们将 CNN 与 NND 相结合。考虑到 CNN 通常用于图像处理,在 NND 中应用 CNN 时需要做一些修改。如图 3 所示,我们将 CNN 的每一层的输入修改为一维向量,而不是二维图像。此外,我们采用了 CNN 的一般结构,没有一些高级技巧,如一些文献中提出的批量标准化,详细的参数设置如表 2 所示。

  图 3 卷积神经网络的结构

  表 2 CNN 参数

  RNN 是一类人工神经网络,单元之间的连接形成一个有向循环。这允许它表现出动态的时间行为。与前馈神经网络不同,RNN 可以利用其内部存储器处理任意的输入序列。这使得它们适用于未分段、连接的手写识别或语音识别等任务。受 RNN 在时间序列任务上的出色表现的启发,我们希望它也能在 NND 中取得良好的性能。值得注意的是,一般 RNN 存在严重的消失梯度问题,如文献中所述,人们在实践中通常采用长-短期记忆(LSTM)。LSTM 包含三个门,分别称为遗忘门、输入门和输出门,用于控制信息流,从而防止反向传播的错误消失或爆炸。因此,我们以 LSTM 作为 RNN 的代表,所提出的架构如图 4 所示。我们将 LSTM 单元的输出维数设置为 256,即 ℎ 和 是 256×1 向量,每个时间步长只使用一个 LSTM 单元。

  图 4 长短时记忆(LSTM)的结构

  性能评价

  在本节中,比较了 NND 与 MLP、CNN 和 RNN 在不同长度 下的性能。在所有实验中,我们使用速率为 1/2 的极性码,并将码字长度 设置为 8、16、32。码本 的训练比例设置为 40%、60%、80%和 100%。我们选取 −2dB 到 20dB 的 12 个不同的信噪比点作为训练信噪比 ρ_t,如前所述,测试阶段将选择最佳的 ,其结果是 NVE 最小。对于神经网络中一般参数的设置,我们称之为超参数,经过大量的试验,我们选择了一个相对合理和令人满意的集合,如表 3 所示。值得注意的是,我们使用 Tensorflow 作为我们的实验平台,源代码可用于可重复的研究。

  表 3 超参数设置

  为了更好地评估 NND 的学习能力,我们将仿真分为两部分。第一部分研究了无噪声训练的 NND 的性能,它只反映了对编码结构的学习能力。第二部分研究了神经网络在噪声环境下的训练性能,包括编码结构和噪声特性的同步学习。另外,在测试样本的基础上,用误码率(BER)来衡量系统的性能,并与 MAP 译码的性能进行了比较。

  (1)无噪音学习

  图 5 考察了 MLP、CNN 和 RNN 在没有噪声的情况下实现的误码率(BER)作为从 M_ep=101、…、105 到 =8 的训练时段数的函数,关于码本的不同训练比率。从图 5 可以看出,误码率随着训练次数的增加而逐渐减小,最终达到一个稳定值,这代表了深层神经网络的收敛性。对于三个深度神经网络,可以观察到较低的 导致较高的误码率,并且只有当 =100%时,误码率才下降到 0,这表示神经网络已经学习了完整的编码结构。这一现象可以解释为神经网络的过拟合,即神经网络即使不是 100%也能很好地拟合每一个 值的输入输出关系,从而导致泛化性差。

  图 5 无噪声情况下 MLP、CNN 和 RNN 的误码率与训练次数的关系,训练比分别为 40%、60%、80%和 100%

  图 6 研究了类似的情况,但当 =16 时。对于 MLP,我们发现当 =100%时,性能比 =8 的情况更差,原因是码本的大小随着 的增长呈指数增长,从而导致 NND 的输入输出关系更为复杂,超出了现有神经网络的学习能力,使其更加复杂倾向于不合身。然而,当 =60%和 80%时,误码率下降到 0,这表示 MLP 能够从一小部分码本推广到整个码本集。CNN 与 MLP 的唯一区别是当误码率降到 0 时, 分别为 80%和 100%,说明 CNN 的学习能力略强于 MLP。值得注意的是,RNN 仍然处于过拟合状态,因为其性能与 =8 时的情况相同。

  图 6 MLP、CNN 和 RNN 在无噪声条件下的误码率与训练时间的比值为 16,训练比例为 40%、60%、80%和 100%

  类似地,图 7 用于当 = 32 时的情况。显然,可以推断 MLP 和 CNN 都处于欠拟合状态。但是,RNN 可以获得很好的性能,因为每个值为 时,误码率下降到 0,证明 RNN 在 NND 方面优于 MLP 和 CNN。

  图 7 MLP、CNN 和 RNN 在没有噪声的情况下实现的误码率与训练纪元数的关系![img](Users/yueyong/Library/Group Containers/UBF8T346G9.Office/TemporaryItems/msohtmlclip/clip_image016.png)为 =32,训练比例 =40%、60%、80%和 100%

  (2)带噪音学习

  图 8 研究了当 =8 时的情况,可以观察到 MLP、CNN 和 RNN 都可以在 =100%时实现 MAP 性能,尽管当 低于 100%时它们是过度拟合的。类似地,图 9 研究了 =16 时的情况。对于 MLP 和 CNN,我们发现不同训练比 的四条曲线非常接近,与 MAP 曲线有一定的差距,这说明 MLP 和 CNN 都有欠拟合的倾向,虽然 CNN 比 MLP 稍好一些。然而,当 =100%时,RNN 仍然过度拟合谁可以实现 MAP 性能。从图 10 研究 =32 时的情况,我们可以得出结论,MLP 和 CNN 都处于欠拟合状态,而 RNN 出现欠拟合的迹象,就像 =16 时 MLP 和 CNN 的情况一样。

  图 8 MLP、CNN 和 RNN 实现的误码率与测试 SNR 的对比 E_b/N_0 为 =8,训练比例为 =40%、60%、80%和 100%,M_ep=105。

  图 9 MLP、CNN 和 RNN 在噪声与测试信噪比之间的 BER 为 0,训练比例为 40%、60%、80%和 100%,且训练比为 M_ep=105

  图 10 MLP、CNN 和 RNN 实现的误码率与测试 SNR 的对比 E_b/N_0 为 =32,训练比为 =40%、60%、80%和 100%,M_ep=105

  基于以上结果,我们总结出神经网络中每种类型的深度神经网络都存在一个饱和长度,这是由于它们的学习能力有限造成的。当码长 小于饱和长度时,只有对整个码本进行训练,即 =100%,才能很好地学习到完整的编码结构和噪声特性,当 小于 100%时,NND 会出现过拟合问题。当 接近饱和长度时,不同训练比 的性能非常接近,随着训练比 的增加,NND 趋于欠拟合。当 超过饱和长度时,无论 是什么,NND 都是完全欠拟合的。对于本文提出的神经网络结构,我们可以得出结论,尽管 CNN 的学习能力略强于 MLP,但 MLP 和 CNN 的饱和长度都是 16,而 RNN 的饱和长度是 32。

  我们进一步研究了 MLP、CNN 和 RNN 的计算时间,如图 11 所示。如前所述,我们对每个神经网络保持相同的参数幅值,但是由于各自的具体结构,实际计算时间仍然存在很大的差异。在训练和测试阶段,RNN 的计算时间远高于 MLP 和 CNN,而 CNN 的计算时间略高于 MLP。因此,我们可以得出结论,CNN 和 MLP 的性能非常接近,虽然 CNN 有更好的解码性能,但在较小程度上有更高的计算时间,RNN 可以以最高的计算时间为代价获得最佳的解码性能。

  图 11 MLP、CNN 和 RNN 的计算时间与编码词 的长度关系。(a)一个训练样本的后向传播时间。(b)一个测试样本的前向传播时间

  实验总结

  本文提出了三种基于 MLP、CNN 和 RNN 的 NND。我们通过实验比较了这三种深度神经网络的性能,发现 RNN 以最高的计算时间代价获得了最好的译码性能,CNN 在较小程度上比 MLP 具有更好的译码性能和更高的计算时间。我们发现,码字长度影响深度神经网络的拟合,即过拟合和欠拟合。由此推断,每种类型的神经网络都存在一个饱和长度,这是由于它们的学习能力有限造成的。这提醒我们,MLP、CNN 和 RNN 的结构相对简单和通用,我们未来工作的重点是设计更复杂的结构,以提高它们的饱和长度,以满足更长码字的需求,例如增加 MLP 的神经元节点,为 CNN 添加卷积层或在每个时间步中堆叠更多 LSTM 单元。同时,具有饱和长度的译码性能必须尽可能接近 MAP 性能。

  致谢

  本文由南京大学软件学院 2021 级硕士颜昌粤翻译转述。

  感谢国家自然科学基金(6172510461631003)、华为技术有限公司(HF2022010003、YB2010400053、YB2013120029)和浙江大学教育基金的!

标签: 交互设计