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

   日期:2024-12-27    作者:b1247499 移动:http://mip.riyuangf.com/mobile/quote/58816.html

来源:机器之心

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

作者:奥比中光算法工程师埼玉(CLS 战队)

首次 A-tech 科技精英赛的主题关注「科技的温暖和美好」,以「野生动物保护」作为切入点,选手需要在比赛中,分析检测 34 种可能存在的野生动物,并预测每种野生动物的位置、类别及置信度——数据中包含着大量「非正常图像」。本质上,这是一场对日常 AI 攻防的浓缩「还原」,正是在无数次的 AI 攻防的较量中,AI 安全相关技术也得到长足发展。

计算能力的万亿倍增长使得深度学习在处理各种任务中得到广泛应用,如图像分类、自然语言处理和博弈论。然而研究者发现,现有深度学习算法存在着严重的安全隐患:攻击者可以通过给良性样本添加特定噪声,轻易地欺骗深度学习模型,并且通常不会被人发现。攻击者利用人的视觉和听觉无法感知的扰动,足以使正常训练的模型输出置信度很高的错误预测。这种现象被研究者称为对抗攻击。

也可以说,我们的模型被「骗」了,这激发了人们对对抗技术的广泛兴趣。那么,什么是对抗技术呢?

不过,有矛就有盾,对抗技术包含对抗攻击和对抗防御,它是机器学习与计算机安全技术的结合,是一个新兴的研究领域。以前的机器学习模型在面对攻击者精心设计的对抗攻击时,往往达不到预期的准确度。在实际应用中(如自动驾驶),这种错误的影响可能是致命的。

现有对抗攻击的方法

目前常见的对抗攻击方法一般有以下几种:

1.FGSM(Fast gradient sign method)[5]

这是一种基于梯度生成对抗样本的算法,其训练目标是最大化损失函数 J(x*,y), 以获取对抗样本 x*, 其中 J 是分类算法中衡量分类误差的损失函数,通常取交叉熵损失。最大化 J,即使添加噪声后的样本不再属于 y 类。在整个优化过程中,需满足 L∞约束 ||x*-x||∞ ≤ɛ,即原始样本与对抗样本的误差要在一定范围之内。

x* =x+ɛ*sign(∇xJ(x,y))

其中 sign()是符号函数,括号里面是损失函数对 x 的偏导。

2.Deepfool[6]

是基于超平面分类思想的一种对抗样本生成方法。在二分类问题中,超平面是实现分类的基础,那么要改变某个样本 x 的分类,最小的扰动就是将 x 挪到超平面上,这个距离的代价最小。

3.C&W(Carlini & Wagner)[7]

C&W 算法使用一个变量 w,辅助寻找最小扰动 r_n:

r_n=0.5*(tanh(w+1))-X_n

其中f 被定义为

针对带对抗样本的目标检测领域的研究目前分为两个阵营,即 anchor-based 和 anchor-free, 针对 anchor-based 的对抗攻击方法,如 DAG[2] and UEA[3],以及针对 anchor-free 的对抗攻击方法,如 FLA[4], 在此不过多赘述。

A-tech 大赛中的「进攻」与「防守」

在 A-tech 大赛中, 「野生动物识别战」任务就涉及到了对抗技术。该任务本质上是目标检测任务, 里面大约有 34 种可能存在的野生动物,需要预测每种野生动物的位置、类别及置信度,评测指标为 mAP@50。比赛不仅要看准确度,还要看速度,即比赛最终看的是哪个战队可以在测试集上达到既快又准(即更快的 FPS,更高的 mAP)。

该任务中的数据分为训练集和测试集,其中测试集分为 A 榜和 B 榜。A 榜对选手可见,可以用来测试自己训练的模型的精度,B 榜不可见,成绩与排名以 B 榜排名为准,其中 A 榜和 B 榜独立同分布。

这只是一个目标检测任务吧?如果这样想,你很可能会被「骗」:比赛的训练和测试数据中,含有大量的「非正常图像」。稍不注意,就会掉进主办方设置的陷阱中。野生动物识别战任务中的训练数据是分三批提供的,如下所示:

第二批图像中是添加有水印攻击的图片,如图 4 所示,即在正常的物体上面添加了一些猎枪的水印。如果不注意,我们的模型就会学习到一些不该学习到的特征。

再来看看测试数据,野生动物识别战任务中,A 榜的测试数据包含三部分:

2、有少量水印攻击的图像,如图 7 所示,是水印攻击与雨水的混合图像:

3、有少量对抗样本,如图 8 所示。第一眼看到这种图像时,我也很懵。

面对上面的攻击,为避免我们的模型被「骗」,应该采取怎样的防御策略?

训练集和测试集可视化:这是最重要的方法,只有了解图像的特征,我们才知道应该采取什么样的防御手段去防御。在比赛中,奥比中光团队对训练集和测试集都进行了可视化分析,看了图像之后,计划先跑出 baseline,于是选取了 mmdetection 框架,采用了 res50+CascadeRCNN 的架构,跑出了 53% 的mAP。

应该采用什么方法可视化?只能说,戴上眼镜一张一张地看……

1.测试图像去噪:可视化测试集的时候,我们发现测试集的图像中存在彩色的椒盐噪声,如图 9 所示。于是, 我们在将测试图片输入到模型进行判定之前,先对当前测试图片进行去噪,如中值滤波,剔除其中造成扰动的信息,使其不能对模型造成攻击。

