一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

基于梯度的对抗样本生成方法与系统

2022-06-25 08:09:23 来源:中国专利 TAG:


1.本发明涉及计算机视觉和深度学习的技术领域,尤其是指一种基于梯度的对抗样本生成方法与系统。


背景技术:

2.近年来,机器学习和深度学习应用在日常生活中的各个方面,包括人脸识别、图像分类、自动驾驶和语义分割等。然而,深度学习的不可解释性又限制了它的应用。对抗攻击就是其中一个临床表现,它通过在干净样本上添加微小噪声来生成对抗样本愚弄神经网络模型,误导被攻击模型输出与正确结果不同或截然相反的答案。在这种情况下,更好地理解神经网络模型并提高它的鲁棒性是非常必要的,这离不开对抗样本的生成。
3.然而,现有方法或系统生成的对抗样本在黑盒条件下的可转移性较差且噪声的可见性较大。因此,为了能更好地理解神经网络并提高它的鲁棒性,需要一种能够实现较高攻击成功率并且噪声可见性更小的方法和系统,来增强其抵御对抗攻击的能力。


技术实现要素:

4.本发明的第一目的在于克服现有技术的缺点与不足,提供一种基于梯度的对抗样本生成方法,能够生成攻击成功率更好、噪声可见性更小的对抗样本,从而利用对抗样本增强神经网络模型抵御对抗攻击的能力。
5.本发明的第二目的在于提供一种基于梯度的对抗样本生成系统。
6.本发明的第一目的通过下述技术方案实现:基于梯度的对抗样本生成方法,包括以下步骤:
7.s1、获取原始图像样本和待攻击的神经网络模型;
8.s2、将所述原始图像样本输入所述神经网络模型,根据交叉熵损失函数获取所述原始图像样本的损失信息;
9.s3、根据所述损失信息得到对应的梯度符号矩阵并生成扰动信息,采用所述扰动信息对所述原始图像样本添加扰动,得到第一噪声图像样本;
10.s4、对所述第一噪声图像样本进行过滤操作和剪切操作,得到第二噪声图像样本;
11.s5、判断所述第二噪声图像样本是否满足对抗样本的要求,若未满足,则将其输入所述神经网络模型进行下一轮迭代,反之,将其作为对抗样本并停止迭代。
12.进一步,在步骤s2中,所述损失信息的具体内容如下:
13.根据所述神经网络模型对所述原始图像样本的输出结果,计算交叉熵损失信息,称为正常损失信息;
14.根据所述神经网络模型中辅助分类器对所述原始图像样本的输出结果,计算交叉熵损失信息,称为辅助损失信息;
15.所述损失信息设为均由所述神经网络模型输出的高级表示logit值计算的,其对应公式为:
[0016][0017]
式中,表示正常损失信息;表示辅助损失信息;λ表示辅助损失信息的权重;表示第t次迭代时的第一噪声图像样本,若为第一次迭代,则表示原始图像样本;y表示与原始图像样本数据对应的真实标签;t表示迭代次数;adv表示图像添加过噪声。
[0018]
进一步,在步骤s3中,根据所述损失信息得到对应的梯度符号矩阵的步骤包括:
[0019]
采用adam梯度下降法,获取所述损失信息相对于所述原始图像样本的梯度信息矩阵;
[0020]
将所述梯度信息矩阵输入符号函数,得到所述梯度符号矩阵。
[0021]
进一步,在步骤s3中,采用所述扰动信息对所述原始图像样本添加扰动,得到第一噪声图像样本的步骤包括:
[0022]
计算当前迭代次数下第二噪声图像样本与所述原始图像样本之间的无穷范数距离;
[0023]
根据所述无穷范数距离,采用指数函数求出可变步长;
[0024]
根据所述可变步长与所述梯度符号矩阵作乘法得到扰动数据,将所述扰动数据添加到所述原始图像样本,得到第一噪声图像样本;
[0025]
其中,所述可变步长和第二噪声图像样本与所述原始图像样本之间的无穷范数距离反相关,其对应计算公式为:
[0026][0027]
式中,v表示可变步长;c表示权重系数;e表示指数函数的底数;l(
·
)表示无穷范数距离的计算函数;表示第t次迭代时的第一噪声图像样本,若为第一次迭代,则表示原始图像样本;x
clean
表示原始图像样本;t表示迭代次数;clean和adv用来区分图像是否添加过噪声。
[0028]
进一步,在步骤s4中,所述过滤操作为中值过滤操作或均值过滤操作。
[0029]
进一步,在步骤s5中,对抗样本的迭代公式为:
[0030][0031]
式中,表示第t次迭代时的第一噪声图像样本,若为第一次迭代,则表示原始图像样本;x
clean
表示原始图像样本;表示剪切操作函数;ε表示预设最大扰动阈值;f(
·
)表示过滤操作函数;v表示可变步长;sign(
·
)表示符号函数;表示损失信息;表示对损失信息求梯度;y表示与原始图像样本数据对应的真实标签;t表示迭代次数;clean和adv用来区分图像是否添加过噪声;
[0032]
判断所述第二噪声图像样本是否满足对抗样本的要求如下:
[0033]
判断生成所述第二噪声图像样本时的迭代次数是否已经达到预设最大迭代次数;或判断所述第二噪声图像样本是否能够成功攻击所述神经网络模型。
[0034]
本发明的第二目的通过下述技术方案实现:基于梯度的对抗样本生成系统,包括:
[0035]
获取模块,用于获取原始图像样本和待攻击的神经网络模型;
[0036]
损失计算模块,将所述原始图像样本输入所述神经网络模型,根据交叉熵损失函数获取所述原始图像样本的损失信息;
[0037]
扰动生成模块,根据所述损失信息得到对应的梯度符号矩阵并生成扰动信息,采用所述扰动信息对所述原始图像样本添加扰动,得到第一噪声图像样本;
[0038]
扰动限制模块,对所述第一噪声图像样本进行过滤操作和剪切操作,得到第二噪声图像样本;
[0039]
样本生成模块,判断所述第二噪声图像样本是否满足对抗样本的要求,若未满足,则将其输入所述神经网络模型进行下一轮迭代,反之,将其作为对抗样本并停止迭代。
[0040]
进一步,所述损失计算模块,包括:
[0041]
正常损失子模块,根据所述神经网络模型对所述原始图像样本的识别结果,计算交叉熵损失信息,称为正常损失信息;
[0042]
辅助损失子模块,根据所述神经网络模型中辅助分类器对所述原始图像样本的识别结果,计算交叉熵损失信息,称为辅助损失信息。
[0043]
进一步,所述扰动生成模块,包括:
[0044]
梯度计算子模块,采用adam梯度下降法,获取所述损失信息相对于所述原始图像样本的梯度信息矩阵,将所述梯度信息矩阵输入符号函数,得到所述梯度符号矩阵;
[0045]
可变步长计算子模块,首先计算当前迭代次数下第二噪声图像样本与所述原始图像样本之间的无穷范数距离;其次根据所述无穷范数距离,采用指数函数求出可变步长;
[0046]
扰动添加子模块,根据所述可变步长与所述梯度符号矩阵作乘法得到扰动数据,将所述扰动数据添加到所述原始图像样本,得到第一噪声图像样本。
[0047]
进一步,所述扰动限制模块,包括:
[0048]
过滤操作子模块,用于中值过滤操作或均值过滤操作;
[0049]
剪切操作子模块,将图像像素值大于或小于预设最大扰动阈值的像素值钳制为预设最大扰动阈值;其中,所述图像像素值大于或小于预设最大扰动阈值是指图像像素值超出[原始图像样本-ε,原始图像样本 ε]的范围,ε表示预设最大扰动阈值。
[0050]
本发明与现有技术相比,具有如下优点与有益效果:
[0051]
1、本发明在生成扰动信息的过程中使用可变步长,避免迭代攻击陷入局部最优,并且减少了由于剪切操作导致的重要图像特征信息的丢失。
[0052]
2、本发明考虑了部分噪声容易被对抗攻击防御机制中的降噪操作消除,在迭代的过程中引入过滤操作来尽可能的保留不易被消除的顽固噪声。
[0053]
3、通过实验数据验证,相比现有的基于梯度的对抗样本生成方法,本发明生成的对抗样本在黑盒情况下攻击集成模型的攻击成功率提升了14.4%,而且噪声大小在l1和l2范数度量下也较小。
附图说明
[0054]
图1为本发明方法的流程示意图。
[0055]
图2为损失信息组成图。
[0056]
图3为可变步长原理图。
[0057]
图4为获取原始图像样本的梯度符号矩阵的流程示意图。
[0058]
图5为获取第一噪声图像样本的流程示意图。
[0059]
图6是本发明系统的架构图。
[0060]
图7是本发明系统的场景示意图。
具体实施方式
[0061]
下面结合实施例及附图对本发明作进一步详细的描述,但本发明的实施方式不限于此。
[0062]
实施例1
[0063]
本实施例公开了一种基于梯度的对抗样本生成方法,该方法同时适用于白盒攻击和黑盒攻击。其中,白盒攻击是指攻击时已知待攻击神经网络模型的所有信息,如结构、参数、训练过程和训练数据。黑盒攻击是指攻击时只知道待攻击神经网络模型有限信息,如置信度和标签。
[0064]
如图1所示,所述基于梯度的对抗样本生成方法,包括以下步骤:
[0065]
s1、获取原始图像样本和待攻击的神经网络模型。
[0066]
具体地,本实验采用的原始图像样本数据集为imagenet-compatible数据集,它是2017年神经信息处理系统进展大会举办的对抗竞赛的官方数据集,包含1000张大小为299
×
299
×
3的图片及其对应的真实标签。本实验采用的神经网络模型包括inception v3、inception v4、inception-resnet v2、resnet50 v2、resnet101 v2、resnet152 v2、inc-v3
adv
、inc-v3
ens3
、inc-v3
ens4
和incres-v2
ens
一共10种。这些模型都由imagenet数据集训练得到,但它们的正确率与分类边界有着较大的差异。
[0067]
s2、将所述原始图像样本输入所述神经网络模型,根据交叉熵损失函数获取所述原始图像样本的损失信息。
[0068]
具体地,所述损失信息设为其中,表示第t次迭代时的第一噪声图像样本,若为第一次迭代,则表示原始图像样本;adv表示图像添加过噪声;y表示与原始图像样本数据对应的真实标签。
[0069]
如图2所示,损失信息由两部分组成,第一部分设为表示根据所述神经网络模型对所述原始图像样本的输出结果,计算交叉熵损失信息,称为正常损失信息;第二部分设为表示根据所述神经网络模型中辅助分类器对所述原始图像样本的输出结果,计算交叉熵损失信息,称为辅助损失信息。故最终的损失信息计算公式为:
[0070][0071]
式中,λ表示辅助损失信息的权重。两部分损失信息相加得到的结果能够更加准确的表示梯度的方向。本实验中预设λ的值为1.0。
[0072]
s3、根据所述损失信息得到对应的梯度符号矩阵并生成扰动信息,采用所述扰动信息对所述原始图像样本添加扰动,得到第一噪声图像样本。
[0073]
其中,如图3所示,根据损失信息得到对应的梯度符号矩阵的具体步骤包括:
[0074]
采用adam梯度下降法,获取所述损失信息相对于所述原始图像样本的梯度信息矩
阵,用表示对损失信息求梯度;
[0075]
将所述梯度信息矩阵输入符号函数sign(
·
),得到所述梯度符号矩阵。用来表示梯度变化方向。
[0076]
其中,如图4所示,采用所述扰动信息对所述原始图像样本添加扰动,得到第一噪声图像样本的步骤包括:
[0077]
计算当前迭代次数下第二噪声图像样本与所述原始图像样本之间的无穷范数距离,表示为其中,l(
·
)表示无穷范数距离的计算函数;表示第t次迭代时的第一噪声图像样本,若为第一次迭代,则表示原始图像样本;adv表示图像添加过噪声;x
clean
表示原始图像样本。
[0078]
根据所述无穷范数距离,采用指数函数求出可变步长。其对应计算公式为:
[0079][0080]
式中,v表示可变步长;c表示权重系数;e表示指数函数的底数。本实验中预设c的值为10。其原理图如图5所示,图中横纵坐标分别表示两个输入维度,灰色区域表示神经网络模型识别正确的区域,白色区域表示寻神经网络模型识别错误的区域,

