挤压激励注意力 SE | Squeeze-and-Excitation Networks

在这里插入图片描述

论文名称:《Squeeze-and-Excitation Networks》

论文地址:https://arxiv.org/pdf/1709.01507.pdf

代码地址: https://github.com/hujie-frank/SENet


卷积神经网络 (CNN) 的核心构建块是卷积运算符,它使网络能够通过在每一层的局部感受野中融合空间和通道信息,构建有用的特征。大量的先前研究已经探讨了这种关系的空间部分,旨在通过增强整个特征层次结构中的空间编码质量来加强 CNN 的表现能力。在这项工作中,我们转而关注通道关系,提出了一种新的结构单元,我们称之为 “Squeeze-and-Excitation” (SE) 块,它通过显式建模通道间的相互依赖关系,自适应地重新校准通道特征响应。我们展示了这些模块可以堆叠在一起,形成非常有效地跨不同数据集进行泛化的 SENet 架构。我们还证明,SE 块可以为现有的最先进 CNN 提供显著的性能改进,代价仅为轻微的计算开销。

Squeeze-and-Excitation 网络是我们在 ILSVRC 2017 分类提交的基础,该提交获得了第一名,并将 top-5 错误率降低到 2.251%,相较于 2016 年的获奖结果,取得了约 25% 的相对改进。


问题背景

随着深度学习和神经网络的发展,卷积神经网络(CNN)在许多视觉任务中取得了巨大成功。这些网络通过卷积操作来提取信息,将空间和通道特征融合在一起。然而,尽管在构建深度和复杂模型方面取得了显著进展,但仍有许多方法试图增强模型的表现力。一些研究集中在空间特征的增强上,而其他研究则试图提高深度网络的稳定性。本文提出了一种新的方式,即通过显式建模通道间的相互关系来增强卷积神经网络的表达能力。


核心概念

这篇文章的核心概念是 “Squeeze-and-Excitation”(简称SE)模块。该模块通过调整每个通道的权重,来实现对通道间依赖关系的建模。SE模块的设计目的是通过动态调整通道权重,增加网络的灵活性,从而提高网络的表现力。它通过两个关键步骤来实现这一目标:挤压和激发。


模块的操作步骤

在这里插入图片描述

SE模块的操作步骤包括两个主要部分:挤压和激发。在挤压步骤中,模块使用全局平均池化来聚合空间维度,从而生成一个通道描述符。这一操作可以帮助网络获得全局信息,并嵌入通道特征的统计数据。在激发步骤中,模块使用一个简单的门控机制,通过sigmoid激活来调整通道特征。激发操作通过两个全连接层来完成,这两个全连接层之间包含ReLU激活,用于学习通道间的非线性关系。最终,模块会根据激发结果对通道进行重加权,从而实现对特征的动态调整。


文章贡献

本文的主要贡献在于提出了SE模块,并通过将其嵌入到现有的卷积神经网络中,显著提高了网络的表现力。SE模块的设计非常灵活,既可以作为一种新的模块加入网络中,也可以直接替换已有的模块。本文展示了SE模块在不同深度、不同架构的网络中的应用,并证明了其有效性。此外,作者还在ImageNet等著名数据集上进行了实验,显示了SE模块带来的性能提升。


实验结果与应用

实验结果表明,SE模块在多种不同的网络架构中都能带来显著的性能提升。作者通过在ResNetInception和其他现代架构中加入SE模块,证明了其普适性和有效性。在ImageNet数据集上的实验结果显示,SE模块可以显著降低错误率,提高准确性。此外,本文还展示了SE模块在其他数据集和任务上的应用,包括场景分类和目标检测,进一步证明了其广泛的适用性。


对未来工作的启示

本文提出的SE模块不仅在提高卷积神经网络的表现力方面取得了成功,而且也为未来的研究提供了启示。首先,SE模块展示了通道间依赖关系的重要性,这可能激发进一步研究在其他领域中应用这一概念。其次,SE模块的设计相对简单,但带来了显著的性能提升,这表明在网络设计中,简单且有效的改进方法仍有很大的潜力。未来的工作可以进一步探索SE模块的其他应用场景,以及如何与其他网络改进技术相结合。

这种模块化的设计理念也可能对神经网络挤压和优化等领域带来启发。通过调整通道权重来优化网络,可以降低模型的复杂性,同时保持或提高性能。这一理念可能对移动设备和嵌入式系统等资源受限的应用领域产生积极影响。


代码

import numpy as np
import torch
from torch import nn
from torch.nn import initclass SE(nn.Module):def __init__(self, channel=512, reduction=16):super().__init__()self.avg_pool = nn.AdaptiveAvgPool2d(1)self.fc = nn.Sequential(nn.Linear(channel, channel // reduction, bias=False),nn.ReLU(inplace=True),nn.Linear(channel // reduction, channel, bias=False),nn.Sigmoid(),)def forward(self, x):b, c, _, _ = x.size()y = self.avg_pool(x).view(b, c)y = self.fc(y).view(b, c, 1, 1)return x * y.expand_as(x)if __name__ == "__main__":input = torch.randn(64, 256, 8, 8)model = SE(channel=256, reduction=8)output = model(input)print(output.shape)

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

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Linux进程基础概念子进程的创建

有着上一节我们对操作系统和冯诺依曼体系结构的理解,本篇我们便可以开始对 Linux 中的进程开始讲解。在本篇中对进程的基本概念进行了简单的介绍,然后通过对描述进程的 PCB,与 Linux 中的 task_struct 的详细讲解,使得对进程的概念…

Android Widget开发代码示例详细说明

因为AppWidgetProvider扩展自BroadcastReceiver, 所以你不能保证回调函数完成调用后,AppWidgetProvider还在继续运行。 a. AppWidgetProvider 的实现 /*** Copyright(C):教育电子有限公司 * Project Name: NineSync* Filename: SynWidgetProvider.java * Author(S…

界面组件DevExpress Blazor UI v23.2 - 网格、工具栏功能全新升级

DevExpress Blazor UI组件使用了C#为Blazor Server和Blazor WebAssembly创建高影响力的用户体验,这个UI自建库提供了一套全面的原生Blazor UI组件(包括Pivot Grid、调度程序、图表、数据编辑器和报表等)。 DevExpress Blazor控件目前已经升级…

数字文旅重塑旅游发展新生态:以数字化转型为契机,推动旅游产业的创新发展,提升旅游服务的智能化、网络化和个性化水平

目录 一、引言 二、数字化转型推动旅游产业创新发展 1、数字化转型提升旅游产业效率 2、数字化转型拓展旅游产业边界 3、数字化转型促进旅游产业可持续发展 三、提升旅游服务智能化、网络化和个性化水平 1、智能化提升旅游服务体验 2、网络化拓宽旅游服务渠道 3、个性…

爬虫的实战应用之短信炸弹playwright现代网页测试工具

不讲废话,先上原理: 短信炸弹,也就是说持续对一个手机进行发送短信,实现的方式就是,利用某些网站的登录 ,注册的时候,发送短信验证码来实现。 如下图,其中有一个id为phone的输入框&a…

配置nodejs的俩小脚本

介绍:共两个脚本。 脚本1,用来配置环境变量,生成环境变量所需的配置信息,然后自己添加到系统环境变量里去 特别注意:该脚本需要放到nodejs目录下面,如果不是,则无法生成环境变量配置文本内容 另…

Java代码审计-flink-streaming-platform-web

前言 项目地址:GitHub - zhp8341/flink-streaming-platform-web: 基于flink的实时流计算web平台 flink-streaming-platform-web是一个将flink封装的一个可视化的、轻量级的flink web客户端系统,用户只需在web 界面进行sql配置就能完成流计算任务。 项目…

【Elasticsearch<一>✈️✈️】简单安装使用以及各种踩坑

目录 🍸前言 🍻一、软件安装(Windows版) 1.1、Elasticsearch 下载 2.1 安装浏览器插件 3.1、安装可视化工具 Kibana 4.1、集成 IK 分词器 🍺二、安装问题 🍹三、测试 IK 分词器 ​🍷 四、章…

Golang | Leetcode Golang题解之第55题跳跃游戏

题目&#xff1a; 题解&#xff1a; // 贪心算法 func canJump(nums []int) bool {cover : 0n : len(nums)-1for i : 0; i < cover; i { // 每次与覆盖值比较cover max(inums[i], cover) //每走一步都将 cover 更新为最大值if cover > n {return true}}return false } …

如何买到“30元以下”的免备案服务器?

对于预算有限的个人和小型企业来说&#xff0c;30 元以下免备案服务器的价格非常亲民。用户可以以极低的成本获得所需的服务器资源&#xff0c;这对创业者、个人开发者、学生和站长来说简直不要太划算&#xff0c;毕竟配置可以升级真不够后面再付费升级也行。 何为“免备案”&…

Android双向认证配置过程

1&#xff08;可以绕过&#xff09;准备过程 为了让这个教程可以一直复用&#xff0c;打算直接写一个双向认证的APP作为素材。 工具&#xff1a; ●protecle&#xff08;签名文件转换&#xff09; ●keytool&#xff08;java自己就有&#xff09; ●openssl&#xff08;apache里…

NLP transformers - 文本分类

Text classification 文章目录 Text classification加载 IMDb 数据集Preprocess 预处理EvaluateTrainInference 本文翻译自&#xff1a;Text classification https://huggingface.co/docs/transformers/tasks/sequence_classification notebook : https://colab.research.googl…

FPGA 以太网概念简单学习

1 MAC和PHY 从硬件的角度来说&#xff0c;以太网接口电路主要由 MAC &#xff08; Media Access Control &#xff09;控制器和物理层接口 PHY&#xff08;Physical Layer &#xff0c; PHY &#xff09;两大部分构成。 MAC 指媒体访问控制子层协议&#xff0c;它和 PHY 接…

创建获利段

事务代码&#xff1a;KE21N BAPI&#xff1a;BAPI_COPAACTUALS_POSTCOSTDATA 前台操作&#xff1a; 表是业务配置的 配置路径&#xff1a; 代码&#xff1a;BAPI不返回生成的凭证号和获利段&#xff0c;需要通过增强或者读表获取 ls_copa_data-record_id 000001.ls_co…

Agent AI智能体在未来,一定与你我密不可分

随着Agent AI智能体的逐渐成熟&#xff0c;人工智能应用的不断深入与拓展&#xff0c;相信在不久的将来&#xff0c;他与你我的生活一定是密不可分的。 目录 ​编辑 1 Agent AI智能体是什么&#xff1f; 2 Agent AI在语言处理方面的能力 2.1 情感分析示例 2.2 文本分类任…

Spring - 5 ( 8000 字 Spring 入门级教程 )

一&#xff1a;Spring IoC&DI 1.1 方法注解 Bean 类注解是添加到某个类上的&#xff0c; 但是存在两个问题: 使用外部包里的类, 没办法添加类注解⼀个类, 需要多个对象, ⽐如多个数据源 这种场景, 我们就需要使用方法注解 Bean 我们先来看方法注解如何使用: public c…

Unity 踩坑记录 Rigidbody 刚体重力失效

playerSetting > physics > Gravity > 设置 Y 的值为负数

前端canvas项目实战——在线图文编辑器(九):逻辑画布

目录 前言一、 效果展示二、 实现步骤1. 调整布局&#xff0c;最大化利用屏幕空间2. 添加逻辑画布3. 添加遮罩4. 居中显示逻辑画布5. 一个容易被忽视的bug点 三、Show u the code后记 前言 上一篇博文中&#xff0c;我们实现了一组通用的功能按钮&#xff1a;复制、删除、锁定…

FreeRTOS之列表

1.FreeRTOS的列表和列表项十分重要。列表类相当于链表&#xff0c;列表项则相当于链表中的节点。列表项的地址是非连续的&#xff0c;列表项的数量可随时修改。在OS中的任务状态和数量会发生改变&#xff0c;因此使用列表可以很好的满足需求。 列表和列表项的相关定义与操作函…

电商独立站||跨境电商独立站网站搭建|功能系统搭建||API接口接入

搭建多语言跨境电商独立站系统 前台主要功能模块 短信接口 第三方登陆 支付方式 会员中心 代购订单列表 - new 会员签到 -1000(1) new 支付密码 ---1000 国内流程 -----5000 new 订单运单多退少补 -1000 未付款运单取消功能 - 修改运单运输方式 -----1000 年费会员 -----3000 …