CAM可解释性分析-算法讲解

CAM类激活热力图:深度学习可解释性分析、显著性分析经典之作

Learning Deep Features for Discriminative Localization

CVPR 2016

导论

两天搞定图像分类毕业设计代码教程

为什么说这是一篇让人拍案叫绝的文章?

  1. 奠定了可解释性分析、显著性分析的基石
  2. 且后续衍生出若干基于它的算法,打破深度学习的黑箱子

https://github.com/frgfm/torch-cam

代码教程: https://github.com/TommyZihao/Train_Custom_Dataset

各种CAM算法,有公众号做了合集

算法

数字为置信度

3. 对于同一张图像,不同类别可以产生不同的热力图

数字为置信度

纯数字驱动

4. 潜在的注意力机制

能够分析出神经网络对图像的哪部分感兴趣

5.弱监督分析

我们是用图像分类的数据集,标签,数据去训练出图像分类模型

但这个模型不仅可以用来分类,也可以用来定位——>用分类数据集去训练定位模型

6. 使得Machine Teaching成为可能

反向知道我们进行学习

CAM算法原理

预备知识﹒深度学习、卷积神经网络、图像分类

精妙之处就是权重

讨论:全卷积网络(无池化)

池化的作用:

  1. 减少计算量
  2. 防止过拟合
  3. 平移不变性

同时也丢失了长宽方向的空间信息

因此在CAM热力图中,不适用带池化的卷积神经网络

讨论:全局平均池化(Global Average Pooling)

左侧很消耗计算量和参数量

全局平均池化(GAP)取代全连接层

减少参数量、防止过拟合(参数越多,过拟合风险越大)

而且每个GAP平均值,间接代表了

卷积层最后一层输出的每个channel

CAM算法中,必须有GAP层(没有GAP层就没有代表)

否则无法计算每个channel的权重

如果没有GAP层,需把全连接层替换为GAP

再重新训练模型

CAM算法的缺点

GradCAM改进

  1. 必须得有GAP层,否则得修改模型结构后重新训练

GradCAM改进

2. 只能分析最后一层卷积层输出,无法分析中间层

讨论:SqueezeNet

一个轻量化卷积神经网络

一步到位

讨论:显著性分析的意义

教工人改进工艺

教普通人类判别鸟的种类

可解释机器学习专题精读论文清单

CAM可解释性论文精读

前言:论文十问

  1. 论文试图解决什么问题?深度学习,特别是卷积神经网络的弱监督定位。进而实现可解释性分析和显著性分析。
  2. 这是否是一个新的问题?不是,这是一个内卷的问题。
  3. 这篇文章要验证一个什么科学假设?卷积神经网络能提取位置信息,并按特定类别展示出来
  4. 有哪些相关研究?如何归类?谁是这一课题在邻域内值得关注的研究员?可视化卷积神经网络中间特征,基于CAM的可解释性分析、显著性分析,论文作者周博磊、南开大学程明明团队
  5. 论文中提到的解决方案之关键是什么?通过全局平均池化(GAP)层,获得指定类别对最后一层卷积层输出的每个特征图Channel权重,进而计算CAM类激活热力图,展示指定类别在原图上重点关注的特征区域
  6. 论文中的实验是如何设计的?lmageNet定位任务、其它视觉任务
  7. 用于定量评估的数据集是什么?代码有无开源?lmageNet定位任务、VQA等其它视觉任务数据集有开源
  8. 论文中的实验及结果有没有很好地支持需要验证的科学假设?在各种视觉任务上,都表明了,CAM算法能够打破深度学习的黑箱子,人工智能展示自己的“注意力"和“学到的特征”
  9. 这篇论文到底有什么贡献?打破深度学习的黑箱子,让人工智能展示自己的“注意力"和"学到的特征”,使得Machine Teaching成为可能。深入理解它,解释它、改进它,进而信赖它。知其然,也知其所以然。
  10. 下一步呢?有什么工作可以继续深入?Grad-CAM、Score-CAM、LayerCAM等一系列基于CAM的可解释性分析、显著性方法(这一点在论文中也有提到,后续也会继续继续学习)

论文结构:

  1. Introduction
  2. Class Activation Mapping
  3. Weakly-supervised Object Localization
  4. Deep Features for Generic localization
  5. Visualizing Class-Specific Units
  6. Conclusion

最重要的就是CAM的原理图,和两个重点

两个重点:

  1. CAM热力图
  2. 弱监督的定位

总结:本文最重要的是理解热力图的形成及其含义(记得完成相应的代码实现,当然并不是创造而是阅读)

然后回顾下上节课的ZFNet,本节课也很重视可解释机器学习本身,可解释本身更偏向可视化,热力图比特征提取图,

在可视上的表现更好,更方便人类理解,“定位”更像一个附带的效果

就图像上,ZFNet那篇文很喜欢做对比实验,CAM更在意卷积神经网络语义上的理解

