论文导读:深度神经网络中的对抗样本与学习(附原文)

简介: 本文介绍了关于对抗样本的7篇文献,解释了对抗样本的产生及攻击原理,对深层神经网络会有什么影响等。结果表明,即使是训练得非常好的神经网络在对抗样本前会显得那么脆弱,不过我们可以通过利用对抗样本进行对抗训练以提高模型的努棒性。

首发地址:https://yq.aliyun.com/articles/73592

更多深度文章,请关注:https://yq.aliyun.com/cloud

作者介绍:

Adrian Colyermorning paper编辑、Accel Partners投资合伙人、SpringSource首席技术官、VMware技术总监。

领英:http://www.linkedin.com/in/adriancolyer/

Twitter:https://twitter.com/adriancolyer

对抗样本是故意构造的输入,能够导致网络产生错误输出。本文介绍的论文主要有以下几篇:

Deep neural networks are easily fooled, Nguyen et al, 2015

Practical black-box attacks against deep learning systems using adversarial examples, Papernot et al, 2016

Adversarial examples in the physical world, Goodfellow et al, 2017

Explaining and harnessing adversarial examples, Goodfellow et al, 2015

Distillation as a defense to adversarial perturbations against deep neural networks, Papernot et al., 2016

Vulnerability of deep reinforcement learning to policy induction attacks, Behzadan & Munir, 2017

Adversarial attacks on neural network policies, Huang et al. 2017

首先从100名深度学习论文列表” 中的深层神经网络容易被愚弄开始

深层神经网络容易被愚弄

95d9ebf27ec3703dee960ac4f235731c5900e50b

上图是一个犰狳!下面图像更容易看清,是09之间某个数字的五幅不同图像,

59a1bb018fec23c27ac66f45c1c22cb372665a71

