图像对抗样本的安全性研究概述

2021-04-06 00:39徐金才孙哲南
信息安全研究 2021年4期
关键词:扰动梯度像素

徐金才 任 民 李 琦 孙哲南

1(中国科学院大学人工智能学院 北京 100049)

2(中国科学院自动化研究所智能感知与计算研究中心 北京 100190)

(13527449440@163.com)

人工智能(artificial intelligence, AI)在普惠金融、健康医疗、智慧城市等诸多领域取得了广泛的应用,在方便人们的生活和促进社会进步的同时,对涉及安全和隐私的应用场景如人脸识别构成了潜在的威胁.对抗样本是AI安全研究的一个热点,新的攻击算法层出不穷,而且攻击场景也从实验室中的简单图像分类[1-3]迅速扩展到商业场景中的智能客服、智能驾驶[4]等领域.华为莫斯科研究中心的工作人员在自己的额部贴上精心设计的贴纸,成功地规避了人脸识别系统的检测,暴露了当前深度学习模型的脆弱性.针对深度学习模型漏洞进行的对抗防御在军事领域如无人机导航、安检犯罪追踪、反恐侦察等也有着广泛的应用场景.

本文介绍了对抗样本的概念和对抗样本存在的原因,分类归纳了对抗攻击和对抗防御的方法,并且对部分攻击和防御方法进行了实验对比.

相比较目前其他的对抗样本综述文章[5-7],本文的主要贡献有3个方面:

1) 针对对抗样本存在的原因,对现有的研究工作进行了系统地梳理和介绍,并在此基础之上对现有的理论进行总结;

2) 本文系统地梳理、介绍了现有的对抗攻击以及对抗防御方法,包括具有里程碑意义的经典研究工作以及该领域的最新进展;

3) 为了更加深入地介绍现有的对抗攻击与对抗防御方法,在公平的测试协议下,本文对目前主流的对抗攻击以及对抗防御方法进行了定量对比实验,并进行了攻击方法的黑盒迁移对比实验.

1 对抗样本的相关概念

1.1 深度学习之卷积神经网络

卷积神经网络(convolutional neural networks, CNN)是一种模仿人脑网络信息传递机制的人工神经网络.得益于计算机计算性能的广泛提高,卷积神经网络使得网络具有输入到输出的非线性映射能力.CNN分类器相当于是映射输入数据到预测结果的高度非线性函数.基于预测类和相应真实类的差别,损失函数是θ的函数表示为lossθ.在训练过程中采用梯度下降算法[8],用于迭代最小化损失值.最后反向传播算法被用于更新整个CNN的参数,如图1所示.在多个领域,卷积神经网络的应用取得了显著的成就.如围棋领域,AlphaGo已经能够超越人类的建模能力,战胜人类顶级棋手取得不败的记录.

图1 深度卷积神经网络

1.2 对抗样本的定义

Szegedy等研究者[9]发现,对于人类视觉系统并不敏感的微小扰动,却能让神经网络过于敏感而产生错误的识别,于是提出了对抗样本的概念.在图像分类任务中,通过对原始图片添加敌对者精心构造的微小扰动,在人类视觉系统难以分辨的情况下却让分类模型产生了误判.上述对抗攻击可以表述为

(1)

其中,x为原始样本;x′为生成的对抗样本;f为被攻击的神经网络;ε为预先设置的扰动上限.对抗样本与原始样本二者之间的不同之处由D(x′,x)加以显示,而且对抗样本的攻击成功率和生成质量则又是通过其上限ε所决定的[10].

如图2所示,图2(a)的图片为原始的样本,类别为鹦鹉,对x添加类似中间部分的扰动后生成了图2(c)的图片x′.在人眼中右边的图片虽然仍然能够被人眼识别为鹦鹉,但是对于神经网络模型,却以高达99.12%的置信度使其错误地分类为书架,图2(c)的鹦鹉图片便是我们所说的对抗样本.

图2 对抗样本的示例

在原理上介绍对抗样本,以二分类问题为例.通过大量的样本训练,机器学习模型学习到了一个分割超平面,对训练样本进行分类,其中A类用蓝色圆表示,而B类则用绿色三角加以表示.通过某种算法计算出了人类视觉系统难以感知的变化量并叠加到原始样本上,生成新的样本(对抗样本),该对抗样本跨越分割超平面(如红色箭头所示),导致机器学习模型产生误判,如图3所示:

1.3 对抗样本存在的原因

关于对抗样本存在的原因学术界一直都处于探索的阶段,虽然大家给出了很多的解释,但是神经网络的可解释性是研究的一大难题,也一直没得到严格的数学证明.目前关于对抗样本存在以下主流的几种解释.

解释1. 图4[11]描述的是从数据集的完备性来考虑对抗样本存在的原因.原始训练的真实样本可以分成2类:分类A和分类B,直线是模型训练出来的分界线,曲线表示实际的分界线.而我们所说的对抗样本就是位于图4中标出的对抗区域(adversarrial regions)[12].从图4可以看出,对抗样本的存在是因为训练的数据集本身不够完备,存在一些我们没有标注到的数据.而这些没有标注到的数据使得模型训练出来的分界面不够鲁棒.一旦遇到这些刚好没有拟合到的数据就容易识别出错.模型训练出来的分类器没有划分好的数据就是对抗样本.

