本文属于原创,转载请注明出处

*本论文解读的初衷:
1.由于某些原因,最近有关注到神经网络可解释性与可视化方向的发展。
2.本人习惯阅读优秀的博文后直接点赞收藏,而这篇却没有搜到相关解读,不知道是不是关注这方面的同学比较少,所以才有了这篇文章。
3.本文属于全文性译文,个人解读比较少,同学们应该都看得懂。
4.时间原因比较粗糙,如有错误,烦请大佬指教,感激不尽。同时本文仅作为个人读后留存资料,不承担任何责任。

*建议阅读顺序:摘要,介绍,结论,确定需要阅读全文的,再阅读正文

文章目录

原文地址
摘要
介绍
正文(body)
结论
代码地址(非本人)

摘要

随着神经网络应用领域的增加和神经网络的发展,解释深度学习模型的能力也变得越来越重要。特别是在实际应用之前,分析模型的推理和生成结果的过程至关重要。一种常见的解释方法是基于类激活映射(CAM)的方法,它经常被用来理解计算机视觉领域中流行的卷积神经网络的最后一层。在本文中,我们提出了一种新的CAM方法,名为相关性加权类激活映射(Relevance-CAM),利用层间相关性传播来获得加权成分。这使得解释图对碎裂的梯度问题具有忠实性和鲁棒性,这是基于梯度的CAM方法的一个共同问题,会导致中间层的显著图包含噪声。因此,我们提出的方法可以通过正确分析中间层以及最后的卷积层来更好地解释模型。在本文中,我们用Relevance-CAM直观地展示了流行的图像处理模型的每一层是如何提取特定类别的特征的,评估了定位能力,通过实验加权部分证明了并展示了为什么基于梯度的CAM不能用来解释中间层。Relevance-CAM在任何深度层的识别和定位评估中都优于其他基于CAM的方法。他的源代码位置https://github.com/mongeoroo/Relevance-CAM

1.介绍

最近,随着GPU的发展和新神经网络架构的进步,深度学习正在产生显著的成果[10,12,13]。在这种情况下,可解释的深度学习领域也在被深入研究[1,24,36,4],特别是在医学图像处理方面[15,7]。在计算机视觉中,有许多分析模型的方法,如基于[36,25,6,30]的类激活映射CAM的方法和基于分解的方法[27,33,9,14,19,34,4,21,3,26].基于CAM的方法计算最后卷积特征图的加权线性和,以可视化的方式进行模型决策。全局平均池化的输出和目标类输出节点之间的全连接层的权重与相应通道的激活图相乘,沿通道轴的加权激活图之和就是类激活图。它可以被理解为通过定位模型的观察点来生成描述模型决策的热图。然而,尽管CAM[36]可以定位目标类,但它在模型结构上受到很大的限制,模型必须由全局平均池(GAP)和一个全连接层作为其分类器。Grad-CAM[25]和Grad-CAM++[6]解释了一个不受模型结构限制的模型。 这些基于梯度的CAMs使用目标类输出分数相对于最后卷积层的梯度作为激活图的加权成分。这些方法是基于激活对目标类的敏感性,可以理解为激活图对该类的重要性。
Layer-wise Relevance Propagation (LRP)[4] 是一种基于分解的方法。 LRP 通过特定的相关性传播规则将模型类输出分数重新分配到输入图像中。它有一个关于深度泰勒分解的理论背景[19],并且有了这个理论基础,证明了 LRP 对破碎梯度问题的鲁棒性 [5] 并表现出很好的性能 [4,20]。在本文中,我们提出了新的解释该方法不仅可以在最后一个卷积层分析模型,还可以在中间层分析模型。具体来说,我们提出了相关性加权类激活图(Relevance-CAM)。如图1所示,Relevance-CAM在可视化目标对象方面优于其他方法。 本文的贡献如下。
1.我们提出了一种新颖的基于CAM的方法,它对破碎梯度问题忠实且鲁棒。因此,即使在中间层也能很好地运行。 Relevance-CAM 可以帮助您详细分析模型,这是其他基于 CAM 的方法无法做到的。使用 Relevance-CAM,我们发现了一个令人惊讶的事实,即具有小的感受野的浅层甚至可以提取某些网络中的类特定特征。
2.通过使用热图的可视化,我们表明我们的 Relevance-CAM 在任何层都有效。Relevance-CAM 在定位浅层目标对象方面尤其优于其他方法。
3.我们通过Average Drop、Average increase和Intersection over Union来客观地评估Relevance-CAM的忠实度和定位能力。所提出的方法优于其他基于CAM 的方法,尤其是在中间层。
4.我们不仅在深层而且在浅层中都展示了类别敏感性。 Relevance-CAM 表明,即使是浅层也可以提取特定的类信息。

