前言

本篇博客出于学习交流目的,主要是用来记录自己学习中遇到的问题和心路历程,方便之后回顾。过程中可能引用其他大牛的博客,文末会给出相应链接,侵删!


这篇博客记录大部分来自一篇Survey,文章总结了目前最常见的12种攻击方法和15种防御方法。但是又不是存翻译,中间可能夹杂着一些自己的理解和废话,介意的可以看文末的其他参考链接。由于篇幅太长博客分为上、下两部分,其中,部分是基础术语和实验室环境下以及现实环境下的现有攻击技术部分是对对抗样本存在原因的分析以及介绍常见的防御方法

机器视觉中使用深度学习所面临的对抗攻击——Survey(上)

参考文献:Threat of Adversarial Attacks on Deep Learning in Computer Vision: A Survey

正文

在有关计算机视觉深度学习的对抗性攻击的文献中,对对抗样本的存在有不同的观点。这些观点通常与研究人员在攻击或捍卫深层神经网络时所做的经验观察一致。研究学者们针对为什么会存在对抗样本的原因进行了以下分析,对抗样本的存在性分析:(这部分还不是很理解,所以基本原文翻译)

Limits on adversarial robustness 对抗鲁棒性的限制 
Fawzi等提出了一种研究分类器在敌对扰动表现出不稳定的框架。他们建立了分类器鲁棒性的基本限制,叫作数据集类别之间的可区别性测量。可区别性被定义为两个类的线性分类器之间的距离的均值和学习的非线性分类器的矩阵二阶力矩之间的距离。这一研究表明,在深层神经网络之外的分类器中也存在着对抗样本。所提出的分析追溯了对低灵敏度分类器敌对不稳定性的现象,这与当时盛行的观点并不是完全匹配的,即因为网络的高度非线性使得它们容易受到对抗样本的影响。

Space of adversarial examples 对抗样本的空间 
Tabacof和Eduardo在MNIST和ImageNet数据集上生成了浅层和深层网络分类器的对抗样本,并利用不同的分布和强度的噪声来探测对抗样本的像素空间。作者通过经验证明,在像素空间的大区域中出现了对抗样本,这与文章中的类似主张是一致的。然而,与线性假设相反,他们认为和一个强大的深层分类器一样,一个弱的、浅的、更线性的分类器也同样易受对抗性的例子的影响。 
Tramer等提出了一种估计对抗样本空间维数的方法。它声称,对抗样本跨越了一个连续的高维空间(维数大约为25)。由于高维度,不同分类器的子空间可以交叉,从而产生了对抗样本的可转移性。有趣的是,他们的分析表明,即使是在容易受到直接攻击的情况下,也可以防御基于转移攻击的分类器。

Boundary tilting perspective 边界倾斜视角 
Tanay和Griffin提供了一种边界倾斜视角,对深度神经网络的对抗样本的存在进行了研究。他们认为,一般来说,当一个单类数据被抽样来学习和评估一个分类器时,存在一个类的子簇,当分类边界靠近这个子簇时,就存在这个类的对抗样本。他们将分类器的对抗性强度的概念形式化,并将其简化为考虑分类器边界与最近的质心分类器之间的偏差角。结果表明,分类器的对抗强度可以随决策边界的倾斜而变化。作者还认为分类器的对抗稳定性与正则化有关。在Tanay和Griffin的观点中,关于对抗样本存在的线性假设是无法令人信服的。

Prediction uncertainty and evolutionary stalling of training cause adversaries 
预测的不准确性和训练中进化的停滞导致了敌手的产生 
Cubuk等认为,对抗样本的起源主要是由于神经网络对其预测的固有的不确定性。他们从经验上计算出不确定性的函数形式,这表明它独立于网络体系结构、训练协议和数据集。有人认为,这种形式只对网络分对数差异的统计有一定的影响。这最终导致了由对抗性攻击造成的欺骗比率,显示了对扰动大小的普遍缩放。他们研究了FGSM、ILCM和BIM的攻击,以证实他们的说法。也有人声称,基于干净图像的网络的准确性与它的对抗健壮性相关。 
Rozsa等人假设,对抗扰动的存在是对训练图像的决策边界演化停滞的结果。在他们看来,个体训练样本一旦被正确分类,就停止了对模型(即神经网络)的训练损失的贡献,这最终会使他们接近决策边界。因此,通过添加小扰动就可以将这些(类似的)样本丢弃到错误的类区域。他们提出了一个批量调整的网络梯度(BANG)算法来训练一个网络,以减轻训练过程中的进化停滞。

