物理攻击「损害」深度学习系统,CV、语音领域如何防御?(2)

简介: 物理攻击「损害」深度学习系统,CV、语音领域如何防御?

2.2 对图像物理对抗攻击的防御

2.2.1 图像场景中的防御过程

主要激活模式定位。对于图像物理对抗性攻击的防御,主要依赖于输入模式层面的输入语义不一致。因此,作者采用 CNN 激活可视化方法—类别激活映射(Class Activation Mapping,CAM)来定位输入图像的主要激活源 [8]。令 A_k(x, y) 表示在空间位置 (x, y) 的最后一个卷积层的第 k 个激活值。我们可以计算出最后一个卷积层中空间位置 (x, y) 的所有激活的总和,即:

其中,K 是最后一个卷积层中激活的总数。A_T(x, y)的值越大,表明输入图像中相应空间位置 (x, y) 的激活源对分类结果越重要。

不一致推导。根据初步分析,输入的对抗性补丁比自然输入的语义模式包含更多的高频信息。因此,作者用一系列的变换来转换这些 patterns,如图 6 所示。经过二维快速傅里叶变换(2D-FFT)和二进制转换,我们可以观察到对抗性输入和语义合成输入之间的显著差异。

图 6.  二维快速傅里叶变换后的结果

作者将 S(I_pra, I_ori)替换为 Jaccard 相似性系数(Jaccard Similarity Coefficient,JSC),并提出如下图像不一致性指标:

其中,I_exp 是具有预测类别的合成语义模式,P_pra ∩ P_exp 为 P_pra 和 P_exp 的像素值都等于 1 的像素数。基于上述不一致性指标,作者提出了具体的防御方法,包括自我验证和图像恢复两个阶段。整个过程在图 7 中描述。

图 7. 对抗性补丁攻击防御

检测的自我验证。在自我验证阶段,应用 CAM 来定位每个输入图像中最大模型激活的源头位置。然后对图像进行裁剪,以获得具有最大激活度的 pattern。在语义测试期间,计算 I_pra 和 I_exp 之间的不一致性。如果该不一致性指标高于预定义的阈值,我们认为检测到了一个对抗性输入。

图像的数据恢复。检测到对抗性补丁后,通过直接从原始输入数据中删除补丁的方式来进行图像数据恢复。在该案例中,为了确保轻量级的计算工作量,作者利用最近邻插值 --- 一种简单而有效的图像插值技术来修复图像并消除攻击效果。具体来说,对于对抗性补丁中的每个像素,利用该像素周围八个像素的平均值取代该像素。插值处理后,将恢复的图像反馈给 CNN,再次进行预测。通过以上步骤,我们可以在 CNN 推理过程中保护图像的物理对抗性攻击。

2.3 对音频物理对抗攻击的防御

不一致推导:作者利用预测激活的不一致性来检测音频中的物理对抗性攻击,即,衡量预测类别相同的实际输入和合成数据之间的激活幅度分布不一致性指标。作者利用皮尔逊相关系数(Pearson Correlation Coefficient,PCC)定义不一致度量如下:

其中,I_pra 和 I_exp 分别代表最后一个卷积层对实际输入和合成输入的激活。μ_a 和μ_o 表示 f_pre 和 f_exp 的平均值,σ_pra 和σ_exp 是标准差,E 表示总体期望值。

自我验证的检测。进一步的,将自我验证应用于 CNN 的音频物理对抗性攻击。首先,通过用标准数据集测试 CNN,获得最后一个卷积层中每个可能的输入词的激活值。然后,计算不一致度量指标 D(I_pra, I_exp)。如果模型受到对抗性攻击,D(I_pra, I_exp)会大于预先定义的阈值。作者表示,根据他们用各种攻击进行的初步实验,对抗性输入的 D(I_pra, I_exp)通常大于 0.18,而自然输入的 D(I_pra, I_exp)通常小于 0.1。因此,存在一个很大的阈值范围来区分自然和对抗性的输入音频,这可以有利于我们的准确检测。

