《可解释人工智能公开课》—by 同济子豪兄 第三章CAM算法笔记

目录

CAM算法

CAM算法的精妙之处

CAM算法的缺点

SqueezeNet

Machine learning到Machin teaching


CAM算法

弱监督:用分类数据集去训练定位模型

《可解释人工智能公开课》—by 同济子豪兄 第三章CAM算法笔记_第1张图片

图1 不同标签下 网络关注的特点

CAM算法的精妙之处

  1. 对深度学习实现可解释性分析、显著性分析
  2. 可扩展性强,后续衍生出各种基于CAM的算法
  3. 每张图片、每个类别,都能生成CAM热力图
  4. 弱监督定位︰图像分类模型解决定位问题
  5. 潜在的“注意力机制”
  6. 使得Machine Teaching成为可能

《可解释人工智能公开课》—by 同济子豪兄 第三章CAM算法笔记_第2张图片图2 CAM流程图

无池化,池化是将大的featuremap变成小的featuremap的一种操作,称之为下采样

最大池化(更常用):挑出当前窗口中最大的值,正负也表大小;

平均池化:取当前窗口的平均指

《可解释人工智能公开课》—by 同济子豪兄 第三章CAM算法笔记_第3张图片

图3 最大池化和平均池化

池化的作用:

《可解释人工智能公开课》—by 同济子豪兄 第三章CAM算法笔记_第4张图片

图4 最大池化

  1. 大的featuremap变成小从featuremap,从根本上减少了数据信息,减少计算量
  2. 小图中保留了图片的根本特征,减少其他因素的干扰,起到了防止过拟合的作用
  3. 对图片中元素的位置信息不敏感,即使把原图中的物体向左搬移,在一样的窗口取得的最大值仍相同,故称为平移不变性;但正因此,失去了空间位置信息——丢失了长宽方向的位置信息,所以在热力图中,不使用带池化的卷积神经网络

全局平均池化可以取代全连接层

《可解释人工智能公开课》—by 同济子豪兄 第三章CAM算法笔记_第5张图片

图5 全连接层和全局平均池化

512×14×14变成512(个元素)

(如果将vgg16中的全连接层换成全局平均池化,效果怎么变换呢?反正会更经济)

全局平均池化(GAP)取代全连接层减少参数量、防止过拟合而且每个GAP平均值,间接代表了卷积层最后一层输出的每个channel

CAM算法中,必须有GAP层否则无法计算每个channel的权重,如果没有GAP层,需把全连接层替换为GAP再重新训练模型

CAM算法的缺点

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

以上可以问题可以由GradCAM解决

SqueezeNet

轻量化网络:无需加权求和,只需要一次前向传播,直接得到类别的热力图

《可解释人工智能公开课》—by 同济子豪兄 第三章CAM算法笔记_第6张图片

 图6 SqueezeNet

Machine learning到Machin teaching

细粒度识别:分辨不同鸟的种类

通过AI的指导去学习鸟类知识(比如xx种类的特点在xx)

 图7 关于鸟类的细粒度识别

你可能感兴趣的:(人工智能,算法,深度学习)