避免自动驾驶事故,CV领域如何检测物理攻击?3)

简介: 避免自动驾驶事故,CV领域如何检测物理攻击?

掩模生成。针对模型预测的解释和理解问题,在过去几年中已经提出了多种针对性的方法。其中一种方法是 “量化” 输入的单个像素的相关性。这种方法聚焦于单个像素,因此可能会生成非连续像素的掩模。而稀疏掩模则可能会丢失恶意对象的元素,并且不适用于模型测试阶段。另外一种替代方法不在单个像素上操作,而是尝试恢复模型用于识别同类输入的可分性图像区域。但是,其中许多方法需要对基本模型进行修改和微调,例如类别激活映射(Class Activation Mapping,CAM)[8],这些修改可能会改变模型的行为,甚至包括 SentiNet 执行检测并防止被利用的恶意行为。

作者表示,适合本文目标的方法是 Grad-CAM[9],这是一种模型解释技术,可以识别输入的连续空间区域,而不需要对原始模型进行修改。Grad-CAM 使用网络最后几层计算得到的梯度来计算输入区域的显著性。对于类别 c,Grad-CAM 计算模型输出 y^c 相对于模型最终汇聚层的 k 个特征图 A^k 的梯度(模型对类别 c 的 logit 得分),以得到(δ y^c)/(δ A^k)。每个过滤图的平均梯度值,或 "神经元重要性权重" 记作:



最后,按神经元的重要性加权处理特征图 A^k,并汇总以得到最终的 Grad-CAM 输出:


Grad-CAM 的输出是图像正向重要性的一个粗略热图,由于模型的卷积层和池化层的下采样处理,其分辨率通常比输入图像低。最后,通过对热图进行二值化处理,以最大强度的 15% 为阈值生成掩模。作者使用这个掩模来分割 salient 区域,以便进行下一步的工作。

精确的掩模生成。尽管 Grad-CAM 可以成功地识别与对抗性目标相对应的鉴别性输入区域,但它也可能识别良性的 salient 区域。图 11 给出了一个说明性示例,Grad-CAM 为一个人脸识别网络生成的热图既覆盖了木马的触发补丁,也覆盖了原始的人脸区域。为了提高掩模准确性,作者提出需要对输入图像的选定区域进行额外预测。然后,对于每个预测,使用 Grad-CAM 来提取一个与预测最相关的输入区域的掩模。最后,结合这些额外的掩模来完善初始预测 y 的掩模。

图 11. 上一行:使用渐变 CAM 生成掩模。左图显示了与目标 “0” 类别相关的 Grad-CAM 热图,右图显示了覆盖了物理攻击以外区域的提取掩模。下一行:左图是相对于目标 “0” 类别的 Grad-CAM 热图,该行中间的图是对应于给定类别的 Grad-CAM

一旦得到了图片中可能存在的类别列表,我们就会划出与每个预测类别更相关的区域 x。为简单起见,作者假设每个输入只能包含一个恶意对象。Algorithm 2 给出了从 x 中提取输入区域的过程。


首先,使用 Grad-CAM 对输入的 x 和预测的 y 提取掩模,同时还为每一个建议的类别 y_p 提取一个掩模。在其他的建议类别上执行 Grad-CAM,可以让我们在对抗性攻击之外找到图像的重要区域。此外,由于对抗性区域通常与非目标类别呈负相关性,热图主动避免突出图像的对抗性区域。我们可以使用这些热图来生成二级掩模,通过减去掩模重叠的区域来改进原始掩模。这能够保证掩模只突出局部攻击,而不会突出图像中的其他 salient 区域。由图 11 我们可以看到使用这种方法生成了一个更精确的掩模,其中只包含了大部分对抗性区域。

3.1.2  攻击检测

攻击检测需要两个步骤。首先,如上所述,SentiNet 提取可能包含对抗性补丁的输入区域。然后,SentiNet 在一组良性图像上测试这些区域,以区分对抗性区域和良性区域。

测试- 一旦定位了输入区域,SentiNet 就会观察该区域对模型的影响,以确定该区域是对手的还是良性的。为此,SentiNet 将可疑区域叠加在一组良性测试图像 X 上。将测试图像反馈到网络中,网络计算被欺骗的样本数量并用于对抗性图像。直观地说,可能欺骗模型的变异图像数量越多,疑似区域就越有可能是对抗性攻击。当恢复的掩模较小时,这种反馈技术能有效区分对抗性和良性输入,因为小的良性物体通常不能影响到网络的预测。然而,这种方法的一个问题是,一个覆盖了输入图像较大区域的掩模在叠加到其他图像上时,很可能会造成错误的分类。例如,考虑一个输入图像 x 的较大掩模,当叠加时,掩模内的特征可能比外面的特征相关性更强,这就提高了将变异的测试输入分类为 y 的可能性。为了解决这一问题,作者引入了惰性模式(inert patterns),其作用是抑制掩模内部的特征,从而提高网络对掩模外特征的反应。

