YOLOv11改进 - C3k2融合 | C3k2融合CBSA 收缩 - 广播自注意力:轻量级设计实现高效特征压缩,优化处理效率 | NeurIPS 2025

简介: 本文提出收缩-广播自注意力(CBSA),通过选取代表性token进行收缩计算并广播结果,实现高效、可解释的线性复杂度注意力机制。其逻辑透明,统一多种注意力形式,并集成至YOLOv11的C3k2模块,在视觉任务中展现优越性能与速度优势。

前言

本文介绍收缩 - 广播自注意力(CBSA)((Contract-and-Broadcast Self-Attention))机制,并将其集成到YOLOv11中。传统注意力机制存在黑盒难理解、计算复杂度高的问题,CBSA通过算法展开推导出本质上可解释且高效的注意力机制。它先从输入数据中选出少量代表性tokens,接着对代表进行收缩计算,再将结果广播给所有原始数据。该机制计算量线性增长,具有明确数学解释,还能统一多种注意力机制。我们将CBSA代码集成到YOLOv11的C3k2模块中。实验证明,改进后的YOLOv11在视觉任务上有可比性能和优越优势。

文章目录: YOLOv11改进大全:卷积层、轻量化、注意力机制、损失函数、Backbone、SPPF、Neck、检测头全方位优化汇总

专栏链接: YOLOv11改进专栏

介绍

image-20251221185702405

摘要

注意力机制在多个领域取得了显著的实证成功,但它们的基础优化目标仍不明确。此外,自注意力的二次复杂度变得越来越难以承受。虽然可解释性和效率是两个相互促进的追求,但先前的工作通常分开研究它们。在本文中,我们提出了一个统一的优化目标,通过算法展开推导出本质上可解释且高效的注意力机制。具体而言,我们构建了所提出目标的一个梯度步骤,其中包含我们的收缩-广播自注意力(CBSA)的一系列前向传递操作,该机制通过收缩输入标记的少量代表来将输入标记压缩到低维结构。这种新颖的机制不仅可以通过固定代表数量来实现线性扩展,还可以在使用不同代表集时涵盖各种注意力机制的实例化。我们进行了广泛的实验,证明了与黑盒注意力机制相比,在视觉任务上具有可比的性能和优越的优势。我们的工作阐明了可解释性和效率的整合,以及注意力机制的统一公式

文章链接

论文地址:论文地址

代码地址:代码地址

基本原理

一、核心定位:给注意力机制“拆黑盒、提速度、做统一”

传统注意力机制(比如Transformer里的softmax注意力)有两个大问题:

  1. “黑盒难理解”:模型为啥关注数据的某个部分、背后的决策逻辑是什么,说不清楚;
  2. “计算太笨重”:处理长数据(比如高清图的像素块、长文档的词语)时,要算所有数据点之间的关系,数据越长,计算量呈“平方级”暴涨,实际用起来很卡。

之前的研究要么只解决“理解”,要么只解决“速度”,CBSA则想一次性搞定——既让注意力机制的工作过程“说得通”,又让它“跑得飞快”,甚至还能把不同类型的注意力(比如softmax注意力、线性注意力)统一成一个框架。

二、设计逻辑:“抓少数代表,搞定所有数据”

CBSA的核心思路特别像“老师批改作业”:不用逐题看每个学生的作业,先挑几个有代表性的同学(比如中等水平、能反映全班共性问题的),只批改这几个“代表”的作业,再把批改思路告诉全班,大家各自修正。具体分两步:

1. 第一步:选“数据代表”(代表性 tokens)

从输入数据(比如图片的像素块、文本的词语)里,通过简单计算挑出少量“代表”——这些“代表”不是随机选的,而是能抓住数据核心特征的(类似聚类里的“中心点”,但会动态调整)。\
比如处理一张高清图时,不用关注每一个像素,而是先选出几十个能代表图片关键区域(比如物体边缘、纹理)的“像素代表”。

2. 第二步:“收缩代表+广播结果”

  • 收缩代表:只对这几个“代表”做复杂计算(比如提炼关键信息、优化特征),大幅减少计算量;
  • 广播结果:把“代表”的计算结果,通过简单的映射传递给所有原始数据,让所有数据都能学到“代表”的关键信息。

就像老师把“代表作业”的批改思路告诉全班,每个学生都能根据这个思路修正自己的作业,既省时间,又知道“为啥这么改”。

三、关键优势:又快、又懂、还“万能”

1. 速度快:计算量“线性增长”

