Abstract(摘要)
本文研究了将深度网络的预测结果归因于输入特征的问题,这一问题此前已有多项研究。作者提出了两个基本公理——敏感性(Sensitivity) 和实现不变性(Implementation Invariance),认为归因方法应当满足这两个公理。研究发现,大多数现有归因方法都不满足这些公理,这被视为这些方法的根本缺陷。基于这两个公理,作者设计了一种新的归因方法——积分梯度(Integrated Gradients)。该方法无需修改原始网络,实现极其简单,仅需调用几次标准梯度算子。作者将其应用于多个图像模型、文本模型和一个化学模型,证明了其在调试网络、从网络中提取规则以及帮助用户更好地与模型交互方面的能力。
1. Motivation and Summary of Results(动机与结果概述)
本文聚焦于“将深度网络的预测归因于输入特征”这一问题。
-
归因的定义:形式化地,设函数F:Rn→[0,1]F: \mathbb{R}^n \to [0,1]F:Rn→[0,1]表示深度网络,输入x=(x1,...,xn)∈Rnx=(x_1,...,x_n) \in \mathbb{R}^nx=(x1,...,xn)∈Rn,则相对于基线输入(x’)的归因是一个向量(AF(x,x′)=(a1,...,an)(A_F(x, x')=(a_1,...,a_n)(AF(x,x′)=(a1,...,an),其中aia_iai是xix_ixi对预测结果F(x)F(x)F(x)的贡献。例如,在目标识别网络中,归因方法可指出哪些像素对标签预测起作用(见图2)。
-
归因的意义:理解网络的输入-输出行为有助于改进模型;在实际应用中,可解释推荐理由(如医学影像模型告知医生关键区域)、帮助开发者提取规则(如从网络中挖掘决策逻辑)。
-
现有方法的问题:归因方法的实证评估较困难(难以区分模型错误与归因方法错误),因此作者采用公理方法,提出两个核心公理。现有方法(如DeepLift、LRP等)不满足这些公理,而新方法“积分梯度”满足,且无需修改网络,易于实现。
-
基线的必要性:归因依赖反事实直觉(判断某个特征的影响需对比其“不存在”时的结果),基线即“不存在”的输入(如图像的黑色图像),这一点在先前研究中也被提及。
2. Two Fundamental Axioms(两个基本公理)
作者提出两个归因方法必须满足的公理,并指出现有方法的缺陷。
2.1. Axiom: Sensitivity(a)(敏感性公理)
-
定义:若输入与基线仅在一个特征上不同,且预测结果不同,则该特征的归因必须非零。
-
梯度方法的缺陷:梯度(及梯度与特征值的乘积)是深度网络中类似线性模型系数的自然类比,但违反敏感性。例如,对于单变量ReLU网络f(x)=1−ReLU(1−x)f(x)=1-ReLU(1-x)f(x)=1−ReLU(1−x),基线x′=0x'=0x′=0,输入x=2x=2x=2时,预测从0变为1,但因x≥1x≥1x≥1时函数平坦(梯度为0),梯度方法给x的归因是0,违反敏感性。实际中,这会导致梯度聚焦于无关特征(如图2的“fireboat”例子)。
-
其他反向传播方法的缺陷:DeConvNets、Guided backpropagation等方法在ReLU关闭时不反向传播信号,类似梯度,也违反敏感性(即使特征影响预测,归因仍为0)。
问题2.1: 为什么梯度方法有缺陷?如何理解?
这需要结合敏感性公理(Sensitivity(a))的定义和梯度方法的特性来理解,具体可拆解为以下三层逻辑:
1. 敏感性公理(Sensitivity(a))的核心要求
根据论文定义,敏感性公理(Sensitivity(a))的核心是:
如果输入与基线仅在一个特征上存在差异,且两者的预测结果不同,那么这个差异特征的归因值必须非零
。
这是因为该特征直接导致了预测结果的变化,理应被归因方法“识别”并赋予非零贡献。
2. 案例中输入与基线的差异及预测结果
在案例中:
- 基线为x′=0x' = 0x′=0,此时函数f(x′)=1−ReLU(1−0)=1−1=0f(x') = 1 - ReLU(1 - 0) = 1 - 1 = 0f(x′)=1−ReLU(1−0)=1−1=0;
- 输入为x=2x = 2x=2,此时函数f(x)=1−ReLU(1−2)=1−0=1f(x) = 1 - ReLU(1 - 2) = 1 - 0 = 1f(x)=1−ReLU(1−2)=1−0=1。
可见,输入与基线仅在特征xxx上有差异(从0变为2),且预测结果从0变为1(明显不同)。根据敏感性公理(Sensitivity(a)),特征xxx的归因值必须非零(因为它是唯一导致预测变化的原因)。
3. 梯度方法为何违反敏感性公理?
梯度方法的归因逻辑是用输入处的梯度值衡量特征贡献,但在这个案例中:
- 函数f(x)=1−ReLU(1−x)f(x) = 1 - ReLU(1 - x)f(x)=1−ReLU(1−x)的图像在x≥1x \geq 1x≥1时是“平坦”的(导数为0)。
- 当x≥1x \geq 1x≥1时,1−x≤01 - x \leq 01−x≤0,ReLU(1−x)=0ReLU(1 - x) = 0ReLU(1−x)=0,因此f(x)=1−0=1f(x) = 1 - 0 = 1f(x)=1−0=1,函数值恒为1,梯度(导数)为0。
- 输入x=2x = 2x=2恰好落在x≥1x \geq 1x≥1的区间内,此时梯度为0,因此梯度方法给特征xxx的归因值为0。
但这与敏感性公理矛盾:特征xxx明明是导致预测结果从0变为1的唯一原因,却被梯度方法赋予了0归因,完全忽略了其实际贡献。总结
梯度方法仅关注输入点处的瞬时梯度,而当函数在输入点处“平坦”(梯度为0)时,即使该特征实际影响了预测结果(如案例中xxx从0到2导致预测从0到1),梯度方法也会错误地赋予其0归因。这种“漏报”关键特征贡献的行为,直接违反了敏感性公理(Sensitivity(a))的要求。
这也正是论文强调梯度方法存在根本缺陷的原因——它无法可靠地识别对预测结果有实际影响的特征。
2.2. Axiom: Implementation Invariance(实现不变性公理)
-
定义:功能等价的网络(输入输出相同,实现不同)应具有相同归因,因为归因是对输入特征的“功劳/责任”分配,与网络实现细节无关。
-
DeepLift和LRP的缺陷:这两种方法使用“离散梯度”而非瞬时梯度,且修改了反向传播逻辑。离散梯度不满足链式法则f(x1)−f(x0)g(x1)−g(x0)≠f(x1)−f(x0)h(x1)−h(x0)⋅h(x1)−h(x0)g(x1)−g(x0)\frac{f(x_1)-f(x_0)}{g(x_1)-g(x_0)} \neq \frac{f(x_1)-f(x_0)}{h(x_1)-h(x_0)} \cdot \frac{h(x_1)-h(x_0)}{g(x_1)-g(x_0)}