【2022】Do Explanations Explain? Model Knows Best

【2022】Do Explanations Explain? Model Knows Best_第1张图片

Abstract

很多文献试着去打开输入特征到神经网络输出这个黑箱,这些explanations指出了不同特征都很重要,但是那个explanation值得我们trust?

本文提出了一个能使用神经网络模型本身对explanation评估的框架。该框架使用神经网络来生成输入特征,这些输入特征能将指定行为加在输出上。利用生成的特征,我们设计控制实验装置来评估解释方法是否符合公理。因此,我们提出了一个对解释方法进行公理化评价的经验框架。我们使用提出的框架来评估知名的和有前途的解释解决方案。该框架提供了一个工具集来揭示现有和未来解释解决方案中的属性和缺陷。

1. Introduction

  • 特征归因或特征属性(feature attribution)是指对于一个神经网络函数来说,输入的哪个特征决定着其输出。该问题的常见解决方案有explanation, attribution, saliency methods。对于同一个问题的解决方法,explanation和attribution出奇地相异。到底那个是正确的?
  • 一种方法是将explanation和ground truth里的标注相比对,但是不能保证人类觉得重要的信息对模型也同等重要。为了解决这个问题,我们要先定义对于特征来说,怎么才算对输出是“重要”的。直观的方法是去除特征并观察输出行为,但这可能会导致歧义。在具有等价特征(例如,重复特征)的场景,每个特征就足以满足特定的输出值,即每个特征的重要性为零。在这种情况下,理想属性可能是赋予每个特征同等的重要性。
  • 通过指定能满足重要性任务的理想属性使该概念更明确。其中理想属性通过公理来公式化,通过判断其是否符合这个公理来评估explanation方法,也可以遵照该公理数学推理证明其可行性。比如Shapley值,集成梯度等被证实了遵守特定公理,而在实际实施时却被推翻(即方案不能遵守特定公理)。此外,某些条件在证明时可能会被忽略。因此,需要进行实验来检验最终解是否符合公理。即使有数学推导和证明,它们也必须符合在设计的实验中观察到的公理,如果不符合,需重新审视假设和方案。
  • 本文提出了通过公理化评估属性(attribution)解决方案的实验框架。我们生成将特定行为加到网络输入/输出关系上的输入特征。在保持网络参数不变的情况下,对输入空间进行优化生成特征。使用优化,我们可以在生成的输入和输出之间加所需的关系。例如,属性方法(attribution method)需要遵循的一个公理就是零玩家公理(Null-player axiom)。零玩家公理要求:如果删除所有可能与其他特征结合的特征不会影响输出,那么它的重要性应该为零。该框架可以为神经网络函数生成一个零玩家特征(Null-player feature),随后测试不同的特征属性解决方案,并检查它们是否将重要性分配给零玩家特征,由此检验解决方案是否符合零玩家公理。我们还设计了实验,在其他可取属性、类别敏感性和特性饱和评估这几个角度评估explanation。通过这一框架,我们评估了最近的解决方案;通过实验,我们揭露了已有explanation的属性和缺陷。

2. Background and Related Work

2.1. Background

因为我们的框架是用于评估特征属性方法的,故引入了几篇相关方法文献。
之后我们引入了特征 可视化/生成 方法,因为我们也在框架中用到了它们。

2.1.1 Explaining Predictions via Feature Attribution

