一种对抗网络样本检测的方法

文档序号:25282729发布日期:2021-06-01 17:30阅读:134来源:国知局
一种对抗网络样本检测的方法

本发明属于网络图像检测技术领域,具体涉及一种对抗网络样本检测的方法。



背景技术:

虽然深度学习在许多实际任务(譬如节点分类、图分类、链路预测等)中都有了很广泛的应用,但最新的研究表明,深度学习模型极易受到恶意攻击的影响,它们常常会被对抗样本(通过在自然样本中添加微小而有目的的扰动而产生的样本)所轻易愚弄,这对深度学习在现实世界中的实际应用提出了巨大的挑战,如何增强其鲁棒性仍是有待解决的开放性问题。

目前在图像和网络领域,大多数防对抗样本的方法都主要集中在完善修改模型结构,具体包括对抗训练法以及掩饰梯度法,这些方法要么效果有限,要么成本高昂,二者很难兼顾。但还有另一类对抗检测方法是通过改变输入样本,但保持模型不变来构建检测模型从而识别对抗样本,这类方法相较而言更为简单并且成本更低。网络领域中有关对抗检测的研究工作,相较于图像领域还处于不太成熟的阶段。而在图像领域常见的检测方法主要分为三类,分别是基于样本统计、训练检测器以及预测不一致性的对抗检测方法;其中基于样本统计和训练检测器的方法都需要大量的对抗样本支撑,反之,基于预测不一致性的方法尤其是特征预处理的方法,其训练成本更低。

现有的图像对抗检测方法大多是通过特征压缩器对原始输入进行降噪等操作来构建检测模型,这是因为正常的图片降噪后和真实图片降噪后的结果基本一致,而对抗样本的结果会相差较大。即当模型对压缩输入的预测与对原始输入的预测之间的差异超过了阈值,则认为该输入是对抗样本,反之为合法样本;这种基于预测不一致性的检测方法目前在图像领域应用较多,但是不能直接迁移到网络领域,无法实现对网络对抗样本的检测。并且该技术对输入的数据进行特征压缩等操作,这些操作在很大程度上会牺牲掉一些原有样本的特征信息。

回归到网络领域,目前只有对异常节点的相关检测方法,这些检测方法主要是通过探索对抗样本和合法样本之间的内在差异来构造检测模型,从而提高图神经网络的鲁棒性。虽然这些检测方法能够有效地检测异常节点,但在面对异常图的对抗性攻击(即通过增删连边或节点使得图的类别发生改变的相关攻击)时,它们具有很强地不兼容性,目前在基于图分类任务的对抗网络样本检测并没有相关研究。



技术实现要素:

鉴于上述,本发明的目的是提供一种对抗网络样本检测的方法,以实现对图像数据是否为对抗样本的检测。

为实现上述发明目的,本发明提供以下技术方案:

一种对抗网络样本检测的方法,包括以下步骤:

构建用于检测对抗样本的检测模型,所述检测模型包括特征提取单元、特征重构单元、图分类器、差异计算单元以及判别单元,其中,特征提取单元用于生成输入图像样本的提取特征,特征重构单元用于生成输入图像样本的重构特征,图分类器用于对输入的提取特征和重构特征进行处理,得到对应的概率分布,差异计算单元用于对输入提取特征对应的概率分布与重构特征对应的概率分布的差异值,判别单元用于依据差异值和预设阈值判别图像样本是否为对抗样本;

将待检测图像样本输入至所述检测模型中,以实现对待检测图像样本的检测。

与现有技术相比,本发明具有的有益效果至少包括:

本发明提供的对抗网络样本检测的方法,通过对输入图像样本提取其子图网络sgn作为样本的潜在表示,进而揭示合法样本和对抗样本的本质差异,从而有效提高深度学习模型的鲁棒性。为实现对网络样本检测,将检测模型运用于图分类模型的防对抗攻击上,子图扩充输入的预测与对原始输入的预测之间的差异超过了阈值水平,则认为输入是对抗性的,反之为合法样本,本检测模型结构简单,计算成本很低,时间复杂度低,同时可以达到很好的对抗样本检测效果;此外本检测方法不仅仅适用于图分类,还可以应用于节点分类、链路预测等实际场景中;并且该检测模型还可以通过机器学习模型来拟合动态阈值t,从而可以达到更好的区分对抗样本和合法样本的效果。

