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

【文献阅读】5%>100%: 打破视觉识别任务的完全微调的性能束缚

🧠 Mona: 打破视觉微调性能上限的多认知视觉适配器

📌 原文:Breaking Performance Shackles of Full Fine-Tuning on Visual Recognition Tasks
📎 作者:Dongshuo Yin, Leiyi Hu, Bin Li, Youqun Zhang, Xue Yang
📚 arXiv:2408.08345 | 🔗 项目地址


🌟 目录

  • 1. 背景与动机

  • 2. Mona 方法详解

    • 2.1 输入分布优化
    • 2.2 多认知卷积滤波器
    • 2.3 模块结构图
    • 2.4 完整计算流程
  • 3. 实验设置与结果

    • 3.1 数据集
    • 3.2 实验结果与关键图表
    • 3.3 收敛性分析
  • 4. 消融实验

  • 5. 模型规模扩展性

  • 6. 实验复现指南

    • 6.1 环境配置
    • 6.2 数据准备
    • 6.3 训练配置文件结构(以COCO为例)
    • 6.4 Mona模型注册与使用
  • 7. 算法伪代码

  • 8. 总结与讨论

  • 9. 引用


1. 背景与动机

视觉模型调优长期以来依赖于全参数微调(Full Fine-tuning),其虽能最大化利用预训练特征,但带来:

  • 参数更新多(100%),训练耗时长
  • 存储与迁移成本高,尤其在大模型时代

而参数高效调优(PEFT / Delta-tuning)方法,如 LoRA、Adapter、BitFit,在CV任务(特别是检测与分割)中的性能仍落后于全参数微调。

Mona 提出新范式:

  • 用视觉友好的多尺度卷积取代语言适配器中的线性变换
  • 结合输入归一化与可学习缩放参数
  • 实现更快训练、更强性能、更少参数

2. Mona 方法详解

2.1 输入分布优化

为稳定从冻结的主干网络传递到适配器的特征分布,Mona 引入如下形式的归一化:

x n o r m = s 1 ⋅ LayerNorm ( x 0 ) + s 2 ⋅ x 0 x_{norm} = s_1 \cdot \text{LayerNorm}(x_0) + s_2 \cdot x_0 xnorm=s1LayerNorm(x0)+s2x0

  • s 1 , s 2 s_1, s_2 s1,s2:可学习缩放因子
  • 有助于提升训练稳定性

2.2 多认知卷积滤波器

Mona引入3种DWConv卷积核(3×3, 5×5, 7×7),模拟人眼对不同尺度特征的敏感性:

f d w = x + avg ( ∑ i = 1 3 ω i d w ⊗ x ) f_{dw} = x + \text{avg}\left( \sum_{i=1}^3 \omega_i^{dw} \otimes^x \right) fdw=x+avg(i=13ωidwx)

f p w = x + ω p w ⊗ x f_{pw} = x + \omega^{pw} \otimes x fpw=x+ωpwx

最终输出:

x = x 0 + U l ⋅ GeLU ( f p w ( f d w ( D l ( x n o r m ) ) ) ) x = x_0 + U^l \cdot \text{GeLU}\left( f_{pw}( f_{dw}( D^l(x_{norm}) ) ) \right) x=x0+UlGeLU(fpw(fdw(Dl(xnorm))))


2.3 模块结构图

原始输入x0
LayerNorm + s1/s2
Down Projection
DWConv 3x3
DWConv 5x5
DWConv 7x7
Average
1x1 Conv
GeLU
Up Projection
Residual Add x0

2.4 完整计算流程公式

x = x 0 + U l ⋅ σ ( x + ω p w ⊗ ( x + avg ( ∑ i = 1 3 ω i d w ⊗ D ˆ l ( x n o r m ) ) ) ) x = x_0 + U^l \cdot \sigma\left( x + \omega^{pw} \otimes \left( x + \text{avg}\left( \sum_{i=1}^3 \omega_i^{dw} \otimes\^D^l(x_{norm}) \right) \right) \right) x=x0+Ulσ(x+ωpw(x+avg(i=13ωidwDˆl(xnorm))))


3. 实验设置与结果

3.1 数据集

任务数据集模型
实例分割COCOSwin-B + Cascade Mask RCNN
语义分割ADE20KSwin-L + UperNet
检测Pascal VOCSwin-L + RetinaNet
定向检测DOTA, STARSwin-B + Oriented R-CNN
分类Flowers102, OxfordPets, VOC2007Swin-L

3.2 实验结果与关键图表

COCO 实例分割(表1)
方法APBoxAPMask参数占比
Full52.40%45.10%100%
Mona53.40%46.00%4.67%
Pascal VOC + ADE20K(表2)
方法VOC APBoxADE mIoU
Full83.70%51.18%
Mona87.30%51.36%
定向检测(表3)
数据集FullMona
DOTA78.31%78.44%
STAR38.63%39.45%
图像分类(表4)
数据集Full Top-1Mona Top-1
Flowers10299.57%99.68%
OxfordPets94.65%95.48%

