惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

T
Threat Research - Cisco Blogs
V
V2EX
爱范儿
爱范儿
Martin Fowler
Martin Fowler
T
The Blog of Author Tim Ferriss
Cyber Security Advisories - MS-ISAC
Cyber Security Advisories - MS-ISAC
C
Check Point Blog
罗磊的独立博客
A
About on SuperTechFans
MyScale Blog
MyScale Blog
S
Security @ Cisco Blogs
博客园 - 聂微东
Simon Willison's Weblog
Simon Willison's Weblog
Cyberwarzone
Cyberwarzone
云风的 BLOG
云风的 BLOG
U
Unit 42
Latest news
Latest news
Apple Machine Learning Research
Apple Machine Learning Research
Security Latest
Security Latest
Y
Y Combinator Blog
cs.CL updates on arXiv.org
cs.CL updates on arXiv.org
The Hacker News
The Hacker News
C
Cyber Attacks, Cyber Crime and Cyber Security
Cisco Talos Blog
Cisco Talos Blog
AWS News Blog
AWS News Blog
NISL@THU
NISL@THU
美团技术团队
S
Securelist
P
Privacy International News Feed
T
Tenable Blog
酷 壳 – CoolShell
酷 壳 – CoolShell
人人都是产品经理
人人都是产品经理
S
SegmentFault 最新的问题
Hugging Face - Blog
Hugging Face - Blog
cs.CV updates on arXiv.org
cs.CV updates on arXiv.org
K
Kaspersky official blog
Google Online Security Blog
Google Online Security Blog
cs.AI updates on arXiv.org
cs.AI updates on arXiv.org
www.infosecurity-magazine.com
www.infosecurity-magazine.com
D
Darknet – Hacking Tools, Hacker News & Cyber Security
B
Blog RSS Feed
W
WeLiveSecurity
A
Arctic Wolf
Hacker News - Newest:
Hacker News - Newest: "LLM"
Google DeepMind News
Google DeepMind News
让小产品的独立变现更简单 - ezindie.com
让小产品的独立变现更简单 - ezindie.com
Recent Commits to openclaw:main
Recent Commits to openclaw:main
N
Netflix TechBlog - Medium
有赞技术团队
有赞技术团队
V2EX - 技术
V2EX - 技术

魔改工程师

