本发明涉及人工智能安全技术领域,尤其涉及一种定向攻击对抗补丁生成方法及装置。
背景技术:
深度神经网络(dnns)的在图像分类、目标检测、文本分类和语音识别等领域取得了巨大的成就,已经被广泛应用于生产生活中。但是,近几年来研究表明,深度学习网络是脆弱的,容易受到对抗样本的影响。对抗样本通过对干净的样本进行修改扰动,以使得训练好的神经网路产生误分类或错误识别,从而无法完成目标任务。
对抗样本的存在具有两面性,一方面,对抗样本会攻击或者误导基于深度学习产生的应用,如汽车驾驶和人脸识别系统,从而造成潜在的安全威胁,可能造成经济损失或者人员伤亡。另一方面,对抗样本对深度神经网络的训练是有价值和有益的,利用对抗样本进行对抗训练,可有效增强深度神经网络的防御能力和鲁棒性。因此,对抗样本的研究对人工智能安全领域的发展具有重要提升作用。但现有技术中缺少针对结构未知的黑盒模型产生对抗补丁的方法,难以满足对黑盒模型攻击对抗和防御提升的应用需求。
技术实现要素:
本发明实施例提供了一种定向攻击对抗补丁生成方法及装置,用于解决现有技术中,产生的对抗补丁忽略模型间共同关注的特征,对于模型关注区域的迁移能力弱,且对于结构不确定的黑盒模型进行定向攻击时成功率低的问题。
本发明的技术方案如下:
一方面,本发明提供一种定向攻击对抗补丁生成方法,包括:
获取与待攻击的黑盒模型任务相同的多个白盒模型,各白盒模型之间的模型结构和参数不同;
获取随机的初始化对抗补丁,并确定定向攻击的目标类别,在多个连续的迭代循环中分别采用各白盒模型对所述初始化对抗补丁进行更新迭代得到目标通用对抗补丁;其中,在先迭代循环的输出作为在后迭代循环的输入,每一个迭代循环包括:
获取多个未经扰动的干净图片,将各干净图片输入当前迭代循环对应的第一白盒模型,根据所述第一白盒模型的关注特征输出各干净图像对应的第一预测贡献权重矩阵和第一注意力关键区;
采用当前迭代循环输入的第一对抗补丁对各干净图片内的随机位置进行替换连接,得到各干净图片对应的对抗样本;
将所述目标类别添加为各对抗样本的标签后输入所述第一白盒模型,并采用预设损失函数计算联合损失,所述预设损失函数至少包括对抗损失、注意力转移损失、三元组损失和平滑损失,所述注意力转移损失根据各干净图片对应的第一预测贡献权重矩阵、第一注意力关键区以及连接所述第一对抗补丁时采用的随机位置计算得到;
根据所述联合损失值通过梯度下降法进行反向传播更新所述对抗补丁,重复迭代,将每一次迭代对应的对抗样本输入所述黑盒模型得到输出目标类别的第一置信度,当所述第一置信度大于预设置信度或迭代次数达到预设数值时停止迭代并输出当前第一对抗补丁。
在一些实施例中,所述预设损失函数为对抗损失、注意力转移损失、三元组损失和平滑损失的联合损失,计算式如下:
其中,
在一些实施例中,所述对抗损失
其中,
在一些实施例中,所述注意力转移损失
其中,
进一步地,
其中,
进一步地,
在一些实施例中,所述三元组损失的计算式为:
其中,
在一些实施例中,所述平滑损失的计算式为:
其中,
在一些实施例中,所述初始化对抗补丁是按照设定尺寸和形状生成的。
在一些实施例中,所述初始化对抗补丁是服从高斯分布的噪声。
另一方面,本发明还提供一种电子设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述程序时实现上述方法的步骤。
另一方面,本发明还提供一种计算机可读存储介质,其上存储有计算机程序,其特征在于,该程序被处理器执行时实现上述方法的步骤。
本发明的有益效果至少是:
所述定向攻击对抗补丁生成方法及装置中,所述方法采用连续多个结构不同的白盒模型迭代更新对抗补丁,以使得到的目标通用对抗补丁能够对结构未知的黑盒模型更好的攻击效果。通过在引入三元组损失,能够在定向攻击的过程中提高输出目标类别的成功率。通过引入注意力转移损失,能够提升目标通用对抗补丁对模型关注区域的迁移效果,以极大提升目标通用对抗补丁的定向攻击效果。通过引入平滑损失,能够减小目标通用对抗补丁像素点之间的差距,不易引发人眼关注。
进一步地,通过添加对抗补丁的方式,能够同时在物理层面和数字层面进行定向攻击,更便于实施。
本发明的附加优点、目的,以及特征将在下面的描述中将部分地加以阐述,且将对于本领域普通技术人员在研究下文后部分地变得明显,或者可以根据本发明的实践而获知。本发明的目的和其它优点可以通过在书面说明及其权利要求书以及附图中具体指出的结构实现到并获得。
本领域技术人员将会理解的是,能够用本发明实现的目的和优点不限于以上具体所述,并且根据以下详细说明将更清楚地理解本发明能够实现的上述和其他目的。
附图说明
此处所说明的附图用来提供对本发明的进一步理解,构成本申请的一部分,并不构成对本发明的限定。在附图中:
图1为本发明一实施例所述定向攻击对抗补丁生成方法的流程示意图;
图2为vgg16、resnet50和inceptionv3三个模型对同一张图片关注区域的对比图;
图3为本发明一实施例所述定向攻击对抗补丁生成方法的逻辑示意图;
图4为图3所述定向攻击对抗补丁生成方法中单个迭代循环的逻辑示意图;
图5为本发明另一实施例所述定向攻击对抗补丁生成方法的逻辑示意图;
图6为图5所述定向攻击对抗补丁生成方法中单个迭代循环的逻辑示意图。
具体实施方式
为使本发明的目的、技术方案和优点更加清楚明白,下面结合实施方式和附图,对本发明做进一步详细说明。在此,本发明的示意性实施方式及其说明用于解释本发明,但并不作为对本发明的限定。
在此,还需要说明的是,为了避免因不必要的细节而模糊了本发明,在附图中仅仅示出了与根据本发明的方案密切相关的结构和/或处理步骤,而省略了与本发明关系不大的其他细节。
应该强调,术语“包括/包含”在本文使用时指特征、要素、步骤或组件的存在,但并不排除一个或更多个其它特征、要素、步骤或组件的存在或附加。
在深度学习(deepleaming,dl)算法驱动的数据计算时代,确保算法的安全性和鲁棒性至关重要。现阶段计算机处理能力的增长使得深度学习(deeplearning,dl)在处理各种机器学习(machinelearning,ml)任务中得到广泛应用,如图像分类、自然语言处理和博弈论等,但同时也暴露出了深度学习的安全隐患。研究发现,通过对良性样本添加特定噪声或扰动,能够轻易欺骗神经网络模型从而做出错误的判断,而添加的噪声或扰动难以被人感知。这种对抗攻击,对生产生活中部署的神经网络模型造成了巨大的风险。根据攻击者对模型结构和参数的认知程度,可以将对抗攻击分为白盒攻击和黑盒攻击。白盒攻击中攻击者具有关于其白盒模型的完整知识,包括模型体系结构和参数;而黑盒攻击中,攻击者没有获知黑盒模型的结构和参数。
针对对抗攻击的研究和防御,首先需要生成能够引起模型错误预测的对抗样本,对抗样本可以通过对干净图片(原始的良性样本)进行扰动生成。针对白盒攻击中的白盒模型,由于知晓白盒模型的结构和参数,则可以通过多种方法制作对抗样本。而对于黑盒攻击中的黑盒模型,大部分依赖查询访问的返回结果来生成对抗样本。基于攻击效果的差异,又可以进一步分为定向攻击和非定向攻击。定向攻击是指对抗攻击方法可以指定针对输入样本攻击后的类别,这种攻击方法因要指定攻击后的具体类别难度更大。非定向攻击是指只要攻击方法产生的对抗样本的预测结果不是正确类别即可,具体是哪一类别并不关心。
现有技术中,对于白盒模型生成对抗样本的方式较为成熟,通过生成对抗补丁并随机替换在干净图片中,能够获得较高的对抗效果。而这种方法在应用至黑盒模型时,由于无法高效生成对抗补丁,导致对抗效果较差。进一步的,在定向攻击的条件下,由于黑盒模型的结构和参数都未知,完成定向攻击的难度更大,现有技术无法产生相应的对抗样本。
本发明提供一种定向攻击对抗补丁生成方法,用于生成能够应用于各种图片的通用补丁,以针对特定黑盒模型进行定向攻击,如图1、图3和图5所示,所述方法包括步骤s101~s102:
需要说明的是,本实施例中所述的步骤s101~s102以及s1021~s1024并不是对步骤顺序的限定,应当理解为,在一定条件下,部分步骤可以并行或调换顺序。
步骤s101:获取与待攻击的黑盒模型任务相同的多个白盒模型,各白盒模型之间的模型结构和参数不同。
步骤s102:获取随机的初始化对抗补丁,并确定定向攻击的目标类别,在多个连续的迭代循环中分别采用各白盒模型对初始化对抗补丁进行更新迭代得到目标通用对抗补丁。
其中,在先迭代循环的输出作为在后迭代循环的输入,如图4和图6所示,每一个迭代循环包括步骤s1021~s1024:
步骤s1021:获取多个未经扰动的干净图片,将各干净图片输入当前迭代循环对应的第一白盒模型,根据第一白盒模型的关注特征输出各干净图像对应的第一预测贡献权重矩阵和第一注意力关键区。
步骤s1022:采用当前迭代循环输入的第一对抗补丁对各干净图片内的随机位置进行替换连接,得到各干净图片对应的对抗样本。
步骤s1023:将目标类别添加为各对抗样本的标签后输入第一白盒模型,并采用预设损失函数计算联合损失,预设损失函数至少包括对抗损失、注意力转移损失、三元组损失和平滑损失,注意力转移损失根据各干净图片对应的第一预测贡献权重矩阵、第一注意力关键区以及连接第一对抗补丁时采用的随机位置计算得到。
步骤s1024:根据联合损失值通过梯度下降法进行反向传播更新所述对抗补丁,重复迭代,将每一次迭代对应的对抗样本输入黑盒模型得到输出目标类别的第一置信度,当第一置信度大于预设置信度或迭代次数达到预设数值时停止迭代并输出当前第一对抗补丁。
在步骤s101中,本实施例为了获得针对黑盒模型的高效对抗补丁,采用多个不同结构和参数的白盒模型更新迭代对抗补丁,以获得较高的鲁棒性。具体的,各白盒模型所执行的任务与待攻击黑盒模型相同,各白盒模型之间可以采用不同的神经网路结构,也可以是基于同一神经网络结构训练产生的不同参数的模型。各白盒模型的体系结构、参数值、训练方法应当是已知的。
在步骤s102中,随机生成初始化补丁,该初始化补丁可以按照设定尺寸和形状生成。进一步地,可以将干净图片的尺寸按照设定比例进行缩放得到,初始化补丁的尺寸。初始化补丁的形状可以根据实际应用场景的需要设置,如采用圆形、椭圆形、正方形、长方形或其他形状。由于本实施例用于定向攻击,因此,还需要进一步确定定向攻击的目标类别,也即希望黑盒模型处理后最终输出的结果。在步骤s102中,基于梯度下降法连续利用结构和参数已知的多个白盒模型对初始化补丁进行更新,以使得连续更新后的得到的对抗补丁能够适应不同结构不同参数的白盒模型,也即能够更好的适应黑盒模型。每一个白盒模型都进行一次迭代循环,以使输入的对抗补丁适应当前循环对应的白盒模型。
具体的,在一个迭代循环中,利用单个白盒模型结构和参数已知的条件,利用梯度下降法反向传播更新对抗补丁。在步骤s1021中,干净图像可以从现有数据库中获取,也可以根据实际需要进行采集得到。具体的,为了引入模型对输入图像的关注特征,并作为后续调整对抗补丁的依据,本实施例将获取的干净图片输入至当前迭代循环对应的第一白盒模型中,由于第一白盒模型的结构和参数是已知的,则可以计算得到第一预测贡献权重矩阵和第一注意力关键区。具体的,干净图像输入第一白盒模型之后,获取第一白盒模型最后一层卷积层输出的特征图。则
进一步地,
其中,
进一步地,第一白盒模型的第一注意力关键区为
其中,所述阈值可以根据实际应用需求进行调节。
在步骤s1022中,采用输入当前迭代循环的第一对抗补丁对各干净图片进行处理,得到对抗样本。第一对抗补丁采用随机替换连接的方式添加在干净图片中,其连接的位置可以采用二维掩码
其中,
在具体实施过程中,第一对抗补丁可以随机平移、缩放和旋转后与干净图片进行连接。
在步骤s1023中,基于结构和参数已知的第一白盒模型,对所述第一对抗补丁进行更新迭代,以使其能够满足对第一白盒模型完成定向攻击。具体的,为了使第一对抗补丁能够有效迁移第一白盒模型的关注区域至补丁所在位置,本实施例在损失函数中引入了注意力转移损失;为了使生成的对抗样本得到的目标类别区别于原始类别,本实施例引入三元组损失,使相同标签的特征在空间位置上尽量近,而不同标签的特征在空间位置上尽量远,同时为了不让样本的特征聚合到一个非常小的空间中要求对于同一类的正例和负例,负例比正例的距离至少远阈值
具体的,在一些实施例中,预设损失函数为对抗损失、注意力转移损失、三元组损失和平滑损失的联合损失,计算式如下:
其中,
在一些实施例中,对抗损失
其中,
在一些实施例中,注意力转移损失
其中,
具体的,不同的神经网络模型在做出正确决策之前,首先要提取不同的特征,然后给这些特征分配适当的权重,即在提取的特征上分配适当的注意力。尽管不同的模型网络架构不一样,模型关注的特征往往是相同的。如图2所示,当vgg16、resnet50和inceptionv3三个不同的模型识别猫的图像时,三个模型的关注区域存在显著差异(箭头指出的高亮范围为关注区),vgg16仅关注了猫的面部、resnet50关注了猫的面部和颈部、inceptionv3结合了猫面部、颈部和部分前肢的特征,但整体而言所有的模型都倾向于关注于猫面部相关的特征。鉴于这种特性,本实施例通过引入注意力转移损失,在更新迭代中,可以使第一对抗补丁抑制第一白盒模型的关注特征,将第一白盒模型的关注特征从目标区域转移到非目标区域,这样,由于第一白盒模型不再关注关键区域内的对象,会导致模型误分类。
在一些实施例中,三元组损失的计算式为:
其中,
在定向攻击中,损失函数总是仅仅与目标类别有关。但是,生成的对抗样本可能离原始类别太近,因此对抗样本仍被目标模型分类为原始类别。因此,本实施例引入三元组损失
在一些实施例中,平滑损失的计算式是为:
其中,
为了进一步提高对抗补丁的自然性,使其符合人眼视觉,可以通过减少相邻像素之间的差平方来提高对抗补丁的平滑性。平滑对于提高物理环境中对抗性例子的鲁棒性是有用的。因此本实施例在物理环境中引入平滑损失。
在步骤s1024中,根据联合损失利用梯度下降法更新第一对抗补丁,将每一次迭代得到的对抗样本输入到待攻击的黑盒模型中,输出关于该目标类别的第一置信度,该第一置信度可以作为判断是否结束迭代更新第一对抗补丁的参数。只有第一置信度达到要求时,才认为经更新迭代得到的第一对抗补丁能够对待攻击的黑盒模型产生预期的攻击效果。或者,设置迭代次数达到设定数值时停止更新。
另一方面,本发明还提供一种电子设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述程序时实现上述方法的步骤。
另一方面,本发明还提供一种计算机可读存储介质,其上存储有计算机程序,其特征在于,该程序被处理器执行时实现上述方法的步骤。
下面结合具体实施例对本发明进行说明:
实施例1
本实施例提供一种定向攻击对抗补丁生成方法,用于对执行特定任务的黑盒模型进行定向攻击,如图3和图4所示,具体步骤包括:
1.获取与待攻击的黑盒模型任务相同的多个白盒模型,各白盒模型之间的模型结构和参数不同。
2.获取随机的初始化对抗补丁,并确定定向攻击的目标类别,在多个连续的迭代循环中分别采用各白盒模型对初始化对抗补丁进行更新迭代得到目标通用对抗补丁。通过多个已知结构和参数的白盒模型,不断连续迭代更新对抗补丁,使最终的对抗补丁能够对所有白盒模型具有通用性,也即能够在该任务下实现对待攻击黑盒模型的定向攻击。
具体的,在利用一个白盒模型对对抗补丁进行迭代更新时,包括:
2.1获取多个未经扰动的干净图片,将各干净图片输入当前迭代循环对应的第一白盒模型,根据第一白盒模型的关注特征输出各干净图像对应的第一预测贡献权重矩阵和第一注意力关键区。这里获取第一白盒模型对各干净图片的关注特征,是为了步骤2.3中作为参数计算第一对抗补丁对模型关注特征的迁移效果。
2.2采用当前迭代循环输入的第一对抗补丁对各干净图片内的随机位置进行替换连接,得到各干净图片对应的对抗样本。
2.3将目标类别添加为各对抗样本的标签后输入第一白盒模型,并采用预设损失函数计算联合损失,预设损失函数至少包括对抗损失、注意力转移损失、三元组损失和平滑损失,注意力转移损失根据各干净图片对应的第一预测贡献权重矩阵、第一注意力关键区以及连接第一对抗补丁时采用的随机位置计算得到。
2.4根据联合损失值通过梯度下降法进行反向传播更新所述对抗补丁,重复迭代,迭代次数达到预设数值时停止迭代并输出当前第一对抗补丁。
最终,在先迭代循环的输出的对抗补丁作为下一个迭代循环的输入,通过连续不断的更新迭代,使得最终获得一个具有通用性的对抗补丁,能够用于对待攻击黑盒模型的定向攻击。
实施例2
在实施例1的基础上,如图5和图6所示,每一个迭代循环中,将每次更新迭代的对抗样本输入至待攻击的黑盒模型以输出关于目标类别的第一置信度,以第一置信度作为更新停止的条件,当第一置信度达到预设置信度时则停止当前迭代循环内的更新,并输出当前第一对抗补丁。
本发明的优点在于,现有的大部分攻击方法都是产生像素级别的微扰动叠加到原图像上,因此在物理世界中很难实现,而本发明生成的对抗补丁可以被打印出来,应用到物理世界中,具有一定实际意义。现有的方法忽略了模型之间的共同关注的特征,未利用模型之间共同关注的特征,在白盒上攻击效果还行,但是在黑盒上攻击效果不好。本发明中采用的注意力转移损失抑制不同模型关注的特征,将模型关注的特征从关键区域转移到对抗补丁所在区域,这样,由于模型不关注关键区域内的对象,会导致模型误分类。因此,在黑盒上攻击效果也不错。本发明针对定向攻击的需求,引用了人脸识别中的三元组损失,可以提高定向攻击的攻击成功率。从视觉角度上,相邻像素点像素值如果相差过大,会显得不自然,容易引起人眼注意。因此提出平滑损失,避免相邻像素点像素值相差过大。攻击方式上,本发明串联多个白盒模型来不断拟合黑盒的梯度,最终生成了通用的对抗补丁,提高了对抗样本在黑盒上的攻击成功率。
综上所述,所述定向攻击对抗补丁生成方法及装置中,所述方法采用连续多个结构不同的白盒模型迭代更新对抗补丁,以使得到的目标通用对抗补丁能够对结构未知的黑盒模型更好的攻击效果。通过在引入三元组损失,能够在定向攻击的过程中提高输出目标类别的成功率。通过引入注意力转移损失,能够提升目标通用对抗补丁对模型关注区域的迁移效果,以极大提升目标通用对抗补丁的定向攻击效果。通过引入平滑损失,能够减小目标通用对抗补丁像素点之间的差距,不易引发人眼关注。
进一步地,通过添加对抗补丁的方式,能够同时在物理层面和数字层面进行定向攻击,更便于实施。
本领域普通技术人员应该可以明白,结合本文中所公开的实施方式描述的各示例性的组成部分、系统和方法,能够以硬件、软件或者二者的结合来实现。具体究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本发明的范围。当以硬件方式实现时,其可以例如是电子电路、专用集成电路(asic)、适当的固件、插件、功能卡等等。当以软件方式实现时,本发明的元素是被用于执行所需任务的程序或者代码段。程序或者代码段可以存储在机器可读介质中,或者通过载波中携带的数据信号在传输介质或者通信链路上传送。“机器可读介质”可以包括能够存储或传输信息的任何介质。机器可读介质的例子包括电子电路、半导体存储器设备、rom、闪存、可擦除rom(erom)、软盘、cd-rom、光盘、硬盘、光纤介质、射频(rf)链路,等等。代码段可以经由诸如因特网、内联网等的计算机网络被下载。
还需要说明的是,本发明中提及的示例性实施例,基于一系列的步骤或者装置描述一些方法或系统。但是,本发明不局限于上述步骤的顺序,也就是说,可以按照实施例中提及的顺序执行步骤,也可以不同于实施例中的顺序,或者若干步骤同时执行。
本发明中,针对一个实施方式描述和/或例示的特征,可以在一个或更多个其它实施方式中以相同方式或以类似方式使用,和/或与其他实施方式的特征相结合或代替其他实施方式的特征。
以上所述仅为本发明的优选实施例而已,并不用于限制本发明,对于本领域的技术人员来说,本发明实施例可以有各种更改和变化。凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。
