【算法】可解释机器学习-CAM / Grad_CAM(Datawhale)

一、CAM

1.CAM算法介绍

Class Activation Mapping,CAM类激活热力图。不只是训练了一个图像分类模型而已,可以查看训练出来的分类模型的热力图的效果
在这里插入图片描述

下图表示:输出512个feature map,每一个feature map被称为一个channel,就是一个矩阵,每一个矩阵都是14 x14的。(蓝、红、绿色薄片是一个channel,14x14)

总共有512个薄片 -> 对应了卷积神经网络最后一层提取出来的512种特征 -> 每一个特征体现在每一个对应的薄片上

把蓝色channel的14×14=196个激活值取一个平均值,得到蓝色的标量。同理,共得到512个标量 / 平均数,称为全局平均池化

512个平均数会起到全连接层的作用,后面再接一层线性分类层,训练得到它对每一个类别的平均数的权重,再进行softmax操作,得到每个类别的概率。每一个概率都是0 - 1之间的,并且这每个概率求和为 1 -> 得到完整的图像分类预测结果。

在这里插入图片描述
权重w 1 间接的反映了该类别对蓝色feature map的关注程度,feature map是卷积神经网络最后一层从图像中提取出来的某一种特征,权重w 1 间接的反映了该类别对这种特征的关注程度。

该权重从w 1到w n,最后一个卷积层是14 x 14的channel;得到的CAM热力图也是14 x 14的低分辨率的矩阵。可以用双线性插值的方法把它缩放回原图大小(类似于word和ppt里的图像缩放),变成一个高分辨率的热力图。

2.CAM的特点

1.全卷积,无池化,因为池化具有平移不变性,会丢失空间信息。
2.GAP操作,可以取代全连接层。

在传统卷积神经网络里面,最后一层卷积层产生了若干个channel,需要把每一个channel展平成一个长向量,再把这个长向量输入给全连接层,这种操作太消耗计算量、也太消耗参数量了,参数量会爆炸。用全局平均池化取代全连接层能大大减少参数量,以前需要512 x 14 x 14个元素,现在只要512个元素就可以了。
在这里插入图片描述

3.CAM算法的缺点

1.必须得有GAP层,否则得修改模型结构,把全连接层替换为GAP后重新训练。
2.只能分析最后一层卷积层输出,无法分析中间层

二、Grad_CAM

1.Grad_CAM算法介绍

无需换为GAP,直接使用全连接层,后续采用求梯度方式。
在这里插入图片描述

扩展:
在这里插入图片描述

2.Grad_CAM算法优点

在这里插入图片描述

3.Grad_CAM算法缺点

在这里插入图片描述

4.Grad_CAM算法的变种

1)Grad_CAM++算法

改进的缺点:
在这里插入图片描述
具体改进部分:
在这里插入图片描述
在这里插入图片描述

2)ScoreCAM算法

改进的缺点:
在这里插入图片描述
具体:
在这里插入图片描述

3)LayerCAM算法

改进的缺点:
在这里插入图片描述

  • 0
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值