【YOLOv8改进 - 注意力机制】GAM(Global Attention Mechanism):全局注意力机制,减少信息损失并放大全局维度交互特征

简介: YOLO目标检测专栏探讨了模型创新,如注意力机制,聚焦通道和空间信息的全局注意力模组(GAM),提升DNN性能。GAM在ResNet和MobileNet上优于最新方法。论文及PyTorch代码可在给出的链接找到。核心代码展示了GAM的构建,包含线性层、卷积和Sigmoid激活,用于生成注意力图。更多配置详情参阅相关博客文章。

YOLO目标检测创新改进与实战案例专栏

专栏目录: YOLO有效改进系列及项目实战目录 包含卷积,主干 注意力,检测头等创新机制 以及 各种目标检测分割项目实战案例

专栏链接: YOLO基础解析+创新改进+实战案例

介绍

image-20240706222521786

摘要

为了提高各种计算机视觉任务的性能,研究了多种注意力机制。然而,现有方法忽视了保留通道和空间两个方面信息的重要性,以增强跨维度的交互。因此,我们提出了一种全局注意力机制,通过减少信息损失和放大全局交互表示来提升深度神经网络的性能。我们引入了带有多层感知器的3D排列用于通道注意力,同时结合了卷积空间注意力子模块。在CIFAR-100和ImageNet-1K上的图像分类任务评估中,表明我们的方法在ResNet和轻量级MobileNet上稳定地优于几种最新的注意力机制。

文章链接

论文地址:论文地址

代码地址:代码地址

基本原理

全局注意力机制(Global Attention Mechanism)是一种用于增强深度神经网络性能的技术,特别是在计算机视觉任务中。该机制的技术原理在于通过保留通道和空间方面的信息,以增强跨维度的交互作用。相较于以往方法,全局注意力机制着重于在处理通道和空间信息时保持全局交互的重要性。

该机制采用了一种全新的方法来处理通道和空间信息,以提高深度神经网络的性能。具体而言,全局注意力机制结合了3D置换与多层感知器用于通道注意力,同时还包括一个卷积空间注意力子模块。这些组件共同作用,旨在减少信息损失并放大全局维度交互特征。

在技术实现上,全局注意力机制通过对输入特征图进行处理,得到中间状态和输出状态。其中,通道注意力图和空间注意力图分别用于捕获通道和空间维度的重要特征。通过元素级乘法操作,这些注意力图与输入特征图进行交互,从而实现全局跨维度的信息交互。

核心代码

import torch
import torch.nn as nn


class GAM(nn.Module):
    def __init__(self, in_channels, out_channels, rate=4):
        super().__init__()
        in_channels = int(in_channels)
        out_channels = int(out_channels)
        inchannel_rate = int(in_channels/rate)


        self.linear1 = nn.Linear(in_channels, inchannel_rate)
        self.relu = nn.ReLU(inplace=True)
        self.linear2 = nn.Linear(inchannel_rate, in_channels)


        self.conv1=nn.Conv2d(in_channels, inchannel_rate,kernel_size=7,padding=3,padding_mode='replicate')

        self.conv2=nn.Conv2d(inchannel_rate, out_channels,kernel_size=7,padding=3,padding_mode='replicate')

        self.norm1 = nn.BatchNorm2d(inchannel_rate)
        self.norm2 = nn.BatchNorm2d(out_channels)
        self.sigmoid = nn.Sigmoid()

task与yaml配置

详见: https://blog.csdn.net/shangyanaf/article/details/140336852

