【ArchSummit架构师峰会】探讨数据与人工智能相互驱动的关系>>> 了解详情
写点什么

深度学习之对抗样本问题

  • 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 读者交流群)。

公众号推荐:

跳进 AI 的奇妙世界,一起探索未来工作的新风貌!想要深入了解 AI 如何成为产业创新的新引擎?好奇哪些城市正成为 AI 人才的新磁场?《中国生成式 AI 开发者洞察 2024》由 InfoQ 研究中心精心打造,为你深度解锁生成式 AI 领域的最新开发者动态。无论你是资深研发者,还是对生成式 AI 充满好奇的新手,这份报告都是你不可错过的知识宝典。欢迎大家扫码关注「AI前线」公众号,回复「开发者洞察」领取。

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

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

关注

评论

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

在线HTML实体转字符串工具

入门小站

工具

马拉车算法,其实并不难!!!

秦怀杂货店

数据结构 算法 LeetCode

半年时间,拍摄8省市10个案例,我们见到了这样的智能中国

脑极体

Ember Data 之记录操作:创建、更新和删除

devpoint

store ember.js 10月月更

容器 & 服务:Kubernetes API Server访问问题

程序员架构进阶

架构 Kubernetes 容器 Helm Charts 10月月更

【SpringCloud技术专题】「Hystrix源码」分析故障切换的运作流程

洛神灬殇

源码分析 SpringCloud Hystrix 熔断器 10月月更

微博评论高性能高可用计算架构

白开水又一杯

#架构实战营

架构实战营 - 模块九作业

思梦乐

技术公众号小白互助网络

Felix

GitHub 微信公众号 自媒体

Android使用adb工具及root权限完成手机抓包

杨清强

adb

OpenCV学习(二):环境搭建

轻口味

OpenCV图像处理 10月月更

产品经理如何采集需求?

石云升

产品经理 需求分析 10月月更

模块九作业

秀聪

架构实战营

业务中台数据一致性方案

慕枫技术笔记

后端 引航计划

Linux开发coredump文件分析实战分享

良知犹存

Linux

5款良心工具,专治各种流氓顽固软件!

Jackpop

MacBook的隐藏功能

IT蜗壳-Tango

10月月更

stm32-HAL使用stop模式后DMA初始化的问题

良知犹存

stm32

架构实战营模块九作业-毕业设计

子豪sirius

架构实战营

架构训练营 模块九

小卷儿

012云原生之微服务

穿过生命散发芬芳

云原生 10月月更

模块九毕业设计

以吻封笺

模块九作业:设计电商秒杀系统

Felix

数据库优化之explain 的使用和常用的SQL优化或索引优化

Regan Yue

数据库 数据库优化 Regan Yue 10月月更

如何进行用户故事估算——Ethan分享观后感

Bruce Talk

敏捷 随笔 Agile User Story Product Owner

10. python入门速通教程之类、继承类、类中的特殊方法

梦想橡皮擦

10月月更

敬畏用户

FunTester

软件测试 测试 用户 FunTester 用户思维

设计千万级学生管理系统的考试试卷存储方案

Rabbit

linux安装XtraBackup8

入门小站

Linux

前端监控:JS监控SDK手摸手教学-原理篇(已开源)

浅端攻城狮

大前端 监控 js sdk

一文带你盘点“微服务”中的技术点

Simon郎

微服务 Spring Cloud spring cloud alibaba java

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