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编辑  收藏  举报

导航