攻击分类器的对抗样本生成技术的现状分析
2020-03-11叶启松戴旭初
叶启松,戴旭初
中国科学技术大学 网络空间安全学院,合肥230026
1 引言
深度学习技术如今在全球范围内获得蓬勃的发展,基于深度学习的计算机视觉[1-2]、语音识别[3]、自然语言处理[4]技术已经广泛运用于生活生产的各个领域,包括安全防护、个人助理、医疗健康、自动驾驶、电商零售等[5-7]。
深度学习系统的一个主要应用是深度神经网络分类器,随着深度神经网络分类器的广泛应用,研究人员发现深度神经网络分类器具有一定的脆弱性,其主要表现为:对原始样本x 加上某些不可察觉的扰动ρ,生成新的样本x*=x+ρ 能使得分类器分类错误,通常将x*称为“对抗样本”[8]。深入的分析研究表明,深度神经网络分类器的脆弱性与神经元的非线性函数的局部线性性[9]、数据的不连续性[8],或是数据的高纬度特性[10]等有关。
深度神经网络分类器的脆弱性的存在,给这类分类器在实际应用中的安全性带来了隐患,即如果恶意分子利用分类器的这种脆弱性,很可能会对人类的社会生活及生命财产安全等方面造成重大影响。众所周知,对抗样本的生成是攻击深度神经网络分类器的一个关键环节,因此研究对抗样本生成技术具有重要的意义。只有对各种对抗样本的生成技术进行深入的分析研究,并在此基础上设计有效的防御对策,才能切实提高深度神经网络分类器的安全性。
为了简洁起见,本文后续部分将“深度神经网络分类器”简称为“分类器”。纵观目前已有的针对分类器的各种攻击,按“攻击条件”来分类,可分为“白盒攻击”和“黑盒攻击”,白盒攻击是在已知分类器内部结构的条件下实施的攻击,而黑盒攻击则是在未知分类器内部结构条件下实施的攻击;并且,内部结构已知的分类器称为白盒分类器,内部结构未知的分类器称为黑盒分类器[11];另外,按“攻击目标”来分类,又可分为“定向攻击”和“非定向攻击”,定向攻击是使得分类器分类结果为预设的目标类别,而非定向攻击则只要求分类器的分类结果与真实情况不符即可[12]。为了便于后续分析,本文将对分类器的攻击分为四大类,即白盒条件下的定向攻击(第一类攻击)、白盒条件下的非定向攻击(第二类攻击)、黑盒条件下的定向攻击(第三类攻击)、黑盒条件下的非定向攻击(第四类攻击)。
本文将以这四大类攻击为线索,分析对抗样本生成技术的机理,梳理各种对抗样本生成的方法、归纳和比较它们的优缺点。
为了方便表述,本文所涉及的符号描述如表1所示。
表1 符号描述
2 攻击分类器的对抗样本生成技术
深度神经网络分类器是深度学习系统的一个主要应用,Szegedy等在文献[8]中提出了针对分类器的对抗样本问题,该问题指出,对输入样本添加微小的特定扰动容易使得分类器分类错误。Goodfellow等[9]提出快速梯度符号方法,其通过一步梯度计算生成对抗样本,有效降低了生成对抗样本所需的计算量,此方法因其简单和高效被广泛使用。在快速梯度符号方法的基础上,进一步发展出了文献[13-15]等基于多步梯度计算的方法,这些方法有效提高了对抗样本的攻击成功率。
随着攻击分类器的对抗样本生成技术的进一步发展,在白盒的攻击条件下,主流的对抗样本生成技术主要利用损失函数梯度信息、生成式神经网络[16]、模型中间层特性[17-18]、得分函数梯度信息[19]、投影变换[20-21]来生成对抗样本。在黑盒的攻击条件下,主要有两种方法,第一种是利用对抗样本迁移特性的方法,该迁移特性指出,对抗样本被某一模型分类错误,也容易被另一模型分类错误[8],文献[22-24]利用此特性进行黑盒攻击。第二种是基于演化算法的方法,文献[25-26]结合了演化算法进行黑盒攻击,此方法所需较小的计算代价能达到较好攻击效果。
3 第一类攻击的对抗样本生成技术
第一类攻击是在白盒条件下的定向攻击,其对抗样本生成技术主要有三种方法,即基于损失函数梯度的方法、基于生成式神经网络的方法和基于模型中间层特性的方法。
3.1 基于损失函数梯度的方法
因为损失函数对x 的梯度方向是损失变化最大的方向,所以在该方向添加特定扰动,可以在扰动较小的情况下显著降低损失函数关于目标类别的损失,得到对抗样本。该类方法的优点在于,其方法实现比较简单,且白盒条件下的攻击成功率较高。
基于损失函数梯度的方法主要有FGSM(Fast Gradient Sign Method)、FG-ℓ2(Fast Gradient Ln-norm Method)、BIM(Basic Iterative Method)和MI-FGSM(Momentum Iterative Fast Gradient Sign Method)[9,13-15]。
FGSM 是一种经典的白盒条件下的对抗样本生成技术,其扰动信号是利用损失函数梯度的符号信息产生的,具体为:
其中,θ 表示深度神经网络的参数,sign(⋅)是符号函数,ε 是用来控制扰动信号幅度的参数。不失一般性,假设原样本x 所对应的真实类别为t=l,由式(1)可知,扰动ρ在J(θ,x,t)关于x 的负梯度方向上,因此存在t=m(m ≠l),使得J(θ,x*,m)<J(θ,x,l),从而使得分类器将样本x*分类为m ,如果m 是预设的攻击目标,则可实现定向攻击。
FG-ℓ2是利用∇xJ(θ,x,t)经过ℓ2归一化后的信息来产生扰动,即:
其中,||⋅||2表示向量的L2范数。与FGSM 不同的是,FG-ℓ2方法不仅利用了∇xJ(θ,x,t)的符号信息,而且还利用了其幅度信息,因此该方法比FGSM 更容易到达J(θ,x,t)的局部极小值点。换言之,FG-ℓ2只需要较小的幅度参数ε 来生成对抗样本,就能使得分类器误分类为t=m。
BIM 是在FGSM 和FG-ℓ2的基础上,通过N 次迭代的方式生成对抗样本,N 为预设的迭代总次数。
BIM(Basic Iterative Method)的迭代方式如下所示:
其中,ρn和分别表示第n 次迭代生成的扰动和样本,而且扰动ρn利用FGSM或FG-ℓ2方法生成。
MI-FGSM 是BIM 的一种改进,其对抗样本生成的迭代过程为:
从式(4)易知,gn的迭代过程,实际上是对归一化梯度序列的低通滤波(或加权平均)的过程,其作用是减少了梯度下降过程中的震荡,加快代价函数逼近极值点的速度,同时只需要更小ε 就能够达到J(θ,x,t)的局部极小值点[27-28]。
3.2 基于生成式神经网络的方法
基于生成式神经网络的方法用自监督的方式,以攻击一个或多个分类器为目标,训练生成式神经网络,生成对抗样本。该类方法的优点在于,其在对抗样本的生成阶段不涉及任何梯度的计算,生成过程较快,并且生成的对抗样本可以同时攻击多个目标分类器。
该类方法中,典型的方法是利用对抗变换网络(Adversarial Transformation Networks,ATN)来生成对抗样本[16],其核心思想是通过求解如下目标函数来获得生成式神经网络G 的网络参数θ*:
其中,G(x,θ)表示输入为x、参数为θ 时生成式神经网络G 的输出,β 为权值;f(a)表示分类器对输入样本为a 时的输出向量,是对向量f(x)的第t 个分量进行修改后的向量,使得的第t 个分量为中的最大分量。
根据式(6)可知,若设t=m 为预设的攻击目标,通过求解式(6)得到θ*,则生成式神经网络G 的输出x*=G(x,θ*)为对抗样本,且x*与原样本x 相似,但是f(x*)的第m 个分量的值最大,故分类器将x*分类为m,从而实现了预设的定向攻击。
3.3 基于模型中间层特性的方法
基于模型中间层特性的方法生成与原样本相似,且与目标样本(属于目标类别的样本)在神经网络高层的输出相似的样本,由于神经网络的分类结果受高层神经单元的影响较大,故该样本容易使得目标分类器将其分类为目标类别。该类方法的优点在于,其能够生成多样性更高的对抗样本。
研究表明,深度神经网络分类器不同层的神经单元对分类结果的影响程度不同,基于模型中间层特性的方法正是利用这一特性来产生对抗样本,主要的方法有DRA(Deep Representation Adversarial)和Hot/Cold[17-18]。
基于现有的研究结果,深度神经网络分类器的分类结果受高层神经单元的影响较大,DRA 方法利用这一特点,通过求解下列的优化问题来生成对抗样本:
其中,k 接近L;xm和xl分别表示类别为m 和l 的样本(m ≠l),σ 为用以约束x*与xl差距的预设常值。式(7)的优化问题可用受限拟牛顿梯度优化算法求解[29],求解所得的对抗样本为x*不仅与xl近似,而且与xm在分类器第k 层神经单元的输出近似,因此,分类器将x*分类为m,实现定向攻击。
Hot/Cold 方法是利用分类器第k′=L-1 层神经单元的输出来生成对抗样本,具体方法如下。
令:
表2 总结了第一类攻击的对抗样本生成方法的适用场景、优点、缺点以及实验说明。
4 第二类攻击的对抗样本生成技术
第二类攻击是在白盒条件下的非定向攻击,主要方法为基于得分函数梯度显著性差异的方法、基于向决策边界正交投影的方法和基于向低维流形投影的方法。
4.1 基于得分函数梯度显著性差异的方法
有相关实验发现,得分函数对样本x 的梯度在某些分量上的值很大,对x 的这些分量进行修改,会对分类器的分类结果产生显著影响,本文将x 的这些分量称为关键分量。基于得分函数梯度显著性差异的方法仅在关键分量上添加扰动,生成对抗样本。该类方法的优点在于,其大幅降低了对抗样本的扰动大小。
JSMA(Jacobian-based Saliency Map Attack)[19]利用得分函数对样本x 的梯度,构造显著性映射Map(x,t)[i]:
此方法以迭代的方式在关键分量上添加扰动:
在第N 次迭代时,x*=xn能使得f(t)(x*)的值显著提高,通过设置一定大小的ε(该值用以调节扰动大小,默认为1),存在t=m(m ≠l),分类器将x*分类为m 。该方法的特点是,其无需对x 中的全部分量进行修改,就能实现非定向攻击。
表2 第一类攻击的对抗样本生成方法的比较
4.2 基于向决策边界正交投影的方法
基于向决策边界正交投影的方法以迭代的方式,将样本投影在决策边界的线性近似上,逐步减小样本与决策边界的距离,直至目标分类器对该样本分类错误,得到对抗样本。该类方法的优点在于,其生成的对抗样本与决策边界的距离较小,故扰动也较小。
利用得分函数,定义类别k 和l 之间决策边界Bk,l为:
以xn为基点对非线性得分函数fk(x)和fl(x)进行线性近似,可得:
式中,Bˉk,l实际上是一个超平面,其表示了类别k 和l 之间决策边界的近似。
那么xn到决策边界的距离为:
基于向决策边界正交投影的方法主要有DeepFool[20],该方法通过下列的迭代方式更新原样本x ,获得对抗样本:其中,Δxn和xn分别是xn-1到Bˉk,l的距离向量和正交投影向量。
4.3 基于向低维流形投影的方法
基于向低维流形投影的方法以迭代的方式,将样本投影在低维流形上,逐步缩短样本与决策边界的距离,直至目标分类器分类错误。该方法可以不通过添加扰动,仅通过对原样本进行某种几何变化来生成对抗样本。
若x 是嵌入在低维空间流形M上,令R(x):χ →ℝm表示x ∈χ 到流形M的投影,Mx表示流形M在x 处的切空间。
ManiFool[21]方法生成对抗样本的迭代更新过程为:
对于i ≥1,如果存在m ≠l ,使得f(l)(xi)<f(m)(xi),则生成对抗样本x*=xi,可实现非定向攻击。
表3 总结了第二类攻击的对抗样本生成方法的适用场景、优点、缺点以及实验说明。
表3 第二类攻击的对抗样本生成方法比较
5 第三类攻击的对抗样本生成技术
第三类攻击是在黑盒条件下的定向攻击,主要方法为基于对抗样本迁移特性的方法和基于生成式神经网络的方法。
5.1 基于对抗样本的迁移特性的方法
实验发现,针对某一白盒分类器生成的对抗样本,能以较大的概率使得另一黑盒分类器分类错误,这一特性被称为“对抗样本的迁移特性”。该类方法的优点在于,其利用对抗样本的迁移性,可与多种白盒攻击技术相结合,实施黑盒攻击。
设白盒分类器的参数为θw,得分函数为fw(x);黑盒分类器的得分函数为fb(x)。定义一个白盒定向攻击为Attack(x,θw,m),其含义是:以原样本x 为输入,利用白盒条件下的定向攻击方法,针对参数为θw的白盒分类器生成对抗样本x*,使得成立,实现目标类别为m 的定向攻击。
Papernot N 等[22]利用了对抗样本的迁移特性来生成对抗样本,该方法分为三步:首先,将原样本x ∈χ 输入到黑盒分类器中,获得对应分类类别γx;然后,以x ∈χ 和其对应的标签γx作为训练数据,训练参数为θw的白盒分类器,训练完成所得参数为θ*w;最后,利用Attack(x,θ*w,m)方法,生成对抗样本x*。该方法可用下列表达式进行描述:
文献[22]表明,基于式(23)~(25)所得到的对抗样本x*有较大概率使得成立,这意味着黑盒分类器会将x*分类为m,实现黑盒条件下的定向攻击。
5.2 基于生成式神经网络的方法
基于生成式神经网络的方法通过训练生成式神经网络,针对多个目标分类器生成对抗样本。该类方法的优点在于,其在对抗样本的生成阶段不涉及任何梯度的计算,生成过程很快,并且,该类方法生成的对抗样本具有较好的迁移性,有利于实施黑盒攻击。
如果将同一扰动添加到不同的样本中,得到的样本能使得分类器分类错误,那么就将该扰动称为“通用型扰动”。
UPSET(Universal Perturbations for Steering to Exact Targets)[23]通过训练生成式神经网络G 来生成通用型扰动,其对应的结构示意图如图1所示。
图1 UPSET方法的结构示意图
图1 中,生成式神经网络G 的参数为θ ,输入为类别t,输出ρt=G(θ,t)为通用型扰动,将其添加在原样本中可得x~ =Clip(x+ρt) ,C 为目标分类器;损失函数J(θ,x,t)由JF(θ,x,t)和JC(θ,x,t)两部分组成,其中:
最小化JF(θ,x,t) 可约束扰动的大小,最小化JC(θ,x,t)可使得分类器将x~ 分类为t ,设β 为权值,则J(θ,x,t)可表示为:
G 可通过最小化J(θ,x,t)进行训练,若设G 训练完成之后对应的参数为θ*,t=m(m ≠l)为预设攻击目标,那么其对应的通用型扰动为ρm=G(θ*,m) ,对于∀x ∈χ ,对抗样本为x*=Clip(x+ρm),其与原样本相似的同时,还能使得f(x*)的第m 个分量最大,分类器会将x*分类为m。
由于对抗样本的迁移特性,该方法生成的x*以较大概率使得黑盒分类器将其分类为m ,从而实现定向攻击。
表4 总结了第三类攻击的对抗样本生成方法的适用场景、优点、缺点以及实验说明。
表4 第三类攻击的对抗样本生成方法比较
6 第四类攻击的对抗样本生成技术
第四类攻击是在黑盒条件下的非定向攻击,主要方法为基于生成式对抗网络的方法和基于贪心策略的方法。
6.1 基于生成式对抗网络的方法
基于生成式对抗网络的方法以对抗训练的方式,训练生成式对抗网络,并利用其生成器生成扰动,添加在原样本中得到对抗样本。该类方法的优点在于,其能够在较高成功率的情况下实现黑盒攻击。
PGN(Perturbation Generation Network)[24]方法利用了最小均方生成式对抗网络,针对一黑盒分类器构造对抗样本实施非定向攻击,其结构示意图如图2所示。
图2 PGN方法的结构示意图
图2 中,生成器G 的参数为θG,生成扰动为ρ=G(θG,x),将其添加到原样本中得=x+G(θG,x);判别器D 的参数为θD,d=D(θD,∈[0,1]表示黑盒分类器对分类错误的概率;若设原样本x 的类别为l ,黑盒分类器对的分类类别为,则γx为:
判别器D 的损失函数为:
在更新θD以最小化JD(θD,x~)的过程,使得当生成器生成越容易使得黑盒分类器分类错误的扰动时,D输出高概率值,反之,D 输出低概率值。
生成器G 的损失函数为:
其中,|||⋅||1表示向量的L1范数。λ 为用于惩罚扰动大小的权值,在更新θG来最小化JG(θG,x)的过程,使得G生成让D 输出高概率值的扰动,意味着该扰动越容易使得黑盒分类器分类错误。
6.2 基于演化算法的方法
该类方法利用演化算法,得出对分类器的输出得分影响较大的关键分量,在关键分量上添加特定大小的扰动生成对抗样本。该类方法的优点在于,在黑盒条件下,其能够有效降低对抗样本扰动大小。
基于演化算法的方法主要有One-Pixel Attack 和LocSearchAdv[25-26]。
One-Pixel Attack仅在原样本的一个关键分量上施加扰动得到对抗样本,其使用了差分进化算法[34],通过求解如下所示目标函数来得到相应的关键分量和扰动大小:
其中,f(x)为黑盒分类器的得分函数,M(x,j,ε)为:
表示对x 的第j 个分量增加ε 所得的向量,若求解式(22)得到j*和ε*,则其对抗样本为x*=M(x,j*,ε*),其有很大概率使得黑盒分类器分类错误。
受One-Pixel Attack 的启发,LocSearchAdv 通过局部贪心搜索算法,在x 中搜索出多个使得f(l)(x)下降显著的关键分量,并在每一个关键分量上添加相应的扰动得到对抗样本x*,以实现非定向攻击。
表5 总结了第四类攻击的对抗样本生成方法的适用场景、优点、缺点以及实验说明。
表5 第四类攻击的对抗样本生成方法比较
前文依据“攻击条件”和“攻击目标”,介绍了四大类主流的对抗样本生成技术,在白盒的攻击条件下,第一、二类方法生成的对抗样本针对性比较强,容易达到较高的攻击成功率。但是在黑盒的攻击条件下,因为不同模型之间的分类边界存在巨大差异[6],所以,即使对抗样本具有迁移性,第三、四类方法的攻击成功率仍然较低。但是,现实场景中的攻击条件以黑盒条件居多,因此如何提高黑盒条件下的对抗样本攻击成功率,这仍然是一个有待深入研究的问题。
7 其他方法
以上涉及的对抗样本生成方法是目前在对抗样本领域比较主流的方法,随着该领域的日趋活跃,涌现其他的对抗样本生成方法,以下将作简要介绍。
在白盒条件下,BIM[15]以迭代的方式,通过梯度上升的方法生成对抗样本,而Shi 等[35]认为BIM 容易找到扰动较大的对抗样本,他们提出Curls方法,该方法先以迭代的方式,通过梯度下降使样本回到损失函数的局部最优点,再通过梯度上升的方式生成对抗样本,以增加找到与原样本相似度高的对抗样本的可能性。而文献[36]以基于损失函数梯度的方法为基础,在梯度计算前,以一定概率对图像进行几何变换,此方法缓和了对抗样本的过拟合情况。文献[37]在每次迭代过程中将样本投影在以原样本为中心的L2球面上,直至目标分类器分类错误,通过实验结果表明,该方法能够生成扰动更小的对抗样本。在黑盒条件下,ZOO[38]在已知目标分类器输出得分的前提下,利用有限差分法来估计目标分类器的梯度信息,并利用该梯度信息生成对抗样本。文献[39]仅需知道目标分类器的分类结果,迭代始于一个较大扰动的对抗样本,然后在保证当前迭代样本仍是对抗样本的前提下,逐步减小扰动大小以得到与原样本相似度更高的对抗样本。Guo 等[40]证明在样本空间中的低维子空间中存在大量对抗性扰动,其利用离散余弦变换找到该子空间,并在该子空间中施加扰动生成对抗样本,该方法有效降低了对抗样本生成方法的复杂性。
8 结束语
基于深度神经网络的分类器存在脆弱性,利用这种脆弱性并通过一定的技术手段能生成对抗样本,这些对抗样本有可能会危害到深度学习系统的应用。因此,深入分析对抗样本的生成方法和技术手段,对于完善深度神经网络分类器的设计,弥补分类器的脆弱性,有重要的意义。针对基于深度神经网络的分类器,本文综述了现有的对抗样本生成方法和实现技术。按照“攻击条件”和“攻击目标”将对抗样本生成方法分为四类,并详细介绍了这四类对抗样本生成方法的基本思想、实现原理和技术,归纳对比了它们各自特点,包括适用场景、优点和缺点等。
本文只分析了目前主要的对抗样本生成方法,可能遗漏了一些小众的方法。随着深度学习网络应用的不断深入,会出现更多的对抗样本生成技术,及时理解和掌握不断涌现的新的对抗样本生成技术将是一个长期的研究课题。