Interpretable Basis Decompositionfor Visual Explanation
[TOC]
总述
它用了Borden的方法,borden本身将图像分割为较小的单元并赋予一个可解释的标签,如下所示:
这篇文章就用将这些小的标签分类与CAM的解释结合起来,通过计算权重然后分析这些小部分对结果的贡献,比如下面这个识别为topiary garden的过程中,hedge对结果的贡献达到了20.99%:
从像素的解释提高到更高一级的语义的解释,可以看到更多对结果影响的类别。但是这个结果很大程度上受分割产生标签的效果的影响,如果分割的不好,很难产生好的结果。而且文章中也提到了,其中residual很大,平均也都在65%左右,上面这个达到45%应该是最好的了。
Abstract
提出了一个Interpretable Basis Decomposition的框架,用于给网络提供可视化解释,从输入图像的像素级别提高到更高一层的语义(经过预先训练的语义分割),量化这些语义对结果的贡献。
Introduction
一个好的解释应该具有以下两方面的优点:1、通过创建heat map来确定输入的哪些部分对对策产生了最大的影响;2、通过识别网络的每个部分检测到的concept来识别网络内部知识。在本文中,构建了一个Interpretable Basis Decomposition(IBD)的框架,同时具有上述的两种优点,该框架可以产生:identified purpose,heatmap和rank contribution。
贡献如下:
- 一个可以提供标签和heatmap的语义解释。
- 可以适用一般的网络结构。
- 进行人工评估。
Framework
主要的目标是分解和解释神经网络 倒数第二层 中的信息。Previous work has shown that it is possible to roughly invert a feature layer to recover an approximation to the original input image using a trained feature inversion network.[1]
公式解释:
-
:表示一个深度神经网络,
表示分类为
-
:
表示网络的最顶层,
表示可解释空间的一个point
-
:表示一共有
个可解释的组件部分
-
:表示类权重向量和组件向量
-
:表示为
的矩阵
Defining an Interpretable Basis
类权重向量可以被分解为一组组件向量的加权和
。
考虑一个简单的情况:是网络倒数第二层的输出,
表示最后一层的线性操作,那么
作为一个线性方程来根据
和
的角度来对
进行评分。
但是不是所有的方向都具有同等的可解释性。假设我们有一组方向,每个方向都与
相关但是可以用更简单的
来表示
,那么我们就可以将
分解为可解释组件
通过加权来解释
,(CAM中最后的线性加权)。
Unlessw lies exactly in the space spanned by the
, there will be someresidual error in the decomposition.一定会有一定的残差,为了减少这种残差,我们用类似最小二乘法的方式,将下式改写为
,其中
表示为
的伪逆矩阵。
在这里,对结果产生负作用的组件并不是很好理解,于是寻找系数为正的分解,此外,最好组件能尽量少。 所以上面说的伪逆并没有什么用。
通过贪心的方式来构造矩阵,每次从组件中选择一个可以使误差最小的
向量加入到
中。
[1]: Dosovitskiy, A., Brox, T.: Generating images with perceptualsimilarity metricsbased on deep networks. In: Advances in Neural Information Processing Systems.pp. 658–666 (2016)
Learning the Interpretable Basis from Annotations
主要使用Borden来构建组件。
Explaining a Prediction via Interpretable Basis Decomposition
从上可以看出,我们可以把最终的得分分解为每个组件的贡献,并且可以根据这个得分进行排名,如果最后一层为全剧平均网络的时候(AVG,CAM中使用来得到最后的解释图),那么我们就可以得到贡献的热力图:
解释分类决策边界
该图表示了每一个类别可以分解的组件,厚度代表了类别与组件之间的。