图4 对抗样本存在的原因

解释2. 图5[13]描述的是从数据分布的角度来考虑对抗样本存在的原因.从流形学习领域的许多现有工作中[14-15],研究者发现数据处于高维空间的低维流形区域,其数据维度远小于整个样本空间,样本总是在流形上.如图5所示,我们用曲线表示正常样本的流形,用点和叉代表正常样本和对抗样本.对正常样本作一些微小的修改,很容易让样本偏离原有的数据流形分布,从而让模型判别出错.

图5 MagNet的对抗样本检测

总体来说,对抗性样本存在的原因可能是数据处于高维空间的低维流形区域,并非充满整个样本空间.对抗扰动使得原始样本偏离数据流形分布,从而很容易产生对抗样本.

解释3. Szegedy等人通过研究发现,对抗样本存在的根源在于模型的高度非线性.与之相反,Goodfellow等人[16]则针对性地提出了高维线性假设,并指出对抗样本的产生是由模型局部空间的线性性质导致的.初始扰动在深度神经网络模型前向传递的过程中不断累积,累计值足够大作用到激活函数上,对分类结果产生较大影响.为了避免网络训练的过程中出现梯度消失的现象,导致网络无法有效的收敛.目前的深度神经网络采用Relu[17]这种线性激活函数,这样更容易受到对抗样本的攻击.此外Goodfellow在此假设下设计了快速梯度攻击方法,用来验证自己的假设,认为深度神经网络对样本分类时具有线性分类器的效果.

解释4. Geirhos等人[18]指出神经网络对输入的图像更倾向于纹理等信息的语义理解,而不是全局轮廓的理解.然而人类视觉系统普遍倾向于对整体图像的轮廓结构进行识别.基于这种现象,Kurffzhou等人[19]指出对抗样本会打乱图像的局部纹理,进而能够破坏神经网络的高层语义理解,从而使得深度学习模型判别出错.

解释5. 我们认为对抗样本存在于像素空间的某些特殊位置.在这些位置上,机器学习模型与人类视觉系统的判断不一致,导致这种不一致的根本原因在于现有的以深度学习模型为代表的机器学习模型提取特征、识别图像时,其背后的机理与人类识别视觉系统不一致.体现在特征空间中,当神经网络提取到鲁棒特征和非鲁棒特征时,如果对非鲁棒特征(对应像素空间的特殊位置)作了一定的扰动,人类视觉并没有考虑到这种扰动而没有发现显著变化,但是机器学习模型会因为非鲁棒特征的扰动带来的干扰,使得模型分类产生巨大的误差.文献[20]验证了对抗样本是神经网络学习到的非稳健特征的观点.

到目前为止,深度学习模型容易受到对抗攻击的原因仍然是一个开放的议题,究其本质目前还缺乏统一的理论共识,这同时也制约着对安全要求很高的深度学习模型的应用.

2 对抗样本的生成

在攻击者对于目标模型的访问权限不同的前提下,将攻击行为分为白盒攻击(white box attack)和黑盒攻击(black box attack)两类.白盒攻击所代表的是攻击者能够对目标模型实施完全访问的权限,它们可以了解模型的架构、参数和权重.黑盒攻击指的是攻击者很少或根本没有关于目标模型的知识,他们无法对模型内部进行探寻.

按攻击目的可分为目标攻击和非目标攻击.目标攻击所代表的是生成的对抗样本希望被模型错分至某个特定的目标类别.另一方面,非目标攻击指的是对抗样本只要能让模型分类到除了原类别之外的任何类别即可.

此外,目前对抗样本已经从数字空间拓展到物理空间.现实环境中由于光照的强弱、天气、遮挡、拍摄距离和角度等多重因素,较小的扰动在相机2次成像下变得微乎其乎,对抗样本在物理空间中很难攻击成功.即使将对抗样本带到现实空间中,过大的干扰形成的图片失真扭曲也会容易被人察觉出来.在物理领域对抗样本的生成相比数字图像领域难度较大,易于被发现,在此背景下,Duan等人[21]通过研究并提出风格迁移和对抗攻击相结合的框架——AdvCam,能够个性化改造与伪装对抗样本的风格,并有效地降低了被人类视觉系统发现的风险.

2.1 白盒攻击

2.1.1 快速梯度攻击

Goodfellow等人[22]首先提出了快速梯度攻击(fast gradient sign method, FGSM).与梯度下降相反,该方法通过将扰动的方向沿着梯度提升的方向使损失函数增大.同时假设损失函数是线性的或者至少是局部线性的.如果不是(局部)线性的,那梯度提升的方向就不一定是最优方向.FGSM公式如下:

(2)

1) 基本迭代的攻击方法