3.3 收敛性分析

在这里插入图片描述

图3:Pascal VOC上训练损失对比

  • Mona收敛更快,曲线更平滑
  • 显示其训练稳定性和优化能力远优于其他方法

4. 消融实验

表5:中间维度影响

中间维度参数比例VOC APBox
321.35%86.8%
642.56%87.3%
1285.22%87.1%

5. 模型规模扩展性

BackboneFullMonaMona参数占比
Swin-T80.1%83.5%4.87%
Swin-B81.6%86.5%4.06%
Swin-L83.7%87.3%2.56%

结论:

  • 模型越大,Mona参数占比越低,性能提升越明显

6. 实验复现指南

6.1 环境配置

conda create -n mona_env python=3.9
conda activate mona_env
pip install mmcv-full mmdet mmsegmentation mmrotate
git clone https://github.com/Leiyi-Hu/mona.git
cd mona
pip install -r requirements.txt

6.2 数据准备

# 示例:COCO数据集准备
mkdir data && cd data
# 下载并解压COCO2017数据集
wget http://images.cocodataset.org/zips/train2017.zip
wget http://images.cocodataset.org/zips/val2017.zip
unzip train2017.zip && unzip val2017.zip

6.3 训练配置文件结构(以COCO为例)

配置文件目录:configs/mona/cascade_mask_rcnn_swin-b_fpn_1x_coco.py

关键字段说明:

model = dict(type='CascadeRCNN',backbone=dict(type='SwinTransformer',pretrained='path/to/swin_base.pth',mona_cfg=dict(enabled=True,dim=64,kernel_sizes=[3,5,7],)),adapter=dict(type='MonaAdapter',use_scaled_norm=True,use_skip=True),
)

6.4 Mona模型注册与使用

mona/models/backbones/swin.py 中注册:

from .mona_adapter import MonaAdapterclass SwinTransformerWithMona(SwinTransformer):def forward(self, x):x = super().forward(x)x = self.mona(x)return x

启动训练:

python tools/train.py configs/mona/cascade_mask_rcnn_swin-b_fpn_1x_coco.py

7. 算法伪代码

def MonaAdapter(x0, down_proj, up_proj, convs, pw_conv, s1, s2):# 1. 归一化输入x_norm = s1 * LayerNorm(x0) + s2 * x0x = down_proj(x_norm)# 2. 多尺度深度卷积f_dw = x + sum([conv(x) for conv in convs]) / len(convs)# 3. 点卷积 + 非线性f_pw = x + pw_conv(f_dw)output = x0 + up_proj(GeLU(f_pw))return output

8. 总结与讨论

  • Mona是目前唯一能在多个视觉任务中超越全参数微调的PEFT方法。
  • 显著降低训练参数量(<5%),提升迁移效率,适应多尺度视觉感知。
  • 其结构简单易实现,适合集成进现有ViT类结构。
  • 可扩展性强:大模型越大,收益越高。

9. 引用

@article{yin2024mona,title={Breaking Performance Shackles of Full Fine-Tuning on Visual Recognition Tasks},author={Yin, Dongshuo and Hu, Leiyi and Li, Bin and Zhang, Youqun and Yang, Xue},journal={arXiv preprint arXiv:2408.08345},year={2024}
}

相关文章:

  • 简说ping、telnet、netcat
  • OpenVINO使用教程--resnet分类模型部署
  • 将图片合成为视频(基于 OpenCV)
  • 【Redis】集群
  • 21 - GAM模块
  • 基于单片机的PT100温度变送器设计
  • 一个前端正则校验引发的问题
  • JavaScript基础-事件对象
  • 前端开发中,实现多线程
  • 又来交作业了
  • 探险之物资储备c++
  • 系统设计基本功:理解语义
  • 代码随想录12|翻转单词|右旋字符串|实现strStr()|重复的子字符串
  • SCAU大数据技术原理雨课堂测验1
  • 深度解析SpringBoot自动化部署实战:从原理到最佳实践
  • TerraFE 脚手架开发实战系列(一):项目架构设计与技术选型
  • uni-app项目实战笔记12--创建分类列表完成页面跳转
  • TypeScript 类
  • 大IPD之——华为的管理变革与战略转型之道(三)
  • c++第8天--虚继承与多态
  • 淘宝客论坛响应式php网站下载/海南seo代理加盟供应商
  • 公司logo设计在线生成免费设计入口/星乐seo网站关键词排名优化
  • dw做网站首页怎么做/生猪价格今日猪价
  • 安丘网站建设报价/淘宝关键词指数
  • 想学习网站建设/seo是什么意思广东话
  • 网站的类别/百度广告服务商