百度360必应搜狗淘宝本站头条
当前位置:网站首页 > 技术资源 > 正文

攻击下的可解释深度学习 深度学习算法可解释性

lipiwang 2024-11-06 19:34 6 浏览 0 评论

引用

Zhang X, Wang N, Shen H, et al。 Interpretable deep learning under fire[C]//29th {USENIX} Security Symposium ({USENIX} Security 20)。 2020。

摘要

为深度神经网络(DNN)模型提供解释对于它们在安全敏感领域的使用至关重要。人们已经提出了大量的解释模型来帮助用户理解 DNN 的内部工作原理:DNN 如何为给定的输入做出特定的决定?改进的可解释性被认为是通过让人类参与决策过程,提供了一种安全感。然而,由于其数据驱动的性质,可解释性本身可能容易受到恶意操纵的影响,而到目前为止我们对此知之甚少。

在这里,我们通过对可解释深度学习系统(interpretable deep learning systems IDLSes)的安全性进行第一个系统的研究来弥合这一差距。我们表明,现有的 IDLS 非常容易受到对抗性的操作。具体来说,我们提出了 ADV2,一种新的攻击,它产生对抗性输入,不仅误导目标 DNN,而且欺骗它们的耦合解释模型。通过对基准数据集和安全关键应用(如皮肤癌诊断)上的四种主要的 IDLSes 的实证评估,我们证明了使用 ADV2,对手能够任意指定输入的预测和解释。此外,有了分析和经验证据,我们确定预测-解释差距是这种脆弱性的根本原因——DNN 及其解释模型经常错位,导致同时利用两个模型的可能性。最后,我们探索了针对 ADV2 的潜在对策,包括利用其低可转移性,并将其纳入对抗性训练框架。我们的发现揭示了以更安全和信息更丰富的方式设计和操作 IDLS,引发了几个有前途的研究方向。

介绍

深度神经网络(DNN)模型的最先进的性能往往是以牺牲可解释性为代价来实现的。直观理解复杂 DNN 的推理——DNN 如何得出给定输入的特定决策——因为它们的高非线性和嵌套体系结构是很有挑战性的。DNNs 的另一个缺点是它们对对抗性输入的固有脆弱性——恶意制作的样本来触发目标 DNNs 从而导致故障——这导致了不可预测的模型行为,并阻碍了它们在安全敏感领域的使用。

图 1:(a)良性,(b)常规对抗,(c)ResNet 分类器和 CAM(解释器)上的双重对抗输入和解释。

这些缺点激发了关于通过在模型级或实例级上提供解释来提高 DNN 的可解释性的密集研究。例如,在图 1(a)中,一个归因图突出显示了输入关于其分类的信息最丰富的部分,揭示了它们的因果关系。这种可解释性有助于用户理解 DNN 的内部工作原理,启用用例,包括模型调试、消化安全分析结果和检测敌对输入。例如,在图 1(b)中,一个对抗性输入,导致目标 DNN 偏离其正常行为,产生一个与良性对应物高度区分的归因图,因此很容易检测到。

如图 2 所示,一个 DNN 模型(分类器),再加上一个解释模型(解释器),形成了一个可解释深度学习模型(interpretable deep learning system,IDLS)。IDLSes 的可解释性被认为通过让人类参与决策过程提供了一种安全感。然而,鉴于其数据驱动的性质,这种可解释性本身可能容易受到恶意操作的影响。不幸的是,到目前为止,人们对 IDLSe 的安全漏洞知之甚少,更不用说减轻这种威胁了。

图 2:一个可解释的深度学习系统(IDLS)的工作流程。

我们的工作。

为了弥补这一差距,本文对 IDLSes 的安全漏洞进行了全面的研究,从而得出了以下有趣的发现。

首先,我们证明了现有的 IDLS 非常容易受到对抗性操作的攻击。我们提出了 ADV2,一种新的攻击,产生对抗性输入,不仅误导目标 DNN,而且欺骗其耦合解释器。

然后,我们证明了这种攻击漏洞的一个可能的根本原因是预测-解释差距:解释器通常与分类器不对齐,而解释器的解释只能部分解释类器的行为,允许对手同时利用这两个模型。这一发现涉及到几个有趣的问题:(i)反过来,造成这一差距的可能原因是什么?(ii)这种差距在不同的解释器之间有什么不同?(iii)它对于设计更健壮的解释器意味着什么?我们在研究中探讨了所有这些关键问题。

此外,我们还研究了 ADV2 在不同解释器之间的可转移性。我们注意到,通常很难找到可在不同类型的解释器之间转移的敌对输入,因为它们从互补的角度(例如,反向传播、中间表示、输入-预测对应)生成解释。这一发现表明,训练一套解释器是对抗 ADV2 的一个潜在对策。

最后,我们提出了对抗性的解释蒸馏(adversarial interpretation distillation AID),一个对抗性的训练框架,整合了培训解释器的 ADV2。我们表明,AID 有效地减少了预测-解释的差距,并可能有助于提高解释器对 ADV2 的鲁棒性。

据我们所知,这项工作是对现有 IDLSe 的安全漏洞的首次系统研究。我们相信,我们的发现揭示了以更安全和信息更丰富的方式设计和操作 IDLS。

准备工作

我们首先介绍一组基本的概念和假设。本文使用的符号和符号如表 1 所示。

分类器——在本文中,我们主要关注预测任务(例如,图像分类[12]),其中一个 DNN f(即分类器)将一个给定的输入 x 分配给一组预定义的类 C,f(x)=c∈C。