Kurakin等人[23]提出了FGSM的改进版(basic iterative method, BIM).该方法在模型损失函数的梯度方向上将单步迭代分解成多步迭代.每次迭代后重新计算梯度的方向.BIM的公式如下:

(3)

其中clip(·)表示截断函数,将其限制在一定的范围内,使得最大的扰动值不超过某个阈值.BIM比FGSM能构造出更加精确的扰动,但是增加了计算开销.

2) 动量迭代的快速梯度攻击

Dong等人[24]提出了基于动量迭代[25]的快速梯度方法(momentum iterative fast gradient sign method, MI-FGSM).引入的动量能使添加噪声方向的调整更加平滑,也有助于逃离局部极大值,增强对抗样本的迁移性.产生的扰动计算公式如下:

(4)

实验证明通过动量项的引入,MI-FGSM相比于FGSM,BIM提高了迁移攻击成功率.

但是MI-FGSM并没有克服因为引入动量项带来的噪声固化效应[26],导致黑盒迁移攻击的成功率不高.

3) 多样性的梯度攻击

Xie等人[27]在BIM,M-FGSM基础上提出多样性攻击方法(DI-FGSM).MI-FGSM攻击由于迭代问题会陷入局部最优的陷阱.为了缓解这个问题,将T(·)图像变换应用于概率为p的输入,这样每次迭代可以缓解过拟合的现象.DI-FGSM方法为

(5)

2.1.2 DeepFool攻击

DeepFool[28]是一种基于梯度的白盒攻击方法.该方法假设深度学习模型存在不同样本类别的分割超平面,通过迭代生成最小范式的对抗扰动,移动方向与分类边界的夹角为不完全意义的正交,从而保证最快跨越决策边界,使得模型的决策出现错误.以二分类为例,最小扰动实际上就是样本点至分割超平面之间的垂直距离,换言之,也就意味着只要最小扰动的幅度再强一些,进而得以有效地实现对决策边界的跨越.假设分类器的分类函数f(x)=wT·x+b,改变分类器决策的最小扰动为样本点x0到分割超平面F={x:wT·x+b=0}的正交投影,则有如下公式:

(6)

图6 二分类的最小扰动距离

2.1.3 C&W攻击

C&W算法首先由Carlini和Wagner[29]提出的.C&W攻击一般被认为是攻击能力最强的一种白盒攻击方法.假设原始数据为x,分类结果为c(x),对抗样本为x′,x′和x非常接近,但是分类结果c(x′)却和c(x)不同.C&W同时支持l0,l2和l,3种攻击方式算法基本相同,目前使用最广泛的l2为定向攻击.

C&W是一种基于优化的对抗样本生成算法,该方法的一大亮点在于损失函数(目标函数)的定义.假设在原始数据x上叠加扰动,生成对抗样本为x+δ,对抗样本和原始数据之间的距离定义为D(x,x+δ),那么整个优化函数可以定义为

minD(x,x+ρ)+c·f(x+ρ),
s.t.x+ρ∈[0,1]n.

(7)

C&W算法的另外一个特色就是对数据截断的处理.针对灰度图像而言,一般1个像素点的取值范围是在区间[0,255]之中,但是在进行对抗攻击时经常会出现溢出现象,如-0.1或255.1,通过引入新的变量w,因为tanh(w)∈[-1,1],所以可以保证对抗样本不溢出.并且tanh(w)不会出现截尾梯度下降的梯度消失问题.那么对抗样本可以表示为

(8)

对于l2定向的攻击,假设攻击目标标签为t,被攻击模型的Logits输出为Z,那么目标函数定义为

f(x)=max(max{Z(x)i:i≠t}-Z(x)t,-k),

(9)

整个优化的目标如下,其中w为新定义变量:

(10)

2.1.4 基于雅可比矩阵的显著图攻击

雅可比矩阵的显著图攻击(Jacobian-based saliency map attack, JSMA)是Papernot等人[30]提出的.JSMA是典型的l0范数的攻击,尽可能少地修改样本的像素.JSMA的特点是引入了显著图(saliency map)的概念,用以表示输入特征对预测结果的影响程度.该算法1次修改原始样本的几个像素值,观察输入对输出的影响.用原始图像的值初始化对抗样本,基于前向函数进一步针对梯度开展计算,以此来实现对显著图的获取.在完成显著图的计算之后,算法将能够对改变最有效的像素进行选取并对网络加以欺骗,进而对对抗样本迭代更新,直到满足最大迭代次数或者对抗样本预测值等于攻击目标的标签为止.JSMA和FGSM,DeepFool的区别是,JSMA中的梯度不依赖于损失函数,直接通过前向计算获得的Logits输出结果与输入之间计算产生.

2.1.5 通用型扰动攻击

Moosavi-Dezfooli等人[31]首次证明了存在一种非定向的通用型扰动攻击.通过为输入图片施加一个扰动,使得分类器以较大概率分类错误.这个“扰动”有2个特点:1)通用,即扰动与输入图片无关,仅与模型本身相关;2)非常小,具有小的范数,从而不改变图片本身的结构.

