攻击下的可解释深度学习

引用

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)的工作流程。

我们的工作。

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

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

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

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

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

准备工作

解释器——一般来说,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?)。为了确保攻击的可避免性,修改通常被限制在一个允许集。

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 作为反向传播、表示、模型和扰动引导解释器的代表。我们在评估中采用了它们的开源实现。

攻击——我们在 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 上使用不同类型的挤压器的对抗性输入

声明:本站部分文章内容及图片转载于互联 、内容不代表本站观点,如有内容涉及侵权,请您立即联系本站处理,非常感谢!

(0)
上一篇 2021年11月9日
下一篇 2021年11月9日

相关推荐