@Spatially Attentive Output Layer for Image Classification论文阅读笔记
目录
1、论文思想
2、框架实现
3、损失设计
4、文章总结
写在前面的话:这是一篇来自于2020年CVPR的一篇文章,虽然它的引用量不是特别的高,但是这篇文章的角度比较让我感兴趣。起初是想借鉴其最后的一个分类的思想来进行其他领域的一个思想共用,读完以后,还是增加了自己的学识范围的。
1、论文思想
初涉CV领域的小伙伴应该都有对Mnist手写数据集有所了解,会尝试在这个小型数据集上进行一些简单网络的构建来达到对手写数字的一个分类问题。
但是,在以往的分类任务上,我们都是采用的一个GAP+FC的一个最后“固化”模式。
这样的直接应用全连接层的方式,使得我们图像的一些空间信息在全连接层操作的过程中丧失。随之而来的是,分类效果的折扣问题的发生。
这也是论文作者的idea的诞生的角度。作者思考能否使用一些辅助的结构或者另外的操作,来替换原有的GAP+FC的结构,从而缓解前面提到的不足。
2、框架设计
其实从整体上不难发现,作者把原来的GAP+FC的部分进行了一个保留,然后再此基础上添加了两个部分结构。
(1)是将最后一个feature map进行一个卷积+卷积+softmax操作,得到文中提到的Spatial Attention Map。
(2)是借鉴了语义分割之中解码部分的一个多尺度融合的思想,利用backbone中的后三层feature map来进行一个resize+concat,经过一个常规卷积+softmax来更好的得到Spatial Logits。
(3)则是原本的GAP+FC的结构部分。
3、损失设计
我个人认为这部分作者的设计是挺巧妙的【也可能是我阅读论文的广度不够,得到的粗略结论,见谅】。论文提到的LOSS主要也是和框架对应的,主要分为三个部分。
(1)LSL:这个损失部分,是来源于论文作者提出的SAOL结构产生的最终结果和Label之间的一个损失,也是属于我们常规设计的损失部分。
(2)LSS1:这个损失部分是以基于一个self-annotated spatial labels。该loss由下图的两部分具体构成。先对CutMix-ed图片进行一个自监督尝试的部分,称为M【即图片中下面的分支】。然后对CutMix-ed图片经过一系列特征提取操作,产生一个预测的部分,称为M'【即图片中上面的分支】。
(3)LSS2:这个损失部分是以基于一个self-supervised losses。将混合输入粘贴区域的空间对数与原始数据切割区域的空间对数进行匹配,如下图所示。
(4)LSD:这个损失部分是一个自蒸馏的损失。自蒸馏:指自己蒸馏自己。Teacher model就是student model的集成版本,称为自集成。简单点来说,就是利用原本的GAP+FC的结果来对现在通过SOAL结构产生结果进行监督。这样可以使得SOAL的结果接近原本结构的结果。
4、文章总结
这篇文章的大体思路较为简单,但是从这篇文章中我也学到了挺多东西的。1、对CAM结构有了一个简单的认识。2、发现Attention方式还能这样进行修改。3、了解了一个CutMix的数据增强的方式,以及它的损失函数的格式。4、第一次接触自蒸馏的部分,利用一个化学领域的名词来应用在神经网络工作上。既是非常有意思的“跨域”,也是挺有用的结构。
注:第一次写论文方面的博客,仍有很多不足,请多多包涵,欢迎讨论。