作者: 19届 lz

论文:《深度学习对抗样本的防御方法综述》

问题

2013年 ,Szegedy 等 人 [1]首先通过添加轻微扰动来干扰输入样本,使基于深度神经网络(Deep neural network, DNN)的图片识别系统输出攻击者想要的任意错误结果,此过程称为对抗攻击.
研究人员表明,现代深度神经网络模型极易受到人类视觉系统几乎无法察觉的微小扰动的对抗攻击。这种攻击可以造成神经网络分类器对原始图像进行错误预测。如果将其应用于现实世界,如恶意代码检测、无人驾驶系统、生物医学领域,将会带来极为严重的后果

贡献:

本文根据对抗攻击的分类,从模型和数据两个层面对防御策略进行了分类和介绍。通过对相关研究工作的调研和分析,未来针对对抗深度学习的研究可以从两个角度展开。

相关工作

对抗样本指的是攻击者在数据集原始输入样本通过添加人类无法察觉的细微扰动来形成新的输入样本,导致模型以高置信度给出一个错误的输出,以欺骗机器学习模型。

深度神经网络( DNN )是典型的深度学习模型,其他深度学习模型在其基础上进行扩展 。 DNN 本质是一个函数链,是由多个神经网络层累加起来的结构,神经网络层由多个人工神经元构成,每个神经元都是一个感知器,可以将一组输入映射到具有激活功能的输出值上 。 DNN 每个函数是由每一层上的神经元组成,其目标是使训练的模型与真实的数据生成过程相匹配。函数表达如下所示:

深度神经网络的强表达能力使其在许多领域取得了巨大的成功。CNN被广泛应用于计算机视觉领域,RNN在处理具有可变长度的顺序输入数据上,具有很好的处理效果。深度学习解决某些复杂问题的能力已经超出了人类水平,但研究表明,深度学习技术也面临多种安全性威胁。

对抗攻击方法分类

根据敌手知识可分为白盒攻击和黑盒攻击 :
白盒攻击指攻击者完全了解神经网络模型和参数;
黑盒攻击指攻击者无法获取模型全部信息,只能通过对模型的使用来观察输入输出并展开攻击。

根据对抗特异性可以分为针对目标攻击和非针对目标攻击 :
针对目标攻击中对抗样本的分类结果会错分到指定分类;
非针对目标攻击的对抗类输出是任意的。

对抗防御方法分类

对对抗样本的典型防御方法从模型数据两个方向从模型入手的防御方法主要分为两种。

模型层面的防御策略可分类为修改网络使用附加网络,通过在训练阶段修改原始DNN模型的结构,或者不改变原始模型用外部模型作为附加网络,使得防御后的DNN分类器能够检测出对抗样本或将其识别为正确标签;

数据层面的防御策略主要通过在训练阶段将对抗样本注入训练数据集后重新训练模型,或预测阶段对样本进行修改,进行重建并将转换后的对抗样本输入到原模型来进行预测。

模型层面防御方法

从模型入手的防御方法主要分为两种。
(1)修改网络:仅修改原始模型的结构。
(2)使用附加网络:在保持原始模型所有
信息的情况下,用外部模型作为附加网络。

修改网络

1)防御蒸馏
Distillation(蒸馏)最早由Hinton提出,是指将复杂网络的知识迁移到简单网络上。该知识以训练数据的类概率向量形式提取,并反馈给原始模型。Papernot提出了防御蒸馏,是蒸馏算法的扩展。如图 1 所示,利用蒸馏算法为原始模型训练一个蒸馏模型。训练蒸馏模型时,输入是训练原始模型所需的样本集合。

可以理解为softmax层的输出,除了正例之外,负标签也带有大量的信息,比如某些负标签对应的概率远远大于其他负标签。而在传统的训练过程(hard target)中,所有负标签都被统一对待。也就是说,KD的训练方式使得每个样本给Net-S带来的信息量大于传统的训练方式。