2.训练图像数据增强:训练的时候采用相关的数据增强手段,比如添加常用的数据增强方法,镜像、裁剪、随机变换亮度、对比度、饱和度,随机色度变换等。此外还有一些不太常用的方法,比如 cutout[8]方法,但是需要设置区域的大小范围,否则将整个物体全部遮挡了,训练效果会很差,如图 10 所示,将图中的猎枪水印的影响弱化了;以及将高斯分布中采样出的随机值矩阵加入到训练图像中,也能大大增强模型的泛化能力。

其中第一类方法是目标检测领域里面通用的方法,可以增强模型的泛化能力,比如可以增强模型对强弱光的适应性,这也我们在比赛中采用的方法。而 cutout 方法则对水印攻击有一定的效果,我们可以设置 cutout 的区域范围,尤其可以对第二批获取到的训练数据做 cutout,这样可以削弱水印攻击的效果。而从高斯分布中采样出的随机值矩阵加入到训练图像中则可以针对测试集中的高斯噪声,也具有增强模型泛化能力的效果。

3.生成对抗网络:既然有对抗样本了,很多同学自然而然就会想到 GAN 了。没错,可以训练一种专门去水印的生成对抗网络,用于图像的水印去除。

其实,去水印的目的就是将带水印的图像转变为无水印的图像,这本质上也是一种图像转换任务。因此生成器的输入为带水印的图像,输出为无水印的图像;而判别器用于识别结果到底是原始真实的无水印图像,还是经过生成器生成的无水印图像。通过两者之间不断的对抗训练,生成器生成的无水印图像变得足够「以假乱真」,从而达到理想的去水印效果。如果比赛时间充裕,这是一种很有效的方法。

4.采用两阶段的检测方法:由于两阶段的检测方法在第一阶段不区分类别,只定位位置信息,因此第三批的训练数据可以用于做弱监督的训练,只利用位置信息,不利用类别信息,能够增加模型的回归能力,使其能够定位的更准。

5.多尺度测试:测试的时候采用多尺度测试(可理解为 TTA)。这是一个比赛涨点神器,玩过俄罗斯的套娃吧,就是下图这样的:

6.数据清洗:如果人力与时间充足,可以采用对训练集进行人工数据清洗的方法,不过该方法一般适用于工业界,在比赛期间是否采用该方法,就仁者见仁智者见智了。

结语

以上就是针对 A-tech 比赛中攻击样本的一些防御策略。如果没有这些防御措施,直接拿一个目标检测网络去训练,估计会得到一个比较差的成绩,假如无防御的模型被用于实际的野生动物识别,后果将不堪设想。这次比赛深刻揭示了 AI 安全技术的意义。可以想象,如果在无人驾驶领域或者导弹定位系统中,模型的鲁棒性差或者受到了不可预知的样本攻击,导致出现「误伤」的情况,将有可能带来重大风险。比如曾发生过的无人驾驶汽车撞到行人,着实令人痛心。

从另一方面来看,对抗样本的存在是非常有意义的。它能够让模型看到很多以前它没有见过的样本,是有利于增强模型鲁棒性的。就像 AI 换脸与 AI 鉴伪, 这种道高一尺、魔高一丈的较量不会停止:一场持续的科技竞赛, 必然会呈现攻与防互相促进发展的状态。

团队介绍

作者简介:埼玉,奥比中光算法工程师,在工业界有诸多落地应用,擅长深度学习在行人领域的应用。

导师:小蛮腰,奥比中光研究院 SDK 组负责人。博士毕业于新加坡国立大学,图像识别经验丰富,熟悉深度学习算法,擅长 AI 图像识别、立体视觉。

鸣谢:A-tech 大赛的专家、老师、工作人员以及一同参赛的大佬们。

参考文献:

[1] Wu Z , Lim S N , Davis L , et al. Making an Invisibility Cloak: Real World Adversarial Attacks on Object Detectors[J]. 2019.

[2] Cihang Xie, Jianyu Wang, Zhishuai Zhang, Yuyin Zhou, Lingxi Xie, and Alan Yuille. Adversarial examples for semantic segmentation and object detection. In Proceedings of the IEEE International Conference on Computer Vision (ICCV), pages 1369–1378, 2017.

[3] Xingxing Wei, Siyuan Liang, Ning Chen, and Xiaochun Cao. Transferable adversarial attacks for image and video object detection. In Proceedings of the International Joint Conference on Artificial Intelligence (IJCAI), pages 954–960. AAAI Press, 2019.

[4] Q. Liao et al., "Fast Local Attack: Generating Local Adversarial Examples for Object Detectors," 2020 International Joint Conference on Neural Networks (IJCNN), Glasgow, United Kingdom, 2020, pp. 1-8, doi: 10.1109/IJCNN48605.2020.9206811.

[5] I. Goodfellow, J. Shlens, and C. Szegedy, 「Explaining and harnessing adversarial examples,」 in International Conference on Learning Representations, 2015.

[6] Moosavi-Dezfooli S M , Fawzi A , Frossard P . DeepFool: a simple and accurate method to fool deep neural networks[C]// Computer Vision & Pattern Recognition. IEEE, 2016.

[7] Carlini N, Wagner D. Towards evaluating the robustness of neural networks//Security and Privacy (SP), 2017 IEEE Symposium on. IEEE, 2017: 39-57.


特别提示:本信息由相关用户自行提供,真实性未证实,仅供参考。请谨慎采用,风险自负。


举报收藏 0评论 0
0相关评论
相关最新动态
推荐最新动态
点击排行
{
网站首页  |  关于我们  |  联系方式  |  使用协议  |  隐私政策  |  版权隐私  |  网站地图  |  排名推广  |  广告服务  |  积分换礼  |  网站留言  |  RSS订阅  |  违规举报  |  鄂ICP备2020018471号