引言

视觉-语言模型(Vision-Language Models,VLMs),如CLIP,通过在大规模图文对数据上进行对比预训练,将视觉和文本特征对齐到统一的嵌入空间中,从而实现了强大的零样本泛化能力。然而,当测试数据的分布与训练数据存在显著差异时,VLMs的性能会大幅下降。

测试时自适应(Test-Time Adaptation,TTA)作为一种无需源域标签的解决方案,利用无标注的测试数据在线调整模型,在开放世界图像识别任务中展现出重要价值。然而,传统TTA方法面临三个核心挑战:

  1. 目标分布建模:如何显式建模测试数据分布,利用样本间的内在关系提升预测性能?
  2. 可用性:如何在不访问或存储历史数据的情况下实现自适应?
  3. 无训练效率:如何在避免耗时的梯度优化同时保持稳定性?

FreeTTA(Free on the Fly)由上海科技大学和中大三校团队提出,发表于CVPR 2025。该方法首次提出同时满足上述三个特性的TTA框架,通过在线EM算法显式建模测试数据分布,实现无需训练的测试时自适应。1

核心贡献:FreeTTA是首个显式建模测试数据分布的TTA方法,利用样本间的内在关系增强单个样本的预测,无需同时访问数据。

问题背景

VLM的零样本分类

CLIP通过图文嵌入空间的对其实现零样本分类。对于测试图像 ,其属于类别 的预测概率为:

其中 分别为图像编码器和文本编码器, 表示特征间的余弦相似度, 是第 个类别的模板提示文本嵌入。

现有TTA方法的局限

现有TTA方法主要分为两类:

方法类型代表工作训练自由可用性目标分布建模
基于提示学习TPT、DiffTPT
动态适配器Tip-Adapter
缓存方法TDA部分
FreeTTA本文

核心问题:现有方法均未充分考虑测试样本间的内在关系,难以充分利用持续到来的测试数据中的历史信息。

方法论

高斯判别分析基础

FreeTTA假设每个类别的测试样本服从独立的多元高斯分布:

为简化分析,采用所有类别共享协方差矩阵的假设:

根据贝叶斯定理,后验概率为:

分类决策为:

应用GDA到TTA的三大挑战

将GDA直接应用于TTA面临三个关键挑战:

  1. 顺序在线适应:测试样本顺序到达,无法同时观察所有样本,单一样本的分布估计不可靠
  2. 无监督适应:测试样本无标签,无法直接估计分布参数
  3. 不确定性建模:需要处理VLM零样本预测带来的不确定性

在线EM算法

为解决上述挑战,FreeTTA引入在线期望最大化(Online EM)算法,迭代计算每个在线测试样本的后验概率并更新参数。

参数初始化

使用CLIP文本编码器生成各类别的初始均值向量,协方差矩阵初始化为单位矩阵:

E步:计算后验概率

对于第 个测试样本 ,计算其属于类别 的后验概率:

其中 是指示变量, 是类别 的先验概率。

记后验概率为

M步:参数更新

利用E步计算的后验概率更新各类别的先验、均值向量和共享协方差矩阵:

先验概率更新

其中 是到第 步的样本总数, 是类别 的样本计数。

均值向量更新

协方差矩阵更新

更新后类别 的样本计数为

VLM先验整合

为增强模型在TTA初期阶段的稳定性,FreeTTA引入自适应更新策略,利用VLM零样本预测的熵来评估每个样本的置信度:

引入权重函数 调整样本对参数更新的影响:

设计动机:高置信度样本具有低熵,获得更大权重参与更新;低置信度样本具有高熵,权重被衰减以减少噪声影响。

最终预测融合

FreeTTA将CLIP零样本 logits 与概率生成模型的 logits 进行融合:

其中:

  • 是图像特征
  • 是类别 的文本特征

算法流程

# FreeTTA 在线EM算法伪代码
def FreeTTA(test_stream, clip_model, alpha=0.2, beta=4.5):
    """
    FreeTTA: 训练自由的在线EM测试时自适应
    
    参数:
        test_stream: 测试数据流
        clip_model: 预训练CLIP模型
        alpha: 融合权重
        beta: 熵权重
    """
    # 初始化
    classes = get_class_names()
    K = len(classes)
    
    # 使用文本编码器初始化均值
    mu = [clip_model.encode_text(get_prompt(c)) for c in classes]
    Sigma = I  # 单位协方差矩阵
    pi = [1/K] * K  # 均匀先验
    N = [1/K] * K  # 样本计数
    n_t = 1  # 总样本计数
    
    for t, x_t in enumerate(test_stream):
        # 1. 提取图像特征
        F = clip_model.encode_image(x_t)
        
        # 2. E步:计算后验概率
        gamma = compute_posterior(F, mu, Sigma, pi)
        
        # 3. 计算CLIP熵用于不确定性加权
        clip_probs = clip_model.predict(F)
        H = -sum(p * log(p + eps) for p in clip_probs)
        w = exp(-beta * H)
        
        # 4. M步:更新参数
        n_t_new = n_t - 1 + w
        
        for y in range(K):
            N[y] = N[y] + w * gamma[y]
            pi[y] = N[y] / n_t_new
            mu[y] = (N[y] * mu[y] + w * gamma[y] * F) / (N[y] + w * gamma[y])
        
        # 更新协方差矩阵
        Sigma = update_covariance(F, mu, Sigma, gamma, w, n_t_new)
        n_t = n_t_new
        
        # 5. 融合预测
        clip_logits = clip_model.get_logits(F)
        gda_logits = compute_gda_logits(F, mu, Sigma, pi)
        final_logits = clip_logits + alpha * gda_logits
        
        yield predict(final_logits)