正文(body)
2. 背景

2.1. CAM
Class Activation Mapping(CAM)[36]是一种解释方法,通过全局池化层之前最后一个卷积层输出的线性加权组合,将特定类别区域可视化。然而,这重新限制了CAM对具有特定结构的模型的应用。
2.2. Grad-CAM
Grad-CAM[25]与CAM相似,只是计算权重值的方法不同。它被设计为泛化CAM,可以适用于所有CNN模型。Grad-CAM的原理是,激活图是由某个卷积层提取的图像图,每个激活图对一个类别的重要性可以被界定为激活图的梯度。Grad-CAM,LcGrad-CAM,定义为:

其中Ak表示最后一个卷积层第k个通道的激活图,yc表示c类的模型输出,αck表示Grad-CAM的权重分量,GP(·)表示全局池化函数
2.3. 分层相关性传播(LRP)
LRP[4] 包含分而治之的策略。一般来说,很难定义模型的输入像素和输出分数之间的相关性。但在单层模型的情况下,任务变得容易。 LRP 通过对其结构的逐层分解来解释模型[19],以逐层方式将相关性分数从输出传播到输入。在满足以下定义的同时进行分数的传播。
定义1:如果像素空间中分配的相关性总和对应于模型检测到的总相关性,则定义相关性得分是保守的:

定义2:相关性分数是正的,如果构成热图的所有数值都大于或等于零。

其中Rlp(x)表示第l层像素p的相关性分数.
基于保守的定义1,总的重新分配的相关性总是与fc(x)相同,它表示目标类别c的输出分数。相关性分数被直接解释为对输出分数的贡献值。
一般的相关传播规则是z-rule,它有深度泰勒分解法[19]的理论基础。当将相关性分数从第 j 层传播到第 i 层时,z-rule 可以写成:

其中Ri,Rj分别表示第i层的相关性和第j层的相关性,xi表示第i层的激活输出,w+ij表示第i层和第j层之间权重的正数部分。虽然z-rule在模型解释任务中表现成功[4],但z-rule的缺点是它对多物体图像中的目标类别不太敏感[9,14] 。
2.4.对比分层相关性传播(CLRP)
Contrastive Layer-wise Relevance Propagation (CLRP)[9] 被提出来解决 LRP 的缺点:对目标类的敏感性低。 CLRP 从目标类的相关性中减去非目标类的相关性。因此,CLRP 生成的热图对目标类变得更加敏感。 CLRP 中最后一层的相关性得分为:

其中 z(L)t 表示第 L 层的目标类索引的模型输出值,N 表示类的数量。通过以这种方式分配相关性,从生成的显着性图中去除非目标类的相关性像素。
2.5.梯度问题
噪声和不连续性:有许多研究对梯度作为一种模式解释工具的忠实性提出了质疑[30,20,5,16]。随着网络的深入,梯度变得嘈杂和不连续。这个问题被称为碎梯度问题[5]。梯度的噪声来自于激活函数中梯度的饱和;当通过ReLU或Sigmoid等激活函数时,梯度可能变得饱和,结果是价值消失或爆炸。此外,梯度的整体线性也会导致不连续。因为梯度是由连接层的权重来计算的,所以与下一个像素的关系会丢失。
敏感性解释:在Grad-CAM中,激活图的重要性是由输出的梯度相对于激活图来衡量的。这表明,Grad-CAM在表示重要性时不考虑激活值。 因此,Grad-CAM测量的是激活图对模型输出的敏感度。但我们想解释的是激活图对目标类输出的贡献有多大,而不是激活图有多敏感。这个问题被称为虚假信心[30]。
相关性得分:相反,LRP对梯度问题是稳健的,这一点已被实验证明[20]。LRP显示出连续性和较少噪音的特点,因为目标类分数的变化。由于这些原因,我们认为LRP的相关性分数是类激活映射的权重成分。
3. 相关性加权的类激活图
在Relevance-CAM之前,前面提到的其他方法都集中在分析最后一个卷积层的激活图上,因为众所周知,最后一个对话层具有高级语义。另外,以前的方法所创建的中间层的热图是有噪声的,而且显示的结果是非类别的,这一事实进一步鼓励了这种方法。
然而,影响模型输出的不仅仅是最后的卷积层。深层和中间层对模型输出的影响也要进行分析。但是,由于梯度在深度分层模型中变得嘈杂和不连续,梯度作为加权成分的质量变得值得怀疑。因此,我们设计了新的基于CAM的方法,即Relevance-CAM,结果是我们能够从模型中获得有意义的信息,甚至从较浅的层中也能获得以前的方法所没有的信息。我们在Relevance-CAM中发现,中间层和最后的卷积层一样,也能提取出特定类别的信息。我们的发现将在第4节中详细介绍。
考虑到第2节中提到的梯度问题,通过LRP获得的相关性分数被用作我们提议的方法的加权部分。此外,在执行这个程序时,CLRP被应用来获得类的敏感性。相关性CAM的流程如图2所示.
Relevance-CAM方程如下:


R(c,i)k表示第i层特征图k对目标类的相关性图,可以通过LRP过程获得。α(c,i)k,即加权分量,通过相关性图R(c,i)k的全局平均池化计算。由于Relevance-CAM可以通过ac-tivation地图和relevance地图获得,它可以只用一个前向传播和一个反向传播来计算。
此外,从相关权重的含义来看,由于 LRP 是输出分数的深度泰勒分解,因此相关值本身可以解释为对目标类输出的贡献。因此,相关性的总和α(c,i)k代表第k个通道激活图对目标类输出得分的重要性或贡献。
4. 实验
在第四部分,我们通过各种实验来评估我们的事后关注方法。首先,我们将各种基于CAM的方法制作的深度热图可视化,以比较我们的方法的有效性,并通过平均下降(A.D.)和平均增加(A.I.)来衡量生成的热图的可信度。 第二,我们展示了Grad-CAM和Relevance-CAM之间的区别。第三,我们通过Intersec IOU来评估定位能力。最后,我们评估了我们提出的方法的等级敏感性。

4.1.深度可视化
我们通过图3中的各种解释方法将深度热图可视化。所有的解释方法在第4层都能很好地定位目标对象。但是在第二层,基于梯度的方法,如Grad-CAM和Grad-CAM++,不能定位类的特定区域,而Score-CAM和Relevance-CAM定位的很好。由于梯度在通过各层时变得很嘈杂,基于梯度的CAM不能准确地给激活图分配权重。 另一方面,对梯度概率具有鲁棒性的Score-CAM和Relevance-CAM即使在浅层也能很好地工作,而Relevance-CAM的热图比Score-CAM的热图更清晰。当使用基于梯度的CAM来分析中间层时,可以判断中间层不能提取类的语义信息,因为生成的显著图不能定位类对象[25]。然而,通过Relevance-CAM生成的显著图即使从中间层也能很好地定位目标类别。这表明,浅层也可以提取类的具体信息。
我们通过 [6,30] 中采用的平均下降(A.D.)和平均增加(A.I.)进一步评估我们方法的客观忠实度。这两个指标通过观察目标类分数的变化来衡量注意力图解释模型的程度。在这个实验中,注意力图的 top50% 像素被用作掩码。平均下降表示为:

其中N是数据集的数量,Yci是图像I的类别c输出soft-max值,Oci是以attention masked image作为输入时,类别c的输出softmax值。Sign(·)表示如果输入为正则返回1的指示函数。我们在 ImageNet(ILSVRC2012) 验证集中随机选择的 2000 张图像上实验了解释方法,但只考虑标签和模型预测匹配的情况来精确测量贡献。
如表1和表2所示,在ResNet 50和VGG16中,A.D.和A.I.在模型的最深层具有几乎相似的值。但是,在较低级别的层中,每种解释方法之间的评估值差异增加。
对于ResNet 50,在Relevance- CAM的情况下,第2层和第4层之间的评价差异不大。这表明ResNet 50的第2层也能提取出特定类别的特征。


表 2,VGG 16,也显示了与表 1 相似的方面。在较深的层中,评估值相似,在较浅的层中,Relevance-CAM 优于其他方法。然而,需要注意的是,VGG 16 层之间 Relevance-CAM 的评估值差异大于 ResNet 50。这表明在 ResNet 50 的情况下,可以从中间层提取类特定信息,而在 VGG 中16、从中间层提取类特定特征的能力不足。
4.2. 选择性评估
在这一节中,我们将加权组件可视化,以显示碎梯度问题如何破坏Grad-CAM的定位能力以及前3个加权激活图,并将Grad-CAM的选择性与Relevance-CAM的选择性进行比较。两种模型在第3层和第4层的结果被展示出来进行比较。
在图4中,(a),(b)显示了每个方法沿通道的加权分量。在这里,我们对恒定比例的加权分量进行归一化处理。梯度碎裂问题发生在第3层的梯度权重上。与第4层相比,第3层梯度权重变得嘈杂和扁平化。另一方面,相关权重证明了它对破碎梯度问题的鲁棒性,在第 3 层和第 4 层都显示出稀疏性。

我们在图4的(c)和(d)中展示了Grad-CAM和Relevance-CAM的选择性,其中显示了每种方法的前3个加权激活图和生成的显著性图。 Grad-CAM和Relevance-CAM的前3个加权激活图在第4层都很好地定位了目标类物体,一条鲈鱼。但是在第3层,Grad-CAM显示了一个嘈杂的热图。即使是最后的加权的激活图也不能提取目标类的图像。这意味着Grad-CAM的嘈杂加权成分不能选择重要的特征图。另一方面,Relevance-CAM清晰地定位了鲤鱼,而且前3个加权激活图也在更高的分辨率下高亮了目标物体。这表明Relevance-CAM为重要的通道提供了良好的权重。通过这个演示,我们表明Relevance-CAM对梯度破碎问题是稳健的,并在所有层中显示出高选择性。
4.3.定位能力评估
注意力图的定位能力是很重要的,因为显著性图可以应用于定位任务,如注意力机制[8,18,29,32]或自我推理系统[11,35]。出于这个需要,我们在这一节中评估了Relevance-CAM的定位能力。ImageNet(ILSVRC2012)验证集和在ImageNet分类任务上预训练的ResNet 50被用于本实验。我们利用Relevance-CAM使用一个掩码进行分割,掩码的区域由生成的显著图的像素组成,该像素高于显著图的平均值+1*标准偏差,如图5,在ResNet 50的第二层分割的输入图像上。Relevance-CAM 能很好地将物体从背景中分离出来,甚至像金鱼这样的小球体也能被高精度地定位。
接下来,我们对定位能力进行定量实验。我们使用 “交并比”(IoU)指标对性能进行评估,该指标是为一个类别生成的注意力图的像素与真实物体边界框像素之间的交集面积与并集面积的比率。如果显著图将目标物体紧密地定位,IoU的值就会很高。实验是在随机选择的2000张模型预测正确的图像上进行的,见表3。最后一个卷积层的性能结果几乎相似。但在浅层中,Relevance-CAM的表现优于其他方法。而且需要注意的是,即使目标层变浅,Relevance-CAM在IoU上的变化也较少。
4.4.类别敏感度测试
在图6中,我们将每个类别的遮蔽图像可视化,以定性地测试我们提出的方法的类别敏感性。第一行显示了 "斑马 "类在不同图层深度下的遮蔽图像。第二行显示了 "大象 "类在不同层深度下的遮蔽图像。在这里,我们使用了第4.3节中描述的相同的掩码。
被遮蔽的图像显示出惊人的等级敏感度。随着图层变浅,可以看出定位性能略有下降,但仍能创造出足够敏感的高分辨率热图。应该指出的是,该模型已经将大象和斑马从第1层中分离出来。
另一个现象可以在图7中看到,在第3和第4层只有喜鹊被定位,而喜鹊旁边的条形图开始被定位在第2层。在第一层喜鹊和喜鹊所坐的杆子一起被非常清楚地识别。在低层将杆子识别在一起,可以理解为将与树枝相似的杆子定位,在imagenet数据集中观察到喜鹊经常坐在上面。换句话说,喜鹊和杆子在低层被认为是同一类,随着层次的加深,喜鹊和杆子被分别提取为不同的特征。