2)正则化
正则化方法是指在训练过程中在目标函数上惩罚输出对于输入的变化程度,可以在一定程度上使小的对抗扰动不会对输出有显著影响。Moosavi-Dezfooli [10]指出对抗训练的主要作用之一是使损失函数的曲率和分类器的决策边界显著减小,所以提出了一种新的正则化策略,即曲率正则化,可以直接最小化损失面的曲率。这种正则化方法被证明可以显著提高神经网络的鲁棒性,甚至达到与对抗训练相当的性能,但可能在一定程度上会使模型的效果(如准确度)变差。此外,正则化方法与对抗训练结合会有很好的效果,但计算复杂度太高。

3)深度压缩网络
深度压缩网络 Deep contrac-tive network, DCN),在训练过程中采用正则化方法使用压缩自编码器的平滑惩罚项,使得模型的输出更加平滑。
高阶表征引导去噪器(High-level representation guided denoiser, HGD),训练一个基于神经网络的去噪器来消除对抗扰动。该方法使用U-Net作为去噪网络,相较于编码器和解码器结构,U-Net在同分辨率的编码层和解码层之间直接相连,网络只需学习如何去除噪音,而无需重建整张图。

使用附加网络

1)防御通用扰动
Akhtar等人提出了一种防御框架,该框架将额外的神经网络层附加到目标网络中,并重新训练网络来完成对对抗样本的校正,使目标网络对图像的原始版本与相应对抗样本的预测相同。通过这种方式不需要调整系数,而且能有效防御对抗样本。

2)基于GAN的防御
Lee等 人[15]利用生成对抗网络(GAN)来训练一个可以抵抗FGSM攻击的网络。直接在生成的网络上训练,在训练过程中,生成网络不断尝试对原始和对抗图像进行正确分类。
Shen等人使用网络的生成器部分来修正一个受干扰的图像。
Samangouei等人提出一种新的防御策略Defense-GAN,利用GAN来增强分类模型对白盒和黑盒对抗攻击的鲁棒性。实验表明,Defense-GAN可以有效抵抗对抗攻击,但如果GAN没有得到适当的训练和调整,Defense-GAN会受到原始输入样本和对抗样本的影响。

3)对抗样本检测
上述使用附加网络的防御方法可以使得防御后的DNN分类器能够将对抗样本识别为正确的标签,而对抗样本检测只需判断输入样本是否为对抗样本,而无须将对抗样本识别为正确标签。

Feature Squeezing方法通过对输入样本压缩简化来检测输入样本是否为对抗样本,该方法在 DNN 分类器中添加了两个外部模型,分别用来减少每个像素的颜色位深度和进行像素值的空间平滑。将原始输入图片和用两种Squeezing方法压缩后的图片经过分类器预测后的两个结果进行比较,如果距离很大,则输入样本会被认为是对抗样本。

且有研究表明Feature Squeezing方法与对抗训练结合,分类结果会有更高的准确性。
Feature Squeezing

数据层面防御方法

1)训练阶段修改模型参数(对抗训练)
自从发现深度神经网络的对抗样本以来,相关文献中普遍认为,防御对抗样本的神经网络的鲁棒性会随着对抗训练而提高。对抗训练方法从训练数据集入手,在每个训练步骤中产生对抗样本,并将它们注入训练集,构建鲁棒性更好的模型。Goodfellow等 人[21]和Huang等人[22]使用对抗训练防御方法MNIST数据集上进行评估,实验表明这种混合了合法样本和对抗样本训练出的模型有更强的鲁棒性。

对抗训练在训练过程中只能加入由已知攻击产生的特定类别的对抗样本,因此对抗训练防御通常不具备对其他攻击产生对抗样本的泛化能力。此外,对抗训练防御方法在训练阶段需要大量的正常样本和对抗样本,训练的成本较高,使得该方法很难在大规模数据集上使用,这是对抗训练防御方法亟待解决的难题。

2)测试阶段修改输入样本

