1、什么是对抗学习?

机器学习这一技术自出现之始就以优异的性能应用于各个领域。近年来,随着机器学习的快速发展与广泛应用,这一领域更是得到前所未有的蓬勃发展。

目前, 机器学习在计算机视觉、语音识别、自然语言处理等复杂任务中取得了公认的成果,已经被广泛应用于自动驾驶、人脸识别等领域。随着机器学习技术遍地开花,逐渐深入人们的生活,其也被应用在许多例如安防、金融、医疗等对安全有严格要求的领域中,直接影响着人们的人身、财产和隐私的安危。

△知识体系

在一系列重大进展面前, 机器学习在越来越多的被应用到人类生活的方方面面,在这时人们也很容易忽视阳光背后的阴影。与很多实用性技术一样,机器学习作为一个复杂的计算机系统,同样面临着安全性的考验,同样会面临黑客攻击,也被发现存在着安全性问题,它们干扰机器学习系统输出正确结果,例如对抗样本(adversarial data)的存在。

研究人员发现,一些精心设计的对抗样本可以使机器学习模型输出错误的结果。

如图所示,一张正常的大熊猫图片(左图)在被加入噪声后生成对抗样本(右图),会使得神经网络分类错误,并被神经网络认为是一张长臂猿图片,然而人类并不能察觉到这种变化。[1]

对抗样本是指将真实的样本添加扰动而合成的新样本,是由深度神经网络的输入的数据和人工精心设计好的噪声合成得到的,但它不会被人类视觉系统识别错误。然而在对抗数据面前,深度神经网络却是脆弱的,可以轻易迷惑深度神经网络。

深度神经网络对于对抗样本的判错率非常高,而人几乎无法辨别原样本与对抗样本的差别,这就意味着原本深度神经网络的功能已经失效了,不具有媲美人类的智能了。

由此可见,对抗攻击的危害很大,尤其是对于无人驾驶、医疗诊断、金融分析这些安全至关重要的领域。对抗样本无疑制约着机器学习技术的进一步应用,因此,提升神经网络的对抗鲁棒性(抵御对抗样本的能力)变得十分重要。

于是,机器学习中的对抗样本引起了研究人员的极大关注,他们也相应提出了一系列的对抗攻击(如何更有效的产生对抗样本)和对抗防御(针对对抗样本提供更有效的防御)的方法,这一领域称之为对抗学习。对抗学习是一个机器学习与计算机安全的交叉领域,旨在于在恶意环境下(比如在对抗样本的存在的环境下)给机器学习技术提供安全保障。

2、对抗学习用到了哪些基础理论?

早在2004年,垃圾邮件过滤程序中就已经体现出对抗攻防的思想,Nilesh Dalvi等人指出,垃圾邮件发送者在垃圾邮件中插入“好话”后,垃圾邮件过滤器中使用的线性分类器可能会被简单的“回避攻击”所击败。其本质是双方的对抗博弈:一方面,垃圾邮件制造者想方设法躲避过滤程序的筛选;另一方面,过滤程序又尽可能正确地筛选出垃圾邮件。

2006年,Marco Barreno等人发表了“机器学习是否可以安全?”,概述了广泛的攻击分类方法。

2012年,深度神经网络开始主导计算机视觉问题,因此以对抗样本生成和防御为核心的对抗深度学习,也成为了对抗机器学习领域目前最受关注的研究热点。

从2014年开始, Christian Szegedy等人提出,深度神经网络可能会遭到对手的愚弄,并提出针对图像的对抗样本这一概念,揭露了深度学习技术在安全方面的极大缺陷,从而使得人们更加谨慎地看待深度学习在实际中的应用。[2]

3、对抗攻击

根据不同的分类标准,对抗攻击(如何生成对抗样本)有着以下几种分类方式[3] ,从攻击环境或者按照攻击者具备的能力来说,可以分为:

白盒攻击(White-box attacks):白盒攻击假定攻击者可以完全了解他们正在攻击的神经网络模型的结构和参数,包括训练数据,模型结构,超参数情况,层的数目,激活函数,模型权重等。能在攻击时与模型有交互,并观察输入输出。

  1. 生成对抗样本的“快速梯度符号方法”(fast gradient sign method, FGSM)

  2. fgsm_attack(image, epsilon, data_grad):
  3. Collect the element-wise sign of the data gradient

  4. sign_data_grad = data_grad.sign()
  5. Create the perturbed image by adjusting each pixel of the input image

  6. perturbed_image = image + epsilon*sign_data_grad
  7. Adding clipping to maintain [0,1] range

  8. perturbed_image = torch.clamp(perturbed_image, 0, 1)
  9. Return the perturbed image

  10. return perturbed_image

