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

1、什么是对抗学习?

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

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

一文读懂对抗学习!5千字精炼提干_第1张图片

△知识体系

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

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

一文读懂对抗学习!5千字精炼提干_第2张图片

如图所示,一张正常的大熊猫图片(左图)在被加入噪声后生成对抗样本(右图),会使得神经网络分类错误,并被神经网络认为是一张长臂猿图片,然而人类并不能察觉到这种变化。[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):在真实的物理世界攻击。如将对抗样本打印出来,用手机拍照识别。

在这里插入图片描述

△对抗攻击基本公式

一文读懂对抗学习!5千字精炼提干_第3张图片

△对抗攻击示意图

4、对抗防御

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

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

一文读懂对抗学习!5千字精炼提干_第4张图片

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

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

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

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

01.图像识别

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

一文读懂对抗学习!5千字精炼提干_第5张图片

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

02.人脸识别

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

一文读懂对抗学习!5千字精炼提干_第6张图片

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

03.目标检测

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

一文读懂对抗学习!5千字精炼提干_第7张图片

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

04.验证码生成

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

一文读懂对抗学习!5千字精炼提干_第8张图片

△对抗性验证码

05.音频和文本识别

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

一文读懂对抗学习!5千字精炼提干_第9张图片

△对抗性验证码

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

01.自动驾驶

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

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

一文读懂对抗学习!5千字精炼提干_第10张图片

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

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千字精炼提干_第11张图片
一文读懂对抗学习!5千字精炼提干_第12张图片

你可能感兴趣的:(数据科学,自然语言处理,机器学习,深度学习,人脸识别,神经网络)