CL-LoRA: Continual Low-Rank Adaptation for Rehearsal-Free Class-Incremental Learning¶
会议: CVPR 2025
arXiv: 2505.24816
代码: JiangpengHe/CL-LoRA
机构: MIT / Purdue University
领域: 持续学习 / 模型压缩
关键词: Class-Incremental Learning, LoRA, PEFT, knowledge distillation, catastrophic forgetting
一句话总结¶
提出 CL-LoRA,设计双适配器架构(任务共享 + 任务特定 LoRA),结合知识蒸馏与梯度重分配以及可学习块级权重,在仅 0.3% 可训练参数下实现 SOTA 持续学习性能。
研究背景与动机¶
领域现状:类增量学习(CIL)需要模型按顺序学习新类别同时保留旧知识。近年来,预训练模型(PTM)结合参数高效微调(PEFT)在无回放 CIL 中展现出良好效果,无需存储旧任务样本。
现有痛点: - Prompt-based 方法(L2P、DualPrompt、CODA-Prompt):需要大量 prompt 参数,且任务选择机制复杂 - Adapter-based 方法(EASE、O-LoRA、InfLoRA):每个任务创建新适配器,导致参数冗余 - 现有方法未能有效利用跨任务的共享知识,每个任务独立学习导致知识碎片化
核心矛盾:如何在保持参数效率的同时,既学习跨任务共享知识又捕获任务特定特征,实现稳定性(不遗忘)与可塑性(学新知识)的平衡。
切入角度:设计双适配器架构,前半 Transformer 层用共享 LoRA 学跨任务知识,后半层用任务特定 LoRA 学特有特征。
核心 idea:共享 LoRA(带知识蒸馏+梯度重分配) + 特定 LoRA(带块级权重+正交约束) = 高效持续学习。
方法详解¶
整体架构¶
基于 ViT-B/16 预训练模型,将 12 层 Transformer 分为两半:前 6 层插入任务共享 LoRA,后 6 层插入任务特定 LoRA。推理时使用原型分类器(prototype classifier)。
关键设计¶
-
任务共享适配器(Task-Shared Adapter)
- 功能:在前 \(l=6\) 个 Transformer 块中插入共享 LoRA,学习跨任务通用知识
- 核心思路:使用随机正交矩阵初始化 \(\mathbf{A}_s\),仅更新 \(\mathbf{B}_s\)
- 知识蒸馏:在学习新任务时,用上一任务的共享适配器作为教师,对当前适配器进行知识蒸馏
- 早退出策略:仅在共享适配器的最后一层计算蒸馏损失,减少计算开销
-
梯度重分配(Gradient Reassignment)
- 功能:识别并保护共享适配器中对旧任务重要的参数
- 核心思路:计算教师模型和学生模型梯度的差异,对重要参数降低学习率
- 实现:\(\nabla \mathcal{L}'_{kd} = \nabla \mathcal{L}_{kd} \odot |\nabla_{\mathbf{B}_s^{t-1}} \mathcal{L}_{kd} - \nabla_{\mathbf{B}_s^{t}} \mathcal{L}_{kd}|\)
- 效果:更精准地保留重要共享知识
-
任务特定适配器与块级权重(Block-wise Weights)
- 功能:在后 \(N-l\) 个 Transformer 块中,每个任务有独立的 LoRA
- 块级权重:为每个特定适配器学习可训练的逐块缩放因子 \(w_i^j\)
- 正交约束:\(\mathcal{L}_{orth} = \sum_{j=l+1}^{N} \sum_{i \neq k} \| \mathbf{B}_i^j {}^\top \mathbf{B}_k^j \|_F^2\)
- 设计动机:不同任务可能在不同 Transformer 层需要不同程度的适配
-
原型分类器推理
- 对每个已学任务,使用对应的特定适配器计算特征
- 计算特征与各任务原型的余弦相似度
- 预测相似度最高的类别
训练目标¶
超参数:\(\lambda_1 = 5\),\(\lambda_2 = 0.0001\),LoRA rank \(r = 10\)。
实验关键数据¶
主实验:4 个基准的平均准确率 \(\bar{A}\)(%)¶
| 方法 | 参数量(%) | CIFAR-100 T=10 | ImageNet-R T=20 | ImageNet-A T=20 | VTAB T=10 |
|---|---|---|---|---|---|
| L2P | 0.2 | 79.51 | 65.82 | 39.81 | 78.96 |
| DualPrompt | 0.5 | 80.44 | 67.41 | 56.43 | 82.51 |
| EASE | 1.4 | 85.71 | 78.04 | 68.92 | 93.01 |
| RanPAC | 3.1 | 87.62 | 78.53 | 66.14 | 89.61 |
| InfLoRA | 0.3 | 80.97 | 73.22 | 56.91 | 88.83 |
| O-LoRA | 0.4 | 81.26 | 72.52 | 55.02 | 87.22 |
| CL-LoRA | 0.3 | 85.32 | 81.58 | 70.15 | 94.57 |
ImageNet-R 长序列(T=40)平均准确率¶
| 方法 | \(\bar{A}\) |
|---|---|
| InfLoRA | 47.04 |
| O-LoRA | 47.53 |
| CL-LoRA | 60.54 |
CL-LoRA 在长序列上优势更大,超过第二名 13 个百分点。
消融实验(CIFAR-100 T=10 / ImageNet-R T=20)¶
| KD | GR | BW | CIFAR-100 | ImageNet-R |
|---|---|---|---|---|
| ✗ | ✗ | ✗ | 88.20 | 82.24 |
| ✓ | ✗ | ✗ | 90.83 | 83.42 |
| ✓ | ✓ | ✗ | 91.69 | 84.08 |
| ✗ | ✗ | ✓ | 89.01 | 82.93 |
| ✓ | ✓ | ✓ | 91.85 | 84.77 |
三个组件各有贡献,KD 提升最大。
亮点与洞察¶
- 双适配器架构设计优雅:前层共享知识、后层特化适配
- 仅 0.3% 可训练参数即达 SOTA,比 RanPAC(3.1%)少 10 倍参数仍有竞争力
- 梯度重分配机制比简单知识蒸馏更精准地保护重要参数
- 在有分布偏移的困难基准(ImageNet-R/A)上优势尤为明显
相关论文¶
- [CVPR 2025] LoRA Subtraction for Drift-Resistant Space in Exemplar-Free Continual Learning
- [CVPR 2025] Tripartite Weight-Space Ensemble for Few-Shot Class-Incremental Learning
- [ICCV 2025] Achieving More with Less: Additive Prompt Tuning for Rehearsal-Free Class-Incremental Learning
- [NeurIPS 2025] Gated Integration of Low-Rank Adaptation for Continual Learning of Large Language Models
- [CVPR 2025] Adapter Merging with Centroid Prototype Mapping for Scalable Class-Incremental Learning