黑盒攻击(Black-box attacks):黑盒攻击假定攻击者不知道他们正在攻击的神经网络模型的结构和参数,能在攻击时与模型进行交互,只知道模型的输入输出。白盒攻击样本可以通过一些方法转换成黑盒攻击的方式。

灰盒攻击:介于黑盒攻击和白盒攻击之间,仅仅了解模型的一部分。(例如仅仅拿到模型的输出概率,或者只知道模型结构,但不知道参数)。

真实世界攻击(Real-world attacks):在真实的物理世界攻击。如将对抗样本打印出来,用手机拍照识别。

△对抗攻击基本公式

△对抗攻击示意图

4、对抗防御

对抗训练是提升深度网络对抗鲁棒性的重要方式之一。

对抗训练的基本思想就是在网络训练的过程中,不断生成并且学习对抗样本。比如根据极小极大公式,在内层通过最大化损失函数来寻找对抗样本,然后在外层学习对抗样本来最小化损失函数。通过对抗训练而得的神经网络具有对抗鲁棒性。

△对抗训练,最大最小化公式

5、对抗学习可以用在哪些方面?

通过将计算得到的扰动噪声加入原始图像,使得能够正确分类原始图像的分类器对加入扰动的图像产生错误分类。而这个扰动的幅度很小,人眼观察是不会错分的,但却能在测试或部署阶段,很容易的“欺骗”深度神经网络。

将深度神经网络应用到对安全有严格要求的环境中时,处理对抗样本造成的脆弱性就成为了一个重要的任务。此外,并不是某个机器学习(包括深度学习)算法单独具有对于对抗样本的脆弱性,而是机器学习的模型普遍都可能具有该缺陷,这种缺陷在对于安全性要求较高的行业中就显得尤为重要了。因此,对抗学习可以被广泛地运用在医疗、金融、安防和自动驾驶等行业。

01.图像识别

近年来的研究进一步发现,不仅是像素级别的扰动,真实世界中的扰动即便通过摄像机采集,也具有攻击性,这就使得对抗攻击更容易出现在我们生活的世界中。例如,对停车标志附加一些贴纸或涂鸦,它便被交通标志识别系统错误识别为限速标志。

△添加了黑白贴纸的停车标志可以被机器学习模型错误识别

02.人脸识别

真人戴上一副特制的眼镜,就被人脸识别系统错误识别为另一个人。如果这些对抗攻击方法被用来干扰自动驾驶、人脸识别等应用系统,后果将不堪设想。

△人物戴上特制眼镜被识别成其他人

03.目标检测

来自比利时鲁汶大学的研究者针对人物检测器进行了对抗攻击方面的研究,他们开发了一个 40cm×40cm 的对抗样本补丁。如果人类佩戴它,目标检测模型将无法再检测到该人类。如图所示,左侧没有携带对抗图像块的人可被准确识别出来,而右侧携带对抗图像块的人并未被检测出来。入侵者可以使用它在摄像头下隐身!

△携带对抗样本在目标检测模型下隐身

04.验证码生成

对抗样本也不只有负面应用,如果能够对该技术进行合理利用,也可以产生积极的影响。验证码技术已经广泛应用于我们的生活中,然而“灰产”组织也开始使用机器学习模型模拟人对于验证码的识别,如果采用对抗样本的技术生成验证码,人对验证码的识别不受影响,然而可以使得攻击者的验证码识别模型的识别率大幅下降。[4]

△对抗性验证码

05.音频和文本识别

机器学习模型在进行语音识别过程中,如果此时的背景音乐是经过精心设计的,那么就有可能使识别结果错误,甚至按照攻击者的意图来输出结果。在文本处理任务中,也有着相似的问题,在文本段落中,增加一些特殊的词汇或标点,或者在不改变语义情况下调整个别句子,人类不易察觉,但模型却无法按照预期输出正确的结果。

△对抗性验证码

6、对抗学习应用有哪些例子?

01.自动驾驶

自动驾驶是未来智能交通的发展方向,但在其安全性获得完全检验之前,人们还难以信任这种复杂的技术。虽然许多车企、科技公司已经在这一领域进行了许多实验,但对抗样本技术对于自动驾驶仍然是一个巨大的挑战。例如对抗攻击下的图片中的行人在模型的面前隐身,对抗样本使得模型“无视”路障,而腾讯科恩实验室的研究人员们就找到了几种使用「物理攻击」的方式欺骗特斯拉自动驾驶系统的方法。[6]

