一篇文章理解Source-Free Domain Adaptation(SFDA)

这篇文章将从Transfer Learning → Domain Adaptation → Unsupervised Domain Adaptation →Source-Free Domain Adaptation 的顺序进行讲解

一、迁移学习(Transfer Learning):解决“知识搬家”的问题

学术视角:

  • 迁移学习的目标是:将一个领域中学到的知识迁移到另一个不同但相关的领域中

  • 给定:

    • 源域(Source domain) D S \mathcal{D}_S DS 和任务 T S \mathcal{T}_S TS
    • 目标域(Target domain) D T \mathcal{D}_T DT 和任务 T T \mathcal{T}_T TT
    • 如果 D S ≠ D T \mathcal{D}_S \ne \mathcal{D}_T DS=DT T S ≠ T T \mathcal{T}_S \ne \mathcal{T}_T TS=TT,那我们就需要做迁移学习。

️ 通俗比喻:

比如你学会了开小轿车(源任务),再去开货车(目标任务),虽然场景变了,但有些经验能迁移,比如方向盘怎么打,刹车怎么踩。


二、领域自适应(Domain Adaptation):数据分布变了

学术视角:

  • 一种特殊的迁移学习场景:源域和目标域任务相同,但数据分布不同,即 P S ( x ) ≠ P T ( x ) P_S(x) \ne P_T(x) PS(x)=PT(x)
  • 目标是:让模型能适应目标域的输入分布,尽可能提升在目标域的预测精度。

️ 通俗理解:

比如你在白天街道拍的照片上训练了行人识别系统,但到了夜晚光线、背景都变了,模型识别能力下降,就需要“适应”夜间环境。


三、无监督领域自适应(Unsupervised Domain Adaptation,UDA):目标域没标签

学术视角:

  • 在领域自适应中,当目标域数据完全无标签时,就成了无监督领域自适应(UDA)。

  • 给定:

    • 源数据 D S = { ( x i S , y i S ) } D_S = \{(x_i^S, y_i^S)\} DS={(xiS,yiS)}
    • 目标数据 D T = { x j T } D_T = \{x_j^T\} DT={xjT},无标签
  • 目标是训练出模型在 D T D_T DT 上有良好性能

️ 通俗例子:

就像你有标注好的英文数据(源),想训练一个模型处理中文(目标)邮件,但手头没中文邮件的标签,只能靠“猜”。


四、源数据不可用(源缺失):引出 SFDA

问题背景:

在 UDA 中,我们还能访问源数据,但很多现实情况下:

  • 医疗图像不能外传(隐私法规)
  • 工业视觉数据涉及商业机密
  • 企业间只提供模型,不共享数据

这就进入了更现实也更艰难的场景:


五、Source-Free Domain Adaptation(SFDA):源数据缺失 + 目标无标签

学术定义:

SFDA 是一种更严格的领域自适应设定,目标是在完全无法访问源数据的前提下,仅依赖一个源模型和无标签的目标数据,训练出在目标域表现良好的模型。

  • 有的只有:

    • 源模型 h S h_S hS:已训练好
    • 目标域数据 D T D_T DT:无标签
  • 没有的:

    • 源数据 D S D_S DS

通俗场景:

你是一家医院的AI研究员,训练好了一个心脏病诊断模型。另一家医院买了你的模型,但你不能给他们训练数据。他们只能拿模型 + 自己新采集的病人图像去做适应,这时他们面临的任务就是 SFDA。


六、SFDA 的困难与挑战

问题 通俗解释
无源数据 没法回去翻“老课本”查自己怎么学的
无标签 没人告诉你“现在这个是什么”
模型边界不对 原来“猫和狗”的分界线,在新图像上失效了
伪标签会误导 自己猜出来的答案,可能一错错到底

七、解决办法的演进(方法演化路径)

方法类型 核心想法 代表方法
自训练(Self-training) 用模型自己猜的标签再训练 SHOT(信息最大化 + 聚类)
对比学习(Contrastive) 图像对之间保持一致性 AdaContrast, SF(DA)²
邻域结构(Neighborhood) 相似样本指导伪标签 NRC
不确定性控制(Uncertainty) 有些不确定就不要强猜 UCon-SFDA(分布鲁棒优化)

你可能感兴趣的:(迁移学习)