想象这样一支登山队:队长要整理一份“登顶功劳簿”,精确记录每个队员——背氧气瓶的、拿绳索的、挥冰镐的——分别对最终登顶贡献了多少力气。直接问“最后一步谁推了一把”显然不公平:最后那段是近乎垂直的冰壁,氧气瓶在这里帮不上忙,可没有它,队伍根本走不到冰壁脚下。积分梯度就是一套“全程记账法”:让队伍从山脚大本营出发,沿着固定路线匀速推进,每走一小段就记录一次每位队员的发力读数,走完全程后把每段读数累加平均,得到一份公平合理的功劳清单。它还有一条硬性保证——所有队员的贡献相加,恰好等于从大本营到山顶的总爬升高度,一分不多一分不少。这套方法让深度模型不再是“黑箱”:面对“模型为什么拒绝这笔贷款”“模型为什么认为这张X光片有肺炎”这类疑问,它能精确定位到每一个输入维度的贡献。接下来,我们把登山装备穿上,看看途中每一段路的风景:从局部观察为何冤枉功臣,到大本营怎么选、路线怎么定,再到账本如何落地为代码、如何画成地图、如何经受复查。

岗位关联

掌握积分梯度,等于为深度模型装上一套“功劳审计系统”——在 AI 治理、金融风控与医疗诊断等需要交代“为什么”的岗位上,这是可解释 AI 工程师的核心技能。

目录
  1. 可视化演示
  2. 问题起源
  3. 基线设定
  4. 积分路径
  5. 公理性质
  6. 积分公式
  7. 算法调优
  8. 结果可视化
  9. 稳定性评估
  10. AI 应用场景
  11. Python 演示
  12. 常见误区
  13. 面试题

可视化演示

动态演示积分梯度的核心机制,通过基础/核心/应用/扩展四种模式展示关键概念与交互流程。

本节配有交互动效(进入视口后自动加载,约 3KB)。

积分梯度:积分梯度 积分梯度方法的基本概念与公理基 基线选择策略与路径积分构造 核心机制可视化 积分梯度整体架构与关键组件

问题起源

登山队攻顶的最后一段是近乎垂直的冰壁。氧气瓶在这个位置的“即时助力”几乎为零——无论背多少氧气,冰壁该爬不动还是爬不动。但谁都知道,没有氧气瓶,队伍在半山腰就倒下了。如果只记录最后一步每个人的推力,就会把真正的功臣冤枉成摆设。

深度模型里也有同样的“氧气瓶时刻”。当输入特征让神经元落入饱和区时,模型对特征微调的响应会变得极其迟钝。这时候直接观察“某个特征抖动一下,输出变多少”,得到的读数接近于零,但这不代表该特征不重要——它可能在前面的路段起了决定性作用。这种只看眼下、不看全程的观察方式,就是朴素局部梯度的致命缺陷。

所以,要算功劳不能只问“最后一步谁用了力”,而要追问“从起点到终点的每一段,谁一直在做功”。这正是积分梯度把镜头拉远到全程的原因——它用一条从反事实基准出发的完整路径,替代了单点上的惊鸿一瞥。

∂F(x)∂xi\frac{\partial F(x)}{\partial x_i}
这个符号表示“只让第 i 个特征动一点点,模型输出会跟着变化多少”的瞬时斜率。它是局部视角,像只看攻顶最后一米。
  1. 求偏导固定其他特征不动,只考虑第 i 个特征对输出的影响,得到 x 点附近输出随该特征变化的极限斜率。
    ∂F∂xi=lim⁡ε→0F(x+εei)−F(x)ε\frac{\partial F}{\partial x_i} = \lim_{\varepsilon \to 0} \frac{F(x + \varepsilon e_i) - F(x)}{\varepsilon}
  2. 瞬时局部性这个值只代表 x 点邻域的画面,邻域缩到无穷小,自然看不到远处曾经的发力。
    ε→0,邻域极小\varepsilon \to 0, \quad \text{邻域极小}

基线设定

