SENet来源论文《Squeeze-and-Excitation Networks》读后总结
前言
这是一些对于论文《Squeeze-and-Excitation Networks》的简单的读后总结,首先先奉上该文章的下载超链接:SENet
这篇文章是由中国科学院软件研究所计算机科学国家重点实验室、澳门大学科技学院及人工智能中心、中国科学院自动化研究所和牛津大学视觉几何小组这四个机构的人员合作完成的,作者分别是Jie Hu、Li Shen、Samuel Albanie、Gang Sun和Enhua Wu。其是著名的SENet的来源。SENet在ILSVRC-2017挑战的分类任务中获得了第一名的佳绩。其在比赛中的top-5错误率是 2.251 % 2.251\% 2.251%,和2016年最好的结果( 2.991 % 2.991\% 2.991%)相比提升了 25 % 25\% 25%的性能。代码下载地址为:code。
文章主要内容与贡献
该文章的贡献为:
- 设计了SE(Squeeze-and-Excitation)模块;
- 研究了SE模块与其它网络的可结合性。
设计了SE(Squeeze-and-Excitation)模块
SE模块如下图所示:
通过SE模块可以对特征进行校正。但此处仍让人不易理解什么是SENet。
下图是SE模块和Inception模块结合而成的SE-Inception模块:
其中,左图是原始的Inception模块,右图是SE-Inception模块,由上图可见,SE模块相当于在层与层之间额外增加了特征信息。
下图是SE模块和ResNet模块结合而成的SE-ResNet模块:
其中,左图是原始的ResNet模块,右图是SE-ResNet模块,由上图可见,SE模块相当于在层与层之间额外增加了特征信息,且并没有破坏原始的shortcut连接。
该文章主要研究的是SE-ResNet-50和SE-ResNeXt-50(
32
×
4
d
32\times4d
32×4d),其结构如下表所示:
由上表可知,其与原始的ResNet的不同点主要在于在每个模块后都加入了全连接层。
下图是对ImageNet验证集和复杂性比较的单一裁剪错误率(%),
上图中,括号内的数值是加入SENet后改进的数值,可以发现,加入SE模块后,网络的性能均有不同程度的提升,且提升幅度都不小。同时,加入了SENet后仅加入了很少的参数和计算量。
下图是在ImageNet上训练ResNet和ResNeXt及其SeNet的对应版本。SENet显示出更好的优化特性,并在性能上产生一致的增益。
由上图可知,SENet不仅有更低的错误率,其错误率的下降曲线也更平滑。
研究了SE模块与其它网络的可结合性
该论文给出了几种SE模块与残差模块的结合方式,如下图所示:
下表是上述各种结构的SENet的性能表:
![](https://i-blog.csdnimg.cn/blog_migrate/9a12ea172a2436971b1179d7ba8fd364.png)
由上表可知,随着SE模块的嵌入方式的改变,网络也会有着不同的性能表现,其中top-1最好的是SE-Identity,top-5最好的是SE-PRE。
下表展示了使用不同的池化方法作为挤压算子的性能对比:
![](https://i-blog.csdnimg.cn/blog_migrate/28d7d6f28fd983e5bab5ea8b29b92cd1.png)
由上表可知,均值池化效果更好。
下表展示了使用不同的激活函数作为激发算子的性能对比:
![](https://i-blog.csdnimg.cn/blog_migrate/abcc197f8c9bf295e49d32c6cea2f99e.png)
由上表可知,SIgmoid函数的效果更好。
下表展示了挤压算子的好处:
由上表可知,加入了挤压算子后,网络的计算量减小,参数数量不变,但准确率还有所上升。在没加挤压算子时SENet的性能也优于ResNet-50。