[可解释机器学习]Task03:[算法]CAM相关推荐

  1. 【学习打卡05】可解释机器学习笔记之CAM+Captum代码实战

    可解释机器学习笔记之CAM+Captum代码实战 文章目录 可解释机器学习笔记之CAM+Captum代码实战 代码实战介绍 torch-cam工具包 可视化CAM类激活热力图 预训练ImageNet- ...

  2. 【学习打卡03】可解释机器学习笔记之CAM类激活热力图

    可解释机器学习笔记之CAM类激活热力图 文章目录 可解释机器学习笔记之CAM类激活热力图 CAM介绍 CAM算法原理 GAP全局平均池化 GAP VS GMP CAM算法的缺点及改进 CAM可视化 同 ...

  3. 机器学习经典算法具体解释及Python实现--K近邻(KNN)算法

    (一)KNN依旧是一种监督学习算法 KNN(K Nearest Neighbors,K近邻 )算法是机器学习全部算法中理论最简单.最好理解的.KNN是一种基于实例的学习,通过计算新数据与训练数据特征值 ...

  4. 【学习打卡04】可解释机器学习笔记之Grad-CAM

    可解释机器学习笔记之Grad-CAM 文章目录 可解释机器学习笔记之Grad-CAM Grad-CAM介绍 Grad-CAM是CAM的泛化形式 Gard-CAM可视化结果 Grad-CAM算法的优点 ...

  5. 【学习打卡01】可解释机器学习之导论

    可解释机器学习之导论 文章目录 可解释机器学习之导论 可解释学习 为什么我们需要可解释机器学习 前沿的AI方向 可解释性好的机器学习算法 深度学习的可解释性分析 可视化卷积核 遮挡Mask.缩放.平移 ...

  6. 【机器学习笔记】可解释机器学习-学习笔记 Interpretable Machine Learning (Deep Learning)

    [机器学习笔记]可解释机器学习-学习笔记 Interpretable Machine Learning (Deep Learning) 目录 [机器学习笔记]可解释机器学习-学习笔记 Interpre ...

  7. 机器学习与算法面试太难?

    机器学习与算法面试太难? 来源: https://mp.weixin.qq.com/s/GrkCvU2Ia_mEaQmiffLotQ 作者:石晓文 八月参加了一些提前批的面试,包括阿里.百度.头条.贝 ...

  8. 15分钟带你入门sklearn与机器学习——分类算法篇

    作者 | 何从庆 本文转载自AI算法之心(ID:AIHeartForYou) [导读]众所周知,Scikit-learn(以前称为scikits.learn)是一个用于Python编程语言的免费软件机 ...

  9. 阿里资深AI工程师教你逐个击破机器学习核心算法

    01 近年来,随着 Google 的 AlphaGo 打败韩国围棋棋手李世乭之后,机器学习尤其是深度学习的热潮席卷了整个 IT 界. 所有的互联网公司,尤其是 Google 微软,百度,腾讯等巨头,无 ...

最新文章

  1. 当上 CTO 才发现:程序员时常犯的 4 个错误有多可怕!
  2. 西工大matlab计算机实验题,西工大信号系统上机实验一实验二
  3. jvm六:主动使用(1.new一个对象, 2.反射)
  4. redis分布式缓存(二)
  5. C++函数模板和普通函数的调用规则
  6. Win8 HTML5与JS编程学习笔记(二)
  7. 博士可能是所有学生群体里被黑最猛烈的
  8. 项目管理中的流程管理
  9. Mysql binlog 解析
  10. Contest1874 - noip基础知识五:动态规划(背包、树dp、记忆化、递推、区间、序列dp、dp优化)...
  11. wp8.1 java,Windows Phone 粉的福音:如何给 WP8.1 解锁部署 xap 软件
  12. 网页Unity3D游戏资源的获取和解包
  13. 网络工程师 第8章 网络安全
  14. windows批量修改文件后缀名
  15. sql之分组TOPN
  16. ac8265网卡linux驱动,【奋威AC8265笔记本无线网卡使用总结】安装|驱动|任务管理器_摘要频道_什么值得买...
  17. AMD RX 7700XT、7800XT和7600显卡参数 RX 7700XT、7800XT和7600相当于什么水平
  18. vue项目报eslint格式错误解决方案
  19. [k8s]k8s详解
  20. VR全景车展提升产品透明度让消费者更加信赖

热门文章

  1. heritrix 3.2.0 下载
  2. Grads画等值线(一)-----心得感言
  3. 基于matlab的轴承损伤分析动力学建模仿真
  4. 关于蓝屏错误IRQL_NOT_LESS_OR_EQUAL
  5. APP被黑客攻击如何解决
  6. 温度报警课程设计报告
  7. 【VBA(八):在VBA中使用公式】【工作表函数+VBA函数+小结】
  8. 计算机论文提纲范文样本,论文提纲范文样本
  9. 钢笔朝花夕拾录————一位钢笔玩家的入坑至出坑心路历程
  10. SGVision外观检测案例:污点、毛刺检测流程