获取大写字母瓷砖拼出独特图案数量 - 魔改工程师 日志文件异常检测 - 魔改工程师 **操作历史管理器的撤销/重做能力** - 魔改工程师 项目模块依赖构建顺序规划 - 魔改工程师 端口流量统计 - 魔改工程师 最大化游戏试玩资格分发 - 魔改工程师 前言 - 魔改工程师 前言 - 魔改工程师 前言 - 魔改工程师 前言 - 魔改工程师 前言 - 魔改工程师 YOLO26改进 – 特征融合 重参数化CSPELAN模块(Reparameterized CSPELAN Module)通过结构重参数化实现高效特征提取 YOLO26改进 – 特征融合 融合Hyper-YOLO混合聚合网络MANet(Mixed Aggregation Network)通过多路径设计实现高效特征学习与模型适应性提升 YOLO26改进 – 特征融合 RepGFPN重参数化特征金字塔网络 ,实现高效多尺度特征交互与融合 YOLO26改进 – 特征融合 EFC增强层间特征相关性,通过多尺度特征交互减少冗余信息丢失即插即用 - 魔改工程师 YOLO26改进 – 注意力机制 融合HCF-Net维度感知选择性整合模块DASI 增强小目标显著性 前言 - 魔改工程师 YOLO26 改进 – 注意力机制 HaloNet 局部自注意力 (Local Self-Attention) 以分块交互策略实现高效全局上下文建模 YOLO26 改进 – 注意力机制 DiffAttention差分注意力:轻量级差分计算实现高效特征降噪,提升模型抗干扰能力 TMLR 2025 前言 - 魔改工程师 YOLO26 改进 – 注意力机制 CAFM (Convolutional Block Attention Module) 卷积块注意力模块:轻量级设计优化特征提取流程,提升小目标感知 YOLO26 改进 – 注意力机制 ACmix自注意力与卷积混合模型:轻量级设计融合双机制优势,实现高效特征提取与推理加速 前言 - 魔改工程师 前言 - 魔改工程师 前言 - 魔改工程师 2026最新YOLO26改进:卷积层、轻量化、注意力机制、损失函数、Backbone、SPPF、Neck、检测头全方位优化汇总 - 魔改工程师 前言 - 魔改工程师 YOLO26改进 – SPPF模块 替代SPPF,FFocal Modulation焦点调制:即插即用轻量设计优化全局语义捕获 前言 - 魔改工程师 YOLO26改进 – SPPF模块 SPPELAN 空间金字塔池化与增强局部注意力:替代SPPF增强多尺度上下文捕获,提升检测精度 YOLO26改进 – SPPF模块 AIFI基于注意力的尺度内特征交互:替代SPPF构建高效混合编码器,提升模型综合效能 - 魔改工程师 前言 - 魔改工程师 前言 - 魔改工程师 YOLO26改进 – C3k2 C3k2融合LWGA轻量分组注意力(Light-Weight Grouped Attention):四路径并行架构破解通道冗余难题 AAAI 2026 前言 - 魔改工程师 前言 - 魔改工程师 前言 - 魔改工程师 前言 - 魔改工程师 前言 - 魔改工程师 前言 - 魔改工程师 YOLO26改进 – C3k2 C3k2 融合 LSConv (Large-Small Conv) 融合大核感知与小核聚合,提升小目标特征判别力 CVPR 2025 前言 - 魔改工程师 前言 - 魔改工程师 YOLO26改进 – C2PSA C2PSA融合Mona多认知视觉适配器:打破全参数微调的性能枷锁:即插即用的提点神器 CVPR 2025 前言 - 魔改工程师 YOLO26改进 – C2PSA C2PSA融合DiffAttention差分注意力:轻量级差分计算实现高效特征降噪,提升模型抗干扰能力 - 魔改工程师 YOLO26改进 – C2PSA C2PSA融合CPIASA跨范式交互与对齐自注意力机制 交互对齐机制,提升小目标与遮挡目标判别力 ACM MM2025 YOLO26 正式发布源代码!极致速度优化方案, 面向工业级落地的目标检测模型! - 魔改工程师 YOLO26 改进 – 注意力机制 MCAttn 蒙特卡洛注意力:全局上下文与局部细节协同建模,破解微小目标特征表达难题 YOLO26 改进 – 注意力机制 轴向注意力Axial Attention(Axial Attention)优化高分辨率特征提取 前言 - 魔改工程师 YOLO26 改进 – 注意力机制 二阶通道注意力SOCA 通过协方差建模与自适应重缩放实现判别性特征增强 YOLO26 改进 – 注意力机制 SCSA注意力通过双重注意力机制增强局部-全局特征交互 前言 - 魔改工程师 前言 - 魔改工程师 前言 - 魔改工程师 YOLO26 改进 – 注意力机制 HaloNet 局部自注意力 (Local Self-Attention) 以分块交互策略实现高效全局上下文建模 YOLO26 改进 – 注意力机制 DiffAttention差分注意力:轻量级差分计算实现高效特征降噪,提升模型抗干扰能力 TMLR 2025 前言 - 魔改工程师 YOLO26 改进 – 注意力机制 CAFM (Convolutional Block Attention Module) 卷积块注意力模块:轻量级设计优化特征提取流程,提升小目标感知 YOLO26 改进 – 注意力机制 ACmix自注意力与卷积混合模型:轻量级设计融合双机制优势,实现高效特征提取与推理加速 前言 - 魔改工程师 前言 - 魔改工程师 前言 - 魔改工程师 2026最新YOLO26改进:卷积层、轻量化、注意力机制、损失函数、Backbone、SPPF、Neck、检测头全方位优化汇总 - 魔改工程师 失灵的键盘 - 魔改工程师 **返回所有加载的AGENTS.md文件ID列表** - 魔改工程师 **资源二分类隔离判定** - 魔改工程师 **统计盈利目标区间** - 魔改工程师 物流仓库货物调货优化 - 魔改工程师 寻找重复子数据 - 魔改工程师 匹配命令行前缀关键字 - 魔改工程师 **魔法阵的能量收集** - 魔改工程师 **链表数字游戏** - 魔改工程师 **企业内部部门的最大层级** - 魔改工程师 前言 YOLOv11 改进 – SPPF模块 替代SPP,FFocal Modulation焦点调制:即插即用轻量设计优化全局语义捕获 前言 - 魔改工程师 YOLOv11 改进 – SPPF模块 SPPELAN 空间金字塔池化与增强局部注意力:替代SPPF增强多尺度上下文捕获,提升检测精度 YOLOv11 改进 – SPPF模块 AIFI基于注意力的尺度内特征交互:替代SPPF构建高效混合编码器,提升模型综合效能 YOLOv11 改进 – Mamba 集成Mamba-YOLO(AAAI 2025),Mamba-YOLOv11-T 替换骨干,破解全局依赖建模难题,实现高效实时检测 YOLOv11 改进 – Mamba 集成Mamba-YOLO(AAAI 2025),Mamba-YOLOv11-L 替换骨干,破解全局依赖建模难题,实现高效实时检测 YOLOv11 改进 – Mamba 集成Mamba-YOLO(AAAI 2025),Mamba-YOLOv11-B 替换骨干,破解全局依赖建模难题,实现高效实时检测 前言 - 魔改工程师 前言 - 魔改工程师 前言 - 魔改工程师 前言 - 魔改工程师 前言 - 魔改工程师 前言 - 魔改工程师 YOLOv11 改进 – C2PSA C2PSA融合DiffAttention差分注意力:轻量级差分计算实现高效特征降噪,提升模型抗干扰能力 YOLOv11 改进 – C2PSA C2PSA融合CPIASA跨范式交互与对齐自注意力机制(ACM MM2025) 交互对齐机制破解特征融合难题,提升小目标与遮挡目标判别力 麻将基本胡牌型判断 - 魔改工程师 IP地址分类识别 - 魔改工程师 **查找能被整除的最大整数** - 魔改工程师 数据包优先级窗口查找 - 魔改工程师 美观的灯笼 - 魔改工程师 配置操作失败数量统计 - 魔改工程师 计费时段计算 - 魔改工程师 计算数列位置N的值 - 魔改工程师 空间占用计算 - 魔改工程师
YOLO26改进 – SPPF模块 发论文神器!LSKA注意力改进SPPF,增强多尺度特征提取能力,高效涨点!!! - 魔改工程师
魔改工程师 · 2026-06-24 · via 魔改工程师