附图说明

为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图做简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动前提下,还可以根据这些附图获得其他附图。

图1是本发明实施例提供的对抗网络样本检测的方法的流程图;

图2是本发明实施例提供的检测模型的工作流程图;

图3是本发明实施例提供的检测模型的训练和验证过程;

图4是本发明实施例提供的检测模型的训练和验证过程。

具体实施方式

为使本发明的目的、技术方案及优点更加清楚明白,以下结合附图及实施例对本发明进行进一步的详细说明。应当理解,此处所描述的具体实施方式仅仅用以解释本发明,并不限定本发明的保护范围。

图1是本发明实施例提供的对抗网络样本检测的方法的流程图。如图1所示,实施例提供的对抗网络样本检测包括以下步骤:

步骤1,获取图像样本,并对图像样本进行预处理。

实施例中,在获得图像样本之后,将图样样本划分成训练样本集和测试样本集,其中,训练样本集中的图像样本用于优化检测模型参数,测试样本集中的图像样本用于测试和评估检测模型的检测效果。

步骤2,构建并训练用于检测对抗样本的检测模型。

实施例中,构建的检测模型包含包括特征提取单元、特征重构单元、图分类器、差异计算单元以及判别单元,其中,特征提取单元用于生成输入图像样本的提取特征,特征重构单元用于生成输入图像样本的重构特征,图分类器用于对输入的提取特征和重构特征进行处理,得到对应的概率分布,差异计算单元用于对输入提取特征对应的概率分布与重构特征对应的概率分布的差异值,判别单元用于依据差异值和预设阈值判别图像样本是否为对抗样本。

检测模型的工作原理:通过对输入网络样本提取其子图网络(subgraphnetworks,sgn)作为样本的潜在表示,进而发现合法样本和对抗样本的本质差异。如果模型对子图扩充输入的预测与对原始输入的预测之间的差异超过了一定阈值水平,则认为该输入是对抗性的,反之为合法样本。

其中,特征提取单元可以采用struc2vec实现结构相似性的特征向量的提取,以获得提取向量。特征重构单元采用子图网络(sequentialgroupingnetworks,sgn)对图像样本进行特征重构,生成重构特征。图分类器可以采用多层感知机mlp。

在其中一个实施方式中,特征重构单元包含至少2个不同阶数的子图网络,用于生成多组重构特征,每组重构特征均输入至图分类器来生成概率分布,差异计算单元计算每组重构特征的概率分布与提取特征的概率分布的差异值,判断单元依据多个差异值与预设阈值判别图像样本是否为对抗样本。

如图2所示,具体地,特征重构单元包含1阶子图网络和2阶子图网络,用于生成2组重构特征,2组重构特征均输入至图分类器来生成2个概率分布,差异计算单元分别计算2组重构特征的概率分布与提取特征的概率分布的2个差异值,判断单元依据2个差异值与预设阈值判别图像样本是否为对抗样本。

其中,采用表示两者之间距离的范数进行计算差异值,即可以计算重构特征的概率分布与提取特征的概率分布的范数值以获得两者的差异值。

检测模型在检测对抗样本时会依据计算差异值的情况来采用不同的策略判别对抗样本,具体地,判断单元在对抗样本判别时,

当每个图像样本对应1个差异值时,则比较差异值与预设阈值的大小关系,当差异值大于预设阈值时,则认为图像样本为对抗样本,否则为合法样本;

当每个图像样本对应至少2个差异值时,则选择最大的差异值与预设阈值进行比较,当最大差异值大于预设阈值时,则认为图像样本为对抗样本,否则为合法样本。