Accuracy-adversarial robustness correlation 准确性-对抗 的鲁棒性相关 
为了研究对抗样本的存在性,Rozsa等对8个深度网络分类器的准确率以及对[23], [94]中引入的3个对抗性攻击的鲁棒性之间的相关性进行了实证分析。研究的分类器包括AlexNet[9]、vgg16和VGG-19网络[163]、berkeley训练版本的GoogLeNet和普林斯顿-GoogLeNet[18]、ResNet- 52;resnet - 101;和resnet - 152[147]。在大规模ImageNet数据集[11]的帮助下,利用[23]和[94]中提出的技术,生成了对抗样本。他们的实验结果表明,具有较高分类准确率的网络通常对抗辩的例子表现出更强的鲁棒性。他们还得出结论,对抗样本能更好地转移在相似的网络拓扑之间。

More on linearity as the source 更多关于线性的来源 
Kortov和hopfield在稠密联想记忆模型(DAM)模型中考察了对抗性扰动的存在[164]。与典型的现代深层神经网络相比,DAM模型采用了更高阶(二阶以上)的神经元之间的相互作用。作者已经证明,使用较小的相互作用能力的DAM模型产生的对抗样本,类似于使用一个带有ReLU激励函数[165]的深度神经网络,无法欺骗那些具有更高阶的交互作用的模型。作者提供了独立于FGSM[23]攻击的对抗样本存在的经验证据,但支持Goodfellow等人的线性假设[23]。

Existence of universal perturbations 通用扰动的存在 
Moosavi-Dezfooli等[16]最初认为,通用的对抗性扰动利用分类器诱导的决策边界之间的几何相关性。它们的存在一定程度上归功于一个子空间,它包含了决定边界的法线,这样,法线也围绕着自然图像。在[70]中,他们进一步建立了他们的理论,并显示了共同方向的存在(在数据点之间共享),而分类器的决策边界可以非常积极地弯曲。他们认为,这种方向在通用扰动的存在中起着关键作用。在此基础上,提出了一种新的几何方法来有效地计算普遍的对抗性扰动。 
值得注意的是,以前的Fawzi等人[69]也将分类器的鲁棒性的理论界限与决策边界的曲率联系起来。类似地,Tramer等[77]也在数据点附近保持了决策边界的曲率,负责神经网络对黑盒攻击的脆弱性。在最近的另一项工作中,Mopuri等[193]提出了一个类似于GAN的模型,以学习针对给定目标模型的通用对抗扰动的分布。学习的分布也被观察到在模型之间显示良好的可移植性。


对抗攻击防御

目前,在对抗攻击防御上存在三个主要方向

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

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

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

这些方向具体又可分为(a)完全抵抗(Complete),即能够分对对抗样本的原始类别(b)仅探测方法(Detection only),即只鉴别出哪些是对抗样本。具体分类如下图: 


修改训练过程/ 输入数据

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

2、Data compression as defense 数据压缩 
注意到大多数训练图像都是 JPG 格式,Dziugaite等人使用 JPG 图像压缩的方法,减少FGSM对抗扰动对准确率的影响。实验证明该方法对部分对抗攻击算法有效,但通常仅采用压缩方法是远远不够的,并且压缩图像时同时也会降低正常分类的准确率,而微小的压缩又不能够去除对抗扰动。

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

4、Data randomization and other methods 数据随机化方法及其他方法 
Xie等人发现对训练图像引入随机重缩放可以减弱对抗攻击的强度,其它方法还包括随机 padding、训练过程中的图像增强等。


修改网络 
首先,是几种完全抵抗方法,然后再是仅探测方法。

