美文网首页
AI安全笔记

AI安全笔记

作者: 超哥__ | 来源:发表于2018-12-12 12:55 被阅读0次

    对抗攻击术语

    l对抗图像/对抗样本(Adversarial example/image)

           对抗样本是对干净图像进行处理后的样本,被故意扰乱(如加噪声等)以达到迷惑或者愚弄机器学习技术的目的,包括深度神经网络。

    l对抗扰动(Adversarial perturbation)

           对抗扰动是添加到干净图像中的噪声,使其成为一个对抗样本。

    l对抗性训练(Adversarial training)

           对抗性训练使用除了干净的图像之外的对抗样本来训练机器学习模型。

    l对手(Adversary)

           对手通常指创建一个对抗样本的代理。但是在某些情况下,我们也称对抗样本本身为对手。

    l黑盒攻击(Black-box attacks)

    黑盒攻击是在不了解一个目标模型的具体情况下,针对该模型,生成了对抗样本(测试阶段)。在某些情况下,假设对手对模型的了解有限(例如,它的训练过程或者架构),但绝对不知道模型参数。在其他情况下,使用任何关于目标模型的信息称为半黑盒攻击。这篇文献使用前一种约定。

    l白盒攻击(White-box attacks)

           白盒攻击假定了目标模型的完整知识,包括其参数值、体系结构、训练方法,在某些情况下还包括训练数据。

    l检测器(Detector)

           检测器是一种(仅)检测图像是否为对抗样本的机制。

    l欺骗率(Fooling ratio/rate)

           欺骗率表示在图像被扰动后,经过训练的模型改变其预测标签的百分比。

    l一次性/单步方法(One-shot/one-step methods)

           一次性/单步法通过执行单步计算产生对抗性扰动,例如计算一次模型的损失梯度。与之相反的是迭代方法( iterative methods),它多次执行相同的计算以得到一个单独的扰动。后者的计算成本通常很高。

    l近似无法察觉(Quasi-imperceptible)

           近似无法察觉扰动从人类感知而言对图像影响很小。

    l修正器(Rectifier)

           修正器修改一个对抗样本来恢复这个目标模型的预测结果同该样本未扰动前的预测。

    l针对性攻击(Targeted attacks)

           有针对性的攻击欺骗了一个模型,使对抗性图像错误地预测成特定标签。它们与非目标攻击相反,在非目标攻击中,被预测的对抗图像的标签是无关的,只要它不是正确的标签。

    l威胁模型(Threat model)

           威胁模型指的是一种方法所考虑的潜在攻击类型,例如黑盒攻击。

    l可转移性(Transferability)

           可转移性指的是一个对抗样本具有可转移能力,即使是除了用来产生它的模型以外,它仍然有效。

    l通用扰动(Universal perturbation)

           通用扰动能够在任何图像上扰动并高概率欺骗一个给定模型。值得注意的是,通用性指的是一种与图像无关的扰动性质,区别于有很好的可转移性。

    现有攻击方法

    l  Box-constrained L-BFGS

    Szegedy等人首次证明了可以通过对图像添加小量的人类察觉不到的扰动误导神经网络做出误分类。他们首先尝试求解让神经网络做出误分类的最小扰动的方程。但由于问题的复杂度太高,他们转而求解简化后的问题,即寻找最小的损失函数添加项,使得神经网络做出误分类,这就将问题转化成了凸优化过程。

    l  Fast Gradient Sign Method

    Szegedy

    等人发现可以通过对抗训练提高深度神经网络的鲁棒性,从而提升防御对抗样本攻击的能力。GoodFellow等人开发了一种能有效计算对抗扰动的方法。而求解对抗扰动的方法在原文中就被称为

    FGSM。FGSM方法证实了设现代深层神经网络的设计的高维线性性。Kurakin等人提出了 FGSM 的「one-step target

    class」的变体。通过用识别概率最小的类别(目标类别)代替对抗扰动中的类别变量,再将原始图像减去该扰动,原始图像就变成了对抗样本,并能输出目标类别。学者们还试验了利用不同的范式进行归一化后的结果进行生成对抗样本。

    l  Basic & Least-Likely-Class Iterative Methods

    one-step

    方法通过沿一方向做一大步运算,增大分类器的损失函数而进行图像扰动,这个想法的一个直观的扩展为通过多个小步增大损失函数的变体,从而我们得到

    Basic Iterative

    Methods(BIM)。而该方法的变体和前述方法类似,通过用识别概率最小的类别(目标类别)代替对抗扰动中的类别变量,而得到

    Least-Likely-Class Iterative Methods(ILCM),由该方法生成的对抗样本已经让Inception

    v3模型受到了严重影响。

    l  Jacobian-based Saliency Map Attack

           对抗攻击文献中通常使用的方法是限制扰动的l∞或l2范数的值以使对抗样本中的扰动无法被人察觉。但 JSMA提出了限制扰动的l0范数的方法来产生对抗性攻击。在物理上,这意味着目标是只修改图像中的几个像素,而不是扰乱整个图像来欺骗分类器。

    算法生成所需的对抗性图像的关键可以理解如下。该算法一次修改一个干净图像的像素,并监测变化对结果分类的影响。通过使用网络层的输出的梯度来计算一个显著性图来执行监控。在这张图中,一个较大的值显示出了一个较高的可能性预测成目标类别,而非正确的类别。因此,该算法执行有针对性的欺骗。一旦计算出像素图,算法选择最有效的像素来欺骗网络并改变它。这个过程会重复,直到最大允许的像素数量在对抗性图像中被改变或者在欺骗成功。

    l  One Pixel Attack

    这是一种极端的对抗攻击方法,仅改变图像中的一个像素值就可以实现对抗攻击。Su等人使用了差分进化算法,对每个像素进行迭代地修改生成子图像,并与母图像对比,根据选择标准保留攻击效果最好的子图像,实现对抗攻击。这种对抗攻击不需要知道网络参数或梯度的任何信息。

    l  Carlini and Wagner Attacks

    Carlini 和 Wagner提出了三种对抗攻击方法,通过限制 l∞、l2和l0范数使得扰动近似无法被察觉。实验证明 defensive

    distillation(后面会说,一种有效缓解对抗攻的方法) 完全无法防御这三种攻击。该算法生成的对抗扰动可以从 unsecured

    的网络(没有蒸馏)迁移到 secured 的网络(蒸馏)上,从而实现黑箱攻击。

           受C&W启发,有学者提出了Zeroth Order Optimization (ZOO)方法,直接估计目标模型的梯度来生成对抗样本。

    l  DeepFool

           Moosavi-Dezfooli 等人通过迭代计算的方法生成最小规范对抗扰动,该算法通过一个小的向量来扰动图像,将位于分类边界内的图像逐步推到边界外,直到出现错误分类。作者证明他们生成的扰动比 FGSM 更小,同时有相似的欺骗率。

    l  Universal Adversarial Perturbations

    诸如 FGSM 、 ILCM 、 DeepFool 等方法只能生成单张图像的对抗扰动,而 Universal Adversarial

    Perturbations 能生成对任何图像实现攻击的扰动,这些扰动同样对人类是几乎不可察觉的。该论文中使用的迭代方法和 DeepFool

    相似,都是用对抗扰动将图像推出分类边界,不过同一个扰动针对的是所有的图像。虽然文中只针对单个网络(

    ResNet)进行攻击,但已证明这种扰动可以泛化到其它网络上,尤其是具有相似结构的网络。

    此外,作者还扩展了一个方法doubly

    universal;Khrulkov等也提出了一种方法,将通用扰动作为网络的特征映射的雅可比矩阵的奇异向量,这使得仅使用少量图像就可以实现相对较高的欺骗率。另一种产生通用扰动的方法是Mopuri等的快速特性。它们的方法产生了独立于数据的通用扰动。

    l  UPSET and ANGRI

    Sarkar等人提出了两个黑箱攻击算法,UPSET ( Universal Perturbations for Steering to

    Exact Targets)和 ANGRI(Antagonistic Network for Generating Rogue Images

    for targeted fooling of deep neural networks)。UPSET

    的能力来源于残差梯度网络,可以为特定的目标类别生成对抗扰动,使得该扰动添加到任何图像时都可以将该图像分类成目标类别。相对于 UPSET

    的「图像不可察觉」扰动,ANGRI 生成的是「图像特定」的扰动。它们都在 MNIST 和 CIFAR 数据集上获得了高欺骗率。

    l  Houdini

           Houdini是一种用于欺骗基于梯度的机器学习算法的方法,通过生成特定于任务损失函数的对抗样本实现对抗攻击,即利用网络的可微损失函数的梯度信息生成对抗扰动。除了图像分类网络,该算法还可以用于欺骗语音识别网络(谷歌语音等)。

    l  Adversarial Transformation Networks

    Baluja 和

    Fischer训练了多个前馈神经网络来生成对抗样本,可用于攻击一个或多个目标网络。经过训练的模型被称为对抗变换网络(ATNs)。该算法通过最小化一个联合损失函数来生成对抗样本,该损失函数有两个部分,第一部分使对抗样本和原始图像保持相似,第二部分使对抗样本被错误分类。

           同样的研究方向, Hayex and Danezis同样用攻击神经网络训练对抗样本进行黑盒攻击,近期结果表明,虽然生成的对抗样本仍旧可察觉和原始图像的区别,但是欺骗率非常的高。

    l  其他

    后续研究考虑了更现实的威胁模型,这种模型里攻击者只能跟模型互动,给模型提供输入以后观察它的输出。举例来讲,这种状况可以发生在攻击者想要设计出能骗过机器学习评分系统从而得到高排名的网站页面,或者设计出能骗过垃圾邮件筛选器的垃圾邮件的时候。在这些黑盒情境中,机器学习模型的工作方式可以说像神谕一样。发起攻击的策略首先对神谕发起询问,对模型的判定区域边界做出一个估计。这样的估计就成为了一个替代模型,然后利用这个替代模型来制作会被真正的模型分类错误的对抗性样本。这样的攻击也展现出了对抗性样本的可迁移性:用来解决同样的机器学习任务的不同的模型,即便模型与模型之间的架构或者训练数据不一样,对抗性样本还是会被不同的模型同时误判。

    现有防御方法

    修改输入/输出

             在学习过程中修改训练过程或者在测试阶段修改的输入样本

    l  对抗性训练(Adversarial training)

    对抗训练是抵御对抗样本攻击的第一道防线。通过不断输入新类型的对抗样本并执行对抗训练,从而不断提升网络的鲁棒性。为了保证有效性,该方法需要使用高强度的对抗样本,并且网络架构要有充足的表达能力。这种方法需要大量的训练数据,因而被称为蛮力对抗训练。很多文献中提到这种蛮力的对抗训练可以正则化网络以减少过拟合,进而增强网络的抵抗能力。然而,Moosavi-Dezfooli指出,无论添加多少对抗样本,都存在新的对抗攻击样本可以再次欺骗网络。

    l  数据压缩(ata compression as defense)

    意到大多数训练图像都是 JPG 格式,Dziugaite等人使用 JPG

    图像压缩的方法,减少FGSM对抗扰动对准确率的影响。实验证明该方法对部分对抗攻击算法有效,但通常仅采用压缩方法是远远不够的,并且压缩图像时同时也会降低正常分类的准确率,而微小的压缩又不能够去除对抗扰动。

    l  基于中央凹机制的防御(oveation based defense)

           uo等人提出用中央凹(foveation)机制可以防御 L-BFGS 和 FGSM 生成的对抗扰动,其假设是基于CNN分类器训练大量数据集对于图像的缩放和转换变动是鲁棒的,而对抗模式不具备这种特性。但这种方法在更强大的攻击下还没被证明有效性。

    l  数据随机化方法及其他方法(Data randomization and other methods)

           Xie等人发现对训练图像引入随机重缩放可以减弱对抗攻击的强度,其它方法还包括随机 padding、训练过程中的图像增强等。

    修改网络

           修改网络,比如:添加更多层/子网络、改变损失/激活函数等。

    l  深度压缩网络(Deep Contractive Networks)

    人们观察到简单地将去噪自编码器(Denoising Auto Encoders)堆叠到原来的网络上只会使其变得更加脆弱,因而 Gu 和

    Rigazio引入了深度压缩网络(Deep Contractive Networks),其中使用了和压缩自编码器(Contractive

    Auto Encoders)类似的平滑度惩罚项。

    l  梯度正则化/ 遮罩(Gradient regularization/masking)

    Ross 和

    Doshi-Velez使用输入梯度正则化以提高对抗攻击鲁棒性,方法训练可微模型(如深度神经网络),同时惩罚导致输出相对于输入的变化程度。这样一个小的对抗扰动就不会对输出有很显著的影响。该方法和蛮力对抗训练结合有很好的效果,但计算复杂度太高,在很多场合已经弃用。

    在此之前,Lyu等人也使用了惩罚网络模型在输入方面的损失函数梯度的概念,以对抗基于L-BFGS和FGSM的攻击。类似地,Shaham等人试图通过在每次参数更新时最小化模型在对抗性示例上的损失来改善神经网络的局部稳定性。他们最小化模型在对抗样本数据集的损失,而不是原始数据。在一项相关的工作中,Nguyen和Sinha通过在网络的logit输出中添加噪声,引入了一种基于遮罩的对C&W攻击的防御。

    l  防守性蒸馏(Defensive distillation)

    据Hinton等介绍,distillation

    (蒸馏)是指将复杂网络的知识迁移到简单网络上。该知识以训练数据的类概率向量形式提取,并反馈给训练原始模型。Papernot 利用这种技术提出了

    Defensive distillation,并证明其可以抵抗小幅度扰动的对抗攻击。防御性蒸馏也可以被看作是梯度遮罩技术的一个例子。

    l  生物启发的防御方法(Biologically inspired protection)

    使用类似与生物大脑中非线性树突计算的高度非线性激活函数以防御对抗攻击 。另外一项工作 Dense Associative Memory

    模型也是基于相似的机制

    。Brendel和Bethge声称,由于计算的数值限制,这些攻击在生物激发的保护上失败了。稳定计算再次让攻击受保护的网络成为可能。

    l  帕网络(Parseval Networks)

           这些网络通过控制网络的全局Lipschitz常数来分层正则化。网络可以被看作是函数(在每一层)的组合,通过对这些函数保持一个小的Lipschitz常数,可以对这些函数对抗小的干扰。

    l  DeepCloak

    在分类层(一般为输出层)前加一层特意为对抗样本训练的遮罩层。添加的层通过向前传递干净的和对抗性的图像对进行显式的训练,它为这些图像对编码先前层的输出特性之间的差异。它背后的理论认为添加层中最主要的权重对应于网络最敏感的特性(就对抗操纵而言)。因此,在进行分类时,这些特征被强制将添加的层的主导权重变为零。

    使用附加网络

           当分类未见过的样本时,用外部模型作为附加网络。

    l  防御通用扰动

    Akhtar等人提出了一种防御框架,该框架将额外的预输入层附加到目标网络中,并训练它们对对抗样本进行校正,使分类器对同一图像的干净版本的预测与对抗样本预测相同。通过提取训练图像输入输出差异的特征,对分离的检测器进行训练。利用一个单独训练的网络加在原来的模型上,从而达到不需要调整系数而且免疫对抗样本的方法。

    l  基于 GAN 的防御

    Lee等人利用生成性对抗网络的流行框架来训练一个对FGSM类攻击健壮的网络。作者建议沿着一个生成网络直接对网络进行训练,该网络试图对该网络产生扰动。在训练过程中,分类器不断尝试对干净和扰动的图像进行正确的分类。我们将此技术归类为附加方法,因为作者建议始终以这种方式训练任何网络。在另一个基于GAN的防御中,Shen等人使用网络的生成器部分来修正一个受干扰的图像。

    相关文章

      网友评论

          本文标题:AI安全笔记

          本文链接:https://www.haomeiwen.com/subject/hdbuhqtx.html