检测的决策边界- 有了这两个指标(被欺骗的图像数量和平均惰性模式置信值),我们可以确定在哪些条件下输入的 x 是对抗性的。下一步,作者希望引入一种技术,使我们能够根据攻击无关的指标,将未见过的对抗性输入识别为攻击。图 12 给出一个示例,其中红色的三角点代表的是在对抗性样本中发现的指标,蓝色的圆点是根据清洁样本计算得到的。我们可以看到对抗性样本大多聚集在图中右上角的位置。

图 12. 边界检测示例,左侧,对抗性和良性指标分别被绘制成红色三角形和蓝色圆圈;右侧,来自采样点的曲线建议

作者提出,可以使用在清洁样本上收集到的度量来近似一个曲线,其中位于曲线函数之外的点可以被归类为对抗性攻击。具体的,通过提取 x 间隔的最高 y 值的点来收集目标点,然后使用非线性最小二乘法函数来拟合生成目标曲线。然后,使用近似曲线计算曲线和点之间的距离(使用线性近似的约束优化(the Constrained Optimization by Linear Approximation,COBYLA)方法)并确定该距离是否在由位于曲线之外的清洁样本的距离所估计的阈值之内,来实现对攻击的分类。具体的边界决策过程如 Algorithm 4 所示。


3.2 实验分析

作者利用三个公共可用网络评估 SentiNet,其中包括两个受损网络和一个未受损网络。受损网络包括一个用于阅读标志检测的后门 Faster-RCNN 网络 [11] 以及一个用于人脸识别的 VGG-16 trojaned 网络[12]。未受损网络是在 Imagenet 数据集上训练的 VGG-16 网络[13]。此外,SentiNet 还需要一个良性测试图像集 X 和一个惰性模式 s 来生成决策边界。作者利用实验中所选网络的每个测试集 X 生成良性测试图像集,以及使用随机噪声作为惰性模式。SentiNet 利用 Tensorflow 1.5 为未受损网络、利用 BLVC Caffe 为 trojaned 网络以及利用 Faster-RCNN Caffe 为污染网络生成对抗补丁。为了能够并行生成类别建议,SentiNet 利用了由 Fast RCNN Caffe 版本实现的 ROI 池化层。最后,作者通过收集每次攻击的 TP/TN 和 FP/FN 比率从准确性和性能两个方面衡量 SentiNet 的有效性和鲁棒性。

首先,作者评估了 SentiNet 在保护选定的网络免受三种攻击的有效性,即后门、特洛伊木马触发器和对手补丁。在实验中,分别考虑了引入和未引入掩模改进的效果。对于对抗性补丁攻击,作者考虑了另一种变体,即攻击者同时使用多个补丁。实验整体评估结果见表 9 所示。

表 9. SentiNet 对已知攻击的有效性

接下来,作者考虑攻击者已知 SentiNet 的存在及其工作机制情况下,可能避免 SentiNet 检测的情况。作者具体考虑了 SentiNet 的三个组件的情况:热图建议、类别建议和攻击分类。

1)攻击区域建议(热图建议)
本文方法的关键是能够使用 Grad-CAM 算法成功定位图像中的对抗性区域。Grad-CAM 算法生成 salient 区域的热图进而生成分类结果。一旦攻击破坏了 Grad-CAM 并影响区域的检测和定位,那么框架的后续组件将会失效。Grad-CAM 使用网络反向传播来衡量区域的重要性。因此,理论上我们可以使用有针对性的梯度扰动来修改热图输出。作者通过实验表明,在作者给出的防御背景下,Grad-CAM 对对抗性攻击是稳健的,Grad-CAM 对区域的捕捉能力并不会轻易被操纵。

图 13 左上为一张狗的图像,上面覆盖着一个对抗性补丁。右侧为对目标类别 "toast" 的 Grad-CAM 热图。我们从随机噪声开始,其中没有任何 "toast" 类别的突出区域,对损失函数进行优化输入。图 13 证明了在收敛时生成的噪声的热图输出与原始热图在视觉上是一致的。这表明,Grad-CAM 的输出是可以通过梯度优化来精确操纵的。然而,为了发动这样的有效攻击,攻击者需要在整个图像上添加噪声,这在实际上是不可行的。

攻击者还有一种攻击策略:生成一个误导热图区域(heatmap region misdirection),在该图中增加一个不覆盖对手区域的区域,以扩大捕获的区域或完全规避检测。

