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

文章目录

    • 简介
    • 实验
      • 超参设置
        • 减少比 r r r
        • 压缩运算
        • 激励运算
        • SE Block插入位置
      • 对比其他模型
    • 理解
    • 小结

论文: 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)部分
理解CNN经典架构(七)——SENet_第1张图片

图示中

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

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

SE块不仅可以插入标准网络结构(e.g. VGGNet),而且可以插入残差网络结构(e.g. ResNet)
理解CNN经典架构(七)——SENet_第2张图片
理解CNN经典架构(七)——SENet_第3张图片

实验

超参设置

减少比 r r r

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

理解CNN经典架构(七)——SENet_第4张图片

压缩运算

在压缩运算(Squeeze Operator)中,全局平均池化比全局最大池化效果好
使用平均池化更能提取全局特征信息,而最大池化更偏向于局部特征信息
理解CNN经典架构(七)——SENet_第5张图片

激励运算

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

理解CNN经典架构(七)——SENet_第6张图片

SE Block插入位置

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

理解CNN经典架构(七)——SENet_第7张图片

理解CNN经典架构(七)——SENet_第8张图片理解CNN经典架构(七)——SENet_第9张图片

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

对比其他模型

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

理解CNN经典架构(七)——SENet_第10张图片

理解

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完成分类

理解CNN经典架构(七)——SENet_第11张图片

小结

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

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

你可能感兴趣的:(卷积神经网络,计算机视觉,理解)