当前位置: 首页 > 科技观察

AI模型怎么会被骗?《燃烧吧!天才程序员》冠军团队解决方案

时间:2023-03-13 21:01:59 科技观察

前段时间,一档名为《燃烧吧!天才程序员》的竞赛综艺节目让这群“程序员”成功破圈,同时也呈现了AI在解决实际问题的过程中面临的一些问题问题。挑战,例如数据集中的对抗样本、图像中的噪声等。在这篇文章中,CLS团队(比赛中的顶级团队)的优秀选手、ObiZhongguang的算法工程师Saitama详细解释了他们的解决方案在比赛中使用。近日,由蚂蚁集团、清华大学等单位联合举办的首届“包容|A-tech科技精英大赛”(以下简称A-tech大赛)圆满落下帷幕。奥秘中广科技集团有限公司(以下简称“奥秘中广”)研究院SDK组长肖曼尧、算法工程师埼玉(均为化名)从全球20位优秀AI工程师和网络安全极客中脱颖而出玩家并与您的队友一起赢得比赛的第一名。首届A-tech科技精英赛主题围绕“科技的温暖与美好”,以“野生动物保护”为切入点。参赛选手需要对比赛中可能存在的34种野生动物进行分析检测,并对每一种野生动物进行预测。数据的位置、类别和置信度——数据中包含大量“异常图像”。本质上,这是对日常AI攻防的浓缩“还原”。正是在无数次的AI攻防较量中,AI安全相关技术也取得了长足的进步。计算能力的万亿倍增长使得深度学习被广泛应用于各种任务,例如图像分类、自然语言处理和博弈论。然而,研究人员发现,现有的深度学习算法存在严重的安全隐患:攻击者可以通过在良性样本中加入特定的噪声,轻松欺骗深度学习模型,而且通常不易被发现。攻击者使用人类视觉和听觉无法察觉的扰动,足以使经过正常训练的模型输出具有高度置信度的错误预测。这种现象被研究人员称为对抗性攻击。也可以说我们的模型被“愚弄”了,这激发了人们对对抗技术的广泛兴趣。那么,什么是反制技术呢?举几个例子,如图1[1]所示,穿着一件有特殊图案的T恤可以使目前大部分的行人检测器失效;给图2左边的大熊猫加了一个小的干扰噪声[2],虽然生成的图像看起来和原图没什么区别,但是导致系统误认为是长臂猿的照片。图1[1]图2[2]然而,有矛必有盾。对抗性技术包括对抗性攻击和对抗性防御。它是机器学习和计算机安全技术的结合,是一个新兴的研究领域。面对攻击者精心设计的对抗性攻击,以前的机器学习模型往往达不到预期的准确性。在自动驾驶等实际应用中,此类错误的影响可能是致命的。现有的对抗性攻击方法目前常见的对抗性攻击方法一般有以下几种:1.FGSM(Fastgradientsignmethod)[5]这是一种基于梯度生成对抗性样本的算法,其训练目标是最大化损失函数J(x*,y),得到对抗样本x*,其中J是分类算法中用来衡量分类误差的损失函数,通常取交叉熵损失。即使添加噪声的样本不再属于y类,也会最大化J。在整个优化过程中,需要满足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]和UEA[3],以及针对anchor-based的Free反击FLA[4]等方法在此不再赘述。A-tech比赛中的“攻”与“守”在A-tech比赛中,“野生动物识别战”的任务涉及对抗技术。这个任务本质上是一个目标检测任务。里面大约有34种可能的野生动物。需要预测每只野生动物的位置、类别和置信度。评价指标为mAP@50。比赛不仅要看准确率,还要看速度,也就是说,比赛最终要看哪支队伍能在测试集上做到既快又准(即更快的FPS,更高的mAP)。本任务中的数据分为训练集和测试集,测试集分为A表和B表。A列表对玩家可见,可以用来测试自己训练的模型的准确率。B列表不可见。结果和排名以B榜单为准,A榜单和B榜单独立同分布。这只是一个物体检测任务,对吧?如果你这样想,你很可能会被“骗”:比赛的训练和测试数据中包含大量的“异常图像”。一不小心,就会落入主办方设下的圈套。WildlifeRecognitionWarfare任务中的训练数据分三批提供,如下:第一批是正常图像,如图3所示。虽然这些图像看起来很正常,但它们也有“坑”,它们的标签是离散的,也就是说,同一图像的多个标签分散在多个相同的图像上。参赛者需要根据图片的md5找出哪些图片和标签可以合并。图3中的第二批图像是添加了水印攻击的图片,如图4所示,即在正常物体上添加了一些霰弹枪的水印。如果我们不注意,我们的模型会学习到一些不应该学习的特征。图4中的第三批图像是对抗样本。其中一半是没有类别标签但有位置信息的正常图像,另一半是没有类别标签但有位置信息的对抗样本图像,如图5所示:图5再来看看测试数据,野生动物recognitionbattle任务中,A表的测试数据包括三部分:1.图像中存在自然噪声,如雨水、椒盐、高斯等,如图6;图62,有少量水印攻击的图像,如图7,是水印攻击和雨水的混合图像:图73,有少量的对抗样本,如图8。当我第一次看到这个图,我也是一头雾水。图8面对上述攻击,我们应该采取什么样的防御策略来避免我们的模型被“骗”?训练集和测试集的可视化:这是最重要的方法。只有了解了图像的特点,才能知道应该采用什么样的防御方法进行防御。比赛过程中,奥秘中广团队对训练集和测试集都进行了可视化分析。看到图像后,他们打算先跑出baseline,所以选择了mmdetection框架,采用了res50+CascadeRCNN架构,跑出了53%的mAP。可视化应该用什么方法?只能说是戴眼镜一个一个看...1.测试图像去噪:在对测试集进行可视化时,我们发现测试集的图像中存在彩色椒盐噪声,如图9.因此,在将测试图片输入模型进行判断之前,我们先对当前的测试图片进行去噪,如中值滤波等,去除干扰信息,使其无法对模型进行攻击。这种方法可以抵御测试集中的自然噪声。注意内核不要太大,否则测试时间会过长。实验中,测试内核为5时效果最好,mAP提升了8个点左右。图92.训练图像数据增强:在训练时使用相关的数据增强方法,如加入常用的数据增强方法,镜像、裁剪、亮度、对比度、饱和度随机变换、随机色度变换等。此外,还有一些较少常用的方法,比如cutout[8]方法,但是需要设置区域的大小范围,否则整个物体会被完全遮挡,训练效果会很差。如图10所示,图中shotgun水印的影响减弱了;将高斯分布采样的随机值矩阵加入到训练图像中,也可以大大增强模型的泛化能力。图10中,第一类方法是目标检测领域常用的方法,可以增强模型的泛化能力,比如可以增强模型对强弱光的适应性,也就是我们在比赛中使用的方法。抠图方法对水印攻击有一定的效果。我们可以设置裁剪区域范围,特别是对于第二批得到的训练数据,可以削弱水印攻击的效果。将高斯分布采样的随机值矩阵加入到训练图像中,可以针对测试集中的高斯噪声,也具有增强模型泛化能力的效果。3、生成对抗网络:既然有了对抗样本,很多同学自然会想到GAN。没错,你可以训练一种专门去水印的生成对抗网络来进行图片去水印。其实去水印的目的就是将有水印的图像转换成没有水印的图像,本质上是一个图像转换任务。因此,生成器的输入是水印图像,输出是无水印图像;鉴别器用于识别结果是原始真实无水印图像还是生成器生成的无水印图像。通过两者不断的对抗训练,生成器生成的无水印图像变得足以“以假乱真”,从而达到理想的去水印效果。如果有足够的游戏时间,这是一种有效的方法。4.采用两阶段检测方法:由于两阶段检测方法在第一阶段不区分类别,只定位位置信息,所以第三批训练数据可以用于弱监督训练,只使用位置信息,不使用类别信息可以增加模型的回归能力,使其能够更准确地定位。5.Multi-scaletesting:采用Multi-scaletesting(理解为TTA)进行测试。这是比赛的神器。我玩过俄罗斯套娃。如下图所示:6.数据清洗:如果人力和时间充足,可以采用人工对训练集进行数据清洗的方法,但这种方法普遍适用于工业界,是否在开发过程中采用这种方法竞争是见仁见智的事情。结论以上是针对A-tech比赛中攻击样本的一些防御策略。如果没有这种防御措施,如果直接用一个目标检测网络来训练,估计会得到比较差的结果。如果将不设防的模型用于实际的野生动物识别,后果不堪设想。本次大赛深刻揭示了AI安全技术的重要意义。可以想象,如果在无人驾驶或导弹定位系统领域,模型鲁棒性差或受到不可预知的样本攻击,造成“误伤”,可能会带来重大风险。比如曾经发生过无人车撞行人的事情,真是让人痛心。另一方面,对抗样本的存在是非常有意义的。它可以让模型看到很多之前没有看到的样本,有利于增强模型的鲁棒性。就像AI换脸、AI造假一样,这种一尺高与一尺高的较量是不会停止的:持续不断的技术比拼,必然会呈现出一种攻守相互促进发展的状态。团队介绍作者简介:埼玉,欧比中光算法工程师,在业界有很多落地应用,擅长深度学习在行人领域的应用。导师:奥秘中光研究院SDK组组长肖曼尧。新加坡国立大学博士毕业,在图像识别方面有丰富的经验,熟悉深度学习算法,擅长AI图像识别和立体视觉。致谢:本次A-tech大赛的专家、老师、工作人员以及一起参赛的大佬们。参考文献:[1]WuZ,LimSN,DavisL,etal.制作隐形斗篷:现实世界中对物体检测器的对抗性攻击[J]。2019.[2]CihangXie、JianyuWang、ZhishuaiZhang、YuyinZhou、LingxiXie和AlanYuille。语义分割和对象检测的对抗样本。在IEEE国际计算机视觉会议(ICCV)的会议记录中,第1369–1378页,2017年[3]XingxingWei、SiyuanLiang、NingChen和XiaochunCao。用于图像和视频对象检测的可转移对抗攻击。在国际人工智能联合会议(IJCAI)会议记录中,第954-960页。AAAI出版社,2019.[4]Q.Liao等人,“快速本地攻击:为对象检测器生成本地对抗示例”,2020年国际神经网络联合会议(IJCNN),英国格拉斯哥,2020年,第1-8页,doi:10.1109/IJCNN48605.2020.9206811.[5]I.Goodfellow、J.Shlens和C.Szegedy,“解释ingandharizingadversarialexamples,”inInternationalConferenceonLearningRepresentations,2015.[6]Moosavi-DezfooliSM、FawziA、FrossardP。DeepFool:一种简单而准确的愚弄深度神经网络的方法[C]//ComputerVision&PatternRecognition.IEEE,2016.[7]CarliniN,WagnerD.Towardsevaluatingtherobustnessofneuralnetworks//SecurityandPrivacy(SP),2017IEEE研讨会。IEEE,2017:39-57.[8]特伦斯·德弗里斯和格雷厄姆·W·泰勒。改进了带切口的卷积神经网络的正则化。CoRR,abs/1708.04552,2017年。