基于稀疏扰动的对抗样本生成方法及系统

文档序号:32114186发布日期:2022-11-09 05:51阅读:144来源:国知局
基于稀疏扰动的对抗样本生成方法及系统

1.本发明属于图像对抗样本生成领域,具体涉及通过生成稀疏扰动来构造对抗样本对dnn模型进行对抗攻击。


背景技术:

2.近年来,深度神经网络(deep neural network,dnn)在图像领域取得了巨大的进展,被广泛地应用于目标检测、图像语义分割以及图像分类等任务。随着 dnn结构愈加复杂,其对图像的特征提取能力不断加强,在一些安全性需求较高的领域,如人脸识别、自动驾驶,也不断取得新的突破。
3.尽管dnn在不同的任务中具有较高的识别准确率,在面对一些经过特殊修改的样本时,dnn可能会给出截然相反的结论,表现出较差的鲁棒性。szegedy 等人提出,攻击者对图像添加一些人眼难以察觉到的微小扰动,构造对抗样本, dnn就可能对这种图像产生错误的判断。这在安全性需求较高的领域是一个十分致命的缺陷,例如在自动驾驶中,攻击者通过对路边的广告牌添加一些人为构造的微小扰动,自动驾驶系统可能会对广告牌产生错误的识别结果,进而做出错误的决策,导致自动驾驶汽车发生严重的交通事故。为了保障相关应用的安全性,有必要研究对抗样本生成方法,借助对抗样本对dnn的鲁棒性进行评估。
4.当前面向图像的对抗样本生成方法可以分成两大类:一类是密集对抗样本生成方法,这类方法不会对扰动的像素点个数进行限制,仅仅对添加到图像当中的整体扰动幅度大小进行优化,通常情况下会添加l2或者l

范数约束,对图像中所有像素点都进行不同程度的修改;另一类是稀疏对抗样本生成方法,这类方法对扰动的像素个数进行限制,添加的扰动通常会受到l0范数约束,力求尽可能少地修改图像像素点来达到攻击成功的目的。当前大部分研究主要集中在密集对抗样本生成这一方法,然而对图像添加稀疏扰动能够使得添加的扰动变得更微小,使对抗样本变得更加真实,因此稀疏对抗样本生成方法同样值得我们去关注和研究。此外,通过稀疏对抗样本生成方法生成的稀疏扰动能够揭示原始图像与对抗样本之间的相互关系,并且能够更好地阐明对抗样本攻击dnn的机制。


技术实现要素:

