一文详解深度神经网络中的对抗样本与学习

作者: 向志洪 2017-04-26 14:32:24

概述

最近大半年,人工智能领域成为科技领域提到的最多的名词之一。在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模型,因此建立通用对抗样本强大的机器学习模型的重要一步。

神经网络 人工智能 对杭样本
上一篇:看得“深”、看得“清” —— 深度学习在图像超清化的应用 下一篇:阿里云南京云栖大会:分享智造范本 发布前沿技术
评论
取消
暂无评论,快去成为第一个评论的人吧

更多资讯推荐

关于AI在游戏领域的5个预测,你不一定都知道

未来,人工智能的发展将如何帮助开发者创造更好的游戏呢?以下是对人工智能在游戏产业中的5个预测。

Yu ·  14h前
人工智能如何改变医疗保健行业

当今世界最具前瞻性的两项技术是人工智能(AI)和机器人技术。实现这两种技术可以导致多个行业垂直领域的创新,包括医疗保健行业。

科幻网 ·  16h前
Epoch不仅过时,而且有害?Reddit机器学习板块展开讨论

Epoch最大的好处是确保每个样本被定期使用。当使用IID抽样时,你只要能想办法确保所有样本被同样频繁地使用就好了。

梦晨 ·  18h前
人工智能寒冬又到?美国教授arxiv发文批判AI,遭reddit网友狂喷

人工智能又被批评了?美国教授arxiv发文批评AI有四个误区,却不料遭reddit网友炮轰炒冷饭。

佚名 ·  18h前
企业的人工智能计划获得成功需要做的10件事

在实施人工智能的计划中,一些企业可能会忽略一些重要的细节,这些细节可能意味着人工智能计划成败之间的差异。

HERO ·  23h前
人工干预如何提高模型性能?看这文就够了

下面我先从使用机器学习模型来推理系统入手,再展开人工干预的推理循环的技术介绍。

AI科技大本营 ·  1天前
人工智能在国防领域将发挥什么作用?

2021年4月26日,根据数据与分析公司GlobalData新发布的一项名为《关于航空航天与防务领域中的人工智能技术专题研究》的研究报告,在未来战场中,人工智能技术或将充当辅助力量——人与机器协同工作,相较于人类,人工智能可以更有效地执行一些特定任务。

安防展览网 ·  1天前
做出电影级的 CG 渲染!斯坦福大学研究人员提出神经光图渲染

近日,一篇题为Neural Lumigraph Rendering的研究论文声称,它对现有的2个数量级图像进行了改进,展示了通过机器学习管道实现实时 CG 渲染的几个步骤。

佚名 ·  1天前
Copyright©2005-2021 51CTO.COM 版权所有 未经许可 请勿转载