音频数据恢复。在确定了对抗性的输入音频后,对这部分音频进行数据恢复以满足后续应用的需要。作者提出了一个新的解决方案—"激活去噪" 作为音频数据的防御方法,其目标是从激活层面消除对抗性影响。激活去噪利用了上述最后一层的激活模式,这些模式与确定的预测标签有稳定的关联性。对抗性音频数据恢复方法如图 8 所示。基于检测结果,我们可以识别错误的预测标签,并在最后一层获得错误类别的标准激活模式。然后我们可以找到具有相同索引的激活。这些激活最可能是由对抗性噪声引起的,并取代了原始激活。因此,通过压制这些激活就可以恢复原始激活。

图 8. 音频对抗性攻击防御

2.4 实验分析

2.4.1 图像场景

在本文实验中,作者使用 Inception-V3 作为基础模型生成对抗性补丁,然后利用由此生成的高迁移性的补丁攻击两个 CNN 模型:VGG-16 和 ResNet-18。然后将本文提出的防御方法应用于所有三个模型,并测试其检测和恢复的成功率。实验中的基准方法是 Patch Masking,这是一种最先进的防御方法[7]。不一致性的阈值设为 0.46。

表 7 给出了总体检测和图像恢复性能。在所有三个模型上,LanCe 的检测成功率始终高于 Patch Masking。进一步,本文提出的图像恢复方法可以帮助纠正预测,在不同的模型上获得了 80.3%~82% 的准确度改进,而 Patch Masking 的改进仅为 78.2% ~79.5%。

表 7. 图像对抗性补丁攻击防御评估

2.4.2 音频场景

对于音频场景,作者在谷歌语音命令数据集上使用命令分类模型(Command Classification Model)进行实验。对抗性检测的不一致性阈值是通过网格搜索得到的,在本实验中设置为 0.11。作为比较,作者重新实现了另外两种最先进的防御方法:Dependency Detection [8]和 Multiversion[9]。

LanCe 对所有的音频物理对抗性攻击都能达到 92% 以上的检测成功率。相比之下,Dependency Detection 平均达到 89% 的检测成功率,而 Multiversion 的平均检测成功率只有 74%。然后,作者评估了 LanCe 的恢复性能。TOP-K 指数中的 K 值被设定为 6。由于 Multiversion[9]不能用于恢复,作者重新实现了另一种方法 Noise Flooding[10]作为比较。作者使用没有数据恢复的原始 CNN 模型作为基线方法。

表 8 给出了整体的音频恢复性能评估。应用本文提出的恢复方法 LanCe 后,预测准确率明显提高,从平均 8% 提高到了平均 85.8%,即恢复准确率为 77.8%。Dependency Detection 和 Noise Flooding 的平均准确率都较低,分别为 74% 和 54%。

表 8. 音频对抗性攻击数据恢复评估

3、SentiNet:针对深度学习系统的物理攻击检测[3]

这篇文章重点关注的是图像处理领域的物理攻击检测问题,具体是指针对图像的局部物理攻击,即将对手区域限制在图像的一小部分,生成 “对抗性补丁” 攻击。这种局部限制有利于设计鲁棒的且物理上可实现的攻击,具体攻击形式可以是放置在视觉场景中的对手对象或贴纸。反过来,这些类型的攻击通常使用无界扰动来确保攻击对角度、照明和其他物理条件的变化具有鲁棒性。局部物理攻击的一个缺点是,它们通常是肉眼可见和可检测的,但在许多情况下,攻击者仍然可以通过在自主环境中部署或伪装这些方式来逃避检测。

图 9 给出一个深度学习系统示例,该系统为人脸识别系统,其作用是解锁移动设备或让用户进入建筑物。场景包括了用户的脸和其他背景对象。传感器可以是返回场景数字图像的相机的 CCD 传感器。图像由预测用户身份的人脸分类器处理。如果用户身份有效,执行器将解锁设备或打开闸门。

图 9. 部署在真实环境中的物理攻击,使用物理模式和对象而不是修改数字图像

3.1 SentiNet 介绍

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

图 10. SentiNet 架构概述。使用输入的输出和类别生成掩模,然后将掩模反馈到模型中以生成用于边界分析和攻击分类的值