前言

本文介绍了Large Separable Kernel Attention (LSKA)模块及其在YOLO26中的结合应用。LSKA旨在解决Visual Attention Networks (VAN)使用大内核卷积时的计算效率问题,通过将2D深度卷积层的卷积核分解为级联的水平和垂直1-D卷积核,降低了计算复杂度和内存占用,且使VAN更关注物体形状。我们将集成LSKA的SPPF_LSKA模块引入YOLO26,大量实验表明,改进后的模型在对象识别、检测、分割和稳健性测试上表现出色。

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

专栏链接: YOLO26改进专栏

介绍

image-20240527212823405

摘要

配备大卷积核注意力(LKA)模块的视觉注意力网络(VAN)在多种视觉任务中展现出卓越性能,超越了视觉Transformer(ViTs)的表现。然而,LKA模块中的深度卷积层随着卷积核尺寸的增大,会导致计算复杂度与内存占用的二次增长。为解决此问题并实现在VAN注意力模块中使用超大卷积核的目标,本研究提出了一个名为LSKA的大可分卷积核注意力模块家族。LSKA通过将深度卷积层的二维卷积核分解为串联的水平与垂直一维卷积核,实现了对标准LKA设计的改进。这种分解策略使得无需额外模块即可在注意力模块中直接使用配备大卷积核的深度卷积层。实验验证表明,在VAN中部署的LSKA模块能够在显著降低计算复杂度与内存占用的同时,达到与标准LKA模块相当的性能水平。研究还发现,随着卷积核尺寸的增加,所提出的LSKA设计使VAN更加关注物体形状特征而非纹理信息。此外,我们在五种受损版本的ImageNet数据集上对VAN、ViTs以及最新ConvNeXt架构中的LKA和LSKA模块进行了系统性稳健性基准测试,这些数据集在先前研究中较少被探索。大量实验结果表明,随着卷积核尺寸的增大,所提出的VAN中LSKA模块显著降低了计算复杂度与内存占用,同时在目标识别、目标检测、语义分割及稳健性测试中表现优于ViTs和ConvNeXt,并与VAN中LKA模块保持相当性能。相关代码已公开于https://github.com/StevenLauHKHK/Large-Separable-Kernel-Attention。

