领域泛化
领域泛化(Domain Generalization, DG)是迁移学习中更具挑战性的一个分支。与领域自适应(Domain Adaptation)不同,领域泛化要求模型在训练时完全无法访问目标域的任何数据(包括无标注数据),但仍然需要在未见过的目标域上取得良好的泛化性能。
核心问题
在实际部署中,训练环境和测试环境往往存在分布差异。例如,在一个特定光照条件下拍摄的照片上训练的分类器,可能在其他光照条件下表现不佳。领域自适应虽然可以缓解这一问题,但它需要目标域的(至少是无标注)数据,这在许多实际场景中并不可行。领域泛化的目标是在不接触任何目标域数据的前提下,训练出能够鲁棒地泛化到各种未知目标域的模型。
方法分类
领域泛化的主流方法可以分为以下几类:
1. 数据增强(Data Augmentation)
通过对源域数据进行多样化的增强变换,模拟可能的领域变化,提高模型对不同领域特征的鲁棒性。典型方法包括:
- 传统的数据增强:旋转、缩放、颜色抖动、裁剪等
- 对抗性数据增强:生成具有挑战性的领域偏移样本
- 混合增强:通过插值混合不同领域样本的特征或标签
2. 学习领域不变特征(Domain-Invariant Feature Learning)
通过特定的训练策略,使模型学习到的特征表示在不同领域之间保持一致,从而降低领域偏移的影响。常用技术包括:
- 最大均值差异(MMD)最小化:最小化不同领域特征分布之间的 MMD 距离
- 域对抗训练:通过对抗学习去除特征中的领域相关信息
- 协方差对齐:对齐不同领域特征的统计矩(均值、方差)
3. 元学习(Meta-Learning)
将领域泛化建模为一个元学习问题:在模拟的领域偏移条件下训练模型,使其学会快速适应新的数据分布。典型方法如 MLDG(Meta-Learning for Domain Generalization),将源域划分为元训练集和元测试集,模拟领域偏移以优化模型的泛化能力。
4. 集成方法(Ensemble Methods)
训练多个在不同源域或不同初始化上训练的模型,在测试时集成它们的预测结果。由于不同模型倾向于在不同领域上表现出不同的优势,集成可以有效降低模型对特定领域特征的过拟合。
与领域自适应的区别
| 维度 | 领域自适应 | 领域泛化 |
|---|---|---|
| 目标域数据 | 训练时可访问(至少无标注) | 训练时完全不访问 |
| 目标域数量 | 通常一个或几个已知 | 任意未知 |
| 适用场景 | 目标域可预先确定 | 部署环境不确定 |
| 难度 | 相对较低 | 相对较高 |
挑战
- 分布偏移不可控:目标域的数据分布未知,模型无法针对性地进行调整。
- 过拟合有限源域:可用的源域如果数量少或多样性不足,模型容易过拟合到源域特定的特征上。
- 理论保证有限:在完全不访问目标域的情况下,很难为模型在任意目标域上的表现提供理论保障。
- 评估难题:由于目标域未知,领域泛化方法的评估通常需要在多个不同的测试域上进行,实验设计较为复杂。
应用场景
- 通用计算机视觉模型:在多种拍摄条件、设备、环境下都能稳定工作的视觉模型。
- 跨场景医疗诊断:在不同医院、不同设备采集的医疗影像上都能准确诊断的模型。
- 自动驾驶感知:在不同天气、光照、地理环境中都能可靠运行的感知系统。
- 鲁棒语音识别:在不同噪声环境、口音、录制设备上都能准确识别的语音系统。

链接到
- 上一个知识点:8.6 领域对抗训练
- 下一个知识点:无(本章最后一个知识点)