参考资料:https://www.zhihu.com/search?type=content&q=SmoothGrad

CAM

CAM是什么?

  • CAM全称Class Activation Mapping,即类别激活映射图,也被称为类别热力图、显著性图等。是一张和原始图片等同大小图,该图片上每个位置的像素取值范围从0到1,一般用0到255的灰度图表示。可以理解为对预测输出的贡献分布,分数越高的地方表示原始图片对应区域对网络的响应越高、贡献越大。
  • 可视化的时候,一般利用热力图和原图叠加的形式呈现。

为什么用CAM?

  • 有助于理解和分析神经网络的工作原理及决策过程,进而去更好地选择或设计网络。例如对于分类网络,如果参考CAM相当于除了分类accuracy以外,对网络又提出了更高的要求:不但要求预测准确率高,还需要网络提取到我们需要的特征。
  • 利用可视化的信息引导网络更好的学习,例如可以利用CAM信息通过"擦除"或"“裁剪”"的方式对数据进行增强。
  • 利用CAM作为原始的种子,进行弱监督语义分割或弱监督定位。既然CAM能够cover到目标物体,所以可以仅利用分类标注来完成语义分割或目标检测任务,极大程度上降低了标注的工作量,但这对CAM的要求更高。

怎么用CAM?

  • 卷积神经网络的卷积操作可以看做是滤波器对图片进行特征提取,通过滑动窗口的方式实现,因此特征层和输入图片存在空间上的对应关系。一个深层的卷积神经网络,通过层层卷积操作,提取空间和语义信息。一般存在其他更难理解的层,例如分类的全连接层、softmax层等,很难以利用可视化的方式展示出来。所以,CAM的提取一般发生在卷积层,尤其是最后一层卷积。通常每一层的特征图还会有很多层,一般称为channel(通道),例如Resnet18最后一层特征图有512个通道。这512个通道可以认为提取到不同的特征,该特征具有高度抽象性,且每个通道对最后的结果贡献不同,因此单独可视化每个通道获取热图也让人很难理解。所以一般CAM的获取是根据每个通道不同的贡献大小去融合获取一张CAM。

    具体步骤:

  • step1:提取需要可视化的特征层,例如尺寸为 7∗7∗5127*7*5127∗7∗512 的张量;

  • step2:获取该张量的每个channel的权重,即长度为512的向量;

  • step3:通过线性融合的方式,将该张量在channel维度上加权求和,获取尺寸为7*7的map;

  • step4:对该map进行归一化,并通过插值的方式resize到原图尺寸.

A. grad-CAM和 CAM 的区别?

CAM 只能用于最后一层特征图和输出之间是GAP的操作,grad-CAM可适用非GAP连接的网络结构;
CAM只能提取最后一层特征图的热力图,而gard-CAM可以提取任意一层;

深度学习可解释性-可视化技术相关推荐

  1. 可视化卷积神经网络的过滤器_万字长文:深度卷积神经网络特征可视化技术(CAM)最新综述...

    ↑ 点击蓝字 关注极市平台作者丨皮特潘@知乎来源丨https://zhuanlan.zhihu.com/p/269702192编辑丨极市平台 极市导读 本文通过引用七篇论文来论述CAM技术,对CAM的 ...

  2. 深度学习可解释性问题如何解决?图灵奖得主Bengio有一个解

    作者 | Yoshua Bengio, Tristan Deleu等 译者 | 刘畅,编辑 | Just 出品 | AI科技大本营(ID:rgznai100) 自 2012 年以来,深度学习的发展有目 ...

  3. 最全深度学习训练过程可视化工具(附github源码)

    点击上方"AI遇见机器学习",选择"星标"公众号 重磅干货,第一时间送达 Datawhale干货 作者:Edison_G,来源:计算机视觉研究院 编辑丨极市平台 ...

  4. 的训练过程_最全深度学习训练过程可视化工具(附github源码)

    点击上方"AI遇见机器学习",选择"星标"公众号 重磅干货,第一时间送达 Datawhale干货 作者:Edison_G,来源:计算机视觉研究院编辑丨极市平台. ...

  5. 阅读笔记2: 深度学习可解释性学习:不要做事后解释

    选择可解释性高的机器学习模型, 而不是解释决策风险高的黑匣子模型 (原论文名:Stop Explaining Black Box Machine Learning Models for High St ...

  6. 深度学习可解释性分析-Grad-CAM

    概念介绍 CAM揭示了卷积神经网络分类模型中图像的空间特征与其类别权重之间的联系,然鹅,CAM只适用于模型中有全局平均池化层并且只有一个全连接层(即输出层)的情形,如ResNet,MobileNet等 ...

  7. 知识图谱与深度学习(新时代·技术新未来)

    作者:刘知远,韩旭,孙茂松 出版社:清华大学出版社 品牌:清华大学出版社 出版时间:2020-05-01 知识图谱与深度学习(新时代·技术新未来)

  8. 深度学习的异构加速技术(一):AI 需要一个多大的“心脏”?

    欢迎大家前往腾讯云社区,获取更多腾讯海量技术实践干货哦~ 作者:kevinxiaoyu,高级研究员,隶属腾讯TEG-架构平台部,主要研究方向为深度学习异构计算与硬件加速.FPGA云.高速视觉感知等方向 ...

  9. 【深度学习】Tensorboard可视化模型训练过程和Colab使用

    [深度学习]Tensorboard可视化模型训练过程和Colab使用 文章目录 1 概述 2 手撸代码实现 3 Colab使用3.1 详细步骤3.2 Demo 4 总结 1 概述 在利用TensorF ...

最新文章

  1. oracle 字符集 自造字,循序渐进Oracle:自定义字符集的使用、更改字符集的内部方式及字符集更改的案例...
  2. 安卓高手之路之图形系统(6)ListView继续
  3. Swift之深入解析“类”的底层原理
  4. parkAndCheckInterrupt
  5. 软件测试行业有哪些细分方向,软件测试人员有哪些职业发展方向?
  6. imx6 i2c分析
  7. layui-弹出层中如何关闭窗口
  8. Java—Set集合详解(HashSet/LinkedHashSet/TreeSet/EnumSet)
  9. Prometheus一条告警是怎么触发的
  10. NGINX HTTP2 处理流程
  11. GMSK调制解调器 matlab viterbi解调采用维特比解调性能具有很大优势
  12. 涉计算机检查记录表,西安电子科技大学保密监督检查记录表.doc
  13. 将硬盘转换成GPT分区格式
  14. IPv6安装和配置方法,IPv6资源汇总
  15. SQL语句中EXISTS的使用详解及示例
  16. 微信电脑版收到的表格文件保存到桌面打开后不显示内容
  17. 乌班图利用指令修改桌面分辨率
  18. 如何将搜狗拼音输入法键盘布局更改成日文106键布局
  19. uni-app入门并使用学习
  20. unity3d游戏开发之 游戏贴图、模型基本规范(QA)

热门文章

  1. android gradle两种多渠道打包方式
  2. 我看了1000+招聘启事,原来大厂偏爱这种程序员……
  3. 计算机应用基础综合检测卷b,计算机应用基础试卷B
  4. Java 读取PDF中表格的工具
  5. MATLAB R2021a无法识别freqz_m
  6. 玩转百度AI Studio 之用“四十路泰坦”跑线性回归
  7. 奇客(Geek)的常用软件清单(操作系统支持OS X, Windows, Linux)
  8. 优化算法——OWL-QN
  9. 关于国密算法 SM1,SM2,SM3,SM4 的笔记
  10. 使用Arduino开发板制作自动空调温度控制器