SE-Net:Squeeze-and-Excitation Networks(CVPR2018)


文章目录

  • Abstract
  • Introduction
    • 表征的重要性
    • 以前的方向
    • 本文提出
  • Related Work
    • Deeper Architecture
    • Algorithmic Architecture Search
    • Attention and gating mechanisms
  • Squeeze-and-Excitation Blocks
    • Squeeze: Global Information Embedding
    • Excitation: Adaptive Recalibration
    • Instantiations
      • SE-Inception Model
      • SE-ResNet Model
    • summarize
  • Model and Computation Complexity
  • Experiments
    • Image Classification
    • Scene Classification
    • Object Detection on COCO
    • ILSVRC 2017 Classification Competition
  • Ablation Study
    • Reduction ratio
    • Squeeze Operator
    • Excitation Operator
    • Different stages
    • Integration strategy
  • Role of SE Blocks
    • Effect of Squeeze
    • Role of Excitation
  • Conclusion

原文链接
源代码

Abstract

卷积神经网络(cnn)的核心构建块是卷积算子,它使网络能够通过在每层的局部接受域中融合空间和通道信息来构建信息特征。之前的广泛研究已经调查了这种关系的空间成分,试图通过提高整个特征层次的空间编码质量来加强CNN的表征能力。
在本文中,我们将重点放在通道关系上,并提出了一种新的架构单元,我们称之为“挤压和激励”(SE)块,该单元通过明确建模通道之间的相互依赖性,自适应地重新校准通道特征响应。我们表明,这些块可以堆叠在一起形成SENet架构,在不同的数据集上非常有效地泛化
我们进一步证明,SE块在略微增加计算成本的情况下,为现有最先进的CNNs带来了显著的性能改进
挤压和激励网络构成了我们2017年ILSVRC分类提交的基础,该分类提交获得了第一名,并将前5名的错误率降低到2.251%,比2016年的获奖作品相对提高了25%

Introduction

表征的重要性

计算机视觉研究的一个中心主题是寻找更强大的表征,只捕获图像中对于给定任务最显著的那些属性,从而提高性能。作为一种广泛应用于视觉任务的模型家族,新的神经网络架构设计的发展现在代表了这一研究的关键前沿。

以前的方向

最近的研究表明,通过将学习机制集成到网络中,可以增强cnn产生的表征,从而帮助捕获特征之间的空间相关性。其中一种方法,由Inception系列架构[5],[6]推广,将多尺度进程合并到网络模块中以实现改进的性能。进一步的研究试图更好地模拟空间依赖性[7],[8],并将空间注意力纳入网络结构[9]。

本文提出

在本文中,我们研究了网络设计的另一个方面——通道之间的关系。我们引入了一个新的架构单元,我们称之为挤压和激励(SE)块,其目标是通过明确地建模其卷积特征通道之间的相互依赖性来提高网络产生的表征的质量。为此,我们提出了一种允许网络执行特征重新校准的机制,通过该机制,网络可以学习使用全局信息来选择性地强调有用的特征并抑制不太有用的特征。

SE构建块的结构如图1所示。(全部跳过直接见summarize)对于任意给定的变换Ftr,将输入X映射到U∈R H×W×C的特征映射,例如卷积,我们可以构造一个相应的SE块来执行特征重新校准特征U首先通过挤压操作传递,该操作通过聚合跨空间维度的特征映射(H ×W)生成通道描述符。这个描述符的功能是产生通道特征响应的全局分布的嵌入,允许来自网络的全局接受域的信息被其所有层使用。聚合之后是激励操作,该操作采用简单的自门机制的形式,将嵌入作为输入并产生每个信道调制权重的集合。这些权重被应用到特征映射U上,以生成SE块的输出,该块可以直接馈送到网络的后续层。

SE块的结构很简单,可以直接在现有的最先进的体系结构中使用,通过用SE对应的组件替换组件,可以有效地增强性能。SE块在计算上也是轻量级的,只会略微增加模型复杂性和计算负担。

为了使这些说法站得住脚,我们开发了几个SENets,并对ImageNet数据集进行了广泛的评估[10]。我们还展示了ImageNet之外的结果,表明我们的方法的好处并不局限于特定的数据集或任务。通过使用SENets,我们在2017年ILSVRC分类比赛中获得了第一名。我们的最佳模型集成在测试集1上实现了2.251%的前5误差。与前一年的优胜者相比,这大约代表了25%的相对改进(相对改进用的真棒)。

Related Work

Deeper Architecture