解释器——一般来说,DNN 的可解释性可以通过两种方式获得:设计可解释的 DNNs 或提取事后解释。后一种情况不需要修改模型架构或参数,从而导致更高的预测精度。因此,我们主要考虑事后解释。更具体地说,我们关注实例级的可解释性,它解释了 DNN f 如何对给定的输入 x 进行分类,并揭示了 x 和 f(x)之间的因果关系。我们假设这类的解释是以属性图的形式给出的。如图 2 所示,解释器 g 生成一个属性映射 m=g(x;f),它的第 i 个元素 m[i]量化了 x 的第 i 个特征 x[i]相对于 f(x)的重要性。

对抗性攻击——DNN 天生容易受到敌性输入的攻击,敌性输入是恶意制作的样本,以迫使 DNN 滥用。通常,对抗输入 ? 是通过像素扰动或空间转换修改良性输入 ? 生成的,目的是迫使 f 将 x? 错误分类为目标类 ct,f(x?)=ct≠f(x?)。为了确保攻击的可避免性,修改通常被限制在一个允许集。

威胁模型——根据对抗攻击的工作,我们在本文中假设设置一个白盒设置:对手可以完全访问分类器 f 和解释器 g,包括它们的架构和参数。

ADV2 攻击

IDLSes 的可解释性被认为通过让人类参与决策过程,提供了一种安全感;这种信念尚未得到严格的检验。我们通过展示 ADV2 来弥补这一差距,ADV2 是一种同时欺骗目标 DNN 及其解释器的新型攻击。下面我们首先概述 ADV2,然后详细介绍它对四种主要类型的解释器的实例化。

3.1 攻击公式

ADV2 攻击欺骗了 DNNf 及其耦合解释器 g。具体来说,ADV2 通过修改一个良性的输入 x? 来生成一个对抗性的输入 x?,这样

(i) x? 被 f 错误分类为目标类 ct,f(x?)=ct;

(ii) x? 触发 g,生成目标属性映射 mt,g(x?;f)=mt;

(iii) 可感知的区别;x? 和 x?,?(x?,x?),是不可感知的

其中距离函数 ? 依赖于具体的修改:对于像素扰动,它被实例化为 Lp 范数,而对于空间变换,它被定义为整体的空间失真。

换句话说,其目标是对良性输入找到足够小的扰动,从而导致对手所期望的预测和解释。

在高级层次上,我们使用以下优化框架制定 ADV2:

其中约束确保(i)对抗输入被错误归类为 ct,(ii)触发 g 生成目标归因映射 mt。

由于 f(x)=ct 和 g(x;f)=mt 的约束对于实际的 DNN 是高度非线性的,我们以一种更适合优化的形式重新表述了 Eqn(2):

其中预测损失 lprd 与 Eqn(1)相同,解释损失 lint 测量对抗地图 g(x;f)和目标映射 mt 的差值,超参数 λ 平衡了这两个因素。下面我们使用 ladv(x)来表示 Eqn(3)中定义的总体损失函数。

我们在一个对抗性攻击框架上构造了方程式(3)的求解器。虽然选择具体的框架是灵活的,但下面我们主要使用 PGD 作为参考,并讨论在 4 中的替代框架(如空间转换)上的 ADV2 的构建。

在此设置下,我们定义 lprd(f(x)、ct)=?log(fct(x))(即 x 相对于类 ct 的负对数似然)、?(x、x?)=kx?x?k∞ 和 lint(g(x;f)、mt)=kg(x;f)?mtk22。一般来说,ADV2 使用一系列梯度下降更新来搜索 x?:

然而,由于单个解释器的独特特征,直接应用 Eqn(4)通常被发现是无效的。下面,我们将详细介绍 ADV2 对反向传播、表示、模型和扰动引导解释器的实例化。

3.2 在反向传播的指导下进行的解释

这类解释器计算模型预测相对于给定输入的梯度(或其变体),以得出每个输入特征的重要性。假设较大的梯度幅度表明特征与预测的相关性越高。我们认为梯度显著性(GRAD)作为这类的代表。

直观地说,GRAD 考虑了给定输入 x 和给定类 c 的模型预测(概率)fc(x)的线性近似,并推导出归因映射 m 为:

为了攻击基于 grad 的 IDLSes,我们可以使用 Eqn(4)中定义的梯度下降更新序列来搜索 x?。然而,根据 Eqn(5),计算归因图 g(x;f)的梯度就等于计算 fc(x)的黑森矩阵,它对于具有 ReLU 激活函数的 DNN 全为零。因此,解释损失 lint 的梯度为更新 x 提供的信息很少,这使得直接应用 Eqn(4)无效。

图 3:在 z=0 附近的 h(z)、σ(z)和 r(z)的比较。

为了克服这一问题,在执行反向传播时,我们平滑 ReLU 的梯度,用 r(z)表示,函数 h(z)定义为(τ 是一个小常数,例如,10?4):

直观地说,h(z)紧密接近于 r(z),而其梯度无处不在不为零。另一种可能性是 s 型函数 σ(z)=1/(1+e?z)。图 3 比较了 z=0 附近的不同函数。我们的评估显示,h(z)在攻击 GRAD 方面显著优于 σ(z)和 r(z)。

这种攻击可以扩展到其他基于反向传播的解释器。

3.3 表示的指导下的解释

这类解释器利用 DNN 中间层的特征映射来生成归因映射。我们认为类激活映射(CAM)作为该类的一个代表性解释器。