表示原始图像样本,
·
表示对抗样本。在找类别边界的过程中,由当前迭代次数下第二噪声图像样本与原始图像样本的无穷范数距离决定步长大小:距离越大,步长越小;反之,步长越大。
[0081]
根据所述可变步长与所述梯度符号矩阵作乘法得到扰动数据,并将所述扰动数据添加到所述原始图像样本,得到第一噪声图像样本。第t 1次迭代时的第一噪声图像样本可以表示为:
[0082][0083]
式中,表示对损失信息求梯度;sign(
·
)表示符号函数。
[0084]
s4、对所述第一噪声图像样本进行过滤操作和剪切操作,得到第二噪声图像样本。
[0085]
具体地,对于过滤操作,本实验使用中值过滤方法来攻击inception v3、inception v4、inception-resnet v2、resnet50 v2、resnet101 v2和resnet152 v2模型,过滤核大小设置为3
×
3;使用均值过滤方法来攻击inc-v3
adv
、inc-v3
ens3
、inc-v3
ens4
和incres-v2
ens
模型,过滤核大小设置为3
×
3。其中,f(
·
)为过滤函数。对于剪切操作,为了避免生成的对抗样本与原始图像样本差别较大,预设最大扰动阈值ε大小为16,预设最大扰动阈值ε与最大迭代次数t的比值即为每次迭代的最大扰动数据范围。示例性的,对扰动数据进行限制后的第t次迭代的第二噪声图像样本可以表示为:
[0086][0087]
式中,为裁剪函数,可以将图像像素值大于或小于预设值的元素值限制在[原始图像样本-ε,原始图像样本 ε]范围内。
[0088]
s5、判断所述第二噪声图像样本是否满足对抗样本的要求,若未满足,则将其输入所述神经网络模型进行下一轮迭代,反之,将其作为对抗样本并停止迭代。
[0089]
具体地,所述判断所述第二噪声图像样本是否满足对抗样本的要求如下:
[0090]
判断生成所述第二噪声图像样本时的迭代次数是否已经达到预设最大迭代次数;或判断所述第二噪声图像样本是否能够成功攻击所述神经网络模型。
[0091]
即每次迭代完成后生成的第二噪声图像样本被认为是对原始图像样本添加了一次扰动数据,将添加扰动数据后得到的第二噪声图像样本输入到待攻击的神经网络模型输出其对应的预测结果;将预测结果和原始图像样本对应的真实标签比较,若相同则认为该第二噪声图像样本对神经网络模型没有攻击成功,还需要在此轮迭代生成的第二噪声图像样本的基础上从步骤s2开始进一步迭代生成新的扰动数据,再基于新的扰动数据对第二噪声图像样本添加扰动得到新的第二噪声图像样本,以此类推,直到当前迭代次数超过了预设最大迭代次数或者将得到的第二噪声图像样本输入到待攻击的神经网络模型预测结果和原始图像样本对应的真实标签不相同,即攻击成功,才停止迭代。所述预设最大迭代次数可以根据实际情况进行设置,本实验中设置最大迭代次数为10。具体地,用t表示迭代次数,即将第t次按照上述步骤生成的第二噪声图像样本作为第t 1次步骤s2中的原始图像样本,重复10次步骤s2至步骤s4,得到的第二噪声图像样本作为最终的对抗样本;或当迭代次数少于10次,且生成的第二噪声图像样本能够成功攻击神经网络模型时提前停止迭代训练,并将此次迭代得到第二噪声图像样本作为最终的对抗样本。
[0092]
实施例2
[0093]
本实施例公开了一种基于梯度的对抗样本生成系统,如图6所示,其包括以下功能模块:
[0094]
获取模块,用于获取原始图像样本和待攻击的神经网络模型。其中,原始图像样本的图片格式为.png或.jpg格式,神经网络模型文件的格式为.ckpt格式。
[0095]
损失计算模块,将所述原始图像样本输入所述神经网络模型,根据交叉熵损失函数获取所述原始图像样本的损失信息。所述损失计算模块的输入为所述获取模块获取的原始图像样本和待攻击的神经网络模型,输出为损失信息。其中,tensorflow中交叉熵损失函数为tf.nn.softmax_cross_entropy_with_logits()。
[0096]
具体地,所述损失计算模块包括正常损失子模块和辅助损失子模块。正常损失子模块,根据所述神经网络模型对所述原始图像样本的输出结果,计算交叉熵损失信息,称为正常损失信息;辅助损失子模块,根据所述神经网络模型中辅助分类器对所述原始图像样本的输出结果,计算交叉熵损失信息,称为辅助损失信息。
[0097]
扰动生成模块,根据所述损失信息得到对应的梯度符号矩阵并生成扰动信息,采用所述扰动信息对所述原始图像样本添加扰动,得到第一噪声图像样本。所述扰动生成模块的输入为所述损失信息,输出为第一噪声图像样本。其中,第一噪声图像样本为tensorflow张量数据类型。
[0098]
具体地,所述扰动生成模块包括梯度计算子模块、可变步长计算子模块和扰动添加子模块。梯度计算子模块,采用adam梯度下降法,获取所述损失信息相对于所述原始图像样本的梯度信息矩阵;将所述梯度信息矩阵输入符号函数,得到所述梯度符号矩阵。可变步长计算子模块,首先计算当前迭代次数下第二噪声图像样本与所述原始图像样本之间的无穷范数距离;其次根据所述无穷范数距离,采用指数函数求出可变步长;扰动添加子模块,根据所述可变步长与所述梯度符号矩阵作乘法得到扰动数据,将所述扰动数据添加到所述
原始图像样本,得到第一噪声图像样本。
[0099]
扰动限制模块,对所述第一噪声图像样本进行过滤操作和剪切操作,得到第二噪声图像样本。所述扰动限制模块的输入为所述扰动生成模块输出的第一噪声图像样本,输出为第二噪声图像样本。其中,第二噪声图像样本为tensorflow张量数据类型。
[0100]
具体地,所述扰动限制模块包括过滤操作子模块和剪切操作子模块。过滤操作子模块用于中值过滤操作或均值过滤操作;剪切操作子模块,将图像像素值大于或小于预设值的元素值限制在[原始图像样本-ε,原始图像样本 ε]范围内,ε表示预设最大扰动阈值。
[0101]
样本生成模块,用于判断所述第二噪声图像样本是否满足对抗样本的要求,若未满足,则将其输入所述神经网络模型进行下一轮迭代,反之,将其作为对抗样本并停止迭代。所述样本生成模块的输入为所述扰动限制模块的第二噪声图像样本,若第二噪声图像样本满足对抗样本的需求,其输出为对抗样本。其中,对抗样本的图片格式为.png或.jpg格式。
[0102]
所述系统的具体场景如图7所示,对于获取模块中的一张原始图像样本,其标签为“秃鹰”,依次经过损失计算模块、扰动生成模块和扰动限制模块,最终在样本生成模块得到其对应的对抗样本,神经网络模型对该对抗样本的识别结果为“披肩鸡”,表示攻击成功。
[0103]
综上所述,本发明提供的基于梯度的对抗样本生成方法和系统,其实现对抗攻击的攻击的表达式如下:
[0104][0105]
本发明生成的对抗样本在黑盒条件下具有更好可转移性,且噪声的可见性更小,因此为更好地理解神经网络并提高它的鲁棒性奠定基础,增强神经网络模型抵御对抗攻击的能力,具有实际推广价值,值得推广。
[0106]
上述实施例为本发明较佳的实施方式,但本发明的实施方式并不受上述实施例的限制,其他的任何未背离本发明的精神实质与原理下所作的改变、修饰、替代、组合、简化,均应为等效的置换方式,都包含在本发明的保护范围之内。
再多了解一些

本文用于企业家、创业者技术爱好者查询,结果仅供参考。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文献