基于自动编码器的电磁信号调制类型识别的通用对抗扰动生成方法与流程

文档序号:23616510发布日期:2021-01-12 10:26阅读:115来源:国知局
基于自动编码器的电磁信号调制类型识别的通用对抗扰动生成方法与流程

本发明涉及一种基于自动编码器的电磁信号调制类型识别的通用对抗扰动生成方法,本发明属于深度学习安全领域。



背景技术:

随着深度学习的迅速发展,在众多领域中都得到了广泛应用。例如在人脸识别、无人驾驶,无线电信号调制类型分类等领域的应用无时无刻都在影响和改变着我们的生活。但是,深度学习的安全问题也在逐渐显现出来,深度学习作为一个复杂的系统,也会遭受来自各方的威胁,这样的威胁主要包括以下三个方面:第一:模型偷取,黑客通过一定的技术手段,将部署在用户本地或中心服务器上的模型进行非法窃取。第二:数据投毒,通过在训练数据中加入异常数据,使得训练得到的模型在特定情况下出现分类错误。第三:对抗样本,在输入样本中添加微小的扰动,使得模型以高置信度给出一个错误的分类结果,这个微小的扰动是通过一定的算法精心设计的,而不是随机扰动。深度学习的安全,成为当今我们需要去迫切解决的问题。

对于对抗样本的生成,一般所使用的方法是运用一定的对抗攻击算法,生成相对应的对抗样本,即一个正常样本对应生成一个对抗样本,这样的对抗样本生成需要消费大量的时间和昂贵的计算资源。此外,这样的对抗样本生成方法需要获取全部的输入样本,在很多情况下难以实现。因此,如何快速而高质量的生成对抗样本,利用大量对抗样本进行对抗训练,提高模型的鲁棒性显得至关重要。



技术实现要素:

为了克服已有技术的不足,本发明提供了一种基于自动编码器的电磁信号调制类型识别的通用对抗扰动生成方法,可以在获取少量输入样本的情况下生成通用对抗扰动,从而高效的生成对抗样本,大幅降低模型的分类精度。

本发明解决其技术问题所采用的技术方案是:

一种基于自动编码器的电磁信号调制类型识别的通用对抗扰动生成方法,包括以下步骤:

步骤1搭建信号分类模型;预先指定分类模型的结构和参数,且不再变化,适用于该分类器的数据集也需预先给定,即包含有电磁信号数据和分类标签,且电磁信号数据集能被该模型以高精度预测输出;

步骤2获取信号调制类型分类模型的结构和权重参数,从训练集中随机采样信号样本,利用deepfool白盒攻击算法生成相对应的信号对抗扰动:根据采样得到的信号样本,利用deepfool白盒攻击算法,对信号样本逐一进行攻击,得到相对应的信号对抗扰动;

步骤3将生成的信号对抗扰动拼接成信号扰动矩阵:将得到的信号对抗扰动,按列首尾拼接,得到拼接后的信号扰动矩阵;

步骤4构建自动编码器,将拼接后的信号扰动矩阵输入自动编码器进行训练:定义自动编码的结构和损失函数,使自动编码器的编码层输出的维度与单个信号对抗扰动的维度一致,将信号扰动矩阵输入自动编码器进行训练,得到自动编码器编码层的输出,该输出即为所生成的通用对抗扰动;

步骤5对生成的通用对抗扰动进行性能测试:将测试集中的所有信号样本输入分类模型,对分类正确的信号样本添加通用对抗扰动,再将其输入分类模型,最后输出信号样本添加通用对抗扰动后分类模型的分类精度。

进一步,所述步骤1中,所使用的分类模型为:1d_resnet,结构包含卷积层,池化层,全连接层和损失函数层;参数包括卷积层的数量和大小、池化层的大小、全连接层神经元的数量、激活函数的种类。

再进一步,所述步骤2的过程如下:

2.1:获取模型的结构和权重参数其中θ代表模型的参数集,是模型的输入域,p为输入维数,c为分类的数量;

2.2:从训练集中随机采样n个电磁信号样本,x={x1,x2,…,xn};

2.3:采用deepfool白盒攻击算法生成相对应的电磁信号对抗扰动,输入电磁信号样本n为电磁信号样本的维度。分类函数f(x,θ)=wtx+b,w和b为分类器的参数矩阵,分类器fk(x,θ)是向量f(x,θ)的第k个维度,即为第k个子分类器,需要考虑该样本点到某分类函数边界的最小距离,即:

其中wk是w的第k列,即第k个子分类器的权重向量。

2.4:找到模型错误分类需要的最小电磁信号对抗扰动r*(xi):

2.5:重复步骤2.3-步骤2.4,将步骤2.2中随机采样的n个电磁信号攻击生成对应的n个电磁信号对抗扰动r*(x1),r*(x2),…,r*(xn);

更进一步,所述步骤3的过程如下:将攻击生成的n个电磁信号对抗扰动r*(x1),r*(x2),…,r*(xn),按攻击强弱选择前t个强攻击电磁信号对抗扰动,按列首尾拼接成电磁信号扰动矩阵:

rp×t=[r*(x1),r*(x2),…,r*(xt)]

所述步骤4的过程如下:

4.1:定义自动编码器的结构和损失函数:给定输入空间和特征空间自动编码器通过求解编码层和解码层的映射f,g使输入特征的重构误差最小化。

4.2:将电磁信号扰动矩阵输入自动编码器并进行训练,当损失值loss≤δ时,停止训练,得到编码层的输出,该输出即为通用对抗扰动r。

所述步骤5的过程如下:

5.1:将训练集中的所有电磁信号样本输入分类模型,得到分类模型的原始分类精度acc1:

其中,evaluate(.)=分类正确样本数量/总样本数量×100%,xi为输入模型的每个样本,m为样本总数量,θ为模型参数,为电磁信号样本真实标签。

5.2:对分类器分类正确的电磁信号样本添加通用对抗扰动:

其中,r为通用对抗扰动。

5.3:基于所述步骤5.2之后,将训练集中的所有电磁信号样本输入分类模型,得到添加通用对抗扰动后,分类器的分类精度acc2:

asr∈(0,1),asr的值越大,表示通用对抗扰的性能越好。

本发明的技术构思为:搭建信号分类模型,使信号数据集能以高精度预测输出;获取模型的结构和权重参数,从训练集中随机采样信号样本,利用deepfool白盒攻击算法生成相对应的信号对抗扰动,将信号对抗扰动拼接成一个信号扰动矩阵,将信号扰动矩阵输入自动编码器进行训练,训练后得到编码层的输出数据,该数据可以保留原始数据的全局特征,从而大幅降低分类模型的分类精度。

本发明的有益效果主要表现在:利用deepfool白盒攻击算法生成信号对抗扰动,将信号对抗扰动按列首尾拼接成信号扰动矩阵,将信号扰动矩阵输入自动编码器进行训练,获取自动编码器编码层的输出,该输出即为通用对抗扰动。本发明在可以在获取少量输入样本的情况下生成通用对抗扰动,从而高效的生成对抗样本,大幅降低模型的分类精度。

附图说明

图1是通用对抗扰动生成的总体流程图。

图2是自动编码器结构图。

图3是通用对抗扰动使用方式流程图。

图4是snr=0db时攻击结果图。

图5是snr=10db时攻击结果图。

图6是snr=20db时攻击结果图。

图7是snr=30db时攻击结果图。

具体实施方式

下面结合附图对本发明作进一步描述。

参照图1~图7,一种基于自动编码器的电磁信号调制类型识别的通用对抗扰动生成方法,包括以下步骤:

步骤1搭建电磁信号分类模型;预先指定分类模型的结构和参数,且不再变化;所使用的分类模型为:1d_resnet,结构包含卷积层,池化层,全连接层和损失函数层;参数包括卷积层的数量和大小、池化层的大小、全连接层神经元的数量、激活函数的种类,适用于该分类器的数据集也需预先给定,即包含有电磁信号数据和分类标签,且电磁信号数据集能被该模型以高精度预测输出;

步骤2获取模型的结构和权重参数,从训练集中随机采样电磁信号样本,采用白盒攻击算法生成相对应的电磁信号对抗扰动::根据采样得到的信号样本,利用deepfool白盒攻击算法,对信号样本逐一进行攻击,得到相对应的信号对抗扰动;过程如下:

2.1:获取模型的结构和权重参数其中θ代表模型的参数集,是模型的输入域,p为输入维数,c为分类的数量;

2.2:从训练集中随机采样n个电磁信号样本,x={x1,x2,…,xn};

