基于改进的循环神经网络的信号分类识别方法与流程

文档序号:23720422发布日期:2021-01-24 07:52阅读:85来源:国知局
基于改进的循环神经网络的信号分类识别方法与流程

[0001]
本发明涉及深度神经网络技术领域,特别是涉及到一种基于水声通信信号识别的循环神经网络方法及系统。


背景技术:

[0002]
通信信号识别,尤其是通信信号的种类识别是非合作通信系统的核心技术,近年来已经得到了广泛的研究。在军事和民用领域具有非凡的价值,它已成为认知无线电和软件无线电中不可或缺的组成部分。在军事领域,干扰通信需要发送更高功率的信号,以超过敌方在相同频带中的信号。其中的关键环节是要与敌方具有相同的信号类型,才能生成更高功率的干扰信号。在民用领域,链路自适应系统根据信道条件自适应地选择信号类型,提高通信系统的传输效率。但是,低延时、高效率、高准确性的信号识别的方法系统尚未在水声通信领域采用。
[0003]
在水下声学通信过程中,水下信息传输的媒介是水体,相当于陆地无线通信的通道。与地面无线信道相比,水下声信道的变化要复杂得多。此外,水下声信道很容易受到许多因素的干扰,比如高频电磁波因为水体的吸收特征,无法长距离传播;声波在水中传播受到温度、盐度和水压的影响严重;环境噪声和陆地通信的常见白噪声明显不同,包括了水下生物、舰艇及水下设备等多种因素影响。这使得大多数现有的陆地经典无线通信模型无法直接应用于水下声通信过程的分析。考虑到水下声信道的时变特性,在通信过程中会有更多的能量损耗和衰落,更严重的多径干扰和多普勒频移效应。因此,不仅可用带宽变窄,而且信道容量也很小;而通过使用适当的信号类型来改善水下声通信系统的有效传输是非常必要的。
[0004]
多层神经网络在针对文本,语音和图像的各种基准测试任务中取得了令人瞩目的成功,它是深度学习方法的基本形式。递归循环神经网络(recurrent neural network,rnn)主要用于自然语言处理领域,而卷积神经网络(convolutional neural network,cnn)则广泛用于图像识别领域。rnn和cnn之间的主要区别在于rnn具有“内存停滞”功能。可以量化过去输入内容的影响,并对当前时间输入做出反应,以参与网络训练的过程。在通信领域,深度学习方法也有一些应用。主要形式基于cnn和rnn体系结构。例如,rnn可以用于分类无线接收信号;rnn可用于识别和检测通信过程中的数据序列;已有文献探索了通过深度学习方法来处理物理层通信过程,并通过cnn和信念传播网络组合的架构对信道进行了解码。可以了解到,复杂的网络体系结构可以学习到更多信号数据集的概率特征。同时,经过训练的更深层网络模型具有大量参数。这导致该模型仅用于训练数据集,而不能应用于验证数据集,无法将模型推广到相似的概率分布信号数据集,这相当于无法使用经过训练的模型。
[0005]
rnn受短期记忆的影响很大;如果序列足够长,它将很难将信息从较早的时间传递到较晚的时间。为了尝试处理长时间的数据,rnn可能从一开始就遗漏了重要信息。在反向传播过程中,rnn还存在一个称为梯度爆炸或消失的问题。通常,使用梯度来更新神经网络权重;当渐变消失时,渐变会随着时间逐渐缩小到接近0;如果梯度值变得非常小,则不能提
供足够的信息来学习数据集。通常,早期的rnn会通过梯度问题停止学习。结果,rnn忘记了在较长序列中看到的内容,并且仅具有短期记忆。lstm可以解决rnn的短期存储问题,该问题具有一种称为“门”的内部机制,可以调节信息流。这些门可以确定数据是按顺序保留还是不推荐使用,因此可以将相关信息传递给更长的序列链进行预测。通过rnn几乎可以实现基于rnn的所有最新成果。特别是,rnn及其变体在最近已被广泛使用,包括手语翻译,手写识别,节奏学习和医疗路径预测。


技术实现要素:

[0006]
本发明的目的是提供一种改进的循环神经网络的信号分类识别方法,以弥补现有技术的不足。
[0007]
为达到上述技术目的,本发明采取的具体技术方案为:
[0008]
一种改进的循环神经网络的信号分类识别方法,该方法包括以下步骤:
[0009]
s1:接收信号数据;
[0010]
s2:采用门控循环单元(gru)作为数据处理基本单元;
[0011]
s3:以所述gru为基础,加入模型平均值(dropout)堆叠多层进行改进,得到改进后的gru;
[0012]
s4:将s1获得的数据以s3获得的改进gru为模型进行训练;
[0013]
s5:利用s4训练好的模型进行信号数据分类识别,输出。
[0014]
进一步的,所述gru内部结构的计算方法如下
[0015]
u
t
=sigmoid(h
u
[l
t-1
,j
t
]+b
u
)
ꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀ
(3)
[0016]
e
t
=sigmoid(h
e
[l
t-1
,j
t
]+b
e
)
ꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀ
(4)
[0017][0018][0019]
(3)是用于更新门的计算公式,h
u
是控制单元和更新门之前的输入权重矩阵,b
u
是更新门偏置项;公式(4)是重置门的计算公式,h
e
是前一时刻控制单元和输入权重矩阵,b
e
是输入门偏置项;公式(5)是用于单位状态的计算公式,h是用于计算单位状态的权重矩阵,b
l
是计算单位状态的偏移项;公式(6)是时间t时控制单元的输出公式;sigmoid(
·
)表示sigmoid函数k(t)=1/(1+e-t
),tanh(
·
)表示tanh函数tanh(t)=(e
t-e-t
)/(e
t
+e-t
)。
[0020]
进一步的,所述s3中,添加dropout后公式(6)变为
[0021][0022]
其中γ(
·
)是dropout函数,以一定概率表示。
[0023]
进一步的,所述gru选用rmsprop优化器。
[0024]
进一步的,所述dropout值选取为0.5。
[0025]
所述信号分类识别方法能够应用于水声通信系统中。
[0026]
本发明的优点和技术效果:
[0027]
gru具备长序列记忆功能的深度网络形式,更适应于应用在多途互干扰现象严重的水声通信过程中的信号识别中,本发明通过合理匹配gru使用的超参数来进一步提高识
别能力。gru简化了网络模型设计方式,在保证识别信号性能的前提下,合理控制了参数规模,方便在存储有限、计算能力有限的水声通信系统中使用。本发明提供的改进gru方法能够用于识别各种信号类型,明显改善识别效果,提供分辨精度。
[0028]
本发明提供的信号识别方法不但可以有效克服水声通信噪声的影响,而且能够抵御常见水声通信中多普勒效应的干扰,高效识别信号类别。本发明采用适合于水声通信的超参数组合来优化gru识别信号的效果,控制了分辨偏差,提高了识别精度。
附图说明
[0029]
图1所示为本发明的实施例所涉及的rnn示意图;
[0030]
图2所示为本发明的实施例所涉及的rnn时序序列循环计算表示式;
[0031]
图3所示为本发明的实施例所涉及的gru时序序列循环计算表示式;
[0032]
图4所示为本发明的实施例所涉及的用于信号识别的多层gru模型形式;
[0033]
图5所示为本发明的实施例所涉及水下通信过程模型示意图;
[0034]
图6所示为本发明的实施例所涉及gru选择不同的优化器参数的识别结果对比图;
[0035]
图7所示为本发明的实施例所涉及dropout选择不同比率时的识别结果对比图;
[0036]
图8所示为本发明的实施例所涉及不同多普勒频移的训练损失的结果对比图;
[0037]
图9所示为本发明的实施例所涉及不同多普勒频移的分类准确率的结果对比图;
[0038]
图10所示为本发明的实施例所涉及不同方法在分类识别结果对比图。
具体实施方式
[0039]
通过参考的附图,具体详述本发明的实施方案。以下说明中,对于类似的功能部分使用相同的符号表示,重复的声明均省略。此外,附图都是示意图,描述的本发明功能部分互相之间的比例尺寸亦或是功能部分的外形等都可以与现实有所不同。
[0040]
实施例
[0041]
在全连接的神经网络或卷积神经网络中,网络结构形式是从输入层到隐藏层再到输出层。这些层是完全或部分连接的,但是每层之间的节点是未连接的。这种网络架构可以通过加深网络层的数量来提高对各种数据形式的识别分类效果。同时,当参数通过加深的网络体系结构传递时,更容易发生梯度消失的问题。随着网络结构的不断加深,信息和梯度在网络结构各层之间传递时,所学信息消失的现象变得更加严重。为了更好地提高识别效果,需要在层间建立传递学习到参数的连接,这种方式是一种解决由深度网络架构引起的梯度消失问题的良好方案。
[0042]
rnn方法与跨层连接的网络体系结构的代表架构resnet不同,rnn方法不通过跨层连接传递参数。rnn的方式是表征序列的当前输出与先前信息之间的关系。根据时序网络结构形式,rnn将记住先前的信息,并使用先前的信息影响后续的输出。也就是说,rnn的隐藏层之间的节点互相连接,并且隐藏层的输入不仅包括输入层的输出,还包括前一时刻的隐藏层的输出。因此,rnn的体系结构可以在具有较少的参数的情况下,实现与深度resnet结构相似的效果。
[0043]
rnn具有回路连接的结构形式,如图1所示,随着时间的推移会将信息反馈到回路网络,此过程称为存储记忆。rnn的这种存储功能增强了网络模型的学习和泛化能力,其中
该结构与前后序列进行交互。该网络体系结构会存储先前的序列信息,并将其应用于当前输出的计算。这对于水下通信延迟引起的相互干扰尤为重要,与cnn结构相比,它可以更有效地提高识别效果。也就是说,rnn结构中隐藏层之间的节点不再像传统的神经网络那样没有连接,而是互连接的。
[0044]
rnn的计算表示为
[0045][0046]
该公式是rnn的隐藏层的公式,表示它是一个循环层,如图2所示;代表输入j
t
的权重矩阵,代表最后一个输入值o
t-1
作为此输入的权重矩阵,而ρ(
·
)代表激活函数;
[0047][0048]
(2)表示输出层的公式,并且输出层是完全连接的层,即输出层的每个节点都连接到隐藏层的每个节点;是输出层的权重矩阵,而是激活函数。
[0049]
与rnn结构相比,gru的时序结构如下图3所示,通过添加开关来控制的状态,gru能够比rnn结构更好地处理长序列数据。对于水下通信过程中的大延迟和多径干扰问题所引起的通信序列相互干扰的问题,gru能够存储和处理长序列,从而可以更好地识别信号。此处提到的开关实际上是通过使用函数实现的,该函数等效于完全连接的层。输入是向量,输出是0到1之间的实向量。使用开关是将输出向量乘以元素到需要控制的向量。开关的输出是一个介于0和1之间的实向量,当开关状态为1时,任何向量都将乘以原始值,等于可以通过开关传递的输入值。当开关状态为0时,任何向量都将乘以0向量,这等效于输入值不能传递。实现开关控制的函数使用sigmoid函数,其值范围为(0,1),因此开关的状态为半开半闭。
[0050]
与gru内部结构相对应的计算方法如下
[0051]
u
t
=sigmoid(h
u
[l
t-1
,j
t
]+b
u
)
ꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀ
(3)
[0052]
e
t
=sigmoid(h
e
[l
t-1
,j
t
]+b
e
)
ꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀ
(4)
[0053][0054][0055]
(3)是用于更新门的计算公式,h
u
是控制单元和更新门之前的输入权重矩阵,b
u
是更新门偏置项;公式(4)是重置门的计算公式,h
e
是前一时刻控制单元和输入权重矩阵,b
e
是输入门偏置项;(5)是用于单位状态的计算公式,h是用于计算单位状态的权重矩阵,b
l
是计算单位状态的偏移项;(6)是时间t时控制单元的输出公式。sigmoid(
·
)表示sigmoid函数k(t)=1/(1+e-t
),tanh(
·
)表示tanh函数tanh(t)=(e
t-e-t
)/(e
t
+e-t
)。与常用其他rnn结构相比,gru在形式上有很多简化,同时保持了较好的效果。gru主要对rnn进行了两个主要改造:首先,将输入门,遗忘门和输出门更改为两个门,即更新门和重置门。其次,将单元状态与输出组合为一个状态。这两种方法简化了rnn的内部结构,降低了整个网络体系结构的复杂性,并提高了网络结构的效率。
[0056]
通常,当训练深度神经网络时,数据被分解为一小批量数据用于训练。这是常用的小批量sgd训练算法。尽管该算法可以带来良好的训练精度,但这种方式并不一定总能达到
最佳训练效果,只能是接近最佳结果。这主要是因为大多数水下通信数据集都是非凸的。从整个数据的分布来看,训练中需要找到极值的许多局部最优点,这很容易导致模型陷入局部最优而无法达到全局最优值。另一个缺点是该算法需要选择合适的学习率。当使用较小的学习速率时,网络在训练期间将收敛太慢。当使用较大的学习率时,将导致在训练过程中优化范围过大,这可能会跳过全局最优值。最好的情况是,在优化网络时,网络的损失函数具有良好的收敛速度,并且保证它不会太大。因此,动量优化器是针对此问题的解决方案。它主要基于梯度的移动指数加权平均值。在动量优化算法中,尽管最初解决了优化中的大摆幅问题。但是,仍然存在一个问题,即在学习数据集的过程中学习效率不高并且摆动幅度相对较大。所谓的摆动幅度是在优化中更新后参数的变化范围。为了解决这些问题,采用了均方根反向传播(root mean square prop,rmsprop)算法。rmsprop算法采用计算梯度的差分平方加权平均值的方式。这种方法有利于消除大摆幅方向。它用于校正摆动幅度,以使每个维度上的摆动幅度都较小,从而可以获得良好的识别效果。
[0057]
深度学习模型训练过程中的主要问题是模型的参数太多,训练样本太少。由于该过程的特殊性,水下通信生成的数据量可能无法满足模型训练的要求。这样训练的模型容易过度拟合。反向传播训练网络时经常会遇到此问题。过度拟合是指模型在训练数据上的损失函数较小,仅训练数据集的预测精度较高。也就是说,拟合曲线是尖锐的,不平滑的,泛化能力不好。但是,测试数据的损失函数较大,预测精度较低。控制过度拟合的一种常用方法是“惩罚”损失函数中的模型参数。在这种情况下,这些参数不会太大,并且参数描述模型越小,模型越简单,越容易拟合。因此,在添加权重惩罚项后,将梯度下降算法应用于迭代优化计算时,如果参数较大,则此时的正则项值也较大,因此更新参数时参数减少较大下次。可以使拟合结果看起来更平滑而不过度拟合。
[0058]
添加dropout后公式(6)后的gru变为
[0059][0060]
其中γ(
·
)是dropout函数,以一定概率表示。
[0061]
dropout可以看作是模型平均值。所谓的模型平均值是指通过一定的权重从不同的模型中进行平均估计或预测,也称为模型组合。它通常包括组合估计和组合预测。在dropout中,通过随机选择和忽略隐藏层节点的方式来体现不同的模型,以防止过度拟合问题的发生。在每个批次的训练过程中,由于每个隐藏层节点被随机忽略,因此每个训练的网络都是不同的。每次训练都可以使用一个新模型完成。另外,隐式节点以一定的概率随机出现,因此不能保证每2个隐式节点每次都会同时出现。此权重的更新不再取决于具有固定关系的隐式节点的联合运算。
[0062]
dropout过程是一种非常有效的神经网络模型平均方法。通过训练大量不同的网络可以实现平均预测概率。在不同的训练集上训练不同的模型,随机选择每批训练数据,最后在每个模型中使用相同的权重进行融合。这样,当识别出水下通信数据集的信号时,可以有效地防止训练gru网络模型过拟合的问题。加入dropout堆叠多层的gru网络形式如图4所示。
[0063]
水下通信模型可以表示在图1中,该图显示了通过水下通道从接收器发送信号并最终在接收器接收信号的过程,可以用公式(8)表示
perceptron,简称mlp,人工神经网络(artificial neural network,简称ann)等。从图10中,可以看到本实施例提供的以gru为主体的识别方法与其他神经网络方法相比在水下通信信号识别中的优势。除了较低的信噪比(从-17db至-7db),cnn结构略高于gru的识别率。在snr>-7db之后,gru具有比传统神经网络方法更大的识别优势,对比cnn方法也显示出明显优势。说明了gru在水下通信信号识别中的优势。
[0079]
表1:神经网络参数大小比较
[0080]
序号神经网络名称参数数量1cnn4,261,2542dnn3,418,1183mlp1,318,9184ann792,5825gru605,190
[0081]
表1中比较了各种神经网络方法的参数大小。不难看出,gru参数几乎为cnn参数大小的1/7。其他神经网络方法的参数也均大于gru,并且无法实现gru的识别效果。
[0082]
上述,本发明提供的改进gru方法能够有效识别信号类别,且更适合硬件资源有限的水下通信场景,更有利于训练好的模型的部署和使用,具有更高的实际使用价值。
当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1