使用Python进行Grad-CAM ++:深度卷积网络的改进视觉解释

在Grad-CAM ++和Guided Grad-CAM ++显著图中,**狗(多个对象)的可视化效果更好(第一行和第二行),并且该类的整个区域都处于局部状态(第三行和第四行),**而Grad-CAM热图仅显示部分覆盖范围。

在该故事由印度海得拉巴技术学院和Cisco Systems撰写,名为Grad-CAM ++:深度卷积网络的改进视觉解释,Grad-CAM ++。在本文中:

  • Grad-CAM++,基于Grad-CAM,提供CNN模型预测的更好的视觉的解释,在以下方面:目标定位以及在单个图像中的多个对象实例的说明发生。

    • Grad-CAM:https://sh-tsang.medium.com/review-grad-cam-visual-explanations-from-deep-networks-via-gradient-based-localization-wsol-edab5fd4fd0a

  • 最后一个卷积层特征图的正偏导数相对于特定类别分数的权重组合作为权值,用于生成相应类别标签的直观说明。

这是2018年WACV上的一篇论文,被引用超过260次。

Sik-Ho Tsang@Medium:https://sh-tsang.medium.com/

CAM技术系列已被许多SOTA论文广泛使用,例如 EfficientNet(它使用 CAM 来直观地解释模型。值得阅读这一系列论文。

  • EfficientNet:https://sh-tsang.medium.com/efficientnet-rethinking-model-scaling-for-convolutional-neural-networks-image-classification-ef67b0f14a4d

  • CAM:https://sh-tsang.medium.com/cam-learning-deep-features-for-discriminative-localization-weakly-supervised-object-7cab7b31f972

目录

  1. CAM简介

  2. Grad-CAM简介

  3. Grad-CAM ++

  4. 实验结果

1. CAM简介

  • 在CAM中,需要修改CNN,因此需要重新训练。全连接层需要删除。

  • 在softmax之前使用全局平均池(GAP)。

  • 特定类c的最终分类得分Yc可以写为其全局平均集合最后卷积层特征图Ak的线性组合:

  • 然后,将类特定显著性图Lc中的每个空间位置(i,j)计算为:

  • Lcij与特定类c的特定空间位置(i,j)的重要性直接相关,因此可作为网络预测类的视觉解释。

2. Grad-CAM简介

  • Grad-CAM是为解决CAM问题而构建的,因此不需要重新训练或架构修改。

  • Grad-CAM支持计算权重。

  • 特征图Ak和类c的权重wck定义为:

  • 其中Z是常数(激活图中的像素数)。

  • 因此,Grad-CAM可以与任何深度CNN一起使用,其中最终的Yc是激活映射Ak的可微函数。

  • 为了获得细粒度的像素比例表示,对 Grad-CAM 显著性图进行上采样,并通过点向乘法与引导反向传播生成的可视化进行更新采样和融合。这种可视化被称为 Guided Grad-CAM。

但是,如果图像包含多次出现的同一类,则 Grad-CAM 无法正确定位图像中的对象。

偏导数的未加权平均值的另一个结果是,局部化通常并不对应于整个对象,而是对应于对象的位和部分。

  • 这可以显示在顶部的第一个图中。

3. Grad-CAM ++

使用Python进行Grad-CAM ++:深度卷积网络的改进视觉解释_第1张图片

  • 如上所述,CAM需要进行网络修改。

  • Grad-CAM通过除以Z(即特征图的大小)来估计权重。如果响应较小或响应面积较小,则权重会变小。

  • Grad-CAM ++通过更复杂的反向传播解决了上述问题:

  • 像这样:

使用Python进行Grad-CAM ++:深度卷积网络的改进视觉解释_第2张图片

  • 如果αkcij = 1 / Z,则Grad-CAM ++简化为Grad-CAM的公式。

  • 因此,顾名思义,Grad-CAM ++可以视为Grad-CAM的广义形式。

  • (我仅对Grad-CAM ++进行了简要回顾。本文描述了更详细的方程式推导。如果有兴趣,请随时阅读本文。)

使用Python进行Grad-CAM ++:深度卷积网络的改进视觉解释_第3张图片

  • 与输入图像 I 相比,很明显,图像中对象的空间足迹对于Grad-CAM的可视化效果很重要。

  • 因此,如果一个物体有轻微不同的方向或视图(或对象激发不同的特征映射的部分),不同的特征映射可能会被不同的空间足迹激活,足迹较小的特征图会在最终的显著性图中消失。

可以如上图的示例所示。面积较小的特征图往往会获得较小的值(0.26和0.13),因此重要性就越低。

但是使用Grad-CAM ++可以解决上述Grad-CAM问题。示例中的所有值均为1.0,这同样重要。

  • 与Grad-CAM相似,要生成最终的显著图,我们对上采样的(到图像分辨率)显著图Lc与由引导反向传播生成的像素空间可视化进行逐点乘法。因此生成的表示称为Guided Grad-CAM ++

4.实验结果

4.1 物体识别

ImageNet验证集上的Grad-CAM ++和Grad-CAM:

使用Python进行Grad-CAM ++:深度卷积网络的改进视觉解释_第4张图片

PASCAL VOC 2007验证集中的Grad-CAM ++和Grad-CAM

使用Python进行Grad-CAM ++:深度卷积网络的改进视觉解释_第5张图片

  • 使用VGG -16。

  • Grad-CAM ++在生成视觉说明时采用的逐像素加权更适合于模型,并且与模型的预测一致。

使用Python进行Grad-CAM ++:深度卷积网络的改进视觉解释_第6张图片

  • 询问13位人类受试者中,哪一位更信任基础模型。

  • Grad-CAM ++的得分为109.69,而Grad-CAM的得分为56.08。剩下的84.23则被受试者标记为“相同”。

4.2 目标定位

在 PASCAL VOC 2012 val 上进行对象本地化的IoU结果:

  • *结果表明,在该指标上,Grad-CAM ++也比Grad-CAM有所改进。尤其是,IoU的改善随着的更大的值而增加。δ,即生成二进制映射的阈值。

使用Python进行Grad-CAM ++:深度卷积网络的改进视觉解释_第7张图片

  • 与Grad-CAM ++相比,CAM的对象热图通常具有较低的强度值。

4.3 知识精炼

  • 在CIFAR-10数据集上训练一个WRN-40-2教师网络(2.2 M参数)。为了训练一个学生WRN-16-2网络(0.7 M参数),训练一个修正的Lexp_student损失,它是标准交叉熵 Lcross_ent 损失和可解释性损失 Linterpret 的加权组合:

  • 其中Linterpret定义为:

  • Linterpret中的L基于由Grad-CAM或Grad-CAM ++发现的权重。

使用Python进行Grad-CAM ++:深度卷积网络的改进视觉解释_第8张图片

  • Grad-CAM ++提供了比Grad-CAM更好的基于解释的知识精炼。

  • 所考虑的学生的参数数量减少了68.18%。

  • 与仅在VOC 2007训练集上训练学生网络相比,平均精度(mAP)大约提高了35%

  • 学生网络是一个较浅的11层CNN,具有27M个参数(减少了80%)。

4.4 图像字幕和3D动作识别

使用Python进行Grad-CAM ++:深度卷积网络的改进视觉解释_第9张图片

  • 这里使用的架构是Show-and-Tell模型,它包括一个CNN来编码图像,然后是一个LSTM来生成字幕。

  • Grad-CAM ++比Grad-CAM生成更完整的热图。

  • Grad-CAM ++的可视化可以洞察网络关注的是什么。

使用Python进行Grad-CAM ++:深度卷积网络的改进视觉解释_第10张图片

  • 在Sports-1M数据集上训练了C3D模型。

  • 在所有指标上,Grad-CAM ++的性能均优于Grad-CAM。

  • Grad-CAM ++生成的解释在语义上更相关。

使用Python进行Grad-CAM ++:深度卷积网络的改进视觉解释_第11张图片

  • Grad-CAM ++倾向于强调视频的上下文(类似于图像),因为视频说明中的亮度较差,而最有区别的部分则较明亮。

参考文献

[2018 WACV] [Grad-CAM++] Grad-CAM++: Improved Visual Explanations for Deep Convolutional Networkshttps://arxiv.org/abs/1710.11063)

弱监督目标定位(WSOL)

  • 2014 [Backprop]

    • https://sh-tsang.medium.com/backprop-visualising-image-classification-models-and-saliency-maps-weakly-supervised-94392011b34a

  • 2016 [CAM]

    • https://sh-tsang.medium.com/cam-learning-deep-features-for-discriminative-localization-weakly-supervised-object-7cab7b31f972

  • 2017 [Grad-CAM] [Hide-and-Seek]

    • https://sh-tsang.medium.com/review-grad-cam-visual-explanations-from-deep-networks-via-gradient-based-localization-wsol-edab5fd4fd0a

    • https://sh-tsang.medium.com/hide-and-seek-weakly-supervised-object-localization-action-localization-a1ea4a028d01

  • 2018 [Grad-CAM++] [ACoL] [SPG]

    • https://sh-tsang.medium.com/review-grad-cam-improved-visual-explanations-for-deep-convolutional-networks-weakly-760264e66bc6

    • https://sh-tsang.medium.com/acol-adversarial-complementary-learning-weakly-supervised-object-localization-e112e5343f

    • https://sh-tsang.medium.com/review-spg-self-produced-guidance-weakly-supervised-object-localization-8400d2f57461

  • 2019 [CutMix] [ADL]

    • https://sh-tsang.medium.com/paper-cutmix-regularization-strategy-to-train-strong-classifiers-with-localizable-features-5527e29c4890

    • https://sh-tsang.medium.com/review-adl-attention-based-dropout-layer-weakly-supervised-object-localization-bebf5ab21457

  • 2020 [Evaluating WSOL Right] [SAOL]

  • https://sh-tsang.medium.com/review-evaluating-weakly-supervised-object-localization-methods-right-weakly-supervised-object-b46d6ebc51fc

    https://sh-tsang.medium.com/review-saol-spatially-attentive-output-layer-image-classification-weakly-supervised-object-742e2eeb3226

    如果看到这里,说明你喜欢这篇文章,请转发、点赞。微信搜索「uncle_pn」,欢迎添加小编微信「 mthler」,每日朋友圈更新一篇高质量博文。

    扫描二维码添加小编↓

你可能感兴趣的:(卷积,计算机视觉,神经网络,机器学习,人工智能)