YOLOv8改进 | 注意力篇 | 实现级联群体注意力机制CGAttention (全网首发)

简介: YOLOv8改进 | 注意力篇 | 实现级联群体注意力机制CGAttention (全网首发)

一、本文介绍

本文给大家带来的改进机制是实现级联群体注意力机制CascadedGroupAttention,其主要思想为增强输入到注意力头的特征的多样性。与以前的自注意力不同,它为每个头提供不同的输入分割,并跨头级联输出特征。这种方法不仅减少了多头注意力中的计算冗余,而且通过增加网络深度来提升模型容量,亲测在我的25个类别的数据上,大部分的类别均有一定的涨点效果,仅有部分的类别保持不变,同时给该注意力机制含有二次创新的机会

欢迎大家订阅我的专栏一起学习YOLO!

image.png

专栏目录:YOLOv8改进有效系列目录 | 包含卷积、主干、检测头、注意力机制、Neck上百种创新机制

专栏回顾:YOLOv8改进系列专栏——本专栏持续复习各种顶会内容——科研必备

二、 CascadedGroupAttention的基本原理

image.png

Cascaded Group Attention (CGA) 是在文章 "EfficientViT: Memory Efficient Vision Transformer with Cascaded Group Attention" 中提出的一种新型注意力机制。其核心思想是增强输入到注意力头的特征的多样性。与以前的自注意力不同,它为每个头提供不同的输入分割,并跨头级联输出特征。这种方法不仅减少了多头注意力中的计算冗余,而且通过增加网络深度来提升模型容量。

具体来说,CGA 将输入特征分成不同的部分,每部分输入到一个注意力头。每个头计算其自注意力映射,然后将所有头的输出级联起来,并通过一个线性层将它们投影回输入的维度。通过这样的方式,CGA 在不增加额外参数的情况下提高了模型的计算效率。另外,通过串联的方式,每个头的输出都会添加到下一个头的输入中,从而逐步精化特征表示。

Cascaded Group Attention 的优点包括:

1. 提高了注意力图的多样性。

2. 减少了计算冗余,因为它减少了 QKV 层中输入和输出通道的数量。

3. 增加了网络深度,从而进一步提高了模型容量,同时只增加了很小的延迟开销,因为每个头的 QK 通道维度较小。

image.png

这张图描绘了 "EfficientViT" 模型中 "Cascaded Group Attention" (CGA) 模块的架构。

CGA模块位于图中的(c)部分,可以看到它的作用是处理输入特征,并提供分级的注意力机制。在这个模块中,输入首先被分割成多个部分,每个部分对应一个注意力头。每个头独立地计算其自注意力,并产生一个输出。然后,所有头的输出被级联(concatenate)在一起,通过一个线性投影层形成最终的输出。这种设计允许模型在不同的层次上捕捉特征,通过级联增强了特征之间的交互,同时提高了计算效率。

级联组注意力的关键点在于每个注意力头只关注输入的一部分,然后把所有头的注意力合并起来,来获取一个全面的特征表示。这样做的好处是减少了计算重复并增加了注意力的多样性,因为不同的头可能会关注输入的不同方面。这种方法提高了模型的内存和计算效率,同时保持或增强模型的性能。

目录
相关文章
|
9月前
|
机器学习/深度学习
YOLOv5改进 | 注意力篇 | CGAttention实现级联群体注意力机制 (全网首发改进)
YOLOv5改进 | 注意力篇 | CGAttention实现级联群体注意力机制 (全网首发改进)
367 0
|
9月前
|
机器学习/深度学习 算法 计算机视觉
YOLOv8改进 | 注意力机制 | 添加全局注意力机制 GcNet【附代码+小白必备】
本文介绍了如何在YOLOv8中集成GcNet,以增强网络对全局上下文的捕获能力。GcNet通过全局上下文模块、通道和空间注意力机制提升CNN对全局信息的利用。教程详细阐述了GcNet的原理,并提供了将GcNet添加到YOLOv8的代码实现步骤,包括创建ContextBlock类、修改init.py、task.py以及配置yaml文件。此外,还提供了训练和运行示例代码。完整代码和更多进阶内容可在作者的博客中找到。
|
8月前
|
机器学习/深度学习 计算机视觉
【保姆级教程|YOLOv8添加注意力机制】【2】在C2f结构中添加ShuffleAttention注意力机制并训练
【保姆级教程|YOLOv8添加注意力机制】【2】在C2f结构中添加ShuffleAttention注意力机制并训练
|
9月前
|
机器学习/深度学习 Java 网络架构
YOLOv8改进 | TripletAttention三重注意力机制(附代码+机制原理+添加教程)
YOLOv8改进 | TripletAttention三重注意力机制(附代码+机制原理+添加教程)
1361 0
|
8月前
|
机器学习/深度学习 计算机视觉
YOLOv8改进 | 注意力机制 | 添加适用于遥感图像的LSKblock注意力——【二次创新+完整代码】
遥感目标检测的研究主要集中在改进方向边界框的表示上,而忽略了遥感场景中独特的先验知识。 这类先验知识对于准确检测微小目标至关重要,因为这些目标往往需要更大的上下文信息才能被正确识别。提出的 LSKNet 可以动态调整其大的空间感受野,以更好地模拟不同目标的距离上下文,从而提高遥感目标检测的精度。 LSKNet 是第一个在遥感目标检测中探索大选择性核机制的方法。
|
10天前
|
机器学习/深度学习 计算机视觉
YOLOv11改进策略【注意力机制篇】| ICCV2023 聚焦线性注意力模块 Focused Linear Attention 聚焦能力与特征多样性双重提升,含二次创新
YOLOv11改进策略【注意力机制篇】| ICCV2023 聚焦线性注意力模块 Focused Linear Attention 聚焦能力与特征多样性双重提升,含二次创新
20 1
|
机器学习/深度学习 存储 算法
【涨点神器】GSA:全局自注意力网络,打造更强注意力模型
【涨点神器】GSA:全局自注意力网络,打造更强注意力模型
538 0
【涨点神器】GSA:全局自注意力网络,打造更强注意力模型
|
7月前
|
机器学习/深度学习 计算机视觉
YOLOv10实战:SPPF原创自研 | SPPF_attention,重新设计加入注意力机制 | NEU-DET为案列进行展开
【7月更文挑战第1天】 优点:为了利用不同的池化核尺寸提取特征的方式可以获得更多的特征信息,提高网络的识别精度; 如何优化:在此基础上加入注意力机制,能够在不同尺度上更好的、更多的获取特征信息,从而获取全局视角信息并减轻不同尺度大小所带来的影响; SPPF_attention,重新设计加入注意力机制 ,在NEU-DEU任务中mAP50从0.683提升至0.703;
793 3
|
10天前
|
机器学习/深度学习 计算机视觉
YOLOv11改进策略【注意力机制篇】| 2024 蒙特卡罗注意力(MCAttn)模块,提高小目标的关注度
YOLOv11改进策略【注意力机制篇】| 2024 蒙特卡罗注意力(MCAttn)模块,提高小目标的关注度
31 12
YOLOv11改进策略【注意力机制篇】| 2024 蒙特卡罗注意力(MCAttn)模块,提高小目标的关注度
|
8月前
|
机器学习/深度学习
【保姆级教程|YOLOv8改进】【7】多尺度空洞注意力(MSDA),DilateFormer实现暴力涨点
【保姆级教程|YOLOv8改进】【7】多尺度空洞注意力(MSDA),DilateFormer实现暴力涨点

热门文章

最新文章