识别|避免自动驾驶事故,CV领域如何检测物理攻击?(14)


3.1 SentiNet 介绍
本文提出了一种针对视觉领域物理攻击检测的方法:SentiNet 。 SentiNet 的目标是识别会劫持模型预测的对手输入 。 具体而言 , SentiNet 的设计目标是在无需事先了解攻击内容的情况下 , 保护网络免受对抗性样本、触发特洛伊木马和后门的攻击 。 SentiNet 的核心思想是利用对手错误分类行为来检测攻击 。 首先 , SentiNet 使用模型可解释性和对象检测技术从输入场景中提取对模型预测结果影响最大的区域 。 然后 , SentiNet 将这些提取的区域应用于一组良性测试输入 , 并观察模型的行为 。 最后 , SentiNet 使用模糊技术将这些合成行为与模型在良性输入上的已知行为进行比较 , 以确定预测攻击行为 。 SentiNet 完整结构见图 10 。
识别|避免自动驾驶事故,CV领域如何检测物理攻击?
文章图片

图 10. SentiNet 架构概述 。 使用输入的输出和类别生成掩模 , 然后将掩模反馈到模型中以生成用于边界分析和攻击分类的值
3.1.1 对抗性目标定位
本文方法的第一步是在给定的输入上定位可能包含恶意对象的区域 , 即识别输入 x 中有助于模型预测 y 的部分 。 因为物理攻击很小并且是局部的 , 在不包含攻击部分的输入上评估模型可能能够恢复 x 的真实类别 。
分段类别建议 。 本文提出的攻击检测从识别一组可能由模型 f_m 预测的类别开始 。 第一类是实际预测 , 即 y=f_m(x) 。 通过对输入 x 进行分段 , 然后对每个分段上的网络进行评估来识别其他类别 。 Algorithm 1 给出了通过输入分段判断类别的算法 。 可以使用不同的方法分割给定的输入 x , 包括滑动窗口和基于网络的区域建议等 。 本文方法使用了选择性搜索图像分割算法:选择性搜索根据在自然场景中发现的模式和边缘生成区域列表 , 然后 , 对每个给出的分段建议进行评估 , 并返回前 k 个置信度预测 , 其中 k 是 SentiNet 的配置参数 。
识别|避免自动驾驶事故,CV领域如何检测物理攻击?
文章图片

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

推荐阅读