写点什么

深度学习之对抗样本问题

  • 2015-07-27
  • 本文字数:2337 字

    阅读完需:约 8 分钟

2006 年,Geoffrey Hinton 提出了深度学习。受益于大数据的出现和大规模计算能力的提升,深度学习已然成为最活跃的计算机研究领域之一。深度学习的多层非线性结构使其具备强大的特征表达能力和对复杂任务的建模能力。最近几年,深度学习的发展也带动了一系列的研究。尤其是在图像识别领域,在一些标准测试集上的试验表明,深度模型的识别能力已经可以达到人类的水平。但是,人们还是会产生一个疑问,对于一个非正常的输入,深度模型是否依然能够产生满意的结果。的确,最近有研究者开始关注深度模型抗干扰能力的研究,也就是关于深度学习对抗样本的问题。对于这一新的问题,本文对它进行一个简单的介绍。文章由黄立威、张天雷整理。

什么是深度学习对抗样本

Christian Szegedy 等人在 ICLR2014 发表的论文中,他们提出了对抗样本(Adversarial examples)的概念,即在数据集中通过故意添加细微的干扰所形成的输入样本,受干扰之后的输入导致模型以高置信度给出一个错误的输出。在他们的论文中,他们发现包括卷积神经网络(Convolutional Neural Network, CNN)在内的深度学习模型对于对抗样本都具有极高的脆弱性。他们的研究提到,很多情况下,在训练集的不同子集上训练得到的具有不同结构的模型都会对相同的对抗样本实现误分,这意味着对抗样本成为了训练算法的一个盲点。Anh Nguyen 等人在CVPR2015 上发表的论文中,他们发现面对一些人类完全无法识别的样本(论文中称为Fooling Examples),可是深度学习模型会以高置信度将它们进行分类。这些研究的提出,迅速抓住了公众的注意力,有人将其当做是深度学习的深度缺陷,可是 kdnuggets 上的一篇文章 (Deep Learning’s Deep Flaws)’s Deep Flaws 指出,事实上深度学习对于对抗样本的脆弱性并不是深度学习所独有的,在很多的机器学习模型中普遍存在,因此进一步研究有利于抵抗对抗样本的算法实际上有利于整个机器学习领域的进步。

深度学习对于对抗样本表现的脆弱性产生的原因

是什么原因造成了深度学习对于对抗样本表现出脆弱性。一个推断性的解释是深度神经网络的高度非线性特征,以及纯粹的监督学习模型中不充分的模型平均和不充分的正则化所导致的过拟合。 Ian Goodfellow 在 ICLR2015 年的论文中,通过在一个线性模型加入对抗干扰,发现只要线性模型的输入拥有足够的维度(事实上大部分情况下,模型输入的维度都比较大,因为维度过小的输入会导致模型的准确率过低),线性模型也对对抗样本表现出明显的脆弱性,这也驳斥了关于对抗样本是因为模型的高度非线性的解释。相反深度学习的对抗样本是由于模型的线性特征。

深度学习对抗样本泛化的原因

很多的时候,两个模型即使有不同的结构并在不同的训练集上被训练,一种模型的对抗样本在另一个模型中也同样会被误分,甚至它们还会将对抗样本误分为相同的类。这是因为对抗样本与模型的权值向量高度吻合,同时为了训练执行相同的任务,不同的模型学习了相似的函数。这种泛化特征意味着如果有人希望对模型进行恶意攻击,攻击者根本不必访问需要攻击的目标模型,就可以通过训练自己的模型来产生对抗样本,然后将这些对抗样本部署到他们需要攻击的模型中。

深度学习的对抗训练

所谓深度学习对抗训练,就是通过在对抗样本上训练模型。既然深度学习的对抗样本是由于模型的线性特征所导致,那就可以设计一种快速的方法来产生对抗样本进行对抗训练。Szegedy 等人的研究认为对抗样本可以通过使用标准正则化技术解决,可是Goodfellow 等人使用常见的正则化方法,如dropout, 预训练和模型平均进行测试,并没能显著地提高深度模型对于对抗样本的抗干扰能力。根据神经网络的 Universal Approximation Theory ,至少拥有一个隐层的神经网络只要拥有足够的隐层单元,就可以任意逼近任何一个非线性函数,这是浅层模型所不具备的。因此,对于解决对抗样本问题,Goodfellow 等人认为深度学习至少有希望的,而浅层模型却不太可能。Goodfellow 等人通过利用对抗样本训练,对抗样本上的误分率被大大降低。同时他们发现选择原始模型产生的对抗样本作为训练数据可以训练得到具有更高抵抗力的模型。此外,他们还发现,对于误分的对抗样本,对抗训练得到的模型的置信度依然很高。所以通过对抗训练能够提高深度学习的对于对抗样本的抗干扰能力。

几个深度学习对抗样本的事实

