算法论文/模型微调1——CNN架构做lora微调训练

Parameter-Efficient Tuning of Large Convolutional Models

大卷积模型的参数高效微调 ------ 论文翻译讲解

论文链接https://arxiv.org/abs/2403.00269

作者 :Wei Chen, Zichen Miao, Qiang Qiu(普渡大学)

发表时间 :2024年3月1日(v1)

领域:计算机视觉 / 机器学习(cs.CV, cs.LG)


一、论文摘要

微调大型预训练模型时,计算和参数开销巨大。为此,研究者发展了参数高效微调 (Parameter-Efficient Fine-tuning, PEFT)方法------只更新模型中的部分参数来适配下游任务。然而,现有方法普遍忽略了卷积核的特殊性质。卷积层在许多大模型中仍是核心组件,例如 ConvNeXt(判别式模型)和 Stable Diffusion(生成式模型)都大量依赖卷积层。

本文提出了一种新思路:引入滤波器子空间 (filter subspace),将每层卷积核在一小组"滤波器原子"(filter atoms)上进行分解。微调时只需调整这些滤波器原子------通常仅几百个参数。为在需要时扩展可调参数空间,作者还提出了一种递归分解方法,构造过完备滤波器子空间

大量实验表明,这一简洁方案在判别式和生成式任务上均超越了已有基线方法,且可与其他微调方法互补使用。


二、研究背景与动机

2.1 问题是什么?

大模型在预训练后,需要在下游任务上微调。但全量微调面临两大问题:

  1. 计算成本高:参数量动辄上亿,更新全部参数开销巨大。
  2. 过拟合风险:下游任务数据有限时,全量微调容易过拟合。

参数高效方法(如 LoRA、Adapter、Prefix Tuning 等)应运而生,但它们主要针对 Transformer 架构设计 ,对卷积层缺乏专门处理。以 LoRA 为例,它需要将 4D 卷积张量变形(reshape)为 2D 矩阵才能应用低秩分解,这一操作破坏了卷积层固有的空间结构

2.2 为什么卷积层需要特别对待?

卷积层具有独特性质------空间建模能力。它通过局部感受野捕捉图像中的空间模式,这是其作为深度学习基础模块的根本原因。将卷积核展平为矩阵会丢失这种空间先验。

2.3 本文的核心思想

不变形,不展平------直接在卷积的原始形式上做文章:

  • 将每层卷积核分解为滤波器原子 (负责空间建模)和原子系数(负责通道混合)两个组件
  • 微调时只调整滤波器原子,保留空间结构
  • 需要更多参数时,递归分解滤波器原子,构造过完备子空间

下图直观对比了 LoRA 与本文方法的区别。左侧 LoRA 需要将 4D 卷积张量变形为 2D 矩阵再做低秩分解;右侧本文方法直接在卷积形式上将权重更新分解为滤波器原子 Δ D \Delta\mathbf{D} ΔD 和原子系数 α \boldsymbol{\alpha} α 两个组件:

Figure 1:LoRA 方法 vs. 本文方法对比

图1(a):LoRA 注入可训练模块 W d o w n \mathbf{W}{down} Wdown 和 W u p \mathbf{W}{up} Wup,需将卷积核变形为矩阵 Δ W = ϕ ( Δ F ) \Delta\mathbf{W}=\phi(\Delta\mathcal{F}) ΔW=ϕ(ΔF)

图1(b):本文方法将可训练模块分解为滤波器原子 D \mathbf{D} D 和原子系数 α \boldsymbol{\alpha} α,直接在卷积形式上操作


三、方法详解

3.1 预备知识:LoRA 与稀疏编码

LoRA(Low-Rank Adaptation) 的核心是将权重更新表示为低秩分解:

W + Δ W = W + W d o w n W u p \mathbf{W} + \Delta\mathbf{W} = \mathbf{W} + \mathbf{W}{down}\mathbf{W}{up} W+ΔW=W+WdownWup

