从频域角度重新分析对抗样本*
2022-05-25丁烨,王杰,宛齐,廖清
丁 烨,王 杰,宛 齐,廖 清
(1.东莞理工学院 网络空间安全学院,广东 东莞 523820;2.哈尔滨工业大学(深圳)计算机科学与技术学院,广东 深圳 518055)
0 引言
对抗攻击通过在深度学习模型中加入人类视觉上无法察觉的扰动,被称为对抗样本[1]。对抗样本可以使模型受到干扰而产生错误的分类,从而导致错误类别的置信度大于正确类别的置信度。随着深度学习在不同的任务上取得优异性能,如人脸识别、自动驾驶、会议记录等,对人类社会进步带来了巨大的贡献。然而在许多的研究工作中,对抗攻击被证明可以在图像、视频、语音等领域的深度学习中执行恶意任务,从而造成重大的安全问题。
为了解决对抗攻击带来的影响,避免这种恶意的攻击,研究者们开始了对对抗攻击的防御工作。对抗防御主要分为两个方面,一个方面是直接改进模型而让现有的对抗攻击方法失效,如防御性蒸馏[2]。另外一个方面是进行对抗样本的检测。关于对抗检测的研究主要集中在图像域中对图片特征处理,如Xu等人[3]提出了一种基于特征压缩的对抗样本检测方法;Joel等人[4]在频谱上综合分析了现有的攻击方法和数据集,发现大部分的对抗样本在频域都出现了严重的伪影,并且在频域空间这些伪影数据可以分离,从而能够分类识别。
受到Joel等人[4]的启发,本文将对抗攻击后的图像和原始图像变换到DCT域[5]上进行频谱分析。通过对比,本文发现所有的对抗样本频谱图上都表现出了与原始图像频谱图明显的不同。由于攻击方法的方式迥异,本文更进一步分析了不同攻击方法产生的对抗样本和原始样本之间的DCT频谱,并表明对抗样本和原始样本的频谱图在高频上都出现了严重伪影的原因是来自于扰动的生成方法。
基于上述分析,本文设计了一个基于频域信息进行分类的CNN-DCT模型,相比较以往基于空间域信息进行分类的CNN模型,大大提高了对抗样本的检测准确率。该模型在同一数据集上检测目前常见的对抗攻击方法,产生的对抗样本能够达到98%的检测准确率,在DCT域上能极大程度区分开对抗样本和干净样本,可以为深度网络模型训练所需的数据集划分出干净的正常样本,从而提高模型的性能。该模型在物理世界里也具有较强的实用性,可以用来检测现实世界中“对抗样本”。例如在无人驾驶技术中,需要车载模型来识别道路路标,而一些路标容易被有意或无意地添加了扰动(对抗样本),从而使车载模型判别错误,造成不必要的麻烦和潜在的危险。通过本文提出的CNN-DCT模型,可以判定该路标是否为干净的样本,提前进行风险规避。
值得注意的是,考虑到对抗样本在频域中存在伪影且可能被利用来检测的弊端,本文尝试去优化扰动生成的方法,通过一个低通滤波直接作用在不同攻击方法产生的对抗扰动上,使对抗样本与原始样本在频域上也尽可能表现一致。然而,这种改进的方法虽然十分简单,却严重降低了原始方法的攻击成功率。因此,本文提出了IAA-DCT算法,通过重新设定对抗样本的生成方式,利用启发式的方法去搜索在频域上能与原始样本一致的对抗样本,从而降低对抗样本的检测率。实验表明,本文的IAA-DCT算法明显降低了CNN-DCT模型关于对抗样本的检测率,并在一定程度保持或者提高了攻击的成功率。
本文的工作从频域的角度证明了对抗攻击存在的严重弊端,弥补了对抗样本在频域工作的不足。本文主要的贡献总结为以下几点:
(1)本文通过频域的角度发现了对抗样本在频谱上存在着与原始样本频域严重的不同。
(2)基于频域信息的不同,本文提出了一种在频域上的对抗样本检测模型CNN-DCT,极大地提高了对抗样本检测率。
(3)针对对抗样本在频域上存在的伪影且易被利用来分类的弊端,本文设计了一种通用的优化算法IAA-DCT,在保持攻击成功率的同时极大降低了对抗样本通过CNN-DCT的准确率。
1 图像域上的对抗样本
本节主要介绍图像域上对抗样本的通用生成方法以及几种经典对抗样本的原理,为下文分析对抗样本在频域上存在伪影以及提出改进算法IAADCT做介绍。
1.1 方法定义
在基于图像分类的对抗样本研究中,对抗攻击的目标是通过在自然图像上添加一个精心设计且难以察觉的扰动来干扰模型的推理结果。在形式上,它通过设计不同的优化问题来找到满足条件的扰动。给定一个分类模型f和一张图像x,这个优化问题的一般数学表达如下:
其中δ(·)表示的是干净样本和对抗样本之间的距离表达式,r是添加到图像x上的扰动大小,常见的 衡 量 方 式 有L1范 数||r||1、L2范 数||r||2和L∞范数||r||∞,而f(x)输出的是x对应的分类结果,yt为指定的类别标签。
1.2 分类和方法
根据模型结构以及参数是否已知,可将对抗攻击分为白盒攻击和黑盒攻击。本文只讨论了白盒攻击方法下的两种主要实现手段。
一是基于梯度信息进行攻击,经典的研究工作有FGSM[6]、BIM[7]、PGD[8]。文献[6]在2014年利用对抗样本的线性解释提出了一个快速产生对抗样本的方式,也即Fast Gradient Sign Method(FGSM)方法。假定模型参数值为θ,模型的损失函数为H(θ,x,y)。FGSM方 法 在 无 穷 范 数 限 制 下(||η||∞<ε)添 加 扰 动η=εsign(▽x H(θ,x,y)),其中ε为限定扰动值大小的常量,sign(·)表示为取变量值正负符号的函数,▽x H(·)表示的是损失函数H关于x的梯。用x′表示最后生成的对抗样本,则FGSM方法的完整公式如下:
这是一种简单的单步攻击方法,存在噪声大、攻击率低的弊端。于是文献[7]基于之前的FGSM攻击方法做出了一部分改进,其中用迭代攻击代替单步攻击,于是提出了Basic Iterative Methods(BIM)攻击方法,BIM完整的攻击公式如下:
初始化第一个对抗样本x′为原始样本x,总共迭代n次,其中Clip(·)函数是将每次迭代的扰动大小限制在一定的范围内。后来在文献[8]中指出这实际上等价于无穷范数版本的Projected Gradient Descent(PGD)。
另外一种白盒攻击方法基于约束优化问题来实现。比如C&W[9]方法,常规方法通过构造约束优化问题来创建对抗样本,具体见式(1)。但其中的方程约束很难推导,因此作者将该方程进行了如下变换:
文献[9]给出了7个目标函数C(·),本文不作详细描述。
2 频域上的对抗样本
第1节介绍了图像域上对抗样本的相关工作以及几种经典对抗攻击方法,如FGSM、BIM、PGD和C&W的生成原理。它们都在图像域上对自然图像添加扰动而忽视了对频域的考虑。因此本节通过引入DCT域来分析对抗样本,提出一个基于DCT系数的对抗样本检测器CNN-DCT。并且针对DCT频谱的差异性易被利用来分类对抗样本和原始样本,提出了改进算法IAA-DCT。
2.1 DCT域的定义
离散余弦变换(DCT)是一种与傅里叶变换相关的变换。对于二维功能(如图像),DCT允许视觉上的重要信息集中在一个小的信息上。因此,DCT是针对JPEG压缩的国际标准有损算法的核心组成部分。它还可以将一个函数表示为不同振幅和频率的许多余弦函数的和,将信号从时空域转换为频域。1D-DCT的一般公式如下:
其中,F(u)为余弦变换值,u为广义频率变量,u=1,2,…,N-1;f(x)为时域中N个点的序列x=1,2,…,N-1。
本文进行了利用2D-DCT将图像从空间域转换为DCT域的实验,给定一个2D图像X∈Rd×d,定义一个基础函数:
对 于1≤i,j≤d,2D-DCT变 换V=DCT(X)具 体公式展开如下:
其中,Nj1、Nj2是归一化项,以确保图变换是等距的,例 如||X||2=||DCT(X)||2。Vi,j项 对 应 于Ψd(i,j)波 的幅值,低频率用低i、j表示。此外,DCT是可逆的,逆X=IDCT(V),具体展开如下:
对于包含多个彩色通道的图像,DCT和IDCT可以分别在通道上应用。
2.2 DCT域上的对抗样本分析
为了更好地探究对抗样本在频域中的变化,本文对CIFAR-10数据集进行对抗攻击,该数据集共有60000张分辨率大小为32×32的彩色图像,总共划分为10个类,每类6000张图。本文将二维DCT变换后的DCT系数绘制为热力图(Heatmap),如图1所示。每个DCT系数对应空间频率对图像的贡献比例。在实践中,本文对图像的每个通道分别进行行和列的1D-DCT变换,将它们相乘(对应于水平和垂直方向),得到2D-DC变换后的系数,然后进行加权平均。热力图的左上区域对应图像的低频,右下区域对应的是图像的高频。当从低频观察高频时,可以注意到系数下降得特别快,因此本文在制作热图之前截取了2.0~4.5范围的系数。
图1 不同算法在CIFAR-10上攻击后的平均图谱结果
其中,图1(a)是CIFAR-10数据集10000个干净样本的平均频谱,平均频谱指的是样本经过DCT变换后求平均得到的频谱图。图1(b)、图1(c)、图1(d)和图1(e)分别是FGSM[6]、BIM[7]、PGD[8]和C&W[9]这几种经典对抗攻击方法在数据集CIFAR-10上产生的10000个对抗样本的DCT平均图谱。与文献[10-11]相似,图1(a)的结果表明,自然图像的频率主要集中在左上角低频部分,这部分的频率分量对图像的贡献最大,并随着往高频区域移动,低频对图像的贡献逐渐减小。主要的原因是因为图像中大部分相邻像素相互关联且变化平缓,因此可以用一个低频函数来接近完整的图像信息。研究发现这些对抗样本在图像域上看起来与原始图像十分接近,然而在DCT域上与原始图像则有着明显的差别。从图1(b)、图1(c)、图1(d)和图1(e)可以明显地发现,对抗样本的频谱高频分量明显比图1(a)增加了许多高频分量,频率从低往高发生了剧烈振荡变化,产生了明显的高频伪影。
2.3 基于DCT域的对抗样本检测器
针对2.2小节发现对抗样本在DCT域上存在高频伪影的问题,本文提出了一个基于DCT系数的训练的对抗样本检测器CNN-DCT。相较于在图像域训练的分类器,都是对图像在空间域上的数据进行训练。而基于DCT系数训练的检测器,是在将所有的图像都归一化到区间[-1,1],然后利用2.1小节介绍的2D-DCT将图像从空间域变换到DCT域,得到DCT系数后,把DCT系数作为输入进行训练。本文提出的对抗样本检测器CNN-DCT为一个简单的8层网络结构,如表1所示。
表1 检测器网络结构
2.4 对抗攻击算法的改进
考虑到对抗样本高频伪影的存在,并且存在可能被利用来进行区分干净样本和对抗样本,一个直观的解决想法是直接在最后添加的扰动上增加一个低通滤波器,让对抗样本在频域上看起来与原始图像尽可能的相似。然而,这个简单的方法虽然减小了对抗样本和原始样本在频域上的差异,在一定程度上降低了CNN-DCT的检测率,但同时也增大了攻击的失败率。为此本文寻求一个改进方法,在不牺牲攻击成功率的前提下又能解决在频域上易被检测的问题。本文提出了一个改进的对抗攻击算法IAA-DCT,可以将攻击空间限制在低频范围内,通过启发式的方法在低频空间搜索最优的扰动,从而使对抗样本在图像域和频域上都能最大程度上接近。
首先基于式(1),本文进行了以下优化:
其中lf(r)表示的是将扰动r变换到DCT域后,去除一定的高频分量,保留了扰动r的低频组件,然后再通过DCT逆变换IDCT转换成图像域。具体展开如下式所示:
本文通过对DCT变换后的扰动DCT(r)应用掩模Mask去除扰动r中的高频分量。然后通过对掩模后的频率分量应用IDCT重构扰动。其中,掩模m={0,1}d×d是像素值分别为0和1的二维矩阵图像,掩模采用逐元素积的方式进行。
算法1详细描述了对抗攻击算法改进后的整个流程,通过设定预期的攻击成功率η,保证在限定扰动r的频域大小同时,也能维持一定的攻击成功率。其中ATK表示的是在N个原始样本x上成功被攻击的样本数占所有被攻击原始样本的比例,randint(K)表示从K类别中随机选取一个类别。
3 实验分析
3.1 实验设置
本文实验在CIFAR-10[12]数据集和SVHN[13]数据集上进行了验证。受攻击基准模型为VGG-19[14]和ResNet-34[15]。实验从以下几个指标上进行观测:
(1)被攻击后模型的鲁棒性准确率ACC(Accuracy);
(2)对抗样本的检测率AER(Adversarial Examples Rate),AER值越高则表示对抗样本检测率越高;
(3)攻击成功率ASR(Attack Success Rate),值为成功使分类器分类错误的图像数量占全部图像总数的比例,ASR值越高代表攻击成功率越高。
3.2 频域上的对抗样本检测
3.2.1 实验细节
在对抗样本检测上主要验证了几种经典的对抗样本,包括FGSM[6]、BIM[7]、PGD[8]和C&W[9]。 在CIFAR-10数据集上,分别利用这几种攻击方法在CIFAR-10数据集的训练集上各自随机生成10000张对抗样本,其中8000张样本用来训练,2000张样本用来测试。而在SVHN数据集上,则从训练集上随机筛选出10000张生成对抗样本,用来训练和测试的比例与CIFAR-10数据集相同。本文使用交叉熵作为损失函数,SGD作为优化器,其中学习率为0.001,动量值为0.9。
3.2.2 实验结果和总结
(1)实验结果
本文利用FGSM[6]、BIM[7]、PGD[8]和C&W[9]这几个经典对抗攻击算法在数据CIFAR-10和SVHN上分别对VGG-19和ResNet-34进行攻击,并且利用得到的等比例混合对抗样本集的DCT系数训练得到的检测器CNN-DCT和图像域上训练的CNN进行性能比较,其中ACC和AER表示的是在DCT域上实验得到的结果,ACC*和AER*表示的是在图像域上操作的结果。结果(如表2所示)表明,CNN-DCT取得了平均97%以上的对抗样本检测率AER,相对于在图像域训练得到的检测器CNN取得的92%平均对抗样本检测率AER*提升了近5%。同时发现,在面对不同网络和不同数据集时,对同一个数据集上不同网络或者同一个网络在不同数据集上进行攻击,CNN-DCT得到的对抗样本检测结果和ACC相差不大。例如,FGSM方法在数据集CIFAR-10和SVHN上分别对VGG和ResNet攻击后,通过CNN-DCT得到的对抗样本检测率几乎落在97.5%左右,与ACC平均98.6%的检测率相差不大。这说明改检测模型得到一个较高的假阳率,于是本文在3.3小节进行了检测模型的迁移性实验测试。
表2 CNN-DCT检测结果 (%)
(2)总结
对抗样本在图像域上看起来与干净样本几乎一致,而在频域上存在的高频伪影可以被有效利用。相比基于图像域信息训练的检测器,基于频域信息训练的检测器取得了更高更稳定的对抗样本检测率。
3.3 基于频域检测器的迁移性
(1)迁移性结果分析
为了得到CNN-DCT在面对新的数据集时的表现性能,本文将在SVHN数据集上进行对抗攻击生成的对抗样本训练得到检测器迁移到CIFAR-10数据集上进行检测。同时也进行了从SVHN数据集训练的检测器迁移到CIFAR-10数据集测试的验证实验。
本文分别对受攻击模型VGG-19和ResNet-34在数据集CIFAR-10和SVHN上进行迁移性性能测试。在被攻击模型ResNet-34上,从SVHN数据集训练的CNN-DCT迁移到CIFAR-10数据集结果不足80%。而从数据集CIFAR-10迁移到SVHN的检测结果都接近90%,如表3和表4所示(其中S表示源数据集,T表示目标数据集)。这对于未知模型或者未知数据集而言,是一个可观的表现结果,为以后对抗样本的检测提供了一个新奇的研究方向。
表3 VGG-19模型上迁移结果(%)
表4 ResNet-34模型上迁移结果检测结果 (%)
(2)总结
由于高频伪影普遍存在于不同的数据集上,并且CNN-DCT在迁移性上表现优异,使得防御者即使在不了解攻击者攻击的数据集的情况下,可以很好地利用迁移学习进行对抗样本的检测。未来将继续展开深入的工作。
3.4 对抗攻击算法的改进评估
本文定义了攻击成功率ASR(Attack Success Rate),即成功使分类器在一定数量图像分类错误占全部图像的比例。为了更好地评估本文改进的算法,本文在CIFAR-10数据集图像域上训练了一个有95%分类准确度的CNN模型作为基准模型。
如表5所示,ASR和AER表示的是对上述基准模型的攻击成功率以及对应对抗样本的检测率,ASR*和AER*表示的是直接对扰动添加一个低通滤波后的结果,ASR**和AER**表示用了本文的改进算法取得的结果。ASR越高并且AER越低,证明攻击的成功率越好且不易在频域中被检测器检测到。在正常的对抗攻击下,本文可以利用频域信息很好地区分开对抗样本和干净样本,分辨度接近100%。为了解决这个弊端,本文尝试在常规的方法攻击后方添加一个低通滤波器,将要添加的扰动筛选出一定的低频分量作为最后的扰动。虽然这个方法极大程度上降低基于频域检测器CNN-DCT对对抗样本的正确检测率,同时也带了攻击失败的问题,它严重地降低了攻击的成功率,从97%降到了不足80%。为此,本文更近一步提出了另外一个优化改进算法IAA-DCT,对抗样本的检测率从99%降低到了95%以下,并且还保持着90%以上的攻击成功率。
表5 IAA-DCT算法对比检测结果(%)
4 结论
本文以频域的角度重新探索了对抗样本的相关工作。从对抗样本在DCT域上的平均图谱结果发现,即使在图像域上跟原始样本看起来完全一致的对抗样本,在DCT域上也表现出了与原始样本的巨大不同,普遍存在高频伪影。因此,本文以此为切入点,设计了一个基于DCT域信息的对抗样本检测器CNN-DCT。结果表明,相对于直接在图像域上将对抗样本和原始样本进行分类,本文设计的检测器CNN-DCT,在 数 据 集CIFAR-10和SVHN上 取 得 了近乎98%的成功检测率,分类性能相对在图像域上训练的CNN有极大提升,同时在DCT域上能够极大程度区分开对抗样本和干净样本,从而提高训练模型的性能。迁移性实验结果表明,在未知攻击数据集的情况下,也可以利用迁移学习来进行对抗样本检测,未来将成为一个新的对抗防御方向。最后针对于上述对抗样本在频域上存在的高频伪影以及易被检测的缺陷,提出了改进算法IAA-DCT,保证了对抗样本在图像域上的视觉一致,也让其和原始样本在频域上尽可能相似,在保持攻击成功率的同时,也极大程度上降低在频域上被检测的风险。