VGGNets和Inception模型表明,增加网络的深度可以显著提高其能够学习的表征的质量,此后的工作进行了进一步的改进
相比之下,我们表明,为单元提供一种机制,使用全局信息显式地模拟通道之间的动态、非线性依赖关系,可以简化学习过程,并显着增强网络的表征能力

Algorithmic Architecture Search

旨在放弃手工架构设计,而寻求自动学习网络的结构,此前提出了许多架构搜索算法,且强化学习技术取得了有力的结果
我们提出SE块可以用作这些搜索算法的原子构建块,并且在并发工作中被证明是非常有效的[45]。

Attention and gating mechanisms

注意力可以解释为一种将可用计算资源分配向信号中信息量最大的组成部分倾斜的手段(资源只给天才)[46]、[47]、[48]、[49]、[50]、[51]。一些研究对空间注意力和通道注意力的结合使用进行了有趣的研究[58],[59]。Wang等人[58]引入了一种基于沙漏模块[8]的强大的trunk-and-mask注意机制,该机制被插入到深度残差网络的中间阶段之间。相比之下,我们提出的SE块包含一个轻量级的门控机制,该机制侧重于通过以计算高效的方式对通道相关关系进行建模来增强网络的表示能力。

Squeeze-and-Excitation Blocks

SE块是一个计算单元,它可以建立在映射输入X∈R(H‘W’C’)的变换Ftr映射到U∈R(HWC),在下面的符号中,我们取F tr为一个常规算子,并使用V = [V 1, V 2,…,vc]表示学习到的滤波器核集合,其中vc表示第c个滤波器的参数。输出U = [u 1 ,u 2 ,…,u c ]
其中*表示卷积
v s c是一个二维空间核,表示作用于X的相应通道的v c的单个通道。为了简化符号,省略了偏置项。由于输出是通过所有通道的求和产生的,通道依赖关系隐式地嵌入在vc中,但与滤波器捕获的局部空间相关性纠缠在一起由卷积建模的通道关系本质上是隐式的和局部的(最顶层的通道关系除外)。我们期望通过显式建模通道相互依赖性来增强卷积特征的学习,以便网络能够提高其对信息特征的敏感性,这些信息特征可以被后续转换利用。因此,我们希望为其提供对全局信息的访问,并在将其馈送到下一个变换之前,分挤压和激励两步重新校准滤波器响应。图1显示了SE块的结构示意图。

Squeeze: Global Information Embedding

为了解决利用通道依赖性的问题,我们首先考虑输出特征中每个通道的信号。每个学习到的过滤器都与一个局部接受域一起操作,因此转换输出U的每个单元都无法利用该区域之外的上下文信息
为了缓解这个问题,我们建议将全局空间信息压缩到信道描述符中。这是通过使用全局平均池来生成通道统计信息来实现的。形式上,统计量z∈R C通过U的空间维度H ×W收缩生成,使得z的c-th元素计算为:
转换U的输出可以被解释为局部描述符的集合,这些局部描述符的统计量可以表达整个图像。利用这些信息在之前的特征工程工作中很普遍[60],[61],[62]。我们选择最简单的聚合技术,即全局平均池,并注意到这里也可以采用更复杂的策略

Excitation: Adaptive Recalibration

为了利用在挤压操作中聚合的信息,我们在它之后进行第二个操作,目的是完全捕获与通道相关的依赖关系。为了实现这一目标,函数必须满足两个标准:首先,它必须是灵活的(特别是,它必须能够学习通道之间的非线性相互作用),其次,它必须学习非互斥关系,因为我们希望确保允许多个通道被强调(而不是强制一个热激活)。为了满足这些标准,我们选择采用一种简单的s型激活门控机制:

δ表示Relu,W1∈R C/r×C,W2∈R C×C/r

为了限制模型复杂性和帮助一般化,我们通过在非线性周围形成两个完全连接(FC)层的瓶颈来参数化门控机制
一个降维比为r的降维层,一个ReLU,然后是返回到变换输出U的通道维数的增维层。块的最终输出是通过用激活s重新缩放U来获得的

F scale (u c,s c)是指标量s c与特征映射u c∈R H×W之间的逐通道乘法

激励算子将特定于输入的描述符z映射到一组信道权重。在这方面,SE块本质上引入了以输入为条件的动态,可以将其视为通道上的自注意函数,通道的关系不局限于卷积滤波器响应的局部接受野

Instantiations

