时间:2024-05-04
魏佳璇,杜世康,于志轩,2,张瑞生
(1.兰州大学信息科学与工程学院,兰州 730000;2.兰州大学第一医院,兰州 730000)
近年来,得益于图形处理器(Graphics Processing Unit,GPU)技术突飞猛进的发展以及计算机硬件升级带来的算力提升,深度学习取得了令人瞩目的发展成果。当前,深度学习技术不仅大量地应用在图像分类、语音识别和自然语言处理领域的常规任务中,更是在自动驾驶系统[1]、人脸识别系统[2]、恶意软件自动分类[3-4]和异常检测[5]等工业生产和生活领域的大量关键任务中发挥着重要作用。虽然深度学习技术在众多问题的解决上取得了一系列重要研究成果,但对于自身还存在一些关键的问题亟待解决,特别是深度学习模型存在的对抗样本问题。
2013 年,Szegedy 等[6]在研究图像分类任务时发现,在一个可以被深度学习模型正常分类的样本图片上添加噪声数据后,即使是分类准确率很高的深度学习模型也会以极高的置信度对该样本误分类。而添加在样本图片上的噪声数据是微小的,以人的肉眼几乎察觉不到在样本图像上进行的篡改,篡改后得到的输入样本被称为对抗样本。对抗样本的一个示例如图1 所示,原始样本为ImageNet 数据集[7]中图片,其真实的标签和在ImageNet 上预训练的ResNet 模型[8]的分类结果均为足球。添加了恶意的扰动数据后得到对抗样本,此时ResNet 模型将该对抗样本误分类为橄榄球。
图1 对抗样本示例Fig.1 Examples of adversarial sample
对抗样本问题揭示了深度学习模型存在严重的安全漏洞,给深度学习技术的普遍应用带来了严峻的安全挑战。在围绕对抗样本的研究过程中,主要以用于对抗样本生成的对抗攻击技术的研究为主,迭代发展出了多样性的对抗攻击算法。目前已知的大部分对抗攻击算法针对图像分类任务提出,并经过改造应用在诸如语义分割、目标检测等常见的计算机视觉任务上。经过改造的攻击算法甚至可以很好地推广到自然语言处理和语音识别等任务中。此外,对抗攻击现象不仅发生在数字图像空间,对于部署在真实应用场景下的深度学习模型[4,9-11]也能够带来安全威胁。
对抗攻击技术由于其破坏力和潜在的应用前景,成为近年来深度学习学术界和工业界共同的研究热点。Carlini等[12]统计的2014 年至今,arXiv 网站发表的对抗样本相关论文的数量情况如图2 所示。攻击者利用已有的对抗攻击算法可以在深度学习模型推理阶段对输入样本添加噪声数据,而达到恶意改变模型推理结果的目的。根据对抗攻击技术在生成对抗样本时是否需要了解目标模型的网络结构、参数设置、训练数据和方式等知识,对抗攻击技术可分为白盒攻击和黑盒攻击;根据攻击是否需要让模型输出指定的目标类别,又分为目标攻击和无目标攻击。目前针对对抗攻击技术的研究大多以白盒攻击方式为主,其攻击成功率大幅高于黑盒攻击方式,对深度学习模型带来的安全威胁也较为严峻。为及时评估对抗攻击技术给深度学习模型带来的安全风险,以便为深度学习技术的安全应用提供有益参考。本文围绕图像分类任务,对近年来研究人员提出的具有一定代表性的白盒对抗攻击技术进行全面阐述和分析总结。
图2 对抗样本论文数量Fig.2 Number of adversarial example papers
对抗攻击是一种发生在深度学习模型推理阶段的攻击行为。在图像分类任务中,给定一个深度学习模型f(x)=y,x∈Rm为模型的输入,y∈Y为针对当前输入x的模型输出。模型f(·)一般还包含一组训练好的权重参数θ,为方便说明,对模型描述时省略该参数。对抗攻击技术描述为在针对目标模型f(·)的输入x上寻找一个小的噪声数据r,当r叠加在x上输入目标模型后,使得f(x+r) ≠f(x);在目标攻击中,使得f(x+r)=yt,yt为需要让模型输出的目标类目。
为了使噪声数据r足够小,保证人眼察觉不到攻击者在图像上进行的篡改,大多数对抗攻击算法[6,13-14]会使用l0、l2或l∞范数对扰动噪声r的大小进行限制。用l2范数来约束扰动大小时,在目标攻击中,对抗样本的生成问题可描述为如下的优化形式:
其中:yt是要攻击的目标类别;x为原始输入样本;r表示扰动噪声;x+r表示得到的对抗样本,后文也用xA表示。
下面简要说明和定义在本文中出现的对抗攻击技术相关术语。
模型 深度学习模型,文中一般指图像分类模型。
对抗样本(Adversarial Examples)对抗样本概念由Szegedy 等[6]提出,攻击者对原始输入样本添加轻微的噪声数据后能使深度学习模型推理错误,这类添加噪声数据后影响模型推理能力的样本称为对抗样本。
扰动/对抗扰动(Adversarial Perturbations)在原始输入样本上添加噪声数据后能使深度学习模型推理错误,被添加的噪声数据称为扰动或对抗扰动。
通用对抗扰动(Universal Adversarial Perturbations)不同于对抗扰动只针对特定的输入样本,通用对抗扰动添加在大部分输入样本上都会使得深度学习模型推理错误。
对抗扰动的迁移攻击性 针对目标模型A,在输入样本x上生成对抗扰动r。当扰动r叠加在针对目标模型B 的输入样本上后能使模型B 推理错误的现象称为对抗扰动的迁移攻击性[6,14-15]。如果对抗扰动能够在目标模型B 的大部分数据点上使模型推理错误,则称该对抗扰动具有很好的迁移攻击能力。利用对抗样本的迁移攻击性进行攻击是一种有效的对抗攻击方式。
模型鲁棒性 指模型的对抗鲁棒性,针对对抗攻击技术自身防御效果良好的模型,则称该模型具有较好的鲁棒性。
对抗训练 一种提升模型对抗鲁棒性的训练方式[14,16],在训练模型时,使用正常样本和对抗样本同时对模型进行训练的方式。
攻击成功率 利用对抗攻击技术生成对抗样本输入目标模型后,模型推理错误样本数占所有输入样本数的百分比,有时也可用模型对对抗样本的分类准确率代替表示,模型对对抗样本的分类准确率越低说明攻击者的攻击成功率越高。
就目前的研究来看,白盒对抗攻击技术是主要的对抗样本生成方式。大部分的白盒对抗攻击算法针对单个输入图像生成对抗扰动,但也有算法针对目标模型和整个数据集生成通用对抗扰动[17-18]。通过对大部分研究人员主要的成果[19-21]进行研究分析,发现大部分的白盒对抗攻击算法目前主要分为以下4 种:1)基于直接优化的方法;2)基于梯度优化的方法;3)基于决策边界分析的方法;4)基于生成式神经网络生成的方法。其他方面,研究人员也利用差分进化、空域变换等思路进行对抗样本的生成。本文依据上述分类,对在白盒条件设置下主要的对抗攻击算法进行全面分析和阐述,最后在表1 中对攻击算法进行了比较和总结。
基于直接优化的攻击方法是目前较为重要的一类对抗攻击技术,主要包含两种对抗攻击算法:基于Boxconstrained L-BFGS(Box-constrained Limited-memory BFGS)的攻击算法[6]是第一个提出的对抗攻击算法,该算法也首次揭示了深度学习模型中存在的对抗样本问题;C&W(Carlini&Wagner)攻击[13]通过对基于Box-constrained L-BFGS的攻击算法的改进,能够生成对蒸馏防御网络[22]具有较好攻击能力的对抗样本。这类攻击方法通过算法对目标函数直接优化生成的对抗扰动相对较小,但存在优化时间长,算法需花费大量时间寻找合适超参数的问题。
2.1.1 基于Box-constrained L-BFGS的攻击
2013 年,Szegedy 等[6]首先提出了利用Box-constrained L-BFGS 算法[23]直接优化求解的对抗样本生成方法。由于式(1)中的扰动限制条件难以直接优化,Szegedy 等利用拉格朗日松弛法将其中的f(x+r)=yt限制条件简化为lossf(x+r,yt)进行优化,lossf表示交叉熵损失函数,最终得到的优化目标如下:
其中:输入图像被归一化在[0,1],以满足凸优化方法中的箱型约束条件,使得上述目标可以利用L-BFGS 算法进行求解。
利用Box-constrained L-BFGS 算法生成对抗样本的方法是最早被设计的对抗攻击算法,该算法首次将生成对抗样本的过程抽象为一个凸优化的问题处理,是重要的基于优化方法的对抗攻击算法。该算法为目标攻击算法,使用该算法求解的思路是先固定超参数c来优化当前参数值下的最优解,再通过对c进行线性搜索即可找到满足f(x+r)=yt条件的最优对抗扰动r,最终得到的对抗样本为x+r。
2.1.2 C&W攻击
为了攻破Papernot 等[22]提出的蒸馏防御网络,Carlini 和Wagner 提出了著名的C&W 攻击[13]。该攻击算法可以使用l0、l2或l∞范数分别对扰动进行限制生成对抗样本,是目前较为强大的目标攻击算法之一。C&W 攻击算法属于直接优化的攻击算法,是基于Box-constrained L-BFGS 算法(式(2))的改进版,改进主要体现在两点:
1)基于Box-constrained L-BFGS 的攻击中损失函数为交叉熵损失函数,而C&W 攻击算法考虑了攻击目标类和其他类别之间的关系,选择了更好的损失函数[13],如下所示:
式中:Z(xA)=Logits(xA)表示目标网络Softmax 前一层的输出;i表示标签类别;t表示目标攻击的标签类;k表示对抗样本的攻击成功率,k越大,生成的对抗样本的攻击成功率越高。
2)去除了式(2)中的Box-constrained 限定条件,使该优化问题转化为无约束的凸优化问题,方便利用梯度下降法,动量梯度下降法和Adam[24]等算法求解。为实现该目的,Carlini 等[13]提供了两种有效方法:①采用投影梯度下降法的思路将每次迭代过程中得到的x+r裁剪在[0,1]m内,以去除x+r的区间约束条件,但此方法在对x+r进行裁剪时会带来梯度信息的损失;②引入新的变量ω,令ω∈[-∞,+∞],构造一个映射函数将ω从[-∞,+∞]映射到[0,1],通过优化ω去掉方法①中由x+r∈[0,1]m条件引起的优化误差,具体映射函数如下:
其中:-1 ≤tanh(ϖi) ≤1,故0 ≤x+r≤1。
Carlini 等[13]分别用方法①和方法②进行了实验分析,发现用投影梯度下降法处理Box-constrained 限定条件时生成的对抗样本攻击能力较强,但引入变量进行优化的方法生成的对抗扰动较小。此外,在优化算法的选择上,梯度下降、动量梯度下降和Adam 等优化算法都可以生成相同质量的对抗样本,但Adam 算法的收敛速度要比其他两种快。C&W 攻击算法生成的对抗样本针对蒸馏防御的模型攻击能力很好,是目前较为强大的白盒攻击算法,也是用于评估模型鲁棒性的主要测试算法之一。
基于梯度优化的攻击方法是目前一种主要的对抗攻击技术。这类攻击方法的核心思想是在模型损失函数变化的方向上对输入样本进行扰动,来使模型误分类输入样本或使模型分类输入样本到指定的不正确目标类别上。这类攻击方法的优点是方法实现简单,且白盒对抗攻击成功率较高。该类方法以FGSM(Fast Gradient Sign Method)算法[14]为基础,衍生发展出了I-FGSM(Iterative FGSM)算 法[25]、PGD(Projected Gradient Descent)算法[26]、动量迭代的MI-FGSM(Momentum Iterative FGSM)算法[27]以及多样性的梯度攻击算法[28-29]。
2.2.1 FGSM攻击
2014 年,Goodfellow 等[14]在其研究中认为,深度学习模型存在对抗样本是由于模型过于线性的特性导致,基于该观点提出了基于一步梯度计算的对抗样本生成算法FGSM。这项工作意义深远,受Goodfellow 等启发,后来出现的基于梯度优化的大部分攻击算法都是FGSM 算法的变种。
FGSM 攻击算法的思想是使对抗扰动的变化量与模型损失梯度变化的方向保持一致。具体来说,在无目标攻击中,使模型损失函数关于输入x的梯度在上升的方向上变化扰动达到让模型误分类的效果。假设θ为模型的参数,x为模型的输入,y为输入x对应的正确类别标签,J(θ,x,y)为模型的损失函数,为交叉熵损失函数,∇xJ(θ,x,y)为损失函数关于x的梯度。FGSM 算法描述为:
其中:α为超参数,表示为一步梯度的步长;sign(·)为符号函数,故该方法生成的扰动为在l∞范数约束下的对抗扰动。FGSM 算法由于只计算一次梯度,其攻击能力有限,但生成的对抗样本具有较好的迁移攻击能力。
2.2.2 I-FGSM攻击
由于FGSM 算法只经过一次梯度计算生成对抗样本,并且该方法成功应用的前提条件是损失函数的梯度变化方向在局部区间内是线性的。在非线性的优化区间内,沿着梯度变化方向进行大步长优化生成的对抗样本并不能保证攻击成功。针对该问题,Kurakin等[25]提出了迭代FGSM(I-FGSM)算法,通过把优化区间变小来使Goodfellow 的线性假设[14]近似成立。I-FGSM 算法的无目标攻击描述为:
I-FGSM 算法较FGSM 算法生成的对抗样本攻击能力更强[30],但其生成的对抗样本迁移攻击能力却不如FGSM算法。
此外,Kurakin 等[25]还在I-FGSM 算法的基础上,通过将攻击的目标类别y指定为原始样本在模型上输出置信度最低的类别标签yl来进行针对置信度最低类别的目标攻击。在目标攻击过程中,扰动的变化方向与模型损失函数关于输入的梯度下降方向保持一致,其优化的目标形式为:
这种目标攻击方式生成的对抗样本使模型误分类到与正确类别差距很大的类,其攻击效果更具破坏性。
2.2.3 PGD攻击
2017 年,Madry 等[26]提出的PGD 攻击算法是目前公认为最强的白盒攻击方法,也是用于评估模型鲁棒性的基准测试算法之一。PGD 攻击本质上也是迭代的FGSM 算法,与I-FGSM 攻击类似。与I-FGSM 算法相比,PGD 算法的迭代次数更多,并在迭代过程中对上一版本得到的xA随机地进行了噪声初始化,以此避免优化过程中可能遇到的鞍点[26]。使用PGD 算法生成的对抗样本攻击能力比I-FGSM 攻击能力强,但同样具有的迁移攻击能力弱的问题。
2.2.4 MI-FGSM攻击
在接下来的研究中,为了使对抗样本兼具强大的攻击能力和良好的迁移攻击能力,Dong 等[27]提出了基于动量的迭代生成对抗样本的MI-FGSM 算法。该算法在I-FGSM 算法的迭代过程中引入动量技术[31-32],以此在损失梯度变化的方向上累计速度矢量以稳定梯度的更新方向,使得优化过程不容易陷入局部最优。MI-FGSM 算法描述为:
其中:gi+1表示在第i次迭代后累计的梯度动量;μ为动量项的衰减因子,当μ=0,则上述形式为I-FGSM 算法的形式。由于多次迭代中得到的梯度不在一个量级,将每次迭代中得到的当前梯度∇xJ(,y)通过其自身的l1距离进行归一化。
MI-FGSM 攻击算法生成的对抗样本在具有较好攻击能力的基础上还保留了一定的迁移攻击能力,是目前常用的白盒对抗攻击方法。
此外,为了更加有效提升基于梯度优化的方法生成对抗样本的迁移攻击能力,Xie 等[28]提出了一种输入多样性的对抗攻击方式,采取数据增强的思路,在将图像输入到模型前,先对输入样本进行随机转化,如随机调整样本大小或随机填充给定的分布等。将转换后的图像输入至目标模型后,再应用I-FGSM[25]、MI-FGSM[27]等算法进行梯度计算生成对抗样本。另外,通过减轻对抗样本在不同模型间识别的敏感程度,也可以提高对抗样本的迁移攻击能力。Dong 等[29]提出了基于梯度的平移不变攻击方式,通过将梯度与一个预先定义的核进行卷积来生成对大部分模型识别区域不太敏感的对抗样本。
基于决策边界分析的攻击方法是一类特殊的对抗攻击方法。该方法最初由Moosavi-Dezfooli 等[33]提出,分为针对单个输入图像生成对抗扰动的DeepFool 攻击算法和针对目标模型和整个数据集生成通用对抗扰动的UAPs(Universal Adversarial Perturbations)攻击算法[17]。该类攻击方法的核心思想是通过逐步减小样本与模型决策边界的距离来使模型对该样本误分类,故其生成的对抗样本一般较小,但这类攻击方法不具备目标攻击能力。
2.3.1 DeepFool攻击
Moosavi-Dezfooli 等[33]在对模型的决策边界分析后提出了一种精确计算对抗扰动的DeepFool 方法。DeepFool 算法生成的对抗扰动非常小,该扰动一般被认为近似于最小扰动。DeepFool 算法具体描述为:首先,针对线性二分类问题,给定一个分类器(x)=sign(f(x)),f(x)=ωx+b,分类器的决策边界用F={x:f(x)=0}表示,如图3 所示。要使当前数据点x0被该模型误分类到决策边界另一边,其最小扰动对应于x0在F上的正交投影r*(x0):
图3 线性分类器的决策边界Fig.3 Decision boundary of linear classifier
根据f(x)=ωx+b,推导得r*(x0)=,此为模型决策边界线性时计算得到的最小扰动值。
推广到非线性决策边界的二分类问题,可通过迭代的过程来近似得到针对数据点x0的最小扰动r*(x0)。具体来说,在每次迭代过程中认为模型f(·)近似线性,此时扰动后数据点x0对应于这次迭代的最小距离ri(xi)为:
根据式(9)得到的闭解,继而推导得出针对非线性决策边界的最小扰动距离ri(xi)=通过将每次迭代得到的扰动ri累加就可以得到针对当前数据点x0所需的最小扰动。
2.3.2 UAPs攻击
多数对抗攻击算法[14,25,33]针对单个输入样本生成对抗样本,从而达到攻击目的。而Moosavi-Dezfooli 等[17]发现深度学习模型存在与输入样本无关的通用对抗扰动,这种扰动与目标模型结构和数据集特征相关。当通用对抗扰动叠加在数据集的输入样本上时得到对抗样本,得到的对抗样本大部分具有攻击能力。通用对抗扰动定义如下:假设μ表示数据集中数据的分布情况,δ表示分布μ上所有数据点希望攻击成功的比例,ξ用于度量扰动的大小,通用对抗扰动ν要满足如下两个条件:
Moosavi-Dezfooli 等[17]提出的UAPs 攻击算法通过在采样的少量数据点上迭代计算生成通用对抗扰动。每次迭代过程中,计算能够使当前数据点xi欺骗分类器的最小扰动Δνi,其优化目标描述为:
最后,将在采样数据点上计算得到的扰动汇总到通用对抗扰动ν。为了保证汇总得到的通用对抗扰动满足‖ν‖p≤ξ,在每次迭代汇总时,对更新的扰动进行如下投影操作:
于是,ν的更新规则为ν←Pp,ξ(ν+Δνi)。直到满足预先定义的愚弄率后,算法停止迭代。愚弄率定义如下:
UAPs 攻击算法在迭代过程中的扰动计算使用DeepFool算法[33]进行求解。最终,经过多次迭代后通过将数据点推送到模型决策边界另一边,达到对抗攻击的目的。
基于生成式神经网络生成的攻击方法利用自监督的方式,通过训练生成式神经网络来生成对抗样本。这类攻击方法的特点是一旦生成式模型训练完成,可非常高效地生成大量具有良好迁移攻击能力的对抗样本。典型的这类攻击方法有ATN(Adversarial Transformation Network)攻击[34]、UAN(Universal Adversarial Network)攻击[18]和AdvGAN 攻击[35]。
2.4.1 ATN攻击
Baluja 等[34]首次提出利用生成式神经网络生成对抗样本的ATN 攻击方式,并设计了ATN 用来生成对抗样本。ATN 将一个输入样本转换为针对目标模型的对抗样本,ATN 定义如下:
其中:θ表示神经网络g的参数,f表示为要攻击的目标网络。针对目标攻击问题,对ATN 中参数θ的训练,可描述为如下的优化目标:
其中:LX为视觉损失函数,可用常见的l2范数表示或者采用与文献[36]中类似的视觉感知相似性函数;LY为类别损失函数,定义为LY=L2(y',r(y,t)),其中y=f(x),y'=f(gf(x)),t是目标攻击的类别,r(·)是重新排序函数[34],它对x进行修改,使yk≤yt,∀k≠t。
ATN[34]可以训练为仅生成对抗扰动的P-ATN(Perturbations Adversarial Transformation Network),这种情况下ATN 一般选择残差的网络结构[8]就可有效地生成扰动。ATN 还可以训练为直接生成对抗样本的AAE(Adversarial AutoEncoding)网络,这种情况下ATN 结构采用自编码器可很好地生成对抗样本。通过这两种方法得到的对抗样本差异较大,AAE 方法生成的对抗样本整体变化较为明显,而P-ATN 方法生成的对抗样本扰动程度较小。总体而言,该方法生成对抗样本的速度较快,且其攻击能力较强,但迁移攻击能力较弱。
2.4.2 UAN攻击
Hayes 等[18]提出了基于神经网络生成通用对抗扰动进行攻击的UAN 攻击算法。UAN 攻击通过训练一个简单的反卷积神经网络将一个在自然分布N(0,1)100上采样的随机噪声转换为通用对抗扰动。针对目标攻击问题,Hayes 等[18]为反卷积神经网络的训练设计了如下的优化函数:
其中:模型损失函数选择了与C&W 攻击[13]相同的损失函数,yt为目标攻击选择的类别,α控制扰动大小优化项的相对重要程度。
在实际利用UAN 攻击方式[18]进行攻击时,使用l2或l∞范数均可生成攻击能力较好的通用对抗扰动,其攻击能力强于先前提出的UAPs 攻击[17]。
2.4.3 AdvGAN攻击
Xiao 等[35]在基于神经网络生成的攻击算法中首次引入了生成式对抗网络[37]的思想,提出了包含生成器、鉴别器和攻击目标模型的AdvGAN。如图4 所示,经过训练的AdvGAN 可以将随机噪声转换为有效的对抗样本。
图4 AdvGAN架构Fig.4 Architecture of AdvGAN
与UAN 攻击[18]中使用lp范数对扰动大小的限制不同,AdvGAN 利用生成式对抗网络中的“对抗损失”项,来保证对抗样本的真实性。AdvGAN 中的对抗损失项采用与Goodfellow 等[37]相同的定义:
其中:生成器G(·)用于将输入噪声转化为对抗扰动,鉴别器D(·)的目的是尽可能使生成的对抗样本与原始输入样本具有较高的相似性。在目标攻击中,针对目标模型的误导损失项定义为:
其中:yt为目标攻击的类别,lossf为交叉熵损失函数。此外,为了明确量化扰动大小以及稳定GAN 的训练过程[38],对扰动添加一个soft hinge 损失项,如下所示:
其中c为指定的扰动大小。最终,针对AdvGAN 训练的整体优化函数设计如下:
其中:α和β参数用来控制每个优化项的相对重要性,整体来说,LGAN损失项的目的是使生成的对抗扰动与原始样本相似损失项的目的是达到对抗攻击的效果。
2.5.1 JSMA攻击
Papernot 等[39]提出的JSMA(Jacobian-based Saliency Map Attack)算法是一种基于l0范数约束下的攻击,通过修改图像中的几个像素来使模型对输入样本误分类。JSMA 攻击算法利用显著图[40]表示输入特征对预测结果的影响程度,每次修改一个干净图像的像素,然后计算模型最后一层的输出对输入的每个特征的偏导。通过得到的前向导数,计算得出显著图[40]。最后利用显著图找到对模型输出影响程度最大的输入特征,通过修改这些对输出影响程度较大的特征点从而得到有效的对抗样本。
2.5.2 单像素攻击
在其他的攻击算法中,单像素攻击[41]是一种基于差分进化算法[42]的攻击算法。单像素攻击算法每次只修改样本数据点的1 个像素值试图让模型误分类。实际应用中,这是一种极端的攻击方式。该方法对于简单的数据集有较好的攻击效果,比如MNIST 数据集[43]。当输入图像的像素空间较大时,1 个像素点的改变很难影响到分类结果,随着图像增大,算法的搜索空间也会迅速增大,使得算法性能下降。
2.5.3 stAdv攻击
Xiao 等[44]提出了一种通过对图像样本进行空域变换来产生对抗样本的stAdv(spatially transformed Adversarial)攻击算法。该算法对局部图像特征进行平移、扭曲等操作实现针对输入样本的空域变换攻击。使用stAdv 算法生成的对抗样本较于传统基于lp范数距离度量生成的对抗样本更为真实,且针对目前采用对抗训练措施的模型具有很好的攻击效果。
2.5.4 BPDA攻击
破碎梯度策略[15]是一种用来针对FGSM[14]、I-FGSM[25]等基于梯度攻击方法的对抗防御方法。破碎梯度策略使用一个不可微的函数g(x)预处理输入样本,使训练得到的模型f(g(x))在x上不可微,使得攻击者计算不出用于对抗样本生成的梯度[15]。
Athalye 等[45]针对破碎梯度策略,提出利用近似梯度生成对抗样本的 BPDA(Backward Pass Differentiable Approximation)算法。BPDA 算法在反向传播计算梯度时,使用一个可微的函数h(x)替代函数g(x)来近似获得梯度,生成对抗样本。
本文从扰动范数、攻击类型和攻击强度等角度对上述白盒对抗攻击算法进行了比较,总结分析了不同算法的优势及劣势。其中,对抗攻击类型分为单步迭代攻击和多步迭代攻击。单步迭代攻击算法生成对抗样本速度较快,而多步迭代攻击算法的攻击能力较强。对比分析的结果如表1 所示,其中在攻击强度的对比结果中,*的数量代表攻击强度。
表1 对抗攻击算法总结Tab.1 Summary of adversarial attack algorithms
对抗攻击技术同时给部署在大部分应用场景下的深度学习系统带来了安全威胁,诸多研究[9-11,46]已表明这类系统面临的被对抗攻击技术误导的风险。与在第2 章中介绍的白盒对抗攻击技术可以直接向深度学习模型输入对抗样本不同,真实的应用场景下并不能直接操作深度学习系统的输入。本章介绍几类发生在不同应用场景下的白盒对抗攻击,通过不同应用场景的白盒对抗攻击说明针对当前部署的深度学习系统的对抗照片攻击和对抗贴纸攻击技术。
随着深度学习技术的发展,越来越多的人工智能技术应用在诸如手机、平板电脑等智能化的移动终端设备上,而这类部署在移动终端设备上的深度学习系统也面临着被对抗攻击技术攻击的风险。Kurakin 等[25]对部署在手机上的图像分类应用进行了攻击测试,首次展示了对抗攻击技术给移动终端设备上部署的深度学习系统带来的危害。
Kurakin[47]攻击的目标模型是一个手机图像分类应用,该应用基于Inception 分类模型[48]构建,可对手机相机拍摄得到的照片进行分类。Kurakin 利用FGSM[14]和I-FGSM 攻击算法[25]分别针对Inception 分类模型[48]生成对抗样本后,把得到的对抗样本打印为照片,这种照片被称为对抗照片。最后,使用手机相机拍摄输入对抗照片后实现对手机图像分类应用的攻击。Kurakin 的攻击使图像分类应用误分类了大部分拍摄得到的对抗照片,但Kurakin 在利用手机相机拍摄对抗照片时,采取了固定相机的拍摄距离、角度和光线等措施。在现实的攻击场景中,并不能完全具备这些条件,但Kurakin团队的工作首次验证了针对真实应用场景下深度学习系统进行对抗攻击来干扰其正常工作的可行性,提供了一种在该场景下对抗攻击的思路。
人脸识别系统是目前深度学习技术在现实生活中较为成功的应用,其广泛地部署在安检、考勤、支付等诸多身份核验场景。Sharif 等[10]针对部署在真实场景下的人脸识别系统进行了对抗攻击测试,并提出一种对抗贴纸的攻击方式。针对人脸识别系统,在Kurakin 等[25]的工作基础上,鉴于无法直接对输入图像像素进行修改的限制,使用攻击算法生成对抗扰动后,通过将扰动打印在贴纸上,最后将贴纸张贴在眼镜框区域来达到对抗攻击的目的,如图5 所示。
图5 对抗眼镜Fig.5 Adversarial glasses
人脸识别系统本质上是一个多分类的深度学习模型,针对人脸识别系统的目标攻击,其对抗样本生成可描述为如下的优化问题:
其中:r表示要生成的对抗扰动,l表示要攻击的类别,X表示攻击者的人脸数据集。为了使得生成的扰动更加“平滑”和“自然”,保证攻击的隐蔽性。使用全变差约束方法对r进行约束,全变差约束函数的定义如下:
针对Kurakin 等[25]在将对抗样本打印为“对抗照片”时,未考虑到打印设备带来的数字图像与打印输出之间的色域误差。Sharif 等[10]定义了色域误差值来明确这种误差,NPS(Non-Printability Score)值的定义如下:
其中:p表示打印机能打印出来的颜色值,p表示为数字图像中的颜色值。
综合考虑对抗贴纸的隐蔽性和打印设备带来的打印误差,最终针对人脸识别系统的对抗贴纸生成的优化问题描述为:
通过常见的优化算法,求解上述优化问题,即可得到对抗贴纸。Sharif 等[10]利用梯度下降法求解得到的“对抗眼镜”使得人脸识别系统以高置信度将攻击者误识别为攻击目标人,达到了攻击目的。
Sharif等[10]针对人脸识别系统的攻击,较为全面地考虑到了打印设备带来的打印误差,其生成的“对抗贴纸”较Kurakin等[25]生成的“对抗照片”的对抗鲁棒性有了一定提升,但该攻击方式依然缺乏在复杂物理因素影响下的攻击能力。
近年来,依托于深度学习技术的自动驾驶系统取得了越来越大的进步。基于深度学习技术决策的自动驾驶系统已普遍搭载应用在无人驾驶车辆上,而对抗攻击技术的发展也为这类自动驾驶系统的安全性带来了严重的危害。Eykholt等[11]针对自动驾驶系统的交通标志识别功能进行了攻击测试,展示了对抗攻击技术给自动驾驶系统带来的安全威胁。
由于大部分对抗攻击算法在数字图像空间中生成的对抗扰动由于打印设备[10]、相机输入[11]等过程带来的误差无法有效针对应用场景下部署的深度学习系统进行攻击。Eykholt 等[11]设计了一种针对复杂物理场景下的深度学习系统进行攻击的RP2(Robust Physical Perturbations)算法。RP2攻击算法[11]尽可能考虑到不同光照、视角、距离等物理因素的影响,采用类似数据增强的思路来生成在复杂物理因素影响下鲁棒的对抗扰动。在针对运动中自动驾驶车辆的道路交通标志识别进行攻击测试时,Eykholt 等利用相机拍摄要攻击的“STOP”交通标志在各种光照、视角、距离条件下得到的图像加入用于生成对抗扰动贴纸的数据集;同时,在定义扰动生成的目标优化函数时,引入Sharif 等[10]定义的NPS 误差,以此减少打印设备带来的误差;最后采用Sharif 等[10]贴纸攻击的方法,将生成的对抗扰动打印后张贴在要攻击的道路交通标志上,以此达到自动驾驶系统无法识别正确该标志的目的,如图6 所示。
图6 “STOP”交通标志Fig.6 “STOP”traffic sign
Sharif 等[11]提出的RP2 攻击算法进一步提高了复杂应用场景下对抗扰动的攻击能力和对抗鲁棒性。利用RP2 攻击算法结合对抗贴纸进行攻击的手段是目前针对应用场景下深度学习系统的主要对抗攻击技术。
选择第2 章中所介绍的算法分别进行以下两组实验:1)基于CIFAR10 数据集[49],介绍了不同种类的攻击算法对目标模型分类准确率的影响程度;2)基于MNIST 数据集[44],介绍了基于梯度优化的攻击算法在不同扰动强度设置下对目标模型分类准确率的影响和其生成的对抗样本的扰动差异程度。实验中用到的MNIST 数据集[43]包含6 万张训练图像和1 万张测试图像,每张图像为28×28 像素的灰度图像;CIFAR10 数据集包含5 万张训练图像和1 万张验证图像,每张图像为32×32 像素的RGB 图像。
在介绍的4 种不同类型的攻击算法中,分别选择C&W[13]、PGD[26]、DeepFool[33]和UAN[18]算法在CIFAR10 数据集上进行攻击实验。实验中,攻击算法的扰动范数值统一l∞范数值。攻击的目标模型分别为CNN 模型、ResNet34 模型和VGG19 模型,训练后的目标模型在验证集上的分类准确率分别为81.97%、93.50%和92.03%。算法的攻击能力以其生成的对抗样本在目标模型上的分类准确率表示,分类准确率越低,则说明该算法的攻击能力越强。实验结果如表2所示,从结果中可以看到PGD 算法的攻击能力较强,而ResNet34 模型相比CNN 模型和VGG19 模型更容易被对抗样本攻击。
表2 CIFAR10验证集上的对抗样本分类准确率 单位:%Tab.2 Accuracy of adversarial examples classification on CIFAR10 validation set unit:%
选择基于梯度优化的FGSM[14]、I-FGSM[25]、PGD[26]和MI-FGSM[27]算法在MNIST 数据集上进行攻击实验。实验中,攻击算法的扰动范数设置为l∞范数,eps表示扰动强度。Goodfellow 等[14]中将eps值设置为0.07 以保证攻击成功率的同时限制扰动的大小。在实验中,为了比较不同扰动强度对模型分类准确率的影响程度,本文将eps值分别设置为0.05、0.1、0.2 和0.3 进行实验。攻击的目标模型为CNN 模型,训练后的该模型在验证集上可以达到99.04%的分类准确率。实验结果如表3 所示,可以看到随着扰动强度值(eps)的不断增大,攻击算法的攻击能力不断提高,生成的对抗样本能够被正确分类的可能性越小。4 种攻击算法在eps值设置为0.3 的情况下生成的对抗样本如图7 所示,图中的每张字图表示一个原始输入样本或其对应的对抗样本。
表3 MNIST验证集上的对抗样本分类准确率 单位:%Tab.3 Accuracy of adversarial examples classification on MNIST validation set unit:%
图7 MNIST数据集上的对抗样本(eps=0.3)Fig.7 Adversarial examples on MNIST dataset(eps=0.3)
随着互联网技术的不断发展以及人工智能理论研究、相关方法的推广应用,有关对抗样本生成的方法将会层出不穷。研究对抗攻击技术,不但能促进深度学习模型可解释性研究的发展,进一步使对抗攻击防御技术得到完善,而且还可以利用对抗攻击技术促进一些相关领域的研究。目前,图像分类任务中针对白盒对抗攻击技术的研究已经取得了显著的成果。本文以图像分类任务作为切入点,对白盒对抗攻击技术进行了全面的回顾和研究。主要研究分析了当前白盒对抗攻击的几类方法,同时结合实际的应用场景,介绍了对抗攻击方法给深度学习模型带来的巨大影响和安全威胁。
本文通过对所调研的文献进行研究,按照对抗攻击算法生成对抗样本原理的不同,将主要的对抗攻击算法分为4类,按照分类对算法进行了全面的分析和阐述。其中,基于直接优化的算法生成的扰动较小,但存在寻找合适超参数耗时较长的问题;基于梯度优化的算法是目前对抗攻击算法中主要的一类算法,该类算法大多通过多步迭代计算梯度生成高质量对抗样本,其特点是针对无防御措施的模型攻击能力较强;基于决策边界分析的算法通过精确计算得到的扰动更小,但不具备目标攻击的能力;基于神经网络生成的算法是一种特殊的对抗攻击技术,这类算法通过训练一个生成模型来生成对抗样本,一旦生成模型训练完成,在对抗样本生成阶段可非常高效地生成大量对抗样本。
未来,随着对抗攻击技术在自然语言处理[50-51]、语音识别[52-53]等任务上的推广应用,人工智能系统将面临更加严峻的安全挑战。为实现真正安全的深度学习应用,对抗攻击技术的研究将会受到长期的重视。其中的白盒对抗攻击技术依然会是重要的研究课题之一,其研究目标将朝着生成高隐蔽性、高鲁棒性和高迁移攻击能力的对抗样本进行;同时,白盒对抗技术在其他类型的任务中进行推广应用也将是一个可能的发展方向,而与之相对应的,针对黑盒对抗攻击技术的研究也颇受关注。面对黑盒对抗攻击技术给深度学习系统带来的危害,也将在接下来的研究中予以持续的关注。
我们致力于保护作者版权,注重分享,被刊用文章因无法核实真实出处,未能及时与作者取得联系,或有版权异议的,请联系管理员,我们会立即处理! 部分文章是来自各大过期杂志,内容仅供学习参考,不准确地方联系删除处理!