AI可解释性 II | Saliency Maps-based 归因方法(Attribution)论文导读(持续更新)

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归因方法领域的奠基性工作之一,提出了三种可视化的模型解释方法:

  1. 类别模型可视化(Class Model Visualization):通过优化输入图像使得特定类别的分类分数最大化,从而生成能代表该类别的合成图像。
  2. 指定图片的类别显著可视化(Image-Specific Class Saliency Visualisation):通过计算类别得分对输入图像的梯度,生成显示每个像素对分类决策重要性的热力图。(Saliency Map归因方法)
  3. 反卷积的特征可视化(Feature Visualization):使用反卷积网络将深层特征映射回输入空间,以可视化网络在不同层级学到的特征。

相关工作

"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*就是该类别的可视化结果。

值得注意的是:

  1. 初始化图像是全零的图像(因为用于训练的训练集是已经中心化的)
  2. \(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类别生成的特定图像类别显著性图,这些图通过对分类卷积网络进行一次反向传播提取。

相关推荐
tilblackout1 小时前
机器学习详解(28):LightGBM原理
人工智能·机器学习
weixin_464078071 小时前
机器学习sklearn:决策树的参数、属性、接口
决策树·机器学习·sklearn
NeoFii2 小时前
Day 24:元组与os模块
python·机器学习
神经星星3 小时前
估值准确率超99%!基于YOLOv11的陶瓷分类智能框架融合视觉建模与经济分析,实现文物分类及价值估测
人工智能·机器学习·开源
007tg3 小时前
007TG洞察:GPT-5前瞻与AI时代竞争力构建:技术挑战与落地路径
人工智能·gpt·机器学习
Blossom.1184 小时前
基于深度学习的图像分类:使用ShuffleNet实现高效分类
人工智能·python·深度学习·目标检测·机器学习·分类·数据挖掘
冰封剑心4 小时前
Docker配置文件daemon.json使用及说明
人工智能·机器学习·计算机视觉
pk_xz1234564 小时前
社区资源媒体管理系统设计与实现
网络·python·深度学习·算法·数据挖掘·媒体
Guheyunyi4 小时前
安全风险监测系统是什么?内容有哪些?
大数据·人工智能·深度学习·安全·信息可视化
AI4Sci.6 小时前
在云服务器上基于lora微调Qwen2.5-VL-7b-Instruct模型(下)
人工智能·算法·机器学习·大模型·lora微调·大模型本地部署·qwen2.5-vl-7b