当前位置: 首页 > news >正文

ConvNeXt 改进 :ConvNeXt添加GnConv递归门控卷积,二次创新CNBlock结构 ,独家首发

本文教的是方法,也给出几种改进方法,二次创新结构,百变不离其宗一文带你改进自己模型,科研路上少走弯路。


前言

视觉 Transformer 在多种任务中取得了显著的成功,这得益于基于点积自注意力的新空间建模机制。视觉 Transformer 中的关键因素——即输入自适应、长距离和高阶空间交互——也可以通过卷积框架高效实现。作者提出了递归门控卷积(Recursive Gated Convolution,简称 gnConv),通过门控卷积和递归设计执行高阶空间交互。该新操作具有高度的灵活性和可定制性,兼容各种卷积变体,并将自注意力中的二阶交互扩展到任意阶数,而不会引入显著的额外计算。gnConv 可以作为一个即插即用的模块,用于提升各种视觉 Transformer 和基于卷积的模型。


# 理论介绍

gnConv 是一种高效的空间交互操作,通过递归门控卷积实现长距离和高阶的空间交互。其核心思想是通过使用标准卷积、线性投影和逐元素乘法,模拟自注意力中的输入自适应空间混合,但具有更低的计算复杂度。关键步骤如下:

  • 输入自适应的空间交互
    在传统的卷积神经网络中,卷积操作是通过固定的卷积核对邻域进行加权求和,从而聚合邻域特征。这种方法的缺点是,卷积核是固定的,不具备自适应的能力。与此不同,gnConv 引入了自适应的空间交互,类似于 Transformer 中的自注意力机制。
    • 在自注意力机制中,通过多头自注意力(MHSA)来生成不同位置之间的权重,以捕捉长距离的依赖关系。
    • gnConv 的设计目标是通过卷积和全连接层来实现空间交互,避免自注意力的高计算成本。其关键是通过门控卷积(gConv)来捕捉局部空间信息,并且在此基础上引入了递归设计以进行高阶空间交互。
  • 门控卷积(gConv)操作
    gnConv 结合了线性投影和深度卷积来生成输入特征的空间混合,过程如下:
    • 输入层:包括图片的高度和宽度以及通道数
    • 投影层:通过线性投影层对输入特征进行通道混合。
    • 深度卷积:对投影后的特征进行深度卷积。
    • 逐元素乘法:将投影后的特征和卷积后的特征进行逐元素乘法,得到最后的输出。

GnConv结构如下:

理论详解可以参考链接:论文地址
代码可在这个链接找到:代码地址

训练代码参考和下载:手把手教你使用ConvNeXt训练自己数据集和推理,ConvNeXt模型训练(CVPR 2022),一个能挑战 Vision Transformer 的卷积神经网络,含完整代码和数据集


文章目录

  • 前言
  • # 理论介绍
  • 🐴一、实战细节
    • ⚡⚡实验结果画图
    • ⚡⚡改进模块代码
    • ⚡⚡使用教程
      • ☑️步骤1
      • ☑️步骤2
      • ☑️步骤3
  • 🐴二、模型结构分析
    • ⚡⚡ 注意机制结构分析
    • ⚡⚡ConvNeXt 结构分析
      • ☑️CNBlock 结构图
    • ⚡⚡二次创新实战
      • ☑️第一种改进手法
        • 📐模块的传参分析教程
      • ☑️第二种改进手法
      • ☑️第三种改进手法
      • ☑️第四种改进手法
  • 🐴三、论文常用的评估指标
      • ☑️准确率 (Accuracy, ACC)
      • ☑️精确率 (Precision)
      • ☑️召回率 (Recall)
      • ☑️F1分数 (F1 Score)
  • 总结

🐴一、实战细节

⚡⚡实验结果画图

画图效果如下,代码可一键运行

画图代码:

# -*- coding: utf-8 -*-""" @Auth :落花不写码 @File :画图.py @IDE :PyCharm @Motto :学习新思想,争做新青年 """importmatplotlib.pyplotaspltimportpandasaspd
http://www.jsqmd.com/news/561282/

相关文章:

  • PX4串口通讯避坑指南:从波特率设置到数据收发全流程解析(以Serial4/5为例)
  • 开箱即用!GLM-OCR镜像快速部署,轻松实现图片文字提取
  • Flowable表结构解析:从ACT_RE到ACT_HI,一文搞懂所有核心表的作用与关联
  • 展锐SysDump实战指南:从FullDump到MiniDump的完整解析流程
  • Duix.Avatar全栈数字人克隆解决方案:从本地部署到商业应用
  • Checkpoint存档管理器完全指南:7个实用技巧守护你的游戏进度
  • Python之Flask开发框架(第一篇) — 从安装到第一个应用
  • DeepSeek-Coder-V2:突破闭源模型在代码智能领域的壁垒
  • 阿里开源CosyVoice2-0.5B:快速部署声音克隆应用,小白友好教程
  • 收藏!小白程序员必看:智能体AI中大型语言模型的隐藏成本与优化策略
  • Realistic Vision V5.1 高分辨率输出对比:512x512 vs 1024x1024的细节差异
  • 虚幻4角色动画进阶:用动画蓝图实现 idle-run-jump 无缝切换(含状态机配置模板)
  • SSHFS挂载Windows目录避坑指南:解决权限乱码和开机自动挂载问题
  • 手把手教你排查PCIe设备异常:从`Malformed TLP`错误看MPS/MRRS配置
  • 通过MobaXterm与TightVNC搭建Windows跨设备远程控制:SSH安全通道实战
  • BepInEx:Unity游戏功能扩展的插件框架解决方案
  • 终极免费方案:3分钟搞定macOS应用更新管理难题
  • 05 从 MLP 到 LeNet:损失函数到底在衡量什么?
  • SpaceX火星移民PPT拆解:从马斯克的39页神作学技术演讲设计
  • 自动驾驶车路协同技术全解析:基于DAIR-V2X数据集的实践指南
  • 四种ADC拓扑结构解析与工程选型指南
  • 从ViT到Swin Transformer:稀疏注意力如何让视觉模型‘看得又快又准’?
  • 文献管理自动化:茉莉花插件如何重构中文科研工作流
  • 从‘重名’到‘同义’:图解Virtual Cache的那些坑与工业级解决方案
  • n8n汉化踩坑全记录:从Docker界面到工作流编辑器的完整中文配置指南
  • 三指拖动:让Windows触控板也能拥有MacBook般的流畅体验
  • 目标检测模型评估:从AP到mAP@0.5:0.95的完整指南(附代码示例)
  • 【2024最硬核AI编译器分析】:为什么Meta/DeepMind工程师正在悄悄替换Triton?Cuvil在H100上实测吞吐提升41%的5大源码级设计真相
  • Namida音乐视频播放器:跨平台体验与深度定制指南
  • HY-Motion 1.0:基于扩散Transformer的文本驱动3D人体运动生成技术详解