5.发明目的:本发明的目的在于提供一种基于稀疏扰动的对抗样本生成方法及系统,能够使用多种的图像数据集,提高生成的对抗样本的扰动稀疏性和攻击成功率,并提高对抗样本的真实性。
6.技术方案:为实现上述发明目的,本发明所述的一种基于稀疏扰动的对抗样本生成方法,包括如下步骤:
7.步骤1:基于损失函数关于输入图像的梯度值迭代地选择扰动点来生成初始对抗样本,每一次迭代按照梯度值由大到小的顺序确定新增扰动点的候选集,选择使损失函数值最小的扰动添加到图像中,直到被扰动的图像能够成功攻击 dnn;
8.步骤2:针对初始对抗样本,计算每个扰动点的扰动相对于整体扰动的重要性,按
照扰动重要性由小到大的顺序逐个判断并删除冗余扰动,并再次计算扰动重要性后,根据扰动重要性由小到大排序去除前设定数量或比例的扰动;重新执行步骤1添加扰动使对抗样本能成功攻击dnn,直到超过设定的循环次数或者扰动的稀疏性连续设定次数不再提升。
9.作为优选,为了使得生成的对抗样本更加真实,在保证攻击成功的情况下,再进一步计算生成的对抗样本中每个扰动点的扰动的重要性,按照扰动重要性由小到大的顺序逐个判断并删除冗余扰动;针对剩余扰动点减小扰动幅度,得到最终的能够成功攻击dnn的对抗样本。
10.作为优先所述步骤1中,第t+1次迭代选择扰动点并添加扰动的方法如下:
11.步骤11:将前t次迭代后生成的图像输入dnn,计算损失函数关于输入图像的梯度值,采用的损失函数公式如下:
12.f(x,y)=max(z(x)
y-max{z(x)i:i≠y},-h)
13.其中x,y分别为图像以及其相应的真实标签,z(x)i为dnn针对图像x关于标签i的预测概率,h为置信度参数,默认为0;
14.步骤12:针对图像中前t次迭代确定的扰动点,在扰动阈值的限制下,基于本次迭代计算出的梯度值继续添加扰动,对图像添加扰动的具体公式如下:
[0015][0016]
其中分别为扰动添加前后的图像,表示将图像x中每一个像素添加的扰动限制在ε内,g为损失函数关于输入图像的梯度值矩阵,v为记录扰动位置的矩阵,扰动点位置的取值为1,其余取值为0,g
·
v表示两个矩阵对应位置元素值的逻辑乘,α是设定的固定值参数用于控制添加扰动的幅度;
[0017]
步骤13:在图像剩余未被扰动的像素点中,按照梯度值由大到小的顺序将前k个像素点p1,p2,...,pk作为候选扰动点集,分别对其中1个像素点添加扰动,若在pi添加的扰动导致损失函数值下降最大,则将pi作为第t+1次迭代新增的扰动点,并将其扰动添加到图像中,相应地修改v中pi相应像素位置的值为1;
[0018]
步骤14:判断当前迭代生成的图像能否成功攻击dnn,如果能够成功攻击 dnn,则跳转至步骤2,否则,迭代次数加1,并跳转至步骤11继续对图像添加扰动。
[0019]
作为优选,所述步骤2中计算扰动重要性的方法如下:
[0020]
首先获取对抗样本x
adv
中添加的扰动δ,假设对抗样本的扰动由q个像素点的扰动δj(j=1,2,3,...,q)组成,针对扰动δ中的各个扰动δj计算其重要性;
[0021]
从原对抗样本x
adv
中去除扰动δj,得到新的扰动图像
[0022]
计算的损失函数值δj的扰动重要性通过相比原对抗样本 x
adv
的损失函数变化量来衡量,计算公式如下:
[0023][0024]
作为优选,所述步骤2中具体包括:
[0025]
步骤21:获取对抗样本中添加的扰动δ并计算扰动重要性;
[0026]
步骤22:按照扰动重要性由小到大的顺序逐个判断其是否为冗余扰动,并删除冗余扰动,如果去掉该扰动后的样本仍然能够使dnn产生错误判断,则该扰动为冗余扰动;
[0027]
步骤23:再次计算删除冗余扰动后的扰动重要性;
[0028]
步骤24:根据扰动重要性由小到大排序去除对抗样本中重要性较小的前前设定数量或比例的扰动,并跳转至步骤1继续对图像添加扰动,直到被扰动的图像成功攻击dnn为止;
[0029]
步骤25:不断迭代步骤21-24来优化扰动的稀疏性,如果上述步骤迭代超过设定次数,或者扰动的稀疏性连续设定次数不再提升时,迭代结束,输出迭代过程中稀疏性最高的扰动。
[0030]
作为优选,所述步骤3中具体包括:
[0031]
步骤31:获取当前对抗样本中添加的扰动δ并计算扰动重要性;
[0032]
步骤32:按照扰动重要性由小到大的顺序,逐个判断并去除对抗样本中的冗余扰动;
[0033]
步骤33:针对去除冗余扰动过后的对抗样本,重新计算扰动重要性;
[0034]
步骤34:对剩余扰动点优化扰动幅度。针对具体的扰动δj,在相应扰动点减小的扰动幅度计算公式如下:
[0035][0036]
其中参数λ为固定值参数,用于控制减少的扰动幅度,σj为扰动对应的重要性。若在δj对应扰动点上减少值为的扰动后得到的样本仍然能成功攻击 dnn,则保留该扰动幅度的调整;否则,撤销该扰动幅度的调整。
[0037]
基于相同的发明构思,本发明提供的一种基于稀疏扰动的对抗样本生成系统,包括:
[0038]
初始扰动生成模块,用于基于损失函数关于输入图像的梯度值迭代地选择扰动点来生成初始对抗样本,每一次迭代按照梯度值由大到小的顺序确定新增扰动点的候选集,选择使损失函数值最小的扰动添加到图像中,直到被扰动的图像能够成功攻击dnn;
[0039]
扰动优化模块,用于针对初始对抗样本,计算每个扰动点的扰动相对于整体扰动的重要性,按照扰动重要性由小到大的顺序逐个判断并删除冗余扰动,并再次计算扰动重要性后,根据扰动重要性由小到大排序去除前设定数量或比例的扰动;
[0040]
以及循环控制模块,用于循环调用初始扰动生成模块和扰动优化模块,对图像添加扰动并优化以使对抗样本能成功攻击dnn,直到超过设定的循环次数或者扰动的稀疏性连续设定次数不再提升。
[0041]
作为优选,系统还包括扰动幅度优化模块,用于计算生成的对抗样本中每个扰动点的扰动的重要性,按照扰动重要性由小到大的顺序逐个判断并删除冗余扰动;针对剩余扰动点减小扰动幅度,得到最终的能够成功攻击dnn的对抗样本。
[0042]
基于相同的发明构思,本发明提供的一种计算机系统,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述计算机程序被加载至处理器时实现所述的基于稀疏扰动的对抗样本生成方法的步骤。
[0043]
基于相同的发明构思,本发明提供的一种计算机可读存储介质,所述计算机可读存储介质存储有计算机程序,所述计算机程序被处理器执行时实现所述的基于稀疏扰动的对抗样本生成方法的步骤。
[0044]
有益效果:本发明提供了一种基于稀疏扰动的对抗样本生成方法。该方法基于损
失函数关于输入图像的梯度值迭代地选择扰动点来生成初始对抗样本,每一次迭代按照梯度值由大到小的顺序确定新增扰动点的候选集,选择使损失函数值最小的扰动添加到图像中。其次,针对初始扰动方案,通过一种扰动优化策略来提高对抗样本的稀疏性和真实性,基于每个扰动的重要性来改进扰动以跳出局部最优,并进一步减少冗余扰动以及冗余扰动幅度。因为本发明采用上述技术方案,因此在cifar-10和imagenet数据集以及非目标攻击场景和目标攻击场景下均能够达到100%的攻击成功率,和现有技术相比,本发明生成的扰动在具有较低扰动幅度的同时,能够达到更优的扰动稀疏性。
附图说明
[0045]
图1为本发明实施例的方法流程图;
[0046]
图2为本发明实施例的初始扰动生成流程图;
[0047]
图3为本发明实施例的扰动优化流程图;
[0048]
图4为本发明实施例的对抗样本生成可视化图;图5为本发明实施例中示例的处理样本示意图,其中(a)为原始样本,(b) 为生成的对抗样本,(c)为扰动的可视化图像。
具体实施方式
[0049]
下面结合附图及具体实施例,进一步阐明本发明,应理解这些实施例仅用于说明本发明而不用于限制本发明的范围,在阅读了本发明之后,本领域技术人员对本发明的各种等价形式的修改均落于本技术所附权利要求所限定的范围。
[0050]
如图1所示,本发明实施例公开的一种基于稀疏扰动的对抗样本生成方法,主要包括如下步骤:
[0051]
步骤1:生成初始扰动。基于损失函数关于输入图像的梯度值迭代地选择扰动点来生成初始对抗样本,每一次迭代按照梯度值由大到小的顺序确定新增扰动点的候选集,选择使损失函数值最小的扰动添加到图像中,直到被扰动的图像能够成功攻击dnn;
[0052]
步骤2:优化扰动。针对初始扰动方案,通过一种扰动优化策略来提高对抗样本的稀疏性和真实性。为了跳出局部最优,通过计算每个扰动相对于整体扰动的重要性,基于扰动重要性删除冗余以及重要性较低的扰动,并回到步骤1重新添加扰动使对抗样本能成功攻击dnn,直到超过设定的循环次数或者扰动的稀疏性连续设定次数不再提升。
[0053]
图2示意了本发明步骤1中初始扰动方案的生成过程,具体地,第t+1次迭代选择扰动点并添加扰动的方法进一步叙述为:
[0054]
步骤11:将前t次迭代后生成的图像输入dnn,计算损失函数值关于输入图像的梯度值,计算输入图像的梯度值可采用pytorch框架中的backward()函数进行计算;其中采用的损失函数公式如下:
[0055]
f(x,y)=max(z(x)
y-max{z(x)i:i≠y},-h)
[0056]
其中x,y分别为图像以及其相应的真实标签,z(x)i为dnn针对图像x关于标签i的预测概率,h为置信度参数,h≥0,默认设为0。
[0057]
步骤12:针对图像中前t次迭代确定的扰动点,在扰动阈值的限制下,基于本次迭代计算出的梯度值继续添加扰动;对图像添加扰动的具体公式如下:
[0058][0059]
其中分别为扰动添加前后的图像,表示将图像x中每一个像素添加的扰动限制在ε内,g为损失函数关于输入图像的梯度值矩阵,v为记录扰动位置的矩阵,扰动点位置的取值为1,其余取值为0,g
·
v表示两个矩阵对应位置元素值的逻辑乘,α是设定的固定值参数用于控制添加扰动的幅度。
[0060]
步骤13:在图像剩余未被扰动的像素点中,按照梯度值由大到小的顺序将前k个像素点p1,p2,...,pk作为候选扰动点集,分别对其中1个像素点添加扰动,若在pi添加的扰动导致损失函数值下降最大,则将pi作为第t+1次迭代新增的扰动点,并将其扰动添加到图像中;
[0061]
步骤14:判断当前迭代生成的图像能否成功攻击dnn,如果能够成功攻击 dnn,则跳转至步骤2,否则,迭代次数加1,并跳转至步骤11继续对图像添加扰动。
[0062]
具体地,本实施例的步骤2中计算扰动重要性的方法如下:
[0063]
首先获取到对抗样本中添加的扰动δ;
[0064]
针对扰动δ中的各个扰动计算其重要性,假设对抗样本x
adv
的扰动由q个像素点的扰动δj(j=1,2,3,...,q)组成,从原对抗样本x
adv
中去除扰动δj,得到新的扰动图像
[0065]
计算的损失函数值δj的扰动重要性通过相比原对抗样本 x
adv
的损失函数变化量来衡量,计算公式如下:
[0066][0067]
通过扰动重要性可以评估哪些扰动对dnn而言攻击性较弱,最弱的扰动有可能是冗余的。
[0068]
如图3所示,步骤2中跳出局部最优的具体实施方法如下:
[0069]
步骤21:首先获取到步骤1生成的初始对抗样本,并计算初始扰动δ,扰动的计算公式如下:
[0070]
δ=x-x
adv
[0071]
步骤22:针对初始扰动δ计算扰动重要性;
[0072]
步骤23:按照扰动重要性由小到大的顺序逐个判断其是否为冗余扰动点,如果去掉该扰动后的样本仍然能够使dnn产生错误判断,则该扰动为冗余扰动;
[0073]
步骤24:去除冗余扰动点后由于整体扰动发生变化,每个扰动的重要性也可能发生变化,因此需再次计算扰动重要性;
[0074]
步骤25:根据扰动重要性排序去除对抗样本中重要性较小的前n个扰动,并跳转至步骤1继续对图像添加扰动,直到被扰动的图像成功攻击dnn为止;
[0075]
步骤26:不断迭代步骤21-25来优化扰动的稀疏性,如果上述步骤迭代超过 m次,或者扰动的稀疏性连续p次不再提升时,迭代结束,输出迭代过程中稀疏性最高的扰动。
[0076]
为了使得生成的对抗样本更加真实,在保证攻击成功的情况下,还可以再通过减少冗余扰动和剩余扰动点的冗余扰动幅度,进一步优化扰动方案得到最终的对抗样本。
[0077]
具体地,如图4所示,本发明另一实施例公开的一种基于稀疏扰动的对抗样本生成方法,除了上述步骤1和2之外,还包括步骤3:计算生成的对抗样本中每个扰动点的扰动的重要性,按照扰动重要性由小到大的顺序逐个判断并删除冗余扰动;针对剩余扰动点减小
扰动幅度,得到最终的能够成功攻击dnn的对抗样本。
[0078]
步骤3中减少冗余扰动和冗余扰动幅度的方法具体如下:
[0079]
步骤31:首先获取到步骤2中跳出局部最优结束后生成的对抗样本,并计算相应的扰动δ;
[0080]
步骤32:针对扰动δ计算其扰动重要性;
[0081]
步骤33:按照扰动重要性排序去除对抗样本中的冗余扰动;
[0082]
步骤34:针对去除冗余扰动过后的对抗样本,重新计算扰动重要性;
[0083]
步骤35:对剩余扰动点优化扰动幅度。按照扰动重要性排序,减少的扰动幅度应该遵循:重要性较高的扰动点,减小的扰动幅度较小,以保留较高的攻击性;反之,重要性较低的扰动点,减少的扰动幅度较大。针对具体的扰动δj,在相应扰动点减小的扰动幅度计算公式如下:
[0084][0085]
其中参数λ为固定值参数,用于控制减少的扰动幅度,σj为扰动对应的重要性。若在δj对应扰动点上减少值为的扰动后得到的样本仍然能成功攻击 dnn,则保留该扰动优化操作;否则,撤销该扰动幅度的调整。
[0086]
为了方便描述,我们面向inception-v3模型,利用imagenet数据集对本发明的效果进行评估,流程如下:
[0087]
步骤1:获取对抗样本生成方法所需要的原始图像样本数据集,并对图像进行预处理工作,具体过程如下:
[0088]
步骤11:从imagenet图像数据集网站(https://image-net.org/)中下载 ilsvrc2012数据集;
[0089]
步骤12:针对获取到的数据集中的图像样本进行归一化处理,将图像中每一个[0,255]的像素值归一化到[0,1]区间内。
[0090]
步骤2:将预处理过后的图像输入进dnn中,基于损失函数关于输入图像的梯度值迭代地选择扰动点来生成初始对抗样本,具体流程如图2所示,在第t+1 次迭代的具体步骤如下:
[0091]
步骤21:将前t次迭代后生成的图像输入dnn,计算损失函数值关于输入图像的梯度值,此时运行结果为inception-v3相对于的梯度值g;
[0092]
步骤22:针对图像中前t次迭代确定的扰动点,在扰动阈值的限制下,基于本次迭代计算出的梯度值对继续添加扰动;
[0093]
步骤23:按照梯度值由大到小的顺序确定新增扰动点的候选集,选择使损失函数值最小的扰动添加到图像中,此时运行结果为新增扰动点之后的图像
[0094]
步骤24:不断重复步骤21-24直到图像能够成功攻击dnn为止,输出步骤 2生成的初始对抗样本x
adv

[0095]
步骤3:如图4所示,通过一种扰动优化策略来提高对抗样本的稀疏性和真实性,基于每个扰动的重要性来改进扰动以跳出局部最优,并进一步减少冗余扰动以及冗余扰动幅度,具体步骤如下:
[0096]
步骤31:首先获取到步骤2生成的对抗样本x
adv
,并计算初始扰动δ;
[0097]
步骤32:针对扰动δ中的各个扰动计算其重要性,此时运行结果为扰动δ中每一个扰动δj的重要性σj。
[0098]
步骤33:按照扰动重要性由小到大的顺序逐个判断其是否为冗余扰动,并去除冗余扰动,此时运行结果为去除冗余扰动后的对抗样本;
[0099]
步骤34:再次计算扰动重要性;
[0100]
步骤35:去除对抗样本中扰动重要性较低的n个扰动;
[0101]
步骤36:跳转至步骤2继续对图像添加扰动,直到图像能够成功攻击dnn 为止;
[0102]
步骤37:判断步骤3的跳出局部最优阶段是否满足终止条件,如果满足,则跳出循环,并输出稀疏性最高的扰动;否则回到步骤31继续进行跳出局部最优;
[0103]
步骤38:计算扰动重要性σ;
[0104]
步骤38:按照扰动重要性由小到大的顺序减少对抗样本中的冗余扰动点;
[0105]
步骤39:计算扰动重要性σ;
[0106]
步骤310:按照扰动重要性由小到大的顺序减少冗余扰动幅度;
[0107]
步骤311:输出最终构造出的对抗样本x
adv

[0108]
为了进一步描述本发明的具体流程,针对图5中的原始图像样本,利用基于稀疏扰动的对抗样本生成方法对原始图像添加扰动生成对抗样本,具体流程如下:
[0109]
(1)首先对原始图像进行归一化处理,将图像中每一个[0,255]的像素值归一化到[0,1]区间内;
[0110]
(2)基于损失函数关于输入图像的梯度值迭代地选择扰动点来生成初始对抗样本;
[0111]
(3)针对初始扰动方案,通过扰动优化策略来提高对抗样本的稀疏性和真实性,得到最终对抗样本,如图5中(b)所示,可以看出,对抗样本和原始样本几乎没有肉眼区分度。图5中的(c)对对抗样本添加的扰动进行可视化,通过扰动可视化结果可以看出,本发明生成的扰动较为稀疏,添加的扰动主要集中在图像的关键识别位置。
[0112]
为了进一步说明本发明方法的有效性,将本发明方法应用于imagenet数据集,对inception-v3模型进行攻击,并与greedyfool、homotopy-attack方法进行对比,结果如表1所示。其中,asr表示对抗样本的攻击成功率;l0范数表示图像中被扰动的像素点个数,用来评估生成扰动的稀疏性;l1范数指扰动矩阵中各元素绝对值的和,l2范数指扰动矩阵中各元素平方和的平方根,用来衡量扰动的整体幅度大小。结果表明,本发明提出的对抗样本生成方法所生成的对抗样本能够实现100%的攻击成功率,且在生成的扰动的稀疏性(l0)和整体扰动幅度(l1,l2) 上都表现最优。
[0113]
表1 实验结果比较
[0114][0115]
基于相同的发明构思,本发明实施例提供的一种基于稀疏扰动的对抗样本生成系统,包括:初始扰动生成模块,用于基于损失函数关于输入图像的梯度值迭代地选择扰动点
来生成初始对抗样本,每一次迭代按照梯度值由大到小的顺序确定新增扰动点的候选集,选择使损失函数值最小的扰动添加到图像中,直到被扰动的图像能够成功攻击dnn;扰动优化模块,用于针对初始对抗样本,计算每个扰动点的扰动相对于整体扰动的重要性,按照扰动重要性由小到大的顺序逐个判断并删除冗余扰动,并再次计算扰动重要性后,根据扰动重要性由小到大排序去除前设定数量或比例的扰动;以及循环控制模块,用于循环调用初始扰动生成模块和扰动优化模块,对图像添加扰动并优化以使对抗样本能成功攻击dnn,直到超过设定的循环次数或者扰动的稀疏性连续设定次数不再提升。
[0116]
为进一步提高对抗样本真实性,系统还包括扰动幅度优化模块,用于计算生成的对抗样本中每个扰动点的扰动的重要性,按照扰动重要性由小到大的顺序逐个判断并删除冗余扰动;针对剩余扰动点减小扰动幅度,得到最终的能够成功攻击dnn的对抗样本。
[0117]
上述描述的各模块的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。所述模块的划分仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个模块可以结合或者可以集成到另一个系统。
[0118]
基于相同的发明构思,本发明提供的一种计算机系统,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述计算机程序被加载至处理器时实现所述的基于稀疏扰动的对抗样本生成方法的步骤。
[0119]
基于相同的发明构思,本发明提供的一种计算机可读存储介质,所述计算机可读存储介质存储有计算机程序,所述计算机程序被处理器执行时实现所述的基于稀疏扰动的对抗样本生成方法的步骤。
[0120]
本领域技术人员可以理解的是,本发明的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机系统(可以是个人计算机,服务器,或者网络设备等)执行本发明实施例所述方法的全部或部分步骤。存储介质包括:u盘、移动硬盘、只读存储器rom、随机存取存储器ram、磁碟或者光盘等各种可以存储计算机程序的介质。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1