SE块可以在每个卷积块之后插入分支聚合之前,此外,SE块的灵活性意味着它可以直接应用于标准卷积之外的转换。
每个SE块在挤压阶段使用一个全局平均池化操作,在激励阶段使用两个小FC层,然后是一个廉价的通道缩放操作

SE-Inception Model

SE-ResNet Model


括号内列出了剩余构建块的形状和具有特定参数设置的操作,外部显示了一个阶段中堆叠块的数量。fc后面的内括号表示SE模块中两个完全连接层的输出维度。

summarize

SE块首先通过Ftr将X映射到U,然后通过挤压将全局空间信息压缩到通道描述符中得到统计量Zc,接着通过激励算子完全捕获与通道相关的依赖关系,得到s,最后经过Fscale算子得到最终的输出X~

Model and Computation Complexity

每个SE块在挤压阶段使用一个全局平均池化操作,在激励阶段使用两个小FC层,然后是一个廉价的通道缩放操作。总的来说,当将缩减比r设置为16时,SE-ResNet-50需要~ 3.87 GFLOPs,相当于比原始ResNet-50相对增加0.26%。为了换取这一轻微的额外计算负担,SE-ResNet-50的精度超过了ResNet-50,实际上,接近更深的ResNet-101网络,需要~ 7.58 GFLOPs(表2)

SENet列指的是在其中添加了SE块的相应体系结构。括号中的数字表示相对于重新实现的基线的性能改进。†表示该模型已经在验证集的非黑名单子集上进行了评估,这可能会略微改善结果。VGG-16和SE-VGG-16采用批归一化训练

相对模型性能的贡献 ,SE块产生的少量额外计算成本是可接受的

接下来我们考虑由提议的SE块引入的附加参数。这些附加参数仅由门控机制的两个FC层产生,因此只占总网络容量的一小部分。具体而言,这些FC层的权重参数引入的总数为:

其中r表示缩放比,S表示阶段数,Cs表示输出通道的维度,Ns表示阶段S重复块的数量(当在FC层中使用偏置项时,引入的参数和计算成本通常可以忽略不计)。

Experiments

Image Classification

在ImageNet上训练基线架构和相应的SE Model。SENets表现出改进的优化特性,并在整个训练过程中产生持续的性能收益

在SE块在增加少量计算成本的情况下,大幅提高了准确性


表4和表5说明了SE块在其他数据集上仍旧表现优异

Scene Classification

SE块也可以提高场景分类的精度

Object Detection on COCO

SE块在COCO数据集上表现良好,证明了SE块的通用性

ILSVRC 2017 Classification Competition

在ILSVRC 2017比赛中取得了最佳结果

Ablation Study

Reduction ratio

性能在一定的减排量范围内是稳健的,复杂度的增加不会单调地提高性能,而较小的比例会显著增加模型的参数大小,在上表中r=16是速度和精度的最佳平衡

Squeeze Operator

显然平均池化的性能略好

Excitation Operator

通过比较发现sigmoid函数取得了最佳结果

Different stages

SE块在不同阶段产生的增益是互补的,它们可以有效地组合在一起,进一步增强网络性能

Integration strategy


该实验表面,SE块应放在分支聚合之前

将SE块之间放在3×3卷积层之后,使用更少的参数实现了相当的分类精度

Role of SE Blocks

Effect of Squeeze

上表中可以得到使用全局信息对模型性能有显著影响,强调了挤压操作的重要性

Role of Excitation

除了SE_5_2的异常行为外,随着深度的增加,激活变得越来越具有类特异性。较早的层特征通常更普遍(例如,在分类任务的背景下,类别不可知论),而较晚的层特征表现出更高水平的特异性。上图SE5-25-3出现了趋于饱和的状态,该结果表明,通过在最后阶段删除SE块,可以显著减少额外的参数计数,而性能损失很小。

显示了两个样本类(金鱼和飞机)在同一类中图像实例的激活的均值和标准差。我们观察到与类间可视化一致的趋势,表明SE块的动态行为在类和类内的实例中都是不同的。特别是在网络的后一层,在单个类中存在相当大的表示多样性,网络学习利用特征重新校准来提高其判别性能
总之,SE块生成特定于实例的响应,这些响应在体系结构的不同层支持模型日益增长的特定于类的需求

Conclusion

