AI可解释性 II | Saliency Maps-based 归因方法(Attribution)论文导读(持续更新)
导言
本文作为AI可解释性系列的第二部分,旨在以汉语整理并阅读归因方法(Attribution)相关的论文,并持续更新。
归因方法主要研究如何解释深度神经网络的决策过程,通过识别输入特征对模型输出的贡献程度,对模型的决策过程输出为人类可以理解的图像或者量化指标,帮助我们理解模型的决策依据。
Saliency Maps-based的归因方法给定一个大小为CxWxH的图像输入,通过反向传播等方法找出原图每一个像素在模型最后的输出中贡献的比重,最后输出一张和原图大小为CxWxH一样的Saliency Maps
Deep Inside Convolutional Networks: Visualising Image Classification Models and Saliency Maps(Apr 2014)
作者:Karen Simonyan, Andrea Vedaldi, Andrew Zisserman
简介
本文乃是Saliency Maps-based归因方法领域的奠基性工作之一,提出了两种可视化的模型解释方法:
- 类别模型可视化(Class Model Visualization):通过优化输入图像使得特定类别的分类分数最大化,从而生成能代表该类别的合成图像。
- 指定图片的类别显著可视化(Image-Specific Class Saliency Visualisation):通过计算类别得分对输入图像的梯度,生成显示每个像素对分类决策重要性的热力图。(Saliency Map归因方法)
以及给出证明,通过Saliency Maps对卷积网络进行解释在形式上和反卷积网络是一致的。
相关工作
“activation maximization”
作者受到了文章Visualizing Higher-Layer Features of a Deep Network的启发,该篇文章给出了一个对神经网络中某一个具体神经元的可视化方法称为“activation maximization”。其原理非常简单,从已经训练好的网络抽出一个神经元,然后通过梯度下降的方法,找到一个输入图像 \(x\) 使得该神经元的激活值最大化:
\[x^* = \arg\max_x h_{ij}(\theta, x) \quad \text{s.t.} \quad \|x\| = \rho \]
其中 \(h_{ij}(\theta, x)\) 是第 \(i\) 层第 \(j\) 个神经元的激活值,\(\theta\) 是网络参数(冻结),\(\rho\) 是约束输入图像范数的常数。通过这种方式不断优化\(x\),我们可以得到一个能够最大程度激活该神经元的图像,从而理解这个神经元学到了什么样的特征。通过实验可以看到这种方法确实解释了神经元(左侧),并且通过九种随机初始化验证这种解释是收敛的(右侧)。
类别模型可视化(Class Model Visualization)
作者将”activation maximization”的思想扩展到了类别可视化上。对于一个已经训练好的分类卷积网络,我们可以通过优化输入图像来最大化某个类别的分类分数,从而生成能代表该类别的合成图像。
具体来说,给定一个类别c,我们要找到一个输入图像x使得该类别的分类分数Sc(x)最大化:
\[I^* = \arg\max_I (S_c(I) – \lambda \|I\|_2^2) \]
其中Sc(x)是类别c的分类分数,λ是正则化系数。通过梯度上升的方法不断优化x,最终得到的图像x*就是该类别的可视化结果。
值得注意的是:
- 初始化图像是全零的图像(因为用于训练的训练集是已经中心化的)
- \(S_c\)是\(c\)类未经归一化的分类分数,而非softmax分数,以降低其他类别的干扰
作者展示了通过在ILSVRC-2013上训练的卷积神经网络学习到的类别外观模型。注意到在单一图像中捕捉到的类别外观的不同方面。
特定图片类别的显著性可视化(Image-Specific Class Saliency Visualisation)
首先我们定义是如何查询给定图片对于某个类别的空间贡献:
In this section we describe how a classification ConvNet can be queried about the spatial support of a particular class in a given image.
给定图片\(I_0\),类别\(c\),以及一个分类卷积网络,其分类分数的函数为\(S_c(I)\),我们希望衡量\(I_0\)中每个像素对分类分数\(S_c(I)\)的贡献。
我们首先给出一个线性例子来理解显著性可视化的原理。假设我们有一个简单的线性分类器,其分类分数可以表示为:
\[S_c(I) = w_c^T I + b_c \]
其中\(w_c\)是类别\(c\)的权重向量,\(b_c\)是偏置项。在这种情况下,输入\(I\)中每个像素对于输出的重要程度可以直接由权重向量\(w_c\)的对应分量的绝对值来衡量。这是因为每个输入像素都与权重向量的对应分量进行线性组合,权重的绝对值越大,说明该像素对最终分类分数的影响越大。
这意味着权重的绝对值直接反映了每个输入维度对分类决策的重要性。这个简单的线性例子帮助我们理解了在深度神经网络中使用梯度来衡量输入特征重要性的基本原理。
接下来,我们将模型换成深层的卷积网络,其分类分数\(S_c(I)\)将变为高度非线性的函数。但是给定\(I_0\),我们可以通过一阶泰勒近似来线性化这个函数,得到:
\[S_c(I) \approx w^TI+b \]
其中\(w\)是分类分数\(S_c(I)\)在\(I_0\)点的导数。
\[w= \frac{\partial S_c}{\partial I}|_{I_0} \]
除此以外,\(w= \frac{\partial S_c}{\partial I}|_{I_0}\)还可以被解释为在这个方向上扰动样本使其对分类分数的影响最大,文章How to Explain Individual Classification Decisions在贝叶斯分类器中采用过类似的方法。
Another interpretation of computing the image-specific class saliency using the class score derivative (4) is that the magnitude of the derivative indicates which pixels need to be changed the least to affect the class score the most. … We note that a similar technique has been previously applied by [1] in the context of Bayesian classification.
作者展示了针对ILSVRC-2013测试图像中预测的Top-1类别生成的特定图像类别显著性图,这些图通过对分类卷积网络进行一次反向传播提取。
此外,作者还指出生成的显著性图可以用于图像的语义分割任务上,这点在ILSVRC-2013 localisation challenge通过实验进行验证。
The method achieved 46.4% top-5 error on the test set of ILSVRC-2013.
与反卷积网络的联系
Saliency Maps解释方法和反卷积过程形式上是一致的,我们只要证明这个过程和卷积网络的反向传播形式是一致的,就能证明Saliency Maps和反卷积过程是一致的:
-
对于卷积网络的卷积层\(x_{n+1} = x_n \ast k_n\),其中\(k_n\)为卷积核,那么可得其梯度为\(\frac{\partial f}{\partial x_n} = \frac{\partial f}{\partial x_\text{n+1}}\ast \hat k_n\),其中\(\hat k_n\)为\(k_n\)的翻转版本;同样的,反卷积网络中重构过程也是\(R_n = R_{n+1}\ast \hat k_n\)。
-
对于卷积网络的ReLU层,\(x_{n+1}=\max(x_n, 0)\),其次梯度为\(\frac{\partial f}{\partial x_n} = \frac{\partial f}{\partial x_\text{n+1}}\mathbb{1}(x_n > 0)\),这里的\(\mathbb{1}(\cdot)\)为一个指示函数;同样的,反卷积网络则是\(R_n= R_{n+1}\mathbb{1}(R_{n+1} > 0)\),注意这里只是指示函数的参数不一样,反卷积过程使用的是重构输出\(R_{n+1}\)
-
对于卷积网络的最大池化层,\(x_{n+1}(p)=\max_{q\in\Omega(p)}x_n(q)\),其中第\(p\)个元素由其近邻\(\Omega(p)\)所池化得到。那么其次梯度为\(\frac{\partial f}{\partial x_n(s)} = \frac{\partial f}{\partial x_{n+1}(p)}\mathbb{1}(s) = \arg\max_{q\in\Omega(p)}x_n(q)\)。同样地,\(\arg\max\)操作等价于反卷积网络在编码阶段记录池化位置的Max-Pooling “Switch”。
来源链接:https://www.cnblogs.com/uzuki/p/18808623
如有侵犯您的版权,请及时联系3500663466#qq.com(#换@),我们将第一时间删除本站数据。
暂无评论内容