**域泛化(DG)**解决了一个机器学习 (machine learning)中的重要难题:如何才能仅使用一个或多个源域的数据来训练模型,使其在部署后遇到的未见目标域上表现出良好的泛化能力,而无需任何进一步的适应调整?这是一个更具雄心且通常更实际的挑战,尤其是在传统域适应方法(通常需要在适应调整阶段访问目标域数据,即使是未标注的)不可行的情况下。
设想一下,在一个医学图像分析模型上使用医院A和医院B的数据进行训练。如果之后我们从医院C获得了未标注的数据,域适应可能会有助于调整此模型。然而,域泛化旨在高效地利用医院A和B的数据训练初始模型,使其能够在医院C、医院D以及其他可能的医院中“即插即用”地运行,并取得相当不错的效果,即便它们的成像方案或患者群体以意想不到的方式不同。这对于在不受控制的环境中部署视觉系统很重要,因为未来数据分布的确切属性无法完全预料。
域泛化的问题
正式地说,假设我们有N个源域,表示为S={D1,D2,...,DN}。每个源域Di由从特定数据分布Pi(X,Y)中获取的数据样本和标签{(xji,yji)}j=1ni组成。其决定性特征是这些源分布彼此不同,即当i=k时,Pi=Pk。这些差异可能源于光照、背景、视角、传感器类型、图像风格或其他因素的变化。
域泛化的目标是,仅使用可用源域S中的数据,学习一个以θ为参数 (parameter)的模型fθ,使得这个单一模型在一个从分布PT(X,Y)中获取的新的、未见的目标域DT上表现出最小的预期损失(风险)。重要的一点是,PT与所有源分布Pi都不同,并且DT在训练过程中完全不可用。在数学上,我们希望解决以下问题:
θminE(x,y)∼PT[L(fθ(x),y)]限制条件为仅在 S 上训练
其中L是任务特定的损失函数 (loss function)(例如,分类的交叉熵)。
学习方式的比较。域泛化旨在训练一个在多个源域(蓝色阴影)上表现良好的模型,使其在完全未见的目标域(红色)上也能有良好表现,且在训练或适应调整期间不访问目标数据。
域泛化中的挑战
域泛化本身就存在困难,因为模型必须在训练中观察到的变化之外进行推断。主要挑战包括:
- 学习域不变表示: 核心思想是学习那些能够捕捉与任务相关的潜在语义(例如,“猫”的形状),同时丢弃表面的、域特定的特性(例如,背景杂乱、图像风格、光照条件)的特征。实现这种不变性并非易事。
- 源域过拟合 (overfitting): 简单地在源域的并集上训练的模型,可能只是记忆这些特定域的特性,包括那些可能仅在训练数据中成立的虚假相关性。当遇到这些相关性失效的新域时,这会导致性能不佳。
"3. 有限且有偏差的源域: 数据收集通常只能得到少数几个源域,这可能无法充分体现所有可能的变化范围。模型的泛化能力在很大程度上依赖于源数据的多样性和代表性。"
域泛化的方法
已发展出几类技术来解决这些挑战:
数据处理与增强
一种直观的方法是,在训练期间明确地让模型接触更广泛的变化,希望这有助于增强鲁棒性。
- 多样数据增强: 超越标准的数据增强(翻转、裁剪),可以应用于源数据的方法包括风格迁移(例如,使用CycleGAN改变艺术风格)、纹理随机化、极端的颜色/对比度变化,或模拟不同的天气条件。
- 域随机化: 在机器人技术(从模拟到现实的迁移)中特别常用,这涉及在模拟数据上训练模型,其中非必要参数 (parameter)(如光照、纹理、物体位置)被大量随机化。其考虑是,如果模型见到足够多的变化,现实世界就会显得只是它能够处理的另一种变化。
表示学习
这些方法侧重于塑造模型学习到的特征空间以促进不变性。
- 域对齐 (alignment): 旨在明确地最小化来自不同源域的特征分布之间的差异。这可以使用统计距离度量(如最大均值差异,MMD)或对抗学习来实现。在对抗设置中,域分类器尝试识别特征表示的源域,而特征提取器被训练以生成欺骗该分类器的特征,从而使表示与域无关。与域适应(DA)对齐源域和目标域不同,域泛化(DG)侧重于将多个源域相互对齐。
- 特征解耦: 这些方法尝试将学习到的特征分离成不同的组成部分:域不变因素(对主要任务有用)和域特定因素(捕捉干扰变化)。理想情况下,这种分离使得模型可以仅依赖不变特征进行预测。
- 基于梯度的正则化 (regularization): 不变风险最小化(IRM)等方法假设,一个因果或不变的预测器应该在所有域上同时表现最佳。例如,IRM旨在找到一种数据表示,使得最佳分类器对所有源域都相同。这通常通过添加与不同域上损失梯度相关的正则化项来实现。
学习策略
这些方法修改整体训练过程。
- 元学习: 将每个源域视为一个相关的“任务”,元学习算法可以应用于域泛化。模型学会如何从域特定数据中学习或适应,通常通过在元训练期间模拟源域间的训练/验证划分来实现。其目标是学习能够良好泛化或快速适应新域的模型参数。
- 集成方法: 训练多个模型(可能使用不同的超参数 (hyperparameter)、初始化、源域子集,甚至不同的架构)并平均其预测结果,通常比单个模型带来更好的泛化能力和鲁棒性。
实际考虑因素
在处理域泛化问题时:
"* 基准数据集: 标准的域泛化基准数据集对于评估必不可少。例子包括PACS(照片、艺术画、卡通、素描)、OfficeHome(艺术风格、剪贴画、产品图、图像)、VLCS(Caltech101、LabelMe、SUN09、VOC2007)和DomainNet(剪贴画、信息图、油画、快速绘图、真实、素描)。这些数据集提供的数据被明确地划分为不同的域。"
- 评估规程: 标准规程是“留一域交叉验证”。如果你有N个源域,你会训练N个独立模型。每个模型在N−1个域上训练,并在单个留出域上评估。报告所有留出域的平均性能。这模拟了遇到一个真正未见域的情景。
- 方法选择: 不同域泛化方法的有效性高度依赖于域偏移的性质(例如,外观偏移与语义偏移)以及可用源域的数量和多样性。通常需要进行实验。
- 组合方法: 不同方法之间常有相互促进作用。例如,结合强大的数据增强和表示对齐 (alignment)技术,可能比单独使用任何一种方法取得更好的结果。
域泛化标志着在构建在开放环境中可靠的AI系统方面迈出了重要一步。通过侧重于学习本质上能够抵御分布偏移的表示和策略,域泛化旨在克服模型与其特定训练数据紧密关联的局限性,拓展了预训练 (pre-training)模型适应和部署的有效性边界。它仍然是一个活跃且具有挑战性的研究方向,不断发展,涌现 (emergence)出新的见解和技术。