文章目录
- 前言
- CAM算法的精妙之处
- 相关工作
- CAM算法
- 其它相关问题
- 为什么不用池化操作?
- CAM的优点
- CAM算法的缺点
- 扩展阅读和思考题
前言
CAM算法奠定了可解释分析的基石
CAM算法的精妙之处
- 对深度学习实现可解释性分析、显著性分析
- 可扩展性强,后续衍生出各种基于CAM的算法
- 每张图片的每个类别,都能生成CAM热力图
- 弱监督定位:使用图像分类模型解决定位问题,将定位信息保留到模型的最后一层
- 潜在的“注意力机制”展示
- 在细粒度分类的任务上可用于Machine Teaching
相关工作
CNN弱监督的物体定位
用图像分类标注训练定位、检测、分割;可使用图像遮挡测试进行定位;可使用重叠图块进行预测;这些工作需要多次前向预测,并且是非端到端的;也可使用全局最大池化,非最大值的特征无法识别(无梯度),导致只能获得边缘点,而非物体范围;可以使用GAP方式进行绘制CAM热力图,并进行物体定位。
可视化卷积神经网络内部的特征
使用ZFNet可解决目标检测和定位问题,只分析卷积层,没有分析全连接层之后的层,将全连接层替换为GAP层,可从头到尾进行可解释性分析;对卷积神经网络的语义编码进行分析,没有表征特征的重要性,也无法提取出图中的关键区域。
CAM算法
channel包含位置信息
其它相关问题
为什么不用池化操作?
池化(下采样)引入了平移不变性,也意味着丢失了长宽方向的位置信息,因此在CAM热力图中不使用带池化的卷积神经网络。
CAM的优点
全局平均池化(GAP)取代全连接层减少参数量、防止过拟合。
而且每个GAP平均值,间接代表了卷积层最后一层输出的每个channel。
CAM算法的缺点
- CAM算法中,必须有GAP层,否则无法计算每个channel的权重。如果没有GAP层,需把全连接层替换为GAP再重新训练模型。
- 只能分析最后一层卷积层输出,无法分析中间层。
squeezenet
显著性分析的意义:从machine learning到machine teaching
扩展阅读和思考题