特征属性问题与识别贡献到输出值的输入特征有关。在神经网络文献中,从不同的角度研究了这一问题。然而,许多归因解决方案的基本原则是,特征的“重要性”或贡献的概念与去除该特征对输出值的影响有关。这些解决方案大致可以分为以下几类(有些解决方案属于多个类别)。

  • Backpropagation:线性接近网络并提出梯度作为归因。Deconvolution、GuidedBackProp 向后传播一个修改过的梯度。Integrated gradients通过集成两个输入状态之间的梯度来分配相对于基线输入的输出变化。LRP,DeepLIFT 每层向后传播contribute,其中的contribution也是基于removal方式的。

  • Perturbation/Removal:隐式地基于removal。它们 mask/perturb 输入特征来观察输出变化。

    • Extremal Perturbations:搜索输入中最小的区域,使该区域保持想要的预测。
    • Visualizing and understanding convolutional networks:遮挡像素或像素块,并测量输出变化
    • IBA:通过删除隐藏特征(通过用噪声替换它们)来插入信息瓶颈,并留下能保留预测信息的最小区域。
    • InputIBA:在输入上插入信息瓶颈
  • Latent Features

    • CAM/GradCAM利用激活值;
    • GradCAM++对每层使用不同的求和规则。
    • IBA:使用潜在特征
    • FullGrad:使用所有层的激活值、梯度和偏差值
    • PathwayGrad:使用重要的pathways(pathway important neurons)
  • Game Theory:在合作博弈论中(cooperative game theory),归因问题可以看作是一种信用分配问题。这是通过假设 网络的功能是一个分数函数,输入特征是玩家 来实现的。这个问题的中同时满足多个公理的解是Shapley值。这一概念也是基于移除玩家(the removal of players)以及移除对分数函数(removal on score function)的影响。Shapley值考虑在所有可能的组合中移除一个牌手。由于计算的复杂性,提出了几种近似的神经网络。

    • DeepSHAP:通过DeepLift框架向后传播SHAP值。最近的研究表明,在连续设置下,集合梯度近似于Shapley值。

2.1.2 Generating Features that Activate a Neuron

识别哪些输入模式/特征激活了神经元,这通常被称为特征可视化。从本质上说,这些方法生成的图像可以最大化某些神经元的激活。这可以通过在保持网络参数不变的情况下对图像进行优化来实现。但是,由于这些工作都有可能找到平凡解,所以这些工作中的优化都是正则化的。我们可以在我们的框架中使用这些解决方案中的任何一个。我们先选择深图像(参见3.5节)。框架中使用的另一个方法是对抗性补丁(adversarial patch)。

2.2 Related Work

本文框架属于“ground truth”和“axiomatic”

Do Explanations Explain?:早期工作(Deconvolution、Guided Backpropagation)都是重构图像特征而非解释预测。因此,一个解释可以在视觉上被解释,但并不是真正的解释。本节的工作是调查解释方法是否确实解释了预测,以及它是否可信。每一件作品都从不同的角度来评价一种解释。我们将这些工作作了如下分类:

  • Perturbation/Removal:目的是评估被归因方法识别为突出的特征是否确实有助于输出。它们背后的直觉是,如果特征识别为“重要”,扰动(删除)它们会相对地使输出产生更大的变化。灵敏度- n[2]和[25]对输入使用各种扰乱方案,观察输出的变化。Remove-and-Retrain[11]干扰输入,然后再训练模型并测量精度下降
  • Ground Truth:将explanation和重要特征的ground truth比较。Pointing game和经典基于局部矩阵使用人类在自然图片上做的标注。然而,这里有一个潜在的假设,即该模型使用与人类相同的特征,这是一个粗略的假设。为此,CLEVR XAI提出使用CLEVR生成合成数据集。于是我们就可以知道哪些特征是和输入标签相关联的,并将其当作ground truth用于评估explanation。再将此模型在生成数据集上训练,再将explanation和ground truth进行对比。该方法增加了实验的部分控制。但是,不能保证模型能在生成的数据集中获得预期的特性。我们的框架使用模型本身来生成数据集。因此,我们可以确定哪些特征对模型的输出有贡献或没有贡献。
  • Axiomatic:用于检验模型是否符合特定预期属性。评估方法要不是理论证实(即模型被证实满足某一公理或者预期属性),要不是实验证实。Sanity check[1]实验检查随机网络参数是否改变解释。其他预期属性是类敏感,比如,如果贡献特征不同,不同输出(类)的explanation也应该不同。[14]解释了为什么几种方法对参数随机化和不同的类不敏感。[21, 24]提出实验来评估自然图像数据集的分类灵敏度。然而,在自然图像上,并不能保证模型对不同的类别使用不同的特征。我们的框架在生成特征时提供了一个控制装置。

3. Methodology

控制实验环境:控制那些特征贡献神经网络函数的输出,并设计场景来测试explanation是否遵守公理。为此,利用模型本身,并在输入时进行优化以控制特征对输出的贡献度。

重要性或贡献度只能根据参考/基线状态来理解(“移除”是将特征值设置为参考值)。参考正常随机噪音,我们在装置中计算单个特征的贡献值。 X X X表示参考输入,将一组像素和其特定值作为“特征”,选择一个像素块形成特征 f f f

