1% VS 100%:面向密集预测的参数高效低秩适配器
论文标题 :1% VS 100%: Parameter-Efficient Low Rank Adapter for Dense Predictions
发表会议 :CVPR 2023
作者团队 :Dongshuo Yin, Yiran Yang, Zhechao Wang, Hongfeng Yu, Kaiwen Wei, Xian Sun
所属机构 :中国科学院空天信息创新研究院 / 中国科学院大学电子电气与通信工程学院
开源链接 :CVF Open Access
一、论文摘要
将大规模预训练视觉模型微调到下游任务是获得最优性能的标准手段,但全量微调需要为每个任务保存一份与原模型同等大小的新参数副本,硬件开销巨大。
本文提出 LoRand ------一种在性能与可训练参数量之间取得更优折中的微调方法。LoRand 通过低秩合成生成极小的适配器(Adapter)结构,同时冻结原始骨干网络参数,实现高度参数共享。
在目标检测、语义分割、实例分割三大密集预测任务上的实验表明:仅训练预训练骨干 1%~3% 的参数,LoRand 在 COCO 和 ADE20K 上即可达到与全量微调相当的性能,在低资源的 PASCAL VOC 数据集上甚至超越全量微调。
二、研究背景与动机
2.1 全量微调的困境
随着视觉模型参数量爆炸式增长,"预训练 → 微调"范式成为主流:拥有充足算力的团队用大规模数据训练强力骨干网络,资源有限的研究者再通过微调将模型迁移到下游任务。
但全量微调存在两个核心问题:
- 参数不可共享:每个下游任务都会产生一份与预训练模型同等大小的新参数集,对云服务提供商而言,存储成本随任务数线性增长。
- 低资源场景下性能退化:当下游任务数据量不足时,微调反而会削弱预训练模型的特征理解能力,导致性能不如不微调(仅冻结骨干)。

图 1 解读:横轴为可训练骨干参数量(M),纵轴为 COCO 数据集上的 mAP。红色点代表 LoRand 方法(0.9M~2.5M 参数),黑色点代表传统微调方法(20M~88M 参数)。LoRand 仅用不到 3M 的参数即可超越大多数需要数十倍参数的微调模型。
2.2 NLP 给 CV 的启示
NLP 领域已出现两种新范式:Prompt Tuning (在输入中添加可学习参数)和 Adapter Tuning(在每个 Transformer 块后插入小型可训练瓶颈结构),两者都冻结骨干参数、只训练少量新增结构(<10% 骨干参数)。
在 CV 领域,Visual Prompt Tuning (VPT) 在图像分类上表现不错,但在语义分割等密集预测任务上远不及微调。本文因此探索:能否设计一种参数高效的 Adapter 结构,在密集预测任务上达到甚至超越全量微调?
2.3 核心发现
作者在实验中发现一个关键现象:适配器结构越稀疏,模型性能反而越好。这启发他们通过低秩合成来压缩适配器参数,最终诞生了 LoRand。
三、方法详解
3.1 Adapter 微调范式

图 3 解读:上半部分为 Fine-Tuning------骨干网络的所有参数(火焰图标)均参与训练;下半部分为 Adapter-Tuning------骨干网络的原始参数被冻结(雪花图标),仅训练插入的 Adapter 结构和 Decoder/Head。两种范式下解码器和任务头都是可训练的。
形式化地,全量微调的优化目标为:
θ ← arg min θ L ( D , θ ) = arg min θ ∑ i = 1 N loss ( f θ ( x i ) , y i ) \theta \leftarrow \arg\min_\theta \mathcal{L}(\mathcal{D}, \theta) = \arg\min_\theta \sum_{i=1}^{N} \text{loss}(f_\theta(x_i), y_i) θ←argθminL(D,θ)=argθmini=1∑Nloss(fθ(xi),yi)
Adapter 微调中,参数分为两部分:适配器参数 θ A \theta_A θA 和原始架构参数 θ = { θ F , θ T } \theta = \{\theta_F, \theta_T\} θ={θF,θT}( θ F \theta_F θF 为冻结部分, θ T \theta_T θT 为可训练部分)。令 Ω = { θ A , θ T } \Omega = \{\theta_A, \theta_T\} Ω={θA,θT} 为所有可训练参数,则:
Ω ← arg min Ω L ( D , θ F , Ω ) \Omega \leftarrow \arg\min_\Omega \mathcal{L}(\mathcal{D}, \theta_F, \Omega) Ω←argΩminL(D,θF,Ω)
3.2 LoRand 结构
整体架构

