Squeeze-and-Excitation Networks

news2024/11/15 22:21:39

 1、引言

        论文链接:Squeeze-and-Excitation Networks (thecvf.com)

        为了提高 CNN(convolutional neural network) 的表示能力,最近的几种方法已经显示出增强空间编码的好处。而 Jie Hu[1] 等专注于通道关系并提出了 SE(Squeeze and Excitation) 块,它通过显式建模通道之间的相互依赖关系来自适应地重新校准通道特征响应。将 SE 块引入到某个网络中就得到对应的 SENet(Squeeze-and-Excitation Networks)[1],如在 ResNet-50[2] 的每个 Bottleneck 中引入 SE 块就得到 SE-ResNet-50[1]。SE 块以微小的额外计算成本对现有最先进的深度架构产生了显着的性能改进,Jie Hu[1] 等因此而获得了 ILSVRC 2017 分类任务的第一名。

2、方法

图1  挤压-激励块

        如图 1 所示,所谓的 SE 块主要由 Fsq(.)(挤压操作)和 Fex(., W)(激励操作)组成,假设SE 块的输入特征 U 的 shape=(C, H, W),经过 Fsq(.) 后 shape 变为 (C, 1, 1),再经过 Fex(., W) 后得到 U 的通道权重 S,最后执行 Fscale(., .),即 U*S 得到 SE 块的输出。

图2  原始残差模块(左)和 SE-ResNet 模块(右)的模式

        SE 块的细节如图 2(右)所示,可以看到 Fsq(.)= AdaptiveAvgPool,而 Fex(., W) 主要由两个 Linear 层组成:对于 shape=(C, 1, 1) 的输入 X,首先由一个 Linear 层将其通道数降为原来的 1/r,然后是一个 ReLU 层,再由一个 Linear 层将通道数恢复,最后经过 Sigmoid 激活得到 X 的通道权重 S。

3、总结

       [1] 中提出了可以通过动态通道特征重新校准来提高网络的表示能力的 SE 块。SENet 在多个数据集上达到 SOTA,是通道注意力机制的代表模型;此外,SE块还揭示了先前架构无法充分建模通道特性依赖关系的问题;最后,SE 块引起的特征重要性可能有助于相关领域,例如用于压缩的网络修剪。

        作者公开的代码和模型在:GitHub - hujie-frank/SENet: Squeeze-and-Excitation Networks,由于该代码基于 Caffe 实现,故本人基于 Pytorch 实现了 SE 块如下所示:

from torch import nn

__all__ = ['SENet']


