Learn from the Learnt: Source-Free Active Domain Adaptation via Contrastive Sampling and Visual Persistence¶
会议: ECCV 2024
arXiv: 2407.18899
代码: 有 (https://github.com/lyumengyao/lftl)
领域: LLM评测
关键词: 无源域适应, 主动学习, 对比采样, 视觉持久性, 域迁移
一句话总结¶
提出 LFTL(Learn from the Learnt)框架,通过对比主动采样(CAS)和视觉持久性引导适应(VPA)两个核心模块,在无源数据、极少量目标标注(≤5%)的条件下实现高效域适应,在 VisDA-C 上仅用 1% 标注即达到 87.4% 准确率。
研究背景与动机¶
域适应的现实困境¶
深度神经网络在训练数据与测试数据分布一致时表现优异,但面对域偏移(domain shift)时性能急剧下降。域适应(DA)旨在将源域知识迁移到目标域。然而,现有 DA 方法面临两个严峻的现实约束:
源数据不可获取:由于严格的数据保护法规和存储/计算资源限制,适应阶段往往无法访问源域数据。无源域无监督适应(SFUDA)方法虽然不需要源数据,但由于缺乏任何域的确定性监督信号,适应的病态性(ill-posedness)被加剧,性能存在天花板。
少量标注可行但未被利用:目标域样本在适应阶段是完全可获取的,投入少量标注即可带来巨大性能收益。因此,Source-Free Active DA(SFADA)是一个更实际的设定——不用源数据,同时用最小标注预算主动查询目标域标签。
SFADA 的三重新挑战¶
将"无源数据"和"主动学习"结合带来独特挑战:
查询选择难:一般的主动学习准则(entropy、margin 等)在域偏移下失效;ADA 方法通常依赖源数据来识别差异性目标样本,在无源设定下不可用
跨域对齐难:没有源数据,无法通过最小化分布散度进行流形对齐,但标注成本提高了性能预期
持续改进难:迭代式查询-适应过程需要保证每轮都有性能提升
已有方法的不足¶
- MHPL:集成三种主动学习策略,但依赖源不相似度指标,仅能做一轮采样,无法保证持续改进
- SALAD:引入额外的 Guided Attention Transfer Network,计算开销大且标注利用效率低
- SFUDA 方法(SHOT++等):不使用任何标注,VisDA-C 上需 21.6K 迭代(5.8h)达到 87.3%;而 LFTL 仅需 780 迭代(0.3h+1.83h标注)即达 87.4%
核心洞察:"从已学中学"¶
源域知识封装在预训练模型 \(\mathcal{M}_s\) 中;每轮主动学习后,前一轮模型 \(\mathcal{M}_t^{(r-1)}\) 也封装了已学到的目标知识。利用中间结果——前一轮的假设(hypothesis)和特征表示——是零额外开销的信息源。
方法详解¶
整体框架¶
LFTL 交替执行两个阶段: 1. 对比主动采样(CAS):利用前一轮模型的假设,查询当前最具信息量的目标样本 2. 视觉持久性引导适应(VPA):利用前几轮模型提供的特征表示,引导目标域分布对齐
给定源预训练模型 \(\mathcal{M}_s\) 和总标注预算 \(B\),进行 \(R\) 轮迭代,每轮查询 \(b = B/R\) 个样本并适应模型。
关键设计¶
1. 对比主动采样(Contrastive Active Sampling, CAS)¶
功能:在每轮主动学习中,从未标注目标样本池中选择最具信息量的 \(b\) 个样本请求标注。
核心思路:受对比解码(contrastive decoding)启发,比较当前模型 \(\mathcal{M}_t^{(r)}\) 和前一轮模型 \(\mathcal{M}_t^{(r-1)}\) 的预测分布差异,以此识别"仍然困难"的样本:
- 当 \(r=0\)(首轮):直接使用源模型预测
- 当 \(r>0\):对比当前模型与前一轮模型的预测,放大两轮间的差异
在对比解码后的预测 \(\tilde{\mathbf{p}}\) 上,采用 Best-versus-Second-Best (BvSB) 作为不确定性指标:
\(u_{cm}\) 越小 → 样本越不确定、越新颖 → 优先查询标注。
类别平衡因子:为避免某些"容易迁移"的类别被过度采样,引入类别可迁移性估计 \(u_{ct}\):统计高置信样本中各类别的频率,频率高的类别表示迁移容易,权重被降低。最终混合准则:
设计动机:(1) 利用前一轮模型作为"对照"是零成本的,无需额外计算;(2) 对比解码同时考虑了个体不确定性和时间维度的进展停滞性;(3) 类别平衡因子避免了域偏移下的类别采样偏差。
2. 视觉持久性引导适应(Visual Persistence-guided Adaptation, VPA)¶
功能:利用主动标注样本作为锚点,引导未标注样本的特征分布对齐。
核心思路:将主动标注的样本作为"代表锚点",通过软相似度最小化鼓励未标注样本聚集到最近锚点周围:
其中 \(\mathbf{d}_{tu} = \delta[\mathcal{D}(f_e(x_{tu}), \mathbf{f}(\mathcal{T}_l))]\) 是未标注样本与所有锚点间的归一化余弦距离向量。
持久性记忆库:关键创新在于,锚点的特征表示不是仅用当前模型计算,而是通过指数移动平均(EMA)融合历史模型的判断:
这确保了源域知识和中间轮学到的域不变知识不会在迭代中遗忘。
设计动机:(1) 无源数据时无法直接做分布对齐,用标注锚点近似源分布结构;(2) EMA 持久性记忆库解决了迭代式适应中的"灾难性遗忘"——每一轮的域不变信息被有效保留;(3) 不使用伪标签,避免误差累积。
3. 熵最小化正则¶
引入标准的熵最小化损失促进判别性特征:
损失函数 / 训练策略¶
总损失由三部分组成:
- \(\mathcal{L}_{ce}\):标注样本上的标准交叉熵
- \(\mathcal{L}_{vpa}\):视觉持久性引导的未标注样本聚类损失
- \(\mathcal{L}_{ent}\):未标注样本的熵最小化
训练极其高效:VisDA-C 上整个查询-适应过程仅需 780 次训练迭代(0.3h),加上估计的标注时间(1.83h),总时间远低于 SFUDA 方法 SHOT++ 的 5.8h。
实验关键数据¶
主实验:VisDA-C(ResNet101)¶
| 方法 | 设定 | 标注% | 平均准确率(%) |
|---|---|---|---|
| SHOT++ | SFUDA | 0% | 87.3 |
| MHPL | SFADA | 5% | 85.9 |
| SALAD | SFADA | 5% | 86.1 |
| LADA | ADA(需源数据) | 5% | 87.5 |
| LFTL(本文) | SFADA | 1% | 87.4 |
| LFTL(本文) | SFADA | 5% | 89.0 |
LFTL 仅用 1% 标注即超越 SHOT++(0% 标注但需 27 倍训练迭代),5% 标注时超越需要源数据的 LADA。
消融实验:组件贡献(VisDA-C, 5% 标注)¶
| 配置 | 准确率(%) | 说明 |
|---|---|---|
| 源模型(无适应) | 52.3 | 基线 |
| + 标准主动学习(Entropy) | 82.1 | 域偏移下一般主动学习准则效果有限 |
| + CAS(不含类别平衡) | 85.7 | 对比采样带来显著提升 |
| + CAS(含类别平衡) | 86.3 | 类别平衡因子进一步改善 |
| + CAS + VPA(无EMA) | 87.5 | 锚点聚类引导有效 |
| + CAS + VPA(含EMA持久记忆) | 89.0 | EMA 防止遗忘,全组件最优 |
关键发现¶
- 效率惊人:在 VisDA-C 上,LFTL 的整个查询+适应流程比 SHOT++ 快 17 倍(780 vs 21.6K 迭代),且无需源数据
- 持续改进:随着标注预算从 1% 增加到 5%,性能持续稳步提升(87.4→89.0),MHPL 等方法缺乏这种保证
- 主动采样时间节省 25%:相比 ADA SOTA(LADA),采样阶段速度提升 25%,适应速度提升约 17 倍
- 通用性强:在 Office-31、DomainNet、VisDA-C 三个不同规模基准上均达到 SFADA SOTA
亮点与洞察¶
- "对比解码"思想的迁移:将 NLP 中对比解码应用到主动学习场景,用前后模型的假设差异来识别新颖样本,思路简洁优美
- 零额外开销的关键思想:CAS 和 VPA 利用的都是迭代过程中自然产生的中间结果(前一轮模型、前几轮特征),不引入任何额外计算
- EMA 持久记忆库的优雅设计:用动量更新融合历史和当前的特征判断,一行公式解决了多轮迭代中的遗忘问题
- 不使用伪标签:在无源、少标注的极端条件下避免了伪标签带来的错误累积
局限与展望¶
- 仅验证了闭集DA:未探索开放集、部分集、通用DA等更复杂的语义偏移场景
- 对比采样的超参敏感性:\(\alpha\), \(\lambda\), \(\kappa\) 等超参需要调优,不同数据集可能需要不同配置
- 未探索检测/分割任务:实验聚焦分类任务,域适应在目标检测和语义分割上的适用性未验证
- 标注预算分配策略:固定每轮标注 \(b = B/R\) 个样本,未探索自适应预算分配
相关工作与启发¶
- SHOT++ [NeurIPS 2021]:SFUDA 强基线,本文证明少量标注可以大幅超越纯无标注方法
- LADA [CVPR 2022]:ADA SOTA,依赖源数据;LFTL 在不用源数据的条件下接近甚至超越其性能
- 对比解码 [ACL 2023]:NLP 中的技术,启发了 CAS 的设计
评分¶
- 新颖性: ⭐⭐⭐⭐ — SFADA设定虽非首创,但CAS和VPA的设计思路新颖自然
- 实验充分度: ⭐⭐⭐⭐ — 三个基准全面验证,消融详尽,效率对比充分
- 写作质量: ⭐⭐⭐⭐ — 问题动机层层递进,方法符号系统清晰
- 价值: ⭐⭐⭐⭐ — 对实际部署场景有较强参考价值,效率优势突出