输入为 X { f } X_{\{f\}} X{f},神经网络函数的目标输出为 Φ t \varPhi_t Φt。为了生成特征f对应的目标t,我们在基线输入X上生成了用于激活目标t的patch。按照设计,如果添加的特征改变了输出值,根据敏感度公理,这个添加的特征对输出是有贡献的,并且只会在patch f,而非输入X的其他区域上进行优化。生成特征f的对应目标t 的 优化损失函数定义为 £ f t \mathsterling^t_f £ft,根据场景的不同,它可以与以下任何一个相关联:

要么生成最大化目标值的patch:
在这里插入图片描述

要么生成可以实现恒定目标值 c c c的patch:
在这里插入图片描述
此处 £ C E \mathsterling_{CE} £CE为交叉熵。

3.1. Null Feature

该模块目标在于设计一个测试空特征公理(test null feature axiom)的装置,空特征即对输出分数没有贡献度的特征。参考合作博弈论和归因文献,空特征可被如下定义:
一组特征 f 1 , . . . , f n {f_1,...,f_n} f1,...,fn中(玩家),如果缺少某一特征 f i f_i fi不影响所有可能的特征组合(有 2 N − 1 2^{N-1} 2N1种)的输出分数函数 Φ t ( ⋅ ) \varPhi_t(\centerdot) Φt(),则该特征 f i f_i fi为空特征(null feature)

在我们的实验装置里,我们在基线输入X上添加了两个特征(一个可以添加更多特征并设计更复杂更具创新的实现)。添加对应输出为 Φ a ( ⋅ ) \varPhi_a(\centerdot) Φa() 的特征 f a f_a fa。并且添加对应输出为 Φ b ( ⋅ ) \varPhi_b(\centerdot) Φb(),但对于 Φ a ( ⋅ ) \varPhi_a(\centerdot) Φa()是空特征的其他特征 f n u l l f_{null} fnull。即当 f a f_a fa存在于基线输入X中时,当 f n u l l f_{null} fnull被移除或添加时,输出 Φ a \varPhi_a Φa恒定不变。
优化问题定义为以下两个并发优化:
【2022】Do Explanations Explain? Model Knows Best_第2张图片
£ f a a \mathsterling^a_{f_a} £faa对应输出为 Φ a ( ⋅ ) \varPhi_a(\centerdot) Φa() 的生成特征 f a f_a fa.
£ f n u l l b \mathsterling^b_{f_{null}} £fnullb对应输出为 Φ b ( ⋅ ) \varPhi_b(\centerdot) Φb()的生成特征 f n u l l f_{null} fnull
等式4中的第二项和第三项用于在所有带有 f a f_a fa的可能组合中去除 f n u l l f_{null} fnull时,使 f n u l l f_{null} fnull成为 Φ a ( ⋅ ) \varPhi_a(\centerdot) Φa()的空特征,其优化结果为 X { f a , f n u l l } X_{\{f_a,f_{null}}\} X{fa,fnull},即为带有特征块 f a 、 f n u l l f_a、f_{null} fafnull的基线噪音图像X。

此装置的目的是测试解释方法是否将输出 Φ a ( X { f a , f n u l l } ) \varPhi_a(X_{\{f_a,f_{null}}\}) Φa(X{fa,fnull})归因于空特征。用于评估的矩阵在3.4节

3.2 Class Sensitivity

解释方法的另一个预期属性是类敏感性,或者更通俗的说法是输出敏感度。如果 Φ a ( ⋅ ) \varPhi_a(\centerdot) Φa() Φ b ( ⋅ ) \varPhi_b(\centerdot) Φb() 两个output的贡献输入特征不同,那么对于这两个output的explanation也应该不同。为了测试这种属性,我们设计了两个场景:

3.2.1 Single Feature Scenario

只添加 f a f_a fa到基线输入X:

在这里插入图片描述
第二项为了确保 f a f_a fa对于输出 Φ b ( ⋅ ) \varPhi_b(\centerdot) Φb()为空特征,即去除 f a f_a fa不会影响输出 Φ b ( ⋅ ) \varPhi_b(\centerdot) Φb()

对比 Φ a ( ⋅ ) \varPhi_a(\centerdot) Φa() Φ b ( ⋅ ) \varPhi_b(\centerdot) Φb()的explanation,预期结果为对于 Φ a ( ⋅ ) \varPhi_a(\centerdot) Φa()的解释应该归因于 f a f_a fa,而 Φ b ( ⋅ ) \varPhi_b(\centerdot) Φb()的解释不应该归因于 f a f_a fa。用于评估的矩阵在3.4节