利用 AI 对抗样本生成特定图像并进行干扰时,特斯拉的 Autopilot 系统输出了「错误」的识别结果,导致车辆雨刷启动;
在道路的特定位置贴上若干个对抗样本贴纸,可以让处在自动驾驶模式的汽车并入反向车道;
在Autopilot系统中,通过游戏手柄对车辆行驶方向进行控制。

△对抗样本使得行人对于机器学习模型“隐身”

02.金融欺诈

深度学习算法也已经应用到了金融机构中,用于金融欺诈等行为的识别。那有没有可能通过某些手段,欺骗深度学习算法呢?来自乔治亚理工大学、蚂蚁金服和清华大学的研究人员发现了机器学习模型的新风险:通过制造具有欺骗性的数据结构,可以误导机器学习模型做出错误预测。[7]

“我们展现出的是,通过对交易网络的一小部分进行改变,就可以改变机器的行为,”乔治亚理工大学计算机科学与工程学院副教授、机器学习中心副主任Le Song说到,“例如,就金融应用而言,我可以将钱转到其他地方,就可以改变机器学习模型使其做出错误的预测。”

深度学习模型尤其容易受到此类攻击操纵的影响——目前正在针对多种应用场景,如图像识别,通过各种领域和方法来解决这一问题。但根据Dai和Song所说,到目前为止,很少有注意力被放在这些模型的可解释性以及模型的决策机制上,这使得某些金融或安全相关的应用程序存在着一定风险。

03.对抗学习的科研前沿

目前,对抗攻击中攻击与防御的方式也是“道高一尺,魔高一丈”,已经经过了许多轮的迭代,演变出了许多攻防方式。随着各种攻击方法的产生,提出的防御方法看似抵御了这些攻击,但是新出现的攻击却又不断躲避着这些防御方法。

至今,人们仍不完全清楚神经网络这个黑盒的本质特性。甚至有研究指出,神经网络完成的分类任务仅是靠辨别局部的颜色和纹理信息,这使得自然的对抗样本,即便不是人为加入的扰动,而是真实采集到的图像,也能够成功地欺骗神经网络。这也支持了许多研究者的观点,即神经网络只是学习了数据,而非知识,机器学习还无法像人一样学习。

这项难题的最终解决,或许依赖于对神经网络的透彻理解,以及对神经网络结构的改进。弄清楚神经网络内部的学习机制,并据此进行改进,或许才能真正解决目前神经网络对于对抗攻击的脆弱性。

因此对抗机器学习不仅是机器学习被更加广泛地被应用的一道门槛,也是促使人们研究如何解释机器学习模型的动力。

参考资料
[1] Goodfellow ,et al. Explaining and Harnessing Adversarial Examples, 2014.
[2] Szegedy C, Zaremba W, Sutskever I, et al. Intriguing properties of neural networks, 2013.
[3] Xiaoyong Yuan, Pan He, Qile Zhu, et al. Adversarial Examples: Attacks and Defenses for Deep Learning, 2017.
[4] 陈岳峰 毛潇锋 李裕宏 何源 薛晖. AI安全——对抗样本技术综述与应用, 2019
[5] Hutson, Matthew . AI can now defend itself against malicious messages hidden in speech, 2019
[6] 腾讯科恩实验室: 特斯拉Autopilot的实验性安全研究,2019
https://keenlab.tencent.com/zh/2019/03/29/Tencent-Keen-Security-Lab-Experimental-Security-Research-of-Tesla-Autopilot/
[7] 如何利用小数据进行金融欺诈——图网络的对抗样本,2018 https://zhuanlan.zhihu.com/p/41144423

更多数据科学资料尽在【数据科学应用研院】,回复CSDN领取数据科学资料礼包~

