理解CNN经典架构(七)——SENet


论文: Squeeze-and-Excitation Networks 2017.09
代码: https://github.com/hujie-frank/SENet
论文中用 caffe实现
PyTorch复现版
​ 更多第三方复现版见 README.md文件中 Third-party re-implementations部分

一举获得ILSVRC 2017 classification submission冠军

简介

将卷积层通道数进行权值评分
分为压缩(Squeeze)和激励(Excitation)部分
SE-Block

图示中

F s q ( ) F_{sq}() 代表压缩映射,提取全局特征,Fig2中 r r 为压缩比

F e x ( ) F_{ex}() 代表激励,计算出权重值 F s c a l e ( , ) F_{scale}(,) ,与对应的通道数相乘

SE块不仅可以插入标准网络结构(e.g. VGGNet),而且可以插入残差网络结构(e.g. ResNet)
SE-Module
SENet网络结构

实验

超参设置

减少比 r r

考虑到参数数量及模型效果,设置减少比(Reduction ratio) r r 为16

Reduction ratio

压缩运算

在压缩运算(Squeeze Operator)中,全局平均池化比全局最大池化效果好
使用平均池化更能提取全局特征信息,而最大池化更偏向于局部特征信息
Squeeze Operator

激励运算

在激励运算(Excitation Operator)中,sigmoid激励效果最好
sigmoid在数值映射在[0, 1]范围较强

Excitation Operator

SE Block插入位置

SE Block插入任意一层都能增强模型效果,
但建议移除Stage_5(占参数总量的4%),因为增幅效果<0.1% top-5 error on ImageNet
此外我看到SE is not working properly after 4th layer

SE Block Stage

Integration strategyEffect of SE Block integration

不建议插入残差块加法运算,其他插入位置效果极为相似。

对比其他模型

完胜,毕竟ILSVRC 2017 classification submission冠军。

Comparison with other models

理解

SENet对卷积层通道数进行权值评分
1.低层scale相近,共享低层特征(e.g. SE_2_3, SE_3_4)
2.高层scale分离,组合高层特征(e.g. SE_4_6, SE_5_1)
3.最后一层趋近于饱和。SE_5_2 scale 趋近于1,SE_5_3完成分类

SE_stageID_blockID scale

小结

SENet对卷积层通道数进行权值评分,可以很好与其他网络(VGG, ResNet)结合

相比于增加模型宽度(WRN中的width, ResNeXt中的cardinality),深度(depth),SE Block权重通道值,增加的参数少,增加的计算量小,增强效果好

发布了57 篇原创文章 · 获赞 44 · 访问量 2万+

猜你喜欢

转载自blog.csdn.net/the_harder_to_love/article/details/103597665