【深度学习注意力机制系列】—— SENet注意力机制(附pytorch实现)
深度学习中的注意力机制(Attention Mechanism)是一种模仿人类视觉和认知系统的方法,它允许神经网络在处理输入数据时集中注意力于相关的部分。通过引入注意力机制,神经网络能够自动地学习并选择性地关注输入中的重要信息,提高模型的性能和泛化能力。
卷积神经网络引入的注意力机制主要有以下几种方法:
- 在空间维度上增加注意力机制
- 在通道维度上增加注意力机制
- 在两者的混合维度上增加注意力机制
我们将在本系列对多种注意力机制进行讲解,并使用pytorch进行实现,今天我们讲解SENet注意力机制
SENet(Squeeze-and-Excitation Networks)注意力机制在通道维度上引入注意力机制,其核心思想在于通过网络根据loss去学习特征权重,使得有效的feature map权重大,无效或效果小的feature map权重小的方式训练模型达到更好的结果。SE block嵌在原有的一些分类网络中不可避免地增加了一些参数和计算量,但是在效果面前还是可以接受的 。Sequeeze-and-Excitation(SE) block并不是一个完整的网络结构,而是一个子结构,可以嵌到其他分类或检测模型中。

以上是SENet的结构示意图, 其关键操作为squeeze和excitation. 通过自动学习获得特征图在每个通道上的重要程度,以此为不同通道赋予不同的权重,提升有用通道的贡献程度.
实现机制:
- Squeeze: 通过全剧平均池化层,将每个通道大的二维特征(h*w)压缩为一个实数,维度变化: (C, H, W) -> (C, 1, 1)
- Excitation: 给予每个通道的一个特征权重, 然后经过两次全连接层的信息整合提取,构建通道间的自相关性,输出权重数目和特征图通道数一致, 维度变化: (C, 1, 1) -> (C, 1, 1)
- Scale: 将归一化后的权重加权道每个通道的特征上, 论文中使用的是相乘加权, 维度变化: (C, H, W) * (C, 1, 1) -> (C, H, W)
pytorch实现:
class SENet(nn.Module):def __init__(self, in_channels, ratio=16):super(SENet, self).__init__()self.in_channels = in_channelsself.fgp = nn.AdaptiveAvgPool2d((1, 1))self.fc1 = nn.Linear(self.in_channels, int(self.in_channels / ratio), bias=False)self.act1 = nn.ReLU()self.fc2 = nn.Linear(int(self.in_channels / ratio), self.in_channels, bias=False)self.act2 = nn.Sigmoid()def forward(self, x):b, c, h, w = x.size()output = self.fgp(x)output = output.view(b, c)output = self.fc1(output)output = self.act1(output)output = self.fc2(output)output = self.act2(output)output = output.view(b, c, 1, 1)return torch.multiply(x, output)
相关文章:
【深度学习注意力机制系列】—— SENet注意力机制(附pytorch实现)
深度学习中的注意力机制(Attention Mechanism)是一种模仿人类视觉和认知系统的方法,它允许神经网络在处理输入数据时集中注意力于相关的部分。通过引入注意力机制,神经网络能够自动地学习并选择性地关注输入中的重要信息ÿ…...
go 函数
go 语言函数 go 函数函数定义Go函数的特点如下函数作为参数可变参数相同类型可变参数不同类型可变参数 return语句作用概述空的return语句空白标识符多个返回值命名返回值 defer 语句作用引申出来的面试题for defer下面是一个使用defer的示例代码输出结果 匿名函数定义匿名函数…...
python之正则表达式
目录 正则表达式 python正则表达式方法 match search findall finditer compile 元字符匹配 元字符 量词 贪婪匹配和惰性匹配 正则表达式的group 语法 案例 正则表达式 正则表达式又称规则表达式,是使用单个字符串来描述、匹配某个句法规则的字符串…...
【LeetCode每日一题】——219.存在重复元素II
文章目录 一【题目类别】二【题目难度】三【题目编号】四【题目描述】五【题目示例】六【题目提示】七【解题思路】八【时间频度】九【代码实现】十【提交结果】 一【题目类别】 哈希表 二【题目难度】 简单 三【题目编号】 219.存在重复元素II 四【题目描述】 给你一个…...
篇六:适配器模式:让不兼容变兼容
篇六:“适配器模式:让不兼容变兼容” 开始本篇文章之前先推荐一个好用的学习工具,AIRIght,借助于AI助手工具,学习事半功倍。欢迎访问:http://airight.fun/ 另外有2本不错的关于设计模式的资料,…...
【云原生】Docker-compose中所有模块学习
compose模块 模板文件是使用 Compose 的核心,涉及到的指令关键字也比较多。但大家不用担心,这里面大部分指令跟 docker run 相关参数的含义都是类似的。 默认的模板文件名称为 docker-compose.yml,格式为 YAML 格式。 version: "3&quo…...
广义积分练习
前置知识 无穷限积分瑕积分 练习 计算 ∫ 0 ∞ 1 x ( 1 x ) d x \int_0^{\infty}\dfrac{1}{\sqrt x(1x)}dx ∫0∞x (1x)1dx 解: x 0 \qquad x0 x0为瑕点 \qquad 原式 lim a → 0 lim b → ∞ ∫ a b 1 x ( 1 x ) d x lim a → 0 lim …...
element-ui树形表格,左边勾选,右边显示选中的数据-功能(如动图)
功能如图 功能需求 表格树形表格勾选数据,右边显示对应勾选的数据内容,选中客户,自动勾选所有的店铺(子级),选中其中一个店铺,自动勾选上客户(父级),同时会存在只有客户(下面没有子级的情况&am…...
Android数字价格变化的动画效果的简单实现
原理:使用ValueAnimator属性动画类实现,它通过值的改变手动设置对象的属性值来实现动画效果。直接贴代码: public static void doNumberAnim(TextView tvPrice, float startNumber, float endNumber) {ValueAnimator animator ValueAnimato…...
Win10无法投影关闭3D模式
Win10不小心开启了3D模式,插上投影仪就一闪一闪的,无法正投影 解决办法: 1. 打开注册表工具regedit,删除以下注册表,重启电脑 HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\GraphicsDrivers\Configurat…...
FFmpeg 编码详细流程
介绍 FFmpeg的 libavcodec 模块完成音视频多媒体的编解码模块。FFmpeg 本身不具有音视频编码的功能和底层能力,只是对各类第三方的编码器API 进行封装调用。老版本的 FFmpeg 将avcodec_encode_video2()作为视频的解码函数 API,将avcodec_encode_audio2(…...
05如何做微服务架构设计
一句话导读 微服务架构设计方法有:领域驱动设计DDD(Domain-Driven-Design)、12因素应用(12-Factor App)、事件驱动架构EDA(Event-Driven Architecture)等等,但是他们都必须遵守微服务…...
安卓开发问题记录:需要常量表达式
问题原因 写代码过程中爆出这个错误:需要常量表达式,定位到switch。 解决方法:把switch case,改成if else 错误源代码: public void onClick(View view) {switch (view.getId()) {case R.id.iv_code:RxCaptcha.build(…...
回归预测 | MATLAB实现基于SVM-RFE-BP支持向量机递归特征消除特征选择算法结合BP神经网络的多输入单输出回归预测
回归预测 | MATLAB实现基于SVM-RFE-BP支持向量机递归特征消除特征选择算法结合BP神经网络的多输入单输出回归预测 目录 回归预测 | MATLAB实现基于SVM-RFE-BP支持向量机递归特征消除特征选择算法结合BP神经网络的多输入单输出回归预测预测效果基本介绍研究内容程序设计参考资料…...
配置root账户ssh免密登录并使用docker-machine构建docker服务
简介 Docker Machine是一种可以在多种平台上快速安装和维护docker运行环境,并支持多种平台,让用户可以在很短时间内在本地或云环境中搭建一套docker主机集群的工具。 使用docker-machine命令,可以启动、审查、停止、重启托管的docker 也可以…...
【力扣周赛】第357场周赛
【力扣周赛】第357场周赛 2810. 故障键盘题目描述解题思路 2811. 判断是否能拆分数组题目描述解题思路 2810. 故障键盘 题目描述 描述:你的笔记本键盘存在故障,每当你在上面输入字符 ‘i’ 时,它会反转你所写的字符串。而输入其他字符则可以…...
多线程案例(4)-线程池
文章目录 多线程案例四四、线程池 大家好,我是晓星航。今天为大家带来的是 多线程案例-线程池 相关的讲解!😀 多线程案例四 四、线程池 线程池是什么 虽然创建线程 / 销毁线程 的开销 想象这么一个场景: 在学校附近新开了一家…...
【数据结构OJ题】轮转数组
原题链接:https://leetcode.cn/problems/rotate-array/ 目录 1. 题目描述 2. 思路分析 3. 代码实现 1. 题目描述 2. 思路分析 1. 方法一:暴力求解,将数组的第一个元素用临时变量tmp存起来,再将数组其他元素往右挪动一步&…...
现代C++中的从头开始深度学习:【4/8】梯度下降
一、说明 在本系列中,我们将学习如何仅使用普通和现代C编写必须知道的深度学习算法,例如卷积、反向传播、激活函数、优化器、深度神经网络等。 在这个故事中,我们将通过引入梯度下降算法来介绍数据中 2D 卷积核的拟合。我们将使用卷积和上一个…...
Yolov5缺陷检测/目标检测 Jetson nx部署Triton server
使用AI目标检测进行缺陷检测时,部署到Jetson上即小巧算力还高,将训练好的模型转为tensorRT再部署到Jetson 上供http或GRPC调用。1 Jetson nx 刷机 找个ubuntu 系统NVIDIA官网下载安装Jetson 的sdkmanager一步步刷机即可。 本文刷的是JetPack 5.1, 其中包…...
Midjourney年度订阅避坑手册:92%用户不知的3大失效风险——自动续费陷阱、区域定价欺诈、账户绑定漏洞
更多请点击: https://intelliparadigm.com 第一章:Midjourney年度订阅优惠全景透视 Midjourney 作为当前主流的 AI 图像生成服务,其年度订阅计划长期受到创作者与团队用户的高度关注。相比月度订阅,年度方案不仅显著降低单月成本…...
前端转行网络安全靠谱吗?靠挖漏洞变现可行吗
前言 最近,一个做运维的朋友跟我说他在学渗透测试。他说,公司请别人做渗透测试的费用是 2千/人天,一共2周。2周 2w 的收入,好香~ 于是,我也对渗透测试产生了兴趣。开始了探索之路~ 什么是渗透测试 渗透测试这名字听…...
深度解析:实战掌握神经网络架构可视化完整方案
深度解析:实战掌握神经网络架构可视化完整方案 【免费下载链接】Neural-Network-Architecture-Diagrams Diagrams for visualizing neural network architecture 项目地址: https://gitcode.com/gh_mirrors/ne/Neural-Network-Architecture-Diagrams 在深度学…...
终极Il2CppDumper使用指南:从原理到实战的Unity逆向工程利器
终极Il2CppDumper使用指南:从原理到实战的Unity逆向工程利器 【免费下载链接】Il2CppDumper Unity il2cpp reverse engineer 项目地址: https://gitcode.com/gh_mirrors/il/Il2CppDumper Il2CppDumper是一款强大的Unity il2cpp逆向工程工具,能够帮…...
APK Installer:Windows平台上无缝安装Android应用的技术实现与实战指南
APK Installer:Windows平台上无缝安装Android应用的技术实现与实战指南 【免费下载链接】APK-Installer An Android Application Installer for Windows 项目地址: https://gitcode.com/GitHub_Trending/ap/APK-Installer 你是否曾在Windows电脑上想要运行某…...
技术社群如何加速工程师成长:从问题解决到职业网络构建
1. 从“单打独斗”到“群体智慧”:为什么你需要一个高质量的技术社群?刚入行那会儿,我遇到一个非常棘手的嵌入式系统死机问题。板子跑着跑着就卡住了,没有任何日志输出,我对着原理图和代码折腾了整整一周,头…...
高炉智变:12期实战带你玩转工业AI落地~系列文章11:可解释AI实践:SHAP+LIME打开高炉模型的“黑箱“
🎯 高炉智变11|可解释AI实践:SHAPLIME打开高炉模型的"黑箱" 📅 本文目录 一、前言:AI可解释性的重要性二、SHAP可解释性框架三、LIME局部解释方法四、高炉模型可解释性实践五、实战代码实现六、总结与预告 一…...
iMX8MQ开发板实测:存储、网络与4K解码性能深度解析
1. 项目概述:iMX8MQ开发板深度评测最近拿到了一块飞凌嵌入式出品的OKMX8MQ-C开发板,这是一款基于NXP i.MX 8M Quad处理器设计的核心板底板套件。对于从事嵌入式多媒体、边缘计算或者工业网关开发的朋友来说,i.MX8系列一直是热门选择ÿ…...
Upscayl终极指南:如何用免费AI工具让模糊图片变高清
Upscayl终极指南:如何用免费AI工具让模糊图片变高清 【免费下载链接】upscayl 🆙 Upscayl - #1 Free and Open Source AI Image Upscaler for Linux, MacOS and Windows. 项目地址: https://gitcode.com/GitHub_Trending/up/upscayl 你是否曾因照…...
VideoDownloadHelper:三分钟掌握浏览器视频下载技巧,告别观看限制
VideoDownloadHelper:三分钟掌握浏览器视频下载技巧,告别观看限制 【免费下载链接】VideoDownloadHelper Chrome Extension to Help Download Video for Some Video Sites. 项目地址: https://gitcode.com/gh_mirrors/vi/VideoDownloadHelper 你是…...