实施例中,预设阈值是根据合法图像样本的特征情况确定,具体地,预测阈值的确定方法为:

将大量合法图像样本输入至检测模型,以所有合法图像样本的所有差异值的平均数作为阈值基础值,以不超过该阈值基础值的4~5%作为预设阈值。

在构建上述检测模型时,需要对特征提取单元、特征重构单元以及图分类器进行参数优化。参数化过程中采用样本数据的预测置信度与真实标签的交叉熵作为损失函数,来更新模型参数。

为了验证检测模型的训练的情况,还需要对检测模型进行验证评估,具体地,在对检测模型中特征提取单元、特征重构单元以及图分类器进行参数优化的过程中,利用对抗样本检测模型的检测效果,具体过程包括:

对测试用的正常图像样本进行攻击,得到对抗样本,将对抗样本输入至检测模型中,若对抗样本的差异值大于预设阈值,则对抗样本检测成功,统计并分析对抗样本的检测率,以确定检测模型的检测效果。

其中,对正常图像样本采用随机攻击、梯度攻击以及强化学习攻击进行攻击,得到对抗样本。

为了验证上述对抗网络样本检测的方法的检测效果,实施例对mutag数据集上的梯度攻击对抗检测,如图3所示,包括以下步骤:

首先,对样本数据进行数据划分,训练样本集和测试样本集的比例为4:1;

然后,对训练样本集采用struc2vec的方法来生成提取特征,进而训练图分类器。

其次,对原始训练集进行一阶、二阶子图网络特征重构,后再经struc2vec后输入至图分类器中,以训练图分类器和一阶、二阶子图网络,训练好模型之后,将原始训练集通过模型的概率分布记录下来,然后用样提取特征在图分类器中的概率分布和经一阶、2阶sgn子图网络特征重构后模型的概率分布之差的范数来计算差异值s1、差异值s2,并选取其中的最大值作为样本的分数值,最后以不超过原始训练样本分数值的5%(即fp率不超过5%)来设置区分阈值t的大小。

在对测试模型训练前,假设攻击者可以完全访问一个训练过的测试模型,但是没有能力影响测试模型,也不知道检测模型的任何相关信息(即逃逸攻击),现采用梯度攻击的方法来生成对抗样本,根据损失函数对模型参数的梯度信息,通过对每个mutag样本网络重连3条边的方式,生成对抗样本。

最后,将产生的mutag数据集对抗样本输入到检测模型中,若样本的分数值大于选取的阈值,则检测成功。记录并分析成功攻击的对抗样本检测率、以及失败攻击的对抗样本检测率。

为了验证上述对抗网络样本检测的方法的检测效果,实施例对bzr数据集上的强化学习攻击对抗检测,如图4所示,包括以下步骤:

首先,对样本数据进行数据划分,训练样本集和测试样本集的比例为4:1;

然后,对训练样本集采用struc2vec的方法来生成提取特征,训练多层感知机模型。

其次,对原始训练集进行一阶、二阶子图网络特征重构,后再经struc2vec后输入至图分类器中,以训练图分类器和一阶、二阶子图网络,训练好模型之后。训练好模型之后,计算样本的分数值,最后以不超过原始训练样本分数值的5%(即fp率不超过5%)来设置区分阈值t的大小。

在对测试模型训练前,前提假设为逃逸攻击,现采用的是强化学习攻击的方法来生成对抗样本,基于马尔可夫决策过程和q-learning的强化学习方法来学习最有效的攻击策略,从而生成对抗样本。

最后,将产生的bzr数据集对抗样本输入到检测模型中进行测试,若样本的分数值大于选取的阈值,则检测成功。记录并分析成功攻击的对抗样本检测率、以及失败攻击的对抗样本检测率。

以上所述的具体实施方式对本发明的技术方案和有益效果进行了详细说明,应理解的是以上所述仅为本发明的最优选实施例,并不用于限制本发明,凡在本发明的原则范围内所做的任何修改、补充和等同替换等,均应包含在本发明的保护范围之内。

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