一句话定义: 领域自适应(Domain Adaptation)是让在源领域(source domain)上训练好的模型,在目标领域(target domain)数据分布不同、目标标注很少甚至没有时,仍能保持可用的一类方法。典型场景:训练数据来自白天晴天,部署在夜晚雨天;训练数据来自 A 医院设备,部署到 B 医院设备。
为什么难? 模型常学到源领域的“捷径”。比如识别车辆靠的是阳光反光、特定颜色。目标域光照一变,输入分布发生协变量偏移(covariate shift),模型就懵了。领域自适应通常假设任务本身没变——都是识别车辆,变的是数据分布和部分条件关系。
打个生活化的比方: 你在驾校场地练车,教练坐旁边,每条线都有标注。现在要开夜路、雨天山城。你不可能把全城每条路重新请教练标一遍。领域自适应做的事,是让你把驾校技能迁移过去:把夜间雨景“翻译”成白天风格;抓两边共通的线索——车道线、车距、路牌;用少量真实夜路试驾纠偏;或者让系统自己开,把高置信度的判断当临时答案继续学。
常见做法:
- 分布对齐:让源域和目标域的特征在统计上靠近,例如最大均值差异(Maximum Mean Discrepancy, MMD)、CORAL、对抗式域判别器。
- 伪标签与自训练(pseudo-labeling / self-training):给目标域无标注数据打高置信度伪标签,再迭代训练。
- 风格转换:把目标域图像转成源域风格,或反过来,减小表观差异。
- 测试时自适应(Test-Time Adaptation):部署后只看当前输入,在线微调归一化层等少量参数。
- 少样本微调:目标域若有几十条标注,通常比复杂对齐更划算。
和相邻概念的区别:
| 概念 | 目标域数据 | 目标域标注 | 任务是否相同 | 典型目的 | |
|---|---|---|---|---|---|
| 领域自适应 | 通常可见无标注 | 极少或无 | 通常相同 | 缩小分布差 | |
| 微调 AI 词典:Fine-tuning">Fine-tuning | 可见 | 需要较多 | 相同 | 适配新数据 | |
| 域泛化 Domain Generalization | 训练时不可见 | 无 | 相同 | 未见域也稳 | |
| 迁移学习 Transfer Learning | 可见或不可见 | 可多可少 | 可不同 | 复用知识 | |
| 概念漂移 Concept Drift | 可见 | 视情况 | 相同 | 处理 P(y\ | x) 变化 |
实际意义: 对从业者,先分清是输入分布变了还是标签规则变了;优先收集目标域无标注数据;别默认重新标数据,先试对齐、伪标签和测试时自适应,上线后监控漂移。对普通人,这解释了为什么同一模型换城市、换季节、换设备就变笨,也说明很多情况下不必重标百万数据,也能把模型救回来。具体工具和接口以官方页面为准。
