CN113971442A - 一种基于自步学习的生成通用对抗扰动方法及系统 - Google Patents
一种基于自步学习的生成通用对抗扰动方法及系统 Download PDFInfo
- Publication number
- CN113971442A CN113971442A CN202111267097.9A CN202111267097A CN113971442A CN 113971442 A CN113971442 A CN 113971442A CN 202111267097 A CN202111267097 A CN 202111267097A CN 113971442 A CN113971442 A CN 113971442A
- Authority
- CN
- China
- Prior art keywords
- disturbance
- sample
- samples
- self
- learning
- 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.)
- Pending
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F18/00—Pattern recognition
- G06F18/20—Analysing
- G06F18/24—Classification techniques
- G06F18/241—Classification techniques relating to the classification model, e.g. parametric or non-parametric approaches
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F18/00—Pattern recognition
- G06F18/20—Analysing
- G06F18/24—Classification techniques
- G06F18/241—Classification techniques relating to the classification model, e.g. parametric or non-parametric approaches
- G06F18/2415—Classification techniques relating to the classification model, e.g. parametric or non-parametric approaches based on parametric or probabilistic models, e.g. based on likelihood ratio or false acceptance rate versus a false rejection rate
-
- 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/04—Architecture, e.g. interconnection topology
- G06N3/047—Probabilistic or stochastic 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)
- Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- Data Mining & Analysis (AREA)
- Evolutionary Computation (AREA)
- Life Sciences & Earth Sciences (AREA)
- Artificial Intelligence (AREA)
- General Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Health & Medical Sciences (AREA)
- Molecular Biology (AREA)
- Software Systems (AREA)
- Mathematical Physics (AREA)
- Computing Systems (AREA)
- Health & Medical Sciences (AREA)
- Biomedical Technology (AREA)
- Biophysics (AREA)
- Computational Linguistics (AREA)
- Probability & Statistics with Applications (AREA)
- Evolutionary Biology (AREA)
- Bioinformatics & Cheminformatics (AREA)
- Bioinformatics & Computational Biology (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Image Analysis (AREA)
Abstract
本发明公开了一种基于自步学习的生成通用对抗扰动方法及系统,准备训练数据集;对数据集添加扰动;判断扰动成功率;通过自步学习筛选需要扰动的样本;使用DeepFool算法产生扰动;更新扰动;返回通用扰动变量;能够自动地剔除或选择要扰动的样本,并对这些样本梯度求平均,更高效的生成对抗样本;本发明生成通用对抗扰动时,应尽可能多地提高通用扰动的成功攻击比例,为此应当放弃一小部分非常难以扰动,或者与大部分扰动成功的对抗样本扰动方向完全相反的样本。所以采用自步学习进行筛选样本,将容易被扰动的样本首先进行扰动,难样本进行舍弃,以达到高成功率的结果。
Description
技术领域
本发明属于图像分类技术领域,具体涉及一种基于自步学习的生成通用对抗扰动方法及系统。
背景技术
随着计算机技术的发展,深度学习强大的映射能力让其能够被广泛地应用在各个领域,如以计算机视觉为代表的人脸识别、目标检测和自动驾驶等领域,或者以自然语言处理为代表的语音识别、机器翻译和语言合成等领域,又或者专家系统为代表的智能机器人等领域。Szegedy等人首次在深度图像分类网络中发现并定义了对抗样本(AdversarialExamples,AEs),即一种人为精心构造的图像,在输入到目标网络后,得到与人类判断完全不同的分类结果。自此,越来越多的研究表明,许多经典的深度神经网络并没有与其高分类正确率相匹配的高鲁棒性,并逐渐发现这些网络的分类边界并不平滑,导致极易受到一些特定的微小噪声的扰动,从而极大地改变输出结果。
目前已存在许多产生对抗样本的方法,Szegedy等人2014年首次发现深度图像分类网络中存在着对抗样本,并随之提出了生成基于微小扰动的对抗样本的算法:L-BFGS,构建了生成对抗样本的大致框架。主要内容为,在改变对抗扰动以增加攻击性的同时,约束该扰动的大小,以同时保证对抗样本对目标网络的干扰能力和对抗扰动的微小难以察觉。具体地,该算法通过构建一个同时包含扰动攻击能力与约束扰动大小的损失函数,然后通过优化该损失函数来生成对抗样本。该方法被后来的许多面向图像分类的经典生成对抗样本算法所参考和继承。紧接着,GoodFellow等人提出了FGSM(Fast Gadient Sign Method),一种按照损失函数梯度的符号函数方向生成对抗扰动的算法,可以单步快速地生成基于范数约束下的对抗样本。除了此以外,作者还在论文中提出,对抗样本具有迁移性质以及可以通过对抗训练来防御对抗攻击等重要发现。
Kurakin等人提出了Basic Iterative Methods(BIM)算法,其原理类似于随机梯度下降算法,即在多次迭代中,根据当前损失函数对于输入样本的梯度来细致地生成每一步扰动,这样该算法就可以在目标网络分类空间中,找到原输入样本点到某个最近的分类边界的路径。为了展示出深度网络的非鲁棒性,Su等人提出基于差分进化实现了仅改变原图像一个像素就能生成有效的对抗样本,从而使目标网络分类出错的算法。随后Moosavi-Dezfooli等人提出了一种同时利用网络各类置信度与梯度信息来找到最近分类边界的方法:DeepFool,并展现出明显高于FGSM算法的性能。Papernot等人提出了JSMA(Jacobian-based Saliency Map Attack)算法,该算法采用基于范数的扰动大小测量方法,通过约束改变原图像像素的个数来限制扰动的显著性。Carlini和Wagner提出了一种针对对抗防御的对抗攻击算法,与L-BFGS算法相似,该算法通过构建一个平衡权重,然后将对抗攻击项(影响对抗样本的错误分类程度)与扰动约束项(衡量扰动大小)合并为一个损失函数,并一边通过梯度优化该损失函数,一边不断搜索合适的权重。这样,尽管搜索过程需要耗费许多时间,但该算法能够生成微小且更强力的对抗扰动。针对对抗样本的迁移性,Moosavi-Dezfooli等人提出了通用扰动(Universal Adversarial Perturbations,UAPs)这一概念,即一个固定的对抗扰动能够与许多不同的样本组合产生有效的对抗样本。
通用对抗扰动是指一个不变的对抗扰动,添加到多个输入原样本后,能够生成多个具有攻击力的对抗样本。由于其易结合的性质,从而易于部署。因此通用对抗扰动被认为是更具实际应用意义的对抗攻击方法。Moosavi-Dezfooli等人提出的通用对抗扰动是指,一个固定的对抗扰动,能够与多个原样本相结合生成对应的对抗样本。然而,由于该算法的设计思路主要为,让通用对抗扰动不断地循环适应单个原样本以获得通用性,从而导致了该算法有着较低计算效率与不能并行计算的缺陷。
发明内容
本发明所要解决的技术问题在于针对上述现有技术中的不足,提供一种基于自步学习的生成通用对抗扰动方法及系统,使得改进后的基于自步学习的生成通用对抗扰动算法能够自动地按优先级给输入样本排序,剔除一些过于难以扰动的样本,并对这些样本的梯度进行批量求和,利用该梯度来更平滑地生成更高性能的对抗样本。
本发明采用以下技术方案:
一种基于自步学习的生成通用对抗扰动方法,对扰动进行初始化得到初始扰动,将初始扰动添加到原始数据集的每个样本中;对添加初始扰动的样本进行分类,计算扰动成功率Err(Xr),通过自步学习筛选需要扰动的样本;再使用DeepFool方法将筛选出的样本生成扰动;对生成的扰动进行累加,更新通用扰动值并加入原始数据集的每个样本中,计算样本整体扰动成功率,当样本整体扰动成功率达到设定要求后,返回通用扰动变量,产生通用对抗扰动。
具体的,初始扰动为0,扰动范围为[0,1]。
具体的,扰动成功率Err(Xr)满足条件如下:
Err(Xr)≥1-δ
其中,Xr表示添加对抗扰动之后的数据集,δ为欺骗率。
具体的,通过自步学习筛选需要扰动的样本,若未达到样本扰动错误概率,挑选下一个样本进行扰动,根据扰动难易程度对样本进行干扰,以达到最大的扰动概率。
进一步的,通过自步学习筛选需要扰动的样本具体为:
初始化网络参数权重,定义所有样本的损失函数;确定权重参数,根据正则项选择样本范围,选择样本范围内的样本点;将选择的样本点代入图像分类神经网络中重新训练权重参数W,循环以上步骤至所有样本被选入;按照样本的难易程度返回选择样本的顺序。
更进一步的,步骤S401中,定义损失函数如下:
其中,f(·)表示分类器网络,x为样本,W为权重参数,l为对应的标签,v表示二分变量,r(vi,λ)表示正则化参数。
具体的,使用DeepFool方法将筛选出的样本生成扰动具体为:
初始化样本,此时标签为正确分类的标签;选择离当前样本类别距离最近的超平面,通过迭代计算样本点向不同分类标签移动时距离最近的决策边界平面;根据样本点到最近的超平面的距离及方向产生相对较优的扰动向量,并将扰动向量添加到样本中观察是否扰动成功;如未扰动成功,重复以上两个步骤,直至扰动成功为止。
具体的,先将原始数据集经过神经网络进行分类,然后将数据进行归一化处理,样本中各像素值的数据区间为[0,1]。
本发明的另一技术方案是,一种基于自步学习的生成通用对抗扰动系统,包括:
初始模块,对扰动进行初始化得到初始扰动,将初始扰动添加到原始数据集中的每个样本中;
分类模块,对添加初始扰动的样本进行分类,计算扰动成功率Err(Xr),通过自步学习筛选需要扰动的样本;
生成模块,使用DeepFool方法将筛选出的样本生成扰动;
扰动模块,对生成的扰动进行累加,更新通用扰动值并加入原始数据集的每个样本中,计算样本整体扰动成功率,当样本整体扰动成功率达到设定要求后,返回通用扰动变量,产生通用对抗扰动。
与现有技术相比,本发明至少具有以下有益效果:
本发明一种基于自步学习的生成通用对抗扰动方法,生成通用对抗扰动时,能够提高通用扰动的成功攻击比例,为此应当放弃一小部分非常难以扰动,或者与大部分扰动成功的对抗样本扰动方向完全相反的样本。本发明能够自动地剔除或选择要扰动的样本,并对这些样本梯度求平均,更高效地生成对抗样本,采用自步学习进行筛选样本,将容易被扰动的样本进行扰动,难样本进行舍弃,以达到高成功率的结果。
进一步的,将初始扰动设为0,避免添加随机噪声产生相应的干扰,将扰动范围设置为[0,1]之间,防止图像添加扰动后越过上下限边界。
进一步的,设置样本整体扰动成功率Err(Xr),以判断通用是否达到扰动要求,若达到则停止扰动,返回通用扰动向量,否则继续对样本进行扰动,以此达到较优的通用扰动向量。
进一步的,在自步学习中,对于给定的一个网络,即当网络中的权值固定,一般定义一个样本是简单还是难被扰动,可以通过看这个样本经过神经网络输出的函数损失值是大是小来判断。如果函数损失较大,这说明预测就越不准确,就越容易被干扰。自步学习可以自动选择容易被干扰的样本,先扰动这些样本,以此达到使用最优的扰动向量达到最大的样本扰动成功率。
进一步的,通过自步学习进行扰动样本的筛选,与传统的依次对样本进行选择相比,可以更加快速有效地找到最优的扰动向量,以达到样本的整体扰动成功率,相比于传统的算法可以节省更多的扰动时间和减少相应的扰动尺度大小。
进一步的,定义相关的损失函数可以有效地判断各个样本点被扰动的难易程度,同时通过v的取值来确定该样本点是否选入被扰动的样本范围中。
进一步的,与传统对抗样本攻击算法相比,DeepFool算法产生的扰动更小,同时计算对抗样本所消耗的时间也最少,同时该算法通过找到距离样本的最近的超平面而产生相应的扰动,保证了对抗扰动变量更小且更加有效,扰动不可见性更高。
进一步的,将样本的数据点设置为[0,1]之间是通过对数据进行标准化操作得到的。通过对数据进行标准化处理,可以避免不同样本差异所带来的影响,使得实验结果更加有效。
综上所述,本发明生成通用对抗扰动时,应尽可能多地提高通用扰动的成功攻击比例,为此应当放弃一小部分非常难以扰动,或者与大部分扰动成功的对抗样本扰动方向完全相反的样本。所以采用自步学习进行筛选样本,将容易被扰动的样本首先进行扰动,难样本进行舍弃,以达到高成功率的结果。
下面通过附图和实施例,对本发明的技术方案做进一步的详细描述。
附图说明
图1为本发明流程图;
图2为现有方法和本发明方法在仿真图上的实验结果图;
图3为原版通用扰动算法和基于自步学习的通用扰动算法的主要流程区别示意图;
图4为权重vi与损失值Li的关系示意图;
图5为自步学习改进版参数变化对扰动成功率的影响示意图;
图6为基于自步学习改进版各样本损失函数3D直方图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
在本发明的描述中,需要理解的是,术语“包括”和“包含”指示所描述特征、整体、步骤、操作、元素和/或组件的存在,但并不排除一个或多个其它特征、整体、步骤、操作、元素、组件和/或其集合的存在或添加。
还应当理解,在本发明说明书中所使用的术语仅仅是出于描述特定实施例的目的而并不意在限制本发明。如在本发明说明书和所附权利要求书中所使用的那样,除非上下文清楚地指明其它情况,否则单数形式的“一”、“一个”及“该”意在包括复数形式。
还应当进一步理解,在本发明说明书和所附权利要求书中使用的术语“和/或”是指相关联列出的项中的一个或多个的任何组合以及所有可能组合,并且包括这些组合。
在附图中示出了根据本发明公开实施例的各种结构示意图。这些图并非是按比例绘制的,其中为了清楚表达的目的,放大了某些细节,并且可能省略了某些细节。图中所示出的各种区域、层的形状及它们之间的相对大小、位置关系仅是示例性的,实际中可能由于制造公差或技术限制而有所偏差,并且本领域技术人员根据实际所需可以另外设计具有不同形状、大小、相对位置的区域/层。
由于神经网络在计算机图像分类识别,自然语言处理等领域中存在着广泛的作用,但目前发现对目标图像添加一个人眼观测不到的扰动使得分类器错误分类,这说明目前的神经网络不具有鲁棒性,为深度研究对抗样本产生的原因及提高网络的鲁棒性,提出了许多生成对抗样本方法,其中通用对抗扰动是最简洁的一种方法。
本发明提供了一种基于自步学习的生成通用对抗扰动方法,首先准备原始数据集;先初始化一个初始扰动,将所有的样本添加此扰动;接着通过图像分类神经网络对样本进行分类,计算扰动成功率Err(Xr);然后通过自步学习筛选需要扰动的样本;接着使用DeepFool算法将筛选出的样本生成扰动;更新通用扰动值,再将其加入样本中,计算扰动成功率,直到达到一定要求即可返回通用扰动变量,最终产生通用对抗扰动。
请参阅图1和图3,本发明一种基于自步学习的生成通用对抗扰动方法,包括以下步骤:
S1、准备训练数据集
数据集为目前开源的原始数据集,未添加任何对抗扰动,带有原始标签,这些数据集经过神经网络进行分类可得到其正确的类别,将数据进行归一化处理,数据区间在[0,1]之间;
S2、对训练数据集添加扰动
将步骤S1准备的训练数据集中的每一张图片都添加相同的对抗扰动,一开始的初始化扰动为0,扰动的范围也在[0,1]之间;
S3、判断扰动成功率
当整个训练数据集的扰动成功概率符合Err(Xr)≥1-δ公式,Xr表示添加对抗扰动之后的数据集,δ为欺骗率,该值越小越好;
S4、通过自步学习筛选需要扰动的样本
若未达到样本扰动错误概率,则需要挑选下一个样本进行扰动,根据扰动难易程度,先对预测正确标签置信度低的样本进行干扰,以达到最大的扰动概率;
S5、使用DeepFool算法产生扰动
步骤S4选择样本之后,将选择的样本通过使用DeepFool算法进行扰动,添加通过DeepFool算法生成的扰动变量,使得分类器将该样本分类错误,返回相应的扰动;
S6、更新扰动
对先前样本产生的扰动进行累加,同时根据范数的限制进行相应的映射操作;
S7、返回通用扰动变量
循环以上过程,直至样本整体的错误率达到一定条件,返回最终的扰动变量,并将该变量添加到原始图片中产生通用的对抗样本。
本发明再一个实施例中,提供一种基于自步学习的生成通用对抗扰动系统,该系统能够用于实现上述基于自步学习的生成通用对抗扰动方法,具体的,该基于自步学习的生成通用对抗扰动系统包括初始模块、分类模块、生成模块以及扰动模块。
其中,初始模块,对扰动进行初始化得到初始扰动,将初始扰动添加到原始数据集中的每个样本中;
分类模块,对添加初始扰动的样本进行分类,计算扰动成功率Err(Xr),通过自步学习筛选需要扰动的样本;
生成模块,使用DeepFool方法将筛选出的样本生成扰动;
扰动模块,对生成的扰动进行累加,更新通用扰动值并加入原始数据集的每个样本中,计算样本整体扰动成功率,当样本整体扰动成功率达到设定要求后,返回通用扰动变量,产生通用对抗扰动。
本发明再一个实施例中,提供了一种终端设备,该终端设备包括处理器以及存储器,所述存储器用于存储计算机程序,所述计算机程序包括程序指令,所述处理器用于执行所述计算机存储介质存储的程序指令。处理器可能是中央处理单元(Central ProcessingUnit,CPU),还可以是其他通用处理器、数字信号处理器(Digital Signal Processor、DSP)、专用集成电路(Application Specific Integrated Circuit,ASIC)、现成可编程门阵列(Field-Programmable GateArray,FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等,其是终端的计算核心以及控制核心,其适于实现一条或一条以上指令,具体适于加载并执行一条或一条以上指令从而实现相应方法流程或相应功能;本发明实施例所述的处理器可以用于基于自步学习的生成通用对抗扰动方法的操作,包括:
对扰动进行初始化得到初始扰动,将初始扰动添加到原始数据集的每个样本中;对添加初始扰动的样本进行分类,计算扰动成功率Err(Xr),通过自步学习筛选需要扰动的样本;再使用DeepFool方法将筛选出的样本生成扰动;对生成的扰动进行累加,更新通用扰动值并加入原始数据集的每个样本中,计算样本整体扰动成功率,当样本整体扰动成功率达到设定要求后,返回通用扰动变量,产生通用对抗扰动。
本发明再一个实施例中,本发明还提供了一种存储介质,具体为计算机可读存储介质(Memory),所述计算机可读存储介质是终端设备中的记忆设备,用于存放程序和数据。可以理解的是,此处的计算机可读存储介质既可以包括终端设备中的内置存储介质,当然也可以包括终端设备所支持的扩展存储介质。计算机可读存储介质提供存储空间,该存储空间存储了终端的操作系统。并且,在该存储空间中还存放了适于被处理器加载并执行的一条或一条以上的指令,这些指令可以是一个或一个以上的计算机程序(包括程序代码)。需要说明的是,此处的计算机可读存储介质可以是高速RAM存储器,也可以是非不稳定的存储器(non-volatile memory),例如至少一个磁盘存储器。
可由处理器加载并执行计算机可读存储介质中存放的一条或一条以上指令,以实现上述实施例中有关基于自步学习的生成通用对抗扰动方法的相应步骤;计算机可读存储介质中的一条或一条以上指令由处理器加载并执行如下步骤:
对扰动进行初始化得到初始扰动,将初始扰动添加到原始数据集的每个样本中;对添加初始扰动的样本进行分类,计算扰动成功率Err(Xr),通过自步学习筛选需要扰动的样本;再使用DeepFool方法将筛选出的样本生成扰动;对生成的扰动进行累加,更新通用扰动值并加入原始数据集的每个样本中,计算样本整体扰动成功率,当样本整体扰动成功率达到设定要求后,返回通用扰动变量,产生通用对抗扰动。
为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。通常在此处附图中的描述和所示的本发明实施例的组件可以通过各种不同的配置来布置和设计。因此,以下对在附图中提供的本发明的实施例的详细描述并非旨在限制要求保护的本发明的范围,而是仅仅表示本发明的选定实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
目前存在许多产生对抗样本的方法,而通用对抗扰动以其具有广泛的迁移性具有更加重要的意义。目前生成的对抗样本方法通过对图片依次进行扰动,效率低下,将一些难以进行扰动的样本也进行计算,降低了扰动成功的概率。因此提出基于自步学习的方法经过筛选先易后难的样本点进行扰动,主要扰动简单的样本,从而提高扰动成功的概率。
本发明在生成通用对抗扰动时,应尽可能多地提高通用扰动的成功攻击比例,为此应当放弃小部分非常难以扰动,或者与大部分扰动成功的对抗样本扰动方向完全相反的样本。所以采用自步学习进行筛选样本,将容易被扰动的样本首先进行扰动,难样本进行舍弃,以达到高成功率的结果。
下面给出一个更加详尽的例子,对本发明进一步说明
实施例1
本发明具体实施步骤如下:
S1、实验样本基于ILSVRC 2012的验证集,一共50,000张图片,为来自1000个类别的每类50张图片,训练数据为其训练集中的10,000个图片样本,如图2所示。
S2、将步骤S1的训练数据集中的每一张图片样本都添加相同的对抗扰动,一开始的初始化扰动为0,扰动的范围也在[0,1]之间;
S3、当整个数据集的扰动成功概率符合Err(Xr)≥1-δ公式,Xr表示添加对抗扰动之后的数据集,δ为欺骗率,该值越小越好;
S4、若未达到样本扰动错误概率,则需要挑选下一个样本进行扰动,根据扰动难易程度,先对容易错误分类的样本进行干扰,以达到最大的扰动概率;
S401、初始化网络参数权重,定义所有样本的损失函数如下所示,相应损失函数为:
其中,f(·)表示分类器网络,x为样本,W为权重参数,l为对应的标签,v表示二分变量,r(vi,λ)表示正则化参数;
S402、首先确定权重参数,根据正则项选择样本范围,选择在范围内的样本点;
S403、根据目前存在的样本点,将这些样本点代入网络中重新训练权重参数W,循环前两步操作直至所有样本选入其中;
S404、按照样本的难易程度返回选择样本的顺序。
请参阅图5,为提出的自步学习改进版参数变化对扰动成功率的影响,在参数k2从1×10-15变化至1×10-125期间,扰动成功率曲线并没有显著变化,从而说明提出的自步学习自动优先排序样本的策略十分稳定,对参数不敏感。同时也表明了该提出的算法通用攻击能力已逼近目标网络能够被通用扰动的极限。
S5、选择样本之后,将该样本通过使用DeepFool算法进行扰动,添加一个微小的扰动变量,使得分类器将该样本分类错误,返回相应的扰动;
S501、初始化样本,即原样本,此时标签为正确分类的标签;
S502、选择离当前样本类别距离最近的超平面,通过迭代计算该点向不同分类标签移动时距离最近的那一个;
S503、根据样本点到最近的超平面的距离及方向产生相对较优的扰动向量,并将此向量添加到样本中观察是否扰动成功;
S504、如未扰动成功,重复以上两个步骤,直至扰动成功为止。
S6、对先前样本产生的扰动进行累加,同时根据范数的限制进行相应的映射操作;
S7、循环以上步骤,直至样本整体的错误率达到一定条件,返回最终的扰动变量,并将该变量添加到原始图片中产生通用的对抗样本。
本发明在生成通用对抗扰动时,应尽可能多地提高通用扰动的成功攻击比例,为此应当放弃一小部分非常难以扰动,或者与大部分扰动成功的对抗样本扰动方向完全相反的样本。所以采用自步学习进行筛选样本,将容易被扰动的样本首先进行扰动,难样本进行舍弃,以达到高成功率的结果。
实施例2
基于自步学习的生成通用对抗扰动方法同实施例1
实验条件
实验所用微机CPU为Intel Corei7-10750H内存16GB,编程平台是Python。
实验样本基于ILSVRC 2012的验证集,一共50,000张图片,为来自1000个类别的每类50张图片。训练数据为其训练集中的10,000个图片样本。被攻击的目标网络模型为,VGG-F、VGG16、VGG19、CaffeNet、GoogLeNet和ResNet152一共6个经典深度卷积神经网络(均来自Python语言平台的torchvision和pretrainedmodels库中的预训练模型)。
实验内容
对于这两种生成通用扰动算法,统一将最大样本迭代次数设置为100(以保证算法都进入收敛阶段,且事实上,原算法由于采用了DeepFool,因此每次迭代求导次数大约平均为自步学习版的5倍)。我们采用l∞范数作为扰动大小计算方法,扰动大小限制设置为ε=10/255(输入图像像素范围为[0,1])。对于原版中的独特超出边界量参数overshoot,将按照原论文overshoot=0.02设置。对于自步版的独特参数k1和k2,将其分别设置为k1=1×10-10,参照图4,同时我们将采用动量梯度下降算法来优化自步版的损失函数,其衰减因子μ=0.9。
表1 l∞范数下扰动成功率对比(成功率越大越好)
表1中显示的为在l∞范数约束下,两种算法对于以上网络的扰动成功率情况。其中成功率(%)为针对该模型网络生成的通用扰动,对整个ILSVRC 2012验证集的扰动成功样本占比,即,扰动成功的样本数目除以总的样本数目。由此可见,从整体上来看,基于自步学习的生成通用对抗扰动算法比原版算法能在部分深度卷积神经网络的基础上,生成强有力的通用扰动,并且在其他网络上,例如CaffeNet和GoogLeNet,与最优效果相差不大,也就是说,我们的算法寻找各个对抗样本空间重合点的能力更强。
表2 l2范数下扰动成功率对比(成功率越大越好)
表2展示了l2范数下扰动成功率对比,即给定一个最大扰动的阈值,并使l2范数评估的扰动大小不超过该阈值。
在该表的实验环境中,令ε=2000/255,随后对比了能够在l2范数约束下生成通用扰动的算法性能;其结果与表1相似,尽管在部分网络上,例如GoogLeNet,该算法生成通用对抗扰动的性能有所下降,但大部分(尤其是VGG系列卷积神经)的性能都具有提升。
通用扰动的成功率大小与迭代次数、目标模型和所选样本有很大的相关性。对于迭代次数,要尽可能大地让成功率收敛;对于目标模型,由于训练时的数据顺序和截止时的损失值不同,会带来一些比较微弱的鲁棒性差异;对于占主要差异因素的所选样本,尽管我们已经尽可能地与原通用扰动算法保持一致(原算法也是一共10000张来自ILSVRC 2012训练集的图片),但这种带有随机性的抽取方法会造成两者的样本标号不一致,又因为通用扰动的实质在于找到样本集中,对抗样本解空间的重合区域,因此该因素将显著影响着扰动成功率。
请参阅图6,为基于自步学习改进版各样本损失函数3D直方图,即随着迭代次数的增加,许多损失函数值大于0的样本被按照自步学习优先级原理优化至损失函数小于0。另外可以发现,在算法收敛阶段(iter较大的时候),损失函数小于0的区域会有一段隆起,这也就意味着有相当多的一部分被通用扰动攻击成功的样本聚集在此,展现了该网络的通用特征。
综上所述,本发明一种基于自步学习的生成通用对抗扰动方法及系统,针对目前已有生成对抗样本效率低等不足,提出了基于自步学习方法生成通用对抗扰动,使得改进后的基于自步学习的生成通用对抗扰动算法能够自动地按优先级给输入样本排序,剔除一些过于难以扰动的样本,并对这些样本的梯度进行批量求和,利用该梯度来更平滑地生成更高性能的对抗样本;生成通用对抗扰动时,可能多地提高通用扰动的成功攻击比例,为此应当放弃一小部分非常难以扰动,或者与大部分扰动成功的对抗样本扰动方向完全相反的样本,该算法能够自动地剔除或选择要扰动的样本,并对这些样本梯度求平均,更高效地生成对抗样本。
本领域内的技术人员应明白,本申请的实施例可提供为方法、系统、或计算机程序产品。因此,本申请可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本申请可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
本申请是参照根据本申请实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
以上内容仅为说明本发明的技术思想,不能以此限定本发明的保护范围,凡是按照本发明提出的技术思想,在技术方案基础上所做的任何改动,均落入本发明权利要求书的保护范围之内。
Claims (9)
1.一种基于自步学习的生成通用对抗扰动方法,其特征在于,对扰动进行初始化得到初始扰动,将初始扰动添加到原始数据集的每个样本中;对添加初始扰动的样本进行分类,计算扰动成功率Err(Xr),通过自步学习筛选需要扰动的样本;再使用DeepFool方法将筛选出的样本生成扰动;对生成的扰动进行累加,更新通用扰动值并加入原始数据集的每个样本中,计算样本整体扰动成功率,当样本整体扰动成功率达到设定要求后,返回通用扰动变量,产生通用对抗扰动。
2.根据权利要求1所述的方法,其特征在于,初始扰动为0,扰动范围为[0,1]。
3.根据权利要求1所述的方法,其特征在于,扰动成功率Err(Xr)满足条件如下:
Err(Xr)≥1-δ
其中,Xr表示添加对抗扰动之后的数据集,δ为欺骗率。
4.根据权利要求1所述的方法,其特征在于,通过自步学习筛选需要扰动的样本,若未达到样本扰动错误概率,挑选下一个样本进行扰动,根据扰动难易程度对样本进行干扰,以达到最大的扰动概率。
5.根据权利要求4所述的方法,其特征在于,通过自步学习筛选需要扰动的样本具体为:
初始化网络参数权重,定义所有样本的损失函数;确定权重参数,根据正则项选择样本范围,选择样本范围内的样本点;将选择的样本点代入图像分类神经网络中重新训练权重参数W,循环以上步骤至所有样本被选入;按照样本的难易程度返回选择样本的顺序。
7.根据权利要求1所述的方法,其特征在于,使用DeepFool方法将筛选出的样本生成扰动具体为:
初始化样本,此时标签为正确分类的标签;选择离当前样本类别距离最近的超平面,通过迭代计算样本点向不同分类标签移动时距离最近的决策边界平面;根据样本点到最近的超平面的距离及方向产生相对较优的扰动向量,并将扰动向量添加到样本中观察是否扰动成功;如未扰动成功,重复以上两个步骤,直至扰动成功为止。
8.根据权利要求1所述的方法,其特征在于,先将原始数据集经过神经网络进行分类,然后将数据进行归一化处理,样本中各像素值的数据区间为[0,1]。
9.一种基于自步学习的生成通用对抗扰动系统,其特征在于,包括:
初始模块,对扰动进行初始化得到初始扰动,将初始扰动添加到原始数据集中的每个样本中;
分类模块,对添加初始扰动的样本进行分类,计算扰动成功率Err(Xr),通过自步学习筛选需要扰动的样本;
生成模块,使用DeepFool方法将筛选出的样本生成扰动;
扰动模块,对生成的扰动进行累加,更新通用扰动值并加入原始数据集的每个样本中,计算样本整体扰动成功率,当样本整体扰动成功率达到设定要求后,返回通用扰动变量,产生通用对抗扰动。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111267097.9A CN113971442A (zh) | 2021-10-28 | 2021-10-28 | 一种基于自步学习的生成通用对抗扰动方法及系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111267097.9A CN113971442A (zh) | 2021-10-28 | 2021-10-28 | 一种基于自步学习的生成通用对抗扰动方法及系统 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN113971442A true CN113971442A (zh) | 2022-01-25 |
Family
ID=79589055
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202111267097.9A Pending CN113971442A (zh) | 2021-10-28 | 2021-10-28 | 一种基于自步学习的生成通用对抗扰动方法及系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN113971442A (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN116503923A (zh) * | 2023-02-16 | 2023-07-28 | 深圳市博安智控科技有限公司 | 训练人脸识别模型的方法及装置 |
-
2021
- 2021-10-28 CN CN202111267097.9A patent/CN113971442A/zh active Pending
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN116503923A (zh) * | 2023-02-16 | 2023-07-28 | 深圳市博安智控科技有限公司 | 训练人脸识别模型的方法及装置 |
CN116503923B (zh) * | 2023-02-16 | 2023-12-08 | 深圳市博安智控科技有限公司 | 训练人脸识别模型的方法及装置 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN110633745B (zh) | 一种基于人工智能的图像分类训练方法、装置及存储介质 | |
CN108564129B (zh) | 一种基于生成对抗网络的轨迹数据分类方法 | |
US10275719B2 (en) | Hyper-parameter selection for deep convolutional networks | |
US20160275415A1 (en) | Reader learning method and device, data recognition method and device | |
US8761510B2 (en) | Object-centric spatial pooling for image classification | |
JP6897749B2 (ja) | 学習方法、学習システム、および学習プログラム | |
CN111428733A (zh) | 基于语义特征空间转换的零样本目标检测方法及系统 | |
CN112257738A (zh) | 机器学习模型的训练方法、装置和图像的分类方法、装置 | |
CN115239760B (zh) | 一种目标跟踪方法、系统、设备及存储介质 | |
CN111046949A (zh) | 一种图像分类方法、装置及设备 | |
CN114139631B (zh) | 一种面向多目标训练对象可选择的灰盒的对抗样本生成方法 | |
CN113971442A (zh) | 一种基于自步学习的生成通用对抗扰动方法及系统 | |
CN109583492A (zh) | 一种识别对抗性图像的方法及终端 | |
Gorokhovatskiy et al. | Vector Quantization, Learning and Recognition in the Space of Descriptors of Structural Features of Images | |
JP2016062249A (ja) | 識別辞書学習システム、認識辞書学習方法および認識辞書学習プログラム | |
CN113011446A (zh) | 一种基于多源异构数据学习的智能目标识别方法 | |
CN113537270A (zh) | 数据分类方法及多分类模型训练方法、装置、设备、介质 | |
CN111104877B (zh) | 通用动量方法、基于通用动量方法的目标检测与识别方法 | |
Yang et al. | Pairwise exemplar clustering | |
CN114821206B (zh) | 基于对抗互补特征的多模态图像融合分类方法与系统 | |
CN113610121B (zh) | 一种跨域任务深度学习识别方法 | |
US12033370B2 (en) | Learning device, learning method, and computer program product | |
CN109784356A (zh) | 基于Fisher判别分析的矩阵变量受限玻尔兹曼机图像分类方法 | |
CN114154569B (zh) | 噪音数据识别方法、装置、终端及存储介质 | |
US20240078436A1 (en) | Method and apparatus for generating training data for graph neural network |
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 |