特征归因基线影响的可视化分析
路径归因方法是一种基于梯度的深度模型解释方法。这些方法需要选择一个称为基线输入的超参数。这个超参数意味着什么?它有多重要?本文以图像分类网络为案例研究探讨这些问题。讨论了选择基线输入的不同方法及每种基线中隐含的假设。虽然聚焦于路径归因方法,但对基线的讨论与特征空间中的缺失概念密切相关——这是可解释性研究的关键概念。
引言
如果你从事神经网络训练,可能听说过两年前在ICML上提出的集成梯度方法。该方法计算神经网络对特定数据点进行预测时哪些特征重要,帮助用户理解网络依赖哪些特征。自提出以来,集成梯度已用于解释各种数据类型训练的网络,包括视网膜眼底图像和心电图记录。
使用集成梯度时需要定义基线输入x’。尽管原始论文讨论了基线的必要性,甚至为图像数据提出了几种不同基线——包括恒定黑色图像和随机噪声图像——但关于此基线影响的现有研究很少。集成梯度对此超参数选择是否敏感?为什么恒定黑色图像是图像数据的“自然基线”?是否有其他选择?
本文将深入探讨此超参数选择的产生原因,以及理解它在模型解释中的重要性。作为案例研究,将聚焦图像分类模型以可视化基线输入的影响。探索几种缺失概念,包括恒定基线和分布定义的基线。最后讨论比较基线选择的不同方法,并探讨为何定量评估仍是难题。
图像分类
聚焦图像分类任务,因其允许可视化绘制集成梯度归因,并与我们认为哪些像素应重要的直觉进行比较。使用Inception V4架构——为ImageNet数据集设计的卷积神经网络,其任务是从1000个类别中确定图像所属类别。在ImageNet验证集上,Inception V4的top-1准确率超过80%。从TensorFlow-Slim下载权重,并可视化网络在验证集四个不同图像上的预测。
尽管最先进模型在未见数据上表现良好,用户可能仍想知道:模型如何识别图像中的对象?存在多种解释机器学习模型的方法,包括可视化理解网络内部表示输入的方法、为特定输入分配每个特征重要性分数的特征归因方法,以及突出显示模型决策时所关注图像区域的显著性方法。这些类别不互斥:例如,归因方法可可视化为显著性方法,显著性方法可为每个像素分配重要性分数。本文聚焦特征归因方法集成梯度。
形式上,给定目标输入x和网络函数f,特征归因方法分配重要性分数φ_i(f,x)给第i个特征值,表示该特征对网络输出的增减程度。大正或负φ_i(f,x)表示特征分别强烈增加或减少网络输出f(x),而接近零的重要性分数表示该特征不影响f(x)。
更好理解集成梯度
查看归因图时,可能发现某些不直观。为什么“金翅雀”归因突出绿色背景?为什么“虎鲸”归因不突出虎鲸黑色部分?为更好理解此行为,需探索如何生成特征归因。形式上,集成梯度将第i个特征值的重要性值定义为:
φ_i^IG(f,x,x’) = (x_i - x’_i) × ∫_0^1 [∂f(x’+α(x-x’))/∂x_i] dα
其中x是当前输入,f是模型函数,x’是表示特征输入“缺失”的基线输入。下标i表示索引第i个特征。
如上公式所述,集成梯度通过在基线值和当前输入间插值图像上累积梯度获得重要性分数。但为何这样做合理?回忆函数梯度表示最大增加方向。梯度告诉我们哪些像素相对于输出具有最陡局部斜率。因此,输入处网络梯度是最早的显著性方法之一。
不幸的是,使用梯度解释深度神经网络存在许多问题。一个特定问题是神经网络易饱和:即使网络严重依赖某些特征,输入特征梯度在样本附近可能幅度小。如果网络函数在这些特征达到一定幅度后变平,则可能发生。直观上,将图像像素移动小量通常不改变网络所见内容。可通过绘制基线和当前图像间所有图像的网络输出说明饱和。
我们真正想知道的是网络如何从在x’预测基本无到在x对正确输出类完全饱和。哪些像素沿此路径缩放时最增加正确类的网络输出?这正是集成梯度公式所给。
通过路径积分,集成梯度避免局部梯度饱和问题。可将原方程分解并可视化三个独立部分:基线图像和目标图像间的插值图像、插值图像处的梯度,以及α上累积许多此类梯度。
我们随意忽略了公式的一部分:乘以与基线的差异。虽然不深入细节,此项出现是因为关心网络函数f相对于积分路径的导数。即,如果积分在x’和x间的直线上——可表示为γ(α)=x’+α(x-x’),则:
∂f(γ(α))/∂α = [∂f(γ(α))/∂γ(α)] × [∂γ(α)/∂α] = [∂f(x’+α’(x-x’))/∂x_i] × (x_i - x’_i)
与基线的差异项是路径函数γ相对于α的导数。
集成梯度背后的理论在原始论文中详细讨论。作者显示集成梯度满足几个理想属性,包括完备性公理:
公理1:完备性
∑_i φ_i^IG(f,x,x’) = f(x) - f(x’)
注意此定理对任何基线x’成立。完备性是理想属性,因为它说明每个特征的重要性分数分解网络输出:每个重要性分数表示该特征对网络输出的个体贡献,相加时恢复输出值本身。
实践中无法计算积分精确值。相反,使用k个线性间隔点的离散和近似。完备性公理可作为收敛性检查:用k点运行集成梯度,测量|∑_i φ_i^IG(f,x,x’) - (f(x)-f(x’))|,如果差异大,用更大k重新运行。
博弈论与缺失
集成梯度受合作博弈论工作启发,特别是Aumann-Shapley值。在合作博弈论中,非原子博弈用于建模大规模经济系统,有足够参与者需连续建模。Aumann-Shapley值提供理论基础方法确定不同参与者群体对系统的贡献程度。
博弈论中,缺失概念定义明确。游戏定义在联盟——参与者集合——上,对于任何特定联盟,系统参与者可在联盟内或外。游戏可在联盟上评估是Aumann-Shapley值的基础。直观上,它通过计算如果将更多该群体添加到任何给定联盟游戏值会增加多少来计算参与者群体添加的价值。
不幸的是,缺失概念在机器学习模型中更困难。为评估第i个特征多重要,想能计算如果连续增加第i个特征“存在”网络输出会增加多少。但这具体意味着什么?为增加特征存在,需从特征“缺失”开始,并有方法在缺失和当前已知值间插值。
希望这听起来非常熟悉。集成梯度有基线输入x’正是为此原因:建模特征缺失。但应如何选择x’最好表示此?选择全零向量作为基线输入似乎是常见做法。但考虑以下场景:在医疗数据集上学习模型,其中一个特征是血糖水平。模型正确学习极低血糖水平(对应低血糖)危险。血糖水平0似乎是表示缺失的好选择吗?
此处要点是固定特征值可能有无意含义。当考虑与基线差异项x_i - x’_i时问题进一步复杂化。为思想实验,假设患者血糖水平为0。为理解机器学习模型为何认为此患者高风险,对此数据点运行集成梯度,基线为全零向量。患者血糖水平特征重要性为0,因为x_i - x’_i = 0。尽管血糖水平0是致命的!
在图像领域发现类似问题。如果使用恒定黑色图像作为基线,集成梯度不会将黑色像素突出为重要,即使黑色像素组成感兴趣对象。更一般地,该方法对你用作基线的颜色盲视,下图说明。注意原始作者承认此,且实际上是基线定义的核心:不希望集成梯度将缺失特征突出为重要!但如何避免给基线颜色零重要性?
替代基线选择
明显任何恒定颜色基线都有此问题。有替代方案吗?本节比较图像领域基线的四种替代选择。进行前,需注意本文不是第一篇指出选择基线困难的文章。几篇文章,包括原始论文,讨论比较几种“缺失”概念,无论是在集成梯度上下文还是更一般地。尽管如此,选择正确基线仍是挑战。此处提出几种基线选择:一些基于现有文献,其他受上述问题启发。本节末尾图可视化此处提出的四种基线。
最大距离基线
如果担心恒定基线对基线颜色盲视,能否显式构建不遇此问题的基线?构建此类基线的明显方法是取L1距离中离当前图像最远的图像,使基线仍在有效像素范围内。此基线称为最大距离基线,直接避免与基线差异问题。
模糊基线
最大距离基线问题是它不真正表示缺失。它实际包含大量原图像信息,意味着不再相对于信息缺乏解释预测。为更好保留缺失概念,从Fong和 Vedaldi论文获取灵感。他们使用模糊版本图像作为表示缺失信息的领域特定方式。此基线有吸引力,因为它以非常人类直观方式捕获图像中缺失概念。下图中此基线称为模糊。图允许调整用于定义基线的平滑常数。
均匀基线
模糊基线一个潜在缺点是它偏重突出高频信息。与邻居非常相似的像素可能获得比与邻居非常不同像素更少重要性,因为基线定义为像素及其邻居的加权平均。为克服此,可再次从原始集成梯度论文获取灵感。定义缺失的另一种方法是从有效像素范围简单采样随机均匀图像并称为基线。下图中此基线称为均匀基线。
高斯基线
当然,均匀分布不是可抽取随机噪声的唯一分布。在讨论SmoothGrad的论文中,Smilkov等频繁使用以当前图像为中心、方差σ的高斯分布。可将相同分布用作集成梯度基线!下图中此基线称为高斯基线。可使用滑块改变分布标准差σ。注意此处将高斯基线截断在有效像素范围内,这意味着当σ接近∞时,高斯基线接近均匀基线。
多基线平均
可能对最后两个基线有疑虑,有疑虑是对的。随机生成基线可能遇恒定图像相同盲视问题。如果抽取均匀随机图像作为基线,有小概率基线像素值与其对应输入像素值非常接近。那些像素不会突出为重要。结果显著性图可能因随机抽取基线而有伪影。有方法修复此问题吗?
最自然方法可能是平均多个不同基线,如Erion等讨论。虽然对恒定颜色图像可能不特别自然(选择哪些颜色平均及为什么?),但对从分布抽取的基线是非常自然概念。简单从相同分布抽取更多样本并平均每个样本的重要性分数。
假设分布
此时,值得将多基线平均想法连接回集成梯度原始定义。当从相同分布D平均多个基线时,试图使用分布本身作为基线。使用分布定义缺失概念:如果不知道像素值,不假设其值为0——相反假设它有某些底层分布D。形式上,给定基线分布D,对所有可能基线x’∈D积分,按密度函数p_D加权。
就缺失而言,假设分布可能直觉上感觉比假设常值更合理假设。但这不完全解决问题:现在必须选择基线分布D,而不是选择基线x’。是否简单推迟了问题?将在即将节讨论理论动机方式选择D,但之前简要讨论如何实践中计算上述公式,及与现有方法的连接。
期望及与SmoothGrad连接
既然在公式中引入第二积分,需要第二离散和近似它,需要额外超参数:采样基线数。在Erion等中,观察到两个积分可视为期望:第一个积分作为D上期望,第二个积分作为x’和x间路径上期望。此公式称为期望梯度,形式定义为:
φ_i^EG(f,x;D) = E_{x’∼D,α∼U(0,1)} [(x_i - x’_i) × ∂f(x’+α(x-x’))/∂x_i]
期望梯度和集成梯度属于称为“路径归因方法”的方法家族,因为它们积分梯度在两个有效输入间的一条或多条路径上。期望梯度和集成梯度使用直线路径,但也可积分非直线路径。原始论文中更详细讨论。实践中计算期望梯度使用以下公式:
φ̂_i^EG(f,x;D) = (1/k) ∑_{j=1}^k (x_i - x’^j_i) × ∂f(x’^j + α^j(x-x’^j))/∂x_i
其中x’^j是D的第j个样本,α^j是0和1间均匀分布的第j个样本。现在假设使用方差σ^2的高斯基线。则可重写期望梯度公式如下:
φ̂_i^EG(f,x;N(x,σ^2I)) = (1/k) ∑_{j=1}^k ε_σ^j × ∂f(x+(1-α^j)ε_σ^j)/∂x_i
其中ε_σ ∼ N(0̄, σ^2I)
这看起来非常像称为SmoothGrad的现有方法。如果使用(梯度×输入图像)变体SmoothGrad,则有以下公式:
φ_i^SG(f,x;N(0̄,σ^2I)) = (1/k) ∑_{j=1}^k (x + ε_σ^j) × ∂f(x + ε_σ^j)/∂x_i
可见SmoothGrad和带高斯基线的期望梯度非常相似,有两个关键差异:SmoothGrad乘梯度以x+ε_σ而期望梯度仅乘ε_σ,且期望梯度沿路径均匀采样而SmoothGrad总是采样端点α=0。
此连接能否帮助理解为何SmoothGrad创建平滑外观显著性图?当假设上述高斯分布作为基线时,假设每个像素值从高斯独立抽取。但知道这远非真:图像中,附近像素间有丰富相关结构。一旦网络知道像素值,不需要使用直接邻居,因为那些直接邻居可能有非常相似强度。
假设每个像素从独立高斯抽取打破此相关结构。意味着期望梯度独立于其他像素值列表每个像素重要性。生成显著性图将更少噪声更好突出感兴趣对象,因为不再允许网络仅依赖一组相关像素中像素。这可能为何SmoothGrad平滑:因为它隐式假设像素间独立。
使用训练分布
生成显著性图时假设像素间独立真的合理吗?在监督学习中,假设数据从某分布D_data抽取。训练和测试数据共享共同底层分布假设允许我们进行监督学习并声称可泛化性。给定此假设,不需要使用高斯或均匀分布建模缺失:可使用D_data直接建模缺失。
唯一问题是无权访问底层分布。但因为这是监督学习任务,确实有权访问底层分布许多独立抽取:训练数据!可简单使用训练数据样本作为D_data随机抽取。这带我们到Erion等使用的期望梯度变体,再次分三部分可视化。
在(4)中再次绘制像素上重要性分数和。如原始集成梯度论文所述,所有路径方法,包括期望梯度,满足完备性公理。可明确看到当积分路径和分布时完备性更难满足:即,相同样本数下,期望梯度不收敛如集成梯度快。是否为避免归因中颜色盲视可接受代价似乎是主观的。
比较显著性方法
所以现在有许多不同基线选择。如何选择应使用哪个?不同分布选择和恒定基线有不同理论动机和实践关注点。有方法比较不同基线吗?本节涉及关于如何比较可解释性方法的几种不同想法。此节不意味是所有现有评估指标的全面概述,而是强调评估可解释性方法仍是难题。
定性评估危险
评估基线的一种天真方法是查看它们产生的显著性图,看哪些最好突出图像中对象。从早先图,使用D_data似乎产生合理结果,使用高斯基线或模糊基线也是。但视觉检查真是判断基线的好方法吗?一方面,此处仅呈现测试集四张图像。需在更大规模上进行用户研究,用测试集更多图像对结果有信心。但即使大规模用户研究,显著性图定性评估有其他缺点。
依赖定性评估时,假设人类知道“准确”显著性图是什么。查看ImageNet等数据上显著性图时,常检查显著性图是否突出我们看到代表图像中真实类的对象。在数据和标签间做假设,然后进一步假设好显著性图应反映该假设。但这样做无真正理由。考虑下图,比较在MNIST(修改版)上获得超过99%准确率网络的两种显著性方法。第一种显著性方法只是边缘检测器加高斯平滑,而第二种显著性方法是使用训练数据作为分布的期望梯度。边缘检测更好反映我们人类认为图像和标签间关系。
不幸的是,此处边缘检测方法不突出网络所学。此数据集是诱饵MNIST变体,其中图像左上角已修改直接编码图像类别。即,每张图像左上角强度已改为255×y/9,其中y是图像所属类别。可通过在测试集移除此补丁验证网络严重依赖它进行预测,这正是期望梯度显著性图所显示。
这显然是人为示例。尽管如此,视觉评估不一定是评估显著性图和归因方法的有用方式已在近期文献广泛讨论,有许多提议定性测试作为替代。问题核心是我们没有真实解释:试图评估哪些方法最好解释网络,而实际上不知道网络在做什么。
Top K消融测试
评估期望/集成梯度产生的重要性分数的一种简单方法是看消融按重要性排名的前k特征是否降低预测输出logit。下图中,通过均值插补或替换每个像素为其高斯模糊对应物消融(图中Mean Top K和Blur Top K)。使用上述提出的每个基线为1000张不同正确分类测试集图像生成像素重要性。作为控制,也包括随机排名特征(图中Random Noise)。
绘制网络在真实类上输出logit作为原始logit分数。即,假设原图像是金翅雀,网络正确预测金翅雀类置信度95%。如果按特征重要性排名前10%像素消融后金翅雀类置信度降至60%,则绘制通过点(0.0,0.95)和(0.1,0.6)的曲线。最好突出网络依赖像素的基线选择应展示最快logit幅度下降,因为它突出最增加网络置信度的像素。即,曲线越低,基线越好。
质心消融测试
图像中消融前k特征的一个问题与已提出问题相关:特征相关。无论如何消融像素,该像素邻居提供大量关于像素原始值信息。考虑到此,可认为逐步消融像素一个接一个是相当无意义事情。能否改为考虑特征相关进行消融?
一种直接方法是简单计算显著性图质心,并消融以质心为中心的盒区域。测试显著性图是否一般突出图像中重要区域。绘制使用均值插补和模糊替换显著性图周围盒区域以及随机高斯噪声生成显著性图作为控制。
消融测试似乎指示一些有趣趋势。所有方法在质心消融测试上表现相似,仅略优于随机噪声。这可能因为感兴趣对象一般位于图像中心——对随机噪声居中图像不难。相反,使用训练数据或均匀分布在top-k消融测试上表现很好。有趣的是,受Fong和 Vedaldi启发的模糊基线在top-k基线测试上也很好,尤其是当通过模糊像素消融时!如果使用均匀随机噪声消融图像,均匀基线会更好吗?也许通过逐渐替换图像为不同图像消融,训练分布基线会更好。将这些实验留作未来工作,因为有更紧迫问题需讨论。
消融测试陷阱
能真正信任上述消融测试吗?每种方法运行500样本。恒定基线往往不需要如分布上基线那么多样本收敛。如何公平比较有不同计算成本基线?有价值但计算密集型未来工作不仅是跨基线比较,而且跨抽取样本数比较,并对模糊和高斯基线,参数σ。如上所述,已定义许多缺失概念而非均值插补或模糊:更广泛比较也将比较所有基线跨所有对应缺失数据概念。
但即使所有这些添加比较,消融测试真提供有基础指标判断归因方法吗?Hooker等作者反对消融测试。他们指出一旦人工消融图像像素,已创建不属于原始数据分布的输入。训练模型从未见过此类输入。为什么期望通过评估模型其上提取任何合理信息?
另一方面,集成梯度和期望梯度依赖向模型呈现插值图像,且除非做奇怪凸性假设,那些插值图像不属于原始训练分布。一般,用户是否应向模型呈现不属于原始训练分布的输入是持续辩论主题。尽管如此,Hooker等提出的点仍是重要的:“不清楚模型性能下降是来自分布偏移还是因为移除的特征真正信息丰富。”
替代评估指标
那么近期文献提出的其他评估指标呢?在Hooker等中,提出消融测试变体,其中首先消融训练和测试集中像素。然后,重新训练模型在消融数据上并测量测试集性能下降多少。此方法有更好捕获显著性方法是否突出预测输出类最重要像素的优点。不幸的是,有需要多次重新训练模型的缺点。此指标也可能被特征相关混淆。
考虑以下场景:数据集有两个高度相关特征。训练模型学会仅使用第一特征,完全忽略第二特征。特征归因方法可能准确揭示模型在做什么:仅使用第一特征。可在数据集消融该特征,重新训练模型并获得类似性能,因为类似信息存储在第二特征中。可能得出结论特征归因方法糟糕——是吗?此问题适合关于归因方法应“真实于模型”还是“真实于数据”的更大讨论,已在几篇近期文章中讨论。
在Adebayo等中,作者提出几个显著性方法应通过的健全检查。一个是“模型参数随机化测试”。本质上,它陈述特征归因方法在评估训练模型(假定表现良好训练模型)和随机初始化模型时应产生不同归因。此指标直观:如果特征归因方法对随机和训练模型产生类似归因,特征归因真使用模型信息吗?可能仅完全依赖输入图像信息。
但考虑下图,这是MNIST另一个(修改)版本。使用训练分布作为基线为两个不同网络生成期望梯度归因。一个网络是训练模型在测试集上获得超过99%准确率。另一网络是随机初始化模型,不比随机猜测更好。现在应得出结论期望梯度是不可靠方法吗?
当然,此示例中修改MNIST特意使准确模型的期望梯度归因看起来 exactly like 随机初始化模型。这样做方式类似诱饵MNIST数据集,除了不是左上角编码类标签,而是随机散布噪声 throughout 每个训练和测试图像,其中噪声强度编码真实类标签。一般,会在未修改数据上运行此类显著性方法健全检查。
但事实是,即使自然图像,实际上也不知道准确模型的显著性图应看起来像什么。在ImageNet上训练的不同架构都可获得良好性能并有非常不同显著性图。能真正说训练模型应有不像随机初始化模型生成显著性图的显著性图吗?这不是说模型随机化测试无优点:它确实揭示显著性方法在做什么有趣事情。它只是不讲完整故事。
如上所述,有各种已提出评估可解释性方法的指标。有许多指标此处不明确讨论。每个提出指标带有各种优缺点。一般,评估监督模型有些直接:留出测试集并用它评估模型在未见数据上表现多好。评估解释困难:不知道模型在做什么且无真实比较。
结论
那么应做什么?有许多基线且无关于哪个“最好”结论。虽然不提供广泛定量结果比较每个基线,但提供进一步理解它们的基础。每个基线核心是关于模型中缺失和数据分布的假设。本文阐明其中一些假设,及它们对相应路径归因的影响。为未来关于路径归因上下文中基线的讨论,及更一般关于缺失表示和解释机器学习模型方式间关系奠定基础。
相关方法
此工作聚焦特定可解释性方法:集成梯度及其扩展期望梯度。称这些方法为路径归因方法因为它们积分重要性在路径上。但路径归因方法仅代表现有可解释性方法的一小部分。此处聚焦它们既因为它们适合有趣可视化,又因为它们提供谈论缺失的跳板。文初简要引用几种其他方法。许多那些方法使用某种基线概念并贡献了围绕基线选择的讨论。
在Fong和 Vedaldi中,提出模型不可知方法解释神经网络,基于学习改变模型预测的图像最小删除。第4节中,他们的工作包含关于如何表示删除的扩展讨论:即,如何表示缺失像素。他们认为删除图像中像素的一种自然方式是模糊它们。此讨论启发本文提出的模糊基线。他们还讨论如何使用噪声表示缺失,这是均匀和高斯噪声基线部分灵感。
在Shrikumar等中,提出称为deepLIFT的特征归因方法。它通过传播分数从模型输出回输入分配重要性分数给特征。类似集成梯度,deepLIFT也定义重要性分数相对于基线,他们称为“参考”。他们的论文有关于为何相对于基线解释有意义的扩展讨论。他们还讨论几种不同基线,包括“使用原图像的模糊版本”。
未在本文讨论的其他相关方法列表继续:SHAP和DeepSHAP、层-wise相关性传播、LIME、RISE和Grad-CAM等。许多解释机器学习模型的方法定义某种基线或缺失概念,因为缺失和解释密切相关。当解释模型时,常想知道哪些特征,当缺失时,最改变模型输出。但为这样做,需定义缺失意味着什么,因为大多数机器学习模型不能处理任意模式缺失输入。本文不讨论伴随每个现有方法的所有细微差别,但注意这些方法是更大关于缺失讨论的灵感点很重要。