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

YOLO11 改进 - C2PSA C2PSA融合Mona多认知视觉适配器(CVPR 2025):打破全参数微调的性能枷锁:即插即用的提点神器,引领视觉微调新突破

# 前言

本文介绍了新型视觉适配器微调方法Mona,并将其集成到YOLOv11中。传统全参数微调成本高、存储负担重且有过拟合风险,现有PEFT方法性能落后。Mona仅调整5%以内的骨干网络参数,在多个视觉任务中超越全参数微调。其核心亮点包括参数效率高、性能突破和即插即用。适配器模块包含降维、多认知视觉滤波器等单元,通过深度可分离卷积和多尺度卷积核处理视觉信号,还加入分布适配层优化输入分布。我们将Mona集成到YOLOv11,经注册和配置yaml文件后进行实验,展现出良好效果。

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

专栏链接: YOLOv11改进专栏

介绍

image-20251212235512548

摘要

Mona(Multi-cognitive Visual Adapter)是一种新型视觉适配器微调方法,旨在打破传统全参数微调(full fine-tuning)在视觉识别任务中的性能瓶颈。Mona 方法通过引入多认知视觉滤波器和优化输入分布,仅调整 5% 的骨干网络参数,就能在实例分割、目标检测、旋转目标检测等多个经典视觉任务中超越全参数微调的效果,显著降低了适配和存储成本,为视觉模型的高效微调提供了新的思路。

文章链接

论文地址:论文地址

代码地址:代码地址

基本原理

Mona是由清华大学、国科大、上海交大、阿里巴巴联合提出的新型视觉适配器微调方法,相关论文《5%>100%: Breaking Performance Shackles of Full Fine-Tuning on Visual Recognition Tasks》已被CVPR2025收录,其核心目标是打破传统全参数微调的性能与成本枷锁,为视觉大模型高效微调提供新方案。

一、提出背景

  1. 传统全参数微调的痛点
    • 成本极高:需更新模型全部参数,以早期BERT为例,单卡训练100万数据需5-7小时,万亿级参数模型的微调对硬件和时间要求更苛刻;
    • 存储负担重:多任务场景下需为每个任务保存完整模型副本;
    • 存在过拟合风险:大模型直接微调易因数据分布差异出现性能下降。
  2. 现有PEFT方法的局限
    参数高效微调(PEFT)虽能仅调整少量参数实现模型适配,但视觉领域的多数PEFT方法性能仍落后于全参数微调,无法兼顾效率与效果。

二、核心亮点

  1. 参数效率极高:仅调整5%以内的骨干网络参数,远低于传统PEFT方法的参数改动占比,大幅降低适配和存储成本;
  2. 性能突破枷锁:在实例分割、目标检测、图像分类等多类视觉任务中,首次实现小于5%参数成本下超越全参数微调的性能;
  3. 即插即用特性:可便捷嵌入现有视觉模型架构(如Swin-Transformer),无需大规模重构模型。

三、方法架构与核心设计

1. 整体模块结构

Mona的适配器模块包含降维、多认知视觉滤波器、激活函数、升维等单元,并内置跳跃连接(Skip-Connections),可无缝集成至Swin-Transformer等主流视觉骨干网络,整体流程为:输入特征经LayerNorm处理后,先降维至内部维度,再通过多认知滤波器增强特征表达,经GELU激活和dropout后升维还原,最终与原始特征残差连接输出。

2. 两大核心创新设计

  1. 多认知视觉滤波器
    这是Mona的核心模块,通过深度可分离卷积多尺度卷积核(3×3、5×5、7×7)实现对二维视觉信号的精准处理,与传统线性适配器不同,其专门针对视觉任务设计,可完成多尺度特征融合,提升模型对视觉信息的理解能力,具体是将3种尺度卷积的输出均值后与原始特征残差连接,再经1×1卷积投影优化。
  2. 输入分布优化
    在适配器前端加入分布适配层(Scaled LayerNorm),通过可学习参数gammagammax调整输入特征分布,使预训练特征更适配适配器的处理逻辑,提升微调效率。

img

核心代码

class Mona(BaseModule):def __init__(self,in_dim,factor=4):super().__init__()self.project1 = nn.Linear(in_dim, 64)self.nonlinear = F.geluself.project2 = nn.Linear(64, in_dim)self.dropout = nn.Dropout(p=0.1)self.adapter_conv = MonaOp(64)self.norm = nn.LayerNorm(in_dim)self.gamma = nn.Parameter(torch.ones(in_dim) * 1e-6)self.gammax = nn.Parameter(torch.ones(in_dim))def forward(self, x, hw_shapes=None):identity = xx = self.norm(x) * self.gamma + x * self.gammaxproject1 = self.project1(x)b, n, c = project1.shapeh, w = hw_shapesproject1 = project1.reshape(b, h, w, c).permute(0, 3, 1, 2)project1 = self.adapter_conv(project1)project1 = project1.permute(0, 2, 3, 1).reshape(b, n, c)nonlinear = self.nonlinear(project1)nonlinear = self.dropout(nonlinear)project2 = self.project2(nonlinear)return identity + project2

实验

http://www.jsqmd.com/news/433070/

相关文章:

  • LeetCode 215 数组中的第 K 个最大元素:python3 题解
  • P3033 [USACO11NOV] Cow Steeplechase G 题解
  • YOLO11 改进 - C2PSA C2PSA融合Mask Attention掩码注意力,可学习掩码矩阵破解低分辨率特征提取难题 2025 预印
  • 别再犹豫转不转行,只看理论不行动了!30+程序员转行大模型,开启人生新篇章!
  • [2026.3.3 鲜花] 短命的蜉蝣 幼稚的星
  • Python3 错误和异常
  • YOLO11 改进 - C2PSA C2PSA融合DiffAttention差分注意力:轻量级差分计算实现高效特征降噪,提升模型抗干扰能力
  • 黑盒测试中的决策表设计
  • 使用jmeter进行http接口测试(全)
  • YOLOv11改进-上采样 _ EUCB高效上卷积块,实现特征图尺度匹配和高效上采样
  • 实例说明接口测试的关键是什么?
  • jQuery Mobile 表格
  • JavaScript 运算符详解
  • 如何构建高效的接口自动化测试框架?
  • Claude Code 编程宝典!第 2 期:深度实战——打造你的 AI 高级架构师
  • TGDZcalc by coffeescript (44th)
  • 基于51单片机的智能窗帘:打造智能家居小能手
  • 1.两数之和
  • 接口自动化测试完整版
  • window系统telnet 最佳方案
  • factory机制
  • 计算机图形学几何工具算法详解pdf下载
  • Andrew Stankevich Contest 42 (ASC 42) 总结
  • Python的函数
  • jQuery CSS 类
  • JavaScript let 和 const:深入理解与最佳实践
  • Android12 Rk3588 系统APK签名文件使用方法
  • 文章索引
  • RAG——为什么说RAG是AI 2.0时代的“杀手级”应用
  • skills 核心原理