面向黑盒攻击的替代模型自动选取方法、存储介质及终端
技术领域
本发明涉及深度学习
技术领域
,尤其涉及一种面向黑盒攻击的替代模型自动选取方法、存储介质及终端。背景技术
近年来,深度学习模型在各个领域都得到了广泛应用,虽然模型的精度越来越高,但也更加容易遭受恶意攻击,其中对抗攻击是最常见的攻击方式,通过向原始样本中添加人眼无法察觉的微小扰动,使目标模型输出错误预测结果甚至攻击者期望的预测结果。自从现有技术提出在输入数据上添加微小扰动可以影响模型分类结果开始,众多学者加入到模型对抗攻击的研究中,随之也诞生了许多攻击算法。
通过对攻击算法的研究,能够有效提升神经网络模型的防御力,即根据高攻击成功率攻击算法产生的对抗样本对黑盒模型进行重新训练,使黑盒模型能够学习对抗样本的特征进而提高其分类准确率,以此提升黑盒模型的防御力,保证神经网络模型的安全性,基于此对于攻击算法的研究就显得很有必要。
根据攻击者对于目标模型信息的了解,可以将对抗攻击分为白盒攻击和黑盒攻击,在白盒攻击中攻击者可以获取到目标模型所有相关信息。根据是否指定特定的攻击目标,可以将对抗攻击分为无目标攻击和目标攻击,未指定特定攻击目标的对抗攻击属于无目标攻击。在现实攻击场景中,由于目标模型往往不会对外公布且大多输出预测概率最大的类别结果,攻击者难以获取到目标模型的相关信息,因此,对于黑盒攻击的研究具有重要的应用价值。然而在黑盒攻击场景中,由于人为选取的替代模型替代作用差且当前攻击算法产生的对抗样本迁移性也较差,导致黑盒攻击成功率低,不利于当前神经网络模型安全研究工作的开展,因此,如何快速、准确选取能够产生高攻击力对抗样本的替代模型是本领域亟需解决的问题。
发明内容
本发明的目的在于克服现有技术选取的替代模型产生的攻击样本的攻击成功率低,不利于当前神经网络模型安全研究工作的开展的问题,提供了一种面向黑盒攻击的替代模型自动选取方法、存储介质及终端。
本发明的目的是通过以下技术方案来实现的:一种面向黑盒攻击的替代模型自动选取方法,所述方法包括:
根据原始样本属性信息在现有神经网络模型中选取替代模型,和/或,
根据攻击反馈信息更新当前使用替代模型。其中,替代模型即为与待攻击目标模型分类性能近似的神经网络模型。
在一示例中,所述选取替代模型步骤前还包括:
根据神经网络模型的网络复杂度信息、分类精确度信息划分神经网络模型的等级,神经网络模型等级越高面对复杂样本的分类精确度越高。
在一示例中,所述根据原始样本属性信息在神经网络模型中选取替代模型包括:
根据原始样本属性信息计算原始样本分数;
根据原始样本分数确定对应等级的神经网络模型进而确定替代模型。
在一示例中,所述根据原始样本属性信息计算原始样本分数包括:
根据原始样本不同属性值对分类精准度的影响设置不同属性的等级阈值,根据等级阈值对原始样本对应属性进行打分,进而获取原始样本的各属性得分;
对原始样本的各属性得分进行权重计算得到原始样本分数。
在一示例中,所述根据原始样本分数确定对应等级的神经网络模型进而确定替代模型包括:
建立不同等级神经网络模型与原始样本分数之间的第一映射关系;
根据原始样本分数查询第一映射关系,进而确定当前原始样本对应的神经网络模型等级,选取对应的神经网络模型等级中的任一模型作为替代模型。
在一示例中,所述攻击反馈信息为攻击成功率,根据攻击反馈信息更新当前使用替代模型包括:
获取当前使用替代模型产生的对抗样本对黑盒模型的攻击成功率;
若攻击成功率处于预设攻击成功率范围,选择大于当前使用替代模型一个等级的神经网络模型作为新的替代模型。
在一示例中,所述方法还包括:若攻击成功率小于预设攻击成功率范围,选择最高等级的神经网络模型作为新的替代模型。
在一示例中,所述方法还包括:
若当前使用模型已经为最高等级替代模型,选择最高等级中未曾作为替代模型的神经网络模型作为新的替代模型。
需要进一步说明的是,上述各选项对应的技术特征可以相互组合或替换构成新的技术方案。
基于上述发明构思,本发明还提供了一种基于上述任一示例或多个示例组合的面向黑盒攻击的替代模型自动选取方法的黑盒模型训练方法,具体包括:
根据原始样本属性信息在神经网络模型中选取替代模型,和/或,根据攻击反馈信息更新当前使用替代模型;
采用攻击算法攻击替代模型,生成对抗样本;
根据对抗样本对黑盒模型进行训练,使黑盒模型能够学习到对抗样本的特征并对对抗样本进行准确分类。其中,黑盒模型能够学习到对抗样本的特征,即黑盒模型能够学习到对抗样本区别于原始样本的扰动特征,进而修正其分类结果,实现准确分类,提升神经网络模型的安全性能。
本发明还包括一种存储介质,其上存储有计算机指令,所述计算机指令运行时执行上述任一示例或者多示例组合形成的所述面向黑盒攻击的替代模型自动选取方法的步骤。
本发明还包括一种终端,包括存储器和处理器,所述存储器上存储有可在所述处理器上运行的计算机指令,其特征在于:所述处理器运行所述计算机指令时执行上述任一示例或者多示例组合形成的所述面向黑盒攻击的替代模型自动选取方法的步骤。
与现有技术相比,本发明有益效果是:
本发明根据与黑盒模型复杂度呈相关性的原始样本属性信息选取与当前黑盒模型匹配度高的替代模型,和/或通过攻击反馈信息更新当前使用替代模型,以此保证选取或更新后的替代模型能够发挥优异替代性能,产生的对抗样本在黑盒攻击中攻击成功率高,利于推进当前神经网络模型安全研究工作。
附图说明
下面结合附图对本发明的
具体实施方式
作进一步详细的说明,此处所说明的附图用来提供对本申请的进一步理解,构成本申请的一部分,在这些附图中使用相同的参考标号来表示相同或相似的部分,本申请的示意性实施例及其说明用于解释本申请,并不构成对本申请的不当限定。
图1为本发明一示例中的方法流程图;
图2为本发明一示例中的方法流程图;
图3为本发明一示例中基于ASMSM的攻击算法在攻击VGG13_BN时的攻击成功率仿真图;
图4为本发明一示例中在MNIST数据集中各攻击算法结合ASMSM算法前后生成的对抗样本的对比图;
图5为本发明一示例中基于ASMSM的攻击算法在攻击DenseNet-161时的攻击成功率仿真图;
图6为本发明一示例中在CIFAR10数据集中各攻击算法结合ASMSM算法前后生成的对抗样本的对比图。
具体实施方式
下面结合附图对本发明的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
在本发明的描述中,需要说明的是,属于“中心”、“上”、“下”、“左”、“右”、“竖直”、“水平”、“内”、“外”等指示的方向或位置关系为基于附图所述方向或位置关系,仅是为了便于描述本发明和简化描述,而不是指示或暗示所指的装置或元件必须具有特定的方位、以特定的方位构造和操作,因此不能理解为对本发明的限制。此外,属于“第一”、“第二”仅用于描述目的,而不能理解为指示或暗示相对重要性。
在本发明的描述中,需要说明的是,除非另有明确的规定和限定,属于“安装”、“相连”、“连接”应做广义理解,例如,可以是固定连接,也可以是可拆卸连接,或一体地连接;可以是机械连接,也可以是电连接;可以是直接相连,也可以通过中间媒介间接相连,可以是两个元件内部的连通。对于本领域的普通技术人员而言,可以具体情况理解上述术语在本发明中的具体含义。
此外,下面所描述的本发明不同实施方式中所涉及的技术特征只要彼此之间未构成冲突就可以相互结合。
在下述任一示例性实施例中,该替代模型选取方法得到的替代模型,能够用于黑盒攻击,并通过替代模型生成的对抗样本,进一步对黑盒模型进行训练,使黑盒模型能够学习到对抗样本的特征,即黑盒模型能够学习到对抗样本区别于原始样本的扰动特征,进而修正其分类结果,实现准确分类,提升神经网络模型的安全性能。
首先,黑盒模型可分为软标签黑盒和硬标签黑盒,其中软标签黑盒返回输入样本的各类别预测概率(软标签),而硬标签黑盒则仅返回预测概率最大的类别结果(硬标签),本申请以硬标签黑盒的替代模型的选取进行说明。假设X为样本空间R中的训练集,Y为训练集中样本对应的真实标签,黑盒模型B经训练获得X到Y的映射:X→Y,对于一组在样本空间R中的其他样本集合X',黑盒模型B仍能给出X'到Y的映射:X′→Y,假设样本x为样本集合X'中的一个样本,其真实标签为y,攻击者的任务是通过在样本x上添加少量肉眼难以察觉的扰动来生成对抗样本xAdv,使黑盒模型B对xAdv产生误分类。对于无目标攻击而言,攻击可以表示为:
B(xAdv)≠y,xAdv=x+εandε<p
对于目标攻击而言,攻击可以表示为:
B(xAdv)=t,xAdv=x+εandε<p
其中,t表示指定攻击目标,ε和p分别表示在样本上添加的扰动以及扰动上界,ε越小,对抗样本与原始样本之间的差距就越小,肉眼越无法区别。
如图1-2所示,本示例中,一种面向黑盒攻击的替代模型自动选取方法(以下简称ASMSM),具体包括:
S11:根据原始样本属性信息在神经网络模型中选取替代模型;其中,替代模型即为与待攻击目标模型(黑盒模型)分类性能近似的神经网络模型。
S12:根据攻击反馈信息更新当前使用替代模型。
具体地,原始样本属性信息包括原始样本的通道数信息、像素信息、类别数信息、分辨率信息、颜色信息、亮度信息等。由于原始样本属性与黑盒模型复杂度呈现一定的相关性,因此本申请通过原始样本的属性信息选取与黑盒模型相似度高的替代模型。具体地,在模型训练过程中,简单数据集如MNIST中的图像通道数为1,像素数为28×28,类别数为10,使用简单的模型如三层全连接网络,三层卷积神经网络就可以很好地学习数据集中图像的特征,从而对未知图像进行很好地预测。而稍复杂的数据集如CIFAR10,此类数据集中的图像通道数为3,像素数为32×32,类别数为10,此时使用三层全连接网络,三层卷积神经网络等简单模型并不能胜任学习CIFAR10数据集中图像特征的任务,而换用网络结构更加复杂的神经网络模型如VGG16,ResNet50等就可以相对很好地学习图像特征。同样地,对于大型复杂数据集如ImageNet,其中图像的通道数为3,类别数为1000,像素数不定,但在模型训练时一般将图像缩放到224×224或299×299(根据模型不同,缩放程度不同),对于此类数据集,上述中型模型不能胜任学习任务,只能换用大型模型如VGG19,DensetNet201等对原始样本进行学习,基于此,本申请提出基于原始样本属性信息确定替代模型,以此使替代模型能够较好地发挥替代作用,即通过攻击该替代模型生成的对抗样本在黑盒攻击中攻击成功率高。
本示例中,步骤S12中攻击反馈信息具体为攻击成功率,若跳过步骤S11仅执行本申请步骤S12,则攻击反馈信息为攻击成功率与当前使用替代模型。本示例中根据攻击成功率及当前使用替代模型选取与黑盒模型特征学习性能及分类性能更加类似的替代模型,以此提高对黑盒模型的攻击成功率,同时保证对抗样本的迁移性。
在一示例中,步骤S11、S21选取替代模型步骤前还包括:
根据神经网络模型的网络复杂度信息、分类精确度信息划分神经网络模型的等级,神经网络模型等级越高面对复杂样本(复杂数据集)的分类精确度越高且网络复杂度越高,即神经网络的网络复杂度与分类精准度呈正相关。具体地,本示例将神经网络模型按照网络复杂度、分类精确度分为小型模型集合、中型模型集合和大型模型集合,大型模型集合为等级最高的神经网络模型。更为具体地,对于简单数据集如MNIST,三类模型的分类精度均会达到98%以上,此时分类精度不存逐级递增。而对于复杂数据集如ImageNet,小型模型的分类精度很低,中型模型的分类精度稍高,大型模型的分类精度最高,此时三类模型的分类精准度依次递增,在此基础上不难看出,中型模型、大型模型的适用范围更较广,然而若攻击目标模型网为简单模型,此时小型模型作为替代模型即能较好胜任攻击任务,采用中型模型、大型模型反而会增加计算难度及时间开销成本。
在一示例中,步骤S11中根据原始样本属性信息在神经网络模型中选取替代模型包括:
S111:根据原始样本属性信息计算原始样本分数;其中,样本的通道数信息、像素信息、类别数信息是影响深度学习分类的主要特征,本示例根据原始样本的通道数信息、像素信息、类别数信息计算原始样本分数。
S112:根据原始样本分数确定对应等级的神经网络模型进而确定替代模型。具体地,根据原始样本分数确定原始样本的复杂度进而确定当前应采用小型模型、中型模型还是大型模型作为黑盒模型的替代模型。
进一步地,步骤S111中根据原始样本属性信息计算原始样本分数包括:
S111A:根据原始样本不同属性值对分类精准度的影响设置不同属性的等级阈值,根据等级阈值对原始样本对应属性进行打分,进而获取原始样本的各属性得分,本示例中根据经验划分原始样本不同属性的等级阈值,即本申请针对样本的类别数设置两个等级阈值,即将样本类别数划分为三个等级,小于等于10,大于10且小于等于100,大于100;针对样本的通道数设置两个等级阈值,即将样本的通道数划分为三个等级,单通道,三通道,大于三通道;针对样本的像素数设置两个等级阈值,即将样本的像素数划分为三个等级,小于等于28×28,大于28×28且小于等于96×96,大于96×96。
S111B:对原始样本的各属性得分进行权重计算得到原始样本分数。具体地,权重计算的计算公式具体为:
其中,SFeature为(原始)样本分数;SLabel,SChannal,SPixel分别为样本的类别分数,通道分数,像素分数;α,β,γ分别为类别、通道和像素权重,在本申请中默认均为1。
作为一具体实施例,原始样本分数计算具体包括:
a./*将原始样本输入到函数get_Num(X)中,得到原始样本的类别数、通道数和像素数*/
NLabel,NChannal,NPixel=get_Num(X)
b./*将类别数、通道数和像素数输入到函数get_Score(NLabel,NChannal,NPixel)中,得到类别分数、通道分数和像素分数*/
SLabel,SChannal,SPixel=get_Score(NLabel,NChannal,NPixel)
c./*计算样本分数*/
SFeature=α·SLabel+β·SChannal+γ·SPixel
在一示例中,根据原始样本分数确定对应等级的神经网络模型进而确定替代模型包括:
S112A:建立不同等级神经网络模型与原始样本分数之间的第一映射关系;具体地,不同等级神经网络模型与原始样本分数之间的映射关系通过以下计算公式进行表示:
M=sel_Random(MQ)
其中,M为最终选取出的替代模型,MQ为(原始)样本分数对应的模型等级,函数sel_Random(M)的作用为从模型集合M中随机挑选模型,MS,MM,ML分别表示小型、中型、大型模型集合,δ和η为样本分数的分级参数,在本发明中默认为1/3和2/3。
S112B:根据原始样本分数查询第一映射关系,进而确定当前原始样本对应的神经网络模型等级,选取对应的神经网络模型等级中的任一模型作为替代模型。具体地,若原始样本分数SFeature∈[0,2δ(α+β+γ)]时,选择小型模型集中的任一神经网络模型作为替代模型;若原始样本分数SFeature∈[2δ(α+β+γ),2η(α+β+γ)]时,选择中型模型集中的任一神经网络模型作为替代模型;对于其他情况,即原始样本分数SFeature∈[2η(α+β+γ),2(α+β+γ)]时,选择大型模型集中的任一神经网络模型作为替代模型。
在一示例中,根据原始样本属性信息在神经网络模型中选取替代模型后,替代模型能够根据原始样本通道数、像素数及类别数对自身网络结构和参数进行自动调整,以进一步提高替代模型与黑盒模型的相似度,继而提高黑盒攻击成功率。具体地,设样本通道数为a,标签数为b,像素为p×p时,将替代模型的输入设为a,将最后的全连接层输出设为b,根据像素p在模型的最大池化层中设置padding参数。例如VGG模型中有5个池化层,在处理像素为28×28的样本时,样本高宽变化为28->14->7->3->1,即在第4个池化层变为1,此时的样本并不能在模型中继续传输,因此需要修改前4个最大池化层padding参数。若修改第1个,则样本高宽变化为30->15->7->3->1,与之前无异,所以放弃修改第1个池化层,转为修改第2个池化层,此时的样本高宽变化为28->16->8->4->2->1,满足模型要求。换言之,28到1的过程中整除了4个“2”(整除意为先做除法然后取整,取整是通过去掉小数实现),30也只能整除4个“2”,所以不能修改第1层得padding层数,第2层中14可以整除3个“2”,而16可以整除4个,所以需要修改的是第2层的padding参数,即要找到通过修改padding参数可以使整除“2”的个数增多的位置。以上为修改1层最大池化层参数的过程,当修改1层最大池化层参数无法满足模型中样本传输要求时,则在修改了1层最大池化层参数的基础上,再次找到修改padding参数后能够使整除“2”的个数增多的位置,以此类推。
作为一具体实施方式,本发明基于样本分数自动选取替代模型执行方式具体为:
设置输入信息,即样本分数SFeature,小型、中型、大型模型集合MS,MM,ML,样本分级参数δ和η,样本类别、通道和像素权重α,β,γ;
设置输出信息,即替代模型M;
执行主体执行以下程序:
1:if 0≤SFeature≤2δ(α+β+γ)then
2:MQ←MS;
3:else if 2δ(α+β+γ)<SFeature≤2η(α+β+γ)then
4:MQ←MM;
5:else
6:MQ←ML;
7:end if
8:M←Random(MQ);
9:return M
进一步地,攻击反馈信息为攻击成功率,根据攻击反馈信息更新当前使用替代模型包括:
S121:获取当前使用替代模型产生的对抗样本对黑盒模型的攻击成功率;具体地,攻击成功率为成功攻击黑盒模型的对抗样本数量与总对抗样本数量的比值,用于反映替代模型生成的对抗样本对于黑盒模型的攻击效果,攻击成功率越高,攻击效果越好,攻击成功率的计算表达式为:
其中,NSuccess表示成功攻击黑盒模型的对抗样本数量,NTotal表示对抗样本总数量;攻击成功率越高,说明对抗样本的迁移性越好,攻击方法越有效。
S122:若攻击成功率处于预设攻击成功率范围,选择大于当前使用替代模型一个等级的神经网络模型作为新的替代模型。具体地,预设攻击成功率范围为预期攻击成功率与边界参数的乘积至预期攻击成功率,边界参数根据经验值进行设置,以使满足上述处于预设攻击成功率范围的替代模型通过后续训练后,产生的对抗样本在黑盒攻击中的攻击成功率能够达到预期攻击成功率。通过设置预期攻击成功率与边界参数,一方面能够用于预判攻击黑盒模型的攻击效果,当实际攻击成功率(反馈信息中反馈的攻击成功率)大于预期攻击成功率时,则认为攻击成功,此时无需再继续更新当前使用替代模型;另一方面,根据实际攻击成功率能够实时更新当前使用替代模型,提高替代模型与黑盒模型的相似度。在本实施例中,若当前使用替代模型为小型模型集中的任一模型,此时将当前使用替代模型更新为中型模型集中的模型;若当前使用替代模型为中型模型集中的任一模型,此时将当前使用替代模型更新为大型模型集中的模型,以此提高替代模型与黑盒模型的分类近似度,进而提高对抗样本在攻击目标模型时的攻击成功率。
在一示例中,当前使用替代模型的更新方法还包括:
S123:若攻击成功率小于预设攻击成功率范围,选择最高等级的神经网络模型作为新的替代模型。具体地,若当前使用替代模型为小型模型集中的任一模型或中型模型集中的任一模型,且替代模型产生的对抗样本在黑盒攻击中的攻击成功率无法达到预期攻击成功率与边界参数的乘积,则选择大型模型集中的任一模型作为新的替代模型。
在一示例中,当前使用替代模型的更新方法还包括:
S124:若当前使用模型已经为最高等级替代模型,选择最高等级中未曾作为替代模型的神经网络模型作为新的替代模型。具体地,若当前使用替代模型已经为大型模型集中的任一模型,选择未曾作为替代模型的大型模型作为新的替代模型,以此改善替代模型的性能。
作为一选项,上述任一当前使用替代模型的更新示例或者多个当前使用替代模型的更新示例的组合还包括:
S125:根据攻击成功率对当前使用替代模型持续更新,直至新的替代模型的攻击成功率大于预期攻击成功率。具体地,当替代模型的攻击成功率大于预期攻击成功率时,替代模型生成的对抗样本能够成功攻击黑盒模型,此时无需继续更新当前使用替代模型。
作为一具体实施例,上述多个示例组合形成的替代模型的更新方法可以通过以下公式进行表示:
当攻击成功率处于ζ*X%~X%时,替代模型选取策略可以公式为:
MNew=sel_Random(MQ)
MOld∈SOld,ASR∈[ζ*X%,X%)
当攻击成功率小于ζ*X%时,替代模型选取策略可以公式为:
MNew=sel_Random(MQ)
MOld∈SOld,ASR∈[0,ζ*X%)
其中,X%和ζ分别表示预期攻击成功率和边界参数,MNew为新的替代模型,Mold为旧的替代模型,SOld表示已使用过的替代模型集合,ASR表示攻击成功率。
作为一具体实施方式,本发明基于反馈信息更新当前使用替代模型执行方式具体为:
设置输入信息,即攻击成功率ASR,旧替代模型Mold,已使用过的替代模型集合SOld,小型、中型、大型模型集合MS,MM,ML,预期攻击成功率X%,边界参数ζ;
设置输出信息,即新的替代模型MNew,已使用过的替代模型集合SOld;
执行主体执行以下程序:
1:ifζ·X%≤ASR≤X%then
2:if MOld∈MS then
3:MQ←MM;
4:else if MOld∈MM then
5:MQ←ML;
6:else
7:MQ←ML–(ML∩SOld);
8:end if
9:else
10:if MOld∈(MS∪MM)then
11:MQ←ML;
12:else
13:MQ←ML–(ML∩SOld);
14:end if
15:end if
16:SOld←SOld∪MOld;
17:M←Random(MQ);
18:return M,SOld
在一示例中,选取替代模型后还包括:
S131:使用原始样本训练替代模型;
S132:采用攻击算法攻击替代模型,生成对抗样本;
S133:采用所述对抗样本攻击黑盒模型,获取攻击反馈信息;具体地,根据该攻击反馈信息能够进一步更新当前的替代模型、对抗样本。
为说明本申请ASMSM在不同类型数据集上对于对抗攻击算法的效果,在MNIST和CIFAR10数据集用于黑盒模型的训练及对比试验,以对基于ASNSN法选取的替代模型进行性能验证,两个数据集的具体统计信息参见表1。
表1实验数据集信息统计
数据库
像素
类别数
训练集样本数
测试集样本数
MNIST
28×28
10
60000
10000
CIFAR10
32×32
10
50000
10000
在MNIST和CIFAR10数据集实验中,使用全部训练集和测试集训练黑盒模型。在对比实验中,由于对黑盒无法识别的样本进行攻击没有意义,同时由于攻击者在黑盒攻击场景下无法得知黑盒模型的训练集,因此使用测试集中能够被黑盒正确分类的样本作为原始样本,用于替代模型训练和对抗样本生成。
在MNIST数据集对比实验中,选择三层卷积神经网络,五层卷积神经网络和VGG13_BN作为黑盒模型,在CIFAR10数据集的对比实验中,选择VGG19_BN,Resnet-101,DenseNet-161作为黑盒模型。
在基于ASMSM的黑盒攻击中,ASMSM各模型集合包含的模型如表2所示。
表2各模型集合包含的模型
进一步地,性能验证过程中主要对比了FGSM、BIM、PGD、MI-FGSM、DI-2-FGSM和SI-NI-FGSM攻击算法在使用ASMSM前后的黑盒攻击效果。MNIST实验中,攻击算法的最大扰动在图像像素值为[0,255]范围内设为64,CIFAR10实验中,攻击算法的最大扰动在图像像素值为[0,255]范围内设为16,BIM、PGD、MI-FGSM、DI-2-FGSM和SI-NI-FGSM的迭代次数设为20,攻击步长设为最大扰动与迭代次数的比值,MI-FGSM、DI-2-FGSM和SI-NI-FGSM的衰减系数设为1,DI-2-FGSM中的转换概率设为0.5,SI-NI-FGSM中的不同规模副本数设为5。
更进一步地,上述性能验证过程中的评估方法包括基于攻击成功率(ASR)的评估、基于峰值信噪比(PSNR)的评估和基于结构相似性(SSIM)的评估。
具体地,基于峰值信噪比(PSNR)的评估是一种评判图像质量的客观标准,其取值范围为0~100,峰值信噪比越高,说明对抗样本的图像质量越高。峰值信噪比的计算可以表示为:
其中,X和XAdv分别表示大小为m×n的原始样本和对抗样本;X(i,j)和XAdv(i,j)分别表示在原始样本和对抗样本在(i,j)位置的像素值;MSE表示原始样本和对抗样本对应像素点之间的均方误差;MAXX表示样本的最大像素值,若像素值由B位二进制表示,则MAXX=2B–1。
具体地,结构相似性反映的是两幅图像的相似度,其取值范围为0~1,结构相似性越高,说明对抗样本与原始样本越相似,越难以区分,对抗样本在黑盒攻击中的攻击成功率越高。结构相似性的计算可以表示为:
其中,x和y表示两个待计算相似性的样本,μx和μy分别表示x和y的均值,σx 2和σy 2分别表示x和y的方差,σxy表示x和y的协方差,c1和c2表示用于避免除零的两个极小常数,其中c1=(k1MAXX)2,c2=(k2MAXX)2,k1和k2的默认值分别为0.01和0.03。
基于上述性能验证构思,在MNIST数据集的对比实验中,首先使用MNIST数据集训练三层卷积神经网络(3-layer CNN),五层卷积神经网络(5-layer CNN)和VGG13_BN作为黑盒模型,并记录识别准确率分别为98.90%,98.87%,99.63%。使用测试集训练VGG11_BN作为攻击算法FGSM、BIM、PGD、MI-FGSM、DI-2-FGSM和SI-NI-FGSM待攻击的替代模型,从测试集中选择能够被黑盒模型正确分类的样本作为原始样本,使用不同的攻击算法和基于ASMSM的攻击算法攻击VGG11_BN来生成对抗样本并使用对抗样本攻击黑盒模型,实验结果如表3所示。
表3 MNIST数据集上的黑盒攻击结果比较表
从表3中可以发现,一方面,本发明基于ASMSM的攻击算法可以大幅提升黑盒攻击成功率,除基于ASMSM的FGSM攻击算法在攻击5-layer CNN时的攻击成功率为89.81%之外,其他基于ASMSM的攻击算法的攻击成功率均超过了90%;另一方面,根据PSNR和SSIM的实验结果,基于ASMSM的攻击算法可以在一定程度上提升对抗样本的图像质量及对抗样本与原始样本之间的相似性。这也说明了在黑盒攻击中,本发明所提出的ASMSM中对于攻击成功率和图像质量提升是有效的。攻击成功率的大幅提升主要是因为基于ASMSM的攻击算法的作用是将替代模型向黑盒模型做近似逼近,增加两个模型的相似度,使替代模型能够更好地发挥替代作用,因此能够成功攻击替代模型的对抗样本必然也能够很好地攻击黑盒模型。
基于ASMSM的攻击算法在攻击黑盒模型VGG13_BN时的攻击成功率随攻击次数的变化如图3所示。所有基于ASMSM的攻击算法都具有较好的攻击效果,可以在较少的攻击次数内达到了较高的攻击成功率且攻击成功率均在90%以上。
更进一步地,在MNIST数据集的对比实验中,本发明还通过在直观的试验方式对比了各攻击算法结合ASMSM前后生成的对抗样本,如图4所示,图4(a)为原图,图4(b)-图4(g)包括上下两张图,其中,图4(b)-图4(g)上图依次为FGSM攻击算法、BIM攻击算法、PGD攻击算法、MI-FGSM攻击算法、DI-2-FGSM攻击算法、SI-NI-FGSM攻击算法,图4(b)-图4(g)下图依次为结合ASMSM的FGSM攻击算法、结合ASMSM的BIM攻击算法、结合ASMSM的PGD攻击算法、结合ASMSM的MI-FGSM攻击算法、结合ASMSM的DI-2-FGSM攻击算法、结合ASMSM的SI-NI-FGSM攻击算法,可以看出,基于ASMSM的攻击算法与原攻击算法相比,对于大部分对抗样本的图像质量并没有很大提升,但其中BIM、PGD、MI-FGSM和DI-2-FGSM攻击算法在结合ASMSM前后,对抗样本“4”中的扰动明显减少且更为集中,表明ASMSM对于减少某些对抗样本的扰动,提高图像质量存在隐形作用。
基于上述性能验证构思,在CIFAR10数据集的对比实验中,首先使用CIFAR10数据集训练VGG19_BN,Resnet-101,DenseNet-161作为黑盒模型,并记录识别准确率分别为93.27%,93.05%,94.38%。使用测试集训练VGG13_BN作为攻击算法FGSM、BIM、PGD、MI-FGSM、DI-2-FGSM和SI-NI-FGSM待攻击的替代模型,从测试集中选择能够被黑盒模型正确分类的样本作为原始样本,使用上述不同的攻击算法和基于ASMSM的攻击算法攻击VGG13_BN来生成对抗样本并使用对抗样本攻击黑盒模型,实验结果如表4所示。
表4 CIFAR10数据集上的黑盒攻击结果比较表
从表4中可以看出,与在MNIST数据集上的对比试验相似,在CIFAR数据集上,基于ASMSM的攻击算法生成的对抗样本同样可以大幅提升黑盒攻击成功率。FGSM在结合ASMSM之后将三个黑盒模型上的攻击成功率提升了20%以上,BIM、PGD、MI-FGSM和DI-2-FGSM在结合ASMSM之后将三个黑盒模型上的攻击成功率提升了30%以上,其中绝大多数基于ASMSM的攻击算法的黑盒攻击成功率超过了90%。在图像质量方面,除基于ASMSM的BIM在攻击VGG19_BN时的PSNR有所下降之外,其他基于ASMSM的攻击算法在PSNR和SSIM的数值上均有不同程度的提升,进一步验证了在黑盒攻击本发明所提ASMSM的有效性。
基于ASMSM的攻击算法在攻击黑盒模型DenseNet-161时的攻击成功率随攻击次数的变化如图5所示。所有基于ASMSM的攻击算法都具有较好的攻击效果,可以在较少的攻击次数内达到了较高的攻击成功率且攻击成功率均在85%以上。
进一步地,在MNIST数据集上的对比试验中,本发明还通过在直观的试验方式对比了各攻击算法结合ASMSM前后生成的对抗样本,如图6所示,图6(a)为原图,图6(b)-图6(g)包括上下两张图,其中,图4(b)-图4(g)上图依次为FGSM攻击算法、BIM攻击算法、PGD攻击算法、MI-FGSM攻击算法、DI-2-FGSM攻击算法、SI-NI-FGSM攻击算法,图6(b)-图6(g)下图依次为结合ASMSM的FGSM攻击算法、结合ASMSM的BIM攻击算法、结合ASMSM的PGD攻击算法、结合ASMSM的MI-FGSM攻击算法、结合ASMSM的DI-2-FGSM攻击算法、结合ASMSM的SI-NI-FGSM攻击算法,可以看出,与在MNIST数据集上的对比试验相似,基于ASMSM的攻击算法与原攻击算法相比,对于大部分对抗样本的图像质量并没有很大提升,但对于个别对抗样本有着减少扰动,提高图像质量的作用。
基于上述发明构思,本发明还提供了一种基于上述任一示例或多个示例组合的面向黑盒攻击的替代模型自动选取方法的黑盒模型训练方法,具体包括:
S01:根据原始样本属性信息在神经网络模型中选取替代模型,和/或,根据攻击反馈信息更新当前使用替代模型;
S02:采用攻击算法攻击替代模型,生成对抗样本;
S03:根据对抗样本对黑盒模型进行训练,使黑盒模型能够学习到对抗样本的特征并对对抗样本进行准确分类,得到具有高防御力的黑盒模型。其中,黑盒模型能够学习到对抗样本的特征,即黑盒模型能够学习到对抗样本区别于原始样本的扰动特征,进而修正其分类结果,实现准确分类,提升神经网络模型的安全性能。
进一步地,本发明还提供了一种存储介质,与上述任一示例或多个示例的组合具有相同的发明构思,其上存储有计算机指令,计算机指令运行时执行上述任一示例或多个示例的组合形成的面向黑盒攻击的替代模型自动选取方法的步骤。
基于这样的理解,本实施例的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(Read-Only Memory,ROM)、随机存取存储器(Random Access Memory,RAM)、磁碟或者光盘等各种可以存储程序代码的介质。
进一步地,本发明还提供了一种终端,与上述任一示例或多个示例的组合具有相同的发明构思,包括存储器和处理器,存储器上存储有可在处理器上运行的计算机指令,处理器运行计算机指令时执行上述任一示例或多个示例的组合形成的面向黑盒攻击的替代模型自动选取方法的步骤。处理器可以是单核或者多核中央处理单元或者特定的集成电路,或者配置成实施本发明的一个或者多个集成电路。
在本发明提供的实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。
以上具体实施方式是对本发明的详细说明,不能认定本发明的具体实施方式只局限于这些说明,对于本发明所属技术领域的普通技术人员来说,在不脱离本发明构思的前提下,还可以做出若干简单推演和替代,都应当视为属于本发明的保护范围。