zoukankan      html  css  js  c++  java
  • 6 15种对抗攻击的防御方法

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

    1)在学习过程中修改训练过程或者修改的输入样本

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

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

    第一个方法没有直接处理学习模型。另一方面,另外两个分类是更加关心神经网络本身的。

    这些方法可以被进一步细分为两种类型:(a)完全防御;(b)仅探测(detection only)。

    「完全防御」方法的目标是让网络将对抗样本识别为正确的类别。

    另一方面,「仅探测」方法意味着在对抗样本上发出报警以拒绝任何进一步的处理。

    详细的分类在图 9 中展示了。剩下的章节是按这个分类来整理的。

    图 9:防御对抗攻击的方法分类。

    6.1 修改训练过程/ 输入数据

    1 蛮力对抗训练

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

    2 数据压缩

    注意到大多数训练图像都是 JPG 格式,Dziugaite[123] 等人使用 JPG 图像压缩的方法,减少对抗扰动对准确率的影响。实验证明该方法对部分对抗攻击算法有效,但通常仅采用压缩方法是远远不够的,并且压缩图像时同时也会降低正常分类的准确率,后来提出的 PCA 压缩方法也有同样的缺点。

    3 基于中央凹机制的防御

    Luo[119] 等人提出用中央凹(foveation)机制可以防御 L-BFGS 和 FGSM 生成的对抗扰动,其假设是图像分布对于转换变动是鲁棒的,而扰动不具备这种特性。但这种方法的普遍性尚未得到证明。

    4 数据随机化方法

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

    6.2 修改网络

    5 深度压缩网络

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

    6 梯度正则化/ masking

    使用输入梯度正则化以提高对抗攻击鲁棒性 [52],该方法和蛮力对抗训练结合有很好的效果,但计算复杂度太高

    7 Defensive distillation

    distillation 是指将复杂网络的知识迁移到简单网络上,由 Hinton[166] 提出。Papernot[38] 利用这种技术提出了 Defensive distillation,并证明其可以抵抗小幅度扰动的对抗攻击。

    8 生物启发的防御方法

    使用类似与生物大脑中非线性树突计算的高度非线性激活函数以防御对抗攻击 [124]。另外一项工作 Dense Associative Memory 模型也是基于相似的机制 [127]。

    9 Parseval 网络

    在一层中利用全局 Lipschitz 常数加控制,利用保持每一层的 Lipschitz 常数来摆脱对抗样本的干扰。

    10 DeepCloak

    分类层(一般为输出层)前加一层特意为对抗样本训练的层。它背后的理论认为在最显著的层里包含着最敏感的特征。

    11 混杂方法

    这章包含了多个人从多种角度对深度学习模型的调整从而使模型可以抵抗对抗性攻击。

    12 仅探测方法

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

    • SafetyNet 介绍了 ReLU 对对抗样本的模式与一般图片的不一样,文中介绍了一个用 SVM 实现的工作。
    • Detector subnetwork 介绍了用 FGSM, BIM 和 DeepFool 方法实现的对对抗样本免疫的网络的优缺点。
    • Exploiting convolution filter statistics 介绍了同 CNN 和统计学的方法做的模型在分辨对抗样本上可以有 85% 的正确率。

    6.3 使用附加网络

    13 防御通用扰动

    利用一个单独训练的网络加在原来的模型上,从而达到不需要调整系数而且免疫对抗样本的方法。

    14 基于 GAN 的防御

    用 GAN 为基础的网络可以抵抗对抗攻击,而且作者提出在所有模型上用相同的办法来做都可以抵抗对抗样本。

    15 仅探测方法

    介绍了 Feature Squeezing、MagNet 以及混杂的办法。

    • Feature Squeezing 方法用了两个模型来探查是不是对抗样本。后续的工作介绍了这个方法对 C&W 攻击也有能接受的抵抗力。
    • MagNet: 作者用一个分类器对图片的流行(manifold)测量值来训练,从而分辨出图片是不是带噪声的。
    • 混杂方法(Miscellaneous Methods):作者训练了一个模型,把所有输入图片当成带噪声的,先学习怎么去平滑图片,之后再进行分类。
  • 相关阅读:
    使用Supervisor守护Python进程
    Python 程序员经常犯的 10 个错误
    DNS的view加速
    转-Gitorious搭建步骤
    linux下curl的地址使用双引号引用的原因
    java poi ppt操作示例
    CentOS 6.3下Samba服务器的安装与配置
    Linux NFS服务器的安装与配置
    Linux下安装JDK和tomcat
    Oracle数据库合并行记录,WMSYS.WM_CONCAT 函數的用法
  • 原文地址:https://www.cnblogs.com/shona/p/11278745.html
Copyright © 2011-2022 走看看