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

作者: 向志洪 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研究超美国?专家:比如深度学习已发文章数
评论
取消
暂无评论,快去成为第一个评论的人吧

更多资讯推荐

11个主流AI聊天机器人平台,你绝不能错过 精选

人工智能聊天机器人掀起了一场用户体验革命。只要用户需要,机器人就能提供有用的信息。一些企业应用AI聊天机器人为客户提供积极有益的帮助,企业也因此得到了长足的发展。

读芯术 ·  20h前
5G自动驾驶什么样?韩国测试得出这样的结果

自动驾驶与5G的产业发展备受关注,而两者结合会有什么样的效果,韩国企业近日进行了一番探索。韩媒报道称,10月10日,LG U+自动驾驶汽车在首尔麻谷LG科学园一带的普通公路上进行了测试。

佚名 ·  20h前
全球十大AI训练芯片大盘点

AI芯片哪家强?现在,有直接的对比与参考了。英国一名资深芯片工程师James W. Hanlon,盘点了当前十大AI训练芯片。

乾明 ·  21h前
模型仅1MB,更轻量的人脸检测模型开源,效果不弱于主流算法

AI模型越来越小,需要的算力也也来越弱,但精度依旧有保障。最新代表,是一个刚在GitHub上开源的中文项目:一款超轻量级通用人脸检测模型。

乾明 ·  22h前
人工智能遇冷,自动驾驶受阻?

2016到2019,人工智能经历了梦幻般的三年,但人工智能的历史规律告诉我们:高潮过后可能会引来新的一波沉寂,人工智能助推下的自动驾驶也会受到波及。

佚名 ·  1天前
非监督学习最强攻略

本次主要讲解的内容是机器学习里的非监督学习经典原理与算法,非监督,也就是没有target(标签)的算法模型。

SAMshare ·  1天前
PyTorch终于能用上谷歌云TPU,推理性能提升4倍,该如何薅羊毛?

Facebook在PyTorch开发者大会上正式推出了PyTorch 1.3,并宣布了对谷歌云TPU的全面支持,而且还可以在Colab中调用云TPU。

晓查 ·  1天前
500亿参数,支持103种语言:谷歌推出「全球文字翻译」模型

由于缺乏平行数据,小语种的翻译一直是一大难题。来自谷歌的研究者提出了一种能够翻译 103 种语言的大规模多语言神经机器翻译模型,在数据丰富和匮乏的语种翻译中都实现了显著的性能提升。

机器之心 ·  2天前
Copyright©2005-2019 51CTO.COM 版权所有 未经许可 请勿转载