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


识别|避免自动驾驶事故,CV领域如何检测物理攻击?
文章图片

图 5. 图像对抗性补丁攻击
不一致性度量的表述 。 作者进一步定义两个指标来表述上述两个不一致的程度 。
1)输入语义不一致度量:该度量用于衡量非语义对抗性补丁与自然图像的语义局部输入模式之间的输入语义不一致性 。 具体定义为:
识别|避免自动驾驶事故,CV领域如何检测物理攻击?
文章图片

其中 , P_pra 和 P_ori 分别代表来自对抗性输入和原始输入的输入模式(input patterns) 。 Φ:(A_i)^l(p)和Φ:(A_i)^l(o)分别表征由对抗性补丁和原始输入产生的神经元激活的集合 。 R 将神经元的激活映射到主要的局部输入模式 。 S 代表相似性指标 。
2)预测激活不一致度量:第二个不一致度量指标是在激活层面上 , 它用于衡量最后一个卷积层中对抗性输入和原始输入之间的激活幅度分布的不一致性 。 我们也使用一个类似的指标来衡量 , 具体如下:
识别|避免自动驾驶事故,CV领域如何检测物理攻击?
文章图片

其中 , f_pra 和 I_ori 分别代表最后一个卷积层中由对抗性输入和原始输入数据产生的激活的幅度分布 。
对于上述两个不一致度量中使用到的信息 , 我们可以很容易地得到 P_pra 和 f_pra , 因为它们来自于输入数据 。 然而 , 由于自然输入数据的多样性 , P_ori 和 f_ori 并不容易得到 。 因此 , 我们需要合成能够提供输入的语义模式和激活量级分布的标准输入数据 。 可以从标准数据集中获得每个预测类别的合成输入数据 , 以及 , 通过向 CNN 输入一定数量的标准数据集 , 我们可以记录最后一个卷积层的平均激活幅度分布 。 此外 , 我们可以定位每个预测类别的主要输入的语义模式 。
2.1.3 基于 CNN 自我验证和数据恢复的物理对抗性攻击防御
上述两个不一致展示了物理对抗性攻击和自然图像识别之间的区别 , 即输入模式和预测激活 。 通过利用不一致性指标 , 作者提出了一种防御方法 , 其中包括 CNN 决策过程中的自我验证和数据恢复 。 具体来说 , 整个方法流程描述如下 。
自我验证 。 (1)首先将输入项输入到 CNN 推理中 , 获得预测类别结果 。 (2) 接下来 , CNN 可以从实际输入中定位主要激活源 , 并在最后一个卷积层中获得激活 。 (3)然后 , CNN 利用所提出的指标来衡量实际输入与预测类别的合成数据之间的两个不一致指标 。 (4) 一旦任何一个不一致指标超过了给定的阈值 , CNN 将认为该输入是一个对抗性输入 。
数据恢复 。 (5) 在自我验证阶段检测到物理对抗性攻击后 , 进一步应用数据恢复方法来恢复被攻击的输入数据 。 具体来说 , 作者利用图像修复和激活去噪方法分别来恢复输入的图像和音频 。

推荐阅读