(11)

通过式(11),对数据集X中的所有图像添加通用型扰动δ,使数据集X中大部分图像能够误导分类模型.

2.1.6 后向传递可微近似方法

Athalye等人[32]提出后项传递可微近似(backward pass differentiable approximation, BPDA).针对防御者采用破碎梯度策略导致梯度不可微时,该方法利用近似估计梯度方法,成功绕开此类防御技术.在防御者策略选取为随机化梯度策略的情况下,攻击者将会通过对如旋转、平移、加噪等各种方式的利用,进而改变随机变换期望(expectation over transformation, EOT)[33].

2.2 黑盒攻击

黑盒攻击把模型当成一个黑盒来处理,对模型内部结构细节不了解的前提下对模型发起的攻击.目前常见的黑盒攻击算法主要分为2类:一类是基于查询的方法,对一定的算法构造输入,然后根据模型的反馈不断迭代修改输入,比较典型的就是单像素攻击算法和本地搜索攻击算法;另一类是基于迁移学习的方法,使用白盒攻击类似的开源模型,再用生成的对抗样本进行同类任务的黑盒攻击.

2.2.1 基于置信度的攻击

零阶优化(zeroth order optimization, ZOO)[34]的思路是先实现对目标模型梯度的估计,进而通过梯度产生对抗样本.所有类的概率向量通过对模型多次探寻获得,然后通过差分数值近似估计梯度,最后利用梯度信息进行攻击.该方法需要多次的查询去估计梯度,增加了计算开销.Ru等人[35]利用贝叶斯优化提高查询效率成功地找到对抗扰动.Meunier等人[36]利用进化算法实现无导数优化.Du等人[37]采用元学习来近似估计梯度.该方法在不影响攻击成功率和失真的情况下,大大减少所需的查询次数.

2.2.2 单像素攻击算法

单像素攻击(single pixel attack)[38]是一种基于差分进化的极端对抗攻击算法.它仅通过修改原始数据上的1个像素值,让模型产生错误分类.由于不需要网络的内部结构和梯度等信息,单像素攻击是一种典型的黑盒攻击.在实际使用中,该方法对于比较简单的数据集有很好的攻击效果,比如MNIST,CIFAR10.这类数据集图片普遍比较小,针对1个像素点的修改可以对分类结果产生较大影响.但是当图像较大时,1个像素点的改变很难影响到分类结果.随着图像文件的增大,搜索空间也迅速增大,单像素攻击的效率也会快速下降.

2.2.3 本地搜索攻击算法

有的单像素攻击在实现上允许同时修改1个以上的像素点,例如同时修改20个像素点,但是攻击效果并不明显.因为单像素攻击没有很好地利用模型的反馈信息去优化扰动,很大程度上依赖随机选择像素和迭代调整像素点的值.本地搜索攻击算法(local search attack)改进了单像素攻击算法,该方法的主要改进点是根据模型的反馈信息去选择扰动的点,并随机选择对分类结果影响大的点周围的其他点,进一步选择.

2.2.4 期望变换攻击

Athalye等人[39]提出了在物理环境下生成对抗样本的方法.变换期望攻击(EOT)引入变换分布T,对于任意变换函数t,分类器的输入由原始对抗样本x′变为t(x′).实践应用中变换函数t可以表示如旋转、平移、加噪等各种变换.EOT被参数化即确定了分布T.EOT框架可以优化分布T下的样本得到对抗样本.公式如下:

(12)

其中:x′为对抗样本;x为原始图像;LAB为图像颜色对立空间[40];T为图像变换分布.

2.2.5 基于决策边界攻击

Brendel等人[41]提出了仅需输出类型的决策边界攻击,根据边界的局部几何动态地调整正交和朝向,原始输入2个方向的步长,在不断迭代靠近原始样本的基础上生成对抗样本,这种攻击可以有效地应用到现实场景中,部署成本较低.

2.2.6 AdvGAN攻击

Xiao等人[42]提出以生成对抗网络为基础的对抗样本生成方法.对抗生成网络(ADV-GAN)主要以生成器G为基础实现扰动的生成,并且通过网络训练产生新的对抗样本,送入判别器D,判别是否为对抗样本.如果是对抗样本则可用来攻击目标神经网络.ADV-GAN产生的对抗样本因为借助生成对抗网络,和原始样本几乎没有任何像素层的差异,攻击能力强,但是因为对抗设置模式比较局限,不会被广泛应用.

2.2.7 空间变换攻击

区别于传统的对抗攻击方法修改像素值,Xiao等人[43]设计了一种空间变换攻击的方式.这种方式在对局部图像特征进行平移、旋转、扭曲的过程中进一步实现空间变换的图像干扰.这样的扰动很小,但是能欺骗分类器.

2.2.8 基于迁移学习的方法

对抗样本迁移性指的是,对一个模型攻击产生的对抗样本可以有效地攻击同一任务的其他模型.Papernot等人[44]先通过白盒攻击的方式对与目标模型具备相同任务的替代模型进行攻击,然后再通过对抗样本的迁移性,达成对目标模型进行攻击的效果.另一方面,Dong等人[24]则是通过研究提出了一种建立在动量基础上的迭代算法MI-FGSM.