传统注意力处理N个数据点,计算量是“N的平方”(数据翻倍,计算量翻4倍);而CBSA只算少量“代表”,计算量和数据量呈“线性增长”(数据翻倍,计算量也只翻倍)。\
实验里提到,处理高清图(比如512×512像素)时,CBSA的训练和推理速度比传统注意力快2倍以上,参数还更少(比如CBT-Small模型只用ViT-S 30%的参数、40%的计算量,就能达到差不多的精度)。

2. 易理解:不是“黑盒”,逻辑透明

CBSA的每一步都有明确的数学解释:选“代表”是为了抓住数据核心,“收缩”是为了优化特征,“广播”是为了传递信息——整个过程像“拆解问题、解决核心、推广结果”,不像传统注意力那样“不知道为啥这么算”。\
比如实验中观察到,CBSA能把杂乱的数据(比如带噪声的点)逐步压缩成规整的“低维结构”(类似把同类数据聚成清晰的簇),这个过程能直观看到,不用“猜模型在想什么”。

3. 万能:能统一所有经典注意力

最厉害的是,CBSA能“变”成其他注意力机制——只要换不同的“代表”选择方式:

  • 选“所有数据当代表”,CBSA就等同于传统的softmax注意力;
  • 选“正交的代表”(比如数据的主方向),CBSA就变成线性注意力;
  • 选“固定方向的代表”,CBSA就变成通道注意力(比如SE、CBAM里的通道优化)。

相当于给不同的注意力机制找了个“统一公式”,能清晰看到它们的本质区别(只是“代表”的选择方式不同)。

核心代码

class CBSA(nn.Module):
    def __init__(self, dim, heads, dim_head):
        super().__init__()
        inner_dim = heads * dim_head
        self.heads = heads
        self.dim_head = dim_head
        self.scale = dim_head ** -0.5

        self.attend = nn.Softmax(dim=-1)
        self.proj = nn.Linear(dim, inner_dim, bias=False)

        self.step_x = nn.Parameter(torch.randn(heads, 1, 1))
        self.step_rep = nn.Parameter(torch.randn(heads, 1, 1))

        self.to_out = nn.Linear(inner_dim, dim)

        self.pool = nn.AdaptiveAvgPool2d(output_size=(8, 8))

        self.qkv = nn.Identity()

    def attention(self, query, key, value):        
        dots = (query @ key.transpose(-1, -2)) * self.scale
        attn = self.attend(dots)
        out = attn @ value
        return out, attn

    def forward(self, x, return_attn=False):
        b, n, c = x.shape
        h = width = int(n ** 0.5)

        w = self.proj(x)
        self.qkv(w)
        rep = self.pool(w[:, :-1, :].reshape(b, h, width, c).permute(0, 3, 1, 2)).reshape(b, c, -1).permute(0, 2, 1)

        w = w.reshape(b, n, self.heads, self.dim_head).permute(0, 2, 1, 3)
        rep = rep.reshape(b, 64, self.heads, self.dim_head).permute(0, 2, 1, 3)

        rep_delta, attn = self.attention(rep, w, w)

        if return_attn:
            return attn.transpose(-1, -2) @ attn

        rep = rep + self.step_rep * rep_delta

        x_delta, _ = self.attention(rep, rep, rep)  
        x_delta = attn.transpose(-1, -2) @ x_delta
        x_delta = self.step_x * x_delta

        x_delta = rearrange(x_delta, 'b h n k -> b n (h k)')
        return self.to_out(x_delta)

结果

image-20251221185840397

