Domain Generalization: A Survey
图1. framework of survey
1. Abstract
大多数学习算法强烈依赖于源/目标数据上的同分布假设,而在实践中由于域移位常常违反这一假设,领域泛化(Domain generalization, DG) 旨在通过仅使用源数据进行模型学习来实现OOD的泛化。
2. INTRODUCTION
关于如何处理域偏移的研究已在文献中广泛开展,绕过OOD数据问题的一个直接解决方案是从目标域收集一些数据,以适应一个经过源域训练的模型,事实上,区域适应(Domain Adaptation, DA)问题已经得到了广泛关注,然而,DA依赖于一个强大的假设,即目标数据可用于模型调整,这在实践中并不总是成立的。(依赖于target data的质量,或者target data所处的边缘分布和的关系)。
为了克服域漂移和目标数据缺失的问题,引入了域泛化(DG)问题,具体来说,DG的目标是使用来自单个或多个相关但不同的源域的数据来学习模型,以便该模型能够很好地推广到任何OOD目标域。
3 BACKGROUND
3.1 A Brief History of Domain Generalization
3.2 Problem Definition
学习不变特征表达P(Y|X)!
联合分布、边缘分布、后验分布、条件分布
图2. domain shift/multi/single
Multi-Source DG
研究DG的最初动机是利用多源数据来学习对不同边际分布不变的表示。
Single-Source DG
3.3 Datasets and Applications
图2. Datasets and Applications
Handwritten Digit Recognition
Object Recognition
Action Recognition
Semantic Segmentation
Person Re-Identification (Re-ID)
Person re-ID本质上是一个实例检索任务,旨在在不相交的摄像机视图(每个视图被视为不同的域)中匹配人;人脸识别也是类似。 域偏移通常发生在图像分辨率、视点、光照条件、背景等方面。
Face Recognition
即使是在MS-Celeb1M这样的大规模数据集上训练的深度模型,在部署在具有以前未见领域的新数据集时,如低分辨率、光照/遮挡/头部姿势的大变化或截然不同的视点时,性能也会大幅下降。
Face Anti-Spoofing
Speech Recognition
将每个说话者视为一个域。和gaze estimation有点类似,都有点 personality级别的adaptation
Sentiment Classification
3.4 Evaluation
Evaluation Metrics
主要采用【留一域】(leave-one-domain-out)方式,保证至少有一个作为目标域来衡量算法性能。 文章提到:值得注意的是,一些数据集包含标签移位,这意味着源和目标之间的标签空间发生了变化(称为标签移位),在这种情况下,源域学习到的表示可直接使用。 平均性能(average):关注的是目标域的平均性能,在大多数域偏移场景中使用。 最差性能(worst-case):在sub-population shift 场景使用 Model Selection
3.5 Related Topics
3.5.1 Supervised Learning
SL估计P(X,Y), 且严重依赖于i.i.d.假设,而SL和DG的关键区别在于后者的训练和测试数据来自不同的分布,从而违反了i.i.d.假设
3.5.2 Multi-Task Learning (MTL)
P(X,Y)严重依赖于i.i.d.假设,SL和DG的关键区别在于后者的训练和测试数据来自不同的分布,从而违反了i.i.d.假设
3.5.3 Transfer Learning (TL)
TL和DG的一个关键区别在于是否使用目标数据,在TL中,新的下游任务的模型微调需要目标数据,而在DG中,我们假设不能访问目标数据,因此更多地关注模型泛化。此处的TL直接应用用于target domain了,而不是facilitate downstream task
3.5.4 Zero-Shot Learning (ZSL)
ZSL的分布偏移主要是由标签空间的变化引起的,因为任务是识别新类,除了广义ZSL在测试时同时考虑新类和旧类;而在DG中,偏移主要来自协变量偏移,为了在ZSL中识别不可见的类,通常的做法是学习输入图像空间和属性空间之间的映射,因为训练数据和测试数据之间的标签空间是分离的。
DG的domain gap 协变量偏移,应该比标签空间gap小 训练集由照片组成,而测试集只包含卡通。在一个看起来与测试集有着本质不同的数据集上进行训练,而不考虑如何适应新的情况 统计学家称这种协变量变化是因为问题的根源在于特征分布的变化(即协变量的变化)。数学上,我们可以说P(x)改变了,但P(y∣x)保持不变。尽管它的有用性并不局限于此,当我们认为x导致y时,协变量移位通常是正确的假设。
当我们认为导致偏移的是标签P(y)上的边缘分布的变化,但类条件分布是不变的P(x∣y)时,就会出现相反的问题。当我们认为y导致x时,标签偏移是一个合理的假设。
3.5.5 Domain Adaptation (DA)
DA利用与任务无关但与目标域相关的数据(相当于访问边缘): 少量数据,相当于边缘
3.5.6 Test-Time Training (TTT)
一方面,TTT(大部分)与无源DA有相似之处—两者都假设在模型训练后源数据不可访问,另一方面,TTT与DA的不同之处在于,只有单个或小批的测试数据用于模型调优,这通常是通过在线方式完成的;
4 METHODOLOGIES
4.1 Domain Alignment
大多数现有的DG方法都属于域对齐的类别,其中心思想是最小化源域之间的差异,以便学习域不变表示。
4.1.1 What to Align
DG中一个常见的假设是,分布偏移只发生在边缘P (X),而后端P (Y|X)保持相对稳定
4.1.2 How to Align
【回归任务分析】
回归任务的输出是连续的,而分类任务的输出是离散的。 这意味着回归任务的输出空间通常是无限的,而分类任务的输出空间通常是有限的。这给域对齐带来了更大的挑战,因为需要找到一个合适的距离度量来衡量不同域之间的差异。
回归任务的输出通常与输入有着复杂的非线性关系,而分类任务的输出通常可以通过线性或简单的非线性变换得到。这意味着回归任务需要更复杂和灵活的模型结构,而分类任务可以使用较简单和固定的模型结构。
回归任务的输出可能存在标签偏移或区间偏移等问题,而分类任务的输出通常只存在类别偏移问题。这意味着回归任务需要考虑更多的因素来进行域对齐,而分类任务可以简化为对齐边际分布或类条件分布。
4.2 Meta-Learning
DG中一个常见的假设是,分布偏移只发生在边缘P (X),而后端P (Y|X)保持相对稳定。 多数基于DG的元学习方法都遵循该范式:将源域划分为不重叠的元源域和元目标域,模拟域偏移。学习的目标是使用元源域更新模型,从而减少元目标域上的测试误差,通常通过两级优化来实现。
图2. meta_learning
【回归任务分析】
Meta-learning是一种元学习的方法,它可以让机器学习算法从其他算法的输出中学习。Meta-learning可以用于分类和回归等不同的任务,但是在回归任务上的应用相对较少,也比较困难。原因可能有以下几点:
回归任务的输出是连续的,而分类任务的输出是离散的。这意味着回归任务的损失函数和评估指标通常更加复杂和敏感,需要更多的数据和更精细的调整。 回归任务的输出空间通常是无限的,而分类任务的输出空间通常是有限的。这意味着回归任务需要更强的泛化能力,而分类任务可以利用类别之间的相似性和差异性。
综上所述,meta-learning在回归任务上面临着更多的挑战和限制,因此难以提升泛化能力。
4.3 Data Augmentation
图3. Data Augmentation
4.3.1 Image Transformations
可以根据特定的下游任务选择转换,例如,通过综合有意义的变化,如降低图像分辨率、添加遮挡和改变头部姿势,解决了人脸识别中的普遍特征学习问题。 因为图像转换可以很好地模拟由设备相关的领域转移引起的颜色和几何形状的变化,例如在不同的医疗中心使用不同类型的扫描仪
4.3.2 Task-Adversarial Gradients
一些数据增强方法基于使用从任务分类器获得的对抗性梯度来干扰输入图像
4.3.3 Domain-Adversarial Gradients
训练一个域分类器,并使用它的对抗性梯度来干扰输入图像,直观地说,通过使用域无关的图像进行学习,任务模型可以学习更多的域不变模式。
【回归任务分析】
梯度对抗技术是一种利用梯度信息生成对抗样本的方法,它可以让机器学习算法在训练过程中增强鲁棒性和泛化能力。梯度对抗技术可以用于分类和回归等不同的任务,但是在回归任务上的应用相对较少,也比较困难。原因可能有以下几点:
回归任务的输出是连续的,而分类任务的输出是离散的。这意味着回归任务的输出空间通常是无限的,而分类任务的输出空间通常是有限的。这给梯度对抗技术带来了更大的挑战,因为需要找到一个合适的扰动范围和幅度来生成有效的对抗样本。
回归任务的输出可能存在标签偏移或区间偏移等问题,而分类任务的输出通常只存在类别偏移问题。这意味着回归任务需要考虑更多的因素来进行梯度对抗训练,而分类任务可以简化为对齐边际分布或类条件分布。
4.3.4 Random Augmentation Networks
4.3.5 Feature-Based Augmentation
特征级增强,由于观察到CNN特征统计信息捕获了图像样式,MixStyle通过在不同域的实例之间混合CNN特征统计信息实现了风格增强,Mixup被应用于混合像素和特征空间中不同域的实例。 目前新的方向,使用CLIP等多模态模型在semantic层面对feature进行增强。
Feature-Based Augmentation是一种利用特征信息生成虚拟样本,并用这些虚拟样本来训练模型的方法,它可以让模型在半监督学习的场景下提高泛化能力。以下是对Feature-Based Augmentation技术的详细分析介绍:
动机目的:
Feature-Based Augmentation技术的动机是为了解决半监督学习中的数据稀缺问题,即只有一小部分数据有标签,而大部分数据没有标签。这个问题会导致模型在训练过程中缺乏有效的监督信号,从而影响模型的泛化能力。通过在特征层面上生成虚拟样本,可以让模型利用无标签数据的潜在信息,从而提高模型的泛化能力。
技术路线分类:
Feature-Based Augmentation技术可以分为两类,一类是基于特征噪声的方法,另一类是基于特征变换的方法。
基于特征噪声的方法是指在特征向量上加入一些随机或有规律的噪声向量,从而生成虚拟特征向量。 例如,有些工作提出了一种基于网络权重矩阵的特征噪声方法,它根据权重矩阵生成一个与之正交的噪声向量,并将其加到特征向量上,从而生成一个稳定的虚拟特征向量。
基于特征变换的方法是指对特征向量进行一些变换或合成,从而生成虚拟特征向量。 例如,有工作提出了一种基于聚类和内插的特征变换方法,它首先通过聚类得到不同类别的原型表示,并根据原型表示对特征向量进行内插或外推,从而生成一个多样化的虚拟特征向量。
优缺点: Feature-Based Augmentation技术的优点是它可以有效地生成虚拟样本,并且可以用于不同的机器学习任务和模型,如分类、回归、生成等。另外,Feature-Based Augmentation技术还可以提高模型的对抗鲁棒性,即让模型能够抵抗或适应不同类型和程度的对抗攻击 。
Feature-Based Augmentation技术的缺点是它需要计算模型的特征信息和权重矩阵,这可能会增加计算成本和时间,并且可能会受到一些防御策略(如梯度掩盖、随机化等)的影响 。另外,Feature-Based Augmentation技术生成的虚拟样本可能不具有可转移性,即在一个模型上有效的虚拟样本在另一个模型上可能无效 。
Feature-based Augmentation 是一种半监督学习方法,它通过在特征空间中进行非参数的特征细化和增强,来提高分类任务的性能。它利用了通过聚类提取的类内和跨类原型表示中的信息,来生成不同的特征变换。它还结合了传统的基于图像的数据增强和一致性正则化,来减少标签不平衡和过拟合的问题。 Feature-based Augmentation 技术难以用在回归任务上,可能有以下几个原因:
回归任务的目标变量是连续的,而不是离散的类别。这意味着回归任务需要更精确地拟合目标变量的分布,而不是简单地区分不同的类别。
回归任务的特征空间可能更复杂和高维,导致聚类和特征变换更困难和不稳定。特征变换可能会破坏特征之间的相关性和线性关系,从而影响回归模型的性能。
回归任务的评估指标通常是均方误差或均方根误差,而不是准确率或 F1 分数。这些指标对于特征变换后的数据可能更敏感和严格,因为它们反映了预测值和真实值之间的绝对差异,而不是相对差异。
4.4 Ensemble Learning
4.5 Self-Supervised Learning
4.6 Learning Disentangled Representations
要么基于分解,要么基于生成建模,都需要域标签来进行特征解纠缠。
4.6.1 分解
实现解纠缠表示学习的一种直观方法是将模型分解为两个部分,一个是领域特定的,而另一个是领域无关的。 另一种解决方案是对模型的权重矩阵进行低秩分解,以识别更一般化的公共特征。
4.6.2 生成模型
生成模型已经成为学习解纠缠表示的强大工具,使用变分自编码器(VAE)分别学习类、域和对象的三个独立潜在子空间,以对抗的方式学习两个独立的编码器,分别捕获身份信息和域信息,用于跨域活体检测。