【深度学习:SENet】信道注意力和挤压激励网络(SENet):图像识别的新突破

news2024/11/20 2:30:45

【深度学习:SENet】信道注意力和挤压激励网络(SENet):图像识别的新突破

    • 为什么有效
    • 如何实现
    • 工作原理
    • 应用案例

在这里插入图片描述

挤压和激励网络(SENets)为卷积神经网络(CNN)引入了一个新的构建模块,该模块能在几乎不增加计算成本的情况下,显著改善通道间的相互依赖性。它们在今年的ImageNet比赛中大放异彩,并帮助将去年的成绩提升了25%。除了巨大的性能提升,SENets还可以轻松集成到现有的架构中。其主要思想是:

为卷积块的每个通道添加参数,让网络能够自适应地调整每个特征图的权重。

这听起来很简单,实际上也确实如此。下面让我们详细了解为什么它如此有效,以及如何用几行简单的代码改进任何模型。

为什么有效

CNN通过其卷积滤波器从图像中提取分层信息。较低层次的网络可以检测简单的上下文特征,如边缘或纹理,而较高层次则能识别人脸、文字或其他复杂的几何形状。它们提取的信息对解决特定任务至关重要。

这些成果是通过融合图像的空间和通道信息实现的。不同的过滤器会首先在每个输入通道中寻找空间特征,然后在所有输出通道中整合这些信息。我在另一篇文章中对此进行了更详细的介绍。

您需要了解的是,在创建输出特征图时,网络对其每个通道的权重是相等的。SENets的目标是改变这一点,通过引入一种内容感知机制,自适应地加权每个通道。最基本的形式是为每个通道添加一个参数,并赋予它一个线性标量值。

然而,作者更进一步。他们首先通过全局平均池化将每个特征图压缩成一个单一数值,全面了解每个通道的信息。这样就产生了一个长度为卷积通道数量的向量。然后,该向量被输入到一个由两层神经网络组成的结构中,输出一个相同长度的向量。这些新的值现在可以作为原始特征图的权重,根据它们的重要性调整每个通道。

如何实现

您可能认为,这听起来并不像我最初承诺的那样简单。但事实上,实现SE块的过程是直接且简洁的。下面是一个示例代码:

def se_block(in_block, ch, ratio=16):
    x = GlobalAveragePooling2D()(in_block)
    x = Dense(ch//ratio, activation='relu')(x)
    x = Dense(ch, activation='sigmoid')(x)
    return multiply()([in_block, x])
  1. 此函数接收一个输入卷积块及其通道数。
  2. 我们使用全局平均池化将每个通道压缩成单个数值。
  3. 通过一个全连接层,加上ReLU激活函数,引入非线性,并降低输出通道的复杂度。
  4. 紧接着是第二个全连接层,使用Sigmoid激活函数,为每个通道提供平滑的门控功能。
  5. 最后,我们根据侧边网络的输出对卷积块的每个特征图进行加权。

这五个步骤几乎不会增加额外的计算成本(少于1%),且可以轻松添加到任何模型中。

Vanilla ResNet模块与集成了SE块的ResNet模块对比图

在这里插入图片描述

Vanilla ResNet 模块与建议的 SE-ResNet 模块

作者指出,通过向ResNet-50添加SE块,可以达到与ResNet-101几乎相同的精度。这对于计算成本仅为一半的模型来说是令人印象深刻的。本文还探讨了其他架构,如Inception、Inception-ResNet和ResNeXt,这些架构通过集成SE块在ImageNet上展现了更低的错误率。

在这里插入图片描述

SENets 如何改进现有架构

SENets令人惊讶的是其简单性和有效性。能够几乎免费地将这种方法应用于任何模型,应该会激励您重新审视并训练您之前构建的所有模型。

工作原理

SENet主要通过以下三个步骤实现其目标:

  1. 挤压(Squeeze): 通过全局平均池化层将空间维度的信息压缩为一个通道描述符,这有助于凸显每个通道的全局重要性。

  2. 激励(Excitation): 使用全连接层学习通道间的依赖关系,并应用sigmoid激活函数以获取每个通道的重要性权重。

  3. 重标定(Re-calibration): 将计算得出的权重与原始特征图相乘,实现对特征图的动态调整。

应用案例

SENet已在图像识别、目标检测和图像分割等多种任务中得到广泛应用,并显著提高了性能。例如,在图像识别任务中,通过集成SE模块,模型能更准确地识别图像中的关键对象。

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

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

相关文章

centos 7.9安装RocketMQ4.6.1版本

1.先下载二进制文件 下载 | RocketMQ 2.下载后,进行解压 unzip rocketmq-all-4.6.1-bin-release.zip 3.修改JVM配置 进到/datadrive/rocketmq-all-4.6.1-bin-release/bin下编辑runserver.sh 与 runbroker.sh文件 根据个人虚拟机大小进行修改 vi runserver.sh J…

这个应该是全网最全的接口测试工具之postman

概念 接口测试是什么? 百度百科给出的解释是: 接口测试是测试系统组件间接口的一种测试。接口测试主要用于检测外部系统与系统之间以及内部各个子系统之间的交互点。测试的重点是要检查数据的交换,传递和控制管理过程,以及系统间…

下载知虾数据分析软件:优化店铺运营、提高转化率的利器

在如今竞争激烈的电商市场中,对销售数据、流量以及买家行为等关键指标的监控和分析至关重要。Shopee平台为卖家提供了一个内置的在线数据分析工具——“Shopee Analytics”(知虾分析),让卖家能够轻松实现对店铺运营的优化、提高转…

40 个简单又有效的 Linux Shell 脚本示例

【收藏】Linux系统常用命令速查手册(附PDF下载方式)_linux命令大全详解pdf-CSDN博客 历史上,shell 一直是类 Unix 系统的本地命令行解释器。它已被证明是 Unix 的主要功能之一,并发展成为一个全新的主题。Linux 提供了各种功能强大…

LeetCode 20.有效括号 详解(c语言实现) (⌯꒪꒫꒪)੭

题目详情: 思路:Step1:如果是左括号,入栈 Step2:如果是右括号,就出栈顶的元素与右括号进行比对,如果匹配,继续,直到都匹配成功结束。否则退出,直接返回false. 栗子:1. {…

C#之反编译之路(一)

本文将介绍微软反编译神器dnSpy的使用方法 c#反编译之路(一) dnSpy.exe区分64位和32位,所以32位的程序,就用32位的反编译工具打开,64位的程序,就用64位的反编译工具打开(个人觉得32位的程序偏多,如果不知道是32位还是64位,就先用32位的打开试试) 目前只接触到wpf和winform的桌…

Redis (三)

1、redis复制 简单的概括就是主从复制,master以写为主,Slave以读为主,当master数据发生变化的时候,自动将更新的数据异步同步到其他的slave是数据库。 使用这种机制的话,可以做到读写分离,可以减轻主机负担…

DDoS攻击的多种方式

DDOS攻击指分布式拒绝服务攻击,即处于不同位置的多个攻击者同时向一个或数个目标发动攻击,或者一个攻击者控制了位于不同位置的多台机器并利用这些机器对受害者同时实施攻击。由于攻击的发出点是分布在不同地方的,这类攻击称为分布式拒绝服务…

大数据毕设分享 flink大数据淘宝用户行为数据实时分析与可视化

文章目录 0 前言1、环境准备1.1 flink 下载相关 jar 包1.2 生成 kafka 数据1.3 开发前的三个小 tip 2、flink-sql 客户端编写运行 sql2.1 创建 kafka 数据源表2.2 指标统计:每小时成交量2.2.1 创建 es 结果表, 存放每小时的成交量2.2.2 执行 sql &#x…

提升网络安全重要要素IP地址

在数字化时代,网络安全已经成为人们关注的焦点。本文将深入探讨网络安全与IP地址之间的紧密联系,以及IP地址在构建数字世界的前沿堡垒中的关键作用。 网络安全是当今数字社会中不可忽视的挑战之一。而IP地址,作为互联网通信的基础协议&#…

震惊!原来这就是JavaScript闭包的秘密

📢 鸿蒙专栏:想学鸿蒙的,冲 📢 C语言专栏:想学C语言的,冲 📢 VUE专栏:想学VUE的,冲这里 📢 CSS专栏:想学CSS的,冲这里 &#x1f4…

第一届能源电子产业创新大赛太阳能光伏赛道决赛及颁奖仪式在宜宾成功举办

在工业和信息化部电子信息司指导下,由工业和信息化部产业发展促进中心和宜宾市人民政府主办,宜宾市经济和信息化局、宜宾高新技术产业园区管理委员会承办的第一届能源电子产业创新大赛太阳能光伏赛道决赛及颁奖仪式于2024年1月3日-5日在宜宾市成功举办。…

DDIA 第十一章:流处理

本文是《数据密集型应用系统设计》(DDIA)的读书笔记,一共十二章,我已经全部阅读并且整理完毕。 采用一问一答的形式,并且用列表形式整理了原文。 笔记的内容大概是原文的 1/5 ~ 1/3,所以你如果没有很多时间…

2023年后,AI 还有什么研究方向有前景?

什么是AI ​ AI代表人工智能,它是指通过计算机科学技术使机器能够执行需要智力的任务的一种技术。这些任务包括学习、推理、问题解决和感知等,通常是人类智能的表现。人工智能的目标是使计算机系统能够执行需要人类智力的任务,而不需要人类的…

C语言实用第三方库Melon开箱即用之多线程模型

在之前的文章中(开发利器——C 语言必备实用第三方库),笔者介绍了一款Linux/UNIX下C语言库Melon的基本功能,并给出了一个简单的多进程开箱即用的例子。 本文将给大家介绍Melon中多线程的使用方法。 在Melon中有三种多线程模式&a…

点对点SDWAN组网:通过专线连接实现企业分支互联

点对点SDWAN是一种通过软件定义网络技术将企业分支互联的组网解决方案。在点对点SDWAN中,企业分支通过专线连接实现互联,以满足对网络性能和可靠性的要求。 传统的WAN架构通常使用MPLS(多协议标签交换)技术来实现企业分支的互联。…

TransmittableThreadLocal使用踩坑

背景:为了获取相关字段方便,项目里使用了TransmittableThreadLocal上下文,在异步逻辑中get值时发现并非当前请求的值,且是偶发状况(并发问题)。 发现:TransmittableThreadLocal是阿里开源的可以实现父子线程值传递的工…

鸿蒙系列--动态共享包的依赖与使用

一、前言 HarmonyOS的共享包相当于Android的Library,在HarmonyOS中,给开发者提供了两种共享包,HAR(Harmony Archive)静态共享包,和HSP(Harmony Shared Package)动态共享包 区别&…

记一次 .NET 某新能源材料检测系统 崩溃分析

一:背景 1. 讲故事 上周有位朋友找到我,说他的程序经常会偶发性崩溃,一直没找到原因,自己也抓了dump 也没分析出个所以然,让我帮忙看下怎么回事,那既然有 dump,那就开始分析呗。 二&#xff…

计算机创新协会冬令营——暴力枚举题目05

这道题挺基础但是挺多坑的。(•́へ•́╬) 题目 204. 计数质数 - 力扣(LeetCode) 给定整数 n ,返回 所有小于非负整数 n 的质数的数量 。 示例 示例 1: 输入:n 10 输出:4 解释:小于 10 的质…