攻击者也有可能通过误导热图区域,即热图提出一个不包括对抗区域的区域,以扩大定位的区域或完全避免检测。但是这种操作在对手对整幅图像添加扰动噪声时会失效,所以作者在实验中限定攻击者不能在局部攻击区域之外添加噪声,Grad-CAM 扰动也必须限制在对手区域中。因此,我们要考虑的威胁是攻击者可以在图像的一个区域中增加噪声,从而增加不相交区域中的 Grad-CAM 输出值。由图 13 给出的实验结果,如果噪声区域与我们想要修改的 Grad-CAM 位置重叠,我们就能够成功修改热图。图 13 还显示,如果噪声区域与目标 Grad-CAM 区域不相交,则 Grad-CAM 优化无法实现视觉相似性或与之等效的最终收敛损失。这些实验表明,局部噪声只会影响相应的 Grad-CAM 区域,同时表明不可能发生错误方向的攻击。

图 13. 计算每个输入上标签 “toaster” 的 Grad-CAM。第一行显示叠加在狗图像上的对抗性补丁的 Grad-CAM 输出。第二行为使用梯度扰动再现的 Grad-CAM 输出。第三行显示,如果补丁位于目标热图附近,仍然可以生成类似的热图。第四行显示,如果不能在目标 Grad-CAM 位置上附加干扰噪声,则无法直接影响 Grad-CAM 输出

2)类别建议
类别建议模块是使用选择性搜索(Selective search)和一个根据包含 ROI 池化层的原始网络修改后得到的建议网络。选择性搜索是一种传统的图像处理算法,它使用基于图形的方法根据颜色、形状、纹理和大小分割图像。与 Faster-RCNN 中的网络生成建议机制不同,选择性搜索中不存在会被攻击者扰乱的梯度成分,也不存在会严重限制攻击者攻击机制的会污染的训练过程。本文的选择性搜索算法还设计用于捕获对手类别以外的类别建议,攻击者将无法影响对手区域以外的选择性搜索结果。此外,由于我们的建议网络使用原始网络权重,因此不会在原始网络和建议网络之间产生不同的行为。最后,攻击者攻击网络类别建议过程的动机是有限的,因为成功的攻击将破坏攻击检测的准确性,而不是破坏整个过程。由此,作者得出结论:类别建议机制是鲁棒的,因为各个组件的属性会共同抵抗扰动或污染攻击。

3)攻击分类
最后,通过分析攻击分类的鲁棒性,作者针对决策过程进行了实验论证。本文的分类过程没有使用梯度下降方法进行训练,这就避免了使用梯度扰动来误导分类的可能性。本文使用的阈值是根据可信数据集 X、X 误导概率和 X 平均置信度确定的二维数据点。其中,X 平均置信度利用模式 s 来计算。

如果对手能够操纵模型对惰性模式做出反应,那么他们就可以绕过防御后在良性输入和对手输入之间生成类似的输出。作者通过使用标准随机噪声模式和一个新的棋盘格模式(如图 14 所示),证明了我们可以保证模式 s 的隐私性。由表 9,我们可以看到随机噪声模式和棋盘格模式的 TP 和 TN 率在 ≤0.25% 范围内。此外,防御方始终能够通过使用梯度下降找到惰性模式,以最小化所有类别的响应置信度。只要模式 s 是保密的,SentiNet 的这个组件就是安全的。

图 14. 惰性模式:本文使用的惰性模式为左侧显示的随机噪声;可能使用的另一种模式是右侧的棋盘格模式

如果攻击者使用足够大的补丁,X 上的平均置信度将降低,从而降低防御的有效性。由图 15 可以看出,对于对抗性补丁,攻击的 avgConf 随着补丁大小的增加而下降。通过增加补丁的透明度,我们可以将攻击降低到阈值以下,同时保持非常高的攻击成功率。

图 15. 对抗性补丁大小分析

4、小结

我们在这篇文章中讨论了多媒体领域的物理攻击问题,包括图像领域、音频领域等。与算法攻击相比,在图像或音频上施加物理攻击的难度性低,进一步损害了深度学习技术的实用性和可靠性。我们选择了三篇文章从攻击和防御的角度分别进行了探讨,同时包括了图像领域和音频领域的攻击。由于物理攻击对于人类来说是易于发现的,所以从文章给出的实验结果来看,不同方法的防御效果都不错。不过,几篇文章中谈到的防御都是限定攻击类型的防御,如何对不可知的攻击进行有效防御仍值得进一步研究和探讨。

分析师介绍:Jiying,工学博士,毕业于北京交通大学,曾分别于香港中文大学和香港科技大学担任助理研究员和研究助理,现从事电子政务领域信息化新技术研究工作。主要研究方向为模式识别、计算机视觉,爱好科研,希望能保持学习、不断进步。