2.3:采用deepfool白盒攻击算法生成相对应的电磁信号对抗扰动,输入电磁信号样本n为电磁信号样本的维度。分类函数f(x,θ)=wtx+b,w和b为分类器的参数矩阵,分类器fk(x,θ)是向量f(x,θ)的第k个维度,即为第k个子分类器,需要考虑该样本点到某分类函数边界的最小距离,即:

其中wk是w的第k列,即第k个子分类器的权重向量。

2.4:找到模型错误分类需要的最小电磁信号对抗扰动r*(xi):

2.5:重复步骤2.3-步骤24,将步骤2.2中随机采样的n个电磁信号攻击生成对应的n个电磁信号对抗扰动r*(x1),r*(x2),…,r*(xn);

步骤3将生成的电磁信号对抗扰动拼接成电磁信号扰动矩阵,过程如下:将攻击生成的n个电磁信号对抗扰动r*(x1),r*(x2),…,r*(xn),按攻击强弱选择前t个强攻击电磁信号对抗扰动,按列首尾拼接成电磁信号扰动矩阵:

rp×t=[r*(x1),r*(x2),…,r*(xt)]

步骤4构建自动编码器,将拼接后的电磁信号扰动矩阵输入自动编码器进行训练,过程如下:

4.1:定义自动编码器的结构和损失函数:给定输入空间和特征空间自动编码器通过求解编码层和解码层的映射f,g使输入特征的重构误差最小化。

4.2:将电磁信号扰动矩阵输入自动编码器并进行训练,当损失值loss≤δ时,停止训练,得到编码层的输出,该输出即为通用对抗扰动r。

步骤5对生成的通用对抗扰动进行性能测试的,过程如下:

5.1:将训练集中的所有电磁信号样本输入分类模型,得到分类模型的原始分类精度acc1:

其中,evaluate(.)=分类正确样本数量/总样本数量×100%,xi为输入模型的每个样本,m为样本总数量,θ为模型参数,为电磁信号样本真实标签。

5.2:对分类器分类正确的电磁信号样本添加通用对抗扰动:

其中,r为通用对抗扰动。

5.3:基于所述步骤5.2之后,将训练集中的所有电磁信号样本输入分类模型,得到添加通用对抗扰动后,分类器的分类精度acc2:

asr∈(0,1),asr的值越大,表示通用对抗扰的性能越好。

实施例2:实际实验中的数据

(1)选取实验数据

实验数据集选取的是由我们仿真生成的data.mat电磁信号数据集,它包含12种调制类别:bpsk、qpsk、8psk、oqpsk、2fsk、4fsk、8fsk、16qam、32qam、64qam、4pam和8pam。每个类别的信噪比(snr)从-20db均匀分布到30db。每个数据样本都是iq电磁信号,每个样本的采样点数为512。我们从训练集中选取了信噪比为0db,10db,20db和30db的电磁信号样本,每个信噪比的样本数量为12,000。

(2)参数确定

在搭建电磁信号模型时,本发明所使用的分类模型为:1d_resnet,其中包含有residualunit残差块,残差块中包含有2个卷积层,第一个卷积层的大小为3×1,卷积核数量为32,激活函数为“relu”,第二个卷积层的大小为3×1,卷积核数量为32;residualstack单元,每个residualstack单元包括一个卷积核大小为1×1的卷积层,此外还包含两个残差块和一个最大池化层;整个模型又包含6个residualstack单元。

在随机采样时,我们选择从训练集中随机采样200个电磁信号样本进行deepfool攻击,在得到的200个扰动中,选择前50个强攻击扰动。

在构建自动编码器时,模型的输入维度为(512,100),隐藏层的层数为1层,隐藏层的单元数为1024,隐藏层后的激活函数为tanh函数,函数的表达式为:输出层无激活函数。选取的损失函数为:meansquarederror(mse),损失函数的表达式为:学习率为:0.0001。

(3)实验结果

通用对抗扰动的扰动量指标选择psr(db),函数表达式为:

其中rii,riq为通用对抗扰动第i个采样点i通道和q通道的数据,ppert为通用对抗扰动的功率,xii,xiq为电磁信号样本第i个采样点i通道和q通道的数据,psignal为电磁信号样本的功率。

在结果分析中,我们分别使用了信噪比(snr)为0db,10db,20db和30db的电磁信号样本,分别训练了深度神经网络(1d_cnn),首先,我们使用随机噪声作为通用对抗扰动,其次我们分别使用了pca降维方法和本发明所述的自动编码器降维方法生成通用对抗扰动,进行了对比实验,实验结果如图4、图5、图6和图7所示。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1