其中 W d o w n ∈ R d ′ × r \mathbf{W}{down} \in \mathbb{R}^{d' \times r} Wdown∈Rd′×r 和 W u p ∈ R r × d \mathbf{W}{up} \in \mathbb{R}^{r \times d} Wup∈Rr×d 是可训练参数, r r r 远小于 d ′ d' d′ 和 d d d。

稀疏编码 寻找输入在字典原子上的稀疏表示:

min ⁡ α , D ∥ W − α D ∥ F 2 + λ ∥ α ∥ 1 , 1 \min_{\boldsymbol{\alpha}, \mathbf{D}} \|\mathbf{W} - \boldsymbol{\alpha}\mathbf{D}\|F^2 + \lambda \|\boldsymbol{\alpha}\|{1,1} α,Dmin∥W−αD∥F2+λ∥α∥1,1

其中 D \mathbf{D} D 是字典(原子), α \boldsymbol{\alpha} α 是稀疏系数。本文的方法正是受此启发。

3.2 滤波器子空间分解(核心方法)

分解公式

将卷积层 F ∈ R c ′ × c × k × k \mathcal{F} \in \mathbb{R}^{c' \times c \times k \times k} F∈Rc′×c×k×k 分解为:

F = α × D \mathcal{F} = \boldsymbol{\alpha} \times \mathbf{D} F=α×D

  • 滤波器原子 D ∈ R m × k × k \mathbf{D} \in \mathbb{R}^{m \times k \times k} D∈Rm×k×k: m m m 个大小为 k × k k \times k k×k 的原子,负责空间卷积
  • 原子系数 α ∈ R c ′ × c × m \boldsymbol{\alpha} \in \mathbb{R}^{c' \times c \times m} α∈Rc′×c×m:线性组合系数,负责通道混合
两步卷积过程

分解后,原来的卷积操作变为两步:

第一步:与滤波器原子卷积(空间建模)

每个输入通道与每个滤波器原子分别卷积(不做跨通道混合),产生中间特征:

Z ′ = D ∗ X \mathbf{Z}' = \mathbf{D} * \mathbf{X} Z′=D∗X

对于输入特征 X ∈ R c ′ × h ′ × w ′ \mathbf{X} \in \mathbb{R}^{c' \times h' \times w'} X∈Rc′×h′×w′,每个输入通道 X i \mathbf{X}^i Xi 与每个原子 d j \mathbf{d}_j dj 卷积,得到 Z ′ i , j = d j ∗ X i \mathbf{Z}'^{i,j} = \mathbf{d}_j * \mathbf{X}^i Z′i,j=dj∗Xi。这产生了 c ′ × m c' \times m c′×m 个中间特征图。

关键理解:这一步只做空间建模,把跨通道混合推迟到下一步。

下图展示了完整的两步卷积过程:输入特征 X \mathbf{X} X 先与滤波器原子 D \mathbf{D} D 卷积生成中间特征 Z ′ \mathbf{Z}' Z′(通道数从 c ′ c' c′ 扩展到 c ′ × m c' \times m c′×m),再通过原子系数 α \boldsymbol{\alpha} α 组合为输出特征 Z \mathbf{Z} Z:

Figure 2(a):滤波器分解的两步卷积过程

图2(a):输入 X \mathbf{X} X( c ′ c' c′ 通道)→ 与 m m m 个滤波器原子卷积 → 中间特征 Z ′ \mathbf{Z}' Z′( c ′ × m c' \times m c′×m 通道)→ 原子系数 α \boldsymbol{\alpha} α 组合 → 输出 Z \mathbf{Z} Z( c c c 通道)

第二步:用原子系数组合中间特征(通道混合)

Z = α × Z ′ \mathbf{Z} = \boldsymbol{\alpha} \times \mathbf{Z}' Z=α×Z′

原子系数作为通道混合算子,将中间特征图线性组合为最终输出。每个输出通道 Z i \mathbf{Z}^i Zi 是 c ′ ⋅ m c' \cdot m c′⋅m 个中间特征图的加权求和。

3.3 过完备滤波器子空间

滤波器原子的参数量极小------在 ResNet50 中仅占总参数的 0.004%。为扩展可调参数空间,作者提出递归分解:将每个滤波器原子进一步分解为另一组原子:

D i = α i + 1 × D i + 1 \mathbf{D}i = \boldsymbol{\alpha}{i+1} \times \mathbf{D}_{i+1} Di=αi+1×Di+1

即 D \mathbf{D} D 被分解为 α 1 × D 1 \boldsymbol{\alpha}_1 \times \mathbf{D}_1 α1×D1, D 1 \mathbf{D}_1 D1 又可继续分解为 α 2 × D 2 \boldsymbol{\alpha}_2 \times \mathbf{D}_2 α2×D2,以此类推。本文在实际应用中仅使用一级扩展 ( D 1 \mathbf{D}_1 D1),避免参数量过度增长。

下图展示了过完备子空间的两步分解流程,中间特征 Z 1 ′ \mathbf{Z}'_1 Z1′ 的通道数扩展到 c ′ × m × m 1 c' \times m \times m_1 c′×m×m1,再经两级系数逐层聚合:

Figure 2(b):过完备滤波器子空间的两步分解

图2(b): D \mathbf{D} D 进一步分解为 α 1 × D 1 \boldsymbol{\alpha}_1 \times \mathbf{D}_1 α1×D1,中间特征从 c ′ × m c' \times m c′×m 扩展到 c ′ × m × m 1 c' \times m \times m_1 c′×m×m1

下图展示了递归分解的层级结构, D i = α i + 1 × D i + 1 \mathbf{D}i = \boldsymbol{\alpha}{i+1} \times \mathbf{D}_{i+1} Di=αi+1×Di+1 可无限递归,但实际仅使用一级扩展:

Figure 3:递归分解构造过完备子空间

图3:滤波器原子的递归分解层级 D → D 1 → D 2 → ⋯ \mathbf{D} \to \mathbf{D}_1 \to \mathbf{D}_2 \to \cdots D→D1→D2→⋯,本研究仅使用一级 D 1 \mathbf{D}_1 D1

3.4 1×1 卷积层的分解

大模型中 1×1 卷积层(等价于线性层)包含大量参数。处理方式是:对输入和输出通道进行分组,将 F c ′ ∈ R c ′ × c × 1 × 1 \mathcal{F}'_c \in \mathbb{R}^{c' \times c \times 1 \times 1} Fc′∈Rc′×c×1×1 转换为 F c ∈ R ( c ′ / k c ′ ) × ( c / k c ) × k c ′ × k c \mathcal{F}_c \in \mathbb{R}^{(c'/k'_c) \times (c/k_c) \times k'_c \times k_c} Fc∈R(c′/kc′)×(c/kc)×kc′×kc,然后应用相同的滤波器分解。

3.5 参数高效微调策略

基于上述分解,作者研究了多种微调策略( Δ F = α × Δ D \Delta\mathcal{F} = \boldsymbol{\alpha} \times \Delta\mathbf{D} ΔF=α×ΔD, Δ D \Delta\mathbf{D} ΔD 初始化为零):

策略 可训练参数 说明
仅微调 Δ D \Delta\mathbf{D} ΔD 极少(~0.5%额外参数) 固定 α \boldsymbol{\alpha} α,仅调整滤波器原子
微调 Δ α 1 \Delta\boldsymbol{\alpha}_1 Δα1 + Δ D 1 \Delta\mathbf{D}_1 ΔD1 过完备子空间,准确率大幅提升
微调 Δ D \Delta\mathbf{D} ΔD + Δ D c \Delta\mathbf{D}_c ΔDc 适中 加入1×1卷积分解,平衡准确率与参数
微调 Δ D 1 \Delta\mathbf{D}_1 ΔD1 + Δ α 1 \Delta\boldsymbol{\alpha}_1 Δα1 + Δ D c \Delta\mathbf{D}_c ΔDc 较多 准确率最高,但参数量接近 LoRA

最终选择微调 Δ D \Delta\mathbf{D} ΔD 和 Δ D c \Delta\mathbf{D}_c ΔDc 的配置,在准确率和参数量之间取得最佳平衡。

下图展示了不同微调策略下准确率与参数量的关系曲线。可以看到,仅微调 Δ D \Delta\mathbf{D} ΔD 相比线性探测即可实现大幅提升,加入 Δ D c \Delta\mathbf{D}_c ΔDc 后以极少参数超越 LoRA,而过完备子空间方案( Δ α 1 + Δ D 1 \Delta\boldsymbol{\alpha}_1 + \Delta\mathbf{D}_1 Δα1+ΔD1)在参数量显著更少的情况下达到与 LoRA 相当的准确率:

Figure 4:准确率与微调参数数量的关系

图4:横轴为可训练参数量(对数尺度),纵轴为准确率。本文方法(蓝色)在更少参数下达到更高准确率


四、实验结果

4.1 实验设置

  • 数据集:VTAB-1k(19个视觉任务,每个仅1000张训练样本)、CIFAR-100(6万张/100类)、ImageNet-1K(128万训练/5万验证/1000类)
  • 判别式模型:ResNet50(ImageNet-1K预训练)、ConvNeXt-B(ImageNet-21K预训练)
  • 生成式模型:Stable Diffusion(LAION数据集预训练,UNet 860M参数)
  • 基线方法:全量微调、线性探测、LoRA

4.2 验证实验(ResNet50 on CIFAR-100)

关键发现:

  1. 滤波器子空间有效性 :仅微调 Δ D \Delta\mathbf{D} ΔD(增加 0.5% 额外参数),相比线性探测实现近 20% 的准确率提升

  2. 过完备子空间的效果 :引入 Δ α 1 \Delta\boldsymbol{\alpha}_1 Δα1 和 Δ D 1 \Delta\mathbf{D}_1 ΔD1 后,准确率从 66.3% 大幅提升至 78.8%,且参数量显著少于 LoRA。

  3. 1×1卷积分解的增益 :微调 Δ D c \Delta\mathbf{D}_c ΔDc( k c = 2 k_c=2 kc=2)带来约 14% 的准确率提升,仅引入 12% 额外参数。

  4. Grad-CAM 可视化 :与 LoRA 相比,本文方法表现出更大的激活区域 ,表明保留卷积空间结构带来了更好的特征建模。使用 Δ D 1 \Delta\mathbf{D}_1 ΔD1 时激活区域更广,说明更多滤波器原子能捕获更丰富的特征。

下图是 Grad-CAM 热力图对比,从左到右依次为:输入图像、未微调、LoRA、本文方法 Δ D \Delta\mathbf{D} ΔD、本文方法 Δ α 1 + Δ D 1 \Delta\boldsymbol{\alpha}_1 + \Delta\mathbf{D}_1 Δα1+ΔD1。可以清晰看到,本文方法的激活区域明显大于 LoRA,且使用过完备子空间( Δ D 1 \Delta\mathbf{D}_1 ΔD1)时激活区域最广:

Figure 5:Grad-CAM 热力图对比

图5:三行分别对应三种鸟类图像。本文方法(右两列)的激活区域明显大于 LoRA, Δ D 1 \Delta\mathbf{D}_1 ΔD1 的激活区域最广

4.3 判别式任务结果

VTAB-1k 少样本迁移学习(ConvNeXt-B)
方法 平均准确率 可训练参数
全量微调 72.14% 87.67M
线性探测 61.21% 0.11M
LoRA 67.53% 17.4M
本文方法 73.59% 0.45M

本文方法在 VTAB-1k 上超越了全量微调,比 LoRA 高 6 个百分点,同时可训练参数仅为 LoRA 的 1/38(0.45M vs 17.4M)。

CIFAR-100 和 ImageNet-1K 全数据集微调
方法 CIFAR-100 参数 ImageNet-1K 参数
全量微调 94.1% 87.7M 85.8% 88.9M
线性探测 88.6% 0.1M 84.7% 1.0M
LoRA 89.2% 20.1M 84.8% 21.0M
本文方法 91.8% 0.3M 84.9% 1.2M

在全数据集场景下,全量微调因数据充足未过拟合而取得最高准确率。但本文方法仍以极少参数(0.3M vs 20.1M)在 CIFAR-100 上比 LoRA 高 2.6 个百分点。

4.4 生成式任务结果(Stable Diffusion)

FID 对比(越低越好)
方法 平均 FID 可训练参数
无微调 179.1 -
全量微调 61.3 860M
LoRA 57.5 22.67M
本文方法 54.7 1.11M

本文方法获得了最低的 FID 分数 (54.7 vs LoRA 的 57.5),同时可训练参数仅为 LoRA 的 1/20(1.11M vs 22.67M),仅占模型总参数的 0.13%

自然图像数据集细分

对于七个自然图像数据集(Caltech101、CIFAR100、DTD、Flowers102、Pets、SVHN、Sun397):

方法 自然数据集平均 FID
全量微调 43.5
LoRA 47.8
本文方法 42.5

本文方法在自然数据集上也优于全量微调和 LoRA。值得注意的是,原始检查点即使不微调,在多个自然数据集上也有不错表现(因为训练数据中可能包含分布内数据),但在分布外数据(专业或结构化图像)上微调变得必要。

下图展示了不同微调方法在 Stable Diffusion 上的生成效果对比,四列分别为:未微调、LoRA 微调、本文方法微调、全量微调。可以看到本文方法生成的图像质量最优:


五、核心结论与启示

5.1 方法优势总结

  1. 保留空间结构:不变形卷积核为矩阵,直接在卷积形式上操作,保留了卷积层的空间建模能力。
  2. 参数极度高效:滤波器原子仅占总参数的 0.004%~0.13%,却能实现优于 LoRA 的性能。
  3. 通用性强:同时适用于判别式任务(图像分类)和生成式任务(图像合成)。
  4. 可扩展:过完备子空间机制允许按需扩展参数空间。
  5. 可互补:可与现有微调方法组合使用。

5.2 关键数据一览

对比维度 本文方法 LoRA 优势
VTAB-1k 准确率 73.59% 67.53% +6.06%,参数仅 1/38
CIFAR-100 准确率 91.8% 89.2% +2.6%,参数仅 1/67
Stable Diffusion FID 54.7 57.5 -2.8,参数仅 1/20
可训练参数占比 0.13%(SD) 2.6%(SD) 极致压缩

5.3 适用场景

  • 少样本场景(VTAB-1k 每类仅1000样本):本文方法优势最明显,甚至超过全量微调
  • 大模型微调(Stable Diffusion 860M参数):仅需 1.11M 可训练参数即可有效适配
  • 保留空间信息的任务:Grad-CAM 证明更大的激活区域有利于特征建模

5.4 局限性

  • 全数据集场景下,全量微调因数据充足仍占优势(本文方法在 ImageNet-1K 上与 LoRA 接近,略低于全量微调)
  • 递归扩展超过一级时参数增长过快,不适合大模型高效微调
  • 方法主要针对卷积层设计,对纯 Transformer 架构的适用性有限

六、个人解读

这篇论文的核心贡献在于从卷积层的本质特性出发,设计了一种"不破坏空间结构"的参数高效微调方法。与 LoRA 将卷积核展平为矩阵的做法形成鲜明对比,本文方法将卷积分解为"空间建模"和"通道混合"两个正交维度,各自用极少的参数控制。

从实验数据看,这种方法在少样本场景下的优势尤为突出------VTAB-1k 上以 0.45M 参数超越 87.67M 参数的全量微调,这是一个非常显著的成果。在生成式任务上,仅用 0.13% 的参数就超越了 LoRA 和全量微调的 FID 分数,证明了对 Stable Diffusion 等大卷积模型微调的实用价值。

方法的简洁性也是一大亮点------不需要复杂的架构设计,仅通过滤波器分解这一"简单方案"就实现了强大的效果,且可以与现有方法互补,具有良好的工程落地前景。

相关推荐
ZGi.ai1 小时前
ZGI Runtime:切换模型后 Agent 为什么失效?
人工智能·aiagent·企业ai·模型切换·zgi·agentruntime
YH55269841 小时前
有什么AI工具能将网课和视频播客的内容转化成文档?
人工智能·音视频
Dr.kangder1 小时前
嵌入式处理器架构解析(七)——SPARC
架构·嵌入式·软件工程
你最豪士1 小时前
效率黑洞:被渲染进度条偷走的时间
人工智能
小月土星1 小时前
LeetCode 21. 合并两个有序链表 超详细题解(虚拟头结点 + 逐行代码拆解)
算法
oier_Asad.Chen1 小时前
【OI学习笔记】Floyed-Warshall算法解决传递闭包问题
c++·笔记·学习·算法·图论·最短路·传递闭包
额恩661 小时前
NLP五类核心任务:归纳总结与详细讲解
人工智能·自然语言处理
国科安芯1 小时前
卫星星务计算机数据管理中SEU容错机制的技术实现研究——以AS32S601存储器ECC架构为例
网络·单片机·算法·fpga开发·架构·云计算·risc-v
zzzll11111 小时前
Ollama:本地运行大型语言模型的轻量级解决方案
人工智能·语言模型·自然语言处理