数据STUDIO

用 SHAP 解释 CNN

Image

Image

深度学习在许多领域展现出了出色的性能,但同时也引发了对其可解释性和潜在偏见的担忧,特别是由于这些算法开始在对人类影响较大的领域中用于辅助决策。

为了解决可解释性问题,本文展示了应用SHAP来解释数字土壤制图的多路CNN。主要目标是证实模型正在捕捉用于训练模型的协变量与目标土壤属性之间的合理关系。

1. 博弈论和SHAP值

从博弈论的角度来看,建模可以被视为一个协作游戏,其中预测器(predictors,或称agents or participants)战略性地相互作用,以实现预测输出的目标。因此,每个代理根据其贡献比例获得回报。

SHAP是一种近似估计每个预测器边际贡献的方法。有关如何估计这些值的详细信息,请阅读Lundberg和Lee(2017)的原始论文[1] 。

对于分析,使用了由Scott Lundberg创建的shap(https://github.com/slundberg/shap) python库的方法。

不理解SHAP?移步推文了解SHAP基础(点击进入):
用 SHAP 可视化解释机器学习模型实用指南(上)
用 SHAP 可视化解释机器学习模型实用指南(下)

2. 模型描述

所涉及的模型是一个多任务CNN,训练用于同时预测智利土壤有机碳(SOC)五个深度间隔(0-5、5-15、15-30、30-60和60-100厘米)内的含量。为了训练CNN,我使用了形状为(29、29、5)的3D数组。即图像大小为29x29像素,5代表五个深度间隔,用于解释SOC的空间分布的五个协变量。这个简单模型中包含的五个协变量是:海拔、坡度、地形湿度指数(TWI)、长期平均年温度(MAT)和总年降水量(TAP)。

Image
图1. 多任务网络的架构。“共享层”代表所有深度范围共享的层。每个分支,对应一个深度范围,首先将信息展平为 1D 数组,然后是一系列 2 个全连接层和一个大小为 1 的全连接层,对应最终的预测。

3. 结果

3.1 局部和全局解释

如果你熟悉SHAP,可能已经看到了以下一些图表。首先,我们可以通过每个协变量的贡献来获取一个局部解释(单个预测)。在下面的图中,我们可以看到两个不同观测值的力图:顶部面板对应于山区,海拔和坡度有负贡献(紫色部分)。底部面板对应于山谷,情况相反。这两个观测值都位于智利南部,那里的较冷和潮湿条件促进了SOC的积累,与中部和最北部地区相比,因此温度和降水的贡献是正的。

Image
图2. 两个不同样本的力图。这些图显示了正(绿色)和负(紫色)的聚合贡献,它们使SOC含量偏离了预期的基础SOC值(完整数据集的预测平均值)。

使用SHAP还可以获得模型的全局解释,考虑协变量在所有样本中的贡献。下图显示了每个协变量的相对重要性,其中气候对地形相关协变量有更大的影响(更广泛的SHAP值范围)。这是一个国家SOC模型,智利有强烈的南北气候梯度,因此TAP和MAT具有最大的影响力是不足为奇的。在更局部的水平上,地形开始发挥重要作用。下面的图还告诉我们SOC与降水呈正相关,与温度呈负相关,这也是预期的行为。

Image
图3. CNN模型每个土壤深度间隔的SHAP值和每个协变量的SHAP值。TAP:总年降水量;MAT:平均年温度;TWI:地形湿度指数。

3.3 相互作用

我们还可以进一步检查特定协变量的效应,并评估模型是否捕捉到它们之间的相互作用。例如,温度的正贡献在4到8℃的范围内达到峰值,而在12℃以上则呈负贡献。由于该国的气候条件,贡献的降低与降水量的降低相关,在高温区(图4a)中加剧,这里的碳输入较少。降水的贡献(图4b)呈现出明显的趋势,负响应大部分是保持不变的,直到降水量约为1000毫米/年时开始增加,在约1400毫米/年时变为正响应。模型还捕捉到了土壤有机碳含量与海拔的反向关系(图4c),其中更高的值通常与更陡峭的地形有关,与该国的地形相对应。总的来说,在TAP高于400毫米/年的区域,这种效应会更加严重。

对于温度和降水,它们的贡献变为正值的阈值(大约在12℃和1400毫米/年左右)与该国内一个显着的地区(南纬38℃左右)相吻合,在那里安第斯山("火山"土壤)变得更为普遍,从干旱到湿润的土壤水分状态发生了改变,与土壤有机碳含量急剧增加有关。在TAP大约为400毫米/年的阈值方面,它大致对应着该国干旱区和半干旱区的转变(变得更加潮湿),在那里水侵蚀过程开始变得更加重要。

Image
图4. SHAP值与所选变量之间的依赖关系图。a) SHAP值与年平均温度(MAT)之间的关系,显示与全年总降水(TAP;颜色刻度)的相互作用; b) SHAP值与总年降水量之间的关系,显示与年平均温度(颜色刻度)的相互作用; c) SHAP值与海拔高度之间的关系,显示与全年总降水量(颜色刻度)的相互作用。

3.4 空间解释

由于我们正在讨论一个包含每个样本周围环境信息的空间模型,因此我们也可以在空间上评估其贡献。下图显示了与图2中相同的两个位置,但这次是按像素分解的贡献。解释是相同的,但理论上,我们应该能够识别出对景观更有影响力的具体特征。

Image
图5. 两个不同样本中每个协变量的SHAP值的空间分布(与图2中相同的样本)。

对我来说可能最有趣的输出(因为我主要从事地图工作)是可以聚合局部空间贡献,以显示更一般的空间解释并进一步证实以前的解释。下图显示了一个SHAP值的地图,在这个地图中可以区分靠近海岸的山谷,该山谷的TAP和坡度较低,MAT较高,与周围地区相比。这些条件对模型输出产生了负面影响,与预期平均输出相比。当然,即使这些趋势在SOC过程方面是合理的,它们可能与山谷中的人类活动(农业)的影响相互作用,这在该模型中没有被考虑。

Image
图6. CNN模型中每个协变量的SHAP值的空间分布。每个像素的值是在该像素被用作上下文的所有实例中的平均值(对于一个29x29上下文窗口最多达到841次)。TAP:年降水总量;MAT:年平均温度;TWI:地形湿度指数。

4. 结语

本研究的结果表明,在数字土壤制图中,可以朝着可解释的深度学习模型方向努力,并且一种通常被视为黑盒子的复杂模型可以使用SHAP值进行检查。这不仅有必要证实模型是否被正确训练,并且它捕捉了目标属性和预测因子之间的合理关系,而且这也是导致知识发现过程的基本部分。

文章来源:https://towardsdatascience.com/explaining-a-cnn-generated-soil-map-with-shap-f1ec08a041eb
作者: José Padarian
为适合中文阅读习惯,阅读更有代入感,原文翻译后有删改。

参考资料

[1]

原始论文: http://papers.nips.cc/paper/7062-a-unified-approach-to-interpreting-model-predictions

[2]

参考资料: Lundberg, S.M. and Lee, S.I., 2017. A unified approach to interpreting model predictions. In: Advances in neural information processing systems 30. pp. 4765–4774 

🏴‍☠️宝藏级🏴‍☠️ 原创公众号『数据STUDIO』内容超级硬核。公众号以Python为核心语言,垂直于数据科学领域,包括可戳👉Python|MySQL|数据分析|数据可视化|机器学习与数据挖掘|爬虫 等,从入门到进阶!

长按👇关注- 数据STUDIO -设为星标,干货速递ImageImage