通过这一方式,在迭代过程中引入动量项,进一步提升对抗样本迁移性.Curls&Whey[45]在迭代过程中将梯度上升和梯度下降相结合,提高对抗样本的迁移性和多样性.Xie等人[46]则是基于BIM算法的迭代过程中,对输入进行随机变换来达到数据增强的目的,从而提升对抗样本的迁移性.Liu等人[47]提出组合多个不同网络结构的集成模型作为黑盒替代模型的方案.在迁移性方面,相较于单一模型,集成模型产生的对抗样本有更好的迁移攻击成功率[48].

2.3 物理空间的对抗攻击

为了更好地了解深度神经网络的脆弱性,研究者对部署在实际世界对抗攻击的可能方式进行了广泛的研究:Sharif等人[49]设计了对抗性眼框欺骗人脸识别模型;Eykholt等人[50]通过在交通指示牌贴贴纸欺骗停车信号的识别;Brown等人[51]构造了普遍适用的对抗性补丁,导致任何目标错误分类;Duan等人[21]提出了采用风格迁移融入对抗样本生成的方法.在自然场景下,该方法可以伪装对抗样本的风格,另一方面克服了过大扰动提高攻击成功率与视觉隐匿性降低不可协调的矛盾.

3 对抗样本的防御

对抗防御存在3个主要方向:数据预处理、提高模型的鲁棒性、恶意检测.

1) 数据预处理是在图像输入网络之前对图像进行平移、旋转、缩放、裁剪等一系列数据增强的方法来消除图像中的部分扰动.数据预处理的好处是计算开销小,不需要修改网络的结构.

2) 提高模型的鲁棒性可以通过修改模型结构、梯度正则化、特征去噪等方式增强模型的鲁棒性,但是需要重新训练网络,计算开销大.

3) 恶意检测方法通过检测输入图像是否为对抗样本,在送入识别模型之前选择接受或者拒绝.恶意检测方法相比于预处理的区别是,不能恢复对抗样本为干净样本.

3.1 数据预处理

3.1.1 图像变换

对抗样本通过JPEG压缩方法[52-53]能够破坏扰动,在一定程度上降低扰动带来的影响,从而可以抵御对抗攻击,但随着扰动的增加,抵御对抗样本的效果变差.Liu等人[54]通过重新设计标准的JPEG压缩算法来抵御对抗样本,该方法又被叫作特征蒸馏.Jia等人[55]提出了利用图像压缩网络进一步实现对对抗扰动的消除,通过对对抗样本的预先压缩实现对扰动的消除,再通过重构的方法恢复干净的样本.Raff等人[56]提出了集合多种单一防御方法的综合防御机制来抵抗对抗样本,在图像输入网络之前通过诸如JPEG压缩、小波去噪、非局部均值滤波、位深度缩减等变换,去除样本的对抗扰动.Guo等人[57]使用图像缝合及总方差最小化技术来防御对抗攻击.图像缝合通过K近邻选择外部大小相似的图像区域来近似生成局部的图像区域.总方差最小化技术重构出随机擦除的部分图像像素,消除可能存在的对抗扰动.Prakash等人[58]提出像素偏转的方法,该方法通过随机化来选择少量像素,替换为领域内随机选取的像素.因为替换后的像素值会产生噪声,使用小波去噪[59]将其消除,让图像显得更加真实自然逼真, Sun等人[60]通过构造一个低维拟自然图像空间,将对抗样本投影到自然图像空间中.

3.1.2 去噪网络

Osadchy等人[61]利用传统滤波的思想消除对抗扰动,认为对抗扰动是一种噪声,可以用滤波器滤除.以像素为目标的去噪器(pixel guided denoiser, PGD),由于扰动在特征层逐层放大而导致网络的错误输出,Liao等人[62]在此基础上进一步提出了高阶表征为目标的去噪器(high guided denoiser, HGD).该方法利用U-Net[63]去除图像中的扰动,不同于传统的去噪自编码器重构原始图像,而是在特征层的损失函数学习.网络在避免重构整张图结构时只需学习如何去除扰动.

3.1.3 超分辨率

Mustafa等人[64]提出一种基于超分辨率[65]的防御方法.该方法能够将流形边缘的对抗样本重新映射到自然图像流形上.研究表明,超分辨率网络能够消除噪声干扰的主要原因是在输入图像中加入了高频信息.该方法不需要进行任何模型训练的基础上增强了图像的质量,并且保持模型在干净样本上的识别率.

3.2 提高模型的鲁棒性

3.2.1 对抗训练

