【CV论文笔记】Squeeze-and-Excitation Networks(SENet模块理解)

本文主要用于介绍最后一届ImageNet冠军模型SENet网络。本笔记主要为方便初学者快速入门,以及自我回顾。

论文链接:https://arxiv.org/pdf/1709.01507.pdf
论文代码地址:https://github.com/hujie-frank/SENet
PyTorch代码地址:https://github.com/miraclewkf/SENet-PyTorch

基本目录如下:

  1. 摘要
  2. 核心思想
  3. 总结

------------------第一菇 - 摘要------------------

1.1 论文摘要

卷积神经网络(CNNs)的核心模块其实就是卷积操作,该操作通过融合每一层局部感受野的空间和不同通道信息来构建特征。在此之前,已经有很多的研究来实践空间的信息融合问题,希望通过去融合不同层级的特征从而增强CNNs的特征表达能力。在我们本次的工作中,我们专注于去研究不同通道之间的关系,并提出了一种新颖的结构,称为“Squeeze-and-Excitation” SE模块,该模块通过对每一个特征层的信息分别建模从而去自适应的重新定义每一个通道的特征。我们还证明了该种架构能够轻易的被移植用于其他网络架构。后续通过更多的实验,我们还发现SE模块能够以轻微的计算性能损失带来极大的准确率提升。我们的模型赢得了2017ImageNet冠军,并且是以极大的优势获得的冠军,碾压了16年的成绩。模型代码的开源地址为:https://github.com/hujie-frank/SENet

------------------第二菇 - 核心思想------------------
本文对于提升网络性能的考量点主要是从特征通道之间的关联关系入手的,为此本文提出了SE模块(并不是一个完整的网络结构,而只是一个子结构,能嵌套进其他的网络中),其重点就在于显式地建模特征通道之间的相互依赖关系。简单来讲就是通过学习的方式去自动获取每个特征通道的重要程度,然后依照这个重要程度来对特征进行重新“加权”计算,从而突出重要的特征,抑制不重要的特征。因此,我们重点就来理一下整个SE子结构的内部结构。

直接先上一张原文中的架构图,发现知乎上一张更好的配了步骤的图,盗过来了【1】,

SE模块结构图.jpg

可以很清晰的看到整个SE模块可以分为3个步骤,首先对卷积得到特征图进行Squeeze操作,得到channel级的全局特征,然后对全局特征进行Excitation操作,学习各个channel间的关系,也得到不同channel的权重,最后乘以原来的特征图得到最终的特征。简单理解,可以把这种学习权重的过程视作是一种"attention"的方法。接下来,我们就具体看一下这俩个步骤分别做了什么。

2.1 Squeeze操作

第一步操作就是将一个channel上整个空间特征编码为一个全局特征,采用全局平均池化的方法(当然也可以有更复杂的策略),

Squeeze计算公式.jpg

如上图所示,其实就是对于每一个channel都提取出了一个特征,最后的输出自然也是1*1*C

2.2 Excitation操作

直接上公式,

s = F_{ex}(z,W) = \sigma(g(z,W)) = \sigma(W_2\delta(W_1z))

其中z就是Squeeze操作后得到的输出,维度为1*1*C

一步步来看,首先是第一个W_1z,表明的意思就是一个简单的全连接操作,其中W_1的维度就是\frac {C}{r} * Cr是一个缩放参数,意思就是为了减少channel的个数(减少计算量),所以第一步的输出维度就是1*1*\frac{C}{r}。然后经过一个ReLU层,输出维度不变。接着就是乘W_2,其实本质也是一个全连接层的过程,而为了让输出与之前的输入channel个数相等,这里的W_2的维度就是C*\frac{C}{r},最后的输出再经过sigmoid激活函数,得到s,其维度为1*1*C

整个过程其实简单明了,本质的核心就是去学习各个通道数之间的权重关系,如上图的颜色所示,不同颜色就代表了不同的权重。最后一步就十分简单了,就是拿这个权重去与之前的特征图进行channel-wise multiplication操作,这个应该很好理解,这里就不展开了。

至此,整一个SE模块的实现细节已经讲明白了,接下来我们具体看一下其是怎么运用在实际网络中的。

2.2 SE模块的运用

在Inception中加入SE 模块的示意图如下所示,


Inception+SE模块.jpg

在ResNet中加入SE 模块的示意图如下所示,


ResNet+SE模块.jpg

其他有关训练和参数的细节这里就不展开了,有兴趣的同学可以看原论文或者看这篇博文~

------------------第三菇 - 总结------------------

3.1 总结

到这里,整篇论文的核心思想已经说清楚了。本论文主要是提出了一种新的构造特征的方法,即联系起各个channel间的关系,提出了SENet模块,并对此改进提供了充实的理论依据和实验证明,为后续发展奠定了基础。

简单总结一下本文就是先罗列了一下该论文的摘要,再具体介绍了一下本文作者的思路,也简单表述了一下,自己对整个SENet模块的理解。希望大家读完本文后能进一步加深对该论文的理解。有说的不对的地方也请大家指出,多多交流,大家一起进步~😁

参考文献:
【1】https://zhuanlan.zhihu.com/p/65459972

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 159,117评论 4 362
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 67,328评论 1 293
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 108,839评论 0 243
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 44,007评论 0 206
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 52,384评论 3 287
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 40,629评论 1 219
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 31,880评论 2 313
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 30,593评论 0 198
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 34,313评论 1 243
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 30,575评论 2 246
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 32,066评论 1 260
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 28,392评论 2 253
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 33,052评论 3 236
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 26,082评论 0 8
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 26,844评论 0 195
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 35,662评论 2 274
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 35,575评论 2 270

推荐阅读更多精彩内容