设为首页 加入收藏
rss
您当前的位置:首页 > 计算机 > 编程开发 > 人工智能

SENet详解

时间:03-16来源:作者:点击数:
城东书院 www.cdsy.xyz

SENet是ImageNet 2017(ImageNet收官赛)的冠军模型,和ResNet的出现类似,都在很大程度上减小了之前模型的错误率(具体见附录),并且复杂度低,新增参数和计算量小。下面就来具体介绍一些SENet的神奇之处。

SENet的全称是Squeeze-and-Excitation Networks,中文可以翻译为压缩和激励网络。主要由两部分组成:

1. Squeeze部分。即为压缩部分,原始feature map的维度为H*W*C,其中H是高度(Height),W是宽度(width),C是通道数(channel)。Squeeze做的事情是把H*W*C压缩为1*1*C,相当于把H*W压缩成一维了,实际中一般是用global average pooling实现的。H*W压缩成一维后,相当于这一维参数获得了之前H*W全局的视野,感受区域更广。

2. Excitation部分。得到Squeeze的1*1*C的表示后,加入一个FC全连接层(Fully Connected),对每个通道的重要性进行预测,得到不同channel的重要性大小后再作用(激励)到之前的feature map的对应channel上,再进行后续操作。

可以看出,SENet和ResNet很相似,但比ResNet做得更多。ResNet只是增加了一个skip connection,而SENet在相邻两层之间加入了处理,使得channel之间的信息交互成为可能,进一步提高了网络的准确率。

SENet可以随意插入到任何网络中,提升效果也是比较显著的,论文中给的结果是有0.4%~1.8%范围的error减小。

训练的曲线也很漂亮,最下面橙色的即为SENet的结果:

附录:

ImageNet分类Top5错误率:

2014 GoogLeNet  6.67%

2015 ResNet      3.57%

2016 ~~~        2.99%

2017 SENet       2.25%

SENet官方Caffe实现:https://github.com/hujie-frank/SENet

民间TensorFlow实现:https://github.com/taki0112/SENet-Tensorflow

民间PyTorch实现:https://github.com/moskomule/senet.pytorch

城东书院 www.cdsy.xyz
方便获取更多学习、工作、生活信息请关注本站微信公众号城东书院 微信服务号城东书院 微信订阅号
推荐内容
相关内容
栏目更新
栏目热门
本栏推荐