热力图 神经网络_1. Grad-CAM阅读笔记 -神经网络输出可视化

Paper name

Grad-CAM: Visual Explanations from Deep Networks via Gradient-based Localization

Paper Reading Note

URL: https://arxiv.org/abs/1610.02391

TL;DR

提出一种对神经网络输出进行可视化的方式Grad-CAM(Gradient-weighted Class Activation Mapping),直观展示卷积神经网络学习到的特征,有助于理解神经网络的工作原理及决策过程


Dataset/Algorithm/Model/Experiment Detail

总体思路

Grad-CAM是使用任何目标概念的梯度(比如分类类别中的某一类的logits,甚至是caption任务中的输出),流入最后的卷积层,生成一个粗略的定位图来突出显示图像中用于预测的重要区域。

266a7d3d1a35b6e5b6068cbd7b046e48.png

实现方式

  • 首先计算c类别的的模型得分对于某个卷积层的梯度,同时在对于上述过程得到的梯度信息,在每个channel维度上对各像素值取平均(类似Global Average Pooling),得到神经元重要性权重,如下公式所示:

5a547b596dbdbbd203efff0980025a51.png


其中Z代表特征图的像素个数,Aij代表第k个特征图的(i,j位置的像素值)

  • 利用上述得到的神经元重要性权重对选定的卷积层的特征进行加权,如下公式所示:

e02c9116a93f56e7233f5ed5da197f59.png


值得注意的是这里加权后输出的粗糙热力图是和选择的卷积层的特征大小一致,随后经过ReLU操作得到热力图,目的是只考虑对类别 c 有正影响的像素点。

效果展示

  • 分类任务

38763597568888f200fb848cdc66c80a.png
  • captioning 任务

f6fa6e557144e403d59b2dbc2c948df6.png

Thoughts

这篇文章虽然思路很简单,但作为神经网络可解释化的经典作品,其对于理解神经网络的工作原理有很大帮助。在迭代训练模型过程中这样的可视化方法也能对模型的决策方式有一定展示。该文章的网站也提供了相应的展示界面,其中captioning任务的展示工具提供了一些有趣的发现,一些看似不合理的预测其实也是在合理的原因下发生。

该论文的展示网页见:Grad-CAM展示

已标记关键词 清除标记
表情包
插入表情
评论将由博主筛选后显示,对所有人可见 | 还能输入1000个字符
相关推荐
©️2020 CSDN 皮肤主题: 游动-白 设计师:白松林 返回首页