引言: 永无止境学习的挑战
像视觉变换器 (ViT) 和 GPT 风格的语言模型这样的大型预训练模型,通过从海量数据集中学习,蕴含了丰富的通用知识,彻底改变了人工智能领域。而真正的魔力在于我们将这些模型微调以适应特定的下游任务。其中,最流行且高效的微调方法之一是低秩自适应 (LoRA) 。
LoRA 的核心理念优雅而简单: 它不重新训练整个模型,而是冻结原始权重,并注入由少量参数组成的、可训练的“小适配器”模块。这些模块训练成本极低,却能显著提升性能,节省大量的计算资源、时间和存储空间。
然而,LoRA 的设计基于静态场景——只需微调一次即可。在现实世界中,数据流不断涌现,任务也在持续演变。于是, 持续学习 (又称终身学习 )的目标便是让模型在不遗忘既有知识的前提下,逐步学习新的任务。
这个问题被称为灾难性遗忘 : 新知识的学习覆盖了旧记忆。就像学会弹吉他,却突然忘记如何骑自行车。传统的 LoRA 方法通过为每个任务单独训练一个 LoRA 适配器来缓解这一问题。方法有效,但代价高昂——随着任务数量增加,适配器数量不断累积,模型随之膨胀,推理阶段也愈发复杂。
这引发了一个关键问题: 是否可以让单个 LoRA 模块实现持续学习,从而取代多个任务特定的适配器?
近期一项题为 C-LoRA: Continual Low-Rank Adaptation for Pre-trained Models 的研究给出了响亮的答案: 可以。该研究提出了 C-LoRA , 一个统一且高效的终身学习框架,利用单一可自适应的 LoRA 模块和一个可学习的“路由矩阵”来管理跨任务的知识。接下来,让我们深入了解这一方法的原理,以及它为何代表了动态、可扩展人工智能的一次重大进步。
背景: LoRA 与持续学习的问题
在讨论持续自适应之前,先来回顾 LoRA 的原理及其在动态学习环境中遇到的挑战。
LoRA 快速回顾
微调预训练模型会更新其权重矩阵。对于给定的线性层,其预训练权重 \(W_0\) 被冻结,LoRA 提出权重调整量 \( \Delta W = W_t - W_0 \) 可由两个低秩矩阵 \( A \) 和 \( B \) 近似表示:
\[ W_t = W_0 + A_t B_t \tag{1} \]
图: LoRA 更新规则通过两个低秩矩阵 \(A_t\) 和 \(B_t\) 的乘积近似微调。
在此过程中,\(W_0\) 保持不变,而 \(A_t\) 和 \(B_t\) 针对新任务进行训练。这大幅减少了可训练参数的数量,同时保留了模型的预训练知识。
LoRA 在持续学习中的问题
在包含任务 \(\mathcal{T}_1, \mathcal{T}_2, …, \mathcal{T}_T\) 的持续学习场景中,标准 LoRA 微调为每个任务独立创建一个适配器:

图: 传统持续学习通过为每个任务堆叠独立适配器扩展 LoRA。
虽然这种方式能够隔离学习过程,但带来了两个主要问题:
- 参数线性增长: 每新增任务都会引入新的适配器参数,任务数量多时存储和计算成本爆炸式增长。
- 推理复杂性: 任务数量增加后,在推理阶段选择正确适配器变得困难。
C-LoRA 旨在通过将任务特定知识整合到单一持续适配器中解决这两个问题。
核心方法: 深入了解 C-LoRA
C-LoRA 的设计用一个单一、动态管理的适配器取代多个独立适配器。它在共享的低秩矩阵 \(A\) 和 \(B\) 之间引入一个可学习的路由矩阵 \( \mathcal{R} \),用于控制跨任务的知识流动。
\[ \Delta W_t = A \mathcal{R} B \tag{3} \]
图: C-LoRA 插入一个路由矩阵 \( \mathcal{R} \),以调控任务更新在共享子空间中的流向。
此时,矩阵 \(A\) 和 \(B\) 在所有任务间共享且保持稳定,而路由矩阵 \( \mathcal{R} \) 作为控制器决定每个新任务激活的子空间组合。
更智能的混合专家模型 (MoE)
该架构可视为 混合专家模型 (MoE) 的简化版。C-LoRA 无需管理多个 LoRA 模块及其门控网络,而是将“专家混合”直接编码进 \( \mathcal{R} \):