相关文章
|
5月前
|
机器学习/深度学习 算法 atlas
YOLOv11 改进 - 注意力机制 MCAttn 蒙特卡洛注意力:全局上下文与局部细节协同建模,破解微小目标特征表达难题
本文提出将蒙特卡洛注意力(MCAttn)模块融入YOLOv11,通过随机采样多尺度池化特征并加权融合,增强模型对小目标的敏感性。MCAttn兼顾局部细节与全局上下文,提升检测精度,尤其适用于医学图像中小面积病灶识别,显著改善特征丢失问题,且保持轻量化与高效推理。
YOLOv11 改进 - 注意力机制 MCAttn 蒙特卡洛注意力:全局上下文与局部细节协同建模,破解微小目标特征表达难题
|
4月前
|
机器学习/深度学习 移动开发 编解码
YOLO26 改进 - C2PSA | C2PSA融合MSLA多尺度线性注意力:并行多分支架构融合上下文语义,提升特征判别力 | Arxiv 2025
本文提出多尺度线性注意力机制MSLA,通过并行3×3/5×5/7×7/9×9深度卷积提取多尺度特征,结合低复杂度线性注意力(O(N)),兼顾细粒度局部细节与全局长程依赖。将其集成至YOLO26,构建C2PSA_MSLA模块,在医学图像分割与目标检测任务中显著提升性能、效率与鲁棒性。(239字)
YOLO26 改进 - C2PSA | C2PSA融合MSLA多尺度线性注意力:并行多分支架构融合上下文语义,提升特征判别力 | Arxiv 2025
|
5月前
|
机器学习/深度学习 算法 索引
YOLOv11改进 - 卷积Conv | 加权卷积wConv:无损替换标准卷积,增强空间建模与特征提取质量
本文提出加权卷积(wConv),通过引入距离感知的密度函数,自适应调整邻域像素权重,突破传统卷积等权局限。结合双优化器策略,在不增加参数量的前提下提升特征提取能力。集成于YOLOv11后显著降低损失、提高检测精度,适用于图像去噪等密集预测任务。
|
4月前
|
机器学习/深度学习 计算机视觉 网络架构
YOLO26改进 - 注意力机制 |融合HCF-Net维度感知选择性整合模块DASI 增强小目标显著性
本文介绍将HCF-Net中的维度感知选择性融合(DASI)模块集成至YOLO26检测头,通过通道分区与Sigmoid自适应加权,融合高/低维及当前层特征,显著提升红外小目标检测精度,在SIRST数据集上超越主流方法。(239字)
|
4月前
|
机器学习/深度学习 人工智能 计算机视觉
YOLO26改进 - 注意力机制 | 多扩张通道细化器MDCR 通过通道划分与异构扩张卷积提升小目标定位能力
本文介绍了一种在YOLO26目标检测模型中引入高效解码器模块EMCAD的创新方法,以提升模型在资源受限场景下的性能与效率。EMCAD由多个模块构成,其中核心的EUCB(高效上卷积块)通过上采样、深度可分离卷积、激活归一化和通道调整等操作,兼顾了特征质量与计算成本。实验结果显示,该模块在显著减少参数与FLOPs的同时仍具备优异性能。文章还提供了完整的YOLO26模型集成流程、配置和训练实战。
YOLO26改进 - 注意力机制 | 多扩张通道细化器MDCR 通过通道划分与异构扩张卷积提升小目标定位能力
|
5月前
|
机器学习/深度学习 编解码 机器人
YOLOv11 改进 - C2PSA | C2PSA融合Mask Attention掩码注意力,可学习掩码矩阵破解低分辨率特征提取难题 | 2025 预印
本文提出MaskAttn-UNet,融合卷积效率与注意力全局视野,通过可学习掩码选择性关注关键区域,提升低分辨率图像分割精度。模块集成至YOLOv11,兼顾性能与效率,适用于资源受限场景,在多任务中表现优异。
YOLOv11 改进 - C2PSA | C2PSA融合Mask Attention掩码注意力,可学习掩码矩阵破解低分辨率特征提取难题 | 2025 预印
|
5月前
|
机器学习/深度学习 编解码 计算机视觉
YOLOv11改进 - C3k2融合 | C3k2融合 IIA信息整合注意力(Information Integration Attention )平衡精度与计算成本 | TGRS2025
本文提出信息整合注意力(IIA)机制,融合通道拼接、双方向池化与轻量1D卷积,精准捕捉遥感图像空间关系,抑制噪声,平衡精度与效率。集成于YOLOv11后显著提升分割性能。
YOLOv11改进 - C3k2融合 | C3k2融合 IIA信息整合注意力(Information Integration Attention )平衡精度与计算成本 | TGRS2025
|
机器学习/深度学习 计算机视觉
YOLOv11改进策略【注意力机制篇】| 添加SE、CBAM、ECA、CA、Swin Transformer等注意力和多头注意力机制
YOLOv11改进策略【注意力机制篇】| 添加SE、CBAM、ECA、CA、Swin Transformer等注意力和多头注意力机制
4592 2
YOLOv11改进策略【注意力机制篇】| 添加SE、CBAM、ECA、CA、Swin Transformer等注意力和多头注意力机制
|
机器学习/深度学习 计算机视觉
YOLOv11改进策略【模型轻量化】| GhostNetV2:利用远距离注意力增强廉价操作
YOLOv11改进策略【模型轻量化】| GhostNetV2:利用远距离注意力增强廉价操作
553 12
YOLOv11改进策略【模型轻量化】| GhostNetV2:利用远距离注意力增强廉价操作
|
机器学习/深度学习 计算机视觉
YOLOv11改进策略【Neck】| ASF-YOLO 注意力尺度序列融合模块改进颈部网络,提高小目标检测精度
YOLOv11改进策略【Neck】| ASF-YOLO 注意力尺度序列融合模块改进颈部网络,提高小目标检测精度
623 9
YOLOv11改进策略【Neck】| ASF-YOLO 注意力尺度序列融合模块改进颈部网络,提高小目标检测精度