深度学习可视化方法
深度学习网络通常被描述为“黑盒”,因为网络做出某种决定的原因并不总是显而易见的。深度学习网络正越来越多地应用于从医疗到贷款申请等领域,因此理解一个网络为什么会做出特定的决定至关重要。
您可以使用可解释性技术将网络行为转换为人们可以解释的输出。这个可解释的输出可以回答关于网络预测的问题。可解释性技术有许多应用,例如验证、调试、学习、评估偏差和模型选择。
您可以在网络训练之后应用可解释性技术,或者将其构建到网络中。训练后方法的优点是,你不必花时间构建一个可解释的深度学习网络。本主题侧重于使用测试图像来解释在图像数据上训练的网络的预测的后训练方法。
可视化方法是一种可解释性技术,它使用网络正在观察的内容的可视化表示来解释网络预测。有许多可视化网络行为的技术,例如热图、显著性图、特征重要性图和低维投影。
可视化方法
可解释性技术具有不同的特征;你使用哪种方法取决于你想要的解释和你训练过的网络。方法可以是当地的并且只调查特定输入的网络行为或者全球并在整个数据集上调查网络行为。
每种可视化方法都有特定的方法来决定其产生的输出。方法之间的一个常见区别是它们是基于梯度的还是基于扰动的。Gradient-based方法将信号从输出反向传播到输入。Perturbation-based方法对网络的输入进行扰动,并考虑扰动对预测的影响。可解释性技术的另一种方法是将复杂的网络模型映射或近似到一个更可解释的空间。例如,一些方法使用更简单、更可解释的模型来近似网络预测。其他方法使用降维技术将高维激活降至可解释的2-D或3-D空间。
下表比较了用于图像分类的深度学习模型的可视化可解释性技术。有关显示如何使用可视化方法来研究图像分类网络的预测的示例,请参见使用深度学习可视化技术探索网络预测.
图像分类的深度学习可视化方法
方法 | 可视化例子 | 函数 | 位置 | 方法 | 决议 | 需要调优 | 描述 |
---|---|---|---|---|---|---|---|
激活 |
|
当地的 | 激活可视化 | 低 | 没有 | 可视化激活是理解网络行为的一种简单方法。大多数卷积神经网络学会在第一个卷积层中检测颜色和边缘等特征。在更深的卷积层中,网络学习检测更复杂的特征。 有关更多信息,请参见卷积神经网络的可视化激活. |
|
凸轮 |
|
没有 |
当地的 | 基于梯度的职业激活热图 | 低 | 没有 | 类激活映射(CAM)是一种简单的技术,用于生成卷积神经网络预测的可视化解释[1].CAM使用卷积神经网络中的全局平均池化层来生成一个映射,该映射突出显示了网络相对于特定类标签使用的图像的哪些部分。 有关更多信息,请参见使用类激活映射研究网络预测. |
Grad-CAM |
|
当地的 | 基于梯度的职业激活热图 | 低 | 没有 | 梯度加权类激活映射(Grad-CAM)是CAM方法的一种推广,它使用分类分数相对于由网络确定的卷积特征的梯度来了解观察的哪些部分对分类最重要[2].梯度较大的地方是最终得分最依赖于数据的地方。 Grad-CAM在没有CAM架构限制的情况下,可以得到与CAM相似的结果。 有关更多信息,请参见Grad-CAM揭示深度学习决策背后的原因而且使用Grad-CAM探索语义分割网络. |
|
闭塞的敏感性 |
|
当地的 | 基于扰动的热图 | 低至中 | 是的 | 遮挡灵敏度测量网络对输入数据中的小扰动的灵敏度。该方法通过用一个遮挡罩(通常是一个灰色方块)替换输入的小区域来干扰输入。当掩码在图像上移动时,该技术测量给定类的概率分数的变化。您可以使用遮挡灵敏度来突出显示图像的哪些部分对分类最重要。 要从遮挡灵敏度获得最佳结果,必须为 有关更多信息,请参见使用遮挡理解网络预测. |
|
石灰 |
|
当地的 | 基于扰动的代理模型,特征重要性 | 从低到高 | 是的 | LIME技术使用更简单、更可解释的模型(如线性模型或回归树)来近似深度学习网络的分类行为[3].简单模型确定输入数据特征的重要性,作为特征对深度学习网络重要性的代理。 有关更多信息,请参见使用LIME了解网络预测而且研究使用LIME进行谱图分类. |
|
梯度归因 |
|
没有 |
当地的 | 基于梯度的显著图 | 高 | 没有 | 梯度归因方法提供像素分辨率地图,显示哪些像素对网络分类决策最重要[4][5].这些方法计算类得分相对于输入像素的梯度。直观地,地图显示了哪些像素在改变时最影响类别分数。 梯度归因方法生成与输入图像相同大小的地图。因此,梯度归因地图具有高分辨率,但它们往往更嘈杂,因为训练有素的深度网络并不强烈依赖于特定像素的确切值。 有关更多信息,请参见使用梯度归因技术研究分类决策. |
深的梦想 |
|
全球 | 基于梯度的激活最大化 | 从低到高 | 是的 | Deep Dream是一种特征可视化技术,它可以合成强烈激活网络层的图像[6].通过可视化这些图像,可以突出显示网络学习到的图像特征。这些图像对于理解和诊断网络行为是有用的。 有关更多信息,请参见使用GoogLeNet的深度梦境图像. |
|
t-SNE |
|
|
全球 | 降维 | N/A | 没有 | t-SNE是一种降维技术,它保留了距离,使得在高维表示中彼此靠近的点在低维表示中也彼此靠近[7].您可以使用t-SNE来可视化深度学习网络在通过网络层时如何改变输入数据的表示。 有关更多信息,请参见使用tsne查看网络行为. |
最大和最小激活图像 |
|
没有 |
全球 | 基于梯度的激活最大化 | N/A | 没有 | 可视化那些强烈或微弱地激活每个类的网络的图像是一种简单的方法来低估你的网络。强烈激活的图像突出显示网络认为该类中的“典型”图像是什么样的。弱激活的图像可以帮助你发现为什么你的网络会做出不正确的分类预测。 有关更多信息,请参见使用最大和最小激活图像可视化图像分类. |
若要探索使用应用程序交互式地应用这些方法,请参阅使用应用程序探索深层网络解释性GitHub®存储库。
非图像数据的可解释性方法
许多可解释性研究的重点是解释图像分类或回归网络。由于数据的非视觉性质,解释非图像数据通常更具挑战性。您可以使用Grad-CAM来可视化在时间序列数据上训练的1-D卷积网络的分类决策。有关更多信息,请参见使用Grad-CAM解释深度学习时间序列分类.要了解LSTM网络的激活情况,请使用激活
而且tsne
(统计和机器学习工具箱)功能。有关显示如何探索LSTM网络预测的示例,请参见可视化LSTM网络的激活.要探索在表格特征上训练的网络的行为,请使用石灰
(统计和机器学习工具箱)而且沙普利
(统计和机器学习工具箱)功能。有关显示如何解释特征输入网络的示例,请参见使用LIME解释表格数据上的深度网络预测.有关解释机器学习模型的更多信息,请参见解释机器学习模型(统计和机器学习工具箱).
参考文献
[1] Zhou, Bolei, Aditya Khosla, Agata Lapedriza, Aude Oliva和Antonio Torralba。“学习用于判别定位的深度特征。”在2016年IEEE计算机视觉与模式识别会议论文集: 2921 - 2929。拉斯维加斯:IEEE, 2016。
[2] Selvaraju, Ramprasaath R., Michael Cogswell, Abhishek Das, Ramakrishna Vedantam, Devi Parikh和Dhruv Batra。“梯度- cam:基于梯度定位的深度网络视觉解释。”在2017年IEEE计算机视觉会议论文集: 618 - 626。威尼斯,意大利:IEEE, 2017。https://doi.org/10.1109/ICCV.2017.74。
Ribeiro, Marco Tulio, Sameer Singh和Carlos Guestrin。“‘我为什么要相信你?《解释任何分类器的预测》在第22届ACM SIGKDD知识发现和数据挖掘国际会议论文集(2016): 1135 - 1144。纽约,纽约州:计算机协会,2016。https://doi.org/10.1145/2939672.2939778。
Simonyan, Karen, Andrea Vedaldi和Andrew Zisserman。深度卷积网络:可视化图像分类模型和显著性图预印本,提交于2014年4月19日。https://arxiv.org/abs/1312.6034。
Tomsett, Richard, Dan Harborne, Supriyo Chakraborty, Prudhvi Gurram和Alun Preece。“显著性指标的健全检查。”AAAI人工智能会议论文集34岁,没有。04,(2020年4月):6021-29,https://doi.org/10.1609/aaai.v34i04.6064。
[6] TensorFlow。“用TensorFlow做深度梦”https://github.com/tensorflow/docs/blob/master/site/en/tutorials/generative/deepdream.ipynb。
[7] van der Maaten, laurence和Geoffrey Hinton。“使用t-SNE可视化数据。”机器学习研究杂志,9(2008): 2579-2605。
另请参阅
gradCAM
|imageLIME
|occlusionSensitivity
|deepDreamImage
|tsne
(统计和机器学习工具箱)|激活