赞
踩
SENet,胡杰(Momenta)在2017.9提出,通过显式地建模卷积特征通道之间的相互依赖性来提高网络的表示能力,SE块以微小的计算成本为现有的最先进的深层架构产生了显著的性能改进,SENet block和ResNeXt结合在ILSVRC 2017赢得第一名,Squeeze-and-Excitation Networks,作者源码核心思想:
SE模块
嵌入到现有网络中
SE 模块可以嵌入到现在几乎所有的网络结构中,左图是将 SE 模块嵌入到 Inception 结构;右图是将 SE 嵌入到 ResNet 模块中,在 Addition 前对分支上 Residual 的特征进行了特征重标定,否则如果对 Addition 后主支上的特征进行重标定,由于在主干上存在 0~1 的 scale 操作,在网络较深 BP 优化时就会在靠近输入层容易出现梯度消散的情况,导致模型难以优化。
fc后面的内括号表示SE模块中两个完全连接的层的输出维度。
论文测试结果
在所有的结构上SENet要比非SENet的准确率更高出1%左右,而计算复杂度上只是略微有提升(增加的主要是全连接层,全连接层其实主要还是增加参数量,对速度影响不会太大)。在MobileNet上提升更高。而且SE块会使训练和收敛更容易。CPU推断时间的基准测试:224×224的输入图像,ResNet-50 164ms,SE-ResNet-50 167ms。
在ImageNet上不同尺寸的比较。SENet-154实质上是一个 SE-ResNeXt-152(64x4d),并做了一些其他修改和训练优化上的小技巧。可以看出 SENet 获得了迄今为止在 single-crop 上最好的性能。
在场景分类和目标检测上的效果。
在 ILSVRC 2017 竞赛中,SENet-154在测试集上获得了 2.251% Top-5 错误率。对比于去年第一名的结果 2.991%, 我们获得了将近 25% 的精度提升。
caffe可视化
SENet-154.prototxt
参考
作者课件 翻译 公式参考
作者源码(caffe): https://github.com/hujie-frank/SENet(有模型)
SENet-Tensorflow推理: https://github.com/taki0112/SENet-Tensorflow
SENet-PyTorch训练: https://github.com/miraclewkf/SENet-PyTorch
MXNet训练: https://github.com/bruinxiong/SENet.mxnet
另外在我的主页中还能看到其他系列专栏:【OpenCV图像处理】【斯坦福CS231n笔记】
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。