Goodfellow等人[16]最早提出对抗训练的概念.其主要思想是:将生成的对抗样本加入训练集中,与干净样本一同训练来提高模型针对特定对抗样本的鲁棒性,随着训练次数的迭代,提高了模型对特定对抗样本的识别率.Yang等人[66]认为,目前对抗防御方法在模型鲁棒性和准确率之间的折中性选择,可以通过数据集的可划分性来解决.作者发现真实图像数据集一般是可划分的,利用数据集的可划分性,神经网络模型在一定程度上可以同时满足强鲁棒性和高准确率.Kurakin等人[67]通过新的训练策略将模型扩大到更大的训练集,并且通过批标准化[68]来提高对抗训练的效率.Madry等人[69]通过投影梯度下降法进行对抗训练,相比于FGSM单步攻击增加了多步迭代,但是此类方法涉及所有训练样本的迭代攻击,很难扩展到像ImageNet这样的大型数据集.对抗训练因为标签泄露[23]的原因,生成对抗样本时需要多次计算输入图像的梯度,训练成本非常高.训练好的模型对于其他对抗攻击方式的防御能力很差.通过实验能够发现,对抗训练防御方法难以有效地对低频扰动的对抗样本加以抵御[70].

3.2.2 高斯数据增强

虽然对抗训练落地非常方便,但是问题也显而易见,就是难以穷尽所有的对抗样本,那么是否有种方法可以尽量多地穷尽对抗样本呢,高斯数据增强(Gaussian data augmentation)算法认为,绝大多数的对抗样本相当于在原始图像上叠加了噪声,理想情况下可以用高斯噪声模拟这种噪声.在模型的训练环节中,在原始数据的基础上,叠加高斯噪声训练神经网络实现正则化,从而提高防御模型的鲁棒性.但是向原始样本中添加的噪声是从同一高斯分布中采样得到的,并没有考虑到网络对图像中不同像素的敏感度是不同的.以图像分类为例,图像中不同像素点改变对最后分类结果的权重是不同的.刘野等人[71]提出的梯度指导噪声添加的对抗训练算法解决了上述问题.该算法根据图像中不同区域的敏感性(梯度值)添加自适应的噪声,提高了模型对于对抗样本的防御能力,同时提高了模型的分类精度.

3.2.3 梯度防御

Gu等人[72]提出了深度压缩网络(deep compression network, DCN),在训练模型的过程中,对压缩自编码器的平滑度惩罚项进行正则化约束,在此基础之上进一步推动模型的输出向更为平滑的方向发展.神经网络的输出对输入的梯度幅度过大是造成其过于敏感的原因.Ross等人[73]提出梯度正则化的方法来提升网络的对抗鲁棒性.在深度神经网络的训练过程中,惩罚输出相对输入的变化幅度,使得输出对于输入的敏感性降低,从而达到隐藏梯度的效果,但这带来了更大的计算量.

混淆梯度策略让基于梯度生成对抗样本的方法失效.混淆梯度包含3种类型,分别是随机梯度、破碎梯度、爆炸与消失梯度.破碎梯度添加了一个不可微的预处理g(·),然后在g(X)上训练深度神经网络模型.训练后的分类器f(g(·))在x上不可微,使攻击者无法找到用于攻击的梯度,进而使得对抗攻击失败.随机梯度方法的主要思想是训练一组分类器,在对输入样本x分类时,随机选取一个分类器来预测其类别.由于攻击者无法知道网络模型选择的是哪个分类器,因此攻击成功率很低.爆炸梯度和消失梯度通常由包含多次神经网络评估迭代的防御引起,将一个计算的输出作为下一个计算的输入.这种类型的计算被视为极深的神经网络,来自每一层偏导数的累积乘积将使得偏导数极大或者极小,攻击者很难估计用于生成对抗样本的梯度信息[74].

3.2.4 防御蒸馏

防御蒸馏(defensive distillation)[75]是基于对模型作平滑输出的思想来实现的.Hinton等人[76]提出的蒸馏(distillation)是指通过知识迁移的方法,将复杂模型的知识迁移到小模型上,在压缩神经网络的同时保持预测的准确性.Papernot等人[75]提出的防御蒸馏的思想是,首先根据原始训练样本x和标签y,以及大于1的温度T训练一个教师模型,进而得出概率分布F(x).将原始训练集中的标签替换成概率分布F(x),作为新的数据集用完成对学生模型的训练,在对学生模型的训练中保持相同的网络结构、蒸馏温度T,并最终得出新的概率分布Fd(x).预测时采用T=1来进行分类,该方法保持了分类精度的同时可以有效防御对抗样本的攻击.通过训练的软标签,模型的分类边界更加平滑,增强了对输入扰动的不敏感性,提升了模型对对抗样本的鲁棒性.然而已有实验表明防御蒸馏已被C&W攻击攻破.

3.3 恶意检测

3.3.1 生成对抗网络(GAN)

Lee等人[77]提出了一种检测对抗样本,并能增强模型鲁棒性的防御方法.通过生成对抗网络中的生成器和判别器相互博弈,在生成网络生成对抗样本的同时,判别网络用来进行分类.通过2个网络相互博弈,构造的分类网络鲁棒性得到提高.Samangouei等人[78]提出一种新的防御策略Defense-GAN.Defense-GAN使用生成模型将可能存在的对抗样本投影到干净数据流形上[79],然后再对其分类.生成模型可以看作是将对抗样本转换成干净样本的净化器.