一文读懂对抗学习!5千字精炼提干相关推荐

  1. | 一文读懂迁移学习(附学习工具包)

    当一个CNN用于另一个领域,就使用到了迁移学习.迁移学习是一种用于模型领域泛化和扩展的工具. 文章链接:独家 | 一文读懂迁移学习(附学习工具包) 参考:当深度学习成为过去,迁移学习才是真正的未来? ...

  2. odoo pivot中去掉求和_一文读懂深度学习中的卷积运算与图像处理

    华为人工智能认证讲师 袁梦 在人工智能深度学习技术中,有一个很重要的概念就是卷积神经网络 CNN(Convolutional Neural Networks).卷积神经网络被广泛地运用到计算机视觉中, ...

  3. 一文读懂深度学习:这个AI核心技术被美国掌控,很危险

    2019-11-28 18:39:22 "中国有多少数学家投入到人工智能的基础算法研究中?" 今年4月底,中国工程院院士徐匡迪等多位院士的发声,直击我国在算法这一核心技术上的缺失, ...

  4. 一文读懂深度学习中的矩阵微积分

    点击视学算法标星,更快获取CVML新技术 鱼羊 编译整理 量子位 报道 | 公众号 QbitAI 想要真正了解深度神经网络是如何训练的,免不了从矩阵微积分说起. 虽然网络上已经有不少关于多元微积分和线 ...

  5. 独家 | 一文读懂概率论学习:贝叶斯理论(附链接)

    作者:Jaime Zornoza 翻译:李 洁 校对:郑 滋 本文长度约为3400字,建议阅读10分钟 本文为大家详细介绍了概念学习中常见的贝叶斯理论. 通过一个简单示例,了解概率的基本定理之一. 本 ...

  6. 一文读懂深度学习框架下的目标检测(附数据集)

    来源:大数据文摘 编译:及子龙,张礼俊,余志文,钱天培 本文长度为3716字,建议阅读5分钟 本文为你全方位解读机器视觉领域中的目标检测. 从简单的图像分类到3D位置估算,在机器视觉领域里从来都不乏有 ...

  7. 资源 | 一文读懂深度学习(附学习资源)

    本文授权转自THU数据派(ID:datapi) 翻译 | 程思衍 校对 | 冯羽 本文长度为2500字,建议阅读6分钟 Medium上获得超过一万五千赞的深度学习入门指南,结合图文为你缕清深度学习中的 ...

  8. 一文读懂深度学习模型近年来重要进展(附梳理图)

    作者:丁铭,唐杰 来源:微博"唐杰THU" 本文共2200字,建议阅读5分钟. 本文为大家梳理深度学习模型近年来的重要进展,文末附梳理图~ 唐杰老师学生帮忙整理的Deep Lear ...

  9. 一文读懂联邦学习的前世今生(建议收藏)

    前言 联邦学习(Federated Learning)作为人工智能的一个新分支,为机器学习的新时代打开了大门.如果投票问人工智能和大数据应用领域有什么好玩又好用的新技术,"联邦学习" ...

最新文章

  1. 电脑人会得哪些病----------关注健康,关爱生命!
  2. 使用 jQuery Deferred 和 Promise 创建响应式应用程序
  3. Python编程语言学习:在根目录的py文件内调用某叶目录文件内的包/库或者函数(常用在GUI编程)之详细攻略
  4. 科大星云诗社动态20201210
  5. 凸包 poj 1113
  6. squid 简单介绍及代理说明
  7. 掌趣科技:游戏《一拳超人:最强之男》累计收入近5亿元
  8. 简谈ubuntu之DIY发行版
  9. 钉钉辟谣“老师能打开学生摄像头”;HTC 关闭官方社区;​Node.js 安全版本发布 | 极客头条...
  10. android 字体像素转换工具类_Android点9图机制及在聊天气泡中的应用
  11. Mybatis-学习笔记(7)缓存机制
  12. 淘宝新手开店从入门到精通→一路护航
  13. 基于单片机的无线病房呼叫系统设计
  14. gigaset812说明书_详细的电话机使用说明书
  15. 小程序php文档,微信小程序API 文件
  16. python中的sheet,Python中的Smartsheet库:模块'smartsheet.sheets'没有属性'sheets'
  17. Unity适配IOS刘海屏
  18. batch批处理小记
  19. 近视200度能学计算机吗,近视200度能不能恢复 近视200度该怎么办
  20. 「解析」Self-Attention 关键点

热门文章

  1. Android开发—三种动画实现原理及使用
  2. 什么?朋友圈出现了叠中叠?教你三招轻松应对朋友圈折叠
  3. 后现代婚礼机器人显神通_看机器人“各显神通”
  4. 机器学习从入门到创业手记-2.1.1 线性回归与房价还涨么
  5. 3DMax一个重要功能,通过它制作出来的影视作品有很强立体感
  6. 在校生创手机维修租赁平台,服务5万学生月流水45万
  7. 关于技术部管理的一些思考
  8. [原创] Bandwagon 追加 swap 大小
  9. 解决ES数据偏移问题
  10. 2020 dns排名_《2020年全球DNS威胁报告》:DNS攻击平均损失高达92万美元