李倩,向海昀,张玉婷,甘昀,廖浩德
(西南石油大学计算机科学学院,四川 成都 610500)
深度学习理论的不断发展使得基于该技术的人工智能在各个行业领域中崭露头角,如图像分类[1]、计算机视觉[2]、自然语言处理[3]、人脸识别[4]等。同时,随着对神经网络的不断深入研究,结构更为复杂的网络模型(如AlexNet[5]、VGGNet[6]、InceptionNet[7]、ResNet[8]等)相继面世,它们的出现不仅能够提升预测结果的精确度,还能够满足更多的场景需求。
但是随着对抗攻击的出现,导致深度神经网络模型分类错误,为使用深度神经网络的人工智能系统带来极大的安全风险。对于人脸识别系统,攻击者通过在原图像上添加细微的扰动生成人脸对抗样本,导致人脸系统识别错误。文献[9]提出对眼镜进行对抗性干扰的方法,使得佩戴眼镜的攻击者被错误识别。现有人脸识别攻击大多是通过白盒实现的,但是在现实世界中,攻击者一般无法直接访问模型的详细信息。因此,黑盒攻击被进一步提出,它是利用白盒攻击生成对抗样本的迁移能力实现的。但是由于不同模型的结构和参数存在差异,因此使得对抗样本出现“过拟合”[10],因对抗样本迁移能力较差,导致黑盒攻击成功率降低。
为提高对抗样本的迁移性,本文提出一种集成的对抗攻击方法G-MASK,将基于梯度加权的类激活映射方法运用于算法中生成掩码区域,以确定扰动添加的最佳区域,使得只需极少的扰动就能实现有效的攻击,该方法能够有效增加对抗攻击迁移性,提高攻击成功率。同时对生成的扰动进行高斯平滑处理,使得生成扰动的每个像素都与周围的像素产生相关性,进而降低集成模型之间扰动的差异,增强对抗样本隐蔽性,提升图像质量。
对抗样本是指通过在原始图像中加入人眼难以察觉的细小扰动,使得人眼能正确识别图像但机器识别出错的一类样本。设输入的样本为x∈Rd,正确的类别分类为y,y=f(x),添加的扰动为δ,生成对抗样本y*=f(x+δ)。对抗样本的生成过程如式(1)和式(2)所示:
在深度学习领域中,将对抗攻击方法分为3 类,分别为基于优化、基于梯度、基于生成对抗网络的方法。本文主要对基于梯度的经典攻击方法进行简要叙述。
文献[11]提出的快速梯度符号法(FGSM)是在损失减少的反方向上增加扰动函数,然后不断进行梯度更新来实现对抗样本的生成。对抗样本的生成过程如式(3)所示:
其中:sign(·)为符号函 数;∇xL(x,ytrue;θ)表示模型的梯度。
文献[12]提出的基础迭代方法(I-FGSM)是在快速梯度符号法的基础上进行改进,将原有的单步更新改进为迭代更新,将扰动大小限制在一定大小的邻域内。I-FGSM 对抗样本的生成过程如式(4)所示:
其中:α为步长大小;;n为迭代次数。
文献[13]提出的动量迭代快速梯度符号方法(MI-FGSM)是在迭代方法基础上进行改进,动量的添加使得模型具有更强的迁移能力。MI-FGSM 对抗样本的生成过程如式(5)和式(6)所示:
其中:gn+1为第n+1 次的迭代梯度;||·||1为L1 范数。
对抗样本如果能够欺骗多个模型,那么说明它具有较强的迁移能力,可以将其运用于其他黑盒模型中进行攻击。因此,通过对模型进行集成可以实现更好的攻击效果,达到更高程度的迁移目的。文献[14]提出扰动集成方法,将多个白盒模型的扰动在迭代算法基础上实现集成效果,从而侧面提高黑盒攻击成功率。与受到模型输出维度限制的logits 集成方法相比,扰动集成能够满足黑盒模型的决策边界要求。因此,本文选择使用扰动集成方式进行实验。扰动集成的计算式如式(7)所示:
其中:δ表示对扰动进行集成;f为模型采用的对抗攻击算法;θ为模型参数;y表示 真实标签;L={L1,L2,…,Ln}为白盒模型集合。
人脸识别(FR)模型是通过检测照片中的人脸,然后计算该人脸与其他人脸的距离对2 张人脸进行匹配,确定是否属于同1 张人脸。距离度量一般采用L2 范数或余弦相似度,将度量方式与阈值一起使用,以计算面部的贴近度。在DeepFace[15]和DeepID[16]中,将人脸 识别视为1 个多分类问题,并通过深度神经网络学习经过Softmax 损失的特征。
本文选用7个基于深度学习训练的人脸识别网络模型作为目标模型展开研究:ResNet 50,ResNet 101,ResNet 152[17],SEResNet 50,SEResNet 101[18],、Attention 56[19],MobileNet[20]。其 中,ResNet 50、ResNet 101、ResNet 152 是3 个深度逐渐增加的残差网络。SEResNet 50、SEResNet 101 是将SE Block 嵌入到ResNet 中构建的网络。
Grad-CAM[21]是类激活映射方法,它是在梯度加权的基础上实现的。Grad-CAM 用于突出输入图像中与网络预测相关的重要区域,对深度神经网络中的卷积层梯度进行计算,得到不同神经元对样本不同类别的重要程度,将这些区域进行高亮显示,从而生成注意力热图。Grad-CAM 的计算式如式(8)和式(9)所示:
其中:yt表示t类 别的logits;A为特征 图;k表 示A的通道;i,j分别为A的横纵坐标;z为A的长宽相乘。
基于此,本文尝试在人脸图像上生成注意力区域热力图,实验结果表明,面部区域的颜色更加突出,且五官区域的特征点更明显。人脸关注区域热力图如图1 所示。
图1 人脸关注区域热力图Fig.1 Heatmap of facial focus area
在图像处理概念下将高斯滤波作为低通滤波器滤除低频噪声,使图像变得模糊以达到平滑的效果。本文在对抗样本中加入高斯滤波的作用是让每个产生扰动的像素和它周围的像素产生关联,使得在各个不同模型之间的噪声差异减小,达到较优的迁移性能。二维高斯函数如式(10)所示:
2.3.1 特征损失
在基于某个模型进行攻击时,为提高攻击成功率,则希望攻击前后人脸图像的特征损失增大,即2 张人脸图片特征向量的Cosine 相似度减小。Cosine 相似度越小说明攻击前后2 张图像的相似度越小,就越有可能达到想要攻击的目标,攻击成功率越大,具体计算式如式(11)和式(12)所示:
其中:fori表示在预处理过程中已经事先提取好的特征向量;fadv为攻击后生成的对抗样本经过特征网络提取出的特征向量。
2.3.2 扰动损失
为减小攻击后的人脸图片与原始人脸图片之间的差异,本文提出扰动损失L2_loss,减少对人脸图像扰动的添加,约束xadv尽可能地接近x,扰动损失计算式如式(13)所示:
其中:x为原样本;xadv为对抗样本。
2.3.3 总损失
综上所述,G-MASK 算法的总损失函数由特征损失、扰动损失2 部分组成。特征损失主要用于减少生成对抗样本与原始图像的相似度,增大攻击成功率。扰动损失主要用于对扰动大小进行约束,保证图片的质量,使人眼无法察觉扰动。具体的总损失计算式如式(14)所示:
其中:α、β分别为特征损失和扰动损失的权重,用于平衡各项损失。
为保证在扰动添加最少的条件下实现最大的攻击成功率,本文提出G-MASK 算法,以提高生成对抗样本的迁移能力。G-MASK算法具体架构如图2所示。
图2 G-MASK 人脸对抗攻击算法框架Fig.2 Framework of G-MASK facial adversarial attack algorithm
首先利用Grad-CAM 算法得到输出样本的有效攻击区域,并将其作为掩码MASK;然后将其与通过MI-FGSM[13]算法得到的干扰信息进行叠加,对人脸识别过程中的总损失进行约束;最后将所得到的噪声图进行高斯平滑得到最终的对抗样本。Grad-CAM 算法在掩码区域中的具体计算式如式(15)和式(16)所示:
其中:Tth为施加在掩码上的阈值;IGrad-CAM为利用Grad-CAM 得到的输出样本热力图。
为进一步提高对抗样本的迁移性,同时更充分利用目标模型的信息,本文提出使用扰动集成来进行模型集成。受通用对抗扰动[22]的启发,扰动集成的实现方式是在迭代梯度的条件下将白盒模型的扰动进行叠加,使得攻击成功率最大,黑盒迁移能力得到提升。G-MASK 单模型算法和扰动集成模型算法如算法1 和算法2 所示。
3.1.1 数据集
本文实验主要在LFW(Labeled Faces in the Wild)[23]数据集上进行,该数据集约有13 000 张人脸图片,每张人脸图片对应1 个姓名标签,其中有些人脸拥有不止1 张图片。该数据集中人脸图片的尺寸是固定的,都是250×250 像素。
3.1.2 攻击模型与基线
为证明该方法的有效性,本文使用ResNet 50、ResNet 101、ResNet 152、SEResNet 50、SEResNet 101、Attention 56、MobileNet 7 个正常训练得到的模型。
为更好地评估本文算法的有效性,将该算法与3 种基线算法(FGSM[11]、I-FGSM[12]和MI-FGSM[13])进行比较,这3 种算法都是经典的对抗攻击算法。
3.1.3 参数设置
本文的算法环境在PyTorch 1.10.2 框架上设置,显卡配置为NVIDIA GeForce RTX 3050 Ti 4 GB,batch_size 为4,使 用Adam[24]优化方 法在标准的LFW 人脸数据集上进行实验。为保证实验结果的客观性,3 种基线算法涉及到的参数按照原文献设置。
3.1.4 评价指标
攻击成功率(ASR)是指图像被错误分类的概率。本文方法是一种无目标黑盒攻击,因此只要生成的对抗样本与原图分类出错即可认为攻击成功,将成功攻击的样本数与总样本数进行比较得到攻击成功率。相应的ASR(计算中用AASR)计算式如式(17)所示:
本文采用峰值信噪比(PSNR,计算中用PPSNR)和均方误差(MSE,计算中用MMSE)作为图像质量的检测指标,具体计算式如式(18)和式(19)所示:
其中:m、n表示图片的大小;I为未进行攻击的原始干净图像;MAXI是指图像采样点颜色的最大值,一般为255。
本节对总损失函数中的2 个参数值α、β进行对比实验,简要分析2 个不同参数取值对模型攻击效果的影响。根据特征损失和扰动损失取值大小[25],本文选用α=[0.000 1,0.000 2]和β=0.05 作为初始值,然后在此区间范围内上下浮动取值进行实验,设置6 组参数进行测试,分别计算对抗样本的峰值信噪比和均方误差,判断样本的图像质量,具体计算结果如表1 所示。当PSNR 值越大时,MSE 值越小,图片质量越好。
表1 对抗样本的图像质量指标Table 1 Image quality indicators of adversarial samples
从表1 可以看出,当α=[0.000 1,0.000 2],β=0.005 和α=[0.01,0.02],β=0.05 时,图像质量表现最差,其原因为当α取值过大或β取值过小时,导致特征损失增大而扰动损失减小,模型的扰动约束越小则图像中添加的扰动就越明显,扰动掩蔽性越差,图像质量越低。为进一步研究参数取值对攻击成功率的影响,根据表1 结果选择图片质量较高的参数组合(PSNR>20)进行实验,具体实验结果如表2所示。
表2 不同参数组合的攻击成功率Table 2 Attack success rate among different parameter combinations %
从表2 可以看出,当参数β取值一定时,减小α值使得模型攻击效果更好。另外,当α值一定时,β取值越大攻击效果越好,表明在总损失中适当增加特征损失权重,减少扰动损失权重对模型效果有一定的提升。
由上述实验分析可得,在选取的6 种参数设置中,当α=[0.000 01,0.000 02],β=0.05 时,对抗样本的PSNR 取得最大值,表示对抗样本的图像质量在此时取得最好的效果。在后续实验中,均设置α=[0.000 01,0.000 02],β=0.5。
本节将G-MASK 攻击方法与3 种基线攻击方法进行单模型攻击对比实验,在实验过程中,首先利用多任务卷积神经网络(MTCNN)[26]对原始图像进行人脸检测,再将图像对齐并裁剪为112×112像素大小,图像的像素点总数为12 544。本文利用Grad-CAM 算法选择输出热力图中权重值最大的5 000 个像素点,对其进行攻击。其中,最大扰动ε=20,衰减系数μ=0.04,迭代次数T=40。利用3 种基线攻击方法和本文提出的G-MASK 方法在7 种模型上实现攻击,并计算其攻击成功率,具体实验结果如表3 所示,加粗表示最优数据,*表示白盒攻击。
表3 在单模型攻击设置下不同方法的攻击成功率Table 3 The success rate of attacks among different methods in single-model attack settings %
从表3 可以看出,G-MASK 攻击成功率与3 种基线方法相比得到显著提高,在白盒条件下,G-MASK方法的攻击成功率在各模型上均能达到98.7%以上。在黑盒条件下,G-MASK 方法攻击成功率得到显著提升,在ResNet 50 模型上生成的对抗样本用于SEResNet 101 模型攻击时,G-MASK 攻击成功率比基线方法MI-FGSM 增长13.4 个百分点,G-MASK 方法与MI-FGSM 相比在7 个模型上的攻击成功率分别增长了12.4、13.0、7.0、12.9、19.4、14.7、6.6 个百分点。根据实验结果可知,本文方法不仅能够在一定程度上提高白盒攻击成功率,而且还有效提升了黑盒攻击成功率,都优于现有的方法,充分表明本文所提方法具有一定的有效性。
本文虽然将上述方法用于单模型对抗攻击中能实现较优的黑盒攻击性能,但是在攻击有一定防御能力的模型时表现不佳。因此,本文在单模型攻击方法的基础上提出扰动集成模型攻击方法。将ResNet 50、ResNet 101、ResNet 152、SEResNet 50、SEResNet 101、Attention 56、MobileNet 模型每6 个集成后进行白盒攻击,再利用生成的对抗样本对另1 个模型进行黑盒攻击。本文分别使用3 种基线对抗算法和G-MASK 扰动集成算法进行攻击,实验结果如表4 所示。其中,-ens 代表扰动集成,*表示白盒攻击。
表4 在集成模型攻击设置下不同方法的攻击成功率Table 4 The success rate of attacks among different methods in integrated model attack settings %
从表4 可以看出,当进行扰动攻击集成后,4 种算法在白盒攻击中均取得较好效果,成功率保持在98.5%以上,证明扰动集成能够提升白盒攻击成功率。在黑盒攻击中,G-MASK 方法相比3 种基线攻击方法攻击成功率始终提高10~20 个百分点。因此,G-MASK 方法的黑盒攻击效果要优于基线对抗攻击算法,具有更强的迁移性。
与表3 中单一模型攻击成功率的实验数据相比,经过扰动集成后的G-MASK 方法实现的黑盒攻击成功率平均提升13 个百分点,充分证明扰动集成方法能够有效提升黑盒模型迁移能力和黑盒攻击成功率。
高斯滤波的加入是为了使模型集成过程中减少不同模型干扰噪声之间的差异,同时提升对抗样本运用到其他黑盒模型上的攻击成功率,增强对抗样本掩蔽性。扰动集成模型使用高斯滤波和未使用高斯滤波生成的对抗样本准确度、Cosine 相似度、L2 距离如图3 所示。从图3 可以看出,添加高斯滤波后G-MASK 生成的对抗样本攻击成功率在40 次迭代时达到稳定,比未加入高斯滤波时MASK在20 次迭代达到稳定耗费的时间更多,但是它们相差结果不大且最终都能在40 次迭代时具有相同的攻击效果。此外,加入高斯滤波后生成的对抗样本余弦相似度显著增加但L2 距离无明显变化,表明生成的对抗样本能够在保持相同攻击成功率的条件下降低与输入样本的图像差异,提高图像质量,在一定程度上增加对抗样本的掩蔽性,同时增大在模型防御场景下的攻击成功率。
另外,本文对未添加高斯滤波攻击方法(MASK)和添加高斯滤波攻击方法(G-MASK)以及3 种基线攻击方法生成的对抗样本进行对比分析,生成的对抗样本如图4 所示。从图4 可以看出,在算法中添加高斯滤波之后生成的对抗样本比原算法生成的对抗样本掩蔽性更强,人眼几乎不可察,证明高斯滤波的有效性。G-MASK 攻击方法生成的对抗样本掩蔽性明显优于其他基线攻击方法,图像质量最高。本文方法所生成的对抗样本能够在保证较高峰值信噪比的同时,即图片具有较少失真的情况下达到较 高的攻击成功率,证明了本文所提方法的有效性。
图4 不同攻击方法生成的对抗样本Fig.4 Adversarial samples generated by different attack methods
本文提出一种结合高斯滤波与人脸MASK 的人脸攻击方法。通过引入Grad-CAM 方法选择MASK区域进行扰动添加,限制扰动添加区域;此外,使用扰动集成模型提高黑盒攻击迁移能力,增强黑盒模型攻击成功率;同时对生成的扰动进行高斯平滑处理,增强扰动掩蔽性,使用最小且掩蔽性最强的扰动来达到最高的黑盒攻击成功率。实验结果表明,与其他攻击方法相比,本文方法具有更高的攻击成功率和更优的掩蔽性,黑盒表现更为优秀。下一步将对算法速度的提高方法以及物理世界中更复杂的多人脸识别模型进行研究,在保持较高攻击成功率的前提下加快对抗样本生成速度。