3.3.2 对抗样本检测

对抗样本检测只需针对性地就输入样本是否符合对抗样本的各项属性进行辨别.Xu等人[80]提出了通过特征挤压的方式,不断去压缩攻击者的搜索空间容量.特征挤压方法在DNN分类器中添加了2个外部模型,分别对应2个实现:1)实现像素级别的颜色深度向下调整,即使用较少的值对颜色编码;2)对图像使用平滑滤波器,达到像素值的空间平滑这一效果.原始输入样本和通过外部模型压缩后的样本经过分类器,输出2个结果.如果距离相差不大,则输入样本被定义为干净样本;一旦距离超出阈值之外,则输入样本被定义为对抗样本.

Meng等人[13]提出了一种并行检测对抗样本防御框架——MagNet. MagNet使用2种方法处理神经网络中存在风险的未知样本.该框架中首先使用检测器来检测所有样本中扰动量大的对抗样本后直接删除,然后针对扰动量小的对抗样本,通过接近真实样本数据流形上的对应样本来近似代替.通过这2种并行的防御机制可以提高神经网络的分类准确度.通过使用Autoencoder作为检测器,MagNet在不需要任何对抗样本或者生成对抗样本信息的条件下达到检测对抗样本的目的,该检测方法具有更强的泛化能力.

3.4 其他对抗防御方法

王晓鹏等人[81]提出了一种新的防御对抗攻击的方法:FGSM-Defense算法.该算法根据分类器对原对抗样本的初次预测排名,按照置信度大小取出指定数量的类别,并且通过暴力搜索的方法将选出的类别指定为目标类进行再次攻击,从而寻找到原对抗样本的真实类别.该防御方法相比于其他防御方法而言,不需要改变原网络结构并且不需要对抗训练,减少了计算开销,应用部署成本较低.

4 实 验

4.1 攻击方法的实验

我们分别进行以下3组实验:1)基于MNIST数据集,介绍了典型的白盒攻击攻击成功率的对比;2)基于CIFAR-10数据集,针对不同攻击方法所生成的对抗样本的黑盒迁移性对比;3)基于ImageNet数据集,比较了不同攻击方法产生的对抗扰动强度.

4.1.1 白盒攻击攻击成功率的对比

第1组实验基于数据集MNIST,模型是3层卷积的CNN,每层的参数设置为(1,16,5),(16,32,5),(32,64,5),采用线性激活函数Relu,最大采样(2,2).我们分别对PGD,MutiAttack(10*PGD),BIM,FGSM这4种攻击方法, eps代表着失真扰动,分别设置4/255,8/255,0.1,0.3.对DeepFool,CW攻击2种方法, step代表着迭代步数,分别设置10,50,100,1 000,在不添加扰动时,识别模型对于干净样本的识别率为99.25%.实验结果如表1和表2所示:

表1 基于梯度迭代攻击方式的对抗样本识别准确率 %

表2 其他攻击方法下的对抗样本的识别准确率 %

上述几种攻击方法,随着eps和step的不断的增大,对抗样本被识别为干净样本的准确率越来越低,代表着攻击成功率不断提高.通过对比相同的eps值,mutiAttack的攻击成功率要高于PGD.实验也证明,BIM多步迭代攻击要比单步攻击FGSM的效果好.在DeepFool攻击方法中,对抗样本被识别为干净样本的准确率只有1.19%,这说明攻击成功率显著,但是随着step的增加,攻击成功率提升有限.CW攻击作为最强白盒攻击算法之一,其攻击效果较好.

4.1.2 对抗攻击的黑盒迁移性

基于CIFAR10数据集,分别通过PGD,BIM,FGSM,DeepFool,CW这5种攻击方式攻击白盒模型,利用生成的对抗样本攻击相同任务的黑盒模型,白盒模型是2层的卷积,每层参数设置为(3,32,5),(32,64,5),采用线性激活函数Relu,最大采样(2,2).黑盒模型内部结构和参数未知,实验结果如表3所示:

表3 各种攻击方法黑盒迁移性能力对比 %

识别模型对于干净样本的识别率是98.72%对于其他各种攻击方法来说,生成的对抗样本被识别模型识别为正确类的概率均远远低于98.72%,说明迁移攻击成功.可以利用基于白盒模型产生的对抗样本,去攻击具有相同任务的黑盒模型,通常具有较高的成功率,对抗样本被正确识别的概率相比于原始干净样本识别率的降低,证明了对抗样本迁移攻击性.

4.1.3 不同攻击对抗扰动的强度对比

在ImageNet数据集,比较了不同攻击方法产生的对抗扰动强度.下面将分别介绍FGSM,BIM,PGD,DeepFool,CW,TPGD的攻击方法,选择其中的3组图片进行展示,如图7所示.

由图7可知,各种攻击方法产生的对抗样本对于人类视觉感知系统几乎没有差异,但却可以让机器模型出错.对于同一样本的攻击,PGD的攻击强度明显高于BIM和FGSM. CW作为最强的一阶攻击算法,3组图片的变形程度略高于其他算法.