对于深度学习对抗样本,Ian Goodfellow 认为目前存在一些误解,为了对这些误解进行进一步澄清,Kdnuggets 网站的编辑邀请 Goodfellow 撰文 Deep Learning Adversarial Examples – Clarifying Misconceptions 。文章指出对抗样本在实际当中是经常可能出现的,而且在小的数据当中也能够经常被发现,例如试图骗过垃圾邮件检测系统的垃圾邮件。Goodfellow 还指出识别一个对抗样本,然后拒绝对它进行分类并不是一个最佳的选择,通过有效的算法,能够克服数据干扰,正确识别对抗样本中的信息才是最终目的。此外,Goodfellow 指出,人类并不会像现代机器学习算法那样被对抗样本所影响。如果我们的大脑会和机器学习模型一样犯同样的错误,那么由于对抗样本的在不同模型上的泛化属性,机器学习模型的对抗样本将会使我们产生视觉错乱。

总之,对抗样本是一个非常难的问题,研究如何克服它们可以帮助避免潜在的安全问题,并且帮助机器学习算法提高解决问题的准确性。某种意义上来说,设计一个易于训练的线性模型和设计一个能够抵御对抗干扰的非线性模型之间存在根本的矛盾,从长远来看,设计更强大的优化方法以训练更加非线性的模型是未来需要努力的方向。


感谢徐川对本文的审校。

给InfoQ 中文站投稿或者参与内容翻译工作,请邮件至 editors@cn.infoq.com 。也欢迎大家通过新浪微博( @InfoQ @丁晓昀),微信(微信号: InfoQChina )关注我们,并与我们的编辑和其他读者朋友交流(欢迎加入 InfoQ 读者交流群)。

2015-07-27 08:458013
用户头像

发布了 268 篇内容, 共 131.2 次阅读, 收获喜欢 24 次。

关注

评论

发布
暂无评论
发现更多内容

Vue实战必会的几个技巧

yyds2026

Vue

Koordinator 1.0 正式发布:业界首个生产可用、面向规模场景的开源混部系统

云布道师

云原生 云栖大会

web3.0区块链挖矿游戏dapp系统开发合约定制(成熟技术)

开发微hkkf5566

BSC/BNB链质押挖矿dapp系统开发(案例演示)

开发微hkkf5566

高频数采、实时流计算:EMQ储能可预测维护系统方案|智慧工厂系列专题06

EMQ映云科技

物联网 IoT emqx 11月月更 云边协同

Vue模板是怎样编译的

yyds2026

Vue

李珣同款爱心特效代码,加DIY教程,快拿去送给你喜欢的那个ta吧。

bug菌

跳动的爱心 代码爱心 爱心代码

Webpack构建速度优化

Geek_02d948

webpack

Java Web(二)MyBatis

浅辄

Java web mybaits 11月月更

Pipy:保护 Kubernetes 上的应用程序免受 SQL 注入和 XSS 攻击

Flomesh

程序员 微服务 服务网格 Pipy

SpringBoot 自动装配原理

Jeremy Lai

springboot 自动装配

推动中小企业数字化转型,终于“有据可依”了

雨果

低代码 数字化转型

web3.0多链挖矿dapp系统开发技术详情

开发微hkkf5566

webpack实战,手写loader和plugin

Geek_02d948

webpack

Webpack配置实战

Geek_02d948

webpack

2022VDC云与基础架构专场:筑牢云原生与基础架构发展基石 多维助力效能提升

极客天地

解密负载均衡技术和负载均衡算法

京东科技开发者

负载均衡 算法 负载均衡算法 注册表 负载均衡技术

基线提升至96.45%:2022 司法杯犯罪事实实体识别+数据蒸馏+主动学习

汀丶人工智能

知识蒸馏 命名实体识别 11月月更

高并发系统谨防被一行日志击垮

小小怪下士

Java 程序员 高并发

一个 MySQL 隐式转换的坑,差点把服务器整崩溃了

Java全栈架构师

Java MySQL 数据库 程序员 后端

BI分析助力企业数字营销与运营,瓴羊Quick BI让企业决策更精准

巷子

Jenkins 安全tips

SEAL安全

安全 jenkins

fastposter v2.10.0 简单易用的海报生成器

物有本末

海报 小程序营销 海报生成 海报小程序

谈谈 Angular 应用 Feature Module 的延迟加载话题

汪子熙

typescript angular web开发 SAP 11月月更

2022VDC游戏生态专场:打造更健康长久的游戏生态

极客天地

阿里云丁宇:交付管理一体化的云原生应用平台 KubeVela 再升级

云布道师

云原生 2022云栖大会

当大火的文图生成模型遇见知识图谱,AI画像趋近于真实世界

阿里云大数据AI技术

深度学习 PyTorch 知识图谱 企业号十月 PK 榜 图文生成

【电商实战01】如何快速编写api层和model层?

王中阳Go

golang 高效工作 学习方法 11月月更 电商实战

合约广告平台架构演进实践

百度Geek说

业务架构 企业号十月 PK 榜 广告B端系统

Vue组件是怎样挂载的

yyds2026

Vue

低代码实现探索(五十二)基于模板方式基组件

零道云-混合式低代码平台

深度学习之对抗样本问题_语言 & 开发_张天雷_InfoQ精选文章