基于多头注意力机制的LSTM网络的雷达信号识别方法

    专利查询2022-07-07  161


    基于多头注意力机制的lstm网络的雷达信号识别方法
    技术领域
    1.本发明涉及信号处理技术领域,具体涉及基于多头注意力机制的lstm(long short-term memory)网络的雷达信号识别方法。


    背景技术:

    2.随着电子信息领域的发展,电子对抗在电子情报侦察、电子支援和威胁告警系统中发挥着重要的作用,雷达辐射源信号识别是电子对抗中的重要环节。
    3.随着深度学习(deep learning,dl)应用在计算机视觉、语音识别和数据分类等领域体现出其优异的性能。深度学习模型是一个拥有多个非线性映射层的深度神经网络模型,能够对输入信号进行逐层抽象并提取特征,挖掘更深层次的潜在规律。目前也有基于神经网络的雷达信号识别方法,常用的有bp神经网络、resnet残差神经网络和支持向量机等,然而上述采用深度学习方法识别雷达信号调制类型里,它依旧是在对信号进行某种特征提取变换后,将得到的特征作为信号识别依据,而后用神经网络进行分类识别,因而识别能力仍有局限性。


    技术实现要素:

    4.针对现有技术中存在的不足,本发明的目的在于提供基于多头注意力机制的lstm网络的雷达信号识别方法。本发明以雷达信号辐射源信号序列经过多头注意力机制进行表征学习得到的新的序列,再把该序列输入到lstm神经网络中进行特征提取识别,从而提高实现雷达信号识别率。
    5.为解决上述技术问题,本发明通过下述技术方案实现:
    6.基于多头注意力机制的lstm网络的雷达信号识别方法,其特征在于:所述识别方法包括如下步骤:
    7.s1、取一个有标签标注的数据集,该数据集可以包括但不限于这九种典型雷达信号(常规脉冲信号、线性调频信号、非线性调频信号、双相相移键控信号、正交相移键控信号、频移键控信号、线性调频与双相相移键控信号的混合调制信号、线性调频与频移键控信号的混合调制信号、双相相移键控信号与频移键控信号的混合调制信号),把这九种典型雷达信号作为lstm(long short-term memory)网络的训练及测试用;其中,每种信号从-16db到8db每隔2db信噪比生成4000组(取其中3200组作为训练集,取另外800组作为测试集)雷达序列数据样本;
    8.s2、对产生的数据集信号进行预处理;
    9.s3、构建lstm网络,设置lstm网络参数;
    10.s4、将数据集信号序列的训练样本数据输入至步骤s3的lstm网络中,当迭代次数达到n次时,结束训练,得到训练好的lstm的网络模型;即lstm的网络模型的训练方式为:lstm网络的迭代次数为300,初始化学习率设置为0.001,并且每次迭代之后学习率变为原来的0.95倍,lstm网络中的网络元胞个数设置为4,将遗忘参数设置为1,将lstm网络的损失
    函数设置为对数损失函数,使用adamoptimizer算法来控制学习率,使用指数线性单元激活函数作为激活函数,并将softmax分类器作为网络的输出层。
    11.s5、将数据集中每种信号的测试集数据输入到训练好的lstm网络模型中,网络输出为雷达信号预测类别标签。
    12.进一步的:所述步骤s2中,数据集信号进行预处理步骤包括:
    13.s01、将产生数据集的信号先以序列的形式输出,再将数据集信号输入到多头注意力机制中,进行多头注意力变换,并以同样大小的数据序列形式输出;
    14.s02、在i路、q路这两种形式输出的数据集中标注信号所属的类别,从每类信号的训练集数据中随机抽出样本序列作为训练样本,从测试集数据中随机抽取样本序列作为测试样本;即,从每类信号的3200组训练集数据中随机抽出3000组样本序列作为训练样本,从800组测试集中随机抽取700组样本序列作为测试样本。
    15.进一步的:所述步骤s3中,设置lstm网络参数:选用循环神经网络rnn中的长短时记忆网络来构建,将lstm网络中的网络元胞个数设置为4,将遗忘参数设置为1,将lstm网络的损失函数设置为log-cosh对数损失函数,使用adamoptimizer算法来控制学习率,使用指数线性单元激活函数作为激活函数,并将softmax分类器作为网络的输出层。
    16.进一步的:所述lstm网络中的网络元胞,表示如下:
    17.h
    t
    =σ(wo·
    [h
    t-1
    ,x
    t
    ] bo]*tanh(f
    t
    *c
    t-1
    r
    t
    )式中,t代表时间;h
    t
    为t时刻lstm网络元胞的输出;σ为sigmoid激活函数;wo表示输出门的权重;h
    t-1
    表示上一个元胞的输出;x
    t
    表示t时刻lstm网络元胞的输入;bo表示输出门的偏置;f
    t
    表示t时刻lstm网络元胞中遗忘门的输出;c
    t-1
    表示t-1时刻的元胞状态;rt表示t时刻lstm网络元胞中记忆门的输出;tanh表示做双曲正切运算。
    [0018]
    进一步的:所述指数线性单元激活函数,表示如下:
    [0019][0020]
    式中,x表示输入值,是一个常系数,f(x)表示指数线性单元激活函数的输出。
    [0021]
    进一步的:所述softmax分类器,表示如下:
    [0022][0023]
    式中,yi表示第i个元素的评分向量,表示对第i个元素的评分向量求指数,表示对所有元素评分向量的指数求和,li表示第i个元素输出的评分值。
    [0024]
    进一步的:所述多头注意力机制的核心过程为通过q(query)和k(key)计算得到注意力权重;然后在作用于v(value)得到整个权重和输出。q、k、v是根据同样的输入矩阵x线性变换得到的q=xwq[0025]
    k=xwk[0026]
    v=xwv[0027]
    其中,wq,wk和wv是三个可训练的参数矩阵。此多头注意力机制中,将head设置为8,所以需定义8组wq,wk和wv可训练的参数矩阵。
    [0028]
    具体的,对于输入q、k和v来说,其输出向量得计算公式为:
    [0029][0030]
    详细公式可写为:
    [0031][0032][0033][0034]
    其中,qi为一组数据序列中位置i上的数wi的向量query,kj、vj分别表示同一组数据序列中的位置j上的数wi的向量key和value;dk表示的维度大小;i,j=0,1,2,

    ,7,表示包含数据序列中的数的数量;s
    i,j
    为qi与kj作向量点积运算和除法运算后得到的结果;是s
    i,j
    的soft的softmax分值;zi即为wi经self-attention计算后得到的输出结果;最后将zi和wi进行拼接,作为lstm的输入。
    [0035]
    根据本发明目的的第二个方面,本发明提供了一种非暂态计算机可读存储介质,其上存储有计算机程序,其特征在于,该计算机程序被处理器执行时实现上述基于多头注意力机制的lstm网络的雷达信号识别方法的步骤。
    [0036]
    根据本发明目的的第二个方面,本发明一种电子设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,其特征在于,所述处理器执行所述程序时实现上述基于多头注意力机制的lstm网络的雷达信号识别方法的步骤。
    [0037]
    本发明与现有技术相比,具有以下优点及有益效果:
    [0038]
    本发明所采用的lstm循环神经网络,输入的不是信号的特征,而是截获的原始信号的iq路数据,让神经网络根据分类目标自动学习良好的特征,进而实现不同的调制信号的高效准确识别;因此,本发明对雷达信号处理技术领域具有重要的实际应用价值。
    附图说明
    [0039]
    图1是本发明的实现流程图。
    具体实施方式
    [0040]
    为了使本领域的技术人员更好地理解本发明的技术方案,下面结合具体实施例对本发明的优选实施方案进行描述,但是应当理解,附图仅用于示例性说明,不能理解为对本发明的限制;为了更好说明本实施例,附图某些部件会有省略、放大或缩小,并不代表实际产品的尺寸;对于本领域技术人员来说,附图中某些公知结构及其说明可能省略是可以理解的。附图中描述位置关系仅用于示例性说明,不能理解为对本发明的限制。
    [0041]
    下面结合附图和实施例对本发明作进一步的说明,但并不作为对本发明限制的依据。
    [0042]
    如图1所示,基于多头注意力机制的lstm网络的雷达信号识别方法,所述识别方法包括如下步骤:
    [0043]
    s1、对一个有标签标注的数据集,该数据集可以包括但不限于这九种典型雷达信号(常规脉冲信号、线性调频信号、非线性调频信号、双相相移键控信号、正交相移键控信号、频移键控信号、线性调频与双相相移键控信号的混合调制信号、线性调频与频移键控信号的混合调制信号、双相相移键控信号与频移键控信号的混合调制信号),把这九种典型雷达信号作为lstm(long short-term memory)网络的训练及测试用;其中,每种信号从-16db到8db每隔2db信噪比生成4000组(取其中3200组作为训练集,取另外800组作为测试集)雷达序列数据样本;
    [0044]
    s2、对产生的数据集信号进行多头注意力机制处理,每组输入的x信号序列,经过多头注意力机制(在此设置注意力机制中head=8,1个头就只有1个学习空间,8个头就有8个学习空间,能够通过kqv映射到不同的空间去学习特征,去优化每一组输入数据的不同特征部分,得到更多元的表达,从而均衡每一种学习空间的特征产生的偏差,提升学习效果)后,一组经过注意力机制处理的信号数据会通过注意力机制的每个头输出一组相同维度的信号序列,head=8的注意力机制会得到8组相同维度的信号序列。将输出的8组处理过的同样大小维度的信号序列(x1,x2,...,x8)输入到构建好的lstm网络中;
    [0045]
    s3、构建lstm网络,设置lstm网络参数;
    [0046]
    s4、将数据集信号序列的训练样本数据输入至步骤s3的lstm网络中,当迭代次数达到n次时,结束训练,得到训练好的lstm的网络模型;lstm的网络模型的训练方式为:lstm网络的迭代次数为300,初始化学习率设置为0.001,并且每次迭代之后学习率变为原来的0.95倍,且将lstm网络中的网络元胞个数设置为4,将遗忘参数设置为1,将lstm网络的损失函数设置为对数损失函数,使用adamoptimizer算法来控制学习率,使用指数线性单元激活函数作为激活函数,并将softmax分类器作为网络的输出层。
    [0047]
    s5、将数据集中每种信号的测试集数据输入到训练好的lstm网络模型中,网络输出为雷达信号预测类别标签。
    [0048]
    所述步骤s1中,可以通过matlab建立数据库程序,仿真生成数据集,也可以通过实测信号得到的数据进行标注,建立数据集。
    [0049]
    所述步骤s2中,数据集信号进行预处理步骤包括:
    [0050]
    s01、将产生数据集的信号先以序列的形式输出,再将数据集信号输入到多头注意力机制中,进行多头注意力变换,并以同样大小的数据序列形式输出;
    [0051]
    s02、在i路、q路这两种形式输出的数据集中标注信号所属的类别,从每类信号的训练集数据中随机抽出样本序列作为训练样本,从测试集数据中随机抽取样本序列作为测试样本。
    [0052]
    所述步骤s3中,设置lstm网络参数:选用循环神经网络rnn中的长短时记忆网络来构建,将lstm网络中的网络元胞个数设置为4,将遗忘参数设置为1,将lstm网络的损失函数设置为对数损失函数,使用adamoptimizer算法来控制学习率,使用指数线性单元激活函数作为激活函数,并将softmax分类器作为网络的输出层。
    [0053]
    所述lstm网络中的网络元胞,表示如下:
    [0054]ht
    =σ(wo·
    [h
    t-1
    ,x
    t
    ] bo)*tanh(f
    t
    *c
    t-1
    r
    t
    )
    [0055]
    式中,t代表时间;h
    t
    为t时刻lstm网络元胞的输出;σ为sigmoid激活函数;wo表示输出门的权重;h
    t-1
    表示上一个元胞的输出;x
    t
    表示t时刻lstm网络元胞的输入;bo表示输出
    门的偏置;f
    t
    表示t时刻lstm网络元胞中遗忘门的输出;c
    t-1
    表示t-1时刻的元胞状态;rt表示t时刻lstm网络元胞中记忆门的输出;tanh表示做双曲正切运算。
    [0056]
    所述指数线性单元激活函数,表示如下:
    [0057][0058]
    式中,x表示输入值,是一个常系数,f(x)表示指数线性单元激活函数的输出。
    [0059]
    所述softmax分类器,表示如下:
    [0060][0061]
    式中,yi表示第i个元素的评分向量,表示对第i个元素的评分向量求指数,表示对所有元素评分向量的指数求和,li表示第i个元素输出的评分值。
    [0062]
    所述多头注意力机制的核心过程为通过q(query)和k(key)计算得到注意力权重;然后在作用于v(value)得到整个权重和输出。q、k、v是根据同样的输入矩阵x线性变换得到的q=xwq[0063]
    k=xwk[0064]
    v=xwv[0065]
    其中,wq,wk和wv是三个可训练的参数矩阵。此多头注意力机制中,将head设置为8,所以需定义8组wq,wk和wv可训练的参数矩阵。
    [0066]
    具体的,对于输入q(query)、k(key)和v(value)来说,其输出向量得计算公式为:
    [0067][0068]
    详细公式可写为:
    [0069][0070][0071][0072]
    其中,qi为一组数据序列中位置i上的数wi的向量query,kj、vj分别表示同一组数据序列中的位置j上的数wi的向量key和value;dk表示的维度大小;本发明中多头注意力机制里head设置为8,因此i,j=0,1,2,

    ,7,表示包含数据序列中的数的数量;s
    i,j
    为qi与kj作向量点积运算和除法运算后得到的结果;是s
    i,j
    的soft的softmax分值;zi即为wi经self-attention计算后得到的输出结果;最后将zo和wo进行拼接,作为lstm的输入。
    [0073]
    所述步骤s1中,典型雷达信号包括常规脉冲信号、线性调频信号、非线性调频信号、双相相移键控信号、正交相移键控信号、频移键控信号、线性调频与双相相移键控信号的混合调制信号、线性调频与频移键控信号的混合调制信号、双相相移键控信号与频移键控信号的混合调制信号。
    [0074]
    常规脉冲信号(cw)的载波频率为fc=5mhz;线性调频信号(lfm)和非线性调频信号(nlfm)的初始频率和带宽均为5mhz;双相相移键控信号(bpsk)的巴克码长度为13,载波频率为5mhz;正交相移键控信号(qpsk)的序列长度为16,载波频率为5mhz;频移键控信号(fsk)的调频序列为4,基准频率为1mhz;lfm/bpsk混合调制信号是指对脉冲内部线性调频的基础上再进行相位编码得到的一种复合调制信号,该混合调制信号的参数仍按照相应的单一调制信号的参数设置;lfm/fsk混合调制信号是指在脉冲内部采用频率编码调制,对每个子脉冲内部又采用线性调频,该混合调制信号的参数仍按照相应的单一调制信号的参数设置);bpsk/fsk混合信号是指在脉冲内部采用频率编码调制,对每个子脉冲内部又采用二相编码,该混合调制信号的参数仍按照相应的单一调制信号的参数设置。
    [0075]
    在众多深度学习模型中,循环神经网络rnn(recurrent neural network)将时序的概念引入到网络结构设计中,使其在时序数据分析中表现出更强的适应性。而在众多rnn的变体中,lstm模型弥补了rnn的梯度消失和梯度爆炸、长短期记忆能力不足等问题,而此发明考虑的lstm循环神经网络,输入的不是信号的特征,而是截获的原始信号的iq路数据,让神经网络根据分类目标自动学习良好的特征,进而实现不同的调制信号的正确识别。
    [0076]
    实施例1:
    [0077]
    s1、通过matlab建立数据库程序,仿真生成数据集,数据集包括上述9种雷达信号。其中每种信号从-16db到8db每隔2db信噪比生成4000组(其中3200组作为训练集,800组作为测试集)雷达序列数据样本。
    [0078]
    s2、获取雷达信号的训练样本和测试样本。
    [0079]
    对s1生成的雷达数据集的信号,以i路、q路这两种序列的形式输出,再将i路、q路的数据集信号分别进行多头注意力机制处理,并以相同的形式输出。
    [0080]
    在多头注意力机制处理之后的序列标注信号的所属类别,从每类信号的3200组训练集数据中随机抽出3000组样本序列作为训练样本,从800组测试集中随机抽取700组样本序列作为测试样本。
    [0081]
    s3、构建lstm网络。
    [0082]
    设置lstm网络元胞:
    [0083]
    将lstm网络中的网络元胞个数设置为4,将遗忘参数设置为1,其中lstm网络元胞表示如下:
    [0084]ht
    =σ(wo·
    [h
    t-1
    ,x
    t
    ] bo)*tanh(f
    t
    *c
    t-1
    r
    t
    )
    [0085]
    设置lstm网络的损失函数:常见损失函数有l1损失函数、l2损失函数、huber损失函数、log-cosh损失函数和对数损失函数,本实施例选用但不限于log-cosh损失函数;
    [0086]
    设置lstm网络的优化算法:常见的网络优化算法有随机梯度下降算法、小批量梯度下降算法、adagrad算法和adamoptimizer算法,本实例选用adamoptimizer算法但不限于adamoptimizer算法;
    [0087]
    设置lstm网络的激活函数:常见的激活函数有sigmoid激活函数、双曲正切激活函数、非线性单元激活函数和指数线性单元激活函数,本实例选用指数线性单元激活函数但不限于指数线性单元激活函数,指数线性单元激活函数表示如下:
    [0088]
    [0089]
    s4、设置lstm网络的迭代次数为300,学习率设置为0.01,并且每次迭代之后学习率变为原来的0.95倍;
    [0090]
    将经过多头注意力机制处理的i路、q路两路信号序列的训练样本数据同时输入到设置好的lstm网络中,对lstm网络进行迭代训练,当迭代次数达到300时,结束训练,保存得到训练好的网络模型。
    [0091]
    s5、将测试集的数据输入到训练好的lstm网络模型中,输出每个测试信号的预测类别及信号识别成功的准确率。
    [0092]
    通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到本发明的设施可借助软件加必需的通用硬件平台的方式来实现。本发明的实施例可以使用现有的处理器来实现,或者由被用于此目的或其他目的用于适当系统的专用处理器来实现,或者由硬接线系统来实现。本发明的实施例还包括非暂态计算机可读存储介质,其包括用于承载或具有存储在其上的机器可执行指令或数据结构的机器可读介质;这种机器可读介质可以是可由通用或专用计算机或具有处理器的其他机器访问的任何可用介质。举例来说,这种机器可读介质可以包括ram、rom、eprom、eeprom、cd-rom或其他光盘存储器、磁盘存储器或其他磁存储设备,或任何其他可用于以机器可执行指令或数据结构的形式携带或存储所需的程序代码,并可被由通用或专用计算机或其它带有处理器的机器访问的介质。当信息通过网络或其他通信连接(硬接线、无线或硬接线或无线的组合)传输或提供给机器时,该连接也被视为机器可读介质。
    [0093]
    依据本发明的描述及附图,本领域技术人员很容易制造或使用本发明的基于多头注意力机制的lstm网络的雷达信号识别方法,并且能够产生本发明所记载的积极效果。
    [0094]
    以上所述,仅是本发明的较佳实施例,并非对本发明做任何形式上的限制,凡是依据本发明的技术实质对以上实施例所作的任何简单修改、等同变化,均落入本发明的保护范围之内。
    转载请注明原文地址:https://tc.8miu.com/read-1153.html

    最新回复(0)