SENet学习笔记
1.SENet简介
以往CNN研究的着力点是挖掘空间信息的关系,即同一通道(特征图)上不同像素的关系。而SENet则挖掘通道之间的关系,可以说是非常与众不同的,而且结构也非常简单。它由SE模块构成,SE模块分为Squeeze操作和Excitation操作,Squeeze将一个通道上的空间特征编码为一个全局特征,Excitation用来抓取channel之间的关系,得到一个1*1*channels的向量,最后用该向量对输入的特征图进行缩放(数值上的缩放)。
2.SE模块
2.1.Squeeze操作
由于卷积只是在一个局部空间内进行操作,因此很难获得足够的信息来提取channel之间的关系,对于网络中前面的层这更严重,因为感受野比较小。为此,SENet提出Squeeze操作,将一个channel上整个空间特征编码为一个全局特征,采用global average pooling来实现。
由以下公式可知,对于一个通道,squeeze之后得到一个数值,这个数值就是该通道上所有像素值的均值。
2.2.Excitation操作
Sequeeze操作得到了全局描述特征,接下来需要利用Excitation操作来抓取通道之间的关系。这个操作需要满足两个准则:第一点是灵活,它要可以学习到各个channel之间的非线性关系;第二点是学习的关系不是互斥的,因为这里要求允许多个通道共存(共同发挥作用),而不是one-hot形式。
为此,将Excitation设计成:FC-Relu-FC-Sigmoid。注意到Sigmoid输出值的范围是[0,1],故每个通道的缩放倍数是[0,1]。
最后,用Excitation得到的向量对输入的特征图进行缩放。
3.SE模块的应用
SE模块可以十分轻易地运用到之前优秀的模型上,如Inception、ResNet。
posted on 2020-07-27 22:57 ZhicongHou 阅读(293) 评论(0) 编辑 收藏 举报