Press "Enter" to skip to content

深度学习可解释性!深度taylor分解

本站内容均来自兴趣收集,如不慎侵害的您的相关权益,请留言告知,我们将尽快删除.谢谢.

深度泰勒分解是一种解释神经网络对个体预测的方法。它产生的结果是神经网络所表达的函数在输入变量上的分解。该方法可用作深度学习模型可视化工具,或作为复杂的分析方法的一部分。

 

众所周知,当前的深度学习分类器只提供对图像的预测,但没有提供与其相关的解释。一种可能的得到解释的方式是:确定哪些输入变量(这里是像素)对图像分类的结果有多大的贡献,特别是图像中的哪些像素与预测结果直接相关,然后将对应的贡献分配到像素热图上,再对热图可视化就可以得到一种解释。

 

 

图 1 “相关性/重要性”热度图提供一种可解释性

 

在图1的热图中,图像中的与预测的相关部分以红色突出显示。在这里,鲨鱼及其背鳍的轮廓被认为与分类最相关。因此至少在热图的意义下,深度学习模型不再是黑盒子。

 

用于分析神经网络预测的最简单技术是基于梯度的灵敏度分析。虽然基于梯度的灵敏度分析已经有很多变式,但是最根本的是,它针对给定数据点来计算神经网络输出函数相对于该数据点的梯度。

 

在上面的示例中,热图中像素的强弱会告诉我们图像中的哪些像素会使图像更多/更少地成为“鲨鱼”。但是,我们必须区分以下两个看起来很像但是有细微差别的问题:

 

“是什幺让鲨鱼更像鲨鱼或更不像”

 

“是什幺让鲨鱼成为鲨鱼”

 

对于第二个问题,基于梯度的敏感度分析并不擅长回答,然而分解技术可以很好地回答第二个问题。分解技术试图完整地解释预测,而不是仅仅测量 差异效应。

 

下面的一个简单的二维示例(两个非线性函数的总和,每个函数对输入空间的一个变量进行操作)可以帮助我们理解灵敏度和分解 这两种可解释性方法之间的差异。

 

 

图 2. 简单实例呈现梯度和分解两种可解释性的特点

 

蓝色区域具有高函数值,白色区域具有零函数值。矢量场表示输入空间的各个位置处的分析的每个分量的大小。

 

我们可以观察到灵敏度和分解导致质量上非常不同的可解释性结果:灵敏度分析在输入空间的象限之间产生不连续性:两个任意近的点可能具有明显不同的箭头方向。

 

其次,对于具有较大输出值的点和较小输出值的点梯度上可能没有区别,即使具有无穷小的输出值的点,分析也会产生相同的解释。而分解在输入域中无处不在:输入空间中的两个附近点总是有类似的解释(假设函数是连续的)。

 

此外,分解的大小(箭头的大小)与空间中给定点处的函数值成比例。

 

深度泰勒分解 的idea非常简单:假定f是神经网络学到的预测函数,对其进行关于某个点x0的近似泰勒展开:

 

 

进一步假定x0是零点 ,那幺这个近似的表达式变为 :

 

 

最终,基于分解的可解释性把对应像素点的梯度和一次项一起当作是这个像素点对于输出的相关性。图3是深度泰勒分解的流程图。

 

 

图 3. 深度泰勒分解:同时考虑梯度和差异项构造可解释性热度图

 

参考文献:

 

Montavon, G., Lapuschkin, S., Binder, A., Samek, W., & Müller, K. R. (2017). Explaining nonlinear classification decisions with deep taylor decomposition.  Pattern Recognition65 , 211-222.

 

Be First to Comment

发表评论

邮箱地址不会被公开。 必填项已用*标注