CVPR2022. FAM Visual Explanations for the Feature Representations from Deep Convolutional Networks

CVPR2022. FAM: Visual Explanations for the Feature Representations from Deep Convolutional Networks

论文地址


近几年越来越多的注意力机制被用来解释特征表示模型的内部机理,但传统方法不能完全解决特征表示问题。特别是对于不属于任何一个类别的图片,仅依据现有类别和图片间的相似性并不能对其提供可靠的视觉解释。文章提出一种新的视觉注意力解释范式:Feature Activation Mapping (FAM),特征激活映射。遵照这个范式,文章设计了Grad-FAM和Score-FAM来可视化特征表示。与以往方法不同之处在于,FAM关注对特征向量本身最具贡献的图片区域。主观和客观实验表明Score-FAM在人识别任务中能够实现有较好的特征表示可解释性,FAM还可以应用于其他类似自监督表示学习、开放集识别等任务中。

现有问题

模型理解对于卷积网络的应用越来越重要,分类模型中有关特征表示可解释性的方法包括:基于区域贡献的方法基于图片相似性的方法

基于区域贡献的方法Class Activation Map (CAM)方法通过定位输入图片中和网络预测标签相关的区域来对网络结果进行解释。CAM方法包括基于梯度(gradient-based CAMs)和无梯度(gradient-free CAMs)两类,它们分别使用类别置信度的梯度类别置信度的变化来衡量图片中各区域对输出标签的贡献度。也有方法使用逐元素梯度乘积来衡量输入区域的贡献,例如DeepLift和integrated gradients。但当测试集中具有训练集没有的新类别时,此类方法无法定位新类别对应的区域,因此不能解决人重识别这种零样本学习问题,只能识别图片中已有的类别,例如雨伞、鞋子,而对于行人的激活度则较低。

基于图片相似性的方法中,RAM和CG-RAM揭示一对图片中的相关联物体,还有一些基于梯度的方法可以揭示一堆图片中相似数值的梯度。但这种基于相似性的方法也无法完全揭示特征表示,例如无法解释c)中相同的鞋子在不同图片中的激活度差异较大的冲突现象。

Score-FAM、Score-CAM、RAM三种方法识别行人的效果

文章提出的FAM方法关注对全局特征表示贡献度最大的图片区域。文章提出的Gradient-weighted FAM (Grad-FAM)避免了RAM方法中对另一张图片的依赖,此外遵循gradient-free思路还提出了Score-weighted FAM (Score-FAM)。

通俗来说,文章关注图片特征表示的问题。相似的图片应当有相似的特征表示,但文章发现对于相似的图片、相似的特征表示,网络对各类别、各区域也有不同的激活度,这无法解释所得特征表示的合理性。

文章贡献/创新点

  • 提出了新的定位方法FAM,包括Grad-FAM和Score-FAM,用来对特征向量进行视觉解释,可用于视觉任务和表示学习。
  • 提出了新的客观指标来评价行人识别任务中视觉解释的合理性,即视觉结果和特征表示是否相关。在该指标下,所提的Score-FAM在ket1501和CUHK03数据集上比其他方法表现出更好的性能。
  • FAM无需独立地训练线性分类器即可用于可视化自监督表示学习模型。

相关工作

可视化解释CNN

基于梯度的方法

可视化CNN主要是得到视觉显著图,使得与输出特征相关的区域具有更高的激活度。

  • Zeiler和Fergus使用反卷积操作来得到输入图片中和神经元激活相关的区域。
  • Simonyan计算输出类别置信度对输入的偏导数来得到特定类别的显著图。
  • Guided Backpropagation则调整了计算偏导数时反向传播的过程,得到了质量更高的显著图。
  • Yosinski则是正向思维,通过合成使神经元具有更高激活值的图像,来解释网络对哪些图片更关注。
  • Sundarajan采用了集成梯度来探究输入对输出的影响。

对于包含全局平均池化操作的CNN结构,Zhou表明类别cc的置信度可以写成全局池化后的最后一层特征图的线性组合:

Yc=kwck(1ZijAijk) Y^c=\sum_k w_c^k\cdot\left(\frac1Z\sum_i\sum_jA_{ij}^k\right)

其中ZZAijkA_{ij}^k分别对应特征图的像素总数和每个像素值,wckw_c^k为神经元kk对类别cc的权重,xk=1ZijAijkx^k=\frac1Z\sum_i\sum_jA_{ij}^k就是全局平均池化操作。kwckxk\sum_kw_c^kx^k就是网络最后一个线性全连接层,去掉该层,特征图AA就是特征表示的最终结果,将其通道缩减为1,就得到了类别激活图,定义为:

LCAMc=kwckAk L_{CAM}^c=\sum_k w_c^k\cdot A^k

其他池化操作也有类似方法,但均限制于特定的CNN结构。将wckw_c^k替换为YcY^cAkA^k的梯度,即可去除结构限制:

LGrad-CAMc=ReLU(k(1ZijYcAijk)Ak) L_\text{Grad-CAM}^c=\mathrm{ReLU}\left(\sum_k\left(\frac1Z\sum_i\sum_j\frac{\partial Y^c}{\partial A_{ij}^k}\right)\cdot A^k\right)

其中1ZijYcAijk\frac1Z\sum_i\sum_j\frac{\partial Y^c}{\partial A_{ij}^k}可看作类别cc对特征图中通道kk的梯度,在全局平均池化和线性全连接的情况下与wckw_c^k一致。

此处可看出,梯度部分作为不同通道之间的权重来对多通道特征图进行加权,得到单通道特征图作为显著图,但如果不严格要求精确解释的情况下,也可以简单采用取最大值、取平均值的操作来进行可视化,效果差不多。

梯度free方法

由于梯度存在饱和问题,Du等人提出gradient-free的Score-CAM方法。首先将特征图上采样到原始图片尺寸,然后用它作为掩码来扰乱输入图像,使输入图像仅保留感兴趣的重要区域,此时该特征图的重要性就可以通过网络对应输出的类别置信度来得到。RISE和mask集成黑河模型分别使用随机和平均扰动来完成上过程。

但以上方法均和类别置信度有关,如果训练集中没有某一类别而测试集中有,那么网络在训练时就无法通过结果可视化进行解释。Yang等人针对具有全局平均池化的网络,使用一对图片来可视化相似性。图片qq对图片gg的相似性和<vg,vq>vg\frac{\left<v_g,v_q\right>}{|v_g|}成比例,可写成:

1vgkvgk1ZijAijk=1Zijk1vgvgkAijk \frac1{|v_g|}\sum_kv_g^k\cdot\frac1Z\sum_i\sum_jA_{ij}^k=\frac1Z\sum_i\sum_j\sum_k\frac1{|v_g|}v_g^k\cdot A_{ij}^k

其中<vg,vq>=k(vgk)(1ZijAijk)\left<\boldsymbol v_g,\boldsymbol v_q\right>=\sum_k\left(v_g^k\right)\cdot \left(\frac1Z\sum_i\sum_jA_{ij}^k\right)为两张图片全局平均池化后的特征向量内积,此处vg\boldsymbol v_g作为一种辅助向量,vq\boldsymbol v_q才是关注的图片表示。Rank Activation Map (RAM)定义为:

LRAMg=k1vgvgkAk L_\text{RAM}^g=\sum_k\frac1{|v_g|}v_g^k\cdot A^k

可以看到,RAM与CAM不同之处在于,CAM采用标量作为权重系数,该系数和梯度有关。而RAM采用向量内积来计算显著图,参考向量vg\boldsymbol v_g为图片gg的特征表示结果,和梯度无关。

同样为了去除模型结构限制,提出基于余弦相似度的Confidence Gradient-weighted RAM (CG-RAM)方法。但梯度free方法依赖于参考图片,仍然无法提供对输入图片的完整视觉理解。

人员重识别

人脸重识别主要用于研究非重叠相机中的身份检索问题,关键在于获取可以鲁棒表示身份判别信息的特征表示。ID-discriminative Embedding模型将每个训练身份样本作为单独的类别,把训练过程看作分类任务,将输入最后分类层之前的特征向量作为特征表示。给定输入图片,将输出的特征向量和已有特征向量进行距离计算,即可将依据距离大小获得检索结果。

