Learning Deep Features for Discriminative Localization 阅读笔记-网络可视化NO.2

Learning Deep Features for Discriminative Localization 阅读小记

网络可视化是一个可深入研究的方向,之前对可视化的开山之作已经做了粗浅的介绍-Visualizing and Understanding Convolutional Networks 阅读笔记-网络可视化NO.1-欢迎大家多多批评指正

  • 综述:论文重新审视了global average pooling(GAP)并详细阐述了这种pooling方式如何使得CNN具有优异的目标定位能力
  • 介绍
     1)作者受到NIN、GoogLeNet的启发,摒弃FC,转而使用GAP,在减少参数的同时对原本的分类效果影响不大
     2)GAP实际上起到一定正则化的作用,paper在几种经典的网络结构中使用其卷积结构,而后+GAP+FC,采用softmax直接预测输出
     3)论文中指出,FC会导致feature map损失空间位置信息,而GAP则不会(我的理解是如果在图像的某一位置有高响应,则经过FC之后,根据整个feature并不能分辨出刺激源于左上角还是右下角还是什么其他的地方,而通过GAP就可以,因为其保留了空间位置信息)
  • 实现
     1)论文使用的NIN和GoogLeNet类似的结构,保留卷积结构,接上GAP,接上一层FC,直接作为分类预测结果,论文通过将输出层的权重投影到feature map上来识别图像区域的重要性,由此将这种技术称为class activation mapping(CAM)
     2)具体CAM如何实现?详见如下图:
     Learning Deep Features for Discriminative Localization 阅读笔记-网络可视化NO.2_第1张图片
     注:针对某一特定类别,比如图中的这个狗狗,我们将最后一次卷积操作得到的feature map与训练FC得到的特征权重进行累加求和,得到我们的CAM(当我读到这里的时候,产生了一个疑惑,图中所示的CAM明明是映射到了原像素空间,但是经过多次卷积池化feature map的size肯定不等于原图像大小,目前的理解是将最后得到的CAM直接upsampling到原像素空间,我们的目的无非是计算图像中的每个像素对最终结果的贡献程度) fk(x,y) f k ( x , y ) 代表第k个feature map在(x,y)坐标处的值, Sc=wcfk(x,y) S c = ∑ w c ∗ f k ( x , y ) 则表示所有feature map对类C的贡献程度。
     Learning Deep Features for Discriminative Localization 阅读笔记-网络可视化NO.2_第2张图片
     注:图中针对briard和barbell分别计算CAM—发现对briard分类正确的特征集中在头部,对barbell分类正确的特征集中在两端的铁块上
  • 实验结果和定位
     1)针对分类问题,修改网络结构之后(将FC替换为GAP),分类效果略有降低,但变化不明显,结果如下:
     Learning Deep Features for Discriminative Localization 阅读笔记-网络可视化NO.2_第3张图片
     2)定位:将CAM中最强反应的20%作为threshold做出定位框,可以发现模型的定位效果提升明显,效果如下:
     Learning Deep Features for Discriminative Localization 阅读笔记-网络可视化NO.2_第4张图片
     3)首先进行定位,而后进行提取特征,进行分类,效果提升大概4.8%,结果如下:
     Learning Deep Features for Discriminative Localization 阅读笔记-网络可视化NO.2_第5张图片
     3)作者还做了其他一部分实验,譬如对图像进行有无文字的预测等等,此处不再赘述

*作者:gengmiao 时间:2018.02.19,原创文章,转载请保留原文地址、作者等信息*

你可能感兴趣的:(Deep,Learning)