标准元学习通常假设任务是从某个分布中独立抽取的。然而,许多场景涉及任务按顺序一个接一个地到来。设想一个AI助手需要随时间学习用户偏好或新技能。在此类序列设置中直接应用标准元学习技术常因灾难性遗忘而失败:即为新任务获取知识会干扰并覆盖之前任务所需的知识。**持续元学习(CML)**直接处理此问题,其侧重于使模型能够从持续的任务流中学习如何学习,而不会失去之前获得的元知识或特定任务的适应能力。目标从寻找对整个任务分布最优的单一元参数 $\theta$,转变为随着新任务 $T_t$ 的到来顺序更新元参数 $\theta_t$,从而使模型能有效适应当前任务 $T_t$ 和先前遇到的任务 $T_1, ..., T_{t-1}$。这引入了标准元学习设置中不存在的时间依赖性。核心挑战:序列适应而不遗忘CML 的主要难题是减轻灾难性遗忘,它体现在两个层面:元知识遗忘: 元参数 $\theta$ 可能过多地适应最近的任务,从而失去对早期任务有效的通用初始化或学习策略。任务专用遗忘: 即使元参数 $\theta_t$ 稳定,适应过程本身(对任务 $T_t$ 的 $\theta_t \rightarrow \phi_t$)也可能不会保留重新访问旧任务时隐含所需的适应信息。这就需要平衡可塑性(快速学习新任务的能力)和稳定性(保留旧任务知识的能力)。这种可塑性-稳定性困境是持续学习的核心,并且在元学习环境中变得更加复杂,因为我们正在学习适应过程本身。digraph CML_vs_ML { rankdir=LR; node [shape=box, style=rounded, fontname="sans-serif", fontsize=10]; edge [fontname="sans-serif", fontsize=9]; subgraph cluster_ml { label = "标准元学习"; bgcolor="#e9ecef"; ML_Tasks [label="{T₁, T₂, ... Tɴ}"]; ML_MetaTrain [label="元训练", shape=ellipse, style=filled, fillcolor="#a5d8ff"]; ML_Theta [label="θ (元参数)"]; ML_Adapt [label="适应 (少样本)", shape=ellipse, style=filled, fillcolor="#96f2d7"]; ML_Phi [label="φⱼ (任务 Tⱼ 的任务参数)"]; ML_NewTask [label="新任务 Tⱼ"]; ML_Tasks -> ML_MetaTrain; ML_MetaTrain -> ML_Theta; ML_NewTask -> ML_Adapt; ML_Theta -> ML_Adapt; ML_Adapt -> ML_Phi; } subgraph cluster_cml { label = "持续元学习"; bgcolor="#e9ecef"; CML_T1 [label="T₁"]; CML_MetaTrain1 [label="元训练₁", shape=ellipse, style=filled, fillcolor="#ffec99"]; CML_Theta1 [label="θ₁"]; CML_T2 [label="T₂"]; CML_MetaTrain2 [label="元训练₂", shape=ellipse, style=filled, fillcolor="#ffec99"]; CML_Theta2 [label="θ₂"]; CML_TN [label="Tɴ"]; CML_MetaTrainN [label="元训练ɴ", shape=ellipse, style=filled, fillcolor="#ffec99"]; CML_ThetaN [label="θɴ"]; CML_AdaptN [label="适应 (少样本)", shape=ellipse, style=filled, fillcolor="#96f2d7"]; CML_PhiN [label="φɴ (任务 Tɴ 的任务参数)"]; CML_Adapt1 [label="适应 (少样本)", shape=ellipse, style=filled, fillcolor="#96f2d7"]; CML_Phi1 [label="φ₁ (任务 T₁ 的任务参数)"]; CML_T1 -> CML_MetaTrain1; CML_MetaTrain1 -> CML_Theta1 [label="初始 θ₀"]; CML_T2 -> CML_MetaTrain2; CML_Theta1 -> CML_MetaTrain2 [label="保留知识"]; CML_MetaTrain2 -> CML_Theta2; CML_TN -> CML_MetaTrainN; CML_Theta2 -> CML_MetaTrainN [label="保留知识", style=dashed]; CML_MetaTrainN -> CML_ThetaN; CML_ThetaN -> CML_AdaptN; CML_TN -> CML_AdaptN; CML_AdaptN -> CML_PhiN; CML_T1 -> CML_Adapt1; CML_ThetaN -> CML_Adapt1 [label="测试反向迁移"]; CML_Adapt1 -> CML_Phi1; } }标准元学习任务处理与持续元学习序列特点的比较,突出保留知识($\theta_{t-1} \rightarrow \theta_t$)和评估反向迁移(使 $\theta_N$ 适应旧任务 $T_1$)的必要性。持续元学习的方法一些策略已从持续学习中调整而来,或专为 CML 设置而开发:基于正则化的方法这些方法在任务 $T_t$ 训练期间向元目标函数添加惩罚项。该惩罚项阻止对被认为对先前任务 $T_1, ..., T_{t-1}$ 很重要的元参数进行更改。调整重要性权重: 弹性权重整合(EWC)或突触智能(SI)等技术,最初是为标准持续学习设计的,可以进行调整。其难点在于在元层面准确估计参数的重要性。这种重要性可能与适应过去任务分布的能力有关,而不仅仅是单个过去任务实例的性能。元梯度计算为估计费雪信息矩阵(用于 EWC)或路径积分(用于 SI)增加了另一层复杂性。维持表示相似性: 惩罚元学习器对与先前任务相关的输入产生的输出表示的变化。主要难题是在元学习的复杂双层优化结构中准确高效地估计参数重要性,特别是对于高维基础模型。基于重演的方法这些方法存储先前任务的数据或表示,并在学习新任务时重演它们。任务重演: 存储先前任务($T_j$, $j<t$)的整个支持/查询集,并在元训练期间将其与当前任务 $T_t$ 的数据交错。这直接对抗遗忘,但需要大量的内存存储,其随任务数量和少样本数据集大小的增长而扩展性不佳。表示重演: 存储与过去任务相关的潜在表示或梯度,而不是原始数据。这更节省内存,但可能不如重演原始任务数据有效。生成式重演: 训练一个生成模型来合成与先前任务类似的数据,避免直接存储。这增加了与元学习器并行训练可靠生成模型的复杂性。元经验重演(MER): 将重演与基于梯度的元学习(如 MAML)结合。它重演过去的任务梯度,以确保当前任务的更新不会与有利于过去任务的更新过度冲突,这通常被表述为一个受约束的优化问题。重演方法通常有效,但面临内存预算、负迁移(过去任务阻碍学习不相似的新任务)和重演计算开销等方面的挑战。基于架构的方法这些方法修改模型架构本身以适应新任务。动态扩展: 专门为新任务或任务组分配新参数(例如,新的网络分支、适配器模块)。这可以从设计上防止干扰,但会导致模型随时间增长。掩蔽或剪枝: 学习掩码以仅激活元学习器参数中与特定任务相关的部分。任务专用组件: 使用参数高效微调(PEFT)模块(例如,适配器、LoRA)等技术,其中为每个任务或任务序列引入一小部分新参数,而大型骨干(基础模型)则大部分保持固定或进行正则化。然后,可以将持续学习策略应用于这些较小的参数集或控制它们的选择机制。基于架构的方法提供了强大的遗忘防护,但引发了关于参数效率、架构管理的扩展能力以及潜在冗余的问题。算法特有修改一些研究侧重于设计本质上适合序列任务的元学习算法。在线元学习(OML): 明确为逐个处理到来的任务而设计,通常在每个任务或小批量任务之后更新元参数。神经调控: 像 ANML(一种神经调控元学习算法)这样的算法使用一个独立的神经网络(神经调控网络)在主网络内输出任务特定的调控(例如,激活或权重的缩放因子)。元学习器学习主网络参数和神经调控网络,从而允许任务特定的适应,而无需直接更改所有基本参数。基础模型背景下的持续元学习基础模型为 CML 带来了机遇与挑战:强大的先验: 它们广泛的预训练提供了一种特征表示,与从头开始训练的模型相比,这种表示可能本身更不易遗忘。元学习过程可能主要涉及学习如何适应这些现有特征,而不是学习特征本身。扩展能力: 基础模型庞大的规模使得标准 CML 技术(如全参数正则化(EWC)或大量重演)在计算上要求过高或不可行。PEFT 结合: 将 CML 与参数高效微调(PEFT)方法结合是一个有前景的方向。我们可以持续地元学习如何初始化或快速适应 PEFT 模块(如 LoRA 秩或适配器权重)。正则化或重演可以仅应用于这些小部分可适应参数,使 CML 更易处理。例如,元学习 LoRA 矩阵的初始化,使其在不同任务中都有效,并使用 CML 技术按序列更新这个元学习的初始化。持续元学习系统的评估评估 CML 需要专门的协议,这些协议比标准少样本评估更为严格。重要的衡量指标包括:平均准确率/性能: 在任务 $T_t$ 上训练后,迄今为止遇到的所有任务($T_1, ..., T_t$)的平均性能。正向迁移: 当前任务 $T_t$ 的性能如何从学习先前任务中受益。反向迁移/遗忘: 在学习任务 $T_t$ 后,先前任务 $T_j$($j<t$)的性能下降了多少。这通常测量为在任务 $T_t$ 训练前后 $T_j$ 准确率的差异。基准测试通常涉及精心构建的具有不同相似度和难度的任务序列。持续元学习仍然是一个活跃且具有挑战性的研究方向,特别是对于大规模模型。开发可扩展、内存高效并有效平衡可塑性和稳定性的技术,对于构建能够在动态环境中进行终身学习和适应的AI系统很重要。