5、Deep Contractive Networks 深度压缩网络 
人们观察到简单地将去噪自编码器(Denoising Auto Encoders)堆叠到原来的网络上只会使其变得更加脆弱,因而 Gu 和 Rigazio[24] 引入了深度压缩网络(Deep Contractive Networks),其中使用了和压缩自编码器(Contractive Auto Encoders)类似的平滑度惩罚项。

6、Gradient regularization/masking 梯度正则化/ 遮罩 
Ross 和 Doshi-Velez使用输入梯度正则化以提高对抗攻击鲁棒性 [52],方法训练可微模型(如深度神经网络),同时惩罚导致输出相对于输入的变化程度。这样一个小的对抗扰动就不会对输出有很显著的影响。该方法和蛮力对抗训练结合有很好的效果,但计算复杂度太高,在很多场合已经弃用。 
在此之前,Lyu等人也使用了惩罚网络模型在输入方面的损失函数梯度的概念,以对抗基于L-BFGS[22]和FGSM[23]的攻击。类似地,Shaham等人试图通过在每次参数更新时最小化模型在对抗性示例上的损失来改善神经网络的局部稳定性。他们最小化模型在对抗样本数据集的损失,而不是原始数据。在一项相关的工作中,Nguyen和Sinha[44]通过在网络的logit输出中添加噪声,引入了一种基于遮罩的对C&W攻击[36]的防御。

7、Defensive distillation 防守性蒸馏 
据Hinton等[166]介绍,distillation (蒸馏)是指将复杂网络的知识迁移到简单网络上。该知识以训练数据的类概率向量形式提取,并反馈给训练原始模型。Papernot[38] 利用这种技术提出了 Defensive distillation,并证明其可以抵抗小幅度扰动的对抗攻击。防御性蒸馏也可以被看作是梯度遮罩技术的一个例子。

8、Biologically inspired protection 生物启发的防御方法 
使用类似与生物大脑中非线性树突计算的高度非线性激活函数以防御对抗攻击 [124]。另外一项工作 Dense Associative Memory 模型也是基于相似的机制 [127]。Brendel和Bethge[187]声称,由于计算的数值限制,这些攻击在生物激发的保护上失败了[124]。稳定计算再次让攻击受保护的网络成为可能。

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

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

11、Miscellaneous approaches 混杂方法 
这章包含了多个人从多种角度对深度学习模型的调整从而使模型可以抵抗对抗性攻击。

Zantedeschi等[46]提出使用有界的ReLU[174]来降低图像中对抗性模式的有效性。

Jin等[120]介绍了一种前馈CNN,它使用附加噪声来减轻对抗性示例的影响。

Sun et al.[56]提出了以统计过滤为方法使网络具有鲁棒性的超网络。

Madry et al.[55]从鲁棒优化的角度研究对抗性防御。他们表明,与PGD对手进行对抗性训练,可以成功地抵御一系列其他对手。后来,Carlini等[59]也证实了这一观察。

Na等[85]采用了一种统一嵌入的网络进行分类和低水平相似度学习。该网络使用的是干净图像和相应的对抗性嵌入样本之间的距离。

施特劳斯等人[89]研究了保护网络免受扰动的集成方法。

Kadran等[136]修改了神经网络的输出层,以诱导对对抗攻击的鲁棒性。

Wang et al.[129],[122]利用网络中的非可逆数据变换,开发了抗敌对神经网络。

Lee等人[106]开发了多种规则化网络,利用训练目标来最小化多层嵌入结果之间的差异。

Kotler和Wong[96]提出学习基于相关性的分类器,该分类器对小对抗扰动具有鲁棒性。他们训练一个神经网络,在一个标准设置中,它可以很好地达到高精确度(90%)。

Raghunathan等[189]研究了具有一个隐藏层的神经网络的防御问题。他们的方法在 
MNIST数据集上生成一个网络和一个证书,达到一个防御目的。

Kolter和Wong[96]和Raghunathan等[189]是为数不多的几种可以证明的对抗敌对攻击的方法。考虑到这些方法在计算上不适用于更大的网络,唯一被广泛评估的防御是Madry等人[55]的防御。

12、仅探测方法

