很多文献试着去打开输入特征到神经网络输出这个黑箱,这些explanations指出了不同特征都很重要,但是那个explanation值得我们trust?
本文提出了一个能使用神经网络模型本身对explanation评估的框架。该框架使用神经网络来生成输入特征,这些输入特征能将指定行为加在输出上。利用生成的特征,我们设计控制实验装置来评估解释方法是否符合公理。因此,我们提出了一个对解释方法进行公理化评价的经验框架。我们使用提出的框架来评估知名的和有前途的解释解决方案。该框架提供了一个工具集来揭示现有和未来解释解决方案中的属性和缺陷。
因为我们的框架是用于评估特征属性方法的,故引入了几篇相关方法文献。
之后我们引入了特征 可视化/生成 方法,因为我们也在框架中用到了它们。
特征属性问题与识别贡献到输出值的输入特征有关。在神经网络文献中,从不同的角度研究了这一问题。然而,许多归因解决方案的基本原则是,特征的“重要性”或贡献的概念与去除该特征对输出值的影响有关。这些解决方案大致可以分为以下几类(有些解决方案属于多个类别)。
Backpropagation:线性接近网络并提出梯度作为归因。Deconvolution、GuidedBackProp 向后传播一个修改过的梯度。Integrated gradients通过集成两个输入状态之间的梯度来分配相对于基线输入的输出变化。LRP,DeepLIFT 每层向后传播contribute,其中的contribution也是基于removal方式的。
Perturbation/Removal:隐式地基于removal。它们 mask/perturb 输入特征来观察输出变化。
Latent Features:
Game Theory:在合作博弈论中(cooperative game theory),归因问题可以看作是一种信用分配问题。这是通过假设 网络的功能是一个分数函数,输入特征是玩家 来实现的。这个问题的中同时满足多个公理的解是Shapley值。这一概念也是基于移除玩家(the removal of players)以及移除对分数函数(removal on score function)的影响。Shapley值考虑在所有可能的组合中移除一个牌手。由于计算的复杂性,提出了几种近似的神经网络。
识别哪些输入模式/特征激活了神经元,这通常被称为特征可视化。从本质上说,这些方法生成的图像可以最大化某些神经元的激活。这可以通过在保持网络参数不变的情况下对图像进行优化来实现。但是,由于这些工作都有可能找到平凡解,所以这些工作中的优化都是正则化的。我们可以在我们的框架中使用这些解决方案中的任何一个。我们先选择深图像(参见3.5节)。框架中使用的另一个方法是对抗性补丁(adversarial patch)。
本文框架属于“ground truth”和“axiomatic”
Do Explanations Explain?:早期工作(Deconvolution、Guided Backpropagation)都是重构图像特征而非解释预测。因此,一个解释可以在视觉上被解释,但并不是真正的解释。本节的工作是调查解释方法是否确实解释了预测,以及它是否可信。每一件作品都从不同的角度来评价一种解释。我们将这些工作作了如下分类:
控制实验环境:控制那些特征贡献神经网络函数的输出,并设计场景来测试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,根据场景的不同,它可以与以下任何一个相关联:
要么生成可以实现恒定目标值 c c c的patch:
此处 £ C E \mathsterling_{CE} £CE为交叉熵。
该模块目标在于设计一个测试空特征公理(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} 2N−1种)的输出分数函数 Φ 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恒定不变。
优化问题定义为以下两个并发优化:
£ 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} fa、fnull的基线噪音图像X。
此装置的目的是测试解释方法是否将输出 Φ a ( X { f a , f n u l l } ) \varPhi_a(X_{\{f_a,f_{null}}\}) Φa(X{fa,fnull})归因于空特征。用于评估的矩阵在3.4节
解释方法的另一个预期属性是类敏感性,或者更通俗的说法是输出敏感度。如果 Φ a ( ⋅ ) \varPhi_a(\centerdot) Φa(⋅) 、 Φ b ( ⋅ ) \varPhi_b(\centerdot) Φb(⋅) 两个output的贡献输入特征不同,那么对于这两个output的explanation也应该不同。为了测试这种属性,我们设计了两个场景:
只添加 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节
在该场景中,我们给参考输入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。
在本节中,我们设计了一个场景,其中的特性会使输出饱和。即输入特征 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也应该相等。
在本节中,我们将介绍用于评估每个生成装置中属性的指标。我们将目标输出 Φ t ( ⋅ ) \varPhi_t(\centerdot) Φt(⋅)生成的explanation表示为 S t S_t St
Class Sensitivity Metric:
Double Feature Scenario
中,评估类敏感度公式如下:评估了目前流行的多个类别的explanation方法。
检验explanation是否会将输出归因于null feature,即是否会将null feature判定为重要(框架能保证null feature 没有任何contribution)。先用框架生成1000个输入,对于每一个输入样本,该feature生成的输出都是随机的。
计算每个生成输入的null feature matric,其平均值为:Table1
Null feature experiment评估将输出归因于null feature的程度,值越小表示该explanation越好,最好的为Extremal Perturbation
生成输入的实例为:Fig1
最左边第一张图靠下的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方法用于深层而非早期层。
实验目的在于观察对应不同特征对应输出的explanation相异之处。
数值评估结果在Table 1
可视化例子:Fig 3
在参考输入上生成的两种特征应该对应有不同输出。靠下的特征块对应右边第一行输出,靠上特征块对应右边第二行输出。预期结果为两种输出对应的explanation应该不同并且将输出对应地归因为相应输入特征。GradCAM,IBA,Extremal Perturbation可以证实这个属性。
作者团队还观察到了explanation加在早期层上会变得没有那么class sensitive。
评估只有一个contributing地输入特征时explanation地class sensitivity
假设对相应特征输出的解释类似于对该特征不参与的输出的解释。在这种情况下,解释对输出不敏感。
数值评估在Table 1
图像示例:
生成的feature只对一个输出(右边图片第一行)有贡献,而对另外一个输出(右边第二行图片)的contribution为null。预期结果为两个output的explanation应该不同,而且,第二行explanation不能将null输出归因为生成的feature。只有GradCAM归因正确。
实验目的在于当输入特征饱和时,不同归因方法的行为。在这种情况下的预期属性为explanation归因于两个feature。
评估数值:Table 1
可视化示例:
一行即为特征饱和实验的示例。此实验中每一个特征块都能使output饱和。也就是说单个特征和特征的组合都能生成相同输出。预期结果为归因方法应该认为这两个feature的contribution相等。观察得Extremal Perturbation和IBA倾向于将output都归因于一个feature,因为这两种方法的形式都基于保留能维持output prediction的区域,但其实这两种方法也能只选出每个feature的部分区域。