图 2 解读:左侧展示 LoRand 与 Swin Transformer Block 的集成方式------在每个 SwinBlock 的 W/SW-MSA(窗口注意力)和 MLP(前馈网络)之后各插入一个 LoRand Module。右侧展示 LoRand 内部结构:包含两次多分支低秩投影(Multi-branch low rank project)和一次非线性激活,并通过跳跃连接(skip-connection)增强鲁棒性。
传统 Adapter 的瓶颈结构可表示为:
A l = U l ⋅ GeLU ( D l ( x ) ) + x A^l = U^l \cdot \text{GeLU}(D^l(x)) + x Al=Ul⋅GeLU(Dl(x))+x
其中 U l U^l Ul 和 D l D^l Dl 分别是上投影和下投影矩阵。适配器的参数几乎全部集中在投影矩阵 W W W 中( y = W x + b y = Wx + b y=Wx+b)。
LoRand 的核心思路:用低秩矩阵的乘积来合成 W W W,而非直接学习 W W W。
低秩合成
将投影矩阵 W W W 分解为三个低秩矩阵的乘积:
W = P T K Q W = P^T K Q W=PTKQ
其中 P ∈ R β × m P \in \mathbb{R}^{\beta \times m} P∈Rβ×m, K ∈ R β × β K \in \mathbb{R}^{\beta \times \beta} K∈Rβ×β, Q ∈ R β × n Q \in \mathbb{R}^{\beta \times n} Q∈Rβ×n,且 β ≪ min ( m , n ) \beta \ll \min(m, n) β≪min(m,n),确保 P P P 和 Q Q Q 为低秩矩阵。 K K K 可视为控制 LoRand 参数规模的核矩阵。
多分支结构与核矩阵共享