这章介绍了 4 种网络,SafetyNet,Detector subnetwork,Exploiting convolution filter statistics 及 Additional class augmentation。

SafetyNet 介绍了 ReLU 对对抗样本的模式与一般图片的不一样,文中介绍了一个用 SVM 实现的工作。

Detector subnetwork 介绍了用一个子网络来增强目标网络,该子网络训练用于检测输入中的对抗性扰动的二进制分类任务。结果表明,将这种网络附加到模型的内部层并使用对抗性训练可以帮助检测使用FGSM、BIM和DeepFool方法产生的扰动。然而,Lu等[66]后来表明,这种方法再次容易受到反对策的影响。

Exploiting convolution filter statistics 介绍了同 CNN 和统计学的方法做的级联分类器模型在分辨对抗样本上可以有 85% 的正确率。

Additional class augmentation 是Grosse等人提出通过增加一个类来增强潜在目标神经网络模型,将所有敌对的例子分类到这个类别中。


使用附加网络

13、防御通用扰动

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

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

15、仅探测方法 
介绍了 Feature Squeezing、MagNet 以及混杂的办法。 
Feature Squeezing 方法用了两个模型来探查是不是对抗样本。后续的工作介绍了这个方法对 C&W 攻击也有能接受的抵抗力。He等[76]也将特征压缩与[175]中提出的集成方法相结合,以显示防御的力量并不总是通过组合它们而增加。

MagNet: Meng和Chen[45]提出了一个框架使用一个或多个外部探测器将输入图像分类为对抗性或干净图像。在培训期间,该框架的目的是学习各种清洁图像。对图片的流行(manifold)测量值来训练,从而分辨出图片是不是带噪声的。

混杂方法(Miscellaneous Methods):Liang等 [50]训练了一个模型,把所有输入图片当成带噪声的,先学习怎么去平滑图片,之后再进行分类。将图像的摄动处理为噪声,并利用标量量化和空间平滑滤波分别检测这些摄动。将分离的二进制分类器训练为使用所提议的特性的对抗样本检测器。Gebhart和Schrater[92]将神经网络计算视为图中的信息流,并提出了一种利用诱导图的持久同源性检测对抗性扰动的方法。

扩展

既能欺骗机器,也能迷惑人类!Goodfellow等人提出新一代对抗样本

利用三个关键点来测试对抗样本是否会对人类视觉系统产生可观测的影响:首先,研究者使用近期的黑箱对抗样本构建技术为未获取模型架构或参数的目标模型创建对抗样本。第二,研究者调整机器学习模型来模仿人类的初始视觉处理,使对抗样本更有可能从模型迁移至人类观察者。第三,研究者在时限性环境中评估人类观察者的分类结果,以使对抗样本对人类感知的细微影响也能被检测到。

几张贴纸就让神经网络看不懂道路标志,伯克利为真实环境生成对抗样本 
神奇的面包机!谷歌造出对抗样本的实体版 
继图像识别后,图像标注系统也被对抗样本攻陷! 
修改一个像素,就能让神经网络识别图像出错

参考链接: 
http://www.sohu.com/a/224888255_129720 
http://baijiahao.baidu.com/s?id=1594095099083865391&wfr=spider&for=pc 
http://3g.163.com/dy/article/DC5JFUQS0511FERQ.html