一系列的实验完全支持起了模型的有效性
在本文中,我们提出了SE块,这是一个架构单元,旨在通过使网络能够执行动态信道特征重新校准来提高网络的表示能力。广泛的实验表明了SENets的有效性,它在多个数据集和任务中实现了最先进的性能。
此外,SE块还揭示了以前的体系结构无法充分地对通道相关的特征依赖进行建模的问题。我们希望这一见解可以证明对其他需要强判别特征的任务有用。
最后,由SE块产生的特征重要性值可以用于其他任务,例如用于模型压缩的网络修剪

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/260922.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

ssm基于vue的厨房管理系统论文

摘 要 使用旧方法对厨房管理信息进行系统化管理已经不再让人们信赖了,把现在的网络信息技术运用在厨房管理信息的管理上面可以解决许多信息管理上面的难题,比如处理数据时间很长,数据存在错误不能及时纠正等问题。 这次开发的厨房管理系统管…

【Python-批量修改视频分辨率】

Python-批量修改视频分辨率 1 使用Python修改视频分辨率2 常见的视频编码格式2.1 等效的编码格式表示方式2.2 常见的编码格式 1 使用Python修改视频分辨率 首先拷贝视频文件并修改后缀,然后修改图片的分辨率,实现视频批量修改和转换。 import os impor…

自定义注解实现 后台系统-记录日志功能

文章目录 1 记录日志1.1 记录日志的意义1.2 日志数据表结构1.3 记录日志思想1.4 切面类环境搭建1.4.1 日志模块创建1.4.2 自定义Log注解1.4.3 OperatorType1.4.4 LogAspect1.4.5 EnableLogAspect1.4.6 测试日志切面类 1.5 保存日志数据1.5.1 SysOperLog1.5.2 LogAspect1.5.3 As…

【教程】cocos2dx资源加密混淆方案详解

1,加密,采用blowfish或其他 2,自定是32个字符的混淆code 3,对文件做blowfish加密,入口文件加密前将混淆code按约定格式(自定义的文件头或文件尾部)写入到文件 4,遍历资源目录,对每个文件做md5混淆,混淆原始串“相对路径”“文件名”混淆code, 文件改名并且移动到资源目录根…

C# try-catch异常处理的用法

try-catch 是一种在编程语言中用于捕获和处理异常的结构。它的作用是在可能引发异常的代码块中进行异常处理,以避免程序崩溃或产生不可预料的结果。 当在 try 块中的代码执行时,如果发生了异常,程序会立即跳转到对应的 catch 块。catch…

http客户端Feign

http客户端Feign 文章目录 http客户端Feign定义和使用Feign客户端自定义Feign的配置Feign的性能优化feign的最佳实践 定义和使用Feign客户端 <!-- feign客户端依赖--><dependency><groupId>org.springframework.cloud</groupId><artifactId>s…

为什么C语言没有被C++所取代呢?

今日话题&#xff0c;为什么C语言没有被C所取代呢&#xff1f;虽然C是一个功能更强大的语言&#xff0c;但C语言在嵌入式领域仍然广泛使用&#xff0c;因为它更轻量级、更具可移植性&#xff0c;并且更适合在资源受限的环境中工作。这就是为什么C语言没有被C所取代的原因。如果…

玩转 Scrapy 框架 (一):Scrapy 框架介绍及使用入门

目录 一、Scrapy 框架介绍二、Scrapy 入门 一、Scrapy 框架介绍 简介&#xff1a; Scrapy 是一个基于 Python 开发的爬虫框架&#xff0c;可以说它是当前 Python 爬虫生态中最流行的爬虫框架&#xff0c;该框架提供了非常多爬虫的相关组件&#xff0c;架构清晰&#xff0c;可扩…

高速视频采集卡设计方案:620-基于PCIe的高速视频采集卡

一、产品概述 基于PCIe的高速视频采集卡&#xff0c;通过PCIe3.0X8传输到存储计算服务器&#xff0c;实现信号的分析、存储。 北京太速科技 产品固化FPGA逻辑&#xff0c;适配视频连续采集&#xff0c;缓存容量2GB&#xff0c;开源的PCIe QT客户端软件&#xff0c…

常用网络接口自动化测试框架