图7 对抗扰动强度对比

4.2 防御方法的实验

为了对比不同防御方法的模型防御能力,我们分别进行了2组实验:1)基于MNIST,CIFAR10数据集,通过PGD攻击产生对抗样本进行对抗训练的防御方法;2)基于MNIST,CIFAR10,ImageNet数据集,通过训练DAE(denoising autoencoder)消除对抗样本扰动的防御方法.

4.2.1 对抗训练的鲁棒性

实验基于MNIST,ImageNet数据集,采用和实验1同样的网络模型和网络参数,对抗训练产生对抗样本的方式是PGD,其中识别模型在MNIST数据集上,对干净样本的识别率是99.12%,在CIFAR-10上对于干净样本的识别率为98.86%,实验结果如表4所示.

由实验对比可知,通过PGD攻击产生的对抗样本加入训练集用于对抗训练的模型,对于PGD攻击方法产生了较好的鲁棒性,因此证明对抗训练是一种有效的抵御对抗样本的方法. PGD和BIM都是迭代的FGSM,两者的区别是PGD增加迭代轮数,并且随机化处理,理论上PGD的攻击效果要比BIM好.实验也证明,通过PGD对抗训练产生的鲁棒模型,对于BIM和FGSM同类低强度攻击方法也有很好的防御效果.上述实验的另一个现象是,对于DeepFool和CW等其他攻击方法,对抗训练模型的泛化能力不好.证明了对抗训练方法只能对参与对抗训练的特定对抗攻击方法有效,对其他攻击方法不具有模型鲁棒性.对比实验1,对抗训练的模型对测试集干净样本的识别率为99.12%,低于原始识别率99.25%,说明对抗训练的方法在提升模型的鲁棒性的同时,降低了干净样本的识别精度.

表4 对抗训练的鲁棒性 %

4.2.2 DAE去噪防御

图8所示为DAE效果图,其中第1行是原始图像加了随机高斯噪声,第2行是原始图像加了椒盐噪声,第3行为高斯噪声图像和椒盐噪声图像通过DAE网络去除了噪声的图像,实验说明DAE网络有对图像去除噪声的效果.

图8 DAE网络图像去噪

图9 扰动去噪前和去噪后对比

我们用PGD,BIM,FGSM,DeepFool,CW等攻击方法产生的对抗样本,通过上述的DAE去噪网络,消除对抗扰动.如图9以及表5所示. 左列是通过PGD攻击产生的对抗样本,右列为对抗样本经过DAE模型去除扰动恢复的样本.识别模型在MNIST数据集上,对干净样本的识别率是99.25%,在CIFAR10上,对干净样本的识别率是99.09%,在ImageNet上,对于干净样本的识别率是98.86%.

表5 DAE网络对各种攻击方式的去噪能力对比 %

表5分别在MNIST,CIFAR10,ImageNet数据集进行实验对比,识别模型对于对抗样本有较低的识别率,但是通过DAE网络去除对抗样本中的扰动后,识别模型对去噪后的样本有较高的识别率,说明DAE网络模型能够有效地对对抗样本进行抵御,在此基础上进一步实现模型鲁棒性的提升.对于DAE网络来说,对抗样本的扰动在特征层被视为一种噪声,DAE网络有去除噪声的能力.另外上述3种数据集中,去除噪声后的样本识别率均低于识别模型对干净样本的识别率,证明DAE网络是一种有损恢复,模型在压缩扰动噪声的同时也造成了原始样本有效信息的损失,从而造成了恢复的样本模型识别率的降低.

5 结 论

对抗样本会严重威胁深度学习模型的安全性,因此对抗样本也成为当下工业界的研究热点,阿里巴巴研发了对抗知识问答验证码——AI安全验证码[82].攻击方法和防御方法不断演进,互为矛盾,共同推动这个领域的发展.本文介绍了:1)对抗样本的概念及对抗样本产生的原因;2)如何产生对抗样本;3)以数据和模型2个层面为切入点如何开展对抗防御;4)为了更加深入地介绍现有的对抗攻击与对抗防御方法,在公平的测试协议下,对目前主流的对抗攻击以及对抗防御方法进行了定量对比实验,并进行了攻击方法的黑盒迁移对比实验.关于对抗样本防御方向,我们认为未来可以关注图像整体结构,而不是纹理特征获得更强的鲁棒性,加入结构化的规则来融合整体的结构信息.

猜你喜欢
扰动梯度像素
Bernoulli泛函上典则酉对合的扰动
像素前线之“幻影”2000
一个带重启步的改进PRP型谱共轭梯度法
一个改进的WYL型三项共轭梯度法
一种自适应Dai-Liao共轭梯度法
(h)性质及其扰动
“像素”仙人掌
一个具梯度项的p-Laplace 方程弱解的存在性
ÉVOLUTIONDIGAE Style de vie tactile
小噪声扰动的二维扩散的极大似然估计