图 4 解读 :左侧展示多分支投影机制------ W U W^U WU(上投影)和 W D W^D WD(下投影)均由 α \alpha α 个分支求和构成,每个分支形如 P i T K i Q i P_i^T K_i Q_i PiTKiQi;关键设计是 K i K_i Ki 在上下投影之间共享。右侧表格对比不同维度下 LoRand 与标准 Adapter 的参数量:在 Swin Transformer 典型维度 ( 768 , 384 ) (768, 384) (768,384) 下,LoRand 仅占 Adapter 参数的 6.27%,节省超过 93%。
为增强鲁棒性,LoRand 引入 α \alpha α 个并行分支:
W = ∑ i = 1 α W i = ∑ i = 1 α P i T K i Q i W = \sum_{i=1}^{\alpha} W_i = \sum_{i=1}^{\alpha} P_i^T K_i Q_i W=i=1∑αWi=i=1∑αPiTKiQi
同时,在每个分支内共享上下投影的核矩阵 K i K_i Ki,以促进两个投影层在训练中的一致性:
W U = ∑ i = 1 α ( P i U ) T K i Q i U , W D = ∑ i = 1 α ( P i D ) T K i Q i D W^U = \sum_{i=1}^{\alpha} (P_i^U)^T K_i Q_i^U, \quad W^D = \sum_{i=1}^{\alpha} (P_i^D)^T K_i Q_i^D WU=i=1∑α(PiU)TKiQiU,WD=i=1∑α(PiD)TKiQiD
其中 K i K_i Ki 在 W U W^U WU 和 W D W^D WD 之间共享。
参数量对比
标准 Adapter 的参数量: O ( 4 γ m n ) \mathcal{O}(4\gamma mn) O(4γmn)( γ \gamma γ 为块数,每个块放两个 Adapter)。
LoRand 的参数量: O ( 4 α β γ ( m + n ) ) \mathcal{O}(4\alpha\beta\gamma(m+n)) O(4αβγ(m+n))。
由于 α , β ≪ min ( m , n ) \alpha, \beta \ll \min(m, n) α,β≪min(m,n),LoRand 的参数量远低于标准 Adapter,简化对比为 O ( m n ) \mathcal{O}(mn) O(mn) vs O ( α β ( m + n ) ) \mathcal{O}(\alpha\beta(m+n)) O(αβ(m+n))。
| 维度 ( m , n ) (m, n) (m,n) | LoRand 参数量 | Adapter 参数量 | LoRand 占比 |
|---|---|---|---|
| (96, 48) | 4,736 | 9,216 | 51.39% |
| (192, 96) | 9,344 | 36,864 | 25.35% |
| (384, 192) | 18,560 | 147,456 | 12.59% |
| (768, 384) | 36,992 | 589,824 | 6.27% |
在 Swin Transformer 的实际维度下,LoRand 相同维度的投影矩阵比标准 Adapter 节省 80%~94% 的参数。
四、实验设置
预训练模型
采用 Swin Transformer(ImageNet-22K 预训练),涵盖 Swin-T / Swin-S / Swin-B / Swin-L 四种规模。
对比方法
| 方法 | 说明 |
|---|---|
| FULL | 全量微调,更新所有参数 |
| FIXED | 冻结骨干,仅训练 Neck 和 Head |
| ADAPTER-B | 标准 Adapter,中间层维度 = 输入维度的一半 |
| ADAPTER-T | 标准 Adapter,中间层维度 = 输入维度的四分之一 |
| LoRand | α = 2 , β = 8 \alpha=2, \beta=8 α=2,β=8(标准版) |
| LoRand+ | α = 4 , β = 8 \alpha=4, \beta=8 α=4,β=8 |
| LoRand++ | α = 4 , β = 16 \alpha=4, \beta=16 α=4,β=16 |
下游任务
| 数据集 | 任务 | 检测器 | 训练/验证图像数 | 特点 |
|---|---|---|---|---|
| COCO 2017 | 实例分割 | Cascade Mask R-CNN | 118K / 5K | 大规模基准 |
| ADE20K | 语义分割 | UperNet | 20K / 2K | 中等规模基准 |
| PASCAL VOC 0712 | 目标检测 | Faster RCNN | 16K / 5K | 低资源场景 |
所有实验在 8× NVIDIA Tesla V100 GPU 上完成。
五、实验结果
5.1 PASCAL VOC 与 ADE20K(基于 Swin-L)
| 方法 | 可训练参数 | 占比 | VOC AP_box | ADE20K mIoU |
|---|---|---|---|---|
| FULL | 198.58M | 100% | 84.43% | 53.25% |
| FIXED | 0.00M | 0% | 85.19% | 32.21% |
| ADAPTER-B | 32.04M | 16.13% | 80.93% | 46.23% |
| ADAPTER-T | 16.04M | 8.08% | 78.10% | 43.51% |
| LoRand | 3.59M | 1.84% | 87.12% | 50.67% |
| LoRand+ | 7.19M | 3.62% | 87.63% | 51.13% |
| LoRand++ | 14.24M | 7.17% | 88.11% | 51.87% |
关键发现:
- 低资源场景的逆袭:在 PASCAL VOC 上,LoRand 以仅 1.84% 的参数超越 FULL 2.69 个百分点,超越 FIXED 1.93 个百分点。这证明微调在低资源下会损害预训练模型的泛化能力,而 LoRand 通过冻结骨干避免了这一退化。
- 大规模任务接近微调:在 ADE20K 上,LoRand 以 1.84% 的参数达到 50.67% mIoU,仅落后 FULL 2.58 个百分点;LoRand++ 将差距缩小到 1.38 个百分点。
- 碾压标准 Adapter:标准 Adapter 即使使用 16.13% 的参数,在两个任务上仍远不如 LoRand,说明低秩压缩不仅省参数,还提升了适配器的泛化能力。
5.2 COCO(基于 Swin-B)
| 方法 | 可训练参数 | 占比 | AP_box | AP_mask |
|---|---|---|---|---|
| FULL | 89.14M | 100% | 51.90% | 45.00% |
| FIXED | 0.00M | 0% | 15.30% | 10.80% |
| ADAPTER-B | 14.38M | 16.13% | 46.50% | 40.20% |
| ADAPTER-T | 7.20M | 8.08% | 43.20% | 38.70% |
| LoRand | 2.39M | 2.76% | 51.10% | 44.10% |
| LoRand+ | 4.73M | 5.31% | 51.20% | 44.30% |
| LoRand++ | 9.32M | 10.46% | 51.50% | 44.40% |
关键发现:
- LoRand 以仅 2.76% 的参数达到 51.10% AP_box,仅落后 FULL 0.8 个百分点;LoRand++ 将差距缩小到 0.4 个百分点。
- FIXED 在 COCO 上完全崩溃(15.30% vs 51.90%),说明密集预测任务不能仅靠冻结骨干。
- 标准 Adapter 虽用了 8%~16% 的参数,性能仍差 LoRand 4~8 个百分点。
5.3 与多种微调骨干对比
COCO(Cascade Mask R-CNN):
| 骨干 | 可训练参数 | AP_box | AP_mask |
|---|---|---|---|
| ResNet-101 | 44M | 47.9% | 41.5% |
| ResNeXt-101-64 | 81M | 48.3% | 41.7% |
| DeiT-S | 22M | 48.0% | 41.4% |
| Swin-T | 29M | 50.5% | 43.7% |
| Swin-B | 88M | 51.9% | 45.0% |
| LoRand (Swin-T) | 0.88M | 50.2% | 42.9% |
| LoRand (Swin-B) | 2.39M | 51.1% | 44.3% |
LoRand(Swin-T) 仅用 0.88M 参数即超越 ResNeXt-101-64(81M)1.9 个 AP_box,省了 80M 参数。
ADE20K(UperNet):
| 骨干 | 可训练参数 | mIoU |
|---|---|---|
| ResNet-101 | 44M | 44.85% |
| Swin-S | 50M | 49.30% |
| Swin-L | 197M | 53.25% |
| LoRand (Swin-L) | 3.59M | 50.67% |
LoRand(Swin-L) 以 3.59M 参数超越 ResNet-101(44M)5.82 个 mIoU。
5.4 不同骨干规模对比

