物理攻击「损害」深度学习系统,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

相关文章
|
3月前
|
机器学习/深度学习 监控 算法
基于mediapipe深度学习的手势数字识别系统python源码
本内容涵盖手势识别算法的相关资料,包括:1. 算法运行效果预览(无水印完整程序);2. 软件版本与配置环境说明,提供Python运行环境安装步骤;3. 部分核心代码,完整版含中文注释及操作视频;4. 算法理论概述,详解Mediapipe框架在手势识别中的应用。Mediapipe采用模块化设计,包含Calculator Graph、Packet和Subgraph等核心组件,支持实时处理任务,广泛应用于虚拟现实、智能监控等领域。
|
2月前
|
机器学习/深度学习 存储 监控
基于深度学习YOLO框架的城市道路损伤检测与评估项目系统【附完整源码+数据集】
本项目基于深度学习的YOLO框架,成功实现了城市道路损伤的自动检测与评估。通过YOLOv8模型,我们能够高效地识别和分类路面裂缝、井盖移位、坑洼路面等常见的道路损伤类型。系统的核心优势在于其高效性和实时性,能够实时监控城市道路,自动标注损伤类型,并生成损伤评估报告。
142 0
基于深度学习YOLO框架的城市道路损伤检测与评估项目系统【附完整源码+数据集】
|
2月前
|
机器学习/深度学习 自动驾驶 算法
基于深度学习的YOLO框架的7种交通场景识别项目系统【附完整源码+数据集】
在智慧交通和智能驾驶日益普及的今天,准确识别复杂交通场景中的关键元素已成为自动驾驶系统的核心能力之一。传统的图像处理技术难以适应高动态、复杂天气、多目标密集的交通环境,而基于深度学习的目标检测算法,尤其是YOLO(You Only Look Once)系列,因其检测速度快、精度高、可部署性强等特点,在交通场景识别中占据了重要地位。
287 0
基于深度学习的YOLO框架的7种交通场景识别项目系统【附完整源码+数据集】
|
3月前
|
机器学习/深度学习 存储 PyTorch
PyTorch + MLFlow 实战:从零构建可追踪的深度学习模型训练系统
本文通过使用 Kaggle 数据集训练情感分析模型的实例,详细演示了如何将 PyTorch 与 MLFlow 进行深度集成,实现完整的实验跟踪、模型记录和结果可复现性管理。文章将系统性地介绍训练代码的核心组件,展示指标和工件的记录方法,并提供 MLFlow UI 的详细界面截图。
109 2
PyTorch + MLFlow 实战:从零构建可追踪的深度学习模型训练系统
|
7月前
|
机器学习/深度学习 数据可视化 算法
PyTorch生态系统中的连续深度学习:使用Torchdyn实现连续时间神经网络
神经常微分方程(Neural ODEs)是深度学习领域的创新模型,将神经网络的离散变换扩展为连续时间动力系统。本文基于Torchdyn库介绍Neural ODE的实现与训练方法,涵盖数据集构建、模型构建、基于PyTorch Lightning的训练及实验结果可视化等内容。Torchdyn支持多种数值求解算法和高级特性,适用于生成模型、时间序列分析等领域。
352 77
PyTorch生态系统中的连续深度学习:使用Torchdyn实现连续时间神经网络
|
3月前
|
机器学习/深度学习 运维 监控
服务器会“生病”?聊聊深度学习咋当系统“老中医”
服务器会“生病”?聊聊深度学习咋当系统“老中医”
83 0
|
6月前
|
机器学习/深度学习 人工智能 算法
基于Python深度学习的【害虫识别】系统~卷积神经网络+TensorFlow+图像识别+人工智能
害虫识别系统,本系统使用Python作为主要开发语言,基于TensorFlow搭建卷积神经网络算法,并收集了12种常见的害虫种类数据集【"蚂蚁(ants)", "蜜蜂(bees)", "甲虫(beetle)", "毛虫(catterpillar)", "蚯蚓(earthworms)", "蜚蠊(earwig)", "蚱蜢(grasshopper)", "飞蛾(moth)", "鼻涕虫(slug)", "蜗牛(snail)", "黄蜂(wasp)", "象鼻虫(weevil)"】 再使用通过搭建的算法模型对数据集进行训练得到一个识别精度较高的模型,然后保存为为本地h5格式文件。最后使用Djan
360 1
基于Python深度学习的【害虫识别】系统~卷积神经网络+TensorFlow+图像识别+人工智能
|
7月前
|
机器学习/深度学习 人工智能 算法
基于Python深度学习的【蘑菇识别】系统~卷积神经网络+TensorFlow+图像识别+人工智能
蘑菇识别系统,本系统使用Python作为主要开发语言,基于TensorFlow搭建卷积神经网络算法,并收集了9种常见的蘑菇种类数据集【"香菇(Agaricus)", "毒鹅膏菌(Amanita)", "牛肝菌(Boletus)", "网状菌(Cortinarius)", "毒镰孢(Entoloma)", "湿孢菌(Hygrocybe)", "乳菇(Lactarius)", "红菇(Russula)", "松茸(Suillus)"】 再使用通过搭建的算法模型对数据集进行训练得到一个识别精度较高的模型,然后保存为为本地h5格式文件。最后使用Django框架搭建了一个Web网页平台可视化操作界面,
515 11
基于Python深度学习的【蘑菇识别】系统~卷积神经网络+TensorFlow+图像识别+人工智能
|
8月前
|
机器学习/深度学习 监控 算法
基于yolov4深度学习网络的排队人数统计系统matlab仿真,带GUI界面
本项目基于YOLOv4深度学习网络,利用MATLAB 2022a实现排队人数统计的算法仿真。通过先进的计算机视觉技术,系统能自动、准确地检测和统计监控画面中的人数,适用于银行、车站等场景,优化资源分配和服务管理。核心程序包含多个回调函数,用于处理用户输入及界面交互,确保系统的高效运行。仿真结果无水印,操作步骤详见配套视频。
243 18
|
8月前
|
机器学习/深度学习 算法 前端开发
基于Python深度学习果蔬识别系统实现
本项目基于Python和TensorFlow,使用ResNet卷积神经网络模型,对12种常见果蔬(如土豆、苹果等)的图像数据集进行训练,构建了一个高精度的果蔬识别系统。系统通过Django框架搭建Web端可视化界面,用户可上传图片并自动识别果蔬种类。该项目旨在提高农业生产效率,广泛应用于食品安全、智能农业等领域。CNN凭借其强大的特征提取能力,在图像分类任务中表现出色,为实现高效的自动化果蔬识别提供了技术支持。
285 0
基于Python深度学习果蔬识别系统实现

热门文章

最新文章