0. 摘要

持续学习(Continual Learning, CL)旨在帮助深度神经网络在学习新知识的同时保留已学知识。由于其强大的泛化能力,预训练的视觉 - 语言模型(如对比语言 - 图像预训练模型,CLIP)最近作为实用的 CL 候选者受到了广泛关注。然而,预训练与下游 CL 任务之间的领域不匹配通常需要对 CLIP 进行微调。现有的微调方法大多具有确定性,这使得它们忽略了输入模态之间的多种可能交互,并且在需要可靠不确定性估计的高风险任务中显得不安全。为了解决这些问题,我们提出了持续学习与概率微调(CLAP)——一个在每项任务的视觉引导文本特征上进行概率建模的框架,从而提供更校准的 CL 微调。与最近的数据密集型抗遗忘 CL 技术不同,CLAP 通过利用 CLIP 丰富的预训练知识进行权重初始化和任务特定参数的分布正则化来缓解遗忘。通过与现有提示方法的多样化结合,CLAP 能够在 CLIP 的持续学习中超越主流的确定性微调方法。我们总结了 CLAP 在现有 CL 设置中的优越不确定性估计能力的开箱即用应用,包括新数据检测和示例选择。我们的代码可在 这里 获取。

1. 引言

现实世界中的学习涉及处理任务流及其数据的不断变化的分布 [2,3,4]。考虑到资源和隐私的限制,无法保证在所有先前见过的数据上重新训练网络 [5]。持续学习(CL)旨在从这样的数据/任务流中学习,而不会灾难性遗忘[6,2] 过去的数据/任务。一个具有挑战性的 CL 设置是类增量学习设置,其中新任务伴随着新类别的出现,在测试时,模型必须从所有见过的类别中进行推断,而无需知道任务 ID[7, 8]。

近年来,预训练的多模态基础模型在多个领域表现出色 [1,9,10]。在视觉 - 语言(VL)领域的一个例子是 CLIP 模型 [1],它通过对比方式学习大规模图像 - 文本对的匹配,获得了强大的零样本泛化能力 [11]。然而,为了适应下游任务,CLIP 必须在任务特定数据上进行微调 [12,13]。考虑到对预训练模型在流任务上进行持续微调的需求及其相比从头训练的优势 [14],我们的工作研究了 CLIP 在 CL 中的应用。

现有确定性微调方法 [13,12] 的一个问题是,它们忽略了由于下游任务的视觉和文本线索之间的多种可能交互而产生的不确定性。例如,在文本方面,虽然“A photo of a {class}”是一个通用的手工提示,但在某些情况下,进一步定制的提示可能有助于提高图像 - 文本的一致性。同样,在视觉方面,来自同一类别的图像可能具有多种背景、姿势、方向等。忽视图像 - 文本匹配中的不确定性可能导致在下游任务上的过拟合和泛化知识的遗忘 [15]。对于 CL,我们在任务流上适应 CLIP 时,这可能导致跨模态特征逐渐偏离彼此,最终导致灾难性遗忘(见图 3b)。虽然现有方法 [16,17] 通过概率微调来建模这种不确定性,但这些方法在 CL 中仍然表现不佳,原因包括:(a) 它们无法有效利用现有的基于提示的方法 [16],(b) 它们过度牺牲领域内性能以换取泛化能力 [17]。

最后,与其他自主现实世界代理一样,部署在关键任务环境(如医疗保健、交通等)中的 CL 模型可以通过校准其预测来可靠地评估其置信度,从而受益于不确定性意识 [18,8]。因此,为了增强预训练 CLIP 在现实世界 CL 任务中的使用,我们设计了一种具有以下三个属性的微调方法(见图 1):A)跨模态任务线索的概率建模以提高泛化能力;B)与基于提示的微调方法 [14,12,19,20] 兼容,以利用其细粒度的领域内任务知识;C)利用 CLIP 丰富的预训练知识以进一步对抗遗忘。