本文参考引用的文献[1] Kevin Eykholt; Ivan Evtimov; Earlence Fernandes; Bo Li; Amir Rahmati; Chaowei Xiao; Atul Prakash; Tadayoshi Kohno; Dawn Son,Robust Physical-World Attacks on Deep Learning Visual Classification,CVPR 2018, https://ieeexplore.ieee.org/document/8578273https://robohub.org/physical-adversarial-examples-against-deep-neural-networks/[2] Zirui Xu,Fuxun Yu; Xiang Chen,LanCe: A Comprehensive and Lightweight CNN Defense Methodology against Physical Adversarial Attacks on Embedded Multimedia Applications,25th Asia and South Pacific Design Automation Conference (ASP-DAC),2020,https://ieeexplore.ieee.org/document/9045584[3] Chou E , F Tramèr, Pellegrino G . SentiNet: Detecting Physical Attacks Against Deep Learning Systems. 2020. https://arxiv.org/abs/1812.00292[4] A. Kurakin, I. Goodfellow, and S. Bengio. Adversarial examples in the physical world. arXiv preprint arXiv:1607.02533, 2016.[5] K. Eykholt, I. Evtimov, E. Fernandes, B. Li, D. Song, T. Kohno, A. Rahmati, A. Prakash, and F. Tramer. Note on Attacking Object Detectors with Adversarial Stickers. Dec. 2017.[6] I. Goodfellow and et al., “Explaining and harnessing adversarial examples,” arXiv preprint arXiv:1412.6572, 2014.[7] J. Hayes, “On visible adversarial perturbations & digital watermarking,” in Proc. of CVPR Workshops, 2018, pp. 1597–1604.[8] Z. Yang and et al., “Characterizing audio adversarial examples using temporal dependency,” arXiv preprint arXiv:1809.10875, 2018.[9] Q. Zeng and et al., “A multiversion programming inspired approach to detecting audio adversarial examples,” arXiv preprint arXiv:1812.10199, 2018.[10] K. Rajaratnam and et al., “Noise flooding for detecting audio adversarial examples against automatic speech recognition,” in Proc. of ISSPIT, 2018, pp. 197–201.[11] T. Gu, B. Dolan-Gavitt, and S. Garg, “Badnets: Identifying vulnerabilities in the machine learning model supply chain,” CoRR, vol. abs/1708.06733, 2017. [Online]. Available: http://arxiv.org/abs/1708.06733[12] Y. Liu, S. Ma, Y. Aafer, W.-C. Lee, J. Zhai, W. Wang, and X. Zhang, “Trojaning attack on neural networks,” in NDSS, 2018.[13] K. Simonyan and A. Zisserman, “Very deep convolutional networks for large-scale image recognition,” CoRR, vol. abs/1409.1556, 2014. [Online]. Available: http://arxiv.org/abs/1409.1556

相关文章
|
6月前
|
机器学习/深度学习 监控 算法
基于脑电功率的疲劳驾驶检测研究_kaic
基于脑电功率的疲劳驾驶检测研究_kaic
|
11月前
|
计算机视觉
计算机视觉:驾驶员疲劳检测(一)
计算机视觉:驾驶员疲劳检测
149 0
|
11月前
|
计算机视觉
计算机视觉:驾驶员疲劳检测(二)
计算机视觉:驾驶员疲劳检测(二)
214 0
|
机器学习/深度学习 传感器 算法
避免自动驾驶事故,CV领域如何检测物理攻击?(1)
避免自动驾驶事故,CV领域如何检测物理攻击?
171 0
|
机器学习/深度学习 传感器 数据可视化
避免自动驾驶事故,CV领域如何检测物理攻击?(2)
避免自动驾驶事故,CV领域如何检测物理攻击?
132 0
|
机器学习/深度学习 算法 安全
物理攻击「损害」深度学习系统,CV、语音领域如何防御?(3)
物理攻击「损害」深度学习系统,CV、语音领域如何防御?
158 0
|
机器学习/深度学习 传感器 编解码
物理攻击「损害」深度学习系统,CV、语音领域如何防御?(2)
物理攻击「损害」深度学习系统,CV、语音领域如何防御?
222 0
|
机器学习/深度学习 传感器 数据可视化
物理攻击「损害」深度学习系统,CV、语音领域如何防御?(1)
物理攻击「损害」深度学习系统,CV、语音领域如何防御?
135 0
|
机器学习/深度学习 自动驾驶 算法
自动驾驶汽车的车道检测
自动驾驶汽车的车道检测
197 0
自动驾驶汽车的车道检测
|
机器学习/深度学习 人工智能 算法
口罩检测算法研究现状
近年来,随着人工智能的快速发展,基于深度学习的目标检测算法有着越来越广泛的应用,由于深度学习算法在真实环境中的鲁棒性远超过传统视觉算法,更适合应对现实环境中的各种复杂情况。
1691 0
口罩检测算法研究现状