对抗样本生成方法以及模型评估方法与流程

文档序号:30514357发布日期:2022-06-25 02:50阅读:222来源:国知局
对抗样本生成方法以及模型评估方法与流程

1.本技术涉及人工智能技术领域,特别是涉及一种对抗样本生成方法以及模型评估方法。


背景技术:

2.随着人工智能技术的发展,出现了深度神经网络模型,深度神经网络模型天然存在脆弱性和漏洞,在面对一些特殊手段生成的噪声样本会输出错误的预测结果,从而导致出现误识别的情况。为了针对此类漏洞进行防御,我们常采用对抗攻击方法通过主动对深度神经网络模型进行探测来评估模型的漏洞,对抗攻击算法返回的成功率可以作为评估深度神经网络模型的脆弱程度的指标。
3.传统方法中,对深度神经网络模型的对抗攻击方法主要分为以下两种:一是白盒攻击,它通过获取深度神经网络模型的内部梯度进行攻击;二是基于查询迭代的黑盒攻击,它通过查询优化迭代策略更新对抗样本。
4.然而,传统方法,白盒攻击的迁移性很差,训练得到的对抗样本在其他深度神经网络模型上的对抗攻击成功率非常低,基于查询迭代的黑盒攻击需要海量的查询次数才能得到对抗样本,对抗攻击效率低。


技术实现要素:

5.基于此,有必要针对上述技术问题,提供一种能够提高对抗攻击成功率和对抗攻击效率的对抗样本生成方法、装置、计算机设备、计算机可读存储介质和计算机程序产品以及一种能够提高对抗攻击成功率和对抗攻击效率的模型评估方法、装置、计算机设备、计算机可读存储介质和计算机程序产品。
6.第一方面,本技术提供了一种对抗样本生成方法。所述对抗样本生成方法包括:
7.通过第一识别模型分别对攻击样本和被攻击样本进行识别,得到与攻击样本和被攻击样本各自相匹配的第一识别结果;
8.通过第二识别模型分别对攻击样本和被攻击样本进行识别,得到与攻击样本和被攻击样本各自相匹配的第二识别结果,第二识别模型和第一识别模型的识别任务不同;
9.基于第一识别结果和第二识别结果,对第一识别模型相匹配的第一识别任务和第二识别模型相匹配的第二识别任务进行优化,根据优化时生成的对抗扰动得到与攻击样本相匹配的对抗样本。
10.第二方面,本技术还提供了一种对抗样本生成装置。所述对抗样本生成装置包括:
11.第一识别模块,用于通过第一识别模型分别对攻击样本和被攻击样本进行识别,得到与攻击样本和被攻击样本各自相匹配的第一识别结果;
12.第二识别模块,用于通过第二识别模型分别对攻击样本和被攻击样本进行识别,得到与攻击样本和被攻击样本各自相匹配的第二识别结果,第二识别模型和第一识别模型的识别任务不同;
13.对抗样本生成模块,用于基于第一识别结果和第二识别结果,对第一识别模型相匹配的第一识别任务和第二识别模型相匹配的第二识别任务进行优化,根据优化时生成的对抗扰动得到与攻击样本相匹配的对抗样本。
14.第三方面,本技术还提供了一种计算机设备。所述计算机设备包括存储器和处理器,所述存储器存储有计算机程序,所述处理器执行所述计算机程序时实现以下步骤:
15.通过第一识别模型分别对攻击样本和被攻击样本进行识别,得到与攻击样本和被攻击样本各自相匹配的第一识别结果;
16.通过第二识别模型分别对攻击样本和被攻击样本进行识别,得到与攻击样本和被攻击样本各自相匹配的第二识别结果,第二识别模型和第一识别模型的识别任务不同;
17.基于第一识别结果和第二识别结果,对第一识别模型相匹配的第一识别任务和第二识别模型相匹配的第二识别任务进行优化,根据优化时生成的对抗扰动得到与攻击样本相匹配的对抗样本。
18.第四方面,本技术还提供了一种计算机可读存储介质。所述计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现以下步骤:
19.通过第一识别模型分别对攻击样本和被攻击样本进行识别,得到与攻击样本和被攻击样本各自相匹配的第一识别结果;
20.通过第二识别模型分别对攻击样本和被攻击样本进行识别,得到与攻击样本和被攻击样本各自相匹配的第二识别结果,第二识别模型和第一识别模型的识别任务不同;
21.基于第一识别结果和第二识别结果,对第一识别模型相匹配的第一识别任务和第二识别模型相匹配的第二识别任务进行优化,根据优化时生成的对抗扰动得到与攻击样本相匹配的对抗样本。
22.第五方面,本技术还提供了一种计算机程序产品。所述计算机程序产品,包括计算机程序,该计算机程序被处理器执行时实现以下步骤:
23.通过第一识别模型分别对攻击样本和被攻击样本进行识别,得到与攻击样本和被攻击样本各自相匹配的第一识别结果;
24.通过第二识别模型分别对攻击样本和被攻击样本进行识别,得到与攻击样本和被攻击样本各自相匹配的第二识别结果,第二识别模型和第一识别模型的识别任务不同;
25.基于第一识别结果和第二识别结果,对第一识别模型相匹配的第一识别任务和第二识别模型相匹配的第二识别任务进行优化,根据优化时生成的对抗扰动得到与攻击样本相匹配的对抗样本。
26.第六方面,本技术提供了一种模型评估方法。所述模型评估方法包括:
27.通过待评估识别模型对获取到的评估样本集中评估样本对进行识别,得到评估样本对相匹配的识别结果,评估样本对包括对抗样本和被对抗样本,对抗样本通过上述对抗样本生成方法生成;
28.基于识别结果中对抗样本识别结果和被对抗样本识别结果,确定与评估样本对相匹配的识别结果相似度;
29.当识别结果相似度大于相似度阈值时,确定与评估样本对相匹配的攻击结果为攻击成功;
30.基于与评估样本集中评估样本对相匹配的攻击结果,统计攻击成功率;
31.根据攻击成功率,得到模型评估结果。
32.第七方面,本技术还提供了一种模型评估装置。所述模型评估装置包括:
33.模型识别模块,用于通过待评估识别模型对获取到的评估样本集中评估样本对进行识别,得到评估样本对相匹配的识别结果,评估样本对包括对抗样本和被对抗样本,对抗样本通过上述对抗样本生成方法生成;
34.相似度确定模块,用于基于识别结果中对抗样本识别结果和被对抗样本识别结果,确定与评估样本对相匹配的识别结果相似度;
35.攻击分析模块,用于当识别结果相似度大于相似度阈值时,确定与评估样本对相匹配的攻击结果为攻击成功;
36.统计模块,用于基于与评估样本集中评估样本对相匹配的攻击结果,统计攻击成功率;
37.处理模块,用于根据攻击成功率,得到模型评估结果。
38.第八方面,本技术还提供了一种计算机设备。所述计算机设备包括存储器和处理器,所述存储器存储有计算机程序,所述处理器执行所述计算机程序时实现以下步骤:
39.通过待评估识别模型对获取到的评估样本集中评估样本对进行识别,得到评估样本对相匹配的识别结果,评估样本对包括对抗样本和被对抗样本,对抗样本通过上述对抗样本生成方法生成;
40.基于识别结果中对抗样本识别结果和被对抗样本识别结果,确定与评估样本对相匹配的识别结果相似度;
41.当识别结果相似度大于相似度阈值时,确定与评估样本对相匹配的攻击结果为攻击成功;
42.基于与评估样本集中评估样本对相匹配的攻击结果,统计攻击成功率;
43.根据攻击成功率,得到模型评估结果。
44.第九方面,本技术还提供了一种计算机可读存储介质。所述计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现以下步骤:
45.通过待评估识别模型对获取到的评估样本集中评估样本对进行识别,得到评估样本对相匹配的识别结果,评估样本对包括对抗样本和被对抗样本,对抗样本通过上述对抗样本生成方法生成;
46.基于识别结果中对抗样本识别结果和被对抗样本识别结果,确定与评估样本对相匹配的识别结果相似度;
47.当识别结果相似度大于相似度阈值时,确定与评估样本对相匹配的攻击结果为攻击成功;
48.基于与评估样本集中评估样本对相匹配的攻击结果,统计攻击成功率;
49.根据攻击成功率,得到模型评估结果。
50.第十方面,本技术还提供了一种计算机程序产品。所述计算机程序产品,包括计算机程序,该计算机程序被处理器执行时实现以下步骤:
51.通过待评估识别模型对获取到的评估样本集中评估样本对进行识别,得到评估样本对相匹配的识别结果,评估样本对包括对抗样本和被对抗样本,对抗样本通过上述对抗样本生成方法生成;
52.基于识别结果中对抗样本识别结果和被对抗样本识别结果,确定与评估样本对相匹配的识别结果相似度;
53.当识别结果相似度大于相似度阈值时,确定与评估样本对相匹配的攻击结果为攻击成功;
54.基于与评估样本集中评估样本对相匹配的攻击结果,统计攻击成功率;
55.根据攻击成功率,得到模型评估结果。
56.上述对抗样本生成方法、装置、计算机设备、存储介质和计算机程序产品,通过第一识别模型分别对攻击样本和被攻击样本进行识别,得到与攻击样本和被攻击样本各自相匹配的第一识别结果,通过和第一识别模型的识别任务不同的第二识别模型分别对攻击样本和被攻击样本进行识别,得到与攻击样本和被攻击样本各自相匹配的第二识别结果,基于第一识别结果和第二识别结果,对第一识别模型相匹配的第一识别任务和第二识别模型相匹配的第二识别任务进行优化,根据优化时生成的对抗扰动得到与攻击样本相匹配的对抗样本,能够在对抗攻击中采用多任务学习的模式,提升对抗攻击的可迁移性,得到迁移性强的对抗样本,进而可以利用迁移性强的对抗样本提高对抗攻击成功率,同时,在得到对抗样本的过程中只需要进行优化而不需要进行海量查询,能够提高生成对抗样本的效率,进而可以提高对抗攻击效率。
57.上述模型评估方法、装置、计算机设备、存储介质和计算机程序产品,通过待评估识别模型对获取到的评估样本集中评估样本对进行识别,得到评估样本对相匹配的识别结果,评估样本对包括对抗样本和被对抗样本,基于识别结果中对抗样本识别结果和被对抗样本识别结果,确定与评估样本对相匹配的识别结果相似度,当识别结果相似度大于相似度阈值时,确定与评估样本对相匹配的攻击结果为攻击成功,基于与评估样本集中评估样本对相匹配的攻击结果,统计攻击成功率,根据攻击成功率,得到模型评估结果,由于在模型评估过程中利用了迁移性高且生成效率高的对抗样本,能够提高对抗攻击成功率和对抗攻击效率。
附图说明
58.图1为一个实施例中对抗样本生成方法的应用环境图;
59.图2为一个实施例中对抗样本生成方法的流程示意图;
60.图3为一个实施例中模型评估方法的流程示意图;
61.图4为另一个实施例中对抗样本生成方法的流程示意图;
62.图5为又一个实施例中对抗样本生成方法的流程示意图;
63.图6为一个实施例中对抗样本生成装置的结构框图;
64.图7为一个实施例中模型评估装置的结构框图;
65.图8为一个实施例中计算机设备的内部结构图。
具体实施方式
66.本技术涉及人工智能技术领域。人工智能(artificial intelligence,ai)是利用数字计算机或者数字计算机控制的机器模拟、延伸和扩展人的智能,感知环境、获取知识并使用知识获得最佳结果的理论、方法、技术及应用系统。换句话说,人工智能是计算机科学
的一个综合技术,它企图了解智能的实质,并生产出一种新的能以人类智能相似的方式做出反应的智能机器。人工智能也就是研究各种智能机器的设计原理与实现方法,使机器具有感知、推理与决策的功能。
67.人工智能技术是一门综合学科,涉及领域广泛,既有硬件层面的技术也有软件层面的技术。人工智能基础技术一般包括如传感器、专用人工智能芯片、云计算、分布式存储、大数据处理技术、操作/交互系统、机电一体化等技术。人工智能软件技术主要包括计算机视觉技术、语音处理技术、自然语言处理技术以及机器学习/深度学习等几大方向。
68.其中,本技术中主要涉及的是机器学习方向。机器学习(machine learning,ml)是一门多领域交叉学科,涉及概率论、统计学、逼近论、凸分析、算法复杂度理论等多门学科。专门研究计算机怎样模拟或实现人类的学习行为,以获取新的知识或技能,重新组织已有的知识结构使之不断改善自身的性能。机器学习是人工智能的核心,是使计算机具有智能的根本途径,其应用遍及人工智能的各个领域。机器学习和深度学习通常包括人工神经网络、置信网络、强化学习、迁移学习、归纳学习、式教学习等技术。
69.为了使本技术的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本技术进行进一步详细说明。应当理解,此处描述的具体实施例仅仅用以解释本技术,并不用于限定本技术。
70.本技术实施例提供的对抗样本生成方法,可以应用于如图1所示的应用环境中。在如图1所示的应用环境中以该对抗样本生成方法通过终端和服务器的交互实现进行举例说明,可以理解的是,该方法也可以应用于服务器,还可以应用于终端。其中,终端102通过第一识别模型分别对攻击样本和被攻击样本进行识别,得到与攻击样本和被攻击样本各自相匹配的第一识别结果,通过第二识别模型分别对攻击样本和被攻击样本进行识别,得到与攻击样本和被攻击样本各自相匹配的第二识别结果,第二识别模型和第一识别模型的识别任务不同,将第一识别结果和第二识别结果发送至服务器104,服务器104基于第一识别结果和第二识别结果,对第一识别模型相匹配的第一识别任务和第二识别模型相匹配的第二识别任务进行优化,根据优化时生成的对抗扰动得到与攻击样本相匹配的对抗样本。其中,终端102可以但不限于是各种台式计算机、笔记本电脑、智能手机、平板电脑、物联网设备、便携式可穿戴设备和飞行器等,物联网设备可为智能音箱、智能电视、智能空调、智能车载设备等。便携式可穿戴设备可为智能手表、智能手环、头戴设备等。服务器104可以用独立的服务器或者是多个服务器组成的服务器集群来实现,也可以为区块链上的节点。
71.在一个实施例中,如图2所示,提供了一种对抗样本生成方法,以该对抗样本生成方法应用于图1中的终端为例进行说明,包括以下步骤:
72.步骤202,通过第一识别模型分别对攻击样本和被攻击样本进行识别,得到与攻击样本和被攻击样本各自相匹配的第一识别结果。
73.其中,攻击样本是指未优化的初始对抗样本。对抗样本是指是指通过在原始样本中故意添加细微的干扰所形成的输入样本,会导致模型以高置信度给出一个错误的输出。被攻击样本是与攻击样本相对的概念,即没有被添加细微的扰动数据的原始样本。攻击样本和被攻击样本可以为相同类型的数据。比如,在图像识别中,被攻击样本可以为没有被添加细微扰动的原始图像,而攻击样本可以为针对被攻击样本添加细微扰动后的图像。
74.其中,第一识别模型是指用于对攻击样本和被攻击样本进行识别的模型。本实施
例中,不对第一识别模型做具体限定,只要能够实现样本识别即可。比如,第一识别模型具体可以为人脸识别模型,将输入数据转换为向量表示。第一识别结果是指第一识别模型分别对攻击样本和被攻击样本进行识别后所输出的结果。比如,第一识别结果具体可以为表征攻击样本和被攻击样本的特征向量。
75.具体的,在对抗样本生成时,终端会获取攻击样本以及被攻击样本,通过第一识别模型分别对攻击样本和被攻击样本进行识别,得到与攻击样本相匹配的第一识别结果以及与被攻击样本相匹配的第一识别结果。其中,第一识别模型可以为在进行识别时实时获取的,也可以为预先获取的。
76.步骤204,通过第二识别模型分别对攻击样本和被攻击样本进行识别,得到与攻击样本和被攻击样本各自相匹配的第二识别结果,第二识别模型和第一识别模型的识别任务不同。
77.其中,第二识别模型是指用于对攻击样本和被攻击样本进行识别且与第一识别模型的识别任务不同的模型。本实施例中,不对第二识别模型做具体限定,只要能够实现样本识别且与第一识别模型的识别任务不同即可。比如,当第一识别模型为人脸识别模型时,第二识别模型具体可以为与人脸识别模型的识别任务不同的人脸属性识别模型。这里的人脸属性具体可以为性别、年龄、表情等。
78.具体的,在通过第一识别模型分别对攻击样本和被攻击样本进行识别的同时,终端会通过第二识别模型分别对攻击样本和被攻击样本进行识别,得到与攻击样本相匹配的第二识别结果以及与被攻击样本相匹配的第二识别结果。其中,第二识别模型可以为在进行识别时实时获取的,也可以为预先获取的。
79.进一步的,在将攻击样本和被攻击样本分别输入第一识别模型和第二识别模型时,终端会先对攻击样本和被攻击样本进行特征提取,再将所提取出的与攻击样本相匹配的特征以及与被攻击样本相匹配的特征,分别输入第一识别模型和第二识别模型。其中,在对攻击样本和被攻击样本进行特征提取时,所采用的特征提取网络相同。
80.步骤206,基于第一识别结果和第二识别结果,对第一识别模型相匹配的第一识别任务和第二识别模型相匹配的第二识别任务进行优化,根据优化时生成的对抗扰动得到与攻击样本相匹配的对抗样本。
81.其中,对抗扰动是指在样本中所添加的一些微小的能够改变模型的预测结果的扰动,本实施例中的对抗扰动主要是指在攻击样本中所添加的一些微小的能够改变模型的预测结果的扰动,能够对攻击样本进行优化。与攻击样本相匹配的对抗样本是指通过优化时生成的对抗扰动对攻击样本进行优化后所得到的迁移性强的对抗样本。
82.具体的,终端会基于第一识别结果得到第一识别模型的第一损失,并基于第二识别结果得到第二识别模型的第二损失,再基于第一损失和第二损失,对第一识别模型相匹配的第一识别任务和第二识别模型相匹配的第二识别任务进行优化迭代,根据优化迭代过程中每次迭代时生成的对抗扰动得到与攻击样本相匹配的对抗样本。
83.进一步的,在基于第一损失和第二损失,对第一识别任务和第二识别任务进行优化迭代时,终端会先基于第一损失和第二损失,依次对第一识别任务和第二识别任务进行优化,得到初次迭代对抗扰动,根据初次迭代对抗扰动更新攻击样本,得到初次迭代攻击样本,再基于初次迭代攻击样本和被攻击样本,继续对第一识别任务和第二识别任务进行优
化迭代,直到优化迭代的迭代次数达到迭代次数阈值为止,根据最新生成的对抗扰动对最新生成的迭代攻击样本进行更新,得到与攻击样本相匹配的对抗样本。其中,迭代次数阈值可按照需要自行设置。
84.进一步的,在对第一识别任务和第二识别任务进行优化迭代时,相邻两次迭代对识别任务的优化顺序不相同。举例说明,当初次迭代时对识别任务的优化顺序为先对第一识别任务进行优化再对第二识别任务进行优化时,与初次迭代相邻的二次迭代对识别任务的优化顺序可以为先对第二识别任务进行优化再对第一识别任务进行优化。
85.上述对抗样本生成方法,通过第一识别模型分别对攻击样本和被攻击样本进行识别,得到与攻击样本和被攻击样本各自相匹配的第一识别结果,通过和第一识别模型的识别任务不同的第二识别模型分别对攻击样本和被攻击样本进行识别,得到与攻击样本和被攻击样本各自相匹配的第二识别结果,基于第一识别结果和第二识别结果,对第一识别模型相匹配的第一识别任务和第二识别模型相匹配的第二识别任务进行优化,根据优化时生成的对抗扰动得到与攻击样本相匹配的对抗样本,能够在对抗攻击中采用多任务学习的模式,提升对抗攻击的可迁移性,得到迁移性强的对抗样本,进而可以利用迁移性强的对抗样本提高对抗攻击成功率,同时,在得到对抗样本的过程中只需要进行优化而不需要进行海量查询,能够提高生成对抗样本的效率,进而可以提高对抗攻击效率。
86.在一个实施例中,基于第一识别结果和第二识别结果,对第一识别模型相匹配的第一识别任务以及第二识别模型相匹配的第二识别任务进行优化,根据优化生成的对抗扰动得到与攻击样本相匹配的对抗样本包括:
87.基于第一识别结果得到第一识别模型的第一损失,并基于第二识别结果得到第二识别模型的第二损失;
88.基于第一损失和第二损失,对第一识别模型相匹配的第一识别任务和第二识别模型相匹配的第二识别任务进行优化迭代,根据优化迭代时生成的对抗扰动得到与攻击样本相匹配的对抗样本。
89.其中,第一损失是指与第一识别模型相匹配的攻击样本和被攻击样本的不一致程度。第二损失是指与第二识别模型相匹配的攻击样本和被攻击样本的不一致程度。对第一识别任务和第二识别任务进行优化迭代是指基于第一损失和第二损失,生成针对于攻击样本的对抗扰动,利用对抗扰动对攻击样本进行优化,得到与攻击样本相匹配的对抗样本。
90.具体的,终端会基于第一识别模型在对攻击样本和被攻击样本进行识别时生成的中间层识别特征以及第一识别结果,得到第一识别模型的第一损失,并基于第二识别模型在对攻击样本和被攻击样本进行识别时生成的中间层识别特征以及第二识别结果,得到第二识别模型的第二损失。其中,在第一识别模型和第二识别模型中均包括若干层网络,中间层识别特征是指第一识别模型和第二识别模型的中间层网络所输出的特征,区别于最后一层网络的输出,最后一层网络的输出为第一识别结果和第二识别结果。
91.具体的,在得到第一损失和第二损失后,终端会先基于第一损失和第二损失,依次对第一识别任务和第二识别任务进行优化,得到初次迭代对抗扰动,根据初次迭代对抗扰动更新攻击样本,得到初次迭代攻击样本,再基于初次迭代攻击样本和被攻击样本,继续对第一识别任务和第二识别任务进行优化迭代,直到优化迭代的迭代次数达到迭代次数阈值为止,根据最新生成的对抗扰动对最新生成的迭代攻击样本进行更新,得到与攻击样本相
匹配的对抗样本。其中,迭代次数阈值可按照需要自行设置。
92.其中,基于第一损失和第二损失,依次对第一识别任务和第二识别任务进行优化,得到初次迭代对抗扰动是指先基于第一损失对第一识别任务进行优化,生成中间对抗扰动,再基于中间对抗扰动和第二损失,对第二识别任务进行优化,得到初次迭代对抗扰动。
93.本实施例中,通过基于第一识别结果得到第一损失,并基于第二识别结果得到第二损失,能够基于第一损失和第二损失,对第一识别任务和第二识别任务进行优化迭代,从而可以根据优化迭代时生成的对抗扰动得到与攻击样本相匹配的对抗样本。
94.在一个实施例中,基于第一识别结果得到第一识别模型的第一损失包括:
95.基于第一识别模型在对攻击样本和被攻击样本进行识别时生成的中间层识别特征,得到第一识别模型的特征损失;
96.基于第一识别结果,计算第一识别模型的识别结果损失;
97.根据特征损失和识别结果损失,得到第一识别模型的第一损失。
98.其中,特征损失是指基于中间层识别特征所确定的攻击样本和被攻击样本的不一致程度。比如,特征损失具体可以是指使用欧几里得距离计算得到的损失。识别结果损失是指基于第一识别结果所确定的攻击样本和被攻击样本的不一致程度。比如,识别结果损失具体可以是指使用余弦距离计算得到的损失。
99.具体的,第一识别模型在对攻击样本和被攻击样本进行识别时,会生成与攻击样本和被攻击样本各自相匹配的中间层识别特征,在计算第一损失时,终端会计算与攻击样本和被攻击样本各自相匹配的中间层识别特征之间的特征差值,基于特征差值得到第一识别模型的特征损失,再计算与攻击样本和被攻击样本各自相匹配的第一识别结果之间的识别结果相似度,根据识别结果相似度计算第一识别模型的识别结果损失,最后加权特征损失和识别结果损失,得到第一识别模型的第一损失。
100.其中,与攻击样本和被攻击样本各自相匹配的中间层识别特征具体可以为表征攻击样本和被攻击样本的特征矩阵,则可以通过矩阵减法来计算中间层识别特征之间的特征差值,在得到特征差值后,可以以特征差值的二范数(常用于计算向量长度)作为特征损失。举例说明,特征损失的计算公式可以为:其中,为与攻击样本相匹配的中间层识别特征,为与被攻击样本相匹配的中间层识别特征。
101.其中,与攻击样本和被攻击样本各自相匹配的第一识别结果具体可以为表征攻击样本和被攻击样本的特征向量,则可以通过余弦距离计算第一识别结果之间的识别结果相似度,在得到识别结果相似度后,可以以识别结果相似度距离相似度阈值的相似度差值,作为识别结果损失,其中,相似度阈值可按照需要自行设置。举例说明,识别结果损失的计算公式可以为:其中,为与攻击样本相匹配的第一识别结果,为与被攻击样本相匹配的第一识别结果,1为相似度阈值。
102.其中,在加权特征损失和识别结果损失时的加权系数可按照需要自行设置。举例说明,第一损失的计算公式可以为:其中,β1和β2为加权系数,为识别结果损失,为特征损失。
103.需要说明的是,基于第二识别结果得到第二识别模型的第二损失的方式与上述基于第一识别结果得到第一识别模型的第一损失相似,本技术在实施例中不再撰述。
104.本实施例中,通过基于中间层识别特征得到特征损失,基于第一识别结果计算识别结果损失,能够结合特征损失和识别结果损失对模型损失进行准确计算,得到第一识别模型的第一损失。
105.在一个实施例中,基于第一损失和第二损失,对第一识别模型相匹配的第一识别任务和第二识别模型相匹配的第二识别任务进行优化迭代,根据优化迭代时生成的对抗扰动得到与攻击样本相匹配的对抗样本包括:
106.基于第一损失和第二损失,对第一识别模型相匹配的第一识别任务和第二识别模型相匹配的第二识别任务进行优化迭代;
107.当优化迭代的迭代次数达到迭代次数阈值为止,根据最新生成的对抗扰动得到与攻击样本相匹配的对抗样本;
108.其中,优化迭代中相邻两次迭代对识别任务的优化顺序不同。
109.具体的,终端会先基于第一损失和第二损失,依次对第一识别任务和第二识别任务进行优化,得到初次迭代对抗扰动,根据初次迭代对抗扰动更新攻击样本,得到初次迭代攻击样本,再基于初次迭代攻击样本和被攻击样本,继续对第一识别任务和第二识别任务进行优化迭代,直到优化迭代的迭代次数达到迭代次数阈值为止,根据最新生成的对抗扰动对最新生成的迭代攻击样本进行更新,得到与攻击样本相匹配的对抗样本。其中,迭代次数阈值可按照需要自行设置。
110.进一步的,在对第一识别任务和第二识别任务进行优化迭代时,相邻两次迭代对识别任务的优化顺序不相同,通过在优化迭代过程中设置不一样的优化顺序进行交替优化,能够提升优化的稳定性。
111.在一个实施例中,基于第一损失和第二损失,对第一识别模型相匹配的第一识别任务和第二识别模型相匹配的第二识别任务进行优化迭代包括:
112.基于第一损失和第二损失,依次对第一识别任务和第二识别任务进行优化,得到初次迭代对抗扰动;
113.根据初次迭代对抗扰动更新攻击样本,得到初次迭代攻击样本;
114.基于初次迭代攻击样本和被攻击样本,对第一识别任务和第二识别任务进行优化迭代。
115.具体的,终端会基于第一损失和第二损失,依次对第一识别任务和第二识别任务进行优化,得到初次迭代对抗扰动,再将初次迭代对抗扰动叠加至攻击样本,以实现对攻击样本的优化,得到初次迭代攻击样本,最后再基于初次迭代攻击样本和被攻击样本,对第一识别任务和第二识别任务继续进行优化迭代,直到优化迭代的迭代次数达到迭代次数阈值为止,停止优化迭代。
116.其中,依次对第一识别任务和第二识别任务进行优化是指先基于相匹配的损失对其中一个识别任务进行优化生成中间对抗扰动,再基于中间对抗扰动和相匹配的损失对另一个识别任务进行优化。举例说明,可以先基于第一损失对第一识别任务进行优化生成中间对抗扰动,再基于中间对抗扰动和第二损失对第二识别任务进行优化。
117.其中,再基于初次迭代攻击样本和被攻击样本,对第一识别任务和第二识别任务
继续进行优化迭代是指,通过第一识别任务相匹配的第一识别模型分别对初次迭代攻击样本和被攻击样本进行识别,得到与初次迭代攻击样本和被攻击样本各自相匹配的第一识别结果,并通过第二识别任务相匹配的第二识别模型分别对初次迭代攻击样本和被攻击样本进行识别,得到与初次迭代样本和被攻击样本各自相匹配的第二识别结果,基于第一识别结果和第二识别结果对第一识别任务和第二识别任务进行优化,生成二次迭代的对抗扰动,根据二次迭代的对抗扰动更新初次迭代攻击样本,得到二次迭代攻击样本,再基于二次迭代攻击样本和被攻击样本,对第一识别任务和第二识别任务进行优化迭代,直到优化迭代的迭代次数达到迭代次数阈值为止,停止优化迭代。
118.需要说明的是,在优化迭代过程中,每次迭代都是根据最新生成的迭代攻击样本和被攻击样本,对第一识别任务和第二识别任务进行优化,以生成本次迭代的对抗扰动,利用本次迭代的对抗扰动对最新生成的迭代攻击样本进行更新,以生成新的迭代攻击样本继续用于优化迭代。
119.本实施例中,通过先基于第一损失和第二损失,依次对第一识别任务和第二识别任务进行优化,得到初次迭代对抗扰动,再根据初次迭代对抗扰动更新攻击样本,得到初次迭代攻击样本,最后基于初次迭代攻击样本和被攻击样本,对第一识别任务和第二识别任务进行优化迭代,能够通过优化迭代提升优化的稳定性,得到良好的优化效果。
120.在一个实施例中,基于第一损失和第二损失,依次对第一识别任务和第二识别任务进行优化,得到初次迭代对抗扰动包括:
121.基于第一损失对第一识别任务进行优化,得到中间对抗扰动;
122.基于中间对抗扰动和第二损失,对第二识别任务进行优化,得到初次迭代对抗扰动。
123.具体的,终端会基于第一损失对攻击样本进行梯度求解,以实现对第一识别任务的优化,得到中间对抗扰动,再基于第二损失对中间对抗扰动进行梯度求解,以实现对第二识别任务的优化,得到初次迭代对抗扰动。
124.举例说明,具体计算方式如下列公式所示:
[0125][0126][0127]
其中,γ1和γ2为超参数,可按照需要自行设置,表示梯度求解,∈a表示攻击样本,∈`a表示中间对抗扰动,∈``a表示初次迭代对抗扰动,表示第一损失,表示第二损失。
[0128]
本实施例中,通过先基于第一损失对第一识别任务进行优化,得到中间对抗扰动,再基于中间对抗扰动和第二损失,对第二识别任务进行优化,得到初次迭代对抗扰动,能够利用元学习的思想,以对一个识别任务的优化结果作为另一个识别任务的优化基础,提升优化的稳定性,达到良好的优化效果。
[0129]
在一个实施例中,如图3所示,提供了一种模型评估方法,以该模型评估方法应用于图1中的终端为例进行说明,包括以下步骤:
[0130]
步骤302,通过待评估识别模型对获取到的评估样本集中评估样本对进行识别,得
到评估样本对相匹配的识别结果,评估样本对包括对抗样本和被对抗样本,对抗样本通过上述对抗样本生成方法生成。
[0131]
其中,待评估识别模型是指与第一识别模型的识别任务相同且模型结构不同的模型。比如,当第一识别模型为人脸识别模型时,待评估识别模型具体可以是指与第一识别模型的模型结构不同的人脸识别模型。评估样本集是指评估样本对的集合,评估样本对包括对抗样本和被对抗样本。评估样本对相匹配的识别结果包括与对抗样本相匹配的对抗样本识别结果以及与被对抗样本相匹配的被对抗样本识别结果,这里的识别结果是指表征对抗样本以及被对抗样本的特征表示。比如,识别结果具体可以是表征对抗样本以及被对抗样本的特征向量。
[0132]
具体的,在模型评估时,针对获取到的评估样本集中每个评估样本对,终端会通过需要评估的待评估模型分别对评估样本对中对抗样本和被对抗样本进行识别,得到对抗样本识别结果以及被对抗样本识别结果。
[0133]
步骤304,基于识别结果中对抗样本识别结果和被对抗样本识别结果,确定与评估样本对相匹配的识别结果相似度。
[0134]
其中,识别结果相似度是指的对抗样本识别结果和被对抗样本识别结果的相似程度。
[0135]
具体的,终端会计算识别结果中对抗样本识别结果和被对抗样本识别结果之间的相似度,以该相似度作为与评估样本对相匹配的识别结果相似度。进一步的,对抗样本识别结果和被对抗样本识别结果之间的相似度具体可以为余弦相似度,余弦相似度的计算方式为:其中t表示待评估识别模型,表示被对抗样本识别结果,表示对抗样本识别结果。
[0136]
步骤306,当识别结果相似度大于相似度阈值时,确定与评估样本对相匹配的攻击结果为攻击成功。
[0137]
其中,相似度阈值可按照需要自行预先设置。
[0138]
具体的,当识别结果相似度大于相似度阈值时,表示待评估识别模型无法准确区分评估样本对中对抗样本和被对抗样本,则对抗样本对被对抗样本的攻击成功,终端会确定与评估样本对相匹配的攻击结果为攻击成功。
[0139]
步骤308,基于与评估样本集中评估样本对相匹配的攻击结果,统计攻击成功率。
[0140]
具体的,终端会基于与评估样本集中评估样本对相匹配的攻击结果对攻击成功的情况进行统计,得到攻击成功率。其中,攻击成功率为与攻击成功相匹配的评估样本对的数量与评估样本集中评估样本对的总数量的比值,即攻击成功率的计算公式为:其中,n1表示与攻击成功相匹配的评估样本对的数量,n表示评估样本集中评估样本对的总数量。
[0141]
步骤310,根据攻击成功率,得到模型评估结果。
[0142]
具体的,攻击成功率越高,说明待评估识别模型的安全性越差,攻击成功率越低,说明待评估识别模型的安全性越好,终端可以直接根据攻击成功率,得到模型评估结果,即待评估识别模型的安全性是好还是差。进一步的,终端可根据预先设置的攻击成功率与安全等级对应关系,确定待评估识别模型的安全等级,以安全等级作为模型评估结果。其中,
攻击成功率与安全等级对应关系可以按照需要自行设置。举例说明,攻击成功率与安全等级对应关系可以为:攻击成功率小于50%为安全等级高,攻击成功率大于50%且小于75%为安全等级中,攻击成功率大于75%为安全等级低。
[0143]
上述模型评估方法,通过待评估识别模型对获取到的评估样本集中评估样本对进行识别,得到评估样本对相匹配的识别结果,评估样本对包括对抗样本和被对抗样本,基于识别结果中对抗样本识别结果和被对抗样本识别结果,确定与评估样本对相匹配的识别结果相似度,当识别结果相似度大于相似度阈值时,确定与评估样本对相匹配的攻击结果为攻击成功,基于与评估样本集中评估样本对相匹配的攻击结果,统计攻击成功率,根据攻击成功率,得到模型评估结果,由于在模型评估过程中利用了迁移性高且生成效率高的对抗样本,能够提高对抗攻击成功率和对抗攻击效率。
[0144]
在一个实施例中,如图4所示,通过一个流程示意图来说明本技术的对抗样本生成方法,该对抗样本生成方法具体包括以下步骤:
[0145]
步骤402,通过第一识别模型分别对攻击样本和被攻击样本进行识别,得到与攻击样本和被攻击样本各自相匹配的第一识别结果。
[0146]
步骤404,通过第二识别模型分别对攻击样本和被攻击样本进行识别,得到与攻击样本和被攻击样本各自相匹配的第二识别结果,第二识别模型和第一识别模型的识别任务不同。
[0147]
步骤406,基于第一识别模型在对攻击样本和被攻击样本进行识别时生成的中间层识别特征,得到第一识别模型的特征损失。
[0148]
具体的,终端会计算与攻击样本和被攻击样本各自相匹配的中间层识别特征之间的特征差值,基于特征差值得到第一识别模型的特征损失。需要说明的是,中间层识别特征具体可以为表征攻击样本和被攻击样本的特征矩阵,则可以通过矩阵减法来计算中间层识别特征之间的特征差值。进一步的,可以以特征差值的二范数作为特征损失。
[0149]
步骤408,基于第一识别结果,计算第一识别模型的识别结果损失。
[0150]
具体的,终端会计算与攻击样本和被攻击样本各自相匹配的第一识别结果之间的识别结果相似度,根据识别结果相似度计算第一识别模型的识别结果损失。其中,与攻击样本和被攻击样本各自相匹配的第一识别结果具体可以为表征攻击样本和被攻击样本的特征向量,则可以通过余弦距离计算第一识别结果之间的识别结果相似度,在得到识别结果相似度后,可以以识别结果相似度距离相似度阈值的相似度差值,作为识别结果损失,其中,相似度阈值可按照需要自行设置。
[0151]
步骤410,根据特征损失和识别结果损失,得到第一识别模型的第一损失,并基于第二识别结果得到第二识别模型的第二损失。
[0152]
具体的,终端通过加权特征损失和识别结果损失,可以得到第一识别模型的第一损失。基于第二识别结果得到第二识别模型的第二损失的方式与上述实施例中基于第一识别结果得到第一识别模型的第一损失的方式相似,本实施例在此处不再撰述。
[0153]
步骤412,基于第一损失对第一识别任务进行优化,得到中间对抗扰动。
[0154]
具体的,终端会基于第一损失对攻击样本进行梯度求解,以实现对第一识别任务的优化,得到中间对抗扰动。
[0155]
步骤414,基于中间对抗扰动和第二损失,对第二识别任务进行优化,得到初次迭
代对抗扰动。
[0156]
具体的,终端会基于第二损失对中间对抗扰动进行梯度求解,以实现对第二识别任务的优化,得到初次迭代对抗扰动。
[0157]
步骤416,根据初次迭代对抗扰动更新攻击样本,得到初次迭代攻击样本。
[0158]
具体的,终端会将初次迭代对抗扰动叠加至攻击样本,得到初次迭代攻击样本。
[0159]
步骤418,基于初次迭代攻击样本和被攻击样本,对第一识别任务和第二识别任务进行优化迭代。
[0160]
具体的,终端会通过第一识别任务相匹配的第一识别模型分别对初次迭代攻击样本和被攻击样本进行识别,得到与初次迭代攻击样本和被攻击样本各自相匹配的第一识别结果,并通过第二识别任务相匹配的第二识别模型分别对初次迭代攻击样本和被攻击样本进行识别,得到与初次迭代样本和被攻击样本各自相匹配的第二识别结果,基于第一识别结果和第二识别结果对第一识别任务和第二识别任务进行优化,生成二次迭代的对抗扰动,根据二次迭代的对抗扰动更新初次迭代攻击样本,得到二次迭代攻击样本,再基于二次迭代攻击样本和被攻击样本,对第一识别任务和第二识别任务进行优化迭代。
[0161]
步骤420,当优化迭代的迭代次数达到迭代次数阈值为止,根据最新生成的对抗扰动得到与攻击样本相匹配的对抗样本。
[0162]
具体的,当优化迭代的迭代次数达到迭代次数阈值为止,终端会根据最新生成的对抗扰动对最新生成的迭代攻击样本进行更新,得到与攻击样本相匹配的对抗样本。
[0163]
在一个实施例中,如图5所示,通过一个流程示意图来说明本技术的对抗样本生成方法,该对抗样本生成方法可以应用于图5中的双分支模型。
[0164]
具体的,双分支模型的输入为攻击样本(ia)和被攻击样本(iv),双分支模型包括三部分,分别为用于特征提取的共享的编码器,第一识别模型以及第二识别模型。攻击样本和被攻击样本在被输入双分支模型后,会先通过共享的编码器对攻击样本和被攻击样本分别进行特征提取,以得到相匹配的攻击样本特征和被攻击样本特征。随后,攻击样本特征和被攻击样本特征会被分别输入第一识别模型和第二识别模型。其中,第一识别模型会输出与攻击样本和被攻击样本各自相匹配的第一识别结果(和),并在进行识别时生成中间层识别特征(和),同样的,第二识别模型会输出与攻击样本和被攻击样本各自相匹配的第二识别结果(和),并在进行识别时生成中间层识别特征(和)。
[0165]
在得到第一识别结果和第二识别结果后,终端会对第一识别任务和第二识别任务进行联合任务优化。针对第一识别模型,终端会计算与攻击样本和被攻击样本各自相匹配的中间层识别特征之间的特征差值,基于特征差值得到第一识别模型的特征损失并计算与攻击样本和被攻击样本各自相匹配的第一识别结果之间的识别结果相似度,根据识别结果相似度计算第一识别模型的识别结果损失加权特征损失和识别结果损失,得到第一识别模型的第一损失。同理,针对第二识别模型,终端也会利用中间层识别特征计算第二识别模型的特征损失并利用第二识别结果计算第二识别模型的识别结果损失加权特征损失和识别结果损失,得到第二识别模型的第二损失。
[0166]
随后,通过借鉴元学习的思想,设计联合任务优化算法,对第一识别任务和第二识别任务进行优化迭代。该算法在初次迭代时先选择第一识别任务进行优化,基于第一损失对第一识别任务进行优化,生成中间对抗扰动,再选择第二识别任务进行优化,基于中间对抗扰动和第二损失,对第二识别任务进行优化,生成初次迭代对抗扰动。在第二次迭代时先选择第二识别任务进行优化生成中间对抗扰动,再选择第一识别任务进行优化生成对抗扰动,即交替的对第一识别任务和第二识别任务进行优化,直到优化迭代的迭代次数达到迭代次数阈值为止,根据最新生成的对抗扰动得到与攻击样本相匹配的对抗样本(i
adv
)。
[0167]
进一步的,在生成初次迭代对抗扰动后,终端会基于初次迭代对抗扰动对攻击样本进行更新,以生成初次迭代攻击样本,随后在每次在生成对抗扰动后,终端都会基于最新生成的对抗扰动对最新生成的迭代攻击样本进行更新,在优化迭代的次数达到迭代次数阈值为止,即可得到与攻击样本相匹配的对抗样本。
[0168]
需要说明的是,若第二识别模型的数量为1个,则在优化迭代时,第奇数次迭代同初次迭代,第偶数次迭代同第二次迭代。若第二识别模型的数量为至少两个,则在优化迭代时,需要以第一识别模型和第二识别模型的总数量为周期,基于周期进行优化迭代,确保相邻两个周期对识别任务的优化顺序不同。
[0169]
在一个实施例中,第一识别模型可以为人脸识别模型,第二识别模型可以为人脸属性识别模型,人脸识别模型通过对攻击样本和被攻击样本进行识别,可以输出表征攻击样本和被攻击样本的特征向量,即第一识别结果,该第一识别结果可用于计算攻击样本相匹配的人脸和被攻击样本相匹配的人脸是否表示同一个人。在第一识别模型为人脸识别模型且第二识别模型为人脸属性识别模型时,攻击样本和被攻击样本均为人脸图像,终端可通过对采集到的人脸图像进行预处理的方式得到攻击样本和被攻击样本。具体的,终端会先对采集到的人脸图像进行配准,即将采集到的人脸图像中人脸五官的坐标通过算法检测出来,再利用算法返回的五官坐标将人脸部分从整张图中抠取出来,将抠取出来的人脸调整为统一预设尺寸,即可作为攻击样本和被攻击样本。同理,评估样本集中评估样本对中被对抗样本也可以通过上述预处理方式得到。其中,本实施例中不对检测五官坐标的算法进行限定,只要能够实现五官坐标的检测即可。
[0170]
进一步的,在第一识别模型为人脸识别模型且第二识别模型为人脸属性识别模型时,待评估识别模型具体可以为与第一识别模型的模型结构不相同的人脸识别模型,通过上述对抗样本生成方法所生成的对抗样本,可以应用于对待评估识别模型进行高效模型评估,确定待评估识别模型的安全性。更进一步的,本技术中的对抗样本生成方法以及模型评估方法可以应用于与人脸识别相关的应用,对于人脸识别相关的应用中使用的人脸识别模型进行评估。其中,与人脸识别相关的应用包括但不限于终端人脸解锁、应用程序人脸登录、远程人脸验证、刷脸门禁系统、线下刷脸支付、自动刷脸通关等。
[0171]
需要说明的是,本技术中的对抗样本生成方法,采用多任务学习的模式,以第二识别任务作为第一识别任务的辅助任务,充分利用辅助任务的额外信息,在对第一识别任务进行攻击的同时要求攻击第二识别任务,且在攻击过程中利用元学习的思想,交替对第一识别任务和第二识别任务进行优化来生成对抗样本,这样,不仅可以提升最终获得的对抗样本相对于白盒攻击的攻击迁移性,还能够避免黑盒攻击查询次数过多的缺陷,不需要进行海量查询,提高生成对抗样本的效率,进而可以提高对抗攻击效率。其中,多任务学习已
经被证明能够有效提升模型训练阶段的泛化能力,因此,本技术中,通过在生成对抗样本时采用多任务学习的模式,也能够提升对抗攻击的可迁移性,得到迁移性强的对抗样本,进而可以利用迁移性强的对抗样本提高对抗攻击成功率。
[0172]
应该理解的是,虽然如上所述的各实施例所涉及的流程图中的各个步骤按照箭头的指示依次显示,但是这些步骤并不是必然按照箭头指示的顺序依次执行。除非本文中有明确的说明,这些步骤的执行并没有严格的顺序限制,这些步骤可以以其它的顺序执行。而且,如上所述的各实施例所涉及的流程图中的至少一部分步骤可以包括多个步骤或者多个阶段,这些步骤或者阶段并不必然是在同一时刻执行完成,而是可以在不同的时刻执行,这些步骤或者阶段的执行顺序也不必然是依次进行,而是可以与其它步骤或者其它步骤中的步骤或者阶段的至少一部分轮流或者交替地执行。
[0173]
基于同样的发明构思,本技术实施例还提供了一种用于实现上述所涉及的对抗样本生成方法的对抗样本生成装置和模型评估方法的模型评估装置。该对抗样本生成装置以及模型评估装置所提供的解决问题的实现方案与上述方法中所记载的实现方案相似,故下面所提供的一个或多个对抗样本生成装置以及模型评估装置实施例中的具体限定可以参见上文中对于对抗样本生成方法以及模型评估方法的限定,在此不再赘述。
[0174]
在一个实施例中,如图6所示,提供了一种对抗样本生成装置,包括:第一识别模块602、第二识别模块604和对抗样本生成模块606,其中:
[0175]
第一识别模块602,用于通过第一识别模型分别对攻击样本和被攻击样本进行识别,得到与攻击样本和被攻击样本各自相匹配的第一识别结果;
[0176]
第二识别模块604,用于通过第二识别模型分别对攻击样本和被攻击样本进行识别,得到与攻击样本和被攻击样本各自相匹配的第二识别结果,第二识别模型和第一识别模型的识别任务不同;
[0177]
对抗样本生成模块606,用于基于第一识别结果和第二识别结果,对第一识别模型相匹配的第一识别任务和第二识别模型相匹配的第二识别任务进行优化,根据优化时生成的对抗扰动得到与攻击样本相匹配的对抗样本。
[0178]
上述对抗样本生成装置,通过第一识别模型分别对攻击样本和被攻击样本进行识别,得到与攻击样本和被攻击样本各自相匹配的第一识别结果,通过和第一识别模型的识别任务不同的第二识别模型分别对攻击样本和被攻击样本进行识别,得到与攻击样本和被攻击样本各自相匹配的第二识别结果,基于第一识别结果和第二识别结果,对第一识别模型相匹配的第一识别任务和第二识别模型相匹配的第二识别任务进行优化,根据优化时生成的对抗扰动得到与攻击样本相匹配的对抗样本,能够在对抗攻击中采用多任务学习的模式,提升对抗攻击的可迁移性,得到迁移性强的对抗样本,进而可以利用迁移性强的对抗样本提高对抗攻击成功率,同时,在得到对抗样本的过程中只需要进行优化而不需要进行海量查询,能够提高生成对抗样本的效率,进而可以提高对抗攻击效率。
[0179]
在一个实施例中,对抗样本生成模块还用于基于第一识别结果得到第一识别模型的第一损失,并基于第二识别结果得到第二识别模型的第二损失,基于第一损失和第二损失,对第一识别模型相匹配的第一识别任务和第二识别模型相匹配的第二识别任务进行优化迭代,根据优化迭代时生成的对抗扰动得到与攻击样本相匹配的对抗样本。
[0180]
在一个实施例中,对抗样本生成模块还用于基于第一识别模型在对攻击样本和被
攻击样本进行识别时生成的中间层识别特征,得到第一识别模型的特征损失,基于第一识别结果,计算第一识别模型的识别结果损失,根据特征损失和识别结果损失,得到第一识别模型的第一损失。
[0181]
在一个实施例中,对抗样本生成模块还用于基于第一损失和第二损失,对第一识别模型相匹配的第一识别任务和第二识别模型相匹配的第二识别任务进行优化迭代,当优化迭代的迭代次数达到迭代次数阈值为止,根据最新生成的对抗扰动得到与攻击样本相匹配的对抗样本,其中,优化迭代中相邻两次迭代对识别任务的优化顺序不同。
[0182]
在一个实施例中,对抗样本生成模块还用于基于第一损失和第二损失,依次对第一识别任务和第二识别任务进行优化,得到初次迭代对抗扰动,根据初次迭代对抗扰动更新攻击样本,得到初次迭代攻击样本,基于初次迭代攻击样本和被攻击样本,对第一识别任务和第二识别任务进行优化迭代。
[0183]
在一个实施例中,对抗样本生成模块还用于基于第一损失对第一识别任务进行优化,得到中间对抗扰动,基于中间对抗扰动和第二损失,对第二识别任务进行优化,得到初次迭代对抗扰动。
[0184]
在一个实施例中,如图7所示,提供了一种模型评估装置,包括:模型识别模块702、相似度确定模块704、攻击分析模块706、统计模块708和处理模块710,其中:
[0185]
模型识别模块702,用于通过待评估识别模型对获取到的评估样本集中评估样本对进行识别,得到评估样本对相匹配的识别结果,评估样本对包括对抗样本和被对抗样本,对抗样本通过上述对抗样本生成方法生成;
[0186]
相似度确定模块704,用于基于识别结果中对抗样本识别结果和被对抗样本识别结果,确定与评估样本对相匹配的识别结果相似度;
[0187]
攻击分析模块706,用于当识别结果相似度大于相似度阈值时,确定与评估样本对相匹配的攻击结果为攻击成功;
[0188]
统计模块708,用于基于与评估样本集中评估样本对相匹配的攻击结果,统计攻击成功率;
[0189]
处理模块710,用于根据攻击成功率,得到模型评估结果。
[0190]
上述模型评估装置,通过待评估识别模型对获取到的评估样本集中评估样本对进行识别,得到评估样本对相匹配的识别结果,评估样本对包括对抗样本和被对抗样本,基于识别结果中对抗样本识别结果和被对抗样本识别结果,确定与评估样本对相匹配的识别结果相似度,当识别结果相似度大于相似度阈值时,确定与评估样本对相匹配的攻击结果为攻击成功,基于与评估样本集中评估样本对相匹配的攻击结果,统计攻击成功率,根据攻击成功率,得到模型评估结果,由于在模型评估过程中利用了迁移性高且生成效率高的对抗样本,能够提高对抗攻击成功率和对抗攻击效率。
[0191]
上述对抗样本生成装置以及模型评估装置中的各个模块可全部或部分通过软件、硬件及其组合来实现。上述各模块可以硬件形式内嵌于或独立于计算机设备中的处理器中,也可以以软件形式存储于计算机设备中的存储器中,以便于处理器调用执行以上各个模块对应的操作。
[0192]
在一个实施例中,提供了一种计算机设备,该计算机设备可以是终端,其内部结构图可以如图8所示。该计算机设备包括处理器、存储器、输入/输出接口、通信接口、显示单元
和输入装置。其中,处理器、存储器和输入/输出接口通过系统总线连接,通信接口、显示单元和输入装置通过输入/输出接口连接到系统总线。其中,该计算机设备的处理器用于提供计算和控制能力。该计算机设备的存储器包括非易失性存储介质、内存储器。该非易失性存储介质存储有操作系统和计算机程序。该内存储器为非易失性存储介质中的操作系统和计算机程序的运行提供环境。该计算机设备的输入/输出接口用于处理器与外部设备之间交换信息。该计算机设备的通信接口用于与外部的终端进行有线或无线方式的通信,无线方式可通过wifi、移动蜂窝网络、nfc(近场通信)或其他技术实现。该计算机程序被处理器执行时以实现一种对抗样本生成方法以及模型评估方法。该计算机设备的显示单元用于形成视觉可见的画面,可以是显示屏、投影装置或虚拟现实成像装置,显示屏可以是液晶显示屏或电子墨水显示屏,该计算机设备的输入装置可以是显示屏上覆盖的触摸层,也可以是计算机设备外壳上设置的按键、轨迹球或触控板,还可以是外接的键盘、触控板或鼠标等。
[0193]
本领域技术人员可以理解,图8中示出的结构,仅仅是与本技术方案相关的部分结构的框图,并不构成对本技术方案所应用于其上的计算机设备的限定,具体的计算机设备可以包括比图中所示更多或更少的部件,或者组合某些部件,或者具有不同的部件布置。
[0194]
在一个实施例中,还提供了一种计算机设备,包括存储器和处理器,存储器中存储有计算机程序,该处理器执行计算机程序时实现上述各方法实施例中的步骤。
[0195]
在一个实施例中,提供了一种计算机可读存储介质,存储有计算机程序,该计算机程序被处理器执行时实现上述各方法实施例中的步骤。
[0196]
在一个实施例中,提供了一种计算机程序产品或计算机程序,该计算机程序产品或计算机程序包括计算机指令,该计算机指令存储在计算机可读存储介质中。计算机设备的处理器从计算机可读存储介质读取该计算机指令,处理器执行该计算机指令,使得该计算机设备执行上述各方法实施例中的步骤。
[0197]
需要说明的是,本技术所涉及的数据(包括但不限于用于分析的数据、存储的数据、展示的数据等),均为经用户授权或者经过各方充分授权的数据,且相关数据的收集、使用和处理需要遵守相关国家和地区的相关法律法规和标准。
[0198]
本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,所述的计算机程序可存储于一非易失性计算机可读取存储介质中,该计算机程序在执行时,可包括如上述各方法的实施例的流程。其中,本技术所提供的各实施例中所使用的对存储器、数据库或其它介质的任何引用,均可包括非易失性和易失性存储器中的至少一种。非易失性存储器可包括只读存储器(read-only memory,rom)、磁带、软盘、闪存、光存储器、高密度嵌入式非易失性存储器、阻变存储器(reram)、磁变存储器(magnetoresistive random access memory,mram)、铁电存储器(ferroelectric random access memory,fram)、相变存储器(phase change memory,pcm)、石墨烯存储器等。易失性存储器可包括随机存取存储器(random access memory,ram)或外部高速缓冲存储器等。作为说明而非局限,ram可以是多种形式,比如静态随机存取存储器(static random access memory,sram)或动态随机存取存储器(dynamic random access memory,dram)等。本技术所提供的各实施例中所涉及的数据库可包括关系型数据库和非关系型数据库中至少一种。非关系型数据库可包括基于区块链的分布式数据库等,不限于此。本技术所提供的各实施例中所涉及的处理器可为通用处理器、中央处理器、图形
处理器、数字信号处理器、可编程逻辑器、基于量子计算的数据处理逻辑器等,不限于此。
[0199]
以上实施例的各技术特征可以进行任意的组合,为使描述简洁,未对上述实施例中的各个技术特征所有可能的组合都进行描述,然而,只要这些技术特征的组合不存在矛盾,都应当认为是本说明书记载的范围。
[0200]
以上所述实施例仅表达了本技术的几种实施方式,其描述较为具体和详细,但并不能因此而理解为对本技术专利范围的限制。应当指出的是,对于本领域的普通技术人员来说,在不脱离本技术构思的前提下,还可以做出若干变形和改进,这些都属于本技术的保护范围。因此,本技术的保护范围应以所附权利要求为准。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1