本文主要是介绍SENet 阅读,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
摘要:
卷积神经网络的核心是卷积操作,能够通过在每层使用区域感受野融合空间以及通道维度的信息来构建信息特征。本文里,作者聚焦于通道关系,提出了一个新的结构单元 SE(Squeeze Excitation) block,通过建模通道之间的依赖,适应性地校准通道特征。 相比于现有性能优越的CNN,SENet 在只增加轻微复杂度的同时获得了显著的性能提升。
源码: https://github.com/hujie-frank/SENet
论文:[1709.01507] Squeeze-and-Excitation Networks (arxiv.org)
介绍:
大部分现有的研究工作都聚焦于融合学习机制给网络,捕获空间关系加强CNN生成特征表示的能力,我们提出一个不同方向的网络设计---通道关系。 致力于通过模拟卷积特征的通道依赖关系,提高网络生成特征表示的质量。 提出了一种机制,允许网络进行特征重新校准,通过这种机制,它可以学会使用全局信息,有选择地强调信息特征,并抑制不太有用的特征。
SE block结构如上,Ftr将输入特征X(H' W' C')映射为U(H,W,C)。
SE块通过简单的堆叠可以构建网络,而且在网络体系结构的深度范围内可以作为原始块的drop-in替换。虽然这个块是通用的,但他在网络不同深度起了不同的作用。网络浅层它以与类无关的方式激活信息特征,加强共享的低水平表示,在深层,它以高度与类相关的方式响应不同输入。因此,SE块进行特征重校准的好处可以通过网络积累起来。
2 相关工作
3 SQUEEZE and EXCITATION BLOCKS
Ftr看作一个卷积算子,v=[v2,v2,,,vC] 表示学到的过滤核的集合,vC表示第c个滤波器的参数,输出U可以写作:
X=[X',,,,,XC‘],uc(H*W)
是一个2-D空间核,表示作用于X的相应通道的的一个vc的单独通道。因为输出通过所有所有通道计算,所以通道依赖被隐含地潜入了vc,但是与滤波器捕获的局部空间关系纠缠在一起。 卷积建模的通道关系(除了顶层)都是局部以及隐含的,我们想提供一个方法在两步内能接触全局信息并重新校准滤波器相应,因此在馈入下一次transform前,进行squeeze, excitation。
3.1 squeeze global information embedding
通过squeeze 将全局空间信息压到一个通道描述符中,通过全局平均池化按通道的处理。就可以得到
3.2 Excitation: Adaptive Recalibration
为了捕获通道依赖,必须依据两个准则:1)灵活(必须能学习通道间的非线性融合)2)能学习一种非互斥关系,因为我们想确保多个信道可以被强调。
所以我们选择一个简单的门限机制:
激活函数使用RELU,和signmoid.用两个完全连接层实现门限,降低维度且帮助提高泛化性。
输出U通过s的放缩得到。 通过标量sc和特征图uc的通道乘法获得。
激励操作将输入z映射为通道权重的集合。因此,SE块引入了依据输入变化的动态关系,可以被看作一种通道的自注意力,使其中的关系不受限于卷积核响应的局部感受野。
3.3 例示
SE块可以插入一些标准结构的非线性层后,他的灵活性也意味着它可以被直接加在标准卷积以外的变化。
比如加入inception 网络,这里的Fr可以看作一个完整的inception 模块,如图
也可以被看作残差模块的的一个非线性分支。
或许该权重还能用于网络剪枝。
这篇关于SENet 阅读的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!