在高水平上,CAM 在最后一个卷积层的特征图上执行全局平均池化,并使用输出作为具有 softmax 激活的线性层的特征来近似模型预测。基于这种连接结构,CAM 通过将线性层的权值投影到卷积特征映射来计算归因映射。

形式上,设 ak[i,j]表示最后一个卷积层在空间位置(i、j)的第 k 个通道的激活。全局平均池的输出定义为 Ak=∑i,jak[i,j]。进一步设 wk,c 是线性层的第 k 个输入和第 c 个输出之间的连接的权值。类 c 相对于给定输入 x 的 softmax 函数的输入近似为:

类激活映射 mc 随后由:

由于它在中间层使用了深度表示,CAM 生成了高视觉质量和有限的噪声和人工制品的归因图。

我们用一个 DNN 实例化 g,它将 f 的一部分连接到其最后一个卷积层和一个由wk,c参数化的线性层。为了攻击 CAM,我们使用 Eqn(4)中定义的一系列梯度下降更新序列来搜索 x?。这种攻击可以很容易地扩展到其他有代表性的解释器(例如,梯度 CAM)。

3.4 模型引导解释

模型引导的方法不依赖于中间层的深度表示,而是训练一个元模型来直接预测单个前馈传递中任何给定输入的归因图。我们认为 RTS 是这一类的代表性方法。

对于 c 类中的给定输入 x,RTS 通过解决以下优化问题找到其归因映射 m:

这里 rtv(m)表示 m 的总变化,减少了 m 中的噪声和伪影;rav(m)表示 m 的平均值,使保留部分最小化;φ(m)是使用 m 作为掩模混合 x 和高斯模糊,它捕获保留部分(掩模非零)对模型预测的影响;超参数λi4i=1 平衡了这些因素。

然而,在推理过程中为每个输入求解 Eqn(8)是相当昂贵的。相反,RTS 训练一个 DNN 来直接预测任何给定输入的归因图,而无需在训练后访问 DNN f。我们将这个编码器和这个掩蔽模型的组成作为解释器 g。

要攻击 RTS,可以直接应用方程式(4)。然而,我们的评估表明,这种策略对于寻找理想的敌对性输入往往无效。这可以解释为,编码器 enc(·)在生成归因映射中发挥着重要作用,而仅仅依赖于掩蔽模型的输出并不足以指导攻击。因此,我们在 Eqn(3)中添加了一个额外的损失项 lenc(enc(x),enc(ct)),它测量了对抗性输入 x 和目标类 ct 的编码器输出的差异。

然后,我们用 Eqn(4)中定义的一系列梯度下降更新序列来搜索对抗性输入 x?。在 3.6 中将讨论更多的实现细节。

3.5 在扰动引导下的解释

第四类解释者通过用最小的噪声扰动输入并观察模型预测的变化来寻找归因图。我们认为 MASK 是本类中的一个具有代表性的解释器。

对于给定的输入 x,MASK 通过检查改变这些部分是否会影响预测 f(x)来识别其信息最丰富的部分。它学习一个掩模 m,其中如果保留第 i 个输入特征,则学习 m[i]=0,如果该特征被高斯噪声取代,则学习 m[i]=1。通过求解一个优化问题,得到了最优掩模:

其中 c 表示当前的预测 c=f(x),φ(x;m)是将 x 与高斯噪声混合的扰动算子。第一项发现 m 导致 c 的概率显著降低,而第二项鼓励 m 稀疏。直观地说,求解 Eqn(9)相当于找到关于 x 的预测 f(x)的信息最丰富和必要的部分。

与其他类型的解释器不同,要攻击 MASK,用迭代梯度下降(Eqn(4))直接优化 Eqn(3)是不可行的,因为解释器 g 本身被表述为一个优化过程。

相反,我们使用一个双斜层优化框架重新制定了 ADV2。对于给定的 x?、ct、mt、f 和 g,我们通过引入 m 作为附加变量,将对抗性损失函数重新定义为 ladv(x、m)、lprd(f(x)、ct)+λlint(m,mt)。设 l 映射(m;x)为 Eqn(9)中定义的目标函数。然后,我们有以下攻击框架:

尽管如此,精确地解决方程(10)中的双层优化是具有挑战性的,因为它需要在 x 更新时通过解决内部优化问题来重新计算 m?(x)。我们提出了一种近似的迭代方法,通过分别在 ladv 和 l 映射上交替进行梯度下降来优化 x 和 m。

更具体地说,在第 i 次迭代中,给定当前输入 x(i?1),我们通过在 l 映射上使用梯度下降更新 m(i?1)来计算其属性映射 m(i);然后 x(i?1);,我们修复 m(i),通过对 m(i)的梯度下降后最小化 ladv 得到 x(i)。形式上,我们将更新 x(i)的目标函数定义为:

其中 ξ 是这个虚拟梯度下降的学习速率。

算法 1 绘制了对 MASK 的攻击的草图。

3.6 本项目的实施与优化

接下来,我们详细介绍了 ADV2 的实现,并提出了一套优化,以提高针对特定解释器的攻击有效性。

迭代优化器——我们基于 PGD 构建了优化器,它使用 Eqn(4)迭代更新对抗性输入。默认情况下,我们使用 L∞ 范数来测量扰动的大小。如果考虑了其他的扰动度量,就可以采用替代框架。例如,与其直接修改像素,还可以通过空间变换产生对抗性输入,其中扰动幅度通常通过整体空间失真来测量。