(一&#xff09;GUI界面测试工具&#xff1a;jmeter 1、添加线程组 2、添加http请求 3、为线程组添加察看结果树 4、写入接口参数并运行 5、在查看结果树窗口查看结果 6、多组数据可增加CSVDataSetConfig(添加.csv格式的文件&#xff0c;并在参数值里以${x}格式写入) 此时变量…

第五讲观测值中与卫星、接收机有关的误差 第六讲观测值中与信号传播路径有关的误差以及电离层、对流层相关模型 | GNSS(RTK)课程学习笔记day3

说明&#xff1a;以下笔记来自计算机视觉life吴桐老师课程&#xff1a;从零掌握GNSS、RTK定位[链接]&#xff0c;从零掌握RTKLIB[链接]。非原创&#xff01;且笔记仅供自身与大家学习使用&#xff0c;无利益目的。 第五讲 观测值中与卫星、接收机有关的误差 卫星轨道误差 由卫…

如何有效压缩图片大小?保持质量的同时减小文件大小

图片体积过大&#xff0c;不仅仅会导致我们电脑或者手机内存不足&#xff0c;在一些网络平台上传的时候&#xff0c;也会因为限制上传失败&#xff0c;为了有效减少文件所占用的存储空间和上传&#xff0c;我们可以先利用图片压缩功能去把图片缩小kb&#xff0c;那么具体是怎么…

Python Pandas 多重索引DataFrame数据(第19讲)

Python Pandas 多重索引DataFrame数据(第19讲)         🍹博主 侯小啾 感谢您的支持与信赖。☀️ 🌹꧔ꦿ🌹꧔ꦿ🌹꧔ꦿ🌹꧔ꦿ🌹꧔ꦿ🌹꧔ꦿ🌹꧔ꦿ🌹꧔ꦿ🌹꧔ꦿ🌹꧔ꦿ🌹꧔ꦿ🌹꧔ꦿ🌹꧔ꦿ🌹꧔ꦿ🌹꧔ꦿ🌹꧔ꦿ🌹꧔ꦿ🌹꧔ꦿ🌹꧔ꦿ�…

【powershell】Windows环境powershell 运维之历史文件压缩清理

&#x1f984; 个人主页——&#x1f390;开着拖拉机回家_Linux,大数据运维-CSDN博客 &#x1f390;✨&#x1f341; &#x1fa81;&#x1f341;&#x1fa81;&#x1f341;&#x1fa81;&#x1f341;&#x1fa81;&#x1f341; &#x1fa81;&#x1f341;&#x1fa81;&am…

Find My资讯|苹果Find My大升级:可添加物品数量翻倍,从16个飙升至32个!

苹果Find My是Find My iPhone&#xff08;查找我的iPhone&#xff09;和Find My Friends&#xff08;查找朋友&#xff09;的结合体&#xff0c;新系统中苹果为了追求简洁&#xff0c;于是把这两个应用整合到一块了。Find My作用于iOS13、iPadOS&#xff08;苹果为iPad定制的新…

笨爸爸工房携手洛阳科学技术馆,开启全新手工课程!

笨爸爸工房与洛阳科学技术馆达成合作&#xff0c;每周六上午9点50分在洛阳科学技术馆开设全新的手工课程。通过丰富多彩的手工课程&#xff0c;让孩子在动手实践中感受传统木艺的乐趣&#xff0c;了解中国传统文化的内涵。笨爸爸工房以木工为媒介&#xff0c;希望通过提升父亲参…

LeetCode 739每日温度 496 下一个更大元素 | 代码随想录25期训练营day58

单调栈1 LeetCode 739 每日温度 2023.12.21 题目链接代码随想录讲解[链接] vector<int> dailyTemperatures(vector<int>& temperatures) {//暴力求解&#xff0c;但会超时/*vector<int> answer(temperatures.size(), 0);for (int i 0; i < tempe…

BWS2000倾角传感器c++测试代码【2】

问题一&#xff1a;串口频率的初始化 由于本次项目之中使用的线长为40米的倾角传感器&#xff0c;需要对于其频率输出存在要求&#xff0c;如何测试其频率如下所示&#xff1a; 如上所示相应的软件&#xff0c;软件中存在一句如果设置后不保存&#xff0c;则存在传感器断电后设…

开源堡垒机JumpServer结合内网穿透实现远程访问

开源堡垒机JumpServer结合内网穿透实现远程访问 前言1. 安装Jump server2. 本地访问jump server3. 安装 cpolar内网穿透软件4. 配置Jump server公网访问地址5. 公网远程访问Jump server6. 固定Jump server公网地址 前言 JumpServer 是广受欢迎的开源堡垒机&#xff0c;是符合 …

python使用Tesseract

python使用Tesseract 一、介绍二、安装Tesseract三、使用Tesseract3.1 简单例子 一、介绍 Tesseract是一个开源的ocr工具&#xff0c;它是由C编写的&#xff0c;可以直接在Windows上运行&#xff0c;也可以用各种编程语言调用。 二、安装Tesseract Tesseract支持多个平台&am…