Paper | Squeeze-and-Excitation Networks
本文的贡献点在于:通过显式建模特征注意力机制,达到了很好的效果。这是以往被默认隐式学习的操作。并且注意,此时建模出来的注意力是非线性分布的。
最重要的是,SE block非常轻巧,而且有比赛冠军的实验保证。
神经网络对你说:你让我学得简单又轻松,我就会反馈给你更好的结果哦。
1. 故事
现有的卷积操作:在局部感受野内,提取空域(spatial-wise)和通道域(channel-wise)信息。
这篇文章希望提高网络的表示能力,提出了一个称为“挤压-激活(Squeeze-and-Excitation, SE)”块,能够通过显式建模通道依赖性,重新校准通道域特征。
【我猜是一种通道注意力机制】
该SENet在2017年ILSVRC分类比赛上获得第一名。
对于深度学习优化,有两种科研方向:(1)改进推理结构;(2)改进表示结构和方法。本文是后者。
2. SENet
2.1 概况

一个SE block如图。对于任意变换\(F_{tr}: X \to U\)(例如一组或多组卷积),我们都可以采用后续操作,来重新校准(recalibrate)通道:
首先通过一个挤压算子\(F_{sq}\),每个通道都被挤压成一个表示元素。\(C\)个通道就有\(C\)维向量。
通过一个激活算子\(F_{ex}\),学习每一个通道的权重。
最终输出是\(U\)的原通道加权放缩后的通道。权值就是上一步学习的。
整个SENet就是多个SE block的堆叠。
这种SE block可以作为插件,在任意深度嵌入(drop-int)。但作者发现,在不同层嵌入的作用也是不同的:
在浅层嵌入,SE block可以帮助激活有用的、与类别没有太大关系的特征,从而帮助增强共享的底层特征。
在深层嵌入,SE block对类别更敏感,会起到一种(与类别有关的)特征选择的作用。
因此,如果在整个网络中堆叠使用,效果更佳哦。
2.2 具体
挤压:在某通道上,取该通道的全局均值。简单有效。
激活:两层FC,中间有一次ReLU非线性激活,最后是逻辑回归。在第一次FC,\(C\)层通道减少至\(C/r\);第二次FC,通道数又恢复至\(C\)。这相当于一个bottleneck,目的是为了降低复杂度。\(r\)的选取见第四节,取16。
最终,我们将SE block嵌入Inception和ResNet试试:

在选择激活方法时,我们不希望让输出变成one-hot向量,即不希望通道权重是互斥的。
3. 实验
作者不仅考察了装载SE block前后的精度,还考察了前后计算效率,如表:

可见,在err下降的同时,GFLOPs上升微乎其微。
不仅如此,SE block还能让MobileNet和ShuffleNet显著改善:

收敛过程也更快:

Paper | Squeeze-and-Excitation Networks的更多相关文章
- Paper | Densely Connected Convolutional Networks
目录 黄高老师190919在北航的报告听后感 故事背景 网络结构 Dense block DenseNet 过渡层 成长率 瓶颈层 细节 实验 发表在2017 CVPR. 摘要 Recent work ...
- Paper Reading:Deep Neural Networks for YouTube Recommendations
论文:Deep Neural Networks for YouTube Recommendations 发表时间:2016 发表作者:(Google)Paul Covington, Jay Adams ...
- Paper Reading:Deep Neural Networks for Object Detection
发表时间:2013 发表作者:(Google)Szegedy C, Toshev A, Erhan D 发表刊物/会议:Advances in Neural Information Processin ...
- InsightFace源码以及pre-train模型以及使用
一下摘自:https://blog.csdn.net/Fire_Light_/article/details/79602705 论文链接:ArcFace: Additive Angular Margi ...
- Squeeze-and-Excitation Networks
Squeeze-and-Excitation Networks Paper 近些年来,卷积神经网络在很多领域都取得了巨大的突破.而卷积核作为卷积神经网络的核心,通常被看做是在局部感受野上,将空间上(s ...
- SENet(Squeeze-and-Excitation Networks)算法笔记---通过学习的方式来自动获取到每个特征通道的重要程度,然后依照这个重要程度去提升有用的特征并抑制对当前任务用处不大的特征
Momenta详解ImageNet 2017夺冠架构SENet 转自机器之心专栏 作者:胡杰 本届 CVPR 2017大会上出现了很多值得关注的精彩论文,国内自动驾驶创业公司 Momenta 联合机器 ...
- 论文笔记-Squeeze-and-Excitation Networks
作者提出为了增强网络的表达能力,现有的工作显示了加强空间编码的作用.在这篇论文里面,作者重点关注channel上的信息,提出了"Squeeze-and-Excitation"(SE ...
- 《Self-Attention Generative Adversarial Networks》里的注意力计算
前天看了 criss-cross 里的注意力模型 仔细理解了 在: https://www.cnblogs.com/yjphhw/p/10750797.html 今天又看了一个注意力模型 < ...
- 论文阅读笔记六十:Squeeze-and-Excitation Networks(SENet CVPR2017)
论文原址:https://arxiv.org/abs/1709.01507 github:https://github.com/hujie-frank/SENet 摘要 卷积网络的关键构件是卷积操作, ...
- Deep learning_CNN_Review:A Survey of the Recent Architectures of Deep Convolutional Neural Networks——2019
CNN综述文章 的翻译 [2019 CVPR] A Survey of the Recent Architectures of Deep Convolutional Neural Networks 翻 ...
随机推荐
- Python变量内存管理
目录 一.变量存哪了? 二.Python垃圾回收机制 2.1 引用计数 三.小整数池 一.变量存哪了? x = 10 当我们在p1.py中定义一个变量x = 10,那么计算机把这个变量值10存放在哪里 ...
- Jupyter notebook 使用
1. 安装代码自动补全 需安装 nbextensions 插件,网站:https://jupyter-contrib-nbextensions.readthedocs.io/en/latest/ins ...
- 【vim编辑器】文本编辑器vim
在Linux系统中一切皆文件.配置一个服务就是在修改其配置文件的参数 一.Vim编辑器 vim是我们在Linux系统中常用的文件编辑命令,也可以使用其简写vi.其边际模式有三种:命令模式,输入模式,行 ...
- 【Linux命令】ldconfig动态链接库管理命令
ldconfig动态链接库管理命令,其目的为了让动态链接库为系统所共享. 作用: 默认搜寻/lilb和/usr/lib,以及配置文件/etc/ld.so.conf内所列的目录下的库文件. 搜索出可共享 ...
- 【MySQL】MySQL 8.0的SYS视图
MySQL的SYS视图 MySQL8.0的发展越来越趋同与Oracle,为了更好的监控MySQL的一些相关指标,出现了SYS视图,用于监控. 1.MySQL版本 (root@localhost) [s ...
- shell 命令 tar -zxvf 解压 tar -zcvf 压缩
tar -zxvf 解压 tar -zcvf 压缩
- MongoDB for OPS 03:分片 shard 集群
写在前面的话 上一节的复制集也就是主从能够解决我们高可用和数据安全性问题,但是无法解决我们的性能瓶颈问题.所以针对性能瓶颈,我们需要采用分布式架构,也就是分片集群,sharding cluster! ...
- 【编译系统01】编译器 - 词法分析器(lexial)的设计思路
时间:2019/11/29 首先,词法分析器由一个扫描器与状态机组成. 一. 词法分析器整体设计流程 二.设计细节 1. code.txt: 我们假设读取下面文本 2.符号类型的设计 我们使用 enu ...
- 在C#中使用Panel控件实现在一个窗体中嵌套另一个窗体
在C#中使用Panel控件实现在一个窗体中嵌套另一个窗体 在C#中使用Panel控件实现在一个窗体中嵌套另一个窗体ShowAllPage sAllPage = new ShowAllPage(); ...
- C++ static静态成员
01 基本概念 静态成员:在定义前面加了static关键词的成员. class A { public: A(int a, int b):m_a(a),m_b(b) { num += m_a + m_b ...