相关文章
|
5月前
|
机器学习/深度学习
YOLOv8改进 | 2023注意力篇 | MLCA混合局部通道注意力(轻量化注意力机制)
YOLOv8改进 | 2023注意力篇 | MLCA混合局部通道注意力(轻量化注意力机制)
348 1
|
5月前
|
机器学习/深度学习
YOLOv5改进 | 2023注意力篇 | MLCA混合局部通道注意力(轻量化注意力机制)
YOLOv5改进 | 2023注意力篇 | MLCA混合局部通道注意力(轻量化注意力机制)
380 0
|
3月前
|
机器学习/深度学习 Serverless 计算机视觉
【YOLOv8改进 - 注意力机制】Sea_Attention: Squeeze-enhanced Axial Attention,结合全局语义提取和局部细节增强
【YOLOv8改进 - 注意力机制】Sea_Attention: Squeeze-enhanced Axial Attention,结合全局语义提取和局部细节增强
|
3月前
|
机器学习/深度学习 移动开发 自然语言处理
【YOLOv8改进 - 注意力机制】ContextAggregation : 上下文聚合模块,捕捉局部和全局上下文,增强特征表示
【YOLOv8改进 - 注意力机制】ContextAggregation : 上下文聚合模块,捕捉局部和全局上下文,增强特征表示
|
3月前
|
机器学习/深度学习 计算机视觉
【YOLOv8改进 - 注意力机制】SENetV2: 用于通道和全局表示的聚合稠密层,结合SE模块和密集层来增强特征表示
【YOLOv8改进 - 注意力机制】SENetV2: 用于通道和全局表示的聚合稠密层,结合SE模块和密集层来增强特征表示
|
3月前
|
机器学习/深度学习 计算机视觉
【YOLOv8改进 - 注意力机制】DoubleAttention: 双重注意力机制,全局特征聚合和分配
YOLOv8专栏探讨了该目标检测模型的创新改进,如双重注意力块,它通过全局特征聚合和分配提升效率。该机制集成在ResNet-50中,在ImageNet上表现优于ResNet-152。文章提供了论文、代码链接及核心代码示例。更多实战案例与详细配置见相关CSDN博客链接。
|
3月前
|
机器学习/深度学习 算法 计算机视觉
【YOLOv8改进 - 注意力机制】RCS-OSA :减少通道的空间对象注意力,高效且涨点
YOLOv8专栏探讨了YOLO系列的创新改进,提出RCS-YOLO模型,它在脑肿瘤检测中超越YOLOv6/v7/v8,精度提升1%,速度增快60%(达到114.8 FPS)。RCS-OSA模块结合RepVGG/ShuffleNet优点,通过通道重参数化和混洗优化卷积,提升速度和准确性。代码和论文可在提供的链接获取。
|
3月前
|
机器学习/深度学习 计算机视觉
【YOLOv8改进 - 注意力机制】ECA(Efficient Channel Attention):高效通道注意 模块,降低参数量
YOLO目标检测专栏聚焦模型创新与实战,介绍了一种高效通道注意力模块(ECA),用于提升CNN性能。ECA仅用少量参数实现显著性能增益,避免了维度缩减,通过1D卷积进行局部跨通道交互。代码实现展示了一个ECA层的结构,该层在多种任务中展现优秀泛化能力,同时保持低模型复杂性。论文和代码链接分别指向arXiv与GitHub。更多详情可查阅CSDN博主shangyanaf的相关文章。
|
3月前
|
机器学习/深度学习 图计算 计算机视觉
【YOLOv8改进 - 注意力机制】 CascadedGroupAttention:级联组注意力,增强视觉Transformer中多头自注意力机制的效率和有效性
YOLO目标检测专栏探讨了Transformer在视觉任务中的效能与计算成本问题,提出EfficientViT,一种兼顾速度和准确性的模型。EfficientViT通过创新的Cascaded Group Attention(CGA)模块减少冗余,提高多样性,节省计算资源。在保持高精度的同时,与MobileNetV3-Large相比,EfficientViT在速度上有显著提升。论文和代码已公开。CGA通过特征分割和级联头部增加注意力多样性和模型容量,降低了计算负担。核心代码展示了CGA模块的实现。
|
3月前
|
PyTorch 测试技术 算法框架/工具
【YOLOv8改进 - 卷积Conv】SPConv:去除特征图中的冗余,大幅减少参数数量 | 小目标
YOLO目标检测专栏探讨了模型优化,提出SPConv,一种新卷积操作,减少特征冗余,提升效率。SPConv将特征分为代表性和不确定部分,分别处理,再融合。实验显示,SPConv在速度和准确性上超越现有基准,减少FLOPs和参数。论文和PyTorch代码已公开。更多详情及实战案例见CSDN博客链接。