转载:机器视觉中使用深度学习所面临的对抗攻击——Survey(下)相关推荐

  1. 机器视觉中使用深度学习所面临的对抗攻击——Survey(下)

    前言 本篇博客出于学习交流目的,主要是用来记录自己学习中遇到的问题和心路历程,方便之后回顾.过程中可能引用其他大牛的博客,文末会给出相应链接,侵删! 这篇博客记录大部分来自一篇Survey,文章总结了 ...

  2. 联邦学习本身+机器视觉中深度学习所面临的对抗攻击

    目录 联邦学习本身 对抗攻击中的一些术语: 现有攻击方法(实验室) 针对分类阶段 Box-constrained L-BFGS Fast Gradient Sign Method (FGSM) Bas ...

  3. 哈佛医学院解析:触发医学深度学习系统受到「对抗攻击」的诱因有哪些?

    原文来源:arXiv 作者:Samuel G. Finlayson.Isaac S. Kohane.Andrew L. Beam 「雷克世界」编译:EVA 对抗样本的发现引起了人们对深度学习系统的实际 ...

  4. 在浏览器中进行深度学习:TensorFlow.js (四)用基本模型对MNIST数据进行识别

    2019独角兽企业重金招聘Python工程师标准>>> 在了解了TensorflowJS的一些基本模型的后,大家会问,这究竟有什么用呢?我们就用深度学习中被广泛使用的MINST数据集 ...

  5. 实现AI技术自立自强,国产深度学习框架面临三大难题

    作为推动AI应用大规模落地的关键力量,深度学习框架的重要性日益凸显.它不仅关系国计民生的行业和领域广泛的应用,同样也对信息系统的科技安全有着决定性的意义. "深度学习框架在人工智能技术体系中 ...

  6. 综述:NLP中的深度学习优势

    [简介]自然语言处理(NLP)能够帮助智能型机器更好地理解人类的语言,实现基于语言的人机交流.目前随着计算能力的发展和大量语言数据的出现,推动了使用数据驱动方法自动进行语义分析的需求.由于深度学习方法 ...

  7. AI专家Marcus质疑深度学习:面临十大挑战(含参考文献)

    夏乙 若朴 安妮 编译整理 量子位 出品 | 公众号 QbitAI 多年坚持为深度学习泼冷水的纽约大学心理学教授马库斯老师(Gary Marcus),今天终于写了一篇长长的文章,将自己的对深度学习的看 ...

  8. 在浏览器中进行深度学习:TensorFlow.js (十二)异常检测算法

    2019独角兽企业重金招聘Python工程师标准>>> 异常检测是机器学习领域常见的应用场景,例如金融领域里的信用卡欺诈,企业安全领域里的非法入侵,IT运维里预测设备的维护时间点等. ...

  9. 精准医学中的深度学习和影像组学

    影像科正在经历一种范式转变,即使用人工智能与机器集成以及深度学习与影像组学更好地定义组织特征,从而实现计算机科学与影像学的共生关系.研究的目标是使用集成的深度学习和具有影像学参数的影像组学来为患者进行 ...

最新文章

  1. boost.asio包装类st_asio_wrapper开发教程(2014.5.23更新)(一)-----转
  2. .NET Core 3.0之深入源码理解Host(二)
  3. 关系数据库——关系数据语言
  4. Redis常见面试题5 -- 持久化方式之RDB(快照模式)
  5. C++ 共享内存 获取游戏数据
  6. 网络工程师笔记--网络管理技术
  7. 创建属于自己的OneNote插件
  8. Win10环境下VMware安装Mac OS虚拟机并在虚拟机中安装xcode
  9. SQL Server 2008 用户SA登录失败(错误18456)之图文解决方法
  10. MATLAB实现对比度计算
  11. 容器中的 Shim 到底是个什么鬼?
  12. Barefoot:可编程交换在5G中的潜力
  13. 异常检测(2)—基于统计学的方法
  14. Nobody gives away anything valuable for free.
  15. php把数组合并,php数组合并_php数组合并、追加与连接的方法、array_combine函数)
  16. WDN302国产化网络存储控制模块
  17. eMMC SI 总结
  18. 报告称国内超八成城市房价跌回一年前 北京上海回涨
  19. nokvm可以虚拟nat服务器吗,魔方财务系统 / 对接NOKVM云系统
  20. aspose-words,pdf

热门文章

  1. linux 游戏程序,LINUX下的各种游戏
  2. Android push原理
  3. HUAWEI(27)——Vxlan_多子网同子网互访
  4. 版本控__Adobe CC 2015的福利
  5. 在hta中使用select下拉框
  6. 【vSphere故障案例】案例十一:粉屏死机PSOD-3
  7. 红米2屏幕显示android,水滴全面屏老人机:红米 8A
  8. 创新能力哪家强?三星Note8 VS. 苹果iPhone X
  9. 在openlayer中对瓦片地图进行平移
  10. python不间断获取指定ulr的ip