实验结果

实验设置

数据集

  • 跨域基准:FGVCAircraft、Caltech101、StanfordCars、DTD、EuroSAT、Flower102、Food101、OxfordPets、SUN397、UCF101
  • 分布外基准:ImageNet-A、ImageNet-V2、ImageNet-R、ImageNet-S

实现细节

  • 基础模型:CLIP (ResNet-50 / ViT-B/16)
  • 超参数:
  • 测试设置:批量大小为1,严格遵循TTA设定

跨域分类结果

方法平均准确率T.D.Avail.T.F.
CLIP-ViT-B/1664.59%
TPT65.10%
TDA67.53%部分
MTA64.63%
ZERO64.66%
FreeTTA68.42%

FreeTTA在满足所有三个核心特性的同时,在跨域基准上达到最优性能。

分布外泛化结果

方法ImageNetIN-AIN-V2IN-RIN-S平均OOD
CLIP-ViT-B/1661.20%68.34%49.89%77.65%48.24%59.42%
TPT62.44%68.98%54.77%77.06%47.94%60.81%
TDA65.01%69.51%60.11%80.24%50.54%63.89%
FreeTTA65.58%70.21%61.41%80.49%50.88%64.42%

消融实验

配置平均准确率相对基线提升
Zero-Shot CLIP64.59%
FreeTTA(完整)68.42%+3.83%
-均值向量更新64.64%+0.05%
-协方差矩阵更新67.07%+2.48%
-VLM先验67.78%+3.19%

关键发现

  1. 均值向量更新贡献最大,动态调整类特征中心对适应目标域至关重要
  2. 协方差矩阵更新使模型能够捕捉类内变异性,提高分类性能
  3. VLM先验整合有效降低高不确定性样本的噪声影响

计算效率

方法测试时间ImageNet准确率
TPT~10小时68.98%
TDA~13分钟69.51%
FreeTTA~30分钟70.21%

FreeTTA在保持高效的同时实现了更高的准确率,平衡了计算成本与性能收益。

与相关工作的关系

与传统EM算法的联系

FreeTTA是在线EM算法在测试时自适应领域的创新应用。与传统EM(如EM算法)相比:

方面传统EMFreeTTA在线EM
数据类型静态批量数据动态流式数据
隐变量类别分配样本-类别归属
参数更新批量迭代逐样本在线更新
先验来源均匀或手动设定VLM零样本预测

与其他TTA方法的对比

SNAP:同样关注TTA的效率优化,但采用稀疏更新策略。FreeTTA通过显式建模目标分布实现更精确的自适应,而SNAP通过降低更新频率提高效率。两者可互补:SNAP的高效采样策略可与FreeTTA的分布建模结合。

NEO:同样追求无优化的测试时自适应。与NEO不同,FreeTTA通过在线EM显式建模测试数据分布,而非仅依赖模型预测的一致性约束。

与贝叶斯TTA方法的关系

FreeTTA与BCA/BCA+等贝叶斯TTA方法共享概率建模的理念,但关键区别在于:

  • FreeTTA:基于高斯判别分析的显式分布建模,在线EM参数更新
  • BCA+:基于动态缓存的贝叶斯推断,自适应类先验更新

两者都体现了无需反向传播的训练自由TTA的设计理念。

局限性

  1. 小规模领域漂移:当领域漂移较小时,动态自适应的效果有限
  2. 高噪声样本:置信度较低的样本可能导致不稳定的参数更新
  3. 无标注评估:测试域缺乏标注数据使得自适应效果难以精确评估
  4. 预训练依赖:仍依赖预训练VLM(如CLIP),其固有偏差可能传播到下游任务

总结

FreeTTA提出了一种优雅的测试时自适应框架,通过在线EM算法显式建模测试数据分布,实现了三个核心特性的同时满足:

  1. 目标分布建模:首次利用样本间的内在关系增强单个样本预测
  2. 可用性:无需访问或存储历史测试数据
  3. 训练自由:避免耗时的梯度优化,保持稳定性

FreeTTA的核心创新在于:

  • 将高斯判别分析与在线EM结合,无需同时访问测试样本
  • 利用VLM零样本预测作为先验,并通过熵加权机制增强鲁棒性
  • 在15个数据集上实现稳定且显著的提升,验证了方法的有效性

这项工作为VLMs的测试时自适应提供了新的研究视角,强调了显式建模目标分布的重要性。

参考文献

Footnotes

  1. Dai Q, Yang S. Free on the Fly: Enhancing Flexibility in Test-Time Adaptation with Online EM[C]. Proceedings of the IEEE/CVF Conference on Computer Vision and Pattern Recognition (CVPR), 2025: 9538-9548. arXiv:2507.06973