要记全程账,先得定“零刻度”。探险队的记账本上,每个人都从大本营出发,大本营的海拔就是贡献的起点。如果把大本营设在半山腰的常驻营地,那每个队员“从出发到现在走了多高”的读数,和从海平面出发的结果会完全不同。零刻度选在哪,直接决定了功劳簿的数值含义。

积分梯度里的基线(baseline)就是这个零刻度——一个特征处于“无信息/缺失”状态的参考样本。它必须比目标输入更“空”,还要可计算、可复现。常见选择有四种:零基线(图像全黑、文本全零向量)、均值基线(训练集各特征均值)、模糊基线(多张图叠加平均)以及领域基线(如 NLP 中的 [MASK] 掩码序列)。

选对了大本营,功劳簿的“海拔”才有意义;基线不同,同一份归因结果可能截然不同。所以实务中要做多基线交叉验证,就像同时设两个营地对账——只有当不同基线下的归因结论一致时,结果才值得被采信。

xi′=1N∑j=1Nxi(j)x'_i = \frac{1}{N}\sum_{j=1}^{N} x^{(j)}_i
这是均值基线的定义:把训练集所有样本在第 i 个特征上的值取平均,得到“平均长相”作为无信息参考。
  1. N 个训练样本把训练集里全部样本的第 i 个特征值收集起来。
    xi(1),xi(2),…,xi(N)x^{(1)}_i, x^{(2)}_i, \dots, x^{(N)}_i
  2. 求平均算术平均得到“典型值”,它在统计意义上最中规中矩,适合做无信息的出发营。
    xˉi=1N∑j=1Nxi(j)\bar{x}_i = \frac{1}{N}\sum_{j=1}^{N} x^{(j)}_i

积分路径

大本营到山顶,可以绕山走盘山道,也可以坐索道直线拉升。积分梯度选择的是索道——一条从基线到目标输入笔直的线性插值路径。为什么走直线?因为直线保证“全程距离”对每个特征都是公平的,不会被绕路的冗余里程稀释,结果也天然可复现。

这条路径由进度参数 α 控制,α 从 0 匀速走到 1。α=0 时还在大本营(基线),α=1 时到达目标点(输入)。路径上的每一个中间点,都是“无信息基线”和“真实输入”的加权混合,权重由 α 决定。

索道只有一条,路线固定,所以任何两支队伍按同一套方法登山,记下的账应该完全一样——路径唯一性保证了归因的公信力。这也是积分梯度区别于其他启发式方法的关键:解释不是“看心情选路线”,而是“人人走同一条公平的直线”。