(明显是数字4

你所看到的是对抗图像,而不再像从人的角度来看到的目标类别。显然,DNN并没有与我们以相同的方式学习解释图像。

对抗图像是使用进化算法(EA)创建的,标准EA使用单一的适应度函数,但是作者使用MAP-Elites的新算法,并测试了两种不同的突变策略。

4b885d8992f4022cd27e47c5c6cbcd4eda8f91bb

MNIST为例(数字0-9),使用直接编码突变创建这些图像:

7ea66f4765bfb265b150996656e6c2c0392af35c

下面使用间接编码突变创建的:

faa1cd303b3c379de09f505273b5b264cf26e665

使用CPNN编码和故意进化的图像来匹配目标DNN类别可以产生各种各样的图像:

7142c970ce5e593d666316d78b11b7e7b055f36a

通过从生成的图像中移除一些重复的元素,DNN的置信度得分下降。“这些结果表明,DNN倾向于学习低级和中级特征,而不是物体的全局结构”。

作者尝试通过将培训机制扩展到包含这些负面例子,使DNN对这些对抗图像更加强大,但总是可能产生新的对抗样本,仍会愚弄所产生的网络。

9674746990d41335a798e9715072d85b6e6ebcbf

使用对抗样本对深学习系统实施黑盒攻击

这是熊猫(59.7%的置信度):

e7509ba9f4ac4b46ae84b6757fa384b09be24a96

但是,这显然是一种长臂猿(99.3%置信度):

78c9629793468031b4ecc01496395b022cc715f1

攻击者的目标是找到一个小的、不可察觉扰动的现有图像,以强制分类器去错误分类,而同个图像仍能被人类正确分类。用于产生对抗图像的先前技术依赖于对完整训练集的访问和网络中的隐藏权重。这篇文章表明, 所有你需要的就是将输入传递给分类器,学习后预测类别。攻击通过使用目标DNN作为oracle来训练替代模型。目标输入是合成生成,传递给oracle(受攻击的系统),输出标签成为替代模型的训练标签。可以使用一般的白盒技术创建成功的对抗图像。

aa64340eebbc989ae3cd2ae36eaf7a29884cbae1

事实上,攻击不仅适用于DNN目标,而且还涉及到附加的机器学习模型(线性回归、SVM、决策树和最近邻域)。

者通过使用MetaMind,Google和Amazon分别提供的三种云ML服务,显示了攻击网络盲人的能力。在每种情况下,训练数据被上传到服务,该服务学习分类器。然后使用替代网络技术来找到愚弄分类器的样本。MNIST的测试精度达到92.17%的亚马逊分类器可能被96.19%的对抗样本所欺骗;在MNIST上获得了92%的测试准确性的Google分类器,可能被88.94%的对抗样本所欺骗。基于梯度掩蔽的防御对抗替换攻击而言不是有效。

物理世界中的对抗样本

到目前为止,所有以前的工作中对手可以将数据直接提供给机器学习的分类器。对于在物理世界中运行的系统来说,并不总是这样。本文表明,即使在物理世界场景中,机器学习系统也容易受到对抗样本的影响。

作者打印清晰图片和对抗图像,并拍摄打印的图像,将这些照片裁剪后送入分类器。该过程通过手动摄影进行,并且不需要仔细控制照明等引入多余变量,具有根据微妙变化破坏对抗扰动的潜力。

641d59a3c9aae9ef7ea722c0ae6ca7e9ba70c550

总体来说,结果表明对抗样本的一小部分仍然被错误分类:照相变换证明了物理对抗的可能性。因此,通过产生足够的对抗图像,对手可能会产生比自然输入更多的错误分类。

解释和利用对抗样本

为什么这些对抗样本有效?Goodfellow等人解释,这是为了在高维空间中攻击是线性行为。文章结果表明基于现代机器学习技术的分类器,即使在测试集上获得出色性能的分类器也没有真正学习确定正确输出标签的特征。考虑在高维线性分类器中,每个单独的输入特征被归一化。对于任何一个输入,小的改变将不会改变分类器的总体预测。但对输入进行许多次无穷小的改变,会导致输出有大的变化。

6a14631984b48febba6b61d5d731d928c07bcbbf

可以通过调整相应权重的符号变化来最大限度地发挥许多小变化对其的影响。这也是一种产生对抗图像的快速方式。

对抗样本一个有趣的方面是一个模型生成的示例通常会被其他模型错误分类。

97ed3dfc55031200359988960346a6057aa04cd7

解释表明,由于其线性设计出易于训练的模型和使用非线性效应来抵抗对抗扰动的模型之间造成了根本的紧张。从长远来看,可以通过设计更强大的优化方法来成功地训练更多的非线性模型以逃避这种折中。

蒸馏作为深层神经网络抵御对抗扰动的防御

Papernot等人表明蒸馏技术(使用概率分布作为目标训练)也可以用于大大降低网络对抗扰动的脆弱性。对于MNIST数据集训练的DNN,防御性蒸馏将对抗样本的成功率从95.89%降低到0.45%!针对CIFAR数据集而言,成功率由87.89%降至5.11%。事实上,防御性蒸馏可以降低DNN对输入扰动的灵敏度。

以下是MNIST和CIFAR的一些示例,显示正当样本和对抗样本:

c962b631a0461e2d90de597515bf2c401546f600

下面介绍防御性蒸馏如何工作以及其原理。考虑一般的对抗框架,首先搞清楚工作方向是围绕给定的输入样本,然后使用这些信息选择输入维度之间的扰动。

4e88796baa168fcf83774b7726d4071987f5a863

如果梯度方向陡峭,就会对小扰动产生很大的影响。为了防止这种扰动,必须通过网络更好地泛化训练数据集以外的样本来平滑训练过程中学到的模型。DNN对对抗样本的“鲁棒性”与给定样本邻域相一致地分类输入相关。

ad03b8af6efedc358d15730f4bb12de153685024

为了实现这种平滑,蒸馏防御首先按照正常的方式训练分类网络,然后用从第一个模型学到的概率向量训练另外一个完全相同架构的新模型。

dea8aec7ccd679cc55d6c27dcb9b92d49635275b

以这种方式训练网络,有助于更好的泛化。

下图展示蒸馏温度如何影响模型对抗样本的防御能力。直观上,温度越高防御越好。

b7e571224eaa21f2b27199fe3b1a64501c5968e1

蒸馏对分级精度影响不大,甚至有可能会提升。

防御性蒸馏仅适用于基于能量概率分布的DNN模型,因此建立通用对抗样本强大的机器学习模型的重要一步。不幸的是,文章表明,甚至连防御性蒸馏也不足以减轻对抗,并证明了防御性蒸馏是无效的。

深层强化学习对政策诱导攻击的脆弱性

这篇文章和下一篇文章告诉我们,深度强化学习网络(比如DQNs)也容易受到对抗攻击。

强化学习与环境相互作用的依赖性导致固有的脆弱性,这使得学习过程易受环境扰动影响,利用此漏洞可以让对手想到干扰或改变控制策略的方法。

幸运的是,攻击者的目标是欺骗一个DQN使其采取攻击者选择的动作,但我们已经知道许多制作攻击所需的构建块。假设威胁模型类似于“黑盒”模型,攻击者可以根据DQN的输入以及观察到DQN采取的行动估计出报酬函数。

第一步是“黑盒攻击”技术来训练与目标选择的策略相匹配的替代DQN

下一步是找到一种将这种学习对抗政策转移到目标网络的方法。这是在开发周期中完成的:

5018237bf8d35f372d563cd6ea1650a0f4ac1096

需要回答的第一个问题是“是否可能产生DQN的对抗样本?” 从下可知答案是肯定的:

81242da7f6b48ad271c27cc8be19dfbd88cab3d7

必须回答的第二个问题是,这些对抗样本是否可以转移。答案是肯定的:

80364cf5dc0e1fdc7508c94bc14a24f25748d8e9

a0e6f6d3f6a5b7e4408eccf67e1ced1c7015370e

由于所有已知的对策表明是不充分的,因此目前抵抗对抗样本的最新水平不能提供具体的防范来防备这样的开发。

神经网络策略上的对抗攻击

Huang等人发表的这项工作也表明强化学习网络容易受到对抗性攻击。

首先通过使用白盒攻击展示了这点,还表明在一系列深度强化学习算法(DQN、TRPO和A3C)中对抗也会成功。然后作者使用黑盒攻击演示了转移能力,结合在之前“物理世界中的对抗样本”中学到的经验。作者指出,即使在黑盒子情况下,计算效率高的对抗样本很容易迷惑这样的政策,可以将这些对抗扰动应用于现实世界中的对象,例如在道路表面的增加特制漆以迷惑自动驾驶汽车的车道追踪策略。

本文由北邮@爱可可-爱生活老师推荐,阿里云云栖社区组织翻译。

文章原标题《When DNNs go wrong – adversarial examples and what we can learn from them》,作者Adrian Colyer,译者:海棠,审阅:tiamo_zn

附件为原文的pdf

文章为简译,更为详细的内容,请查看原文

Wechat:269970760 

Email:duanzhch@tju.edu.cn

微信公众号:AI科技时讯

157f33dddfc596ede3681e0a2a0e7068dc288cc1

目录
相关文章
|
2月前
|
消息中间件 网络协议 C++
C/C++网络编程基础知识超详细讲解第三部分(系统性学习day13)
C/C++网络编程基础知识超详细讲解第三部分(系统性学习day13)
|
2月前
|
监控 网络协议 Java
Linux 网络编程从入门到进阶 学习指南
在上一篇文章中,我们探讨了 Linux 系统编程的诸多基础构件,包括文件操作、进程管理和线程同步等,接下来,我们将视野扩展到网络世界。在这个新篇章里,我们要让应用跳出单机限制,学会在网络上跨机器交流信息。
Linux 网络编程从入门到进阶 学习指南
|
3月前
|
机器学习/深度学习 编解码 计算机视觉
【APFN】从大佬论文中探索如何分析改进金字塔网络
【APFN】从大佬论文中探索如何分析改进金字塔网络
57 0
|
3月前
|
计算机视觉
【论文复现】经典再现:yolov4的主干网络重构(结合Slim-neck by GSConv)
【论文复现】经典再现:yolov4的主干网络重构(结合Slim-neck by GSConv)
52 0
【论文复现】经典再现:yolov4的主干网络重构(结合Slim-neck by GSConv)
|
4月前
|
SQL 运维 安全
黑客(网络安全)技术自学——高效学习
黑客(网络安全)技术自学——高效学习
28 1
|
3天前
|
机器学习/深度学习 数据可视化 数据挖掘
【视频】少样本图像分类?迁移学习、自监督学习理论和R语言CNN深度学习卷积神经网络实例
【视频】少样本图像分类?迁移学习、自监督学习理论和R语言CNN深度学习卷积神经网络实例
11 1
|
6天前
|
存储 网络协议 关系型数据库
Python从入门到精通:2.3.2数据库操作与网络编程——学习socket编程,实现简单的TCP/UDP通信
Python从入门到精通:2.3.2数据库操作与网络编程——学习socket编程,实现简单的TCP/UDP通信
|
15天前
|
机器学习/深度学习
yolov7论文学习——创新点解析、网络结构图
yolov7论文学习——创新点解析、网络结构图
|
20天前
|
JavaScript Java 测试技术
基于Java的网络类课程思政学习系统的设计与实现(源码+lw+部署文档+讲解等)
基于Java的网络类课程思政学习系统的设计与实现(源码+lw+部署文档+讲解等)
31 0
基于Java的网络类课程思政学习系统的设计与实现(源码+lw+部署文档+讲解等)
|
2月前
|
机器学习/深度学习 开发者
论文介绍:基于扩散神经网络生成的时空少样本学习
【2月更文挑战第28天】论文介绍:基于扩散神经网络生成的时空少样本学习
16 1
论文介绍:基于扩散神经网络生成的时空少样本学习