文章目录
摘要
深度学习在一系列领域取得了迅速进展和重大成功,不仅如此,它还逐渐地被应用于关键性安全领域。但是,近来有研究表明:深度神经网络很容易受到精心设计的输入样本(对抗性样本)的危害。人类无法察觉对抗性样本,但它可以很容易愚弄深层神经网络。深度神经网络易受到对抗性样本的影响,这成为了将其应用于关键性安全领域的主要风险。因此,针对对抗性样本的攻击与防御引起了广泛关注。在这篇文章里,我们回顾了最近针对于深度神经网络的对抗性样本研究,概括了生成对抗性样本的方法,还对这些方法建立了分类系统,在这个系统下对对抗性样本的应用进行调研。最后,我们一起研讨应对对抗性样本的对策并且探索了可能遇到的挑战和潜在的解决方案。
一、引言
深度学习在传统的机器学习领域取得了显著的进步:图像分类,对象识别,对象检测,语音识别,翻译,声音合成。
大数据的出现以及硬件的升级迭代,使得深度学习对人工干预和专业知识的要求也降低了很多,并且现在的深度学习可以从原始输入数据中提取出更抽象、更高水平的数据复杂性。
深度学习在现实生活中的应用越来越广泛,从IT到汽车行业(Google、Tesla、Mercedes、Uber)都在研发自动驾驶,这需要足够强大的深度学习技术,比如:对象识别、强化学习以及多模态学习。
虽然深度学习在很多应用中都取得了显著成果,并且还涉及到了很多安全性极为重要的领域,这就让人非常重视其安全性了。正所谓“能力越大,责任越重”。最近的研究就发现深度学习很容易受到精心设计的输入样本的干扰,这些样本只需要一点点微不足道的扰动就可以轻而易举地骗过一个性能良好的深度学习模型。
大量的以深度学习为基础的应用逐渐被部署到了真实世界中,特别是安全性极为关键的领域,与此同时,对抗性样本也可以应用到真实世界中。举个例子:对抗性样本可以通过控制交通信号识别系统里的停车标志或者在对象识别系统里移除对行人的分割标记来干扰自动驾驶车辆。攻击者还可以生成对抗性命令来破坏自动语音识别系统和声音控制系统。比如:Apple的Siri,Amazon的Alexa,Microsoft的Cortana。
深度学习系统被认为是一种“黑科技”——我们都知道它很厉害,很好用,但是对其原理所知甚少。许多的研究也解释不了深度神经网络。但是,通过对对抗性样本的深入学习,我们或许可以在深度神经网络语义上的内层方面获取一些灵感,并且逐渐找到决策边界。这反过来又可以帮助我们提高神经网络的健壮性和性能,同时提高其可解释性。
二、相关概念及背景介绍
1.深度学习
A.深度学习的主要概念
深度学习是机器学习的一种,它可以让计算机从先前的经验以及知识中去学习,并不依赖于显著式编程,还可以让计算机从原始数据中提取出有效的模式。由于多维性的限制、计算的瓶颈以及专业性知识等种种问题,传统的机器学习算法并不能提取出有效的很具代表性特点的数据模型。深度学习则是通过几个简单的特征来表示一个复杂的概念,从而解决代表性问题。比如,一个以深度学习为基础搭建的图像分类系统是通过描绘一个对象的边缘、纤维、结构来提取一个对象的特征的。
神经网络层是由感知器(人造神经元)的集合组成的。每一个感知器用激励函数将输入值散列成输出值。该函数是一种链式形式:
f(x) = f (k)(· · · f(2)(f(1)(x)))
f(i)就代表了第i层神经网络的激活函数。
卷积神经网络(CNNs)和循环神经网络(DNNs)是目前两种最常用的神经网络结构。CNNs适用于格点化输入数据,RNNs适合处理顺序输入数据以及数据长度可变的情况。RNNs在每一步都会产生输出。
B.深度神经网络的结构
几种在计算机视觉里常用的深度学习结构:LeNet、VGG、AlexNet、GoogleNet、ResNet,从最简单的(最久远的)到最复杂的(最新的)。AlexNet在2012年的ImageNet视觉识别挑战赛上首次证明出深度学习模型可以大幅度地超越传统机器学习算法。这些结构在ImageNet挑战赛上取得了巨大突破,被视为图像分类领域的里程碑。而攻击者经常制造一些对抗性样本来攻击这些基本结构。
C.深度学习标准数据集
计算机视觉中常用的三种数据集:MNIST、CIFAR-10、ImageNet。MNIST数据集主要是识别手写的数字;CIFAR-10和ImageNet数据集是用于图像识别测试。CIFAR-10数据集有十种一共60000小型的32*32的颜色图像组成;ImageNet数据集一共有14,197,122张图像,涵盖1000个种类。正是由于其海量的数据,大多数对抗性方法都是在ImageNet数据集上评测完成的。
机器学习中的对抗性样本及对策
传统机器学习模型中的对抗性样本几十年前就在讨论,因为带有人工干预特性的机器
学习系统就是起初对抗性样本的首选目标。比如,垃圾邮件过滤器、入侵检测系统、生物特征识别系统、诈骗检测系统等。举个例子,垃圾邮件只需要通过增加字符即可躲过检测。
Barrreno呈现了对机器学习安全性问题的最初调查,他们把对机器学习系统的攻击归位了三个衡量维度:(1)影响:攻击是否会损坏训练数据;(2)安全侵犯:该对抗性样本是属于假阳性还是伪阴性;(3)特异性:该攻击是定向性攻击还是范围性攻击。
在传统机器学习中,对抗性样本需要特征提取的知识,但是深度学习通常只需要原始数据输入。在传统机器学习中,不管是攻击还是防御的方法多过多的关注于特性,甚至从一开始的数据收集阶段就是这样的,而且很少关注到人的影响。
这篇文章的重心则更偏向于深度学习系统中的对抗性样本研究。举个例子:使用第三方发布的训练后的图像分类器,用户输入一个图像来获取其类型标签。对抗性图像就是原始干净的图像外带一点扰动,这种改变人眼基本察觉不出来,然而,这些细微的改变却可以误导图像分类器,导致用户得到的是错误的类型标签。用f代表训练后的深度学习模型,用x代表原始输入数据样本,然后生成了对抗性样本x’可以描述成一个最优解问题:
三、对抗性样本生成方法的分类
为了系统化地分析生成对抗性样本的方法,我们把这些方法按照三个维度进行了分类:威胁模型(Threat Model)、扰动(Perturbation)和基准(Benchmark)。
Threat Model(威胁模型):
①对抗性样本只能在测试或者部署阶段攻击。他们只能在测试阶段篡改输入数据,但是不能修改训练过的模型和数据集。对抗性样本可能对受训的模型有一定了解。
②我们只关注那些针对深度神经网络进行的攻击,我们已经证明了对抗性样本对深度神经网络的攻击同样也适用于传统机器学习。
③对抗性样本只关注折衷解决其完整性。完整性是深度学习模型的一个重要特性。我们关注的是那些降低深度学习模型性能的攻击,可能会导致假阳性和伪阴性。
基于不同的脚本、假设和质量要求,攻击者会选取他们需要的属性来定性生成对抗性样本。我们最终将威胁模型分成了四部分:对抗性伪造、对手知识、对抗特异性、攻击频率。
1.威胁模型
A.对抗伪造性
①假阳性:
把阴性的样本误判为阳性。比如:把一个良性的软件误判成了恶意软件,这就是假阳性。
②伪阴性:
把阳性的样本误判为阴性。比如:一个恶意软件并不能被训练模型识别出来。假阴性也叫做机器学习逃避,这种错误经常会出现在对抗性图像中,人们可以识别出来,但是神经网络却识别不出来。
B.对抗者对模型的了解程度
①白盒攻击
这种攻击会认为对抗者清楚掌握了和训练的神经网络模型有关的所有信息,包括训练数据、模型架构、超参数、层级、激励函数、模型权重。很多对抗性样本都是 通过计算模型成分得到的。因为深度神经网络只需要输入一些原始数据而不需要手工提取出特征,并且希望部署成端到端的结构,所以相比于机器学习中的对抗性样本来说,特征选择就没那么必要了。
②黑盒攻击
这种攻击设想的是对抗着没有办法获取到训练的神经网络模型。对抗者其实就充当着一个普通用户,只知道模型的输出。这种假设在攻击在线机器学习服务时很常用。
大多数的对抗性样本攻击都是白盒攻击,然而,它们可以被转化成黑盒攻击,这种对抗性样本的可转化性在VII-A会提到。
C.对抗特异性
①定向攻击
让深度神经网络把输入图像误判为某一种特定的种类。Targeted attacks经常出现在多类分类问题中。比如:对抗者会让图像分类器把所有的对抗性样本都预测成某一种类型;在面部识别系统中,对抗者会把一张陌生的脸伪装成一名授权用户的脸。
②非定向攻击
这种攻击没有给深度神经网络模型的输出指定一个特定的类型输出。对抗性样本的输出可是任意的类型,只要和原始输入数据的输入类型不同就行。比如:对抗者会把一张脸部图误判为一张任意的脸躲过检测。非定向攻击比起定向攻击更容易实现,因为它有更多选择和空间来重塑输出。非定向攻击样本的生成方法一般有两种:1)同时运行几个定向攻击并且从生成结果中选出扰动最小的那一个;2)
最小化得出正确类型的可能性。
D.攻击频率
①一次性攻击
这种一次性攻击只有一次机会去最优化对抗性样本。
②循环攻击
这种攻击会不断更新对抗性样本。循环攻击虽然可以生成性能更好的对抗性样本,但是却需要更多和受害者分类器之间更多的交互,以及花费更多的时间来生成这些样本。
2.扰动
细微的扰动是对抗性样本的前提和基础。对抗性样本旨在和原始样本相近但却能让人们无法识别出来,然后降低深度学习模型的性能。
A.扰动范围
①个体攻击
为每一个干净的输入数据分别增设扰动。
②通用攻击
只会为所有的数据集生成一个通用的扰动,然后这个扰动可以应用到所有的输入数据上。
通用的扰动更容易被部署到现实世界中。当输入样本改变时,扰动不用改变。
B.扰动限制
①最优化扰动
种方法是把扰动的设置当做最优解问题,力求找到最合适的扰动值,会尽可能地缩小扰动以便让人们无法察觉。
②约束扰动
这种方法将扰动视为最优解问题的约束,只要求扰动足够小即可。
C.lp测量法
l0,l2,l∞是三种常用的度量。l0(0范数攻击)会计算出对抗性样本中像素改变的数量;l2(2范数攻击)测量的是对抗性样本和原始样本间的欧几里得距离;l∞(无穷范数攻击)表示的是对抗性样本中所有像素的最大变化。
3.基准
对抗者通过不同的数据集和受害者模型来展示他们的对抗性攻击的性能。这种离散性就会给评估对抗性攻击和测量深度学习模型的健壮性带来困难。
A.数据集
MNIST、CIFAR-10和ImageNet是三种最常用的图像分类数据集。MNIST和CIFAR-10已经被证明了非常容易攻击和防守由于其简单性和小规模,所以ImageNet成为了最好的数据集来评估对抗性攻击。
B.受害者模型
对抗者经常攻击几种众所周知的深度学习模型,比如:LeNet,VGG,AlexNet,GoogLeNet,CaffeNet,ResNet。