本文的贡献点在于:通过显式建模特征注意力机制,达到了很好的效果。这是以往被默认隐式学习的操作。并且注意,此时建模出来的注意力是非线性分布的。

最重要的是,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)通道:

  1. 首先通过一个挤压算子\(F_{sq}\),每个通道都被挤压成一个表示元素。\(C\)个通道就有\(C\)维向量。

  2. 通过一个激活算子\(F_{ex}\),学习每一个通道的权重。

  3. 最终输出是\(U\)的原通道加权放缩后的通道。权值就是上一步学习的。

整个SENet就是多个SE block的堆叠。

这种SE block可以作为插件,在任意深度嵌入(drop-int)。但作者发现,在不同层嵌入的作用也是不同的:

  1. 在浅层嵌入,SE block可以帮助激活有用的、与类别没有太大关系的特征,从而帮助增强共享的底层特征。

  2. 在深层嵌入,SE block对类别更敏感,会起到一种(与类别有关的)特征选择的作用。

因此,如果在整个网络中堆叠使用,效果更佳哦。

2.2 具体

  1. 挤压:在某通道上,取该通道的全局均值。简单有效。

  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的更多相关文章

  1. Paper | Densely Connected Convolutional Networks

    目录 黄高老师190919在北航的报告听后感 故事背景 网络结构 Dense block DenseNet 过渡层 成长率 瓶颈层 细节 实验 发表在2017 CVPR. 摘要 Recent work ...

  2. Paper Reading:Deep Neural Networks for YouTube Recommendations

    论文:Deep Neural Networks for YouTube Recommendations 发表时间:2016 发表作者:(Google)Paul Covington, Jay Adams ...

  3. Paper Reading:Deep Neural Networks for Object Detection

    发表时间:2013 发表作者:(Google)Szegedy C, Toshev A, Erhan D 发表刊物/会议:Advances in Neural Information Processin ...

  4. InsightFace源码以及pre-train模型以及使用

    一下摘自:https://blog.csdn.net/Fire_Light_/article/details/79602705 论文链接:ArcFace: Additive Angular Margi ...

  5. Squeeze-and-Excitation Networks

    Squeeze-and-Excitation Networks Paper 近些年来,卷积神经网络在很多领域都取得了巨大的突破.而卷积核作为卷积神经网络的核心,通常被看做是在局部感受野上,将空间上(s ...

  6. SENet(Squeeze-and-Excitation Networks)算法笔记---通过学习的方式来自动获取到每个特征通道的重要程度,然后依照这个重要程度去提升有用的特征并抑制对当前任务用处不大的特征

    Momenta详解ImageNet 2017夺冠架构SENet 转自机器之心专栏 作者:胡杰 本届 CVPR 2017大会上出现了很多值得关注的精彩论文,国内自动驾驶创业公司 Momenta 联合机器 ...

  7. 论文笔记-Squeeze-and-Excitation Networks

    作者提出为了增强网络的表达能力,现有的工作显示了加强空间编码的作用.在这篇论文里面,作者重点关注channel上的信息,提出了"Squeeze-and-Excitation"(SE ...

  8. 《Self-Attention Generative Adversarial Networks》里的注意力计算

    前天看了 criss-cross 里的注意力模型  仔细理解了  在: https://www.cnblogs.com/yjphhw/p/10750797.html 今天又看了一个注意力模型 < ...

  9. 论文阅读笔记六十:Squeeze-and-Excitation Networks(SENet CVPR2017)

    论文原址:https://arxiv.org/abs/1709.01507 github:https://github.com/hujie-frank/SENet 摘要 卷积网络的关键构件是卷积操作, ...

  10. 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 翻 ...

随机推荐

  1. 去掉Oracle数据库中字段值前后空格

    发现oracle字段钟包含了空格,可能是前空格,也可能是后空格,因为是历史数据,需要特殊处理.但是中间的空格可能是一些特殊人员的姓名含有,这种情况不能处理.所以我们只需要处理前后空格即可.使用如下sq ...

  2. 新手入门:python的安装(一)

    windows下python的安装 -----因为我是个真小白,网上的大多入门教程并不适合我这种超级超级小白,有时候还会遇到各种各样的问题,因此记录一下我的安装过程,希望大家都能入门愉快,欢迎指教 - ...

  3. js 记录几个因惯性思维引发的代码BUG,开发思维方式的自我反省

     壹 ❀ 引 在写这篇文章之前,对于取什么标题其实让我纠结了好几天,这篇文章中我想说的东西与引用类型数据有关,也与我们的惯性思维有关.本文中展示的几段代码都非常简单,原型都来自于我的日常开发,但让你立 ...

  4. IT兄弟连 Java语法教程 数据类型 进制转换

    ●  正十进制转换为二进制 拆分法,将十进制整数拆分为若干个二进制权重的和,若有该权重则下面写1,否则写0.如: 34 = 32 + 2 128 64 32 16 8 4 2 1 0  0  1  0 ...

  5. 划词标注1——使用svg绘制换行文本并自动识别库中字典数据

    业务需求 给出一段文本,自动识别出文本中包含的关键字信息,关键字是库里已知的数据,根据类型的不同显示出不同的颜色 业务分析 1)采用css:文本识别出来后,根据识别出的文本更改对应文本的dom,通过更 ...

  6. Ansible 日常使用技巧 - 运维总结

    Ansible默认只会创建5个进程并发执行任务,所以一次任务只能同时控制5台机器执行.如果有大量的机器需要控制,例如20台,Ansible执行一个任务时会先在其中5台上执行,执行成功后再执行下一批5台 ...

  7. MySQL字符类型学习笔记

    目录 一.字符集和字符编码 1.1.字符集 1.2.字符编码 二.字符集排序规则 2.1.排序规则定义 2.2 .排序规则特征 三.CHAR和VARCHAR 3.1.CHAR类型 3.2.VARCHA ...

  8. wpf/winform获取windows10系统颜色和主题色

    Windows10开始微软在系统颜色中添加了深色,对于UWP来说很轻松就能获取到系统当前的颜色和主题色,而对于Win32应用就没有那么直观了. 在wpf中,可以通过SystemParameters.W ...

  9. Python笔记:设计模式之命令模式

    命令模式,正如模式的名字一样,该模式中的不同操作都可以当做不同的命令来执行,可以使用队列来执行一系列的命令,也可以单独执行某个命令.该模式重点是将不同的操作封装为不同的命令对象,将操作的调用者与执行者 ...

  10. 【LeetCode】198. 打家劫舍

    打家劫舍 你是一个专业的小偷,计划偷窃沿街的房屋.每间房内都藏有一定的现金,影响你偷窃的唯一制约因素就是相邻的房屋装有相互连通的防盗系统,如果两间相邻的房屋在同一晚上被小偷闯入,系统会自动报警. 给定 ...