笔记: A Quick Introduction to Deep Taylor Decomposition

A Quick Introduction to Deep Taylor Decomposition

[TOC]
http://www.heatmapping.org/deeptaylor/

1.1 灵敏度与分解

简单技术是基于梯度的灵敏度分析。分解试图将预测重新分配到像素上,分解试图整体的解释预测,而不是仅仅测量差异效应。

image.png

蓝色区域具有高功能值,白色区域具有零功能值。矢量场表示输入空间的各个位置处的分析的每个分量的大小。我们可以观察到灵敏度和分解导致质量上非常不同的结果:

  1. 灵敏度分析在输入空间的象限之间产生不连续性:两个任意关闭的点可能具有明显不同的箭头方向。其次,对于输出值较大的点,分析对输出值较小的点产生相同的解释,即使输出值极小的点也是如此。
  2. 分解在输入域中无处不在:输入空间中的两个附近点总是有类似的解释(假设函数是连续的)。此外,分解的大小(箭头的大小)与空间中给定点处的函数值成比例。

总而言之,敏感性分析测量局部效应,而分解测量全局效应。灵敏度分析和分解方法都具有加性结构。分析将总局部函数变化重新分配给输入变量,分解将整个函数值在输入变量上重新分配。
\text{Sensitivity analysis:} \sum_{p}(\frac{\partial f}{\partial x_{p}})^{2} = \Vert \nabla_{x}f(x) \Vert ^{2}
\text{decompostion methods:} \sum_{p}[f(x)]_{p}=f(x)

2 深泰勒分解方法

该方法从错误反向传播操作的方式中获得灵感:(1)将整体计算分离为一组局部神经元计算,以及(2)以适当的方式重新组合这些局部计算(在错误反向传播的情况下,使用链规则对于衍生物)。

我们考虑使用 (x_{p})_{p} 的深度网络表示输入神经元和x_{f}表示输出神经元。
分解应该满足conservation property:
\sum_{p}[x_{f}]_{p}=x_{f}
而且应该是非负的:
\forall _{p}:[x_{f}]_{p} \geq 0
全局思考,这种再分配过程导致神经网络输出分解为其输入变量。

2.1 反向传播函数

image.png

假设我们已经计算了前向传递中的所有激活,并且我们已经将顶层的神经网络输出重新分配到与神经元x_{j}相关联的层。
x_{j}表示网络中任意的神经元,(x_{i})_{i}表示把it receives as input的神经元的集合。现在的问题是我们怎么把值[x_{f}]_{j}怎么分配到与它连接的上一层神经元(x_{i})_{i},我们表示为[[x_{f}]_{j}]_{i}
This problem is difficult, because there a priori no known direct mapping(x_{i})_{i} \Rightarrow [x_{f}]_{j} from which we could derive a decomposition strategy.
相反,我们假设[x_{f}]_{j}可以表示为神经激活x_{j}和positive locally constant term c_{j} \geq 0:
[x_{f}]_{j}=c_{j}x_{j}
c_{j}可以表示为x_{j}对局部神经元输出的影响程度。特别的,顶层神经元x_{f}:(x_{f))_{f}=1*x_{f}
The advantage of this product structure is that the problem of decomposing [x_{f}]_{j} reduces in essence to decomposing the neuron function (x_{i})_{i} \Rightarrow x_{j}, which we known, and that we will show in the next section to yield decompositions with the desired properties. Importantly, the redistribution resulting from decomposition of this neuron function should also produce decomposed terms with a product structure [x_{f}]_{i}=x_{i}c_{i} so that by inductive reasoning the function value can be backpropagated through arbitrarily many layers.

2.2 通过泰勒展开进行局部分解

传播机制确保了分解的期望属性(附加属性和分解项的积极性),并保证传播项的产品结构从一层到前一层近似保留(向后的必要条件)传播)。
对于给定的Relu神经元x_{j},我们考虑了通过非线性函数从其输入(x_{i})_{i}到其再分配函数值[x_{f}]_{j}的映射。
[x_{f}]_{j} =c_{j}x_{j}= c_{j}max(0,\sum_{i}x_{i}w_{ij}+b_{j})

image.png

2.3 从根到搜索方向

image.png

2.4 缩小可能分解的空间

在实践中,对分解的术语[x_{f}]_{i}施加了许多约束,它限制了可能的搜索方向v_{ij}的集合。对于除输入图层以外的所有图层,约束如下:

  1. 域:执行泰勒展开的根点必须在神经元输入域内。例如,当神经元接收其他ReLU神经元的输出作为输入时,输入域变为正,并且因此根点的所有分量也必须是正的。因此,可以相应地减少该组可能的搜索方向。
  2. 积极性:由于各种原因,判断由应用分解方法产生的热图应该是正的。一个充分条件,以确保热图的阳性是执行在神经元水平此属性。实际上,这可以通过强制所有产品中实现v_{ij}w_{ij}在再分配公式中是积极的。
  3. 产品:为了实现反向传播,重新分配的项必须具有结构[x_{f}]_{i}=x_{i}c_{i}相关领域大致保持不变。这可以通过选择(x_{i})_{i}中的线性搜索方向来实现(X一世)一世,从而让出现产品结构。
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容