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

相关文章
|
12天前
|
机器学习/深度学习 人工智能 算法
猫狗宠物识别系统Python+TensorFlow+人工智能+深度学习+卷积网络算法
宠物识别系统使用Python和TensorFlow搭建卷积神经网络,基于37种常见猫狗数据集训练高精度模型,并保存为h5格式。通过Django框架搭建Web平台,用户上传宠物图片即可识别其名称,提供便捷的宠物识别服务。
153 55
|
1月前
|
机器学习/深度学习 数据采集 供应链
使用Python实现智能食品安全追溯系统的深度学习模型
使用Python实现智能食品安全追溯系统的深度学习模型
65 4
|
22天前
|
机器学习/深度学习 人工智能 算法
【宠物识别系统】Python+卷积神经网络算法+深度学习+人工智能+TensorFlow+图像识别
宠物识别系统,本系统使用Python作为主要开发语言,基于TensorFlow搭建卷积神经网络算法,并收集了37种常见的猫狗宠物种类数据集【'阿比西尼亚猫(Abyssinian)', '孟加拉猫(Bengal)', '暹罗猫(Birman)', '孟买猫(Bombay)', '英国短毛猫(British Shorthair)', '埃及猫(Egyptian Mau)', '缅因猫(Maine Coon)', '波斯猫(Persian)', '布偶猫(Ragdoll)', '俄罗斯蓝猫(Russian Blue)', '暹罗猫(Siamese)', '斯芬克斯猫(Sphynx)', '美国斗牛犬
122 29
【宠物识别系统】Python+卷积神经网络算法+深度学习+人工智能+TensorFlow+图像识别
|
23天前
|
机器学习/深度学习 算法 前端开发
基于Python深度学习的果蔬识别系统实现
果蔬识别系统,主要开发语言为Python,基于TensorFlow搭建ResNet卷积神经网络算法模型,通过对12种常见的果蔬('土豆', '圣女果', '大白菜', '大葱', '梨', '胡萝卜', '芒果', '苹果', '西红柿', '韭菜', '香蕉', '黄瓜')图像数据集进行训练,最后得到一个识别精度较高的模型文件。再基于Django框架搭建Web网页端可视化操作界面,以下为项目实现介绍。
37 4
基于Python深度学习的果蔬识别系统实现
|
1月前
|
机器学习/深度学习 人工智能 算法
基于Python深度学习的【垃圾识别系统】实现~TensorFlow+人工智能+算法网络
垃圾识别分类系统。本系统采用Python作为主要编程语言,通过收集了5种常见的垃圾数据集('塑料', '玻璃', '纸张', '纸板', '金属'),然后基于TensorFlow搭建卷积神经网络算法模型,通过对图像数据集进行多轮迭代训练,最后得到一个识别精度较高的模型文件。然后使用Django搭建Web网页端可视化操作界面,实现用户在网页端上传一张垃圾图片识别其名称。
84 0
基于Python深度学习的【垃圾识别系统】实现~TensorFlow+人工智能+算法网络
|
1月前
|
机器学习/深度学习 人工智能 算法
基于深度学习的【蔬菜识别】系统实现~Python+人工智能+TensorFlow+算法模型
蔬菜识别系统,本系统使用Python作为主要编程语言,通过收集了8种常见的蔬菜图像数据集('土豆', '大白菜', '大葱', '莲藕', '菠菜', '西红柿', '韭菜', '黄瓜'),然后基于TensorFlow搭建卷积神经网络算法模型,通过多轮迭代训练最后得到一个识别精度较高的模型文件。在使用Django开发web网页端操作界面,实现用户上传一张蔬菜图片识别其名称。
95 0
基于深度学习的【蔬菜识别】系统实现~Python+人工智能+TensorFlow+算法模型
|
1月前
|
机器学习/深度学习 数据采集 存储
使用Python实现智能农业灌溉系统的深度学习模型
使用Python实现智能农业灌溉系统的深度学习模型
220 6
|
28天前
|
机器学习/深度学习 人工智能 TensorFlow
探索深度学习与计算机视觉的融合:构建高效图像识别系统
探索深度学习与计算机视觉的融合:构建高效图像识别系统
46 0
|
1月前
|
机器学习/深度学习 数据采集 算法
利用深度学习优化图像识别系统的性能
利用深度学习优化图像识别系统的性能
44 0
|
1月前
|
安全 搜索推荐 机器学习/深度学习
AI赋能教育:深度学习在个性化学习系统中的应用
【10月更文挑战第26天】在人工智能的推动下,个性化学习系统逐渐成为教育领域的重要趋势。深度学习作为AI的核心技术,在构建个性化学习系统中发挥关键作用。本文探讨了深度学习在个性化推荐系统、智能辅导系统和学习行为分析中的应用,并提供了代码示例,展示了如何使用Keras构建模型预测学生对课程的兴趣。尽管面临数据隐私和模型可解释性等挑战,深度学习仍有望为教育带来更个性化和高效的学习体验。
157 0

热门文章

最新文章