文章链接

论文地址:论文地址

代码地址:代码地址

基本原理

Large Separable Kernel Attention (LSKA)是一种新颖的注意力模块设计,旨在解决Visual Attention Networks (VAN)中使用大内核卷积时所面临的计算效率问题。LSKA通过将2D深度卷积层的卷积核分解为级联的水平和垂直1-D卷积核,从而实现了对大内核的直接使用,无需额外的模块。

概述

  1. 基本设计

    • LSKA将2D深度卷积层的卷积核分解为级联的水平和垂直1-D卷积核。
    • 这种分解设计使得LSKA可以直接使用深度卷积层的大内核,无需额外的模块或计算。
  2. 计算效率

    • LSKA的设计降低了参数数量的增长,从而降低了计算复杂度和内存占用。
    • 通过级联1-D卷积核的方式,LSKA在处理大内核时能够保持高效性能。
  3. 形状和纹理偏好

    • LSKA设计使得模块更加偏向于对象的形状而非纹理。
    • 这种偏好有助于提高模型对对象形状的学习能力,从而提高模型的鲁棒性和泛化能力。

总的来说,LSKA通过巧妙的卷积核分解设计,实现了对大内核的高效利用,同时保持了模型的性能和鲁棒性。其技术原理使得LSKA成为一种有潜力的注意力模块设计,可以在VAN等视觉任务中发挥重要作用。

与LKA-trivial、LSKA-trivial和LKA的比较:

image-20240527213758579

  • LKA-trivial是一种简单的注意力模块设计,使用深度卷积和大内核,但会导致参数数量的二次增长。
  • LSKA-trivial是对LKA-trivial的改进,通过可分离卷积核的级联降低了参数数量的增长,提高了计算效率。
  • LKA是原始的Large Kernel Attention设计,包括标准深度卷积、扩张深度卷积和1x1卷积,但在处理大内核时会带来计算和内存开销。
  • LSKA通过级联1D卷积核的设计,有效地解决了LKA中大内核带来的问题,在保持性能的同时降低了计算复杂度和内存占用。

核心代码

import torch
import torch.nn as nn