(1)输入转换
输入转换方法不需要改变训练数据集和模型结构,而是对预测样本进行各种转换方法来减少可能存在的扰动,之后将转换后的样本输入到原模型中预测,使对抗样本重新被正确分类 。输入转换防御方法需要对预测样本进行转换处理,实验表明,目前这种方法在对抗样本预测上的误报率和漏报率较大。

(2)数据压缩
Dziugaite 等人发现在图像领域应用中最广泛的图像压缩技术是 JPG 图像压缩技术。受此启发,他们研究了JPG 压缩技术对由 于FGSM 攻击扰动带来的网络模型识别率的影响。Das 等人使 用 JPEG 压缩方法,提出一种针对 FGSM 和 DeepFool 攻击方法的集成防御手段,但这种图像压缩技术无法面对更加强力的攻击,如 C&W 等。
L i和Wang提出了一种新的深度去噪神经网络,用于消除对抗样本上的噪声。Liu等人运用数据压缩技术来防御对抗图像的攻击,实验结果表明所提出的防御策略只有在添加的扰动较小时才有一定的效果。

其他对抗深度学习防御方法

M a 等人利用对抗样本的局部本征维数(Local intrinsic di-mensionality, LID) 值大于正常样本的特性来识别对抗样本和正常样本,提出基于 LID 的检测方法。

Buckman
等人提出使用温度计编码( Thermometer encoding)将连续的输入样本进行离散化。

Prakash等人将像素偏转和小波去噪技术结合提出了新的集成防御方法,利用小波域中的自适应软阈值使模型的输出平滑,该防御方法可以有效抵御最新的对抗攻击。

当前防御方法面临的问题

(1)对抗攻击的防御存在对目标模型参数的依赖问题,模型使用的白盒防御策略为改变目标模型梯度传递过程,而黑盒攻击使用替代模型构造对抗样本,其本身的可迁移性属性使其在黑盒攻击中具有很好的泛化性,使模型使用的白盒防御策略失效。

( 2 )几乎所有的防御方法只能对有限的对抗攻击有效,不能够解决来自未知攻击带来的风险,并且很容易被不断演化的对抗样本绕过。

( 3 )大多数防御都是针对计算机视觉任务中的对抗样本,随着其他领域对抗样本的发展,迫切需要研究这些领域存在的问题。例如在网络空间安全领域,一些深度学习的网络空间安全应用存在的最大问题是健壮性差,容易受到对抗攻击。

(4)正如本文介绍,对抗攻击在物理世界也十分有效,所以研究其在物理世界的防御方法也是非常必要的。