为此,我们设计了一个基于变分推断(VI)的原则性框架,该框架学习基于与视觉对齐的文本特征的任务特定后验分布的函数空间(属性#A)。为了细化这些变分任务后验,我们从贝叶斯专家混合集成 [21,22] 中获得灵感,并采用轻量级的任务特定适配器模块来建模任务特定分布。因此,我们的最终预测是从各个任务适配器模块导出的 logits 的混合。为了进一步对抗这些模块中的遗忘,我们与最近的数据密集型 CL 技术 [23,24] 趋势不同。相反,我们利用 CLIP 现成的预训练语言知识进行权重初始化和任务分布正则化(属性#C)。最后,通过建模文本特征空间的分布,我们的概率微调方法具有丰富的模块化特性,因为这些特征可以从任意提示类型中导出(属性#B)。特别是,我们展示了我们的框架可以继承手工设计 [1]、单模态 [12]、多模态 [20] 或实例条件 [19] 提示的领域内知识。我们将我们的微调方法缩写为CLAP——持续学习与概率微调——用于预训练的 CLIP 模型。我们在多个设置中的实验表明,CLAP4CLIP 增强了 CLIP 的基于提示的微调,并在领域内性能、输出校准和对未见 CL 任务的泛化方面超越了主流的确定性微调方法,同时共享了类似的资源开销。我们通过利用 CLAP 的不确定性估计能力,在提出的事后新数据检测设置和 CL 的示例选择中,研究了一些开箱即用的优势。

2. 相关工作

持续学习(CL)

现有的 CL 文献主要分为三类方法:(a) 基于正则化的方法 [6,25,26] 通过惩罚对先前任务重要的参数的更改来缓解遗忘;(b) 基于架构的方法通过学习专门用于单个任务的参数,要么通过网络扩展 [27],要么通过子网络组合 [28,29];(c) 基于回放的方法 [30,5] 依赖于存储过去任务经验的一部分以与当前任务一起训练。每类方法都有其缺陷——(a) 类方法难以区分任务间类别 [31];(b) 类方法在推理时通常需要任务预言;(c) 类方法对内存大小敏感,并且容易在内存样本上过拟合 [32]。因此,实用的 CL 需要结合这些方法。我们的工作通过函数空间正则化(第 3.4 节)利用 (a),通过任务特定模块(第 3.2.3 节)利用 (b),并通过基于回放的记忆利用 (c)(见附录 A.1.1)。

视觉 - 语言模型(VLM)微调

预训练 VLM(如 CLIP[1])的强大泛化能力使其在多个下游任务中实现了零样本应用,包括 CL[14]。在实践中,它们在下游领域外数据上的表现仍然较弱 [34,35]。对于这些情况,在任务特定数据上进行微调是一个自然的选择。与其对所有参数进行广泛的完全微调,一些参数高效的微调(PEFT)方法学习一个轻量级的特征适配器模块,用于文本和/或视觉路径 [13,36]。另一类 PEFT 方法学习软提示,这些提示是作为输入到冻结的视觉和/或文本编码器的几个连续标记,以捕捉任务特定信息 [12,37,20]。现有关于预训练 CLIP 的 CL 工作已经利用了这些方法之一 [19,38] 或两者 [39]。然而,这些微调方法仍然是确定性的。这在对视觉和文本语义交互的可能方式进行建模时施加了显式约束。

为了解决上述缺陷,可以尝试将现有的概率微调方法应用于捕捉 CL 任务中的跨模态交互。例如,[16] 学习手工提示的分布,而 [17] 提出了基于输入图像的变分提示调优(VPT)。然而,这些方法的效果有限。[16] 与广泛研究的 PEFT 领域的条件提示学习 [37] 不兼容。VPT[17] 过度牺牲领域内性能以换取泛化能力——这种特性在 CL 模型的部署中是有害的。我们的工作旨在为概率微调填补这些空白,同时使其适应 CL。

3. 方法

3.1 预备知识

持续学习(CL)

类增量 CL[7] 旨在从一系列任务 $[(C_1,D_1),(C_2,D_2),…,(C_T,D_T)]$ 中学习。每个任务 $t \in [1,T]$ 有其训练数据 $D_t = {(x_1,y_1),(x_2,y_2),…,(x_{k_t},y_{k_t})}$,其中 $x$ 和 $y$ 分别是输入图像和标签,来自类别集合 $C_t = {c_{t1}, c_{t2}, …, c_{tn_t}}$。根据 [40,41],我们假设任何两个任务特定的类别集合是不相交的:$C_i \cap C_j = \emptyset$。然后,使用 $D_t$ 在任务 $t$ 上训练具有参数 $\phi$ 的神经网络,以最小化在 $C_t$ 上的交叉熵损失。在测试时,模型在所有见过的类别 $C = \bigcup_{t=1}^T C_t$ 上进行评估,其中过去的任务预测容易遗忘。作为一种解决方案,基于回放的方法 [42,43] 在训练期间从内存 $M$ 中回放过去任务的样本。根据 [30],我们使用 herding[44] 来维护 $M$(详见附录 A.1.1)。

带提示的 CLIP

CLIP 包括一个作用于图像 $x \in \mathbb{R}^{3 \times H \times W}$ 的图像编码器 $f(x)$,以及一个作用于从文本提示 $p \in \mathbb{R}^{((L-1) \times e)}$ 导出的词嵌入向量 $t \in \mathbb{R}^{(L \times e)}$ 的文本编码器 $g(t(p))$。这里,$L$ 是文本长度,$e$ 是文本嵌入维度。编码器的输出用于预测类别 $y_i$:
$$
p(y_i|x) = \frac{\exp\left(\langle f(x)^T, g(t_i) \rangle / \tau\right)}{\sum_{c=1}^{|C_t|} \exp\left(\langle f(x)^T, g(t_c) \rangle / \tau\right)} \tag{1}
$$
其中 $\tau$ 是可学习的温度参数,$\langle \cdot, \cdot \rangle$ 是余弦相似度,第 $c$ 类文本特征 $t_c = [p, e_c]$ 是向提示 $p$ 添加类别特定词嵌入 $e_c$ 的结果。所有类别的特征 $g(t_c)$ 用作线性分类器的权重。在 CL 中,$g(t_c)$ 将编码直到任务 $t$ 为止见过的类别 $c \in C$ 的特征。

公式 (1) 形成了文本和视觉模态的对比训练准则,其丰富的表示使得预训练的 CLIP 可以通过硬提示模板(如 $p_c = \text{“A photo of a {c_{th} class}“}$)用于零样本分类。

使用可学习的软提示进行 CLIP 微调

为了提高 CLIP 在下游任务 $t$ 上的性能,软提示使用一组可学习的向量标记 $p = {p_1, p_2, …, p_L}$。CoOp [12] 在任务的所有类别之间共享 $p$。MaPLe [20] 通过使用两个这样的标记集 $p_f$ 和 $p_g$ 分别在 CLIP 的视觉和文本编码器的第 $J$ 层之前学习多模态提示。AttriCLIP [19] 根据输入选择提示的子集:${{p_j}_{1 \leq j \leq L} | x_k}$。学习 $p$(冻结 CLIP 权重)有助于为给定任务编码任务/模态/实例条件的上下文。

使用适配器进行 CLIP 微调

基于适配器的方法,如 CLIP-Adapter [13],在冻结的 CLIP 模型的文本和/或视觉特征上学习轻量级模块。通过文本适配器 $A_t$,公式 (1) 中的更新文本特征可以改写为(略有符号滥用):
$$
g(t_i) = \alpha A_t(g(t_i)) + \beta g(t_i) \tag{2}
$$
其中 $\alpha$ 和 $\beta$ 控制适配模型与预训练模型特征之间的残差连接强度,例如在 [13] 中 $\beta = 1 - \alpha$。

3.2 使用概率微调进行 CLIP 的持续学习

概述

我们使用贝叶斯 VI 框架开发了基于 CLIP 的概率微调模型(见图 2)。第 3.2.1 节首先提出了与之前的基于 VI 的微调方法不同,文本编码器输出的特征嵌入空间是定义函数空间先验的更好选择。虽然线性适配器层通常用于从预定义的特征空间先验到函数输出的映射 [45,17],但我们将在第 3.2.2 节中展示,使用通用适配器进行 CL 微调会导致跨模态偏差问题。在第 3.2.3 节中,我们提出通过在跨模态对齐的文本特征上构建任务特定适配器的集成来细化函数空间上的变分分布。

3.2.1 基于文本特征的函数空间先验的变分推断

我们感兴趣的是建模生成 CL 任务 $t$ 的输入 $x$ 的标签 $y$ 的随机过程。为此,我们假设第 $c$ 类文本特征的先验分布为 $p_\chi(t_c(p))$。然后,我们可以抽取 $M$ 个潜在变量 $z = {z_m \sim p_\chi}{m=1}^M$,将第 $c$ 类文本特征 $t_c(p)$ 表示为文本编码器特征 $g(t_c(p))$ 和 $z$ 的线性组合:
$$
t_c(p) = {g(t_c(p)) + z_m}
{m=1}^M, \quad \text{s.t.} \quad z_m \sim p_\chi \tag{3a}
$$

$$
p(y_i|x) = \int_\chi \frac{\exp\left(\langle f(x)^T, t_c(p) \rangle\right)}{\sum_{c=1}^{|C_t|} \exp\left(\langle f(x)^T, t_c(p) \rangle\right)} p(t_c(p)) d\chi \tag{3b}
$$
其中公式 (3b)公式 (1) 中的 $g(t_i)$ 替换为 $t_c(p)$。公式 (3b) 生成了 $M$ 个预测,其分布给出了模型对正确预测的认知不确定性。为了处理边际似然的不可计算性,我们使用变分后验 $q_\phi$ 优化证据下界(ELBO),基于 KL 散度损失 $D_{KL}$:
$$
\log p(y|x) \geq \mathbb{E}{q\phi(z|t_c)} [\log p(y|x,z)] - D_{KL}(q_\phi(z|t_c) | p_\chi) \tag{4}
$$
通过假设 $p_\chi$ 为(静态的)标准高斯分布 $\mathcal{N}(0, I)$,$q_\phi$ 为(可学习的)高斯分布 $\mathcal{N}(\mu(t_c), \sigma(t_c))$,其均值 $\mu$ 和标准差 $\sigma$ 由线性适配器层参数化,我们可以通过重参数化技巧 [45] 确保随机变量 $z$ 保持可微性。因此,我们将参数 $[\mu; \sigma]$ 统称为概率适配器

在文本特征上施加先验相比在提示嵌入空间上施加先验(如 VPT [17] 所做)具有进一步的优势(详见附录图 1 的说明)。首先,公式 (3b) 是提示类型无关的,因为文本特征 $g(t)$ 可以从任何现有的软 [37,19,20] 或硬 [14,13] 提示中导出。其次,通过保持提示嵌入空间不变并将随机性注入特征空间,我们可以更好地学习已知由提示嵌入编码的任务特定知识 [46]。这有助于绕过领域内性能的损失。在 CL 中,后一种属性对于我们的模型在所有先前见过的任务上表现良好至关重要。第三,由于潜在变量 $z$ 现在直接用于推断 logits,它自然倾向于通过影响预测来促进泛化。相反,提示空间先验对预测的影响是间接的,因为它由整个文本编码器层的表示中介。这可能会使先验的影响更难控制,并可能阻碍模型预测的上述可解释性。

3.2.2 CLIP 持续微调中的跨模态特征偏差

为了在文本特征空间中进行变分建模的 CL,我们首先退一步研究 CL 如何影响微调方法的学习文本特征与冻结视觉特征之间的跨模态偏差[47]。为此,我们考虑两个基本的 CL 模型:CoOp [12] 和带有 CLIP-Adapter 的 CoOp [13]。然后,对于 CIFAR100 的基础任务($t=1$)测试样本,我们计算了每个增量测试步骤中 CL 模型的冻结视觉特征 $f(x)$ 和可学习文本特征 $g(t_c(p))$ 的旋转角矩阵(RAM)[47] 的平均值。图 3b 展示了 CoOp 的学习文本特征与其(冻结的)视觉对应特征的偏差。这意味着使用可学习提示微调的 CLIP 的跨模态检索性能随着增量训练而恶化。此外,由于通用适配器(CoOp + Adapter)无法缓解跨模态偏差,这直接阻碍了使用我们的概率适配器来学习变分分布 $q_\phi$。

3.2.3 任务特定概率适配器作为后验近似的集成

通过探索函数空间中的多样化模式,神经网络集成可以更好地近似变分后验 [51,22]。受此启发,我们用任务特定适配器 ${q^i_\phi}{i=1}^t$ 替换任务共享适配器 $q\phi$,这些适配器参数化了第 $t$ 个任务特定后验 $\mathcal{N}(\mu_t, \sigma_t)$:
$$
{z^t_m}{m=1}^M \sim q^t\phi(z|\tilde{t}^t_c) = \mathcal{N}(\mu_t(\tilde{t}^t_c), \sigma_t(\tilde{t}^t_c)) \tag{6}
$$
其中 $z^t_m$ 是任务特定的 MC 样本。任务特定适配器因此充当专家混合集成,其中每个专家在任务特定嵌入 $\tilde{t}^t_c$ 上训练,并使用每个专家计算的 logits 组合来推导最终预测 $\hat{y}_{1:t}$(见算法 1)。专家学习到的后验在任务之间更具区分性。这在图 4 中通过从后验中抽取的类别特定样本的嵌入之间的余弦距离进行了展示。使用任务特定适配器(右图),跨任务类别的质心更具可分离性。

为了防止当前任务训练数据的干扰,我们在每个增量训练步骤($t > 1$)中冻结过去任务的编码器。此外,为了减少过去任务适配器中的遗忘,我们遵循其他参数隔离技术 [27,42,52],在每个增量训练步骤($t > 1$)结束时对新的数据和回放数据 $M$ 的类别平衡数据集进行微调。我们称之为记忆巩固训练(见附录 A.2)。我们还在附录 A.5 中提供了我们框架在测试时前向传递的概述。

3.3 利用预训练语言感知的 CLIP 知识缓解遗忘

与其他微调方法类似,我们的概率适配器可能会为了下游任务性能而牺牲文本特征的泛化能力 [12,37]。相反,使用手工提示的预训练 CLIP 文本编码器 [53] 由于其丰富的预训练语言信息而具有强大的泛化能力。我们建议利用这种预训练语言知识来指导 CLAP 中的增量微调。在下文中,我们假设 ${t^{h,l}y \in \mathbb{R}^d}{l=1}^L$ 是类别 $y \in C_t$ 的手工提示对应的特征。

3.3.1 过去任务分布正则化以缓解遗忘

过去任务分布的函数空间在 CL 中容易遗忘。虽然回放有助于在一定程度上缓解遗忘,但重复训练记忆样本可能导致对这些样本的过拟合 [32,54]。为了解决这个问题,之前的工作 [8,55] 利用函数先验来正则化视觉空间并结合记忆回放。在这里,我们建议通过使用手工提示的特征 ${t^{h,l}y}{l=1}^L$ 来蒸馏过去任务的潜在样本 $\tilde{z}i = {z^i_m}{m=1}^M$,从而正则化过去任务分布的文本空间。具体来说,样本集 $z^t$ 属于类别 $y \in C_t$ 的概率为:
$$
P_{KD}(y|z^t) = \frac{1}{M} \sum_{m=1}^M \frac{1}{L} \sum_{l=1}^L \frac{\exp\left(\langle t^{h,l}y, z^t_m \rangle\right)}{\sum{c=1}^{|C_t|} \exp\left(\langle t^{h,l}c, z^t_m \rangle\right)} \tag{7}
$$
由此产生的语言感知蒸馏损失是所有过去任务类别的真实标签分布 $y_c$ 与预测概率分布 $P
{KD}$ 之间的交叉熵之和:
$$
L_{KD} = -\sum_{t=1}^{T-1} \sum_{c=1}^{|C_t|} \log P_{KD}(c|z^t) y_c \tag{8}
$$
其中 $L_{KD}$ 作为无数据(即无需训练样本)的文本到文本分布正则化器,鼓励过去任务适配器的潜在变量输出接近手工提示的文本特征。$L_{KD}$ 仅在记忆巩固训练期间应用,即当过去任务适配器可训练时。最后,由于 $L_{KD}$ 作用于过去任务的函数空间,这使我们的设置与 [56] 的非 CL 设置区分开来,后者使用语言感知蒸馏损失来正则化向量嵌入空间。

3.3.2 考虑稳定性的任务特定适配器初始化

CL 中的稳定性差距[57] 指的是在更新网络权重以学习增量任务的初始阶段,过去任务知识的暂时但显著的遗忘。一个知情的权重初始化可以通过稳定新任务组件的学习来帮助缩小这一差距 [58]。因此,我们利用第 $t$ 个任务的文本特征 ${t^{h,l}y}{l=1}^L$ 来初始化我们的第 $t$ 个任务的线性适配器层的权重 $w_{\mu_t}, w_{\sigma_t} \in \mathbb{R}^{d \times d}$。设 $s_\mu, s_\sigma \in \mathbb{R}^{|C_t| \times d}$ 为 $L$ 个文本特征的均值和标准差。我们初始化 $w_{\mu_t}$ 和 $w_{\sigma_t}$ 为:
$$
w_{\mu_t} = \frac{1}{d} \langle s_\mu^T, s_\mu \rangle, \quad w_{\sigma_t} = \frac{1}{d} \langle s_\sigma^T, s_\sigma \rangle \tag{9}
$$

3.4 训练目标

近似 ELBO

基于公式 (4),我们现在学习任务特定适配器 $q^t_\phi$ 以近似不可计算的第 $t \in [1,T]$ 个任务特定后验。ELBO(详见附录 F 的推导)为:
$$
\log p(y_{1:T}|x; \tilde{t}^t_c) \geq \sum_{t=1}^T \left( \mathbb{E}{q^t\phi(z^t|x; \tilde{t}^t_c)} \left[ \log p_\theta(y^t|z^t,x; \tilde{t}^t_c) \right] - D_{KL}(q^t_\phi(z^t|x; \tilde{t}^t_c) | p_\chi(z^t)) \right) \tag{10}
$$

总体目标

用 $\lambda$ 和 $\gamma$ 表示损失权重,我们的总损失项可以表示为:
$$
L = L_{CE} - \lambda D_{KL} + \gamma L_{KD}
$$
其中交叉熵损失 $L_{CE}$ 和先验匹配项 $D_{KL}$ 作用于所有任务编码器的输出,而分布正则化项 $L_{KD}$ 仅作用于过去任务编码器。$\lambda$ 设置为 0.001。由于过去任务编码器仅在记忆巩固训练阶段可训练,因此在这些阶段 $\lambda$ 设置为 0。$\gamma$ 设置为 15。

4. 实验

数据集

我们在 CIFAR100 [3,30]、ImageNet100 [41,43]、ImageNet-R [59]、CUB200 [60] 和 VTAB [60] 上评估我们的方法。CIFAR100 [61] 和 ImageNet100 [62] 设置将其原始数据集分别划分为 10 个任务,每个任务包含 10 个类别。ImageNet-R [63] 和 CUB200 将 200 个类别划分为 10 个任务,每个任务包含 20 个类别。VTAB 包含 5 个任务,每个任务包含 10 个类别 [64]。虽然 CIFAR100、ImageNet100 和 CUB200 是评估 CL 方法在面对大遗忘时的稳健设置,但 ImageNet-R 和 VTAB 为使用预训练模型的 CL 方法提供了具有挑战性的设置,因为这些设置可能在其预训练集中包含测试图像(详见附录 A.1)。

基线

我们将 CLAP4CLIP 与多个基线和最先进的微调方法进行了比较。这些包括:(a) 基于 CLIP 的方法——Continual-CLIP [14]、CoOp [12]、CLIP-Adapter [13]、AttriCLIP [19]、MaPLe [20] 和 PROOF [39];(b) 仅视觉方法——DualPrompt [59]、L2P [65]、CODA-P [38];(c) 基线 CIL 方法——iCaRL [30]。为了公平比较,我们遵循 PROOF [39] 的实验协议。我们采用 ViT-B/16 作为骨干模型,除非另有说明,否则使用 OpenAI [1] 的预训练权重。作为性能的上限,我们使用单任务和任务特定编码器的 CLAP4CLIP,在所有任务上联合训练(JOINT)。

变体

我们将我们的方法与四种基于提示的方法集成:Ours使用手工提示模板的 CLAP,CoOp + Ours使用软提示 [12],MaPLe + Ours使用多模态软提示 [20],AttriCLIP + Ours使用实例条件软提示 [19] 的 CLAP4CLIP。**Ours w/o Variational Inference (VI)**是我们的确定性变体,详见附录图 7。我们将模型的训练细节和超参数留在附录 A.2 中。

性能指标

为了量化 CL 性能,我们报告:(a) 最后增量步骤后的最终准确率(Last)和每个步骤后的准确率平均值(Avg)[30];(b) 用于量化遗忘的反向转移分数(BwT)[66]。为了评估概率建模的优势,我们报告:(a) 预期校准误差(ECE)[67],用于衡量模型预测的校准度 [68];(b) (前向)转移分数[69],用于量化 CL 模型的泛化能力,通过测量微调后的零样本转移能力。

4.1 结果

准确率

我们在表 1 中报告了所有五个数据集的性能。我们的方法在所有比较方法中始终取得最佳结果。值得注意的是,在 CIFAR100 和 ImageNet100 上,使用手工和多模态提示的变体优于其他方法。在具有显著类别内多样性的挑战性 ImageNet-R 设置中,我们的方法能够更好地利用 AttriCLIP [19] 的实例条件提示知识,使其在平均准确率上超越 PROOF [39] 1.46%。在 CUB200 和 VTAB 上,共享提示池的优势使 CoOp [12] 优于其他基线。利用 CoOp 在这些数据集上为我们提供了最佳结果,同时超越了 PROOF,后者也在 CoOp 的基础上构建了任务特定的软提示。我们还观察到 VPT [17] 在所有 CL 设置上表现不佳。通过比较我们的变体与其他基线的性能演变,我们的变体在增量步骤中始终表现更好(详见附录图 8)。

遗忘

表 13 显示,通常将 CLAP4CLIP 与基于提示的微调方法结合有助于提高后者的 BwT 分数。值得注意的是,在 VTAB [64] 的跨数据集设置中,我们的变体是唯一能够有效转移增量任务学习到的知识以提高过去任务性能的方法(即 BwT > 0)。这表明我们的概率建模策略不仅对抗遗忘,还可以为现有微调方法带来抗遗忘特性。

校准

附录表 15 比较了我们的变体及其各自的基础确定性基线在最后测试步骤中的 ECE 分数。总体而言,我们的变体有助于增强(降低)基础提示方法的 ECE 分数。这意味着即使在 CL 设置中面临遗忘,CLAP 在评估其预测置信度时仍保持更高的可靠性。

泛化

附录表 14 显示,我们的方法始终增强了基础确定性提示方法的(前向)转移分数。这意味着 CLAP 能够更好地将学习到的知识从见过的任务转移到未来的任务中。

资源受限的 CL

为了研究 CLAP 在内存和计算受限环境中的鲁棒性,我们分别在无回放[70] 和计算预算受限[23] 的 CL 设置中对其性能进行了消融实验。表 16 和表 17 显示,在这两种设置中,利用 AttriCLIP 的实例条件和语义多样化提示提供了优势。在这里,我们的 AttriCLIP 变体超越了无回放的 SOTA,即 CODA-P [38],以及预算受限的 SOTA,即 AttriCLIP [19]。进一步消融我们提出的语言感知分布正则化和权重初始化组件对 AttriCLIP 变体的作用表明,前者在资源受限设置中避免遗忘至关重要。

4.1.1 跨数据集持续学习(CDCL)

为了模拟具有长任务序列和大分布偏移的现实世界设置,CDCL 设置 [19] 在 ImageNet100 和 CIFAR100 上顺序训练模型(即在 20 个任务上训练),并在这两个数据集上联合评估模型。为了与 [19] 进行公平比较,我们采用 ViT-L/14 作为 CLIP 骨干,并将训练/测试批量大小设置为 32。所有其他设置与第 4.1 节相同。表 2 报告了不同方法的最后任务准确率。虽然所有我们的变体都提高了各自基线的 CDCL 性能,但将我们的方法与 AttriCLIP [19] 结合带来了最大的增益。这进一步表明,我们的框架可以可靠地利用学习提示的多样性,继承其特定设置的优势。

4.2 消融研究

我们在下面提供了 CLAP4CLIP 训练管道的几个消融实验,更多消融实验见附录 C。

组件的影响

我们在表 3 中消融了 CLAP4CLIP 不同组件的重要性。在基础 CLIP 模型之上,我们首先训练了一个概率编码器。添加 VGA 模块和记忆巩固训练阶段有助于我们实现更稳定的性能,同时对抗遗忘。然后,我们应用任务特定编码器,这使得类别特定潜在变量的质心更具可分离性(见图 4),从而将最后任务准确率提高了 2.21%。语言感知权重初始化和正则化分别将最后任务准确率提高了 0.78% 和 0.23%。权重初始化进一步帮助我们解决了稳定性差距[57, 58](详见附录 C.6 中关于语言感知组件的更多消融实验)。

概率与确定性推断

为了进一步理解我们的概率推断模块,我们将其与我们的确定性变体(Ours w/o VI)的性能进行了比较。表 1 显示,我们的概率变体始终优于其确定性对应物。这强调了在微调中考虑不确定性的优势。我们进一步探讨了 VGA 和任务编码器模块的层数对我们框架的影响,详见附录 C.3。

5. 概率微调的开箱即用应用

我们研究了 CLAP4CLIP 不确定性量化(UQ)能力的开箱即用应用。我们的动机不是为了达到最先进的性能,而是为了突出在确定性 CL 微调方法难以应对的场景中概率建模的优势。

事后新数据检测(PhNDD)

PhNDD 使用预训练的分类模型基于输出置信度识别新数据 [71,72]。对于 CL,这可以帮助识别新任务的到达、扩展网络等。为了评估 CL 设置中模型的 PhNDD 能力,我们设计了一个简单的设置。具体来说,在所有但不是最后的测试步骤中,我们将过去和当前任务的测试数据视为已见,而将所有未来任务的测试数据视为。然后,我们使用 FPR95、AUROC [73] 和 AUPR [74] 分数作为我们的性能指标(详见附录 D.1),在所有但不是最后的增量测试步骤上进行平均。为了量化输出置信度,我们依赖能量分数[75],因为其适用于预训练模型。表 4 比较了平均 PhNDD 性能。我们的概率模型增强了其底层提示框架的 PhNDD 能力。此外,确定性版本(即 w/o VI)的较差结果表明,概率建模有助于模型输出更准确地表达其未知的预测。

示例选择

我们采用 CLAP 的 softmax 输出的熵(在 $M$ 个预测上平均)作为我们的示例选择标准 [2]。表 20 显示了基于熵的回放对于我们的方法的有效性,而其他确定性方法由于其不一致的 UQ 能力而表现不佳。接下来,我们使用 softmax 输出的能量 [75] 和方差作为选择标准,并与 [2] 中提出的其他标准进行对比。图 6 显示,基于方差的示例选择优于随机选择,并且在最后任务准确率上仅次于 iCaRL [30]。我们注意到,具有点预测的确定性方法无法使用方差进行示例选择。

6. 结论

在本文中,我们提出了 CLAP4CLIP,一种用于学习视觉引导文本特征分布的概率微调方法。我们的模型在所有任务之间共享视觉引导文本对齐模块,同时添加轻量级的任务特定编码器以学习细粒度的任务分布。除了带来极少的内存开销外,这种架构与多种基于提示调优的方法兼容,从而帮助我们继承它们在不同 CL 设置中的各自优势。我们的实验表明,CLAP4CLIP 在多个数据集和设置中取得了优异的结果。我们总结了我们方法的两个开箱即用的应用,其中现有的持续学习方法表现不佳:事后新数据检测和基于不确定性的示例选择。我们在附录 E 节中讨论了我们的局限性、潜在未来研究方向以及更广泛的影响。