总结一下图6和图7中的发现。Relevance-CAM在ResNet50的第1层创建了一个特定类别的热图。由此可以看出,从第1层中不仅提取了一般特征或局部特征,而且还提取了特定类别的信息。此外,随着层的加深,激活图的通道也在增加,相应地,特征在最初从浅层提取的范围内被进一步细分。
4.5. Relevance-CAM的真实性检查
我们使用 [2] 中提出的级联随机化测试来评估我们的方法。在可解释的注意力图方面,该实验是一项非常重要的工作。图 8 是 ResNet50 模型第 2 层的 Relevance-CAM 结果,通过将参数从 logit 逐步随机化到第 1 层。我们可以看到,参数随机化破坏了显着图。因此,我们的方法对模型参数敏感。
5. 从浅层中提取类特定信息的证据
有人可能对从浅层中提取类特定信息的论点提出争议。当使用Relevance-CAM时,需要浅层的前向路径信息和深层的后向路径信息。然而,由于Relevance-CAM只对通道权重使用LRP,所以对空间权重没有影响。例如,如果浅层只提取一般的特征,如边缘或纹理,就不会有只定位某一特定类别的物体的特征图。在这种情况下,无论通过LRP进行何种通道加权,我们都无法创建一个对类别敏感的注意力图。在我们论文的图6中,ResNet50的Relevance-CAM结果显示,即使在浅层,不同类别的物体也被分别定位。我们可以推断,有一些特征图可以单独定位不同类别的对象,这些特征图对类别输出得分有很大的影响。然而,如图7所示,较深层的Relevance-CAM结果可以比浅层更明确地提取类别的具体特征。因此,我们认为从浅层中可以提取出特定的类别特征,但随着层的加深,会提取出更高层次的特征。
6. 结论
在本文中,我们提出了一种称为 Relevance-CAM 的新型类激活映射方法,用于忠实准确地解释深度学习模型及其各种深度的层。我们提出的Relevance-CAM对其他解释方法所共有的问题是稳健的,如破碎梯度问题和虚假信心。由于这些优势,我们的Relevance-CAM能够对浅层进行分析,而且我们发现,即使在具有小的感受野的浅层中也可以提取特定于类的特征。这一见解可用于各种领域,如迁移学习[22,28,23],模型修剪[31],以及弱监督分割[35,17]。例如,在迁移学习的情况下,与其凭经验选择层来进行微调,不如通过层的分析来选择层。我们相信,我们提出的Relevance-CAM可以让其他研究人员加深对深度学习模型的分析。

致谢
参考文献

