1 引言

 当前解释深度卷积神经网络越来越引起了AI研究者的关注,因为它有助于理解深度神经网络的内部机制和做出特定决策的原因。在计算机视觉领域,可视化和理解深层网络最流行的方法之一是生成Saliency Map,突出与网络决策相关的显著区域。然而,现有方法生成的Saliency Map要么只反映网络预测的微小变化,要么计算显著图的计算过程的时间复杂度较高。最近南京大学的一篇论文提出了一种高效的Saliency Map生成方法,称为组分数加权类激活映射(Group-CAM)。该论文作者提供了相应的代码,感兴趣的可以下载下来跑一跑。
在这里插入图片描述
论文链接:https://arxiv.org/abs/2103.13859
论文代码:https://github.com/wofmanaf/Group-CAM

2 Group-CAM

2.1 Saliency Map

 在计算机视觉领域中,Saliency Map最先由Simonyan等人提出,它被用于图像分类模型的可视化。给定一个图像I0I_0I0,类别ccc,和类别预测分数函数Sc(I)S_c(I)Sc(I),类别预测分数Sc(I)S_c(I)Sc(I)输入样本I0I_0I0中像素点d的相关程度的计算公式可以表示为Saliency_map=∂Sc∂I∣I0Saliency\_map=\left.\frac{\partial S_{c}}{\partial I}\right|_{I_{0}}Saliency_map=IScI0
Saliency Map的作用就是显示出样本中哪些特征对预测分数影响程度更大。

2.2 论文算法介绍

 如下图所示为Group−CAM\mathrm{Group-CAM}GroupCAM的模型流程图,首先用特征图和重要性权重wcw^cwc的线性组合来提取激活。然后激活被分成组,并在去噪之前沿每个组中的通道维度求和,以生成初始掩模Ml′M^{\prime}_{l}Ml。输入图像I0I_0I0按元素与Ml′M^{\prime}_{l}Ml相乘,然后用有意义的扰动进行变换。扰动的图像然后被馈送到网络。输出显著图可以被计算为所有Ml′M^{\prime}_{l}Ml的加权和,其中权重αlc\alpha^{c}_{l}αlc来自对应于各个扰动输入的目标类别的置信度得分。
在这里插入图片描述

2.3 初始化掩膜Masks

 令I0∈R3×H×WI_0 \in \mathbb{R}^{3\times H \times W}I0R3×H×W是一张输入图片,F\mathcal{F}F是深度神经网络,其中Fc(I0)\mathcal{F}_c(I_0)Fc(I0)是输入图片在类ccc中的预测分数。为了获得目标卷积层的类别区分初始组掩码,作者计算Fc(I0)\mathcal{F}_c(I_0)Fc(I0)相对于第kkk个特征图AkA^{k}Ak的梯度,这些梯度是高度和宽度维度上的全局平均值目的是为了获得神经元重要性权重:
wkc=1Z∑i∑j∂Fc(I0)∂Aijk(I0)w^{c}_k=\frac{1}{Z}\sum\limits_{i}\sum\limits_{j}\frac{\partial \mathcal{F}_c(I_0)}{\partial A^{k}_{ij}(I_0)}wkc=Z1ijAijk(I0)Fc(I0)其中ZZZ表示的是特征图AkA^{k}Ak的像素点的数目。
 假定KKK是目标层特征图的通道个数,把所有的特征图和神经元重要性权重分成GGG组。然后,每组中的初始掩码计算如下Ml=ReLU(∑k=l×g(l+1)×g−1(wkcAk))M_l=\mathrm{ReLU}(\sum\limits_{k=l\times g}^{(l+1)\times g-1}(w^{c}_kA^k))Ml=ReLU(k=l×g(l+1)×g1(wkcAk))其中,l∈{0,1,⋯ ,G−1}l \in \{0,1,\cdots,G-1\}l{0,1,,G1}g=K/Gg=K/Gg=K/G是每组特征图的个数。MlM_lMl是特征图和梯度的组合,这意味着MlM_lMl在视觉上可能有噪声,因为DNN的梯度由于ReLU中平坦的零梯度区域而趋于消失。所以不适合直接应用MlM_lMl作为初始掩膜。为了解决这个问题,作者使用去噪函数来过滤MlM_lMl,其中去噪函数可以表示为ϕ(mi,j,θ)={mi,j,ifmij>p(Ml,θ)0,otherwise\phi(m_{i,j},\theta)=\left\{\begin{array}{ll}m_{i,j},&\mathrm{if}\quad m_{ij}>p_(M_l,\theta)\\0,&\mathrm{otherwise}\end{array}\right.ϕ(mi,j,θ)={mi,j,0,ifmij>p(Ml,θ)otherwise与其将所有像素设置为二进制值,不如为激活图生成更平滑的Mask。作者通过利用最小最大归一化将MlM_lMl的原始值缩放到[0,1][0,1][0,1]中,Ml′=Ml−min⁡(Ml)max⁡(Ml)−min⁡(Ml)M^{\prime}_{l}=\frac{M_l-\min(M_l)}{\max(M_l)-\min(M_l)}Ml=max(Ml)min(Ml)Mlmin(Ml)用双线性插值对Ml′M^{\prime}_{l}Ml进行上采样,达到相同的分辨率I0I_0I0,以屏蔽输入。

2.4 Saliency Map生成

 作者使用模糊信息替换未保留的区域(0值的像素),然后对该图像执行分类以测量初始屏蔽的重要性。模糊图像可以通过以下方式计算Iℓ′=I0⊙Mℓ′+I~0⊙(1−Mℓ′) I_{\ell}^{\prime}=I_{0} \odot M_{\ell}^{\prime}+\tilde{I}_{0} \odot\left(1-M_{\ell}^{\prime}\right) I=I0M+I~0(1M)其中,I^0=guassian_blur2d(I0,ksize,sigma)\hat{I}_0=guassian\_blur2d(I_0,ksize,sigma)I^0=guassian_blur2d(I0,ksize,sigma)是与I0I_0I0形状相同的图像。
 保留区域I0⊙Ml′I_0\odot M^{\prime}_{l}I0Ml的贡献值alca_l^calc的计算公式为:αℓc=Fc(Iℓ′)−Fc(I~0) \alpha_{\ell}^{c}=\mathcal{F}_{c}\left(I_{\ell}^{\prime}\right)-\mathcal{F}_{c}\left(\tilde{I}_{0}\right) αc=Fc(I)Fc(I~0)最终的Saliency Map是具有权重alca^{c}_lalc的初始掩模的线性组合,其计算公式为:LGroup−CAMc=ReLU⁡(∑ℓαℓcMℓ′) \mathcal{L}_{Group-CAM }^{c}=\operatorname{ReLU}\left(\sum_{\ell} \alpha_{\ell}^{c} M_{\ell}^{\prime}\right) LGroupCAMc=ReLU(αcM)
 根据上述原理所述,Group-CAM的算法流程图重新整理成如下形式:在这里插入图片描述

3 实验结果

 作者定性地比较的方法包括基于梯度的方法如引导反向传播,Inte−grateGrad\mathrm{Inte- grateGrad}IntegrateGradSmoothGrad\mathrm{SmoothGrad}SmoothGrad,基于区域的方法如RISE\mathrm{RISE}RISEXRAI\mathrm{XRAI}XRAI,和基于激活的方法如Grad−CAM\mathrm{Grad-CAM}GradCAMScore−CAM\mathrm{Score-CAM}ScoreCAM,以验证Group−CAM\mathrm{Group-CAM}GroupCAM的有效性。
 如下图所示,Group−CAM\mathrm{Group-CAM}GroupCAM正确地给出了“类别的解释位置,结果表明,Group−CAM\mathrm{Group-CAM}GroupCAM比基于区域的方法和基于激活的方法更有说服力,并且比基于梯度的方法包含更少的噪声。
在这里插入图片描述
作者通过进行删除和插入测试,以评估不同的Saliency Map方法。删除度量背后的直觉是,删除与类别最相关的像素/区域将导致分类分数显著下降。另一方面,插入度量从模糊的图像开始,逐渐重新引入内容,这产生了更真实的图像。如下图所示,Grad−CAM\mathrm{Grad-CAM}GradCAMScore−CAM\mathrm{Score-CAM}ScoreCAMGroup−CAM\mathrm{Group-CAM}GroupCAM根据删除和插入曲线为代表性图像生成Saliency Map。在插入曲线中,更好的解释是预计预测得分快速增加,而在删除曲线中,预计分类置信度下降更快。可以发现Grad−CAM\mathrm{Grad-CAM}GradCAM表现的更出色。
在这里插入图片描述
 在ImageNet-1k上运行时间方面的比较评估中可以发现Group−CAM\mathrm{Group-CAM}GroupCAMGrad−CAM\mathrm{Grad-CAM}GradCAM的平均运行时间都很少。
在这里插入图片描述
 定位精度的计算公式可以表示为:Acc=#Hits#Hits+#MissesAcc=\frac{\#Hits}{\#Hits+\#Misses}Acc=#Hits+#Misses#Hits如果最显著的像素位于对象的带注释的边界框内,则被视为命中。从下表可知,Group−CAM\mathrm{Group-CAM}GroupCAM的平均精度要高于其它的方法。
在这里插入图片描述
 下图是微调后的ResNet-50生成的Saliency Map可视化。随着ResNet-50性能的提高,由Group−CAM\mathrm{Group-CAM}GroupCAM生成的Saliency Map的噪声降低,并更多地关注重要区域。
在这里插入图片描述

Logo

魔乐社区(Modelers.cn) 是一个中立、公益的人工智能社区,提供人工智能工具、模型、数据的托管、展示与应用协同服务,为人工智能开发及爱好者搭建开放的学习交流平台。社区通过理事会方式运作,由全产业链共同建设、共同运营、共同享有,推动国产AI生态繁荣发展。

更多推荐