x(α)=x′+α(x−x′),α∈[0,1]x(\alpha) = x' + \alpha (x - x'), \quad \alpha \in [0,1]
这是积分路径的数学定义:每个中间点都是基线与输入的线性混合,α 是走过的比例。
  1. 终点差 (x - x')每个特征从基线到目标的总位移,相当于队员要背的总物资差。
    Δx=x−x′\Delta x = x - x'
  2. 路径进度 α0 表示还没出发,1 表示已经到达目标。
    x(0)=x′,x(1)=xx(0) = x', \quad x(1) = x
  3. 当前坐标 x(α)缆车在路径上的实时位置,梯度就在这里取值。
    x(α)=x′+αΔxx(\alpha) = x' + \alpha \Delta x

公理性质

队长向全员承诺一条铁律:无论怎么记,所有队员的贡献加总,必须刚好等于队伍的净爬升高度。如果账本加起来对不上总数,就一定有人记错了账。这条“合力守恒”原则在学术上称为完备性公理。

积分梯度是少数同时满足多条公理的归因方法:敏感性公理要求“特征从基线到目标有变化且导致输出变化,就必须获得非零归因”;实现不变性要求“功能等价的网络(哪怕参数、结构实现不同)产生完全相同的归因”;对称性公理则确保对称输入中对称的特征得到对称的归因。这些公理共同构成了一份“公平记账”的验收标准。

有了合力守恒,功劳簿就经得起任何审计——有人来对账,结果分毫不差。配上敏感性公理和实现不变性,积分梯度成了可解释 AI 领域公认的“标准化记账法”,也是少数能在数学上给出强保证的归因工具。

∑i=1nIGi(x)=F(x)−F(x′)\sum_{i=1}^{n} \text{IG}_i(x) = F(x) - F(x')
完备性公理:所有特征的归因加起来,恰好等于目标输入的模型输出减去基线输入的模型输出。
  1. 左边归因求和把 n 个特征各自的积分梯度归因全部加总。
    IG1+IG2+⋯+IGn\text{IG}_1 + \text{IG}_2 + \cdots + \text{IG}_n
  2. 右边预测差输入 x 由模型得到的输出,减去基线 x' 得到的输出。
    F(x)−F(x′)F(x) - F(x')
  3. 等式含义归因总和严格等于可解释的“净变化”,一分不多一分不少。
    ∑iIGi≡F(x)−F(x′)\sum_i \text{IG}_i \equiv F(x) - F(x')

积分公式

现在正式写记账公式:缆车每前进极小一段,记录一次每个队员的“推背感”(梯度),到站后把全程读数累加,再乘上该队员的总行程。对第 i 个队员,他的功 = 总行程 × 全程平均发力。把这个朴素逻辑翻译成数学语言,就是积分梯度公式。

公式由三部分组成:基线差因子(总行程)、沿路径的梯度(每段发力)、积分号(全程累加)。值得注意的是,梯度是在“插值点”处计算的,而不是只在最终输入点计算——这正是它区别于朴素局部梯度的本质。

这就是那份“全程做功”账本的数学表达:既不只看最后一步的瞬时坡度,也不简单删掉特征做消融,而是老老实实从大本营出发,一路记录、一路累加。最后一步还顺便预告了计算机的实现方式——用求和近似积分。

IGi(x)=(xi−xi′)∫α=01∂F(x′+α(x−x′))∂xi dα\text{IG}_i(x) = (x_i - x'_i) \displaystyle\int_{\alpha=0}^{1} \frac{\partial F\left(x' + \alpha (x - x')\right)}{\partial x_i} \, d\alpha
第 i 个特征的积分梯度 = 基线差 × 沿整条插值路径的梯度积分。它把“全程每小段的发力”加权重地累加成一个数。
  1. 基线差 (x_i - x'_i)第 i 个队员在行程两端的位置差,用来把发力换算成做工。
    xi−xi′x_i - x'_i
  2. 路径点 x' + α(x - x')缆车当前所在的插值坐标,模型的梯度就是要在这个点上取值。
    F(x′+α(x−x′))F\left(x' + \alpha (x - x')\right)
  3. 偏导 ∂F/∂x_i该点的瞬时发力强度,也就是山坡的坡度。
    ∂F∂xi∣x(α)\frac{\partial F}{\partial x_i}\Bigg|_{x(\alpha)}
  4. 积分 ∫dα把从 0 到 1 每一小段的发力乘上段长再累加,完成全程记账。
    ∫01g(α) dα≈1m∑k=1mg(km)\int_0^1 g(\alpha)\,d\alpha \approx \frac{1}{m}\sum_{k=1}^{m} g\left(\frac{k}{m}\right)

算法调优

现实中缆车不会无限细分——每停一次都要付一次探测费(一次反向传播计算)。队长决定每前进 1/50 停一次,记 50 笔账。停得越密账越细,但探测费也越贵;停得太稀又可能漏掉关键坡段。这个“停靠密度”就是采样步数 m。

计算机里用离散采样近似连续积分:把路径均匀切成 m 段,在每个采样点 x' + (k/m)(x - x') 处计算梯度,取平均后乘上基线差。梯度计算可以借助深度学习框架的自动微分一次性批量完成,所以实际开销可控。

调优经验上:m 常取 20 到 200;用收敛性检验(逐步增大 m 看归因是否稳定)代替盲目加大步数;对基线做多种选择交叉验证;批量计算路径点可复用前向结果提升效率。队长的“每 1/50 停一次”策略,正是调参的智慧——在精度、成本与可靠性之间找平衡。

IGi(x)≈xi−xi′m∑k=1m∂F(x′+km(x−x′))∂xi\text{IG}_i(x) \approx \frac{x_i - x'_i}{m} \displaystyle\sum_{k=1}^{m} \frac{\partial F\left(x' + \frac{k}{m}(x - x')\right)}{\partial x_i}
这是积分梯度的离散实现公式:m 个采样点的平均梯度 × 基线差,就是积分的数值近似。
  1. 采样点 k/m均匀切分路径,第 k 个探针的进度位置。
    αk=km,k=1,2,…,m\alpha_k = \frac{k}{m}, \quad k = 1, 2, \dots, m
  2. 平均梯度所有采样点梯度的算术平均,等价于矩形法求积分。
    1m∑k=1m∂F(x(αk))∂xi\frac{1}{m}\sum_{k=1}^{m} \frac{\partial F(x(\alpha_k))}{\partial x_i}
  3. 外乘基线差把平均发力乘上总位移,完成做功标定。
    (xi−xi′)×平均梯度(x_i - x'_i) \times \text{平均梯度}

结果可视化

账目算完,队长把功劳画成一张“功劳地图”:功劳最大的队员标成炽热的红色,拖后腿的标成冷蓝色,无关紧要的保持透明。谁在扛大梁,一眼便知。归因结果的视觉化,就是把冷冰冰的数值翻译成人类能秒懂的直觉信号。

图像任务中,每个像素或超像素的归因值叠加在原图上,形成热力图:正值区域用暖色高亮(模型“看见”并依赖的区域),负值区域用冷色标记(抑制预测的区域)。表格任务里用横向条形图按归因值排序,前几名就是决策主因;文本任务则给 token 加背景高亮,词的颜色越深,对情感判断的贡献越大。

  • 图像热力图:用红正蓝负的发散色带叠加,配合高斯模糊平滑噪声
  • 条形图:按归因绝对值排序,快速定位 top 贡献特征
  • 文本高亮:按 token 归因绝对值映射背景色透明度
  • 图像叠加:将低分辨率归因上采样到原图分辨率再融合

功劳地图让“账本”变成人人能懂的视觉语言。但地图再漂亮,也要先经过稳定性检验——否则它可能只是一张随机雪花噪点图,看似斑斓,实则毫无信息。

稳定性评估

账必须经得起复核。队长不会只爬一次山就下结论——万一当天有侧风(随机噪声),某段路的读数可能有偏差。他会让队伍在多云、晴天各爬几次,比较同一段的账目是否一致。如果同一段路的读数忽高忽低,这段账就不能轻易采信。

稳定性评估指的是归因结果对随机因素不敏感。这些随机因素包括:采样步数导致的离散化波动、模型训练随机性、输入上叠加的微小扰动。常用方法有三种:重复实验(多次独立计算归因)、扰动检验(对输入加微小噪声看归因是否剧烈变化)、方差分析(量化多次归因的离散程度)。

判读经验:方差小 → 归因可信;方差大 → 需要增大步数、换基线或检查输入预处理是否引入噪声。只有经得起反复复核的功劳簿,才能交给监管、医生与客户——稳定性是归因结果从“看着合理”走向“真的可信”的最后一道关。

Var(IGi)=1R∑r=1R(IGi(r)−IG‾i)2\text{Var}(\text{IG}_i) = \frac{1}{R}\displaystyle\sum_{r=1}^{R}\left(\text{IG}_i^{(r)} - \overline{\text{IG}}_i\right)^2
归因方差:多次重复实验得到的归因值围绕均值波动的平均幅度。方差小,说明这套账目稳健可信。
  1. R 次重复实验独立计算同一特征 R 次的归因结果。
    IGi(1),IGi(2),…,IGi(R)\text{IG}_i^{(1)}, \text{IG}_i^{(2)}, \dots, \text{IG}_i^{(R)}
  2. 均值中心这些归因的平均值作为波动中心。
    IG‾i=1R∑r=1RIGi(r)\overline{\text{IG}}_i = \frac{1}{R}\sum_{r=1}^{R}\text{IG}_i^{(r)}
  3. 方差计算各组偏离中心的平均平方,方差小说明归因稳健。
    1R∑r=1R(IGi(r)−IG‾i)2\frac{1}{R}\sum_{r=1}^{R}\left(\text{IG}_i^{(r)} - \overline{\text{IG}}_i\right)^2

AI 应用场景

金融信贷审批的拒贷解释

阶段:模型部署后的合规审计

解决的问题:监管要求银行对拒贷决定给出明确理由。传统评分卡用规则解释,但深度模型表现更好却说不清原因。积分梯度对“拒贷”输出做特征归因,输出收入、负债率、历史信用各自的贡献值,把黑箱决策变成可审计的报告。

具体案例:某客户收入高但负债率高被拒,积分梯度显示“负债率”贡献 0.62、“收入”贡献 0.18、“历史信用”贡献 0.05。银行据此生成报告:负债率过高是主因,建议客户降低负债后复议。这在信贷审核的合规场景中直接落地。

医疗影像的病灶定位

阶段:模型决策验证

解决的问题:医生不会盲信一个概率数字。积分梯度生成热力图,高亮模型判读肺炎时的关键像素区域,让医生快速核对模型的关注点是否落在肺叶纹理异常处,而不是背景噪声。

具体案例:胸片模型输出肺炎概率 0.92,积分梯度热力图在右下肺野出现高亮团块,与影像科医生的标注一致。医生对 AI 建议的采纳率明显提升,同时发现了热力图在高亮区域外的微弱负贡献,提示模型对图像边缘存在轻微依赖。

电商差评的归因分析

阶段:特征工程与模型诊断

解决的问题:情感分析判断“差评”容易,但想知道到底是哪个因素拉低了评分。积分梯度在文本 token 级别做高亮,定位到具体的抱怨点,帮助产品团队理解用户痛点。

具体案例:评论“发货慢但质量好”被模型判为中性偏正,积分梯度显示“慢”的负贡献绝对值大于“好”的正贡献。产品团队据此调整物流权重,并验证了模型对“慢”这类敏感词的高度依赖,避免了对“慢”字单一特征的过度拟合。

Python 演示

python44 行
import torchimport torch.nn as nn  def integrated_gradients(model, x, baseline, target=0, steps=50):    # 沿基线到输入的线性插值路径采样, 累加梯度近似积分    alphas = torch.linspace(0, 1, steps)    grads = []    for alpha in alphas:        interp = (baseline + alpha * (x - baseline)).requires_grad_(True)        model.zero_grad()        out = model(interp)        out[0, target].backward()        grads.append(interp.grad.clone())    grad_stack = torch.stack(grads, dim=0)    avg_grad = grad_stack.mean(dim=0)    ig = (x - baseline) * avg_grad    return ig  torch.manual_seed(42)model = nn.Sequential(    nn.Linear(3, 8),    nn.ReLU(),    nn.Linear(8, 1),) # 贷款审批模拟: [收入, 负债率, 历史信用]x = torch.tensor([[0.85, 0.55, 0.95]])baseline = torch.zeros_like(x) for m in (20, 50, 200):    ig_m = integrated_gradients(model, x, baseline, steps=m)    print(f"steps={m}, total={ig_m.sum().item():.4f}, ig[2]={ig_m[0,2].item():.4f}") ig = integrated_gradients(model, x, baseline, steps=50)pred_score = model(x).item()blank_score = model(baseline).item()print(f"prediction gap: {pred_score - blank_score:.4f}")print(f"attribution sum: {ig.sum().item():.4f}")print(f"feature attributions: {ig.squeeze().tolist()}") gap_error = abs(ig.sum().item() - (pred_score - blank_score))print(f"completeness error: {gap_error:.6f}")
目的:用 PyTorch 实现积分梯度,对一个小型神经网络计算三个输入特征(收入、负债率、历史信用)的归因,并验证完备性公理与步数收敛性。
  1. alphas = torch.linspace(0, 1, steps)把 0 到 1 均匀切成 steps 段,对应缆车的停靠点序列
  2. interp = (baseline + alpha * (x - baseline)).requires_grad_(True)生成路径上当前位置的插值输入,并开启梯度追踪
  3. out[0, target].backward()在该点反向传播,得到模型输出对输入的瞬时坡度
  4. grad_stack.mean(dim=0)对所有采样点的梯度取平均,用矩形法近似积分
  5. ig = (x - baseline) * avg_grad基线差乘平均梯度,完成做功标定得到最终归因
  6. gap_error = abs(ig.sum().item() - (pred_score - blank_score))完备性核对:归因总和应约等于输出差

常见误区

误区很多新手把积分梯度归因当成消融实验——觉得特征归因是 0.5,就表示把这个特征删掉,预测会下降 0.5。

正解这是把“积分贡献”误当成了“反事实差值”。积分梯度回答的是“该特征从基线走到目标值的过程中提供了多少推动”,而不是“删掉它会发生什么”。删掉一个特征会改变输入分布和模型计算图,两者完全不同。用登山比喻:氧气瓶的贡献是“从山脚到山顶它帮了多少”,而不是“现在拔掉氧气瓶队伍会不会立刻跌落”。

为何常见:直观上“贡献”容易被理解成“不可或缺性”,而积分是沿路径的累计做工,与“依赖程度”是两回事。

误区反正积分是极限逼近,把采样步数设成 10000,结果不就最准了吗?

正解步数增大确实减小离散化误差,但会线性增加反向传播次数,且梯度本身有数值噪声,步数过大可能累积浮点误差。实践中常用 50 到 200 步,并用收敛性检验来确认:逐步增大步数,看归因是否稳定不变。

为何常见:极限思想深入人心,人们容易忽略计算资源与数值噪声之间的折中,把“理论极限”误当成“实践最优”。

误区基线只是一个积分起点,换成全黑图或均值图,归因结果应该差不多吧?

正解基线决定了“零刻度”,直接改变积分路径与起点梯度。全黑与均值图可能给出显著不同的热力图,尤其在背景敏感的数据集上。选基线要结合领域知识,并做多基线敏感性分析——就像更换大本营位置后重新对账,看结论是否一致。

为何常见:公式中基线看似只是辅助变量,但它的位置定义了整条路径的起点,影响力不亚于模型本身,很容易被低估。

误区看到图像上红色高亮区域,就认为模型一定盯着那里,而且这个结论是可靠的。

正解热力图只能说明在该次路径下该特征的累积梯度贡献大,不代表因果关系,也不保证鲁棒。可能有噪声归因或对抗性扰动改变高亮区域。需要结合稳定性评估,如多次重复采样看方差,确认高亮区域是否稳定出现。

为何常见:视觉冲击力强,人脑天然把“颜色深”解读为“证据强”,但归因是解释工具而非因果证明,颜色深浅只反映一种计算口径下的贡献。

面试题

Q1. 积分梯度中“基线”最准确的含义是什么?

单选题 · easy

  • A.模型训练初始化时的权重取值
  • B.特征处于无信息状态的参考点← 正确答案
  • C.验证集里准确率最高的一个样本
  • D.训练损失下降最快的那一批样本

答案:B。基线是特征“无信息/缺失”状态的参考样本,是积分路径的出发点,对应登山的大本营。A 说的是模型参数,C 和 D 说的是训练过程指标,都与“无信息参考点”无关。

Q2. 为什么局部梯度在饱和区会低估重要特征?

单选题 · mid

  • A.饱和区梯度趋近零且无法反映累计贡献← 正确答案
  • B.饱和区模型参数数量会明显减少
  • C.饱和区输入特征数值全部变成负数
  • D.饱和区模型输出结果恒等于零

答案:A。饱和区(如 ReLU 的平坦段)梯度趋近零,局部观察读数接近于零。但特征可能在前段路已经做了大贡献,就像氧气瓶在冰壁前早已发力。参数数量、数值正负、输出恒零都与饱和区的梯度消失无关。

Q3. 积分梯度默认采用的积分路径是?

单选题 · mid

  • A.基线到目标输入的直线线性插值路径← 正确答案
  • B.训练损失下降方向的反向传播路径
  • C.所有训练样本间最短的欧氏距离路径
  • D.随机采样连接两点的摆动弧线路径

答案:A。积分梯度要求路径唯一且可复现,采用 x' + α(x - x') 的直线插值。反向传播是计算梯度的手段而非路径;样本间距离和随机弧线都不符合“从基线到目标”的端点约束。

Q4. 完备性公理的数学含义是?

单选题 · hard

  • A.归因总和等于目标输出与基线输出的差← 正确答案
  • B.归因总和等于模型参数的 L2 范数之和
  • C.归因总和等于输入特征的均方误差值
  • D.归因总和等于训练集样本的总数量值

答案:A。完备性要求所有特征归因之和严格等于 F(x) - F(x'),即预测差可被归因完全解释,相当于登山中“全员合力 = 净爬升高度”。B、C、D 都与模型输出无关,违背合力守恒。

Q5. 图像分类任务中零基线通常指?

单选题 · easy

  • A.像素值全部取为零的全黑图像← 正确答案
  • B.像素值全部取为一的全白图像
  • C.训练集所有图像叠加后的平均图
  • D.高斯随机噪声生成的无意义图像

答案:A。零基线就是像素值全为 0 的全黑图像,对应“无信息”状态。全白图像像素值为 1 不是零基线;均值图属于均值基线;随机噪声既不无信息也不可复现。

Q6. 关于积分梯度的采样步数,正确的是?

多选题 · mid

  • A.步数越大近似越准但计算开销越高← 正确答案
  • B.步数越大近似越准且计算开销越低
  • C.步数与近似精度和计算开销均无关
  • D.实际常用几十步并配合收敛性检验← 正确答案

答案:AD。步数 m 越大,离散化误差越小,但反向传播次数越多,所以 A 对 B 错。C 明显错误。实务中常用 50 到 200 步,并用增大步数观察归因是否收敛来检验,D 正确。

Q7. 实现不变性(Implementation Invariance)指的是?

单选题 · mid

  • A.功能等价的网络产生相同的归因结果← 正确答案
  • B.结构相同的网络产生相同的归因结果
  • C.参数相同的网络产生不同的归因结果
  • D.数据不同的网络产生相同的归因结果

答案:A。实现不变性要求两个功能完全相同的网络(无论内部实现差异)对同一输入产生相同归因。结构、参数、数据不同的网络输出可能不同,不构成“功能等价”的前提。

Q8. 文本分类任务中一个合适的基线是?

单选题 · easy

  • A.全零向量或掩码标记填充的序列← 正确答案
  • B.随机打乱词语顺序后的截断序列
  • C.只保留第一个词丢弃后文的序列
  • D.目标类别在训练集出现最多的词

答案:A。文本基线应是“无信息”输入,常用全零向量或 [MASK] 填充序列。B、C 仍包含真实语义信息,D 本身就是一个具体的词,都偏离“无信息”要求。

Q9. 以下属于积分梯度公理性质的有?

多选题 · hard

  • A.敏感性公理保证有变化的特征获非零归因← 正确答案
  • B.完备性公理保证归因总和等于预测差值← 正确答案
  • C.实现不变性保证等价网络归因保持一致← 正确答案
  • D.对称性公理要求所有特征归因都相等

答案:ABC。敏感性、完备性、实现不变性都是积分梯度的核心公理。对称性公理要求的是对称输入中的对称特征获得对称归因,而不是“所有特征归因相等”,D 是把“对称”曲解成了“相等”。

Q10. 对线性模型 F(x) = w·x,积分梯度归因满足?

多选题 · extreme

  • A.归因结果等于权重乘上特征与基线差值← 正确答案
  • B.归因总和等于模型输出与基线输出之差← 正确答案
  • C.归因结果不随采样步数的变化而改变← 正确答案
  • D.归因结果不再满足任何公理性质约束

答案:ABC。线性模型的梯度恒为权重 w,积分结果为 (x - x')·w,与 α 无关,因此不随步数变化,A、C 正确;由完备性它必然满足 B;D 说“不再满足公理”是错误的——线性模型只是让公理退化成简单形式,并未失效。