class SENet(nn.Module):
    def __init__(self, in_c, ratio=16):
        super().__init__()
        self.squeeze = nn.AdaptiveAvgPool2d(1)
        self.excitation = nn.Sequential(
            nn.Conv2d(in_c, in_c // ratio, kernel_size=1, bias=False),
            nn.ReLU(True),
            nn.Conv2d(in_c // ratio, in_c, kernel_size=1, bias=False),
            nn.Sigmoid()
        )

    def forward(self, x):
        z = self.squeeze(x)
        w = self.excitation(z)
        return x * w

参考文献

[1] Jie Hu, Li Shen, and Gang Sun. Squeeze-and-Excitation Networks. In CVPR, 2018.

[2] Kaiming He, Xiangyu Zhang, Shaoqing Ren, and Jian SunDeep Residual Learning for Image Recognition. In CVPR, 2016.

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

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

相关文章

uniapp 使用css实现大转盘

思路: 1.一个原型的外壳包裹 2.使用要分配的个数,计算出角度,利用正切函数tan计算出角度对应对边长度 3.使用clip-path画出一个扇形 4.使用v-for循环出对应的份数,依次使用transform rotate旋转对应的角度。 注意&#xff1a…

DM集群的高可用的配置方式(多语言)

一、介绍 强调以下:dm_svc.conf必须放置到应用服务器上才行,放到其他服务器上识别不到。 文章中有的框架可能没写到并不代表不支持,有没提到的可文章下方留言。 1.dm_svc.conf的作用: dm_svc.conf文件主要是为了当DM数据库集群…

ES(ElasticSearch)倒排索引

目录 正排与倒排索引 1.正排索引 作用: 优点: 缺点: 2.倒排索引 原理: 倒排索引的构建流程: 倒排索引的搜索流程: 优点: 缺点: 3. 应用场景 倒排索引中有几个非常重要的概念…

Skyeye云智能制造企业版源代码全部开放

智能制造一体化管理系统 [SpringBoot2 - 快速开发平台],适用于制造业、建筑业、汽车行业、互联网、教育、政府机关等机构的管理。包含文件在线操作、工作日志、多班次考勤、CRM、ERP 进销存、项目管理、EHR、拖拽式生成问卷、日程、笔记、工作计划、行政办公、薪资模…

【图文详解】Spring是如何解决循环依赖的?

Spring是如何解决循环依赖的呢? 很多小伙伴在面试时都被问到过这个问题,刷到过这个题的同学马上就能回答出来:“利用三级缓存”。面试官接着追问:“哪三级缓存呢?用两级行不行呢?” 这时候如果没有深入研究…

AI副业赚钱免费资源大汇总

在当今数字化时代,人工智能(AI)的热潮无处不在,许多人对于如何利用AI技术来创造收入机会感到好奇。本文将介绍一个名为aimoneyhunter的开源项目,这是一个专注于AI副业赚钱的资源汇总,旨在帮助人们在AI时代找…

技术干货 | 针对Spring-Boot 框架漏洞的初探

0x1 前言 这篇文章主要是给师傅们介绍下Spring-Boot 框架漏洞的打法以及主要对于Spring-Boot漏洞的接口泄露信息进行一个分析,后面使用了曾哥的Spring-Boot漏洞扫描工具,可以很大减轻我们对于这个漏洞接口的分析。 0x2 Spring框架简述 Spring是一个ja…

Ollama 在Windows Server 2019中部署 qwen:4b

1、环境 1.1、Ollama 1.2、Windows Server 2019 1.3、qwen:4b 1.4、nginx-1.27.0 2、部署后效果如下。 3、环境安装包下载链接包含本文所有的配置内容。 https://download.csdn.net/download/xingchengaiwei/89571623 4、安装ollama,官网下载地址Download Ollama…

【SpringCloud】企业认证、分布式事务,分布式锁方案落地-2

目录 高并发缓存三问 - 穿透 缓存穿透 概念 现象举例 解决方案 缓存穿透 - 预热架构 缓存穿透 - 布隆过滤器 布隆过滤器 布隆过滤器基本思想​编辑 了解 高并发缓存三问 - 击穿 缓存击穿 高并发缓存三问 - 雪崩 缓存雪崩 解决方案 总结 为什么要使用数据字典&…

一文带你了解RAG(检索增强生成) | 概念理论介绍+ 代码实操

一、LLMs 已经具备了较强能力了,为什么还需要 RAG(检索增强生成)? 尽管 LLM 已展现出显著的能力,但以下几个挑战依然值得关注: 幻觉问题:LLM 采用基于统计的概率方法逐词生成文本,这一机制内在地导致其可能出现看似逻…

PPT模板替换秘籍:一键撤销原模板,轻松更换新风格!

将PPT中的模板换成另一个模板,可以通过几种不同的方法实现。以下是几种常用的方法: 方法一:使用PowerPoint内置的设计选项卡 打开PowerPoint:首先,打开你想要更改模板的PPT文件。 选择“设计”选项卡:在…

Python设计模式 - 工厂方法模式

定义 工厂方法模式是一种创建型设计模式,它定义一个创建对象的接口,让其子类来处理对象的创建,而不是直接实例化对象。 结构 抽象工厂(Factory):声明工厂方法,返回一个产品对象。具体工厂类都…

【学术会议征稿】2024年第七届机械工程与智能制造国际会议(WCMEIM 2024)

2024年第七届机械工程与智能制造国际会议(WCMEIM 2024) 2024 7th World Conference on Mechanical Engineering and Intelligent Manufacturing WCMEIM会议属一年一度的国际学术盛会。因其影响力及重要性,WCMEIM会议自创建筹办以来&#xff…

i 评论,网页评论插件使用示例

网页快速实现评论功能,i 评论插件,来试试吧! https://andi.cn/page/621617.html

生成模型 VQVAE:Neural Discrete Representation Learning

注:加粗下划线名词详解见文章末 了解VQGAN之前,还学习了VQVAE(Vector QuantisedVariational AutoEncoder))这篇论文Neural Discrete Representation Learning,看了几个不错的学习视频 进行了深入了解 VQVAE…

搜狐视频的长期主义,让高精尖知识走近普罗大众

“如果你忽略了量子力学,就没有稳定的电磁系统。” “没有结构,我们就像灰烬一样。” 近日,在一场对谈中,张朝阳与美国哈佛大学教授、物理系系主任,美国国家科学院院士、狄拉克奖与基础物理学突破奖获得者库姆伦瓦法…

Matlab编程资源库(11)多项式计算

一、多项式的四则运算 1.多项式的加减运算 2.多项式乘法运算 函数conv(P1,P2)用于求多项式P1和P2的乘积。 这里,P1、P2是两个多项式系数向量。 3.多项式除法 函数[Q,r]deconv(P1,P2)用于对多项式P1和P2作除法运算。其中Q返回多项…

这么发sci论文,审稿人看了都流泪

前言 早上起来,忐忑的你打开审稿人的意见,看到这样一条评语,我们表述不够精准,口语化严重,学视性较弱。 你瞬间就清醒了,只能再次打开不知修改了多少遍的终稿,再次修改,心里想着&a…

魔法项链-小红书2024笔试(codefun2000)

题目链接 魔法项链-小红书2024笔试(codefun2000) 题目内容 你有一个魔法项链,现在你想要强化一下这件装备。你可以将魔法项链看做一条从头到尾串有 n 个不同魔力值宝石的绳子。根据你目前的冒险等级,你可以仅将其中的一颗宝石的魔力值强化并改变为 v 。…

基于OpenCV C++的网络实时视频流传输——Windows下使用TCP/IP编程原理

1.TCP/IP编程 1.1 概念 IP 是英文 Internet Protocol (网络之间互连的协议)的缩写,也就是为计算机网络相互连接进行通信而设计的协议。任一系统,只要遵守 IP协议就可以与因特网互连互通。 所谓IP地址就是给每个遵循tcp/ip协议连…