暖启动——在我们的评估中观察到,通过从头开始运行 ADV2(Eqn(4))的更新步骤来搜索敌对性输入通常是低效的。相反,首先运行一个固定数量的(例如,400 个)的常规对抗性攻击的更新步骤,然后恢复 ADV2 更新步骤,这显著提高了搜索效率。直观地说,该策略首先快速接近对抗性输入的流形,然后搜索同时满足预测和解释约束的输入。

标签平滑——我们测量了具有交叉熵的预测损失 lprd(f(x),ct)。当攻击 GRAD 时,ADV2 可能会产生中间输入,导致 f 做出过于自信的预测(例如,概率为 1)。lprd 的等零梯度阻止了攻击找到具有理想解释的输入。为了解决这个问题,我们用标签平滑来细化交叉熵。

多步展望——在实现算法 1 时,我们在更新 m(第 3 行)和计算代理映射 m?(x)(第 4 行)中应用了多个梯度下降,这在我们的经验评估中观察到导致更快的收敛。此外,为了提高优化的稳定性,我们使用平均梯度来更新 m。具体来说,设{m(ji)}是通过应用多步梯度下降在第 i 步迭代中得到的映射序列。我们使用聚合解释损失 ∑jkm(ji)?mtk22 来计算更新 m 的梯度。

自适应学习速率——为了提高算法 1 的收敛性,我们还动态调整了更新 m 和 x 的学习速率。在每次迭代中,我们使用一个运行的 Adam 优化器作为元学习器[4]来估计更新 m 的最佳学习率(第 3 行)。我们以两步的方式更新 x 来稳定训练:(i)首先根据预测损失 lprd 更新 x,(ii)根据解释损失 lint 更新它。在(ii)期间,我们使用二进制搜索来找到最大的步长,这样在扰动后,x 的置信度仍然高于一定的阈值 κ。

周期性重置——在算法 1 中,我们通过在 l 图上的梯度下降来更新归因图的估计。随着更新步骤数的增加,该估计值可能会显著偏离 MASK 解释器生成的真实地图,从而对攻击有效性产生负面影响。为了解决这个问题,定期(例如,每 50 次迭代),我们将估计的映射替换为映射 g(x;f),它是由 MASK 基于当前的对抗性输入直接计算出来的。同时,我们重置 Adam 步长参数,以纠正其内部状态。

4 攻击评估

接下来,我们从定性和定量的角度对各种 DNN 和解释器进行了 ADV2 的实证研究。具体来说,我们的实验旨在回答以下关于 ADV2 的关键问题:

Q1:欺骗目标分类器有效吗?

Q2:误导目标解释器有效吗?

Q3:关于攻击检测方法,是否存在规避问题?

Q4:它在真正的安全关键型应用程序中有效吗?

Q5:采用替代攻击框架是否灵活?

实验设置

我们首先介绍我们的经验评估的设置。数据集-我们的评估主要使用 ImageNet。

分类器——我们使用两种最先进的 DNNs 作为分类器,ResNet-50 和 DenseNet-169。

解释器——我们分别采用 GRAD、CAM、RTS 和 MASK 作为反向传播、表示、模型和扰动引导解释器的代表。我们在评估中采用了它们的开源实现。

表 2。本文在弱半监督定位任务(以 ResNet 为分类器)中的性能。

攻击——我们在 PGD 框架上实现了 ADV2 在 3 中的所有变体。此外,我们还在一个空间转换框架(STADV)上实现了 ADV2。我们比较了 ADV2 和常规的 PGD,这是一种通用的一级对抗性攻击。对于 ADV2 和 PGD,我们假设目标攻击的设置,其中对手试图强迫 DNN 将敌对输入错误地分类为随机指定的类。

Q1:攻击效果(预测)

我们首先评估了 ADV2 在欺骗靶 DNN 方面的有效性。有效性是通过攻击成功率来衡量,其定义为:

以及错误分类置信度(MC),这是由 DNN 分配给目标类 ct 的概率。

表 3 :PGD(P)和 ADV2(A)对 ASR(MC)对不同分类器和解释器的有效性。

表 3 总结了 ADV2 和 PGD 对不同分类器和解释器的攻击成功率和误分类置信度。可以观察到,ADV2 在所有病例中都取得了很高的成功率(在 95%以上)和错误分类置信度(在 0。98 以上),这与常规的 PGD 攻击相当。因此,我们有以下结论。

观察 1:尽管 ADV2 具有双重目标,但它在欺骗目标 DNN 方面与常规的对抗性攻击一样有效。

Q2:攻击效果(解释)

接下来,我们评估 ADV2 在生成与良性输入类似的解释方面的有效性。具体来说,我们比较了对良性和对抗性输入的解释,这对于理解使用可解释性作为防御手段的安全含义至关重要。

图 4:ResNet 上关于 GRAD、CAM、MASK 和 RTS 的良性和对抗性(PGD、ADV2)输入的归因图。

可视化——我们首先定性地比较了对良性和对抗性(PGD,ADV2)输入的解释。图 4 显示了一组关于 GRAD、CAM、MASK 和 RTS 的样本输入及其归因图。观察到,在所有的情况下,ADV2 输入产生的解释与良性输入无法区分。相比之下,PGD 输入通过检查其归因图很容易被识别。

Lp 测量——除了定性比较良性和敌对输入的归因图,我们还定量测量它们的相似性。通过将归因映射作为矩阵,我们测量了良性映射和对抗性映射之间的 L1 距离。图 5 总结了结果。为了进行比较,我们通过将所有度量除以像素数来将其归一化为[0,1]。