# 定义一个名为LSKA的神经网络模块类,继承自nn.Module
class LSKA(nn.Module):
    def __init__(self, dim, k_size):
        # 初始化LSKA类,dim为通道数,k_size为卷积核大小
        super().__init__()

        self.k_size = k_size  # 保存卷积核大小

        # 根据k_size的不同值,初始化不同的卷积层
        if k_size == 7:
            # 水平和垂直方向上的第一层卷积
            self.conv0h = nn.Conv2d(dim, dim, kernel_size=(1, 3), stride=(1,1), padding=(0,(3-1)//2), groups=dim)
            self.conv0v = nn.Conv2d(dim, dim, kernel_size=(3, 1), stride=(1,1), padding=((3-1)//2,0), groups=dim)
            # 空间卷积层,带有膨胀参数
            self.conv_spatial_h = nn.Conv2d(dim, dim, kernel_size=(1, 3), stride=(1,1), padding=(0,2), groups=dim, dilation=2)
            self.conv_spatial_v = nn.Conv2d(dim, dim, kernel_size=(3, 1), stride=(1,1), padding=(2,0), groups=dim, dilation=2)
        elif k_size == 11:
            self.conv0h = nn.Conv2d(dim, dim, kernel_size=(1, 3), stride=(1,1), padding=(0,(3-1)//2), groups=dim)
            self.conv0v = nn.Conv2d(dim, dim, kernel_size=(3, 1), stride=(1,1), padding=((3-1)//2,0), groups=dim)
            self.conv_spatial_h = nn.Conv2d(dim, dim, kernel_size=(1, 5), stride=(1,1), padding=(0,4), groups=dim, dilation=2)
            self.conv_spatial_v = nn.Conv2d(dim, dim, kernel_size=(5, 1), stride=(1,1), padding=(4,0), groups=dim, dilation=2)
        elif k_size == 23:
            self.conv0h = nn.Conv2d(dim, dim, kernel_size=(1, 5), stride=(1,1), padding=(0,(5-1)//2), groups=dim)
            self.conv0v = nn.Conv2d(dim, dim, kernel_size=(5, 1), stride=(1,1), padding=((5-1)//2,0), groups=dim)
            self.conv_spatial_h = nn.Conv2d(dim, dim, kernel_size=(1, 7), stride=(1,1), padding=(0,9), groups=dim, dilation=3)
            self.conv_spatial_v = nn.Conv2d(dim, dim, kernel_size=(7, 1), stride=(1,1), padding=(9,0), groups=dim, dilation=3)
        elif k_size == 35:
            self.conv0h = nn.Conv2d(dim, dim, kernel_size=(1, 5), stride=(1,1), padding=(0,(5-1)//2), groups=dim)
            self.conv0v = nn.Conv2d(dim, dim, kernel_size=(5, 1), stride=(1,1), padding=((5-1)//2,0), groups=dim)
            self.conv_spatial_h = nn.Conv2d(dim, dim, kernel_size=(1, 11), stride=(1,1), padding=(0,15), groups=dim, dilation=3)
            self.conv_spatial_v = nn.Conv2d(dim, dim, kernel_size=(11, 1), stride=(1,1), padding=(15,0), groups=dim, dilation=3)
        elif k_size == 41:
            self.conv0h = nn.Conv2d(dim, dim, kernel_size=(1, 5), stride=(1,1), padding=(0,(5-1)//2), groups=dim)
            self.conv0v = nn.Conv2d(dim, dim, kernel_size=(5, 1), stride=(1,1), padding=((5-1)//2,0), groups=dim)
            self.conv_spatial_h = nn.Conv2d(dim, dim, kernel_size=(1, 13), stride=(1,1), padding=(0,18), groups=dim, dilation=3)
            self.conv_spatial_v = nn.Conv2d(dim, dim, kernel_size=(13, 1), stride=(1,1), padding=(18,0), groups=dim, dilation=3)
        elif k_size == 53:
            self.conv0h = nn.Conv2d(dim, dim, kernel_size=(1, 5), stride=(1,1), padding=(0,(5-1)//2), groups=dim)
            self.conv0v = nn.Conv2d(dim, dim, kernel_size=(5, 1), stride=(1,1), padding=((5-1)//2,0), groups=dim)
            self.conv_spatial_h = nn.Conv2d(dim, dim, kernel_size=(1, 17), stride=(1,1), padding=(0,24), groups=dim, dilation=3)
            self.conv_spatial_v = nn.Conv2d(dim, dim, kernel_size=(17, 1), stride=(1,1), padding=(24,0), groups=dim, dilation=3)

        # 通道间卷积,用于融合信息
        self.conv1 = nn.Conv2d(dim, dim, 1)

    # 定义前向传播函数
    def forward(self, x):
        u = x.clone()  # 克隆输入张量
        attn = self.conv0h(x)  # 通过第一个水平卷积层
        attn = self.conv0v(attn)  # 通过第一个垂直卷积层
        attn = self.conv_spatial_h(attn)  # 通过第二个水平卷积层
        attn = self.conv_spatial_v(attn)  # 通过第二个垂直卷积层
        attn = self.conv1(attn)  # 通过1x1卷积层融合信息
        return u * attn  # 输入与注意力权重相乘后返回

实验

脚本

import warnings
warnings.filterwarnings('ignore')
from ultralytics import YOLO

if __name__ == '__main__':
    # 修改为自己的配置文件地址
    model = YOLO('./ultralytics/cfg/models/26/yolo26-SPPF_LSKA.yaml')
    # 修改为自己的数据集地址
    model.train(data='./ultralytics/cfg/datasets/coco8.yaml',
                cache=False,
                imgsz=640,
                epochs=10,
                single_cls=False,  # 是否是单类别检测
                batch=8,
                close_mosaic=10,
                workers=0,
                optimizer='MuSGD',  
                # optimizer='SGD',
                amp=False,
                project='runs/train',
                name='yolo26-SPPF_LSKA',
                )

结果

image-20260124213849824