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

最重要的是,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. docker修改系统时间总结

    最近弄docker烦躁的一笔,时区问题踩了不少坑,为了以后再遇到类似问题再花时间查资料,特记录一下... Ubuntu: echo "Asia/Shanghai" > /et ...

  2. [java 基础]反射入门

    原文 概况 使用java的反射,可以让我们检查(或者修改)类,接口,字段,方法的特性.当你在编译期不知道他们的名字的时候非常有用. 除此之外,可以使用反射来创建实例,调用方法或者get/set 字段值 ...

  3. 14-认识DjangoRESTframework

    了解DjangoRESTframework 现在流行的前后端分离Web应用模式,然而在开发Web应用中,有两种应用模式:1.前后端不分离 2.前后端分离. 1.前后端不分离 在前后端不分离中,前端看见 ...

  4. C# - VS2019页面布局容器splitContainer和groupBox小结

    前言 在WinFrm应用程序中,产品的外观.布局将直接影响用户第一体验,所以对于开发者来说,在没有美工支持的前提下,应当注意系统页面的布局,本章主要讲解splitContainer和groupBox的 ...

  5. webpack+vue路由

    只写路由部分的相关内容 需引入路由包 import Vue from 'vue' // 1. 导入 vue-router 包 import VueRouter from 'vue-router' // ...

  6. File获取当前目录下的所有子项 listFiles()

    package seday03; import java.io.File; /** * 获取一个目录中的所有子项 * @author xingsir */public class ListFilesD ...

  7. Java生鲜电商平台-秒杀系统微服务架构设计与源码解析实战

    Java生鲜电商平台-秒杀系统微服务架构设计与源码解析实战 Java生鲜电商平台-  什么是秒杀 通俗一点讲就是网络商家为促销等目的组织的网上限时抢购活动 比如说京东秒杀,就是一种定时定量秒杀,在规定 ...

  8. 自学_HTML<一>

    HTML HTML(HyperText Markup Language):描述网页长什么样子.有什么内容的一个文本.查看网页的描述内容(HTML)的方式:使用IE浏览器的话,在网页上点击右键,选择&q ...

  9. Javase之内部类概述

    内部类概述 把类定义在其他类的内部就称为内部类 class A{ class B{ } } B就称为内部类,A称为外部类. 内部类的访问特点 内部类直接访问外部类成员,包括私有. 外部类要访问内部类要 ...

  10. Android 蓝牙开发(1)

    普通蓝牙设备官方文档 Android 平台包含蓝牙网络堆栈支持,凭借此支持,设备能以无线方式与其他蓝牙设备交换数据.应用框架提供了通过 Android Bluetooth API 访问蓝牙功能的途径. ...