我们有以下观察结果。(i)与 PGD 相比,ADV2 生成的归因图与良性病例更相似。在所有的解释器中,ADV2 的平均 L1 测量值都比 PGD 低 60%以上。(ii)ADV2 的有效性随目标解释器而异。例如,与其他解释者相比,PGD 和 ADV2 在 GRAD 上的差异相对较小,应用不同的解释器可能天生对 ADV2 具有不同的鲁棒性。(iii)ADV2 的有效性似乎对潜在的 DNN 不敏感。在 ResNet 和 DenseNet 上,它都实现了类似的 L1 度量。

IoU 测试-用于归因图相似性的另一个定量测量方法是交叉过联合(intersection-over-union IoU)得分。它被广泛应用于对象检测,用于模型预测与真实边界的比较。在我们的例子中,由于归因映射的值是浮动数,我们首先对映射应用阈值二值化。

图 6:对抗性归因图谱(PGD,ADV2)相对于良性图谱的 IoU 评分。

在对象检测任务中使用的典型规则下,如果对于真实 MASK 的 IoU 得分高于 0.5,感兴趣区域(region of interest RoI)被认为是正的,因此我们认为如果 IoU 超过良性归因值 0.5,那么归因值是可信的。图 6 比较了对抗性图(PGD、ADV2)相对于良性病例的平均 IoU 评分。观察到,ADV2 在所有解释器中的 IoU 得分都超过 0.5,在所有情况下都比 PGD 高 40%以上。特别是在 RTS 上,归因图是本地二进制值的,ADV2 在 ResNet 和 DenseNet 上都达到了 0.9 以上的 IoU 分数。

基于定性和定量的测量,我们得出以下结论。

观察 2:ADV2 能够产生与良性病例解释高度相似的对抗性输入。

Q3:攻击躲避

直观地说,从对手的角度来看,ADV2 需要搜索对抗输入不大于其潜在的对抗攻击(如 PGD),因为 ADV2 需要优化预测损失 lprd 和解释损失 lint,而 ADV2 只需要优化 lprd。接下来,我们比较了 PGD 和 ADV2 与对抗性攻击检测方法之间的回避性。

简而言之,我们将特征压缩(FS)作为一种具体的检测方法。FS 通过将不同特征向量对应的输入合并成单个输入来减少对手的搜索空间,并通过比较它们在原始和压缩设置下的预测来检测敌对输入。该操作以一组“挤压器”的形式实现:位深度减少、局部平滑和非局部平滑。

表 4:利用特征压缩检测 PGD、基本 ADV2(A)和自适应 ADV2(A?)的对抗性输入。

表 4 列出了在 ResNet 上使用不同类型的挤压器的对抗性输入(PGD、ADV2)的检测率。观察到挤压器似乎可以有效地检测 ADV2 和 PGD 输入。例如,局部平滑在检测 ADV2 和 PGD 输入方面的成功率均高于 97%,差异小于 2%。因此,我们有:

观察 3:ADV2 和 PGD 在特征压缩方面的整体检测性无显著差异。

