多样本对抗扰动生成方法、装置、存储介质和计算设备转让专利

申请号 : CN202010883725.5

文献号 : CN111738374B

文献日 :

基本信息:

PDF:

法律信息:

相似专利:

发明人 : 萧子豪高威田天

申请人 : 北京智源人工智能研究院

摘要 :

本发明提供了一种多样本对抗扰动生成方法、装置、存储介质和计算设备,该方法包括:根据多个样本图像和对抗扰动生成对应的多个对抗样本;将所述多个对抗样本输入预设的判别模型,以得到所述多个对抗样本在正确标签下的识别置信度;基于所述识别置信度对所述多个对抗样本进行筛选,选取其中识别置信度符合预设阈值的至少一个对抗样本;根据第一损失函数基于选取到的至少一个对抗样本获取在判别模型下的损失;根据所述损失优化所述对抗扰动。本发明的方法能够筛选样本图像中更加不容易被攻击的样本图像,并以此为基础迭代对抗扰动,使得最后生成的对抗扰动能够与更广泛的样本图像配合成功攻击图像识别模型。

权利要求 :

1.一种多样本对抗扰动生成方法,包括:

根据多个样本图像和对抗扰动生成对应的多个对抗样本;

将所述多个对抗样本输入预设的判别模型,以得到所述多个对抗样本在正确标签下的识别置信度;

基于所述识别置信度对所述多个对抗样本进行筛选,选取其中识别置信度符合预设阈值的至少一个对抗样本;

根据第一损失函数基于选取到的至少一个对抗样本获取在判别模型下的损失;

根据所述损失优化所述对抗扰动。

2.如权利要求1所述的多样本对抗扰动生成方法,其中,所述第一损失函数为交叉熵损失函数。

3.如权利要求1或2所述的多样本对抗扰动生成方法,其中,通过第二损失函数选取识别置信度符合预设阈值的至少一个对抗样本计算在判别模型下的所述损失以优化所述对抗扰动,所述第二损失函数以使对抗扰动能够最大化多个对抗样本在判别模型下的分类错误率为目标构建,所述第二损失函数通过第三损失函数选取识别置信度符合预设阈值的至少一个对抗样本计算在判别模型下的所述损失。

4.如权利要求3所述的多样本对抗扰动生成方法,其中,所述第三损失函数为:其中x是样本图像, 是对抗扰动, 表示叠加了对抗扰动 的第i个样本xi在它的正确标签ti下的置信度,θ为所述预设阈值。

5.一种多样本对抗扰动生成装置,包括:

对抗样本生成模块,被配置为根据多个样本图像和对抗扰动生成对应的多个对抗样本;

损失计算模块,被配置为根据所述对抗样本计算在预设的判别模型下的损失,包括:识别置信度计算单元,被配置为将所述多个对抗样本输入预设的判别模型,以得到所述多个对抗样本在正确标签下的识别置信度;

筛选单元,被配置为基于所述识别置信度对所述多个对抗样本进行筛选,选取其中识别置信度符合预设阈值的至少一个对抗样本;

损失计算单元,被配置为根据第一损失函数基于选取到的至少一个对抗样本获取在判别模型下的损失;

优化模块,被配置为根据所述损失优化所述对抗扰动。

6.如权利要求5所述的多样本对抗扰动生成装置,其中,所述第一损失函数为交叉熵损失函数。

7.如权利要求5或6所述的多样本对抗扰动生成装置,其中,所述损失计算模块还被配置为通过第二损失函数选取识别置信度符合预设阈值的至少一个对抗样本计算在判别模型下的所述损失以优化所述对抗扰动,所述第二损失函数以使对抗扰动能够最大化多个对抗样本在判别模型下的分类错误率为目标构建,所述第二损失函数通过第三损失函数选取识别置信度符合预设阈值的至少一个对抗样本计算在判别模型下的所述损失。

8.如权利要求7所述的多样本对抗扰动生成装置,其中,所述第三损失函数为:其中x是样本图像, 是对抗扰动, 表示叠加了对抗扰动 的第i个样本xi在它的正确标签ti下的置信度,θ为所述预设阈值。

9.一种存储介质,所述存储介质存储有计算机程序,所述计算机程序被处理器执行时可以实现上述权利要求1-4中任一所述的方法。

10.一种计算设备,所述计算设备包括:处理器;用于存储所述处理器可执行指令的存储器;所述处理器,用于执行上述权利要求1-4中任一所述的方法。

说明书 :

多样本对抗扰动生成方法、装置、存储介质和计算设备

技术领域

[0001] 本发明的实施方式涉及计算机视觉技术领域,更具体地,本发明的实施方式涉及多样本对抗扰动生成方法、装置、存储介质和计算设备。

背景技术

[0002] 本部分旨在为权利要求书中陈述的本发明的实施方式提供背景或上下文。此处的描述不因为包括在本部分中就承认是现有技术。
[0003] 对抗样本可以通过在正常样本(例如图片)上添加对抗噪声得到,能够使机器学习模型的预测发生错误。
[0004] 多样本对抗扰动是指一个对抗噪声可以成功攻击多个可知或未知的样本目标。例如,通用对抗扰动(UP, Universal Perturbation)是指一个对抗噪声可以成功攻击多张图片,使模型在这些图片上都预测错误;而遍历变换期望(EoT,Expectation Over Transformation)是指一个对抗噪声可以成功攻击同一个图片的多个不同变换,使模型在这些经过变换的图片上都预测错误;密集对抗生成(DAG, Dense Adversary Generation)是指一个对抗噪声可以成功攻击目标检测器中不同尺度、不同位置和不同边界框的预测值,使模型在这些预测值上都预测错误。

发明内容

[0005] 在本上下文中,本发明的实施方式期望提供一种多样本对抗扰动生成方法、装置、存储介质和计算设备。
[0006] 在本发明实施方式的第一方面中,提供了一种多样本对抗扰动生成方法,包括:
[0007] 根据多个样本图像和对抗扰动生成对应的多个对抗样本;
[0008] 将所述多个对抗样本输入预设的判别模型,以得到所述多个对抗样本在正确标签下的识别置信度;
[0009] 基于所述识别置信度对所述多个对抗样本进行筛选,选取其中识别置信度符合预设阈值的至少一个对抗样本;
[0010] 根据第一损失函数基于选取到的至少一个对抗样本获取在判别模型下的损失;
[0011] 根据所述损失优化所述对抗扰动。
[0012] 在本实施方式的一个实施例中,所述第一损失函数为交叉熵损失函数。
[0013] 在本实施方式的一个实施例中,通过第二损失函数选取识别置信度符合预设阈值的至少一个对抗样本计算在判别模型下的所述损失以优化所述对抗扰动,所述第二损失函数以使对抗扰动能够最大化多个对抗样本在判别模型下的分类错误率为目标构建,所述第二损失函数通过第三损失函数选取识别置信度符合预设阈值的至少一个对抗样本计算在判别模型下的所述损失。
[0014] 在本实施方式的一个实施例中,所述第三损失函数为:
[0015]
[0016] 其中x是样本图像, 是对抗扰动,  表示叠加了对抗扰动 的第i个样本xi在它的正确标签ti下的置信度,θ为所述预设阈值。
[0017] 在本发明实施方式的第二方面中,提供了一种多样本对抗扰动生成装置,包括:
[0018] 对抗样本生成模块,被配置为根据多个样本图像和对抗扰动生成对应的多个对抗样本;
[0019] 损失计算模块,被配置为根据所述对抗样本计算在预设的判别模型下的损失,包括:
[0020] 识别置信度计算单元,被配置为将所述多个对抗样本输入预设的判别模型,以得到所述多个对抗样本在正确标签下的识别置信度;
[0021] 筛选单元,被配置为基于所述识别置信度对所述多个对抗样本进行筛选,选取其中识别置信度符合预设阈值的至少一个对抗样本;
[0022] 损失计算单元,被配置为根据第一损失函数基于选取到的至少一个对抗样本获取在判别模型下的损失;
[0023] 优化模块,被配置为根据所述损失优化所述对抗扰动。
[0024] 在本实施方式的一个实施例中,所述第一损失函数为交叉熵损失函数。
[0025] 在本实施方式的一个实施例中,所述损失计算模块还被配置为通过第二损失函数选取识别置信度符合预设阈值的至少一个对抗样本计算在判别模型下的所述损失以优化所述对抗扰动,所述第二损失函数以使对抗扰动能够最大化多个对抗样本在判别模型下的分类错误率为目标构建,所述第二损失函数通过第三损失函数选取识别置信度符合预设阈值的至少一个对抗样本计算在判别模型下的所述损失。
[0026] 在本实施方式的一个实施例中,所述第三损失函数为:
[0027]
[0028] 其中x是样本图像, 是对抗扰动,  表示叠加了对抗扰动 的第i个样本xi在它的正确标签ti下的置信度,θ为所述预设阈值。
[0029] 在本发明实施方式的第三方面中,提供了一种存储介质,所述存储介质存储有计算机程序,所述计算机程序被处理器执行时可以实现所述多样本对抗扰动生成方法。
[0030] 在本发明实施方式的第四方面中,提供了一种计算设备,包括:处理器;用于存储所述处理器可执行指令的存储器;所述处理器,用于执行上述多样本对抗扰动生成方法。
[0031] 根据本发明实施方式的多样本对抗扰动生成方法、装置、存储介质和计算设备,在进行对抗扰动的生成时,基于预设阈值过滤识别置信度符合的对抗样本,进而计算损失以优化所述对抗扰动,本发明的方法能够筛选样本图像中更加不容易被攻击的样本图像,并以此为基础迭代对抗扰动,使得最后生成的对抗扰动能够与更广泛的样本图像配合成功攻击图像识别模型。

附图说明

[0032] 通过参考附图阅读下文的详细描述,本发明示例性实施方式的上述以及其他目的、特征和优点将变得易于理解。在附图中,以示例性而非限制性的方式示出了本发明的若干实施方式,其中:
[0033] 图1为本发明一实施例提供的多样本对抗扰动生成方法的流程示意图;
[0034] 图2为本发明一实施例提供的多样本对抗扰动生成装置的模块示意图;
[0035] 图3为本发明一实施例提供的一种存储介质的示意图;
[0036] 图4为本发明一实施例提供的一种计算设备的示意;
[0037] 在附图中,相同或对应的标号表示相同或对应的部分。

具体实施方式

[0038] 下面将参考若干示例性实施方式来描述本发明的原理和精神。应当理解,给出这些实施方式仅仅是为了使本领域技术人员能够更好地理解进而实现本发明,而并非以任何方式限制本发明的范围。相反,提供这些实施方式是为了使本公开更加透彻和完整,并且能够将本公开的范围完整地传达给本领域的技术人员。
[0039] 本领域技术人员知道,本发明的实施方式可以实现为一种系统、装置、设备、方法或计算机程序产品。因此,本公开可以具体实现为以下形式,即:完全的硬件、完全的软件(包括固件、驻留软件、微代码等),或者硬件和软件结合的形式。
[0040] 根据本发明的实施方式,提出了一种多样本对抗扰动生成方法、介质、装置和计算设备。
[0041] 在本文中,需要理解的是,对抗扰动、对抗补丁和对抗噪声表示的含义相同或相似,三者可以互换使用;
[0042] 用于训练模型的样本图像存在一一对应的正确标签,例如,一副显示猫头鹰的图像的正确标签为猫头鹰。
[0043] Pert ϵ表示预设的扰动大小;
[0044] loss function表示损失函数;
[0045] VGG16、VGG19、InceptionV3和ResNet101是几个不同的分类模型;
[0046] train和test下的数字分别表示对抗样本在可见的训练样本数据和不可见的测试样本数据上的攻击成功率。
[0047] 此外,附图中的任何元素数量均用于示例而非限制,以及任何命名都仅用于区分,而不具有任何限制含义。
[0048]  下面参考本发明的若干代表性实施方式,详细阐释本发明的原理和精神。
[0049] 发明概述
[0050] 发明人发现,即使是同一个对抗扰动,不同的样本图像的攻击图像识别模型的成功率也不同,也就是说,即使叠加的是同一个对抗扰动,有的样本图像很容易被判别模型识别错误,有的则很难被判别模型识别错误,现有的生成对抗扰动的技术方案中,并不会对容易和困难进行区分,也就是说,在现有的技术方案的执行过程中,迭代优化得到的对抗扰动,可能对容易样本更加有效,由此,可以有针对性的选取不同意被攻击的样本图像生成对抗扰动,使得对抗扰动更加通用,即使是不同意被攻击的样本图像也能够在其配合下成功攻击图像识别模型。
[0051] 示例性方法
[0052] 下面参考图1来描述根据本发明示例性实施方式的多样本对抗扰动生成方法。本方法的使用场景包括但不仅限于攻击正常模型与攻击防御模型、数字世界攻击和物理世界攻击。本方法可用于攻击计算机视觉中的分类模型,包括但不仅限于物体识别和目标检测。需要注意的是,上述应用场景仅是为了便于理解本发明的精神和原理而示出,本发明的实施方式在此方面不受任何限制。相反,本发明的实施方式可以应用于适用的任何场景。
[0053] 本发明的实施方式提供了一种多样本对抗扰动生成方法,包括:
[0054] 步骤S110,根据多个样本图像和对抗扰动生成对应的多个对抗样本;
[0055] 步骤S120,将所述多个对抗样本输入预设的判别模型,以得到所述多个对抗样本在正确标签下的识别置信度;
[0056] 步骤S130,基于所述识别置信度对所述多个对抗样本进行筛选,选取其中识别置信度符合预设阈值的至少一个对抗样本;
[0057] 步骤S140,根据第一损失函数基于选取到的至少一个对抗样本获取在判别模型下的损失;
[0058] 步骤S150,根据所述损失优化所述对抗扰动。
[0059] 下面结合附图说明如何生成多样本对抗扰动。
[0060] 在本实施方式的步骤S110中,可以直接获取多个原始样本图像,也可以获取一个原始样本图像,再基于所述原始样本图像进行变换得到多个用于迭代对抗扰动的经变换的样本图像,例如,得到一个样本图像a,对其分别作平移1、旋转2、缩放3、仿射4、镜像5等变换得到样本图像a1、a2、a3、a4和a5,本实施方式对此不做限定;类似地,所述对抗扰动可以是直接获取预先设定好的初始对抗扰动,也可以是随机初始化得到的,本实施方式对此不做限定。
[0061] 在获取到所述样本图像和对抗扰动之后,根据所述多个样本图像和对抗扰动生成对应的多个对抗样本,在本步骤中,可以直接将对抗扰动与多个样本图像线性叠加生成对应的多个对抗样本,但并不限于此,在本实施方式的其他实施例中,还可以通过乘积、旋转等方式叠加所述对抗扰动。
[0062] 接下来,执行步骤S120,将所述多个对抗样本输入预设的判别模型,以得到所述多个对抗样本在正确标签下的识别置信度,首先将所述多个对抗样本输入预设的判别模型,得到所述多个对抗样本的识别结果;本步骤中所述的判别模型指的是对图像进行识别或检测的神经网络模型,包括但不限于人脸识别模型、目标检测模型、目标追踪等模型。
[0063] 可以理解的是,所述判别模型基于输入的图像所输出的识别结果可以包括多个以置信度标识的标签,具体来说,针对于输入的一个图像,所述判别模型会输出多个结果,例如(结果1,置信度s1),(结果2,置信度s2),(结果3,置信度s3),结果的个数并不限于以上示例,可以根据具体的模型和应用场景而存在不同数量,此处不做限定。
[0064] 然后根据所述多个对抗样本的识别结果以及所述多个对抗样本对应的样本图像的标签得到所述多个对抗样本的识别置信度;在此处继续以上示例,假设输入图像的正确标签结果为结果2,则置信度s2即为所述输入图像的识别置信度。
[0065] 然后执行步骤S130,基于所述识别置信度对所述多个对抗样本进行筛选,选取其中识别置信度符合预设阈值的至少一个对抗样本;在以上步骤中,通过阈值过滤筛选得到了至少一个更加不容易被攻击的样本图像,从而能够基于这些更加不容易被攻击的样本迭代得到能够广泛应用的对抗扰动。所述阈值可以实现设置为识别置信度为80%-100%,例如大于80%、85%、90%、93%等数值都可以。可以理解的是,在进行阈值筛选时也可以按照样本的总数量和各个置信度区域分布的样本数量进行阈值的设置,例如总共需要500个对抗样本进行迭代,则可以根据各个置信度区域分布的样本数量进行阈值的设置,判断阈值设置为多少可以过滤得到500个对抗样本,本实例所列举的方式有些类似于排序筛选,但也不完全是,其并不会对各个样本的识别置信度进行对比。相比于排序筛选,基于阈值进行过滤更加方便,处理起来更加高效,但也无法像排序筛选一样非常精准的定位各个对抗样本的,从而能够方便的根据对抗样本的识别置信度赋予相应的权重,使得各个不同识别置信度的样本在计算损失时发挥不同的用处。
[0066] 接下来执行步骤S140,根据第一损失函数基于选取到的多个对抗样本获取在判别模型下的损失;
[0067] 具体而言,可以通过交叉熵损失函数计算所述损失(即所述第一损失函数为交叉熵损失函数)。可以理解的是,只要能够基于计算得到的损失迭代优化所述对抗扰动,通过何种方式计算所述损失并不重要,在本实施方式的一个实施例中,还可以通过将多个样本图像分别叠加所述对抗扰动后输入判别模型,然后根据所述判别模型的输出计算分类错误率来计算所述损失。
[0068] 为了使得本发明的计算方法更加通用,通过第二损失函数选取识别置信度符合预设阈值的至少一个对抗样本计算在判别模型下的所述损失以优化所述对抗扰动,所述第二损失函数以使对抗扰动能够最大化多个对抗样本在判别模型下的分类错误率为目标构建,所述第二损失函数通过第三损失函数选取识别置信度符合预设阈值的至少一个对抗样本计算在判别模型下的所述损失。
[0069] 在本实施例中,所述第二损失函数可以是:
[0070]
[0071] 其中p(x)是样本图像x的概率分布,Δx是待求解的对抗扰动,L(⋅)是对抗损失函数(在本实施方式的一个实施例中,即所述第三损失函数),d(⋅)是一个距离函数,ϵ是预设定的非负的扰动大小。T(⋅)表示扰动的方式。扰动的方式包括但不仅限于直接叠加、乘积、旋转。例如:
[0072] 在直接叠加的情况下:
[0073] T(x,Δx)=x+Δx,
[0074] d(Δx)=|Δx|p,
[0075] 其中|⋅|p表示Lp范数;
[0076] 在乘积的情况下:
[0077] T(x,Δx)=xΔx,
[0078] d(Δx)=|Δx|1;
[0079] 在旋转的情况下:
[0080] T(x,Δx)=rotate(x,Δx),
[0081] d(Δx)=|Δx|1,
[0082] 其中rotate(x,Δx)表示将样本图像x顺时针旋转一个角度Δx。
[0083] 另外,为了在损失计算时更加方便的强调特定样本,在本实施方式的一个实施例中,采用特殊设计的对抗损失函数(即所述第三损失函数),其中可选的对抗损失函数为:
[0084]
[0085] 其中x是样本图像, 是对抗扰动,  表示叠加了对抗扰动 的第i个样本xi在它的正确标签ti下的置信度,θ为所述预设阈值。样本的置信度padv是一个[0, 1]之间的数。在无定向攻击中,越接近1代表样本越难被攻击,是困难样本。
[0086] 由此如何计算用于迭代优化对抗扰动的损失已经明确,接下来,执行步骤S150,基于所述损失迭代优化对抗扰动,在本实施方式的一个实施例中,为了最快速的得到最优的对抗扰动,采取基于动量的方法来迭代对抗扰动,具体地,可以通过以下公式进行计算:
[0087]
[0088] 其中,Ω表示随机采样的目标子集(即样本图像的集合),h表示梯度,g表示动量,μ表示动量的衰减速度,∇ΔxL(x+Δx)表示所述损失函数相对对抗扰动Δx的梯度,|⋅|1是L1范数,Δx为表示迭代中的对抗扰动的变量,proj表示将变量投影回约束范围内,α表示梯度下降的步长,sign是符号函数。
[0089] 需要说明的是,基于以上公式迭代得到的对抗扰动可以是特定形状或区域的,举例来讲,在需要对特定地点(如某地的门禁)的人脸识别模型进行攻击时,可能需要将对抗扰动制作为实体,由相应的人员佩戴之后进行实地测试,那么在生成对抗扰动时,可以考虑将其投影回特定的约束范围内,如眼睛区域,之后则可以将迭代得到的对抗扰动制作为实体的眼镜,由相应的人员佩戴,被所述人脸识别模型的图像获取设备拍摄后形成对抗样本。但是,并不意味着本实施方式得到的对抗扰动只能是特定形状或区域的,也就是说在另外的实施例中,也可以省略投影约束这一步骤,直接得到对抗扰动,这并不影响其攻击性能。
[0090] 物理对抗样本攻击是对抗攻击在学术界受到密切关注的领域,在上述实施方式提出的通用的多样本攻击框架的基础上,本发明还提出一种可以用于生成通用的对抗补丁的框架,来使得佩戴该对抗补丁的行人,无法被行人检测模型识别出来。具体地,可以将损失函数修改为:
[0091]
[0092] 可以看出大部分内容与上述实施方式中都相同,Φ(x)表示图x中待攻击检测框的集合。接下来可以基于样本图像和初始对抗扰动,采用上述损失函数迭代优化所述对抗扰动。
[0093] 另外,虽然本实施方式中采取基于动量的方法来迭代对抗扰动,但是并不代表只能通过本实施例所列举的方式进行,还可以通过随机梯度下降法、批量梯度下降法、牛顿法和拟牛顿法等方法进行迭代优化,本实施方式对此不作限定。
[0094] 在优化收敛后,得到所述对抗扰动Δx。可以理解的是,在得到最优的对抗扰动(即优化收敛)之前步骤S110-150是可以重复执行的。
[0095] 在本实施方式的建立通用的多样本对抗攻击框架的实施例的基础上,本领域的技术人员可以对样本集、扰动的叠加方式和对抗损失函数的选择进行随意设置。例如,可以用于生成遍历变换期望攻击(EoT)的对抗样本,遍历变换期望算法是对单一图片进行多种图像变换,并攻击尽可能多的变换后的图片。本领域的技术人员只需要更改将样本图像x的集合设为经过图像变换后的图片样本集即可。
[0096]
[0097] 表1
[0098] 为了验证本发明所提出的多样本优化攻击的效果,发明人选用通用对抗扰动生成实验作为分析实验。实验中采用不同的损失函数生成相应的对抗样本,分析了基于不同损失函数生成对抗样本攻击不同模型的成功率。表1展示了通用对抗扰动攻击分析实验中基于不同损失函数得到的通用对抗扰动叠加样本图像后的攻击成功率数据,根据表1所示,可以看出本发明提出的基于Threshold的损失函数可以提升攻击成功率,具体来讲,表1示出基于各个不同的损失函数生成的通用对抗扰动的攻击成功率,其中本发明提出的基于Threshold的损失函数在多个模型下的攻击成功率均表现优秀。
[0099] 本方法所提出的利用置信度来筛选样本图像,能够在获取一张样本图像和对抗扰动以后,就可以马上区分样本是否容易被攻击。而其他已有的本领域方法需要在反复迭代计算后才能确定一个样本图像是否容易被攻击。因此,相比本领域已有的方法,本方法可以更快速地确定样本是否容易被攻击,也因此可以处理大量数据和动态变化数据的情况。例如,在攻击目标检测模型的过程中,由于作为样本的检测框会不断地依最新的情况而动态变化,因此已有的方法无法有效地区分其检测框框中的图像是否容易被攻击,但本方法则能良好地应用在攻击目标检测模型上。
[0100] 另外,本领域的技术人员在实施本方法时,可以将其实现为离线或在线形式,本实施方式对此不做限定,举例来讲,本领域的技术人员可以根据本发明的方法步骤实现一个对抗扰动或对抗样本生成模型,所述生成模型可以被配置在客户端提供离线服务,也可以被配置在服务器端,通过浏览器、移动端APP等客户端提供在线服务。
[0101] 总的来说,本发明提出的多样本对抗扰动生成方法,不同于以往的单目标攻击,可以生成同时攻击多个目标的对抗扰动,而且可以在对抗扰动的优化过程中有针对性的关注更加不被容易攻击的样本图像,提升对可见和未知样本的攻击成功率,基于本发明的一个实施方式中提出的通用多样本攻击框架,对现有的对抗攻击算法改变代价小,无须调节超参数,并能有效地提升性能。
[0102]  示例性装置
[0103] 在介绍了本发明示例性实施方式的方法之后,接下来,参考图2对本发明示例性实施方式的多样本对抗扰动生成装置进行说明,所述装置包括:
[0104] 210对抗样本生成模块,被配置为根据多个样本图像和对抗扰动生成对应的多个对抗样本;
[0105] 220损失计算模块,被配置为根据所述对抗样本计算在预设的判别模型下的损失,包括:
[0106] 221识别置信度计算单元,被配置为将所述多个对抗样本输入预设的判别模型,以得到所述多个对抗样本在正确标签下的识别置信度;
[0107] 222筛选单元,被配置为基于所述识别置信度对所述多个对抗样本进行筛选,选取其中识别置信度符合预设阈值的至少一个对抗样本;
[0108] 223损失计算单元,被配置为根据第一损失函数基于选取到的至少一个对抗样本获取在判别模型下的损失;
[0109] 230优化模块,被配置为根据所述损失优化所述对抗扰动。
[0110] 在本实施方式的一个实施例中,所述第一损失函数为交叉熵损失函数。
[0111] 在本实施方式的一个实施例中,所述损失计算模块220还被配置为通过第二损失函数选取识别置信度符合预设阈值的至少一个对抗样本计算在判别模型下的所述损失以优化所述对抗扰动,所述第二损失函数以使对抗扰动能够最大化多个对抗样本在判别模型下的分类错误率为目标构建,所述第二损失函数通过第三损失函数选取识别置信度符合预设阈值的至少一个对抗样本计算在判别模型下的所述损失。
[0112] 在本实施方式的一个实施例中,所述第三损失函数为:
[0113]
[0114] 其中x是样本图像, 是对抗扰动,  表示叠加了对抗扰动 的第i个样本xi在它的正确标签ti下的置信度,θ为所述预设阈值。
[0115] 示例性介质
[0116] 在介绍了本发明示例性实施方式的方法和装置之后,接下来,参考图3对本发明示例性实施方式的计算机可读存储介质进行说明,请参考图3,其示出的计算机可读存储介质为光盘30,其上存储有计算机程序(即程序产品),所述计算机程序在被处理器运行时,会实现上述方法实施方式中所记载的各步骤,例如,根据多个样本图像和对抗扰动生成对应的多个对抗样本;将所述多个对抗样本输入预设的判别模型,以得到所述多个对抗样本在正确标签下的识别置信度;基于所述识别置信度对所述多个对抗样本进行筛选,选取其中识别置信度符合预设阈值的至少一个对抗样本;根据第一损失函数基于选取到的至少一个对抗样本获取在判别模型下的损失;根据所述损失优化所述对抗扰动;各步骤的具体实现方式在此不再重复说明。
[0117] 需要说明的是,所述计算机可读存储介质的例子还可以包括,但不限于相变内存(PRAM)、静态随机存取存储器(SRAM)、动态随机存取存储器(DRAM)、其他类型的随机存取存储器(RAM)、只读存储器(ROM)、电可擦除可编程只读存储器(EEPROM)、快闪记忆体或其他光学、磁性存储介质,在此不再一一赘述。
[0118] 示例性计算设备
[0119] 在介绍了本发明示例性实施方式的方法、介质和装置之后,接下来,参考图4对本发明示例性实施方式的用于生成对抗扰动的计算设备进行说明。
[0120] 图4示出了适于用来实现本发明实施方式的示例性计算设备40的框图,该计算设备40可以是计算机系统或服务器。图4显示的计算设备40仅仅是一个示例,不应对本发明实施例的功能和使用范围带来任何限制。
[0121] 如图4所示,计算设备40的组件可以包括但不限于:一个或者多个处理器或者处理单元401,系统存储器402,连接不同系统组件(包括系统存储器402和处理单元401)的总线403。
[0122] 计算设备40典型地包括多种计算机系统可读介质。这些介质可以是任何能够被计算设备40访问的可用介质,包括易失性和非易失性介质,可移动的和不可移动的介质。
[0123] 系统存储器402可以包括易失性存储器形式的计算机系统可读介质,例如随机存取存储器(RAM)4021和/或高速缓存存储器4022。计算设备40可以进一步包括其它可移动/不可移动的、易失性/非易失性计算机系统存储介质。仅作为举例,ROM4023可以用于读写不可移动的、非易失性磁介质(图4中未显示,通常称为“硬盘驱动器”)。尽管未在图4中示出,可以提供用于对可移动非易失性磁盘(例如“软盘”)读写的磁盘驱动器,以及对可移动非易失性光盘(例如CD-ROM,DVD-ROM或者其它光介质)读写的光盘驱动器。在这些情况下,每个驱动器可以通过一个或者多个数据介质接口与总线403相连。系统存储器402中可以包括至少一个程序产品,该程序产品具有一组(例如至少一个)程序模块,这些程序模块被配置以执行本发明各实施例的功能。
[0124] 具有一组(至少一个)程序模块4024的程序/实用工具4025,可以存储在例如系统存储器402中,且这样的程序模块4024包括但不限于:操作系统、一个或者多个应用程序、其它程序模块以及程序数据,这些示例中的每一个或某种组合中可能包括网络环境的实现。程序模块4024通常执行本发明所描述的实施例中的功能和/或方法。
[0125] 计算设备40也可以与一个或多个外部设备404(如键盘、指向设备、显示器等)通信。这种通信可以通过输入/输出(I/O)接口405进行。并且,计算设备40还可以通过网络适配器406与一个或者多个网络(例如局域网(LAN),广域网(WAN)和/或公共网络,例如因特网)通信。如图4所示,网络适配器406通过总线403与计算设备40的其它模块(如处理单元401等)通信。应当明白,尽管图4中未示出,可以结合计算设备40使用其它硬件和/或软件模块。
[0126] 处理单元401通过运行存储在系统存储器402中的程序,从而执行各种功能应用以及数据处理,例如,根据多个样本图像和对抗扰动生成对应的多个对抗样本;将所述多个对抗样本输入预设的判别模型,以得到所述多个对抗样本在正确标签下的识别置信度;基于所述识别置信度对所述多个对抗样本进行筛选,选取其中识别置信度符合预设阈值的至少一个对抗样本;根据第一损失函数基于选取到的至少一个对抗样本获取在判别模型下的损失;根据所述损失优化所述对抗扰动。各步骤的具体实现方式在此不再重复说明。应当注意,尽管在上文详细描述中提及了多样本对抗扰动生成的若干单元/模块或子单元/子模块,但是这种划分仅仅是示例性的并非强制性的。实际上,根据本发明的实施方式,上文描述的两个或更多单元/模块的特征和功能可以在一个单元/模块中具体化。反之,上文描述的一个单元/模块的特征和功能可以进一步划分为由多个单元/模块来具体化。
[0127] 在本发明的描述中,需要说明的是,术语“第一”、“第二”、“第三”仅用于描述目的,而不能理解为指示或暗示相对重要性。
[0128] 所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的系统、装置和单元的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
[0129] 在本申请所提供的几个实施例中,应该理解到,所揭露的系统、装置和方法,可以通过其它的方式实现。以上所描述的装置实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,又例如,多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些通信接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。
[0130] 所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
[0131] 另外,在本发明各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。
[0132] 所述功能如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个处理器可执行的非易失的计算机可读取存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、磁碟或者光盘等各种可以存储程序代码的介质。
[0133] 最后应说明的是:以上所述实施例,仅为本发明的具体实施方式,用以说明本发明的技术方案,而非对其限制,本发明的保护范围并不局限于此,尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,其依然可以对前述实施例所记载的技术方案进行修改或可轻易想到变化,或者对其中部分技术特征进行等同替换;而这些修改、变化或者替换,并不使相应技术方案的本质脱离本发明实施例技术方案的精神和范围,都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应所述以权利要求的保护范围为准。
[0134] 此外,尽管在附图中以特定顺序描述了本发明方法的操作,但是,这并非要求或者暗示必须按照该特定顺序来执行这些操作,或是必须执行全部所示的操作才能实现期望的结果。附加地或备选地,可以省略某些步骤,将多个步骤合并为一个步骤执行,和/或将一个步骤分解为多个步骤执行。