论文解读《Relevance-CAM: Your Model Already Knows Where to Look》–阅读笔记相关推荐

  1. 论文解读《Evaluating the visualization of what a Deep Neural Network has learned》–阅读笔记

    本文属于原创,转载请注明出处 *本论文解读的初衷: 1.由于某些原因,最近有关注到神经网络可解释性与可视化方向的发展. 2.本人习惯阅读优秀的博文后直接点赞收藏,而这篇却没有搜到相关解读,不知道是不是 ...

  2. 论文解读:Combining Distant and Direct Supervision for Neural Relation Extraction

    论文解读:Combining Distant and Direct Supervision for Neural Relation Extraction 夏栀的博客--王嘉宁的个人网站 正式上线,欢迎 ...

  3. 论文解读:Question Answering over Knowledge Base with Neural Attention Combining Global Knowledge Info...

    论文解读:Question Answering over Knowledge Base with Neural Attention Combining Global Knowledge Informa ...

  4. 论文阅读(XiangBai——【AAAI2017】TextBoxes_A Fast Text Detector with a Single Deep Neural Network)...

    XiangBai--[AAAI2017]TextBoxes:A Fast Text Detector with a Single Deep Neural Network 目录 作者和相关链接 方法概括 ...

  5. 论文阅读 [TPAMI-2022] ManifoldNet: A Deep Neural Network for Manifold-Valued Data With Applications

    论文阅读 [TPAMI-2022] ManifoldNet: A Deep Neural Network for Manifold-Valued Data With Applications 论文搜索 ...

  6. 论文翻译:2022_PACDNN: A phase-aware composite deep neural network for speech enhancement

    论文地址:PACDNN:一种用于语音增强的相位感知复合深度神经网络 相似代码:https://github.com/phpstorm1/SE-FCN 引用格式:Hasannezhad M,Yu H,Z ...

  7. 论文笔记:Identifying Lung Cancer Risk Factors in the Elderly Using Deep Neural Network - Chen, Wu

    论文笔记:Identifying Lung Cancer Risk Factors in the Elderly Using Deep Neural Network - Chen, Wu 原文链接 I ...

  8. 《TextBoxes: A Fast Text Detector with a Single Deep Neural Network》论文笔记

    参考博文: 日常阅读论文,这是在谷歌学术上搜索其引用CRNN的相关文献中被引数量比较高的一篇OCR方向的文章,这里拿来读一读. 文章目录 make decision step1:读摘要 step2:读 ...

  9. 【论文】Believe It or Not, We Know What You Are Looking at! 阅读笔记

    [论文]Believe It or Not, We Know What You Are Looking at! 阅读笔记 1.Gaze Following 2.总的网络图 3.Gaze directi ...

  10. 【读论文】A Deep Neural Network for Unsupervised Anomaly Detection and Diagnosis in Multivariate Time...

    目录 1. 这篇文章的主要研究内容 2. MSCRED Framework 1. Problem Statement 2. Overview (1)Characterizing Status with ...

最新文章

  1. ts引入公共方法_vue3+TS+ant2.0 实践指南
  2. 在32位Ubuntu 10.04上编译Android 2.3
  3. 解决使用RabbitTemplate操作RabbitMQ,发生The channelMax limit is reached. Try later.问题
  4. Redis Lua脚本中学教程(上)
  5. DataURL:概述
  6. 掌握Java编程思想,学好Java只需要三步?网友:真的吗?
  7. 进入Docker容器的4种方式
  8. docker安装指南
  9. vue.js源码学习分享(四)
  10. 常用排序算法的python实现
  11. 倒排索引Inverted index
  12. CCNode作为容器实现显示区域剪裁
  13. m115b linux 驱动下载,富士施乐m115b打印机驱动
  14. JAVA实现10种排序
  15. 传说中的ACM大牛们
  16. 错误specificity:nan
  17. 马云马总,我祝福您全家和以后的子子孙孙都有996福报
  18. 小学计算机教师应聘简历,应聘小学教师的个人简历模板
  19. Windows10使用自带表情包
  20. 归一化的matlab实现

热门文章

  1. 如何打开Mac电脑的静音模式?如何开启 Apple Watch 静音模式?
  2. java基于springboot+vue的汉服推广与交流平台
  3. 培训机构微信在线报名
  4. 车联网全景扫描——DSRC与C-V2X
  5. 不应使用Excel进行项目资源规划的 7 个原因
  6. win10打开计算机闪屏,求助,win10打开程序闪屏
  7. 如何创建计算机的桌面快捷方式,怎么设置桌面快捷方式,怎么创建快捷方式到桌面...
  8. c语言简易密码本爆破
  9. SQL Server数据库管理
  10. 发那科机器人电柜没电怎么回事_「维修篇」发那科FANUC机器人电路板维修步骤及注意事项...