所提的FAM方法

Grad-FAM

首先将RAM方法中的参考图片就设定为输入图片本身,假设这种情况下图片中不同子区域的激活度会和特征表示的重要性更相关,例如图c)中当图片本身做参考图片时,整体显著图会有更高的激活度。然后类似Grad-CAM的方式移除网络结构限制:

LGradRAMg=ReLU(k(1Zij<f(Xg),f(X)>f(Xg)Aijk)Ak) L_{Grad-RAM}^g=\mathrm{ReLU}\left(\sum_k\left(\frac1Z\sum_i\sum_j\frac{\partial\frac{\left<f(X_g),f(X)\right>}{|f(X_g)|}}{\partial A_{ij}^k}\right)\cdot A^k\right)

其中XXXgX_g分别为输入图片和参考图片。Grad-RAM基于余弦相似度的梯度:

dcos(f(X),vg)=<f(X),f(Xg)>f(X)f(Xg) d_\mathrm{cos}(f(X),\boldsymbol v_g)=\frac{\left<f(X),f(X_g)\right>}{|f(X)|\cdot |f(X_g)|}

XgX_g替换为XX,得到文章提出的Grad-FAM为:

LGrad-FAM=ReLU(k(1Zijf(X)Aijk)Ak) L_\text{Grad-FAM}=\mathrm{ReLU}\left(\sum_k\left(\frac1Z\sum_i\sum_j\frac{\partial|f(X)|}{\partial A_{ij}^k}\right)\cdot A^k\right)

Score-FAM

身份重识别任务中,检索结果通常基于输入图片和已有图片特征向量的余弦相似度的排序结果。受CIC启发,文章基于余弦相似度提出了Channel-wise Increase of Similarity (CIS)来测量每种特征图对于特征表示的重要性。

定义网络输入为图片XX,输出为特征向量vv,对于已知基准输入BB,第ll层第kk个通道的特征图对于特征向量vv的贡献为:

S(Alk)=dcos(f(XMlk),f(X))dcos(f(B),f(X))Mlk=Norm(Up(Alk)) S(A_l^k)=d_\mathrm{cos}(f(X\circ M_l^k),f(X))-d_\mathrm{cos}(f(B),f(X))\\ M_l^k=\mathrm{Norm}(\mathrm{Up}(A_l^k))

首先对特征图进行上采样,作为输入图片的mask扰动XMlkX\circ M_l^k,并使用模糊后的输入图片作为基准图片BB。最终Score-FAM结果为:

LScore-FAM=ReLU(kakAlk)ak=exp(S(Alk))hexp(S(Alh)) L_\text{Score-FAM}=\mathrm{ReLU}\left(\sum_ka_k\cdot A_l^k\right)\\ a_k=\frac{\mathrm{exp}(S(A_l^k))}{\sum_h\exp(S(A_l^h))}

Score-FAM算法的伪代码为:

Score-FAM算法伪代码

整体流程为:

解释图可视化

两种方法的计算时间相差较大:

methods time(seconds per image)
Grad-FAM 0.05
Score-FAM 9.69

仿真实验

行人重识别的客观评价

分类可视化结果的可靠性是由解释图来判断,传统方法通常会保持固定比例对像素进行过滤,例如50%。但由此生成的解释图通常不能匹配所有样本的结果,本文采用更自适应的方式:

Mij={1,     LijBHighδ,  BLowLijBHigh0,     Lij<BLow M_{ij}=\left\{\begin{aligned} 1,&~~~~~L_{ij}\geqslant B_\text{High}\\ \delta,&~~B_\text{Low}\leqslant L_{ij}\leqslant B_\text{High}\\ 0,&~~~~~L_{ij}<B_\text{Low} \end{aligned}\right.

其中δ=0.9\delta=0.9BHigh=0.6B_\text{High}=0.6BLow=0.3B_\text{Low}=0.3,相比传统的固定阈值方法:

Mij={1,     LijB0,     Lij<B M_{ij}=\left\{\begin{aligned} 1,&~~~~~L_{ij}\geqslant B\\ 0,&~~~~~L_{ij}<B \end{aligned}\right.

将Mask矩阵对原始图片做mask扰动,本文所提的自适应方法具有更好的显著图可视化效果:

解释图可视化

所谓自适应只是在原来基础上再增加一个阈值,感觉创新性和效果言过其实了。

依据mask扰动后的图片和基准图片、输入图片的特征表示效果对比,如果显著性图确实衡量了对特征表示最重要的区域,则经过mask对其余区域扰动后的特征表示应当和原始输入图片的特征表示,在特征表示空间的距离相差不大。文章采用了三种评价指标衡量这种差异:

  • Average Similarity Drop (AS Drop):

1NQqQmax(0,Dq(Xq,Eq))Dq(Xq,Bq)Dq(I,J)=gGq[dcos(f(I),f(Xg))dcos(f(J),f(Xg))]\frac1{N_\mathbb Q}\sum_{q\in\mathbb Q}\frac{\max(0,D_q(X_q,E_q))}{D_q(X_q,B_q)}\\ D_q(I,J)=\sum_{g\in\mathbb G_q}[d_\mathrm{cos}(f(I),f(X_g))-d_\mathrm{cos}(f(J),f(X_g))]

其中XqQX_q\in\mathbb Q为输入图片,gGg\in\mathbb G为和查询图片具有相同身份的检索目标图片集合。XqX_qEqE_qBqB_q分别为输入图片、解释图和基准图片。max\max防止解释图匹配上别的图导致距离为负数。

  • Average Precision Drop (AP Drop)

1NQqQmax(0,AP(Xq)AP(Eq))AP(Xq)AP(Bq)\frac1{N_\mathbb Q}\sum_{q\in\mathbb Q}\frac{\max(0,AP(X_q)-AP(E_q))}{\mathrm{AP}(X_q)-AP(B_q)}

其中AP(I)AP(I)为图片II的平均精度。

  • Increase in Average Precision (AP Increase)
    如果背景部分存在较多噪声干扰,也可能出现解释图检索结果相比原始输入具有更高的平均精度。因此文章定义了AP Increase指标来评价所有AP高于原始输入图像的解释图。

1NQqQSign(AP(Xq)<AP(Eq))\frac1{N_\mathbb Q}\sum_{q\in\mathbb Q}\mathrm{Sign}(\mathrm{AP}(X_q)<\mathrm{AP}(E_q))

直观来看,该指标就是AP高于原始图像的图片数目。

应用于Market1501和CUHK03数据集时,三种指标的结果对比:

解释图可视化

理性检查

采用理性检查来测试是否Grad-FAM和Score-FAM提供了模型行为的可靠解释。分类网络ResNet50在Market1501数据集上训练后重新进行自上而下的初始化。如果网络参数大范围改变后FAM方法的输出仍然相似,则解释图没能通过理性检查,因此实验反映了可视化结果对于模型参数的敏感性。从图中可看出,对于模型参数的变化,解释图确实产生了变化,因此对于网络模型参数是敏感的,可以通过理性检查。

解释图可视化

这部分实验较为主观,例如如何定义网络输出是否相似?评价方法和实验设计还有待提高。

应用于自监督表示学习

自监督表示学习可以在没有人类标注的情况下学习很好的特征表示,但由于没有最后的分类器,因此无法实现基于类别梯度的方法,即便引入单独的预训练分类器来提供梯度信息,也无法解决新类别问题。

文章在ImageNet数据集上训练了HRNet-W30模型,并使用Grad-FAM可视化不同迭代轮数的显著图:

解释图可视化

可以看出,训练前80轮模型的关注区域主要集中于前景部分,但也会扩展到一部分背景部分,训练140轮时,背景部分的注意力得到降低,训练到200轮时候已经基本能够定位到很小的前景区域。因此对于注意力图的可视化可以帮助研究者更好地理解和分析不同的自监督表示学习架构。