图 5 解读:三个子图分别展示 PASCAL VOC、COCO、ADE20K 上从 Swin-S 到 Swin-L(或 Swin-T 到 Swin-B)的性能变化。Full 方法始终最高,LoRand 系列紧随其后且差距很小,Adapter 系列明显偏低。随着骨干规模增大,所有方法性能均有提升,但 LoRand 与 Full 的差距在大骨干上略增。
5.5 消融实验:α 与 β 的影响

图 6 解读 :横轴为 β ∈ { 4 , 8 , 16 } \beta \in \{4, 8, 16\} β∈{4,8,16},三条曲线分别对应 α ∈ { 2 , 4 , 6 } \alpha \in \{2, 4, 6\} α∈{2,4,6}。整体趋势:增大 α \alpha α 和 β \beta β 可带来小幅性能提升,但收益递减;在 VOC 和 COCO 上 α = 6 \alpha=6 α=6 甚至出现性能下降。
消融结论:
- β \beta β(核矩阵维度)控制单个分支的学习能力, α \alpha α(分支数)控制分布式决策的多样性。
- 增大 α \alpha α 和 β \beta β 能略微提升性能,但难以超越全量微调(在大数据集上)。
- 指数级增大 LoRand 尺寸不会带来等效收益,甚至导致性能下降( α = 6 \alpha=6 α=6 在 VOC 和 COCO 上退化)。
- 更大的 LoRand 在参数效率和性能上的增益都递减,因此在标准版( α = 2 , β = 8 \alpha=2, \beta=8 α=2,β=8)和增强版之间需要权衡。
六、核心结论
-
视觉预训练模型高度可泛化、可共享:仅需 1.8%~2.8% 的额外骨干参数即可达到与全量微调相当的性能,证明微调产生的大量参数高度冗余。
-
LoRand 首次在密集预测任务上实现了参数高效适配:此前 VPT 在密集预测上不及微调,标准 Adapter 也表现不佳;LoRand 通过低秩合成+多分支结构,仅用标准 Adapter 6% 的参数即达到远超标准 Adapter 的性能。
-
低资源场景下的独特优势:在 PASCAL VOC 上 LoRand 全面超越全量微调,证明微调在低资源下会损害预训练模型的特征理解,而 LoRand 通过冻结骨干+轻量适配器规避了这一问题。
-
大规模存储节省:对于 Swin-L,LoRand 每个任务可节省约 195M 参数;对于 Swin-B,节省约 86M。对于每天处理数千个训练任务的工业服务提供商,这意味着每年可节省数百万 GB 的模型存储。
七、个人解读
这篇论文为什么重要?
LoRand 的价值在于回答了一个根本性问题:视觉模型微调时,到底有多少参数是真正需要的? 答案是------不到 3%。
与同类工作的差异
与 LoRA(Low-Rank Adaptation)等方法相比,LoRand 的独特之处在于:
- 多分支低秩合成而非单一低秩分解,增强了表达能力
- 核矩阵共享机制,在上投影和下投影之间建立一致性
- 专门面向密集预测任务(检测、分割),而非仅图像分类
局限性
- 在大规模数据集(COCO、ADE20K)上仍略低于全量微调,差距约 0.4~2.6 个百分点
- 超参数 α \alpha α 和 β \beta β 的选择需要权衡,过大反而退化
- 实验仅在 Swin Transformer 上验证,对其他架构(如 CNN)的泛化能力未做探讨
启发
LoRand 的"越稀疏越好"发现极具启发性:预训练模型已经很强大,下游任务需要的适配空间可能远比我们想象的小 。低秩合成本质上是在寻找一个低维的任务适配子空间,这个子空间的维度 β \beta β 可以小到 8,却已足够表达新任务的特征变换需求。
这对于工业应用意义重大:多任务部署时不再需要为每个任务存储完整模型副本,只需保存极小的 LoRand 参数即可快速切换,极大降低存储和部署成本。