图 1: C-LoRA 通过将专家路由嵌入到单个矩阵 \( \mathcal{R} \) 中推广了 MoE,实现了紧凑的知识复用,无需多个并行适配器。
避免遗忘的关键: 分解 \( \mathcal{R} \)
C-LoRA 的突破在于对路由矩阵的分解:
\[ \mathcal{R} = \mathcal{R}_{\text{old}} + \mathcal{R}_{\delta} \]
图: 分解将稳定的历史任务知识 (\( \mathcal{R}_{\text{old}} \)) 与当前任务的自适应部分 (\( \mathcal{R}_{\delta} \)) 分离。
- \(\mathcal{R}_{\text{old}}\) 保存了先前任务中积累的知识,在新任务训练时被冻结 , 不接受梯度更新。
- \(\mathcal{R}_{\delta}\) 负责当前任务的学习,并在新任务开始时初始化为接近零的值。
模型输出整合两部分:
\[ W' = \phi(A\mathcal{R}_{\text{old}}B) + A\mathcal{R}_{\delta}B \tag{12} \]
图: 停止梯度算子 \( \phi(\cdot) \) 确保只有新任务部分获得更新。
这一机制保证了先前知识的稳定保留,同时逐步融合新信息。训练结束后,新部分会合并至 \(\mathcal{R}_{\text{old}}\),为下一个任务做好准备。
理论简析
作者从理论上证明,分解 \( \mathcal{R} \) 能有效减少旧知识与新知识间的干扰。由于反向传播的梯度经 \(A\) 和 \(B\) 调制,只更新小规模的 \( \mathcal{R}_{\delta} \) 部分可显著约束梯度幅度。这一限制防止共享参数被破坏性更新,从理论上解释了 C-LoRA 如何缓解灾难性遗忘。
C-LoRA 实践: 适配视觉变换器
为验证方法有效性,研究者将 C-LoRA 嵌入到视觉变换器 (ViT) 的 MLP 模块中——该部分参数量较大。

图 2: C-LoRA 无缝集成到 ViT 的 MLP 模块中,并强制新旧任务更新保持正交。
修改后的模块计算公式如下:
\[ out = x_i + \mathrm{MLP}(x_i) + \mathrm{C\text{-}LoRA}(x_i) \tag{22} \]
图: 残差连接将原始输出、学习分量和 C-LoRA 分量相加,以增强适应性而不覆盖旧知识。
损失函数: 引入正交性约束
为防止新任务更新与旧任务空间冲突,C-LoRA 在总损失中增添了一个简单而有效的正则化项。整体损失结合分类损失与正交性约束:
\[ \mathcal{L} = \mathcal{L}_{ce} + \lambda \mathcal{L}_{orth} \]
公式: 正交性保证更新与以往知识独立,从而增强稳定性。
正交约束定义如下:
\[ \mathcal{L}_{orth} = \| (A')^\top R_\delta \|_F^2 \]
图: 新任务更新被约束为与旧任务子空间正交,最大限度减少干扰。
该项惩罚当前与过去任务表示间的重叠,保证每个新任务的学习方向位于低秩适配器的独立子空间中。
实验与结果: C-LoRA 的实证验证
论文在四个基准数据集——CIFAR‑100、ImageNet‑A、CUB‑200 和 CAR196——上,通过 5、10、20 个任务的持续学习场景对 C-LoRA 进行了评估。评估指标包括:
- Last‑Acc: 完成全部任务后的最终准确率 (衡量记忆稳定性) 。
- Inc‑Acc: 训练期间的平均准确率 (衡量适应性) 。
始终保持领先表现
C-LoRA 在所有数据集和任务序列中均超越现有方法。

表 1: C-LoRA 在四个分为五个增量会话的数据集上均达到领先准确率。

图 3: 随着任务逐步增加,准确率始终保持高水平——任务越多,C-LoRA 保留知识的能力越强。
即使任务数量增多,性能仍保持强劲:

图: 在 10 和 20 会话实验中,C-LoRA 保持稳定,而其他方法性能显著下降。
在长序列任务中——例如灾难性遗忘较严重的 CAR196 数据集上——C-LoRA 达到 66.27% 准确率,显著超过竞争基线。这验证了其在长期持续学习中的强大鲁棒性。

图 5: C-LoRA 在长期任务流中依旧保持高准确率,显示出强抗遗忘能力。
为什么有效: 消融研究
为探究各组件的贡献,作者在 CUB‑200 数据集上进行了消融实验。

表 4: 逐步改进展示每个组件对性能的贡献。分解 \( \mathcal{R} \) (“TD”) 带来最显著提升。
结果验证了各设计选择:
- 原始 LoRA: 遭受严重遗忘。
- LoRA + R: 路由矩阵略提升子空间复用效果。
- LoRA + R + TD: 对路由矩阵进行分解 (\( \mathcal{R}_{old} \) 与 \( \mathcal{R}_{\delta} \)) 获得显著改进。
- C‑LoRA (完整) : 进一步引入正交性,达到最高稳定性与准确率。

图 6: 分解带来明显性能跃升 (左) ;即便在学习众多任务后,C‑LoRA 对旧类别仍保持高准确率 (右) 。
这些实验证明了 C-LoRA 模块化且高效的架构设计确实能实现稳定持续学习。
结论与启示
C-LoRA 为深度学习领域的一大难题——在不遗忘的情况下实现持续适应——提供了优雅而高效的解决方案。通过结合低秩高效性、动态任务路由和正交正则化,它构建了一个可扩展的终身学习框架。
核心要点:
- 一个适配器统领全局: 单个 LoRA 足以支撑多个任务,消除了适配器数量膨胀问题。
- 分解至关重要: 将路由矩阵划分为冻结部分与可训练部分,可在保留旧知识的同时习得新模式。
- 正交性保障稳定: 梯度正交化使新任务的学习独立于旧任务,防止干扰。
C‑LoRA 不仅简化了参数高效微调流程,也为构建能够像人类一样不断积累与完善知识的动态人工智能系统铺平了道路。
](https://deep-paper.org/en/paper/2502.17920/images/cover.png)