自适应 ADV2-我们现在适应 ADV2 来逃避 FS 的检测。与现有的针对 FS 的自适应攻击相关,这种优化本身就很有趣。具体来说,对于平滑压缩器,我们用术语 lsqz(f(x)、f(ψ(x))来增强损失函数 ladv(x)(Eqn(3)),这是原始输入和压缩输入(ψ 是挤压器)预测的交叉熵。

对于减深,我们使用两阶段策略。(i)我们首先在压缩空间中搜索一个接近 x? 的 ε 邻域的对抗性输入 x+。为此,我们运行 PGD 在 ψover(x?)上,学习率为 α=1/2i(i 是位深度)。(ii)然后,我们在 x? 的 ε-邻域中搜索一个分类类似于 x+的敌对输入 x?。为此,我们用概率损失项 kf(x)?f(x+)x1(x+的概率向量)来增加损失函数 ladv(x),然后应用 PGD 在 x? 的 ε 邻域内搜索 x?。总体算法如算法 2 所示。

表 5。关于良性图谱的对抗性归因图谱(PGD,基本和适应性 ADV2)的 L1 测量和 IoU 评分。

表 4 总结了自适应 ADV2 产生的对抗性输入的检测率,与基本 ADV2 相比,该检测率显著下降。同时,我们比较了基本和自适应 ADV2 生成的归因图的 L1 测量和 L1 得分(相对于良性图)。结果为表 5。可以观察到,自适应 ADV2 的优化对其对解释器的攻击效果影响不大。因此,我们可以得出结论:

观察 4:可以适应 ADV2 来产生规避特征压缩的对抗性输入。

图 7:皮肤癌筛查应用程序中的良性和对抗性(ADV2)输入的归因图。

Q4:实际应用程序

我们现在评估 ADV2 在实际的安全关键应用中的有效性。我们使用 ISIC2018 的皮肤癌筛查任务作为一个案例研究,该研究将给定的皮肤病变图像分为 7 种疾病分类。我们采用一个赢得竞争的模型 1(以 ResNet 为主干)作为分类器,它在保留集上达到了 82.27%的精度。

我们将 ADV2 应用于这个分类器上,并衡量其产生合理解释的有效性。图 7 显示了四个解释器上的一组样本及其属性图。观察到,在所有病例中,ADV2 产生的解释在视觉上都与良性对应的解释不同。

图 8:对抗性归因图(PGD、ADV2)对良性图的测量(a)和 IoU 评分(b)。

这种相似性在图 8 中得到了进一步的定量验证,图 8 显示了 ADV2 生成的地图对良性地图的 L1 度量和 IoU 得分。例如,所有解释器的 ADV2 的 IoU 得分都超过 0.62。

Q5:替代攻击框架

除了 PGD 框架之外,ADV2 还可以灵活地构建在替代框架之上。在此,我们构建了基于 STADV 的 ADV2,一种基于空间转换的对抗性攻击。

图 9:关于 ReSNet 上的 GRAD、CAM、MASK 和 RTS 的良性和对抗性(STADV,based 的 ADV2)输入的归因图.

图 9 可视化了样本中良性和对抗性的输入及其解释。与 STADV 相比,ADV2 生成的对抗性输入的地图更类似于良性病例,突出了基于 STADV 框架构建的 ADV2 的有效性。

这一观察结果也被对抗性归因图的 L1 测量值和 IoU 分数所证实,如图 10 所示。有趣的是,与其他解释器相比,MASK 似乎对基于 STADV 的 ADV2 更有弹性。与基于 PGD 的 ADV2 的结果进行比较(图 5 和 6)表明,不同解释器的(相对)稳健性可能随着具体攻击而不同(细节见 5)。

总的来说,我们有以下结论。

观察 5。 作为一种一般的攻击,可以灵活地建立在其他对抗攻击框架上。

图 10:针对 ResNet 上良性图的对抗性归因图(STADV,基于 STADV 的 ADV2)的测量(a)和 IoU 得分(b)。

5 讨论

虽然 4 中显示 ADV2 对一系列分类器和解释器有效,但产生这种有效性的原因尚不清楚。接下来,我们从分析和实证的角度对这一根本原因进行了研究。基于我们的发现,进一步讨论了针对 ADV2 的潜在对策。

Q1:攻击漏洞的根源

回想一下,Eqn(3)中的 ADV2 公式定义了两个看似相互冲突的目标:(i)最大化预测变化,(ii)最小化解释变化。因此,我们推测 ADV2 的有效性可能源于分类器与其解释器之间的部分独立——解释器的解释只部分描述了分类器的预测,这使得同时利用这两个模型成为现实。

随机补丁解释——在第一种情况下,对于给定的输入,我们定义其目标归因映射是(i)采样一个随机形状(矩形或圆形)、随机角度和随机位置,(ii)将补丁内部的元素设置为“1”,外部的元素设置为“0”。通常,由于其随机性,该目标图明显偏离其良性地图。

我们评估了 ADV2 在这种设置下的有效性。表 6 总结了 ADV2 在 ResNet 上的攻击成功率。请观察,与表 3 相比,针对随机补丁的解释对欺骗分类器的攻击效果而言影响不大,这意味着敌对输入的空间足够大,可以包含一个有针对性解释的输入。

表 6:针对随机补丁解释的 ADV2 的 ASR(MC)。

图 11:ResNet 上不同解释器随机补丁解释的 ADV2 的可视化。

然后,我们评估了 ADV2 在生成目标解释方面的有效性。对于一个给定的良性输入 x? 和一个目标随机贴片图 mt,ADV2 试图生成一个具有类似于 mt 的解释的对抗性输入 ct。图 11 可视化了一组示例结果。请注意,在所有情况下,ADV2 映射在视觉上与目标映射相似,突出了攻击的有效性。表 7 进一步验证了这一有效性。观察到,在所有的解释器中,ADV2 图与其良性的目标图更相似。

表 7。ADV2 和目标图(?t)与 ADV2 和良性图的比较(?b),通过 L1 距离测量。

随机类解释——在第二种情况下,对于一个给定的输入(以 ct 为目标类),我们用从另一个类中随机抽样的良性输入的归因图来实例化它的目标解释。换句话说,对抗性输入被错误地分类为一类,但被解释为另一类。

表 8:ADV2 的 ASR(MC)具有随机的类解释。

ADV2 的 ASR 汇总见表 8。请注意到,针对随机类解释对欺骗分类器的攻击效果影响不大。图 12 可视化了一组示例目标和 ADV2 输入及其解释。

图 12:ResNet 上的目标和对抗性(ADV2)输入及其归因图。

图 13:ResNet 上对良性和目标病例的测量(a)和 IoU 评分(b)。

以上实验表明,针对任意的预测和解释生成对抗性输入是可行的。因此,我们可以得出结论:

观察 6:DNN 及其解释器通常不能完全对齐,这允许对手同时利用这两个模型。

Q2:预测——解释差距的根源

接下来,我们将探讨造成这种预测解释差距的基本原因。我们推测以下一种可能的解释是:现有的解释模型并不能全面捕获 DNN 的全部动态,每个模型都只描述其行为的一个方面。

具体来说,GRAD 仅依赖于梯度信息;MASK 专注于输入——预测对应,而忽略了内部表示;CAM 利用了中间层的深度表示,但忽略了输入——预测对应;RTS 使用辅助编码器中的内部表示和训练数据中的输入解释对应,但这可能会偏离 DNN 的真实行为。

直观地说,只关注 DNN 行为的一个方面(例如,输入预测对应关系)会导致松散的约束:在执行攻击时,对手只需要确保良性和对抗性输入导致 DNN 从一个特定的角度行为类似。我们通过两个观察结果验证了这一推测,低的攻击移植性和不同的攻击鲁棒性。

攻击可转移性——对抗性输入的一个有趣的特性是它们的可转移性:对一个 DNN 有效的对抗性输入通常被发现对另一个 DNN 是有效的,尽管它不是在第二个上精心制作的。在这组实验中,我们调查了这种可转移性是否存在于对解释器的攻击中;也就是说,对一个解释器产生合理解释的对抗性输入是否也能够对另一个解释器产生可能的解释。

图 14:ResNet 上不同解释器之间的敌对输入的归因图的可视化。

具体来说,对于每个给定的解释器 g,我们随机选择一组针对 g(源)精心制作的对抗性输入,并在另一个解释器 g0(目标)上计算它们的解释。图 14 显示了在 g 和 g0 上给定的对抗性输入的归因图。此外,对于每个病例,我们将对抗图(右)与相应的良性地图(左)进行比较。请注意,解释的可转移性相当低:针对一个解释器 g 精心制作的对抗性输入很少在另一个解释器 g0 上产生高度可信的解释。

表 9:在 ReSNet 上的对抗性属性地图(ADV2、PGD)之间的距离(行/列作为源/目标)。

我们进一步定量地验证了这一观察结果。表 9 测量了不同解释器之间的对抗性和良性归因图之间的 L1 距离。为了进行比较,它还显示了由 PGD 产生的对抗性输入的 L1 度量。观察到,在 g 上制作的对抗性输入倾向于在不同的解释器 g0 上产生低质量的解释,其质量与解释不可知的攻击(即 PGD)产生的质量相当。因此,我们可以得出以下结论:

观察 7 :在不同解释器之间的对抗性输入的可转移性似乎很低。

攻击鲁棒性——在 4 中观察到 ADV2 的有效性随着目标解释器的不同而不同。如图 6 所示,在所有的解释器中,ADV2 在 GRAD 上获得了最低的 IoU 分数,这表明 GRAD 可能对 ADV2 更健壮。这一观察结果可以解释如下:GRAD 使用每个输入特征的梯度大小来测量其与模型预测的相关性;同时,ADV2 大量利用梯度信息来优化预测损失 lprd;在保持梯度不变的同时最小化 lprd 本身是困难的。

换句话说,为了迫使 x? 被高度可信地错误分类,良性和敌对归因图的差异需要很大。由于 ADV2 的目标是最大限度地提高预测损失,同时最小化解释损失。预测和解释损失之间的耦合导致了一个根本的冲突。

但是,请注意,这种冲突并不排除有效的对抗性攻击。首先,预测和解释损失的约束条件可能比较宽松。其次,对手可能会进行更少依赖梯度信息来规避这场冲突的攻击。

总的来说,有了较低的攻击可转移性和不同的攻击鲁棒性的证据,我们可以得出结论:

观察 8。 现有的解释者倾向于关注 DNN 行为的不同方面,这可能会导致预测解释的差距。

Q3:潜在的对策

基于我们的发现,接下来我们将讨论针对 ADV2 攻击的潜在对策。

防御 1:集成解释——基于观察不同的解释关注 DNN 行为的不同方面(例如,CAM 关注深度表示而 MASK 专注于输入预测对应),一个有前途的方向抵御 ADV2 是部署多个互补的解释提供 DNN 行为的整体视图。

然而,还有两个主要的挑战有待解决。首先,不同的解释器可能会提供不同的解释(例如,图 14)。要最优地聚合这类解释来检测 ADV2 是具有挑战性的。第二,对手可以将 ADV2 适应于集成解释器(例如,针对所有解释器优化解释损失)。在设计集成解释器时,考虑到这种适应性是至关重要的。我们考虑发展集成防御和探索对手的适应性策略作为我们正在进行的研究方向。

防御 2:对抗性解释-沿着第二个方向,我们探索对抗性训练的想法。回想一下,ADV2 利用预测-解释差距来产生对抗性的输入。在这里,我们使用 ADV2 作为驱动器,在培训解释器期间减少这一差距。

具体来说,我们提出了一个对抗性的解释蒸馏(AID)框架。让 A 看作是 ADV2 的攻击。我们鼓励 g 在培训期间尽量减少这种损失。

为了评估 AID 减少预测解释差距的有效性,我们使用 RTS 作为一个具体的案例研究。回想一下,RTS 是一个模型引导的解释器,它直接预测给定输入的解释。我们构建了 RTS 的两种变体,一个是常规的,另一个是通过 AID 训练(用 RTSA 表示)。我们测量了这两个解释器对潜在的 DNN 行为的敏感性。

图 15:ResNet 上的 RTS 和 RTSA 在不同噪声水平和类型(正常 N、统一 U)下生成的归因图。

在第一种情况下,我们向输入中注入随机噪声(正常的或均匀的),并比较由两个解释器生成的归因图。我们考虑两个噪声水平,它们分别导致测试集上 3%和 30%的错误分类。图 15 显示了在两个噪声水平下的一组错误分类的样本。观察到,与 RTS 相比,RTSA 通过生成高度对比性的地图,似乎对 DNN 的行为变化更加敏感。这种灵敏度也被 RTS 和 RTSA 上的干净和噪声图之间的 L1 测量所定量证实。这些发现也证实了在[59]中观察到的一个类似的现象:由鲁棒模型生成的表示倾向于更好地符合显著的数据特征。

图 16:关于 ReSNet 上的 RTS 和 RTSA 的良性和对抗性(ADV2)输入的归因图。

在第二种情况下,我们评估了 RTSA 对 RTS 输入+噪声 ARTSRTSADV2 的恢复力。在图 16 中,我们比较了 RTS 和 RTSA 上的良性和敌对输入的归因图。我们观察到,虽然 ADV2 产生的对抗输入的解释与 RTS 上的良性病例相当相似,但在 RTSA 上它没有做到这一点:对抗输入的地图与良性输入有相当大的区别。此外,RTSA 在良性输入上的表现与 RTS 几乎相同,这表明 AID 训练对良性病例的影响很小。这些发现也被 L1 的测量方法所证实。

总的来说,我们有以下结论。

观察 9: 利用 ADV2 可以减少解释器培训过程中的预测口译差距

结论

这项工作代表了对可解释深度学习系统(IDLSes)的安全性的系统研究。我们提出了 ADV2,一种一般的攻击类别,它产生对抗性输入,不仅误导目标 DNN,而且欺骗它们的耦合解释模型。通过广泛的实证评估,我们证明了 ADV2 对一系列 DNN 和解释模型的有效性,这意味着现有 IDLS 的可解释性可能只是提供了一种错误的安全感。我们确定预测-解释差距是造成这一漏洞的一个可能原因,这提出了对当前解释模型的评估指标的关键关注。此外,我们还讨论了针对 ADV2 的潜在对策,它阐明以更健壮和信息丰富的方式设计和操作 IDLSes。

致谢

本文由南京大学软件学院 2021 级硕士洪华翻译转述。

相关推荐

linux实例之设置时区的方式有哪些

linux系统下的时间管理是一个复杂但精细的功能,而时区又是时间管理非常重要的一个辅助功能。时区解决了本地时间和UTC时间的差异,从而确保了linux系统下时间戳和时间的准确性和一致性。比如文件的时间...

Linux set命令用法(linux cp命令的用法)

Linux中的set命令用于设置或显示系统环境变量。1.设置环境变量:-setVAR=value:设置环境变量VAR的值为value。-exportVAR:将已设置的环境变量VAR导出,使其...

python环境怎么搭建?小白看完就会!简简单单

很多小伙伴安装了python不会搭建环境,看完这个你就会了Python可应用于多平台包括Linux和MacOSX。你可以通过终端窗口输入"python"命令来查看本地是否...

Linux环境下如何设置多个交叉编译工具链?

常见的Linux操作系统都可以通过包管理器安装交叉编译工具链,比如Ubuntu环境下使用如下命令安装gcc交叉编译器:sudoapt-getinstallgcc-arm-linux-gnueab...

JMeter环境变量配置技巧与注意事项

通过给JMeter配置环境变量,可以快捷的打开JMeter:打开终端。执行jmeter。配置环境变量的方法如下。Mac和Linux系统在~/.bashrc中加如下内容:export...

C/C++|头文件、源文件分开写的源起及作用

1C/C++编译模式通常,在一个C++程序中,只包含两类文件——.cpp文件和.h文件。其中,.cpp文件被称作C++源文件,里面放的都是C++的源代码;而.h文件则被称...

linux中内部变量,环境变量,用户变量的区别

unixshell的变量分类在Shell中有三种变量:内部变量,环境变量,用户变量。内部变量:系统提供,不用定义,不能修改环境变量:系统提供,不用定义,可以修改,可以利用export将用户变量转为环...

在Linux中输入一行命令后究竟发生了什么?

Linux,这个开源的操作系统巨人,以其强大的命令行界面而闻名。无论你是初学者还是经验丰富的系统管理员,理解在Linux终端输入一条命令并按下回车后发生的事情,都是掌握Linux核心的关键。从表面上看...

Nodejs安装、配置与快速入门(node. js安装)

Nodejs是现代JavaScript语言产生革命性变化的一个主要框架,它使得JavaScript从一门浏览器语言成为可以在服务器端运行、开发各种各样应用的通用语言。在不同的平台下,Nodejs的安装...

Ollama使用指南【超全版】(olaplex使用方法图解)

一、Ollama快速入门Ollama是一个用于在本地运行大型语言模型的工具,下面将介绍如何在不同操作系统上安装和使用Ollama。官网:https://ollama.comGithub:http...

linux移植(linux移植lvgl)

1uboot移植l移植linux之前需要先移植一个bootlader代码,主要用于启动linux内核,lLinux系统包括u-boot、内核、根文件系统(rootfs)l引导程序的主要作用将...

Linux日常小技巧参数优化(linux参数调优)

Linux系统参数优化可以让系统更加稳定、高效、安全,提高系统的性能和使用体验。下面列出一些常见的Linux系统参数优化示例,包括修改默认配置、网络等多方面。1.修改默认配置1.1修改默认编辑器默...

Linux系统编程—条件变量(linux 条件变量开销)

条件变量是用来等待线程而不是上锁的,条件变量通常和互斥锁一起使用。条件变量之所以要和互斥锁一起使用,主要是因为互斥锁的一个明显的特点就是它只有两种状态:锁定和非锁定,而条件变量可以通过允许线程阻塞和等...

面试题-Linux系统优化进阶学习(linux系统的优化)

一.基础必备优化:1.关闭SElinux2.FirewalldCenetOS7Iptables(C6)安全组(阿里云)3.网络管理服务||NetworkManager|network...

嵌入式Linux开发教程:Linux Shell

本章重点介绍Linux的常用操作和命令。在介绍命令之前,先对Linux的Shell进行了简单介绍,然后按照大多数用户的使用习惯,对各种操作和相关命令进行了分类介绍。对相关命令的介绍都力求通俗易懂,都给...

取消回复欢迎 发表评论: