作者:奥比中光算法工程师埼玉(CLS战队)
计算能力的万亿倍增长使得深度学习在处理各种任务中得到广泛应用,如图像分类、自然语言处理和博弈论。然而研究者发现,现有深度学习算法存在着严重的安全隐患:攻击者可以通过给良性样本添加特定噪声,轻易地欺骗深度学习模型,并且通常不会被人发现。攻击者利用人的视觉和听觉无法感知的扰动,足以使正常训练的模型输出置信度很高的错误预测。这种现象被研究者称为对抗攻击。
也可以说,我们的模型被「骗」了,这激发了人们对对抗技术的广泛兴趣。那么,什么是对抗技术呢?
举几个例子,如图1所示[1],穿特殊图案的T恤可以使目前大部分行人检测器失效;给图2[2]中左边的大熊猫添加一个很小的干扰噪声,虽然生成的图片看起来和原始的没有什么区别,但是却会导致系统将其误认为是长臂猿的照片。
图1[1]
图2[2]
不过,有矛就有盾,对抗技术包含对抗攻击和对抗防御,它是机器学习与计算机安全技术的结合,是一个新兴的研究领域。以前的机器学习模型在面对攻击者精心设计的对抗攻击时,往往达不到预期的准确度。在实际应用中(如自动驾驶),这种错误的影响可能是致命的。
现有对抗攻击的方法
目前常见的对抗攻击方法一般有以下几种:
1.FGSM(Fastgradientsignmethod)[5]
这是一种基于梯度生成对抗样本的算法,其训练目标是最大化损失函数J(x*,y),以获取对抗样本x*,其中J是分类算法中衡量分类误差的损失函数,通常取交叉熵损失。最大化J,即使添加噪声后的样本不再属于y类。在整个优化过程中,需满足L∞约束||x*-x||∞≤,即原始样本与对抗样本的误差要在一定范围之内。
x*=x+*sign(xJ(x,y))
其中sign()是符号函数,括号里面是损失函数对x的偏导。
2.Deepfool[6]
是基于超平面分类思想的一种对抗样本生成方法。在二分类问题中,超平面是实现分类的基础,那么要改变某个样本x的分类,最小的扰动就是将x挪到超平面上,这个距离的代价最小。
多分类的问题也类似。具体如下图所示,Deepfool通过迭代计算的方法生成最小规范对抗扰动,将位于分类边界内的图像逐步推到边界外,直到出现错误分类。此方法生成的扰动比FGSM更小,同时有相似的欺骗率。
3.C&W(Carlini&Wagner)[7]
C&W算法使用一个变量w,辅助寻找最小扰动r_n:
r_n=0.5*(tanh(w+1))-X_n
基于w可以写出C&W优化过程的损失函数:
其中f被定义为
目前对抗攻击领域的研究大多是针对图像分类领域,如上述介绍的几种方法。而针对目标检测的研究相对较少,且不同的攻击技术需要采用不同的策略去防御,即对症下药。
针对带对抗样本的目标检测领域的研究目前分为两个阵营,即anchor-based和anchor-free,针对anchor-based的对抗攻击方法,如DAG[2]andUEA[3],以及针对anchor-free的对抗攻击方法,如FLA[4],在此不过多赘述。
A-tech大赛中的「进攻」与「防守」
在A-tech大赛中,「野生动物识别战」任务就涉及到了对抗技术。该任务本质上是目标检测任务,里面大约有34种可能存在的野生动物,需要预测每种野生动物的位置、类别及置信度,评测指标为mAP@50。比赛不仅要看准确度,还要看速度,即比赛最终看的是哪个战队可以在测试集上达到既快又准(即更快的FPS,更高的mAP)。
该任务中的数据分为训练集和测试集,其中测试集分为A榜和B榜。A榜对选手可见,可以用来测试自己训练的模型的精度,B榜不可见,成绩与排名以B榜排名为准,其中A榜和B榜独立同分布。
这只是一个目标检测任务吧?如果这样想,你很可能会被「骗」:比赛的训练和测试数据中,含有大量的「非正常图像」。稍不注意,就会掉进主办方设置的陷阱中。野生动物识别战任务中的训练数据是分三批提供的,如下所示:
第一批为正常的图像,如图3所示。这些图像虽然看起来正常,但是也有「坑」,其标签是离散的,也就是说,将同一张图像的多个标签分散在了多张一模一样的图像上。参赛者需要根据图像的md5来找出哪些图像和标签是可以合并的。
图3
第二批图像中是添加有水印攻击的图片,如图4所示,即在正常的物体上面添加了一些猎枪的水印。如果不注意,我们的模型就会学习到一些不该学习到的特征。
图4
第三批图像中便是对抗样本了。其中一半,是不带类别标签但有位置信息的正常图片,另一半是不带类别标签但有位置信息的对抗样本图像,如图5所示:
图5
再来看看测试数据,野生动物识别战任务中,A榜的测试数据包含三部分:
1、图像里面有自然噪声,比如雨、椒盐、高斯等,如图6所示:
图6
2、有少量水印攻击的图像,如图7所示,是水印攻击与雨水的混合图像:
图7
3、有少量对抗样本,如图8所示。第一眼看到这种图像时,我也很懵。
图8
面对上面的攻击,为避免我们的模型被「骗」,应该采取怎样的防御策略?
训练集和测试集可视化:这是最重要的方法,只有了解图像的特征,我们才知道应该采取什么样的防御手段去防御。在比赛中,奥比中光团队对训练集和测试集都进行了可视化分析,看了图像之后,计划先跑出baseline,于是选取了mmdetection框架,采用了res50+CascadeRCNN的架构,跑出了53%的mAP。
应该采用什么方法可视化?只能说,戴上眼镜一张一张地看……
1.测试图像去噪:可视化测试集的时候,我们发现测试集的图像中存在彩色的椒盐噪声,如图9所示。于是,我们在将测试图片输入到模型进行判定之前,先对当前测试图片进行去噪,如中值滤波,剔除其中造成扰动的信息,使其不能对模型造成攻击。
图9
图10
其中第一类方法是目标检测领域里面通用的方法,可以增强模型的泛化能力,比如可以增强模型对强弱光的适应性,这也我们在比赛中采用的方法。而cutout方法则对水印攻击有一定的效果,我们可以设置cutout的区域范围,尤其可以对第二批获取到的训练数据做cutout,这样可以削弱水印攻击的效果。而从高斯分布中采样出的随机值矩阵加入到训练图像中则可以针对测试集中的高斯噪声,也具有增强模型泛化能力的效果。
3.生成对抗网络:既然有对抗样本了,很多同学自然而然就会想到GAN了。没错,可以训练一种专门去水印的生成对抗网络,用于图像的水印去除。
4.采用两阶段的检测方法:由于两阶段的检测方法在第一阶段不区分类别,只定位位置信息,因此第三批的训练数据可以用于做弱监督的训练,只利用位置信息,不利用类别信息,能够增加模型的回归能力,使其能够定位的更准。
5.多尺度测试:测试的时候采用多尺度测试(可理解为TTA)。这是一个比赛涨点神器,玩过俄罗斯的套娃吧,就是下图这样的:
结语
以上就是针对A-tech比赛中攻击样本的一些防御策略。如果没有这些防御措施,直接拿一个目标检测网络去训练,估计会得到一个比较差的成绩,假如无防御的模型被用于实际的野生动物识别,后果将不堪设想。这次比赛深刻揭示了AI安全技术的意义。可以想象,如果在无人驾驶领域或者导弹定位系统中,模型的鲁棒性差或者受到了不可预知的样本攻击,导致出现「误伤」的情况,将有可能带来重大风险。比如曾发生过的无人驾驶汽车撞到行人,着实令人痛心。
从另一方面来看,对抗样本的存在是非常有意义的。它能够让模型看到很多以前它没有见过的样本,是有利于增强模型鲁棒性的。就像AI换脸与AI鉴伪,这种道高一尺、魔高一丈的较量不会停止:一场持续的科技竞赛,必然会呈现攻与防互相促进发展的状态。
团队介绍
作者简介:埼玉,奥比中光算法工程师,在工业界有诸多落地应用,擅长深度学习在行人领域的应用。
导师:小蛮腰,奥比中光研究院SDK组负责人。博士毕业于新加坡国立大学,图像识别经验丰富,熟悉深度学习算法,擅长AI图像识别、立体视觉。
鸣谢:A-tech大赛的专家、老师、工作人员以及一同参赛的大佬们。
参考文献:
[1]WuZ,LimSN,DavisL,etal.MakinganInvisibilityCloak:RealWorldAdversarialAttacksonObjectDetectors[J].2019.
[2]CihangXie,JianyuWang,ZhishuaiZhang,YuyinZhou,LingxiXie,andAlanYuille.Adversarialexamplesforsemanticsegmentationandobjectdetection.InProceedingsoftheIEEEInternationalConferenceonComputerVision(ICCV),pages1369–1378,2017.
[3]XingxingWei,SiyuanLiang,NingChen,andXiaochunCao.Transferableadversarialattacksforimageandvideoobjectdetection.InProceedingsoftheInternationalJointConferenceonArtificialIntelligence(IJCAI),pages954–960.AAAIPress,2019.
[5]I.Goodfellow,J.Shlens,andC.Szegedy,「Explainingandharnessingadversarialexamples,」inInternationalConferenceonLearningRepresentations,2015.
[6]Moosavi-DezfooliSM,FawziA,FrossardP.DeepFool:asimpleandaccuratemethodtofooldeepneuralnetworks[C]//ComputerVision&PatternRecognition.IEEE,2016.
[7]CarliniN,WagnerD.Towardsevaluatingtherobustnessofneuralnetworks//SecurityandPrivacy(SP),2017IEEESymposiumon.IEEE,2017:39-57.
[8]TerranceDeVriesandGrahamWTaylor.Improvedregularizationofconvolutionalneuralnetworkswithcutout.CoRR,abs/1708.04552,2017.