近期看了这个模型,对一些参考资料记录在此。
1,算法原理的详细解释可以下 “http://www.sohu.com/a/161793789_642762”中查看
2,原文地址:“https://arxiv.org/pdf/1709.01507.pdf”Squeeze-and-Excitation Networks
3,代码地址:“https://github.com/hujie-frank/SENet”
关键点:
从提特征的角度考虑,为了提取更有用的特征,对不同通道的特征取了权值,强调特征的重要程度。
一般性的特征融合方式为:

wj所在层通过一个卷积核得到Fj特征,wi所在层通过一个卷积核得到Fi特征.
SE-Net提出为同一层不同通道的特征取权重

一个c1*h*w的特征经过任意转换函数的转换,变成了一个c2*h*w的特征(c2为通道数),为了更好地进行特征重组,通过sq(压缩)函数得到1*1*c2的特征,再经过ex(激励)函数得到同样1*1*c2的特征,最好将这个特征用到c2*h*w的原始特征上面(也就是scale函数的作用),得到新的c2*h*w的特征图。
使用SE模块的方式有很多,可以简单地对SE模块进行堆叠,也可以在任何架构的任何深度的原始模块处作为一个插入式的替代,如下:将se模块嵌入Inception网络的时候,如下图,

Global pooling就是sq函数,sigmoid函数得到权重,最后作用于原始特征得到加权后的特征。
Resnet网络的嵌入也类似(虽然有skip-connections模块),如下图:

只是se模块要在加法操作
之前,以免影响梯度传播。
参数和计算量稍微有一点点增加,但是效果提升不少。
注:
1,插入网络的前后层所带来的影响?
在较早的层插入,是为了更好地激发类别不可知行为下的信息特征,加强共享层的特征表示,后在较后层,,则是增强特异(专门)性,针对高度类别特异性的不同输入。
本文介绍了Squeeze-and-Excitation Networks(SE-Net)的工作原理及应用。SE-Net通过对不同通道特征赋予权重,增强了特征的重要性表达。文章提供了算法原理链接、论文原文及实现代码的资源,并探讨了SE模块在Inception和ResNet网络中的嵌入方式。
1888

被折叠的 条评论
为什么被折叠?