深度学习对抗样本的防御方法相关推荐

  1. 深度学习对抗样本的八个误解与事实

    2019独角兽企业重金招聘Python工程师标准>>> 对抗样本是通过稍微修改实际样本而构造出的合成样本,以便于一个分类器以高置信度认为它们属于错误的分类.垃圾类的样本(如fooli ...

  2. 深度学习---对抗样本生成

    对抗样本攻击:在深度学习神经网络(DNN)输入较小的干扰因素会使DNN出现误判,这种攻击被称为是对抗样本攻击 对抗样本:是指在正常样本中有目的性地添加的一些干扰因素,使得DNN出现误判 举例说明对抗样 ...

  3. 「智源论坛Live报名」清华大学董胤蓬:深度学习对抗攻防平台

    直播时间: 2020年2月25日19:30-20:30 报名方式见文末 最新一期的智源论坛Live,我们请来了上个月刚刚获得了"百度奖学金"的董胤蓬同学: 嘉宾介绍 董胤蓬,清华大 ...

  4. 联邦学习 深度学习对抗攻击

    联邦学习本身 "联邦学习" 实际上是一种加密的分布式机器学习技术,参与各方可以在不披露底层数据和底层数据的加密(混淆)形态的前提下共建模型. 如果机构之间的数据无法互通,一家企业一 ...

  5. [综述类] 一文道尽深度学习中的数据增强方法(上)

    今天带来一次有关于深度学习中的数据增强方法的分享. 00 什么是数据增强 在深度学习项目中,寻找数据花费了相当多的时间.但在很多实际的项目中,我们难以找到充足的数据来完成任务. 为了要保证完美地完成项 ...

  6. 基于深度学习的显著性目标检测方法综述

    源自:电子学报       作者:罗会兰  袁璞  童康 摘 要 显著性目标检测旨在对图像中最显著的对象进行检测和分割,是计算机视觉任务中重要的预处理步骤之一,且在信息检索.公共安全等领域均有广泛的应 ...

  7. 基于深度学习的小目标检测方法综述

    随着深度学习的发展,基于深度学习的目标检测技术取得了巨大的进展,但小目标由于像素少,难以提取有效信息,造成小目标的检测面临着巨大的困难和挑战. 为了提高小目标的检测性能,研究人员从网络结构.训练策略. ...

  8. 基于深度学习的驾驶行为预测方法

    基于深度学习的驾驶行为预测方法 1 概述 2 深度学习算法 3 驾驶行为预测建模 4 结论 5 参考文献 6 python LSTM程序 7 python LSTM模型调用 1 概述 在汽车前向仿真中 ...

  9. 花书+吴恩达深度学习(八)优化方法之 Batch normalization

    目录 0. 前言 1. Batch normalization 训练 2. Batch normalization 测试 如果这篇文章对你有一点小小的帮助,请给个关注,点个赞喔~我会非常开心的~ 花书 ...

  10. 花书+吴恩达深度学习(六)优化方法之 Mini-batch(SGD, MBGD, BGD)

    目录 0. 前言 1. Batch gradient descent(BGD) 2. Stochastic gradient descent(SGD) 3. Mini-batch gradient d ...

最新文章

  1. jQuery第二天(操作样式、属性、节点、动画)
  2. wpf treeView,避免横向滚动条自动偏移。 ContentHorizontalOffset
  3. nyoj_111_分数加减法_201311281341
  4. Get shell By Powershell
  5. mysql数据库binlog日志截断报错,导致mysql主从同步失败故障排查
  6. WIN7下运行hadoop程序报:Failed to locate the winutils binary in the hadoop binary path
  7. 李飞飞离职Google重返斯坦福,CMU计算机学院院长Andrew Moore接任
  8. 从业余挖洞到微软漏洞研究员,我的遗憾、惊喜和建议
  9. thinkphp5.0 session驱动方式问题汇总
  10. Unity之A星算法
  11. IP地址的定义与分类
  12. 隔离电源模块的5个作用
  13. 禅与 JavaScript 编程艺术, Zen and The Art of JavaScript Programming
  14. UE4.26像素流公网访问linux和win两种实现方式
  15. JavaWeb笔记01(mysql)
  16. node.js —— express中的next( )
  17. 幼儿园案例经验迁移_在建构区中如何将游戏经验迁移为知识经验
  18. ISO、快门、光圈、曝光
  19. php画网络拓扑图,jtopo js插件绘制网络拓扑图
  20. 模仿淘宝聚划算倒计时js,兼容各种浏览器

热门文章

  1. Luogu P3174 [HAOI2009]毛毛虫 (树形dp)
  2. spring boot整合第三方微信开发工具 weixin-java-miniapp 实现小程序微信登录
  3. 创建Date对象的几种方式
  4. matlab矩阵对角线上下加减,matlab – 如何在相关矩阵中移动靠近矩阵对角线的较大值...
  5. 【ffplay】视频的宽高比详解 -PAR、DAR 和 SAR
  6. 英特尔cpu发布时间表_英特尔10代桌面cpu上市时间(英特尔10代发售时间)
  7. 什么是索引?怎么创建索引?索引的使用原则?
  8. 这款神器,IDM随意下载任意网页音频视频文件!
  9. 怎么把WORD中插入的图片改为统一尺寸的,看这里,文档中图片怎么改成同样大小
  10. 怎么批量修改图片尺寸大小?