3.1.1 对抗性目标定位

本文方法的第一步是在给定的输入上定位可能包含恶意对象的区域,即识别输入 x 中有助于模型预测 y 的部分。因为物理攻击很小并且是局部的,在不包含攻击部分的输入上评估模型可能能够恢复 x 的真实类别。

分段类别建议。本文提出的攻击检测从识别一组可能由模型 f_m 预测的类别开始。第一类是实际预测,即 y=f_m(x)。通过对输入 x 进行分段,然后对每个分段上的网络进行评估来识别其他类别。Algorithm 1 给出了通过输入分段判断类别的算法。可以使用不同的方法分割给定的输入 x,包括滑动窗口和基于网络的区域建议等。本文方法使用了选择性搜索图像分割算法:选择性搜索根据在自然场景中发现的模式和边缘生成区域列表,然后,对每个给出的分段建议进行评估,并返回前 k 个置信度预测,其中 k 是 SentiNet 的配置参数。

掩模生成。针对模型预测的解释和理解问题,在过去几年中已经提出了多种针对性的方法。其中一种方法是 “量化” 输入的单个像素的相关性。这种方法聚焦于单个像素,因此可能会生成非连续像素的掩模。而稀疏掩模则可能会丢失恶意对象的元素,并且不适用于模型测试阶段。另外一种替代方法不在单个像素上操作,而是尝试恢复模型用于识别同类输入的可分性图像区域。但是,其中许多方法需要对基本模型进行修改和微调,例如类别激活映射(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

相关文章
|
7天前
|
机器学习/深度学习 人工智能 算法
海洋生物识别系统+图像识别+Python+人工智能课设+深度学习+卷积神经网络算法+TensorFlow
海洋生物识别系统。以Python作为主要编程语言,通过TensorFlow搭建ResNet50卷积神经网络算法,通过对22种常见的海洋生物('蛤蜊', '珊瑚', '螃蟹', '海豚', '鳗鱼', '水母', '龙虾', '海蛞蝓', '章鱼', '水獭', '企鹅', '河豚', '魔鬼鱼', '海胆', '海马', '海豹', '鲨鱼', '虾', '鱿鱼', '海星', '海龟', '鲸鱼')数据集进行训练,得到一个识别精度较高的模型文件,然后使用Django开发一个Web网页平台操作界面,实现用户上传一张海洋生物图片识别其名称。
88 7
海洋生物识别系统+图像识别+Python+人工智能课设+深度学习+卷积神经网络算法+TensorFlow
|
8天前
|
机器学习/深度学习 人工智能 算法
【昆虫识别系统】图像识别Python+卷积神经网络算法+人工智能+深度学习+机器学习+TensorFlow+ResNet50
昆虫识别系统,使用Python作为主要开发语言。通过TensorFlow搭建ResNet50卷积神经网络算法(CNN)模型。通过对10种常见的昆虫图片数据集('蜜蜂', '甲虫', '蝴蝶', '蝉', '蜻蜓', '蚱蜢', '蛾', '蝎子', '蜗牛', '蜘蛛')进行训练,得到一个识别精度较高的H5格式模型文件,然后使用Django搭建Web网页端可视化操作界面,实现用户上传一张昆虫图片识别其名称。
131 7
【昆虫识别系统】图像识别Python+卷积神经网络算法+人工智能+深度学习+机器学习+TensorFlow+ResNet50
|
8天前
|
机器学习/深度学习 人工智能 算法
【球类识别系统】图像识别Python+卷积神经网络算法+人工智能+深度学习+TensorFlow
球类识别系统,本系统使用Python作为主要编程语言,基于TensorFlow搭建ResNet50卷积神经网络算法模型,通过收集 '美式足球', '棒球', '篮球', '台球', '保龄球', '板球', '足球', '高尔夫球', '曲棍球', '冰球', '橄榄球', '羽毛球', '乒乓球', '网球', '排球'等15种常见的球类图像作为数据集,然后进行训练,最终得到一个识别精度较高的模型文件。再使用Django开发Web网页端可视化界面平台,实现用户上传一张球类图片识别其名称。
101 7
【球类识别系统】图像识别Python+卷积神经网络算法+人工智能+深度学习+TensorFlow
|
22小时前
|
机器学习/深度学习 人工智能 算法
【乐器识别系统】图像识别+人工智能+深度学习+Python+TensorFlow+卷积神经网络+模型训练
乐器识别系统。使用Python为主要编程语言,基于人工智能框架库TensorFlow搭建ResNet50卷积神经网络算法,通过对30种乐器('迪吉里杜管', '铃鼓', '木琴', '手风琴', '阿尔卑斯号角', '风笛', '班卓琴', '邦戈鼓', '卡萨巴', '响板', '单簧管', '古钢琴', '手风琴(六角形)', '鼓', '扬琴', '长笛', '刮瓜', '吉他', '口琴', '竖琴', '沙槌', '陶笛', '钢琴', '萨克斯管', '锡塔尔琴', '钢鼓', '长号', '小号', '大号', '小提琴')的图像数据集进行训练,得到一个训练精度较高的模型,并将其
5 0
【乐器识别系统】图像识别+人工智能+深度学习+Python+TensorFlow+卷积神经网络+模型训练
|
7天前
|
机器学习/深度学习 算法 固态存储
m基于深度学习的卫星遥感图像轮船检测系统matlab仿真,带GUI操作界面
在MATLAB 2022a中,使用GoogLeNet对卫星遥感图像进行轮船检测,展示了高效的目标识别。GoogLeNet的Inception架构结合全局平均池化增强模型泛化性。核心代码将图像切块并分类,预测为轮船的部分被突出显示,体现了深度学习在复杂场景检测中的应用。
30 8
|
11天前
|
机器学习/深度学习 传感器 自动驾驶
基于深度学习的图像识别技术在自动驾驶系统中的应用
【5月更文挑战第50天】 随着人工智能技术的迅猛发展,深度学习已成为推动多个领域进步的关键力量。特别是在图像识别领域,深度学习模型如卷积神经网络(CNN)已表现出超越传统算法的性能。本文将探讨深度学习技术在自动驾驶系统中图像识别的实际应用,分析其在提高道路安全性和车辆自主性方面的潜力,并讨论面临的主要挑战及未来的发展方向。
|
17天前
|
机器学习/深度学习 存储 计算机视觉
基于YOLOv8深度学习的PCB板缺陷检测系统【python源码+Pyqt5界面+数据集+训练代码】目标检测
基于YOLOv8深度学习的PCB板缺陷检测系统【python源码+Pyqt5界面+数据集+训练代码】目标检测
|
3天前
|
机器学习/深度学习 数据采集 算法
m基于Googlenet深度学习的运动项目识别系统matlab仿真,包括GUI界面
**摘要:** 在MATLAB 2022a中,基于GoogLeNet的运动识别系统展示优秀性能。GoogLeNet,又称Inception网络,通过结合不同尺寸卷积核的Inception模块实现深度和宽度扩展,有效识别复杂视觉模式。系统流程包括数据预处理、特征提取(前端层学习基础特征,深层学习运动模式)、池化、Dropout及全连接层分类。MATLAB程序示例展示了选择图像、预处理后进行分类的交互过程。当按下按钮,图像被读取、调整大小并输入网络,最终通过classify函数得到预测标签。
2 0
|
17天前
|
机器学习/深度学习 存储 算法
基于YOLOv8与ByteTrack的车辆行人多目标检测与追踪系统【python源码+Pyqt5界面+数据集+训练代码】深度学习实战、目标追踪、运动物体追踪
基于YOLOv8与ByteTrack的车辆行人多目标检测与追踪系统【python源码+Pyqt5界面+数据集+训练代码】深度学习实战、目标追踪、运动物体追踪
|
17天前
|
机器学习/深度学习 存储 安全
基于YOLOv8深度学习的行人跌倒检测系统【python源码+Pyqt5界面+数据集+训练代码】目标检测
基于YOLOv8深度学习的行人跌倒检测系统【python源码+Pyqt5界面+数据集+训练代码】目标检测