3.2.2 Double Feature Scenario

在该场景中,我们给参考输入X添加了两个特征 f a , f b f_a,f_b fa,fb,分别对应输出 Φ a ( ⋅ ) \varPhi_a(\centerdot) Φa() Φ b ( ⋅ ) \varPhi_b(\centerdot) Φb()

同样的,有两个并发优化:
在这里插入图片描述
在有 f b f_b fb的情况下,去除 f a f_a fa应该对 Φ b ( ⋅ ) \varPhi_b(\centerdot) Φb()没有影响

在这里插入图片描述
在有 f a f_a fa的情况下,去除 f b f_b fb应该对 Φ a ( ⋅ ) \varPhi_a(\centerdot) Φa()没有影响

预期结果:当输出解释从 Φ a ( ⋅ ) \varPhi_a(\centerdot) Φa() Φ b ( ⋅ ) \varPhi_b(\centerdot) Φb()时,explanation也应该从 f a f_a fa转换为 f b f_b fb

3.3. Feature Saturation

在本节中,我们设计了一个场景,其中的特性会使输出饱和。即输入特征 f a 1 , f a 2 f_{a_1},f_{a_2} fa1,fa2的组合 X { f a 1 , f a 2 } X_{\{f_{a_1},f_{a_2}\}} X{fa1,fa2}的输出,单独添加这两个特征的输出,这两个结果相同。

为此,要解决两个并发优化:
在这里插入图片描述
第一项生成 f a 1 f_{a_1} fa1使输出等于恒定值c,第二项确保在 f a 2 f_{a_2} fa2存在输入的情况下,移除 f a 1 f_{a_1} fa1不会影响输出值。

第二个并发优化:
在这里插入图片描述
在该装置中,只要存在以上两个特征中的一个就可以满足预期,因为它们对输出贡献度相同,所以两个特征对于输出归因的explanation也应该相等。

3.4. Metrics

在本节中,我们将介绍用于评估每个生成装置中属性的指标。我们将目标输出 Φ t ( ⋅ ) \varPhi_t(\centerdot) Φt()生成的explanation表示为 S t S_t St

  • Null Feature Metric:我们将其定义为分配给空特征的贡献相对于总分配的贡献:
    【2022】Do Explanations Explain? Model Knows Best_第3张图片

  • Class Sensitivity Metric:

    • Double Feature Scenario中,评估类敏感度公式如下:

    【2022】Do Explanations Explain? Model Knows Best_第4张图片

    • Single Feature Scenario中,评估类敏感度公式如下:
      【2022】Do Explanations Explain? Model Knows Best_第5张图片
  • Feature Saturation Metric
    在这里插入图片描述

3.5. Implementation Details

  • Reference/Baseline Input:视觉领域一般自定义地使用0或noise作为定义特征重要性的参考状态。而在本文框架不需要参考状态。我们不会对参考状态中的特征做任何假设。我们确保一个特征相对于参考是空的,并且我们的matrix只考虑特征而不考虑背景。
  • Deep Prior Network: 在patch上优化时不使用正则化容易陷入局部浅显的解决方案。我们使用“deep image prior”来限制解决方案空间,在生成patch之后添加一个随机初始化权重和输入的解码网络,以避免上述问题。也就是说,patch由该“prior network”来赋参数值。那么优化可以直接在“prior network”上实现,而非在patch上。
  • Experimental Setup: 只要优化可行,模型的选择不会影响我们的框架,且我们的框架不依赖已训练好的模型。一个随机网络产生的特征不会“看起来”可解释。
  • **Patch Optimization:**优化过程中,我们将patch放置图像中不同位置以确保生成结果不依赖patch的位置
  • Focal Loss:框架中的优化问题有多个损失函数,我们采用Focal Loss[10]来平衡损失函数间的优化问题。

4. Results and Discussion

评估了目前流行的多个类别的explanation方法。

  • theoretically axiomatic methods: DeepSHAP、IntegratedGradient
  • network attention: GradCAM、GradCAM++、FullGrad
  • two recent promising solutions: IBA 、 Extremal Perturbations.

4.1. Null Feature

检验explanation是否会将输出归因于null feature,即是否会将null feature判定为重要(框架能保证null feature 没有任何contribution)。先用框架生成1000个输入,对于每一个输入样本,该feature生成的输出都是随机的。

计算每个生成输入的null feature matric,其平均值为:Table1

Null feature experiment评估将输出归因于null feature的程度,值越小表示该explanation越好,最好的为Extremal Perturbation
【2022】Do Explanations Explain? Model Knows Best_第6张图片

生成输入的实例为:Fig1
【2022】Do Explanations Explain? Model Knows Best_第7张图片
最左边第一张图靠下的patch是生成出来的对output为null feature。其他图像为不同explanation,理想情况为explanation不应赋给生成patch任何importance。其中GradCAM、IBA和Extremal Perturbation表现最好。

  • FullGrad, DeepSHAP, Gradient, GuidedBackProp: worst,这些方法可能将输入的所有特征都赋为了importance

  • GuidedBackProp:重构了图像特征而不是解释预期输出。我们的结果与[]的发现相吻合。

  • Gradient: 也对输入的所有特征敏感。

  • DeepSHAP:包含SHAP方法,使用了back propagation机制(该机制由DeepLift设计)。看来back propagation 是导致此问题的原罪,因为其他的gradient方法在实验中都出现了这种问题。

  • GradCAM:几乎没有给null feature归因。其归因值分配可能是因为CAM的低分辨率导致的。GradCAM使用深层的 gradient/activations,和前面提到的几种方法没有可比性

  • IBA、Extremal Perturbation:都是基于removal of feature,所以成功规避了null feature

我们还在ResNet神经网络不同层评估了IBA和GradCAM++。它们的优点之一是可以应用于早期layers,以产生更高分辨率的map。但是随着我们将其往更早期的layer移动,这两种方法会归因到null feature上,且这种现象在GradCAM++上更严重。这解释了为什么要将这些explanation方法用于深层而非早期层。

【2022】Do Explanations Explain? Model Knows Best_第8张图片

【2022】Do Explanations Explain? Model Knows Best_第9张图片

4.2. Class Sensitivity

4.2.1 Double Feature Scenario

实验目的在于观察对应不同特征对应输出的explanation相异之处。

数值评估结果在Table 1

可视化例子:Fig 3
【2022】Do Explanations Explain? Model Knows Best_第10张图片
在参考输入上生成的两种特征应该对应有不同输出。靠下的特征块对应右边第一行输出,靠上特征块对应右边第二行输出。预期结果为两种输出对应的explanation应该不同并且将输出对应地归因为相应输入特征。GradCAM,IBA,Extremal Perturbation可以证实这个属性。

作者团队还观察到了explanation加在早期层上会变得没有那么class sensitive。

4.2.2 Single Feature Scenario

评估只有一个contributing地输入特征时explanation地class sensitivity

假设对相应特征输出的解释类似于对该特征不参与的输出的解释。在这种情况下,解释对输出不敏感。

数值评估在Table 1

图像示例:
【2022】Do Explanations Explain? Model Knows Best_第11张图片
生成的feature只对一个输出(右边图片第一行)有贡献,而对另外一个输出(右边第二行图片)的contribution为null。预期结果为两个output的explanation应该不同,而且,第二行explanation不能将null输出归因为生成的feature。只有GradCAM归因正确。

4.3. Feature Saturation

实验目的在于当输入特征饱和时,不同归因方法的行为。在这种情况下的预期属性为explanation归因于两个feature。

评估数值:Table 1
可视化示例:

【2022】Do Explanations Explain? Model Knows Best_第12张图片
一行即为特征饱和实验的示例。此实验中每一个特征块都能使output饱和。也就是说单个特征和特征的组合都能生成相同输出。预期结果为归因方法应该认为这两个feature的contribution相等。观察得Extremal Perturbation和IBA倾向于将output都归因于一个feature,因为这两种方法的形式都基于保留能维持output prediction的区域,但其实这两种方法也能只选出每个feature的部分区域。

4.4. Limitations

  • 在多个损失函数之间寻找优化的平衡点是一项挑战,为此我们使用了focal loss和hyper parameter tuning
  • 优化时间也是一项挑战。然而该框架只能set up一次。如果设置地更复杂,比如再多加feature就要再多加优化项。

5. Conclusion

你可能感兴趣的:(论文阅读,神经网络,深度学习,人工智能)