CN110941824B - 一种基于对抗样本增强模型抗攻击能力的方法和系统 - Google Patents
一种基于对抗样本增强模型抗攻击能力的方法和系统 Download PDFInfo
- Publication number
- CN110941824B CN110941824B CN201911274700.9A CN201911274700A CN110941824B CN 110941824 B CN110941824 B CN 110941824B CN 201911274700 A CN201911274700 A CN 201911274700A CN 110941824 B CN110941824 B CN 110941824B
- Authority
- CN
- China
- Prior art keywords
- sample
- model
- output
- adjusting
- confrontation
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/50—Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems
- G06F21/55—Detecting local intrusion or implementing counter-measures
- G06F21/554—Detecting local intrusion or implementing counter-measures involving event detection and direct action
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F18/00—Pattern recognition
- G06F18/20—Analysing
- G06F18/21—Design or setup of recognition systems or techniques; Extraction of features in feature space; Blind source separation
- G06F18/214—Generating training patterns; Bootstrap methods, e.g. bagging or boosting
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N20/00—Machine learning
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/04—Architecture, e.g. interconnection topology
- G06N3/045—Combinations of networks
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/08—Learning methods
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- Software Systems (AREA)
- Data Mining & Analysis (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Artificial Intelligence (AREA)
- Evolutionary Computation (AREA)
- Life Sciences & Earth Sciences (AREA)
- Mathematical Physics (AREA)
- Computing Systems (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Computer Security & Cryptography (AREA)
- Biomedical Technology (AREA)
- Biophysics (AREA)
- Computational Linguistics (AREA)
- General Health & Medical Sciences (AREA)
- Molecular Biology (AREA)
- Health & Medical Sciences (AREA)
- Bioinformatics & Computational Biology (AREA)
- Bioinformatics & Cheminformatics (AREA)
- Evolutionary Biology (AREA)
- Computer Hardware Design (AREA)
- Medical Informatics (AREA)
- Image Analysis (AREA)
Abstract
本申请实施例公开了一种基于对抗样本增强模型抗攻击能力的方法和系统。所述方法包括:获取第一样本和第二样本,其中,所述第一样本与所述第二样本的相似度大于相似度阈值;将所述第一样本和所述第二样本输入第一模型,得到与所述第一样本对应的第一输出,以及与所述第二样本对应的第二输出;基于所述第一输出与所述第二输出的差异程度,调整所述第二样本,以增大所述差异程度,并在所述差异程度满足预设条件时,将调整后的所述第二样本作为对抗样本;基于该对抗样本,调整第二模型,以增强所述第二模型的抗攻击能力。其中,第二模型可以为用于对理赔证据图片进行识别的神经网络模型,理赔证据图片包括理赔者的个人信息图片。
Description
技术领域
本申请涉及计算机技术领域,特别涉及一种基于对抗样本增强模型抗攻击能力的方法和系统。
背景技术
对抗攻击是一种可以用于测试机器学习模型的缺陷的测试方法,通过构造对抗样本输入目标模型,使得目标模型做出误判,达到攻击的效果。通过攻击可以得到关于目标模型的缺陷、性能等信息,可以为开发人员改进目标模型提供参考。
对抗攻击包括白盒攻击和黑盒攻击,若攻击者能够获知目标模型所使用的算法以及算法所使用的参数,则相应的攻击为白盒攻击,若攻击者不知道目标模型所使用的算法和参数,则对应的攻击为黑盒攻击。无论白盒攻击还是黑盒攻击,攻击者均可以通过传入任意输入观察输出。
通过攻击可以找出被攻击的模型的漏洞,进而对模型的抗攻击能力进行增强,基于此,本申请提供一种基于对抗样本增强模型抗攻击能力的方法和系统。
发明内容
本说明书实施例的一个方面提供一种基于对抗样本增强模型抗攻击能力的方法,其中,所述方法包括:获取第一样本和第二样本,其中,所述第一样本与所述第二样本的相似度大于相似度阈值;将所述第一样本和所述第二样本输入第一模型,得到与所述第一样本对应的第一输出,以及与所述第二样本对应的第二输出;基于所述第一输出与所述第二输出的差异程度,调整所述第二样本,以增大所述差异程度,并在所述差异程度满足预设条件时,将调整后的所述第二样本作为对抗样本;基于该对抗样本,调整第二模型,以增强所述第二模型的抗攻击能力;其中,所述第二模型和第一模型是相同的模型;或者,所述第二模型是所述第一模型经过微调后得到的模型。
本说明书实施例的一个方面提供一种基于对抗样本增强模型抗攻击能力的系统,其中,所述系统包括:获取模块,用于获取第一样本和第二样本,其中,所述第一样本与所述第二样本的相似度大于相似度阈值;输入模块,用于将所述第一样本和所述第二样本输入第一模型,得到与所述第一样本对应的第一输出,以及与所述第二样本对应的第二输出;调整模块,用于基于所述第一输出与所述第二输出的差异程度,调整所述第二样本,以增大所述差异程度,并在所述差异程度满足预设条件时,将调整后的所述第二样本作为对抗样本;增强模块,用于基于该对抗样本,调整第二模型,以增强所述第二模型的抗攻击能力;其中,所述第二模型和第一模型是相同的模型;或者,所述第二模型是所述第一模型经过微调后得到的模型。
本说明书实施例的一个方面提供一种基于对抗样本增强模型抗攻击能力的装置,包括处理器,所述处理器用于执行如上所述的任一项基于对抗样本增强模型抗攻击能力的方法。
本说明书实施例的一个方面提供一种计算机可读存储介质,所述存储介质存储计算机指令,当计算机读取存储介质中的计算机指令后,计算机运行如上所述的任一项基于对抗样本增强模型抗攻击能力的方法。
附图说明
本申请将以示例性实施例的方式进一步说明,这些示例性实施例将通过附图进行详细描述。这些实施例并非限制性的,在这些实施例中,相同的编号表示相同的结构,其中:
图1是根据本申请一些实施例所示的基于对抗样本增强模型抗攻击能力的系统的模块图;
图2是根据本申请一些实施例所示的基于对抗样本增强模型抗攻击能力的方法的示例性流程图;
图3是根据本申请一些实施例所示的基于对抗样本增强模型抗攻击能力的方法所包括的步骤基于对抗样本调整第二模型的示例性流程图;
图4是根据本申请一些实施例所示的基于对抗样本增强模型抗攻击能力的方法的另一示例性流程图;
图5是根据本申请一些实施例所示的第二样本的示例图;
图6是根据本申请一些实施例所示的对抗样本的示例图。
具体实施方式
为了更清楚地说明本申请实施例的技术方案,下面将对实施例描述中所需要使用的附图作简单的介绍。显而易见地,下面描述中的附图仅仅是本申请的一些示例或实施例,对于本领域的普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图将本申请应用于其它类似情景。除非从语言环境中显而易见或另做说明,图中相同标号代表相同结构或操作。
应当理解,本文使用的“系统”、“装置”、“单元”和/或“模组”是用于区分不同级别的不同组件、元件、部件、部分或装配的一种方法。然而,如果其他词语可实现相同的目的,则可通过其他表达来替换所述词语。
如本申请和权利要求书中所示,除非上下文明确提示例外情形,“一”、“一个”、“一种”和/或“该”等词并非特指单数,也可包括复数。一般说来,术语“包括”与“包含”仅提示包括已明确标识的步骤和元素,而这些步骤和元素不构成一个排它性的罗列,方法或者设备也可能包含其它的步骤或元素。
本申请中使用了流程图用来说明根据本申请的实施例的系统所执行的操作。应当理解的是,前面或后面操作不一定按照顺序来精确地执行。相反,可以按照倒序或同时处理各个步骤。同时,也可以将其他操作添加到这些过程中,或从这些过程移除某一步或数步操作。
图1是根据本申请一些实施例所示的基于对抗样本增强模型抗攻击能力的系统的模块图。
如图1所示,该基于对抗样本增强模型抗攻击能力的系统100可以包括获取模块102、输入模块104、调整模块106和增强模块108。
获取模块102可以用于获取第一样本和第二样本,其中,所述第一样本与所述第二样本的相似度大于相似度阈值。
输入模块104可以用于将所述第一样本和所述第二样本输入第一模型,得到与所述第一样本对应的第一输出,以及与所述第二样本对应的第二输出。
调整模块106可以用于基于所述第一输出与所述第二输出的差异程度,调整所述第二样本,以增大所述差异程度,并在所述差异程度满足预设条件时,将调整后的所述第二样本作为对抗样本。
增强模块108可以用于基于该对抗样本,调整第二模型,以增强所述第二模型的抗攻击能力;其中,所述第二模型和第一模型是相同的模型;或者,所述第二模型是所述第一模型经过微调后得到的模型。
在一些实施例中,所述第一样本和所述第二样本为图像样本;所述调整所述第二样本包括:调整所述第二样本中若干像素的值,其中被调整的每个像素的值的变化范围小于像素阈值。
在一些实施例中,所述第一输出和所述第二输出均为所述第一模型的logits层的输出。
在一些实施例中,所述调整模块106包括:计算单元,用于基于所述第一输出与所述第二输出计算目标函数的函数值,所述目标函数用于表征所述第一输出与所述第二输出的所述差异程度;样本调整单元,用于调整所述第二样本,并将调整后的所述第二样本输入所述第一模型;判断单元,用于判断所述函数值是否满足所述预设条件,在所述函数值满足所述预设条件时,所述样本调整单元停止调整所述第二样本,在所述函数值不满足所述预设条件时,所述样本调整单元继续调整所述第二样本。
在一些实施例中,在所述函数值大于或等于函数值阈值,或者,所述样本调整单元重复调整所述第二样本的次数大于或等于次数阈值时,所述函数值满足所述预设条件。
在一些实施例中,所述样本调整单元用于:沿所述第一模型的梯度的方向调整所述第二样本。
在一些实施例中,所述目标函数如下所示:
其中,l为所述目标函数的函数值,logitclean是所述第一输出,logitadv是所述第二输出,|logitclean|是对向量形式的所述第一输出中的每个元素分别求绝对值,是对的向量形式的计算结果中的每个元素进行求和。
在一些实施例中,所述增强模块108用于:将所述对抗样本输入所述第二模型,得到与所述对抗样本对应的输出,该输出用于表征所述对抗样本属于该输出对应类别的概率;针对同一所述对抗样本,若该对抗样本的所有该输出中的最大值对应的标签与所述对抗样本的真实标签不同,则判定该对抗样本对所述第二模型攻击成功;针对多个所述对抗样本,统计对应于该多个所述对抗样本的所述攻击的成功次数在所述攻击的总次数中的比例,并基于该比例调整所述第二模型,以增强所述第二模型的抗攻击能力。
在一些实施例中,所述第一模型和所述第二模型为用于对图片进行识别的模型。
应当理解,图1所示的系统及其模块可以利用各种方式来实现。例如,在一些实施例中,系统及其模块可以通过硬件、软件或者软件和硬件的结合来实现。其中,硬件部分可以利用专用逻辑来实现;软件部分则可以存储在存储器中,由适当的指令执行系统,例如微处理器或者专用设计硬件来执行。本领域技术人员可以理解上述的方法和系统可以使用计算机可执行指令和/或包含在处理器控制代码中来实现,例如在诸如磁盘、CD或DVD-ROM的载体介质、诸如只读存储器(固件)的可编程的存储器或者诸如光学或电子信号载体的数据载体上提供了这样的代码。本申请的系统及其模块不仅可以有诸如超大规模集成电路或门阵列、诸如逻辑芯片、晶体管等的半导体、或者诸如现场可编程门阵列、可编程逻辑设备等的可编程硬件设备的硬件电路实现,也可以用例如由各种类型的处理器所执行的软件实现,还可以由上述硬件电路和软件的结合(例如,固件)来实现。
需要注意的是,以上对于候选项显示、确定系统及其模块的描述,仅为描述方便,并不能把本申请限制在所举实施例范围之内。可以理解,对于本领域的技术人员来说,在了解该系统的原理后,可能在不背离这一原理的情况下,对各个模块进行任意组合,或者构成子系统与其他模块连接。例如,在一些实施例中,例如,图1中披露的获取模块102、输入模块104、调整模块106和增强模块108可以是一个系统中的不同模块,也可以是一个模块实现上述的两个或两个以上模块的功能。例如,获取模块102、输入模块104可以是两个模块,也可以是一个模块同时具有样本获取和样本输入的功能。例如,各个模块可以共用一个存储模块,各个模块也可以分别具有各自的存储模块。诸如此类的变形,均在本申请的保护范围之内。
图2是根据本申请一些实施例所示的基于对抗样本增强模型抗攻击能力的方法的示例性流程图。如图2所示,该方法包括:
步骤202,获取第一样本和第二样本,其中,所述第一样本与所述第二样本的相似度大于相似度阈值。
具体的,步骤202可以由获取模块102执行。
在一些实施例中,样本即第一样本和第二样本是指用于输入模型的任何数据,可以包括图片、文本或语音等,在一些实施例中,可以根据模型的应用场景,选取不同的样本。例如,若模型应用于图像识别,则样本为图像数据,可以为BMP、JPG、PNG等格式的图片。又例如,模型应用于语音识别,则样本为语音数据,可以为WAV、FLAC、MP3等格式的音频。
在一些实施例中,第一样本与第二样本的相似度可以利用如余弦相似度来表示,例如第一样本和第二样本均为图片时,可以将两者的像素值构造为向量计算余弦相似度作为相似度。当然,第一样本与第二样本也可以相同。第一样本与第二样本的相似度大于相似度阈值,可以使得第二样本在下述调整的过程中能够以第一样本作为参考。
在一些实施例中,可以由终端或服务器通过通信传输的方式获取第一样本和第二样本,例如可以是终端通过无线传输的方式将终端中的第一样本和第二样本发送至服务器,以由服务器获取第一样本和第二样本。
步骤204,将所述第一样本和所述第二样本输入第一模型,得到与所述第一样本对应的第一输出,以及与所述第二样本对应的第二输出。
具体的,步骤204可以由输入模块104执行。
在一些实施例中,第一模型可以为预训练模型,预训练模型是预先经过训练以执行大量数据上的特定任务的模型,可以解决与目标问题类似的问题,例如,目标问题是解决图像识别问题,可以采用在ImageNet数据集上训练得到的卷积神经网络模型(Convolutional Neural Network,CNN)作为预训练模型。在一些实施例中,预训练模型可以直接采用如DenseNet169或ResNet152。
在一些实施例中,第一输出和第二输出可以为第一模型输出层的输出结果,第一输出或第二输出可以为一个或多个。在一些实施例中,第一输出和第二输出可以均为所述第一模型的logits层的输出,此时logits层作为第一模型的输出层,该层的输出是未归一化的概率值,即,logits层可以是输入到模型的激活层之前的数值,其数值的区间可以为(-inf,+inf)(即正负无穷区间)。以第一样本为猫的图片,第一模型为分类模型为例,若第一模型可以预测的类别为三类,分别是猫,狗以及鸟,此时,将第一样本输入至第一模型中,第一模型的logits层输出有3个,分别4,1,-2,对应的,输出4表征该图片输属于猫的未归一化的概率值为4,输出1表征属于狗的未归一化的概率值为1,输出-2则表征属于鸟的未归一化的概率值为-2。由于logits层的输出的数值较大,因此采用logits层的输出,可以更好的体现出下述的第一输出与第二输出的差异程度,进而为调整第二样本提供更多有效的信息,例如在沿第一模型的梯度方向调整第二样本时,采用logits层的输出可以更好的将第一模型的输入与输出之间的梯度信息传回至第二样本,使得调整后的第二样本的攻击效果更好。
在一些实施例中,所述第一输出和所述第二输出也可以均为所述第一模型的激活层的输出,其中,所述激活层的输出与所述激活层的输入正相关。此时激活层被视为第一模型的输出层。在一些实施例中,激活层用于对logits层的输出进行归一化处理,故选用前述激活层的输出可以基于相同的规则对第二样本进行调整。归一化是将数值从(-inf,+inf)映射到[0,1]的过程,并且,映射得到的所有值累计之和等于1。仍以上述第一样本为猫的图片,第一模型为分类模型为例,将第一样本输入至第一模型中,第一模型的激活层输出可以包括0.8,0.2,0,其中,该输出表征该图片属于猫的概率为0.8,属于狗的概率为0.2,属于鸟的概率为0。举例来讲,激活层可以选用Softmax函数或者Sigmoid函数。
在一些实施例中,若由终端获取第一样本和第二样本,则可以将第一样本和第二样本输入终端中的第一模型,若由服务器获取第一样本和第二样本,则可以将第一样本和第二样本输入服务器中的第一模型,当然,也可以是终端获取的第一样本和第二样本输入服务器中的第一模型,或者服务器获取的第一样本和第二样本输入终端中的第一模型,对此,本说明书不做具体限定。
步骤206,基于所述第一输出与所述第二输出的差异程度,调整所述第二样本,以增大所述差异程度,并在所述差异程度满足预设条件时,将调整后的所述第二样本作为对抗样本。
具体的,步骤206可以由调整模块106执行。
在一些实施例中,差异程度可以用于表征第一输出和第二输出的概率分布差异,在一些实施例中,可以采用相对熵函数或者JS散度(Jensen-Shannon)衡量两个概率分布之间的差异。在一些实施例中,差异程度越大,则第一输出和第二输出的概率分布差异越大,相反地,差异程度越小,则第一输出和第二输出的概率分布差异越小。
在一些实施例中,预设条件可以根据实际需求灵活设置,例如,预设条件可以是表征差异程度的差异值超过对应的阈值。
在一些实施例中,第一样本和第二样本可以为图像样本,调整第二样本可以包括:调整所述第二样本中若干像素的值,其中被调整的每个像素的值的变化范围小于像素阈值。像素的值也即像素值,一般来讲,单个像素也即单个像素点的像素值的取值范围为0-255,在调整像素的值时,限制其变化范围,例如像素阈值可以为8,即限制每个被调整的像素的像素值的变化范围小于8,如此可以使得第二样本在调整过程中,人眼对于第二样本的视觉感受不会发生变化。
在一些实施例中,对抗样本是指用于使下述的第二模型误判的样本,以对抗样本为图片数据,第二模型为分类模型为例,若对抗样本的真实类别为猫,将对抗样本输入至第二模型中,第二模型输出的结果为狗,或者鸟等。
在一些实施例中,调整第二样本可以是在第二样本的基础上加上或减去一个较小的数值,然后可以重复该调整过程,以迭代的方式调整第二样本,观察第二输出与第一输出的差异程度是否增大,如果差异程度增大,则接受该次调整,如果差异程度减小或不变,则可以拒绝该次调整。通过不断迭代的调整第二样本,在差异程度满足预设条件例如上述差异值超过对应的阈值时,将当前得到的调整后的第二样本作为对抗样本。在一些实施方式中,调整第二样本的方法可以采用FGSM(Fast Gradient Sign Method)、PGD(ProjectGradient Descent)或C&W(Carlini-Wagner Attack),本说明书对其不做具体限制。
步骤208,基于该对抗样本,调整第二模型,以增强所述第二模型的抗攻击能力;其中,所述第二模型和第一模型是相同的模型;或者,所述第二模型是所述第一模型经过微调后得到的模型。
在一些实施例中,步骤208可以由增强模块108执行。
在一些实施例中,第一样本的标签存在于所述第二模型的输出对应的标签中,标签可以用于表征第一样本所属的真实类别。以第一样本为图片数据,第二模型为分类模型为例,若第一样本为猫的图像,即第一样本的标签为猫,将第一样本输入至第二模型中,第二模型对第一样本的识别结果为猫。在构建第一样本时,可以参照第二模型的输出对应的标签,例如第二模型的输出对应的标签包括猫、狗和鸟,那么事先构造的第一样本可以是猫、狗、鸟中的一种或多种类别对应的图片,例如第一样本可以仅包括猫的图片,也可以同时包括猫、狗和鸟的图片。第一样本的标签存在于第二模型中即说明第二模型可以对第一样本进行正确识别,进而在调整第二样本的过程中,第一样本可以作为参考。
在一些实施例中,所述第二模型和第一模型是相同的模型,或者,第二模型是所述第一模型经过微调(fine tuning)后得到的模型。微调就是指将第一模型作用于自己的数据集,并使其参数适应自己数据集的过程。进行微调的第一模型可以是上述的预训练模型。在一些实施例中,进行微调时,第二模型可以复制预训练模型上除输出层外的所有模型结构及其参数,第二模型的输出层可以是重新训练得到的,而其余层的参数可以基于预训练模型的参数调整得到。由于机器学习模型训练通常需要花费大量时间和计算资源,通过对第一模型微调得到第二模型,有助于减少资源的使用,快速获取具有较高精度的第二模型。
在一些实施例中,第二模型可以为神经网络模型,在应用于图像识别时具有较好的效果。神经网络模型是一种包含多个参数的非线性算法,经过训练后可以提取输入数据的特征,并根据提取的特征进行分类,得到特征输出。
在一些实施例中,在步骤208中,如图3所示,基于该对抗样本,调整第二模型,以增强所述第二模型的抗攻击能力的流程300,可以包括:
步骤302,将所述对抗样本输入所述第二模型,得到与所述对抗样本对应的输出,该输出用于表征所述对抗样本属于该输出对应类别的概率。
在一些实施例中,若第二模型的模型结构和参数未知,将所述对抗样本输入所述第二模型,得到与所述对抗样本对应的输出,可以实现对第二模型的黑盒攻击。举例来讲,第二模型的输出有3个,分别对应对抗样本为标签猫、狗和鸟的概率,此处标签表征对抗样本所属类别,经过上述调整最终得到的对抗样本的真实标签为猫,将其输入第二模型后得到的输出对应标签猫、狗和鸟的概率可能分别为0.2,0.7,0.1。真实标签可以是对抗样本本身所反映出的真实内容,可以通过人工观察得到,例如狗的图片的真实标签为狗。
步骤304,针对同一所述对抗样本,若该对抗样本的所有该输出中的最大值对应的标签与所述对抗样本的真实标签不同,则判定该对抗样本对所述第二模型攻击成功。
在一些实施例中,对于同一对抗样本,所有该输出中的最大值对应的标签与所述对抗样本的真实标签不同,沿用上述例子,由于最大值0.7对应的标签为狗,第二模型判断对抗样本属于狗的概率最大,与其真实标签猫不同,此时认为攻击成功。
步骤306,针对多个所述对抗样本,统计对应于该多个所述对抗样本的所述攻击的成功次数在所述攻击的总次数中的比例,并基于该比例调整所述第二模型,以增强所述第二模型的抗攻击能力。
在一些实施例中,将多个对抗样本输入第二模型以进行多次攻击,统计攻击成功的次数,以及攻击的总次数,进而可以得到攻击成功的次数占攻击的总次数的比例作为对抗样本攻击成功的成功率,该比例越高,说明第二模型越不安全,若该比例超过一定数值例如20%,可以将对抗样本用于训练第二模型,以增强第二模型的抗攻击能力。举例来讲,对抗样本有100个,则可以进行100次攻击,若攻击成功的次数为40次,则上述比例为40%,超过预设的数值20%,进而利用得到的对抗样本对第二模型进行训练,使得第二模型可以正确识别对抗样本,这些对抗样本对第二模型失去攻击能力,进而第二模型的抗攻击能力得到增强。
在一些实施例中,所述第一模型和所述第二模型可以为用于对图片进行识别的模型。举例来讲,第一模型为经过预训练得到的用于识别图片的神经网络模型。所述第二模型可以为用于对理赔证据图片进行识别的神经网络模型,进而第一样本和第二样本均可以为理赔证据图片,所述理赔证据图片包括理赔者的个人信息图片以及理赔商品的图片。具体来讲,理赔者是相关交易的赔偿请求发起人,例如一用户在电商平台上购买了一件衣服,发现衣服损坏,进而通过电商平台请求理赔,则该用户为理赔者。进一步,理赔者的个人信息图片可以是该用户的个人身份证图片、人脸图片等可以证明个人身份的图片,理赔商品即用户购买的商品如衣服。由于电商需要对理赔条件是否成立进行判断,因此需要获取上述的理赔证据图片并利用第二模型对其进行识别,以自动判断理赔条件是否成立。通过该测试模型安全性的方法可以找出第二模型容易识别错误的图片,进而对于这些图片,电商可以通过人工审核的方式进行,以减少误判。
通过上述技术方案,第一样本可以是第二模型能够正确识别的图片,调整第二样本,增大第一输出和第二输出的差异程度,使得得到的对抗样本的输出与第一样本的输出差异较大,第二模型输出第二样本的标签出现错误的概率增大,进而可以达到黑盒攻击的目的,并且无需训练数据,也无需训练替代模型,即可以使得得到的对抗样本实现攻击,并可以根据攻击的结果调整第二模型以增强第二模型的抗攻击能力,提高第二模型的安全性。
应当注意的是,上述有关流程200的描述仅仅是为了示例和说明,而不限定本申请的适用范围。对于本领域技术人员来说,在本申请的指导下可以对流程200进行各种修正和改变。然而,这些修正和改变仍在本申请的范围之内。
图4是根据本申请一些实施例所示的基于对抗样本增强模型抗攻击能力的方法的另一示例性流程图。以下所示过程的操作仅出于说明的目的。在一些实施例中,过程400在实施时可以添加一个或以上本说明书一个或多个实施例未描述的额外操作,和/或删减一个或以上此处所描述的操作。另外,如图4所示和下面描述的过程操作的顺序不是限制性的。如图4所示,该方法包括:
步骤402,获取第一样本和第二样本,其中,所述第一样本与所述第二样本的相似度大于相似度阈值。
具体的,步骤402可以参见对于步骤202的描述。
步骤404,将所述第一样本和所述第二样本输入第一模型,得到与所述第一样本对应的第一输出,以及与所述第二样本对应的第二输出。
具体的,步骤404可以参见对于步骤204的描述。
步骤406,基于所述第一输出与所述第二输出计算目标函数的函数值,所述目标函数用于表征所述第一输出与所述第二输出的所述差异程度。
具体的,步骤406可以由计算单元执行。
在一些实施例中,目标函数的函数值越大,则表征所述差异程度越大,相反地,目标函数的函数值越小,则表征所述差异程度越小。
在一些实施例中,所述目标函数如下所示:
其中,l为所述目标函数的函数值,logitclean是所述第一输出,logitadv是所述第二输出,|logitclean|是对向量形式的所述第一输出中的每个元素分别求绝对值,是对的向量形式的计算结果中的每个元素进行求和。
在一些实施例中,logitclean可以为第一样本在第一模型中的logits层的输出,logitadv可以为第二样本在第一模型中的logits层的输出,关于logits层的更多细节已在上述内容中进行陈述,在此不再赘述。在第一样本的第一输出,以及第二样本的第二输出均有多个时,可以将多个第一输出组成向量作为logitclean,将多个第二输出组成向量作为logitadv,故在上述式子中,为了得到函数值l,可以先对logitclean中的每个元素求绝对值得到|logitclean|,然后基于向量的运算法则计算得到最后再对中的每个元素求和得到最终的函数值l。
步骤408,若所述函数值不满足所述预设条件,调整所述第二样本,并将调整后的所述第二样本输入所述第一模型。
具体的,步骤408可以由样本调整单元执行。
在一些实施例中,如图4所示,在执行步骤408之前,可以先判断所述函数值是否满足预设条件。若判断函数值满足预设条件,可以直接将当前得到的第二样本作为对抗样本,若函数值不满足预设条件,则调整第二样本,具体可以沿第一模型的梯度的方向调整第二样本,例如,可以求出第一模型的损失函数对于其各个因变量的偏导数,此处因变量即为第二样本的参数,例如第二样本为图像时,因变量可以为第二样本的像素值。将该偏导数乘以一个常数得到与该偏导数对应的乘积,最后将各个因变量减去其对应的该乘积,即完成一次沿第一模型的梯度的方向调整第二样本的过程。沿该梯度方向改变第二样本,得到的第二输出的改变量最大,如此可以减少第二样本的改变次数,加快得到对抗样本的速度。在调整第二样本后,可以将调整后的第二样本输入第一模型,并执行步骤410。
在一些实施例中,可以在所述函数值大于函数值阈值时,判定所述函数值满足所述预设条件,在一些实施例中,函数值阈值可根据实际情况进行具体设置,例如,函数值阈值为3或5等。
步骤410,重复执行将所述第二样本输入第一模型的步骤,至调整所述第二样本的步骤,直至所述函数值满足所述预设条件,并将当前得到的所述第二样本作为所述对抗样本。
具体的,步骤410可以由判断单元执行。
在一些实施例中,如上所述,函数值不满足预设条件时,调整第二样本后,将调整后的第二样本重新输入第一模型,以重复上述步骤404至步骤408,通过迭代的方式调整第二样本,直至函数值满足预设条件时,将当前调整后的第二样本作为对抗样本。通过迭代的方式,可以自动的根据函数值调整第二样本,使得得到的第二样本作为对抗样本的攻击效果更好。在一些实施例中,如图5所示的第二样本通过迭代的方式调整后得到如图6所示的对抗样本,可见,图5中的第二样本与图6中的对抗样本的差异程度较大。需要说明的是,图5和图6中,横坐标对应logits层1000个的输出的编号,每个编号对应一个输出的标签,纵坐标为每个编号对应的输出值。
在一些实施例中,也可以在重复执行上述步骤的次数大于或等于次数阈值时,判定函数值满足预设条件,例如重复执行步骤404至步骤408的次数大于或等于20次时,函数值满足预设条件。
步骤412,基于该对抗样本,调整第二模型,以增强所述第二模型的抗攻击能力,其中,所述第二模型和第一模型是相同的模型;或者,所述第二模型是所述第一模型经过微调后得到的模型。
具体的,步骤412可以参见步骤208的描述。
本申请实施例可能带来的有益效果包括但不限于:
(1)通过调整第二样本,增大第一输出和第二输出的差异程度,使得得到的对抗样本的输出与第一样本的输出差异较大,第二模型输出第二样本的标签出现错误的概率增大,使得对于无法获取训练数据的第二模型,也可以得到攻击效果较好的对抗样本,进而可以更好的调整第二模型,增强第二模型的抗攻击能力;
(2)第一输出和第二输出均采用logits层的输出,可以更好的体现出第一输出与第二输出的差异程度,进而为调整第二样本提供更多有效的信息,例如在沿第一模型的梯度方向调整第二样本时,采用logits层的输出可以更好的将第一模型的输入与输出之间的梯度信息传回至第二样本,使得调整后的第二样本的攻击效果更好;
(3)沿第一模型的梯度的方向调整第二样本,得到的第二输出的改变量最大,如此可以减少第二样本的改变次数,加快得到对抗样本的速度。
需要说明的是,不同实施例可能产生的有益效果不同,在不同的实施例里,可能产生的有益效果可以是以上任意一种或几种的组合,也可以是其他任何可能获得的有益效果。
上文已对基本概念做了描述,显然,对于本领域技术人员来说,上述详细披露仅仅作为示例,而并不构成对本申请的限定。虽然此处并没有明确说明,本领域技术人员可能会对本申请进行各种修改、改进和修正。该类修改、改进和修正在本申请中被建议,所以该类修改、改进、修正仍属于本申请示范实施例的精神和范围。
同时,本申请使用了特定词语来描述本申请的实施例。如“一个实施例”、“一实施例”、和/或“一些实施例”意指与本申请至少一个实施例相关的某一特征、结构或特点。因此,应强调并注意的是,本说明书中在不同位置两次或多次提及的“一实施例”或“一个实施例”或“一个替代性实施例”并不一定是指同一实施例。此外,本申请的一个或多个实施例中的某些特征、结构或特点可以进行适当的组合。
此外,本领域技术人员可以理解,本申请的各方面可以通过若干具有可专利性的种类或情况进行说明和描述,包括任何新的和有用的工序、机器、产品或物质的组合,或对他们的任何新的和有用的改进。相应地,本申请的各个方面可以完全由硬件执行、可以完全由软件(包括固件、常驻软件、微码等)执行、也可以由硬件和软件组合执行。以上硬件或软件均可被称为“数据块”、“模块”、“引擎”、“单元”、“组件”或“系统”。此外,本申请的各方面可能表现为位于一个或多个计算机可读介质中的计算机产品,该产品包括计算机可读程序编码。
计算机存储介质可能包含一个内含有计算机程序编码的传播数据信号,例如在基带上或作为载波的一部分。该传播信号可能有多种表现形式,包括电磁形式、光形式等,或合适的组合形式。计算机存储介质可以是除计算机可读存储介质之外的任何计算机可读介质,该介质可以通过连接至一个指令执行系统、装置或设备以实现通讯、传播或传输供使用的程序。位于计算机存储介质上的程序编码可以通过任何合适的介质进行传播,包括无线电、电缆、光纤电缆、RF、或类似介质,或任何上述介质的组合。
本申请各部分操作所需的计算机程序编码可以用任意一种或多种程序语言编写,包括面向对象编程语言如Java、Scala、Smalltalk、Eiffel、JADE、Emerald、C++、C#、VB.NET、Python等,常规程序化编程语言如C语言、Visual Basic、Fortran 2003、Perl、COBOL 2002、PHP、ABAP,动态编程语言如Python、Ruby和Groovy,或其他编程语言等。该程序编码可以完全在用户计算机上运行、或作为独立的软件包在用户计算机上运行、或部分在用户计算机上运行部分在远程计算机运行、或完全在远程计算机或服务器上运行。在后种情况下,远程计算机可以通过任何网络形式与用户计算机连接,比如局域网(LAN)或广域网(WAN),或连接至外部计算机(例如通过因特网),或在云计算环境中,或作为服务使用如软件即服务(SaaS)。
此外,除非权利要求中明确说明,本申请所述处理元素和序列的顺序、数字字母的使用、或其他名称的使用,并非用于限定本申请流程和方法的顺序。尽管上述披露中通过各种示例讨论了一些目前认为有用的发明实施例,但应当理解的是,该类细节仅起到说明的目的,附加的权利要求并不仅限于披露的实施例,相反,权利要求旨在覆盖所有符合本申请实施例实质和范围的修正和等价组合。例如,虽然以上所描述的系统组件可以通过硬件设备实现,但是也可以只通过软件的解决方案得以实现,如在现有的服务器或移动设备上安装所描述的系统。
同理,应当注意的是,为了简化本申请披露的表述,从而帮助对一个或多个发明实施例的理解,前文对本申请实施例的描述中,有时会将多种特征归并至一个实施例、附图或对其的描述中。但是,这种披露方法并不意味着本申请对象所需要的特征比权利要求中提及的特征多。实际上,实施例的特征要少于上述披露的单个实施例的全部特征。
一些实施例中使用了描述成分、属性数量的数字,应当理解的是,此类用于实施例描述的数字,在一些示例中使用了修饰词“大约”、“近似”或“大体上”来修饰。除非另外说明,“大约”、“近似”或“大体上”表明所述数字允许有±20%的变化。相应地,在一些实施例中,说明书和权利要求中使用的数值参数均为近似值,该近似值根据个别实施例所需特点可以发生改变。在一些实施例中,数值参数应考虑规定的有效数位并采用一般位数保留的方法。尽管本申请一些实施例中用于确认其范围广度的数值域和参数为近似值,在具体实施例中,此类数值的设定在可行范围内尽可能精确。
针对本申请引用的每个专利、专利申请、专利申请公开物和其他材料,如文章、书籍、说明书、出版物、文档等,特此将其全部内容并入本申请作为参考。与本申请内容不一致或产生冲突的申请历史文件除外,对本申请权利要求最广范围有限制的文件(当前或之后附加于本申请中的)也除外。需要说明的是,如果本申请附属材料中的描述、定义、和/或术语的使用与本申请所述内容有不一致或冲突的地方,以本申请的描述、定义和/或术语的使用为准。
最后,应当理解的是,本申请中所述实施例仅用以说明本申请实施例的原则。其他的变形也可能属于本申请的范围。因此,作为示例而非限制,本申请实施例的替代配置可视为与本申请的教导一致。相应地,本申请的实施例不仅限于本申请明确介绍和描述的实施例。
Claims (19)
1.一种基于对抗样本增强模型抗攻击能力的方法,其中,所述方法包括:
获取第一样本和第二样本,其中,所述第一样本与所述第二样本的相似度大于相似度阈值;
将所述第一样本和所述第二样本输入第一模型,得到与所述第一样本对应的第一输出,以及与所述第二样本对应的第二输出;
基于所述第一输出与所述第二输出的差异程度,调整所述第二样本,以增大所述差异程度,并在所述差异程度满足预设条件时,将调整后的所述第二样本作为对抗样本;
基于该对抗样本,调整第二模型,以增强所述第二模型的抗攻击能力;
其中,所述第二模型是所述第一模型经过微调后得到的模型。
2.如权利要求1所述的方法,其中,所述第一样本和所述第二样本为图像样本;所述调整所述第二样本包括:调整所述第二样本中若干像素的值,其中被调整的每个像素的值的变化范围小于像素阈值。
3.如权利要求1所述的方法,其中,所述第一输出和所述第二输出均为所述第一模型的logits层的输出。
4.如权利要求1所述的方法,其中,所述基于所述第一输出与所述第二输出的差异程度,调整所述第二样本,包括:
基于所述第一输出与所述第二输出计算目标函数的函数值,所述目标函数用于表征所述第一输出与所述第二输出的所述差异程度;
若所述函数值不满足所述预设条件,调整所述第二样本,并将调整后的所述第二样本输入所述第一模型;
所述方法还包括:
重复执行将所述第二样本输入所述第一模型的步骤,至调整所述第二样本的步骤,直至所述函数值满足所述预设条件,并将当前得到的所述第二样本作为所述对抗样本。
5.如权利要求4所述的方法,其中,在所述函数值大于或等于函数值阈值,或者,所述重复执行所述步骤的次数大于或等于次数阈值时,所述函数值满足所述预设条件。
6.如权利要求4所述的方法,其中,所述调整所述第二样本,包括:
沿所述第一模型的梯度的方向调整所述第二样本。
8.如权利要求1所述的方法,其中,所述基于该对抗样本,调整第二模型,以增强所述第二模型的抗攻击能力,包括:
将所述对抗样本输入所述第二模型,得到与所述对抗样本对应的输出,该输出用于表征所述对抗样本属于该输出对应类别的概率;
针对同一所述对抗样本,若该对抗样本的所有该输出中的最大值对应的标签与所述对抗样本的真实标签不同,则判定该对抗样本对所述第二模型攻击成功;
针对多个所述对抗样本,统计对应于该多个所述对抗样本的所述攻击的成功次数在所述攻击的总次数中的比例,并基于该比例调整所述第二模型,以增强所述第二模型的抗攻击能力。
9.如权利要求1所述的方法,其中,所述第一模型和所述第二模型为用于对图片进行识别的模型。
10.一种基于对抗样本增强模型抗攻击能力的系统,其中,所述系统包括:
获取模块,用于获取第一样本和第二样本,其中,所述第一样本与所述第二样本的相似度大于相似度阈值;
输入模块,用于将所述第一样本和所述第二样本输入第一模型,得到与所述第一样本对应的第一输出,以及与所述第二样本对应的第二输出;
调整模块,用于基于所述第一输出与所述第二输出的差异程度,调整所述第二样本,以增大所述差异程度,并在所述差异程度满足预设条件时,将调整后的所述第二样本作为对抗样本;
增强模块,用于基于该对抗样本,调整第二模型,以增强所述第二模型的抗攻击能力;
其中,所述第二模型是所述第一模型经过微调后得到的模型。
11.如权利要求10所述的系统,其中,所述第一样本和所述第二样本为图像样本;所述调整所述第二样本包括:调整所述第二样本中若干像素的值,其中被调整的每个像素的值的变化范围小于像素阈值。
12.如权利要求10所述的系统,其中,所述第一输出和所述第二输出均为所述第一模型的logits层的输出。
13.如权利要求10所述的系统,其中,所述调整模块包括:
计算单元,用于基于所述第一输出与所述第二输出计算目标函数的函数值,所述目标函数用于表征所述第一输出与所述第二输出的所述差异程度;
样本调整单元,用于调整所述第二样本,并将调整后的所述第二样本输入所述第一模型;
判断单元,用于判断所述函数值是否满足所述预设条件,在所述函数值满足所述预设条件时,所述样本调整单元停止调整所述第二样本,在所述函数值不满足所述预设条件时,所述样本调整单元继续调整所述第二样本。
14.如权利要求13所述的系统,其中,在所述函数值大于或等于函数值阈值,或者,所述样本调整单元重复调整所述第二样本的次数大于或等于次数阈值时,所述函数值满足所述预设条件。
15.如权利要求13所述的系统,其中,所述样本调整单元用于:
沿所述第一模型的梯度的方向调整所述第二样本。
17.如权利要求10所述的系统,其中,所述增强模块用于:
将所述对抗样本输入所述第二模型,得到与所述对抗样本对应的输出,该输出用于表征所述对抗样本属于该输出对应类别的概率;
针对同一所述对抗样本,若该对抗样本的所有该输出中的最大值对应的标签与所述对抗样本的真实标签不同,则判定该对抗样本对所述第二模型攻击成功;
针对多个所述对抗样本,统计对应于该多个所述对抗样本的所述攻击的成功次数在所述攻击的总次数中的比例,并基于该比例调整所述第二模型,以增强所述第二模型的抗攻击能力。
18.如权利要求10所述的系统,其中,所述第一模型和所述第二模型为用于对图片进行识别的模型。
19.一种基于对抗样本增强模型抗攻击能力的装置,包括处理器,其中,所述处理器用于执行如权利要求1~9任一项所述的基于对抗样本增强模型抗攻击能力的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201911274700.9A CN110941824B (zh) | 2019-12-12 | 2019-12-12 | 一种基于对抗样本增强模型抗攻击能力的方法和系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201911274700.9A CN110941824B (zh) | 2019-12-12 | 2019-12-12 | 一种基于对抗样本增强模型抗攻击能力的方法和系统 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN110941824A CN110941824A (zh) | 2020-03-31 |
CN110941824B true CN110941824B (zh) | 2022-01-28 |
Family
ID=69910552
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201911274700.9A Active CN110941824B (zh) | 2019-12-12 | 2019-12-12 | 一种基于对抗样本增强模型抗攻击能力的方法和系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN110941824B (zh) |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111523651A (zh) * | 2020-07-03 | 2020-08-11 | 支付宝(杭州)信息技术有限公司 | 用于评估神经网络的方法和装置 |
CN113407939B (zh) * | 2021-06-17 | 2022-08-05 | 电子科技大学 | 面向黑盒攻击的替代模型自动选取方法、存储介质及终端 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108257116A (zh) * | 2017-12-30 | 2018-07-06 | 清华大学 | 一种生成对抗图像的方法 |
CN110334808A (zh) * | 2019-06-12 | 2019-10-15 | 武汉大学 | 一种基于对抗样本训练的对抗攻击防御方法 |
CN110348475A (zh) * | 2019-05-29 | 2019-10-18 | 广东技术师范大学 | 一种基于空间变换的对抗样本增强方法和模型 |
CN110502976A (zh) * | 2019-07-10 | 2019-11-26 | 深圳追一科技有限公司 | 文本识别模型的训练方法及相关产品 |
Family Cites Families (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108615048B (zh) * | 2018-04-04 | 2020-06-23 | 浙江工业大学 | 基于扰动进化对图像分类器对抗性攻击的防御方法 |
CN109190379B (zh) * | 2018-08-03 | 2020-05-19 | 清华大学 | 一种深度学习系统的漏洞检测方法和装置 |
-
2019
- 2019-12-12 CN CN201911274700.9A patent/CN110941824B/zh active Active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108257116A (zh) * | 2017-12-30 | 2018-07-06 | 清华大学 | 一种生成对抗图像的方法 |
CN110348475A (zh) * | 2019-05-29 | 2019-10-18 | 广东技术师范大学 | 一种基于空间变换的对抗样本增强方法和模型 |
CN110334808A (zh) * | 2019-06-12 | 2019-10-15 | 武汉大学 | 一种基于对抗样本训练的对抗攻击防御方法 |
CN110502976A (zh) * | 2019-07-10 | 2019-11-26 | 深圳追一科技有限公司 | 文本识别模型的训练方法及相关产品 |
Also Published As
Publication number | Publication date |
---|---|
CN110941824A (zh) | 2020-03-31 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11238355B2 (en) | Optimizing automated modeling algorithms for risk assessment and generation of explanatory data | |
US20200334830A1 (en) | Method, apparatus, and storage medium for processing video image | |
EP3582150A1 (en) | Method of knowledge transferring, information processing apparatus and storage medium | |
US9697440B2 (en) | Method and apparatus for recognizing client feature, and storage medium | |
CN111027628B (zh) | 一种模型确定方法和系统 | |
CN111046394A (zh) | 一种基于对抗样本增强模型抗攻击能力的方法和系统 | |
CN111079186B (zh) | 数据分析的方法、装置、设备和存储介质 | |
CN111340143A (zh) | 一种获取对抗样本生成模型的方法和系统 | |
CN111027717A (zh) | 一种模型训练方法和系统 | |
US11657290B2 (en) | System and method with a robust deep generative model | |
CN110941824B (zh) | 一种基于对抗样本增强模型抗攻击能力的方法和系统 | |
CN113986561B (zh) | 人工智能任务处理方法、装置、电子设备及可读存储介质 | |
CN111950647A (zh) | 分类模型训练方法和设备 | |
CN113283388B (zh) | 活体人脸检测模型的训练方法、装置、设备及存储介质 | |
CN114445917A (zh) | 一种人脸活体识别网络训练方法、系统及电子设备 | |
CN111046380B (zh) | 一种基于对抗样本增强模型抗攻击能力的方法和系统 | |
US11507670B2 (en) | Method for testing an artificial intelligence model using a substitute model | |
CN111401112B (zh) | 人脸识别方法和装置 | |
CN111401348B (zh) | 一种目标对象的活体检测方法及系统 | |
CN116109853A (zh) | 任务处理模型训练、任务处理方法、装置及设备 | |
CN114444554A (zh) | 手写数字识别方法、装置、电子设备及计算机存储介质 | |
CN112712550A (zh) | 一种图像质量评价方法及装置 | |
CN110955755A (zh) | 一种确定目标标准信息的方法和系统 | |
Nitta et al. | Detecting Data Drift with KS Test Using Attention Map | |
EP3021230A2 (en) | Computing apparatus, computing method and computer program product |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |