深度神经网络中的对抗样本与学习

概述

最近大半年,人工智能领域成为科技领域提到的最多的名词之一。在kdnuggets此前发布的文章 (Deep Learning’s Deep Flaws)’s Deep Flaws 中,深度学习大神Yoshua Bengio和他的博士生、Google科学家Ian Goodfellow在评论中与作者就深度学习对抗样本(Adversarial Examples)展开了热烈的讨论,kdnuggets编辑邀请Ian Goodfellow撰文详解他的观点以及他在这方面的工作。那么什么是对抗样本,对抗样本又是如何生成的呢?

对抗样本

对抗样本(Adversarial Examples)的概念最早是Christian Szegedy 等人在ICLR2014发表的论文中提出来的,即在数据集中通过故意添加细微的干扰所形成输入样本,受干扰之后的输入导致模型以高置信度给出了一个错误的输出。

在他们的论文中,他们发现包括卷积神经网络(Convolutional Neural Network, CNN)在内的深度学习模型对于对抗样本都具有极高的脆弱性。他们的研究提到,很多情况下,在训练集的不同子集上训练得到的具有不同结构的模型都会对相同的对抗样本实现误分,这意味着对抗样本成为了训练算法的一个盲点。二将这一矛头直指深度学习,似乎要为深度学习热潮降一降温。Anh Nguyen等人在CVPR2015上发表的论文中,面对一些人类完全无法识别的样本(论文中称为 Fooling Examples),深度学习模型居然会以高置信度将它们进行分类,例如将噪声识别为狮子。

对于上面的漏洞,研究提出,一方面促使人们更深入思考机器和人的视觉的真正差异所在,一方面,加上深度模型本身具有的不可解释性缺陷,也让一些人开始认为深度学习不是deep learning, 而是deep flaw.对深度学习来说,这多少是不公平的指责,因为 kdnuggets上的一篇文章(Deep Learning’s Deep Flaws)指出,深度学习对于对抗样本的脆弱性并不是深度学习所独有的,事实上,这在很多机器学习模型中都普遍存在(Box 大人不就说吗,all models are wrong, but some are useful),而深度学习反而可能是目前为止对对抗训练最有抵抗性的技术。如下图,原始图像以60%的置信度判断为“熊猫”,但是加入了微小的干扰,在人眼完全看不出差别的情况下却以99%的执行度归为了长臂猿。

对抗样本的根本问题

那么,导致深度模型对反抗样本力不从心的真实原因有哪些呢?一般我们知道,可能是模型过拟合导致泛化能力不够,泛化能力不够可能是由于模型均化不足或者正则不足,然而,通过更多模型均化和加入更多噪声训练等方式来应对对抗样本的企图均告失败。外一个猜测是模型的高度非线性,深度模型动辄千百万的参数个数确实让人有点不太舒服,但 Ian Goodfellow 在论文 explaining and harnessing adversarial examples 中,通过在一个线性模型中加入对抗干扰,发现只要线性模型的输入拥有足够的维度(事实上大部分情况下,模型输入的维度都比较大,因为维度过小的输入会导致模型的准确率过低,即欠拟合),线性模型也对对抗样本表现出明显的脆弱性,这驳斥了关于对抗样本是因为模型的高度非线性的解释。 事实上,该文指出,高维空间中的线性性就足以造成对抗样本,深度模型对对抗样本的无力最主要的还是由于其线性部分的存在。 如下图,展示了线性设计造成的抵抗对抗扰动的模型之间的关系。

对抗样本的利用

针对上面的问题,毫无疑问,对抗样本带来了对深度学习的质疑,但其实这也提供了一个修正深度模型的机会,因为我们可以反过来利用对抗样本来提高模型的抗干扰能力,因此有了对抗训练(adversarial training) 的概念。 随着对对抗样本研究的深入,可以利用对抗样本生成对抗网络(GANs)。在 GANs 中,包含一个生成模型G和一个判别模型D,D要判别样本是来自G还是真实数据集,而G的目标是生成能够骗过D的对抗样本,可以将G看做假币生产者,而D就是警察,通过G和D的不断交手,彼此的技能都会逐渐提高,最终使得G生产的假币能够以假乱真。

对抗样本的防御

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

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

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

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

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

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

防御性蒸馏仅适用于基于能量概率分布的DNN模型,因此建立通用对抗样本强大的机器学习模型的重要一步。

关于对抗样本的更深的解决方案请查看对抗样本防御(https://yq.aliyun.com/articles/73592?spm=5176.100239.bloglist.33.eSCmUH,点击阅读原文查看)。

延伸阅读:一篇文章教你用 11 行 Python 代码实现神经网络

原文发布于微信公众号 - AI研习社(okweiwu)

原文发表时间:2017-04-25

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏机器学习从入门到成神

机器学习之从极大似然估计到最大熵原理以及EM算法详解

极大似然估计是建立在极大似然原理的基础上的一个统计方法,极大似然原理的直观想法是,一个随机试验如有若干个可能的结果A,B,C,... ,若在一次试验中,结果A出...

576100
来自专栏向治洪

深度神经网络中的对抗样本与学习

概述 最近 大半年,人工智能领域成为科技领域提到的最多的名词之一。在kdnuggets此前发布的文章(Deep Learning’s Deep Flaws)’s...

36270
来自专栏人工智能LeadAI

R-CNN 物体检测第一弹

今天,重读了 R-CNN 的 TPAMI 版本,感觉受益颇多。该版相比之前的会议版,在检测流程和实现细节上表述得更为清晰。此外,因为是改投 TPAMI 的关系,...

44960
来自专栏量子位

何恺明“终结”ImageNet预训练时代:从0开始训练神经网络,效果比肩COCO冠军

三位从Mask R-CNN就开始合作的大神搭档,刚刚再次联手,一文“终结”了ImageNet预训练时代。

11610
来自专栏杨熹的专栏

为什么在优化算法中使用指数加权平均

指数加权平均(exponentially weighted averges),也叫指数加权移动平均,是一种常用的序列数据处理方式。

17010
来自专栏AI科技评论

总结 | 优必选悉尼AI研究院何诗怡:基于课程学习的强化多标签图像分类算法

与单标签图像分类相比,多标签图像分类是一种更符合真实世界客观规律的方法,尤其在图像和视频的语义标注,基于内容的图像检索等领域有着广泛的应用。

20030
来自专栏机器之心

干货 | 物体检测算法全概述:从传统检测方法到深度神经网络框架

机器之心转载 公众号:阅面科技(ID:readsense) 作者:童志军 物体检测一向是比较热门的研究方向,它经历了传统的人工设计特征+浅层分类器的框架,到基于...

46070
来自专栏大数据文摘

超实用总结:AI实践者需要用到的10个深度学习方法

13640
来自专栏机器之心

学界 | 深度神经网络为什么不易过拟合?傅里叶分析发现固有频谱偏差

众所周知,过参数化的深度神经网络(DNN)是一类表达能力极强的函数,它们甚至可以以 100% 的训练准确率记住随机数据。这种现象就提出了一个问题:为什么它们不会...

8410
来自专栏SIGAI学习与实践平台

【SIGAI综述】行人检测算法

行人检测是计算机视觉中的经典问题,也是长期以来难以解决的问题。和人脸检测问题相比,由于人体的姿态复杂,变形更大,附着物和遮挡等问题更严重,因此准确的检测处于各种...

59020

扫码关注云+社区

领取腾讯云代金券