Generalizing to Unseen Domains: A Survey on Domain Generalization
代码地址:
https://github.com/jindongwang/transferlearning/tree/master/code/DeepDG
I. Introduction
有许多与泛化相关的研究主题,如领域适应(domain adaptation)、元学习(meta-learning)、迁移学习(transfer learning)、协变量漂移(covariate shift)等等。近年来,领域泛化(DG)引起了广泛的关注。如图1所示,领域泛化的目标是从一个或多个不同但相关的领域(即多样化的训练数据集)中学习一个模型,该模型在未见的测试领域上能够有良好的泛化性能。
contribution
我们提供了关于领域泛化和相关领域适应的理论分析。
我们通过添加新的类别,如causality-inspired methods, generative modeling for feature disentanglement, invariant risk minimization, gradient operation-based methods以及其他学习策略,大幅扩展了方法论,以全面总结这些领域泛化方法。
对于所有这些类别,我们通过包括更多相关算法、比较和讨论,扩展了方法的分析。我们还包括了更多最新的论文(超过30%的新工作)。
我们扩展了数据集和应用领域的范围,还探索了领域泛化的评估标准。最后,我们建立了一个名为DeepDG的开源代码库,用于领域泛化研究,并对公开数据集的结果进行了一些分析。
II. BACKGROUND
A. Formalization of Domain Generalization
在这一部分,我们介绍了本文中使用的符号和定义。
Definition 1 (Domain).
设
\(\mathcal{X}\)
表示一个非空的输入空间,
\(\mathcal{Y}\)
表示一个输出空间。一个领域由从分布中抽样的数据组成。我们将其表示为
\(\mathcal{S}=\left\{\left(\mathbf{x}_i, y_i\right)\right\}_{i=1}^n \sim P_{X Y}\)
,其中
\(\mathbf{x} \in \mathcal{X} \subset \mathbb{R}^d\)
,
\(y \in \mathcal{Y} \subset \mathbb{R}\)
表示标签,
\(P_{X Y}\)
表示输入样本和输出标签的联合分布。
\(X\)
和
\(Y\)
表示相应的随机变量。
Definition 2 (Domain Generalization)
如图2所示,在领域泛化中,我们有
\(M\)
个训练(源)领域
\(\mathcal{S}_{\text{train}}=\left\{\mathcal{S}^i \mid i=1, \ldots, M\right\}\)
,其中
\(\mathcal{S}^i=\left\{\left(\mathbf{x}_j^i, y_j^i\right)\right\}_{j=1}^{n_i}\)
表示第
\(i\)
个领域。每对领域之间的联合分布都不同:
\(P_{X Y}^i \neq P_{X Y}^j, 1 \leq i \neq j \leq M\)
。领域泛化的目标是从这
\(M\)
个训练领域中学习一个稳健且具有泛化能力的预测函数
\(h: \mathcal{X} \rightarrow \mathcal{Y}\)
,以在未见的测试领域
\(\mathcal{S}_{\text{test}}\)
上实现最小的预测误差(即
\(\mathcal{S}_{\text{test}}\)
在训练中无法访问,且对于
\(i \in\{1, \ldots, M\}\)
,
\(P_{X Y}^{\text{test}} \neq P_{X Y}^i\)
):
\[\min_h \mathbb{E}_{(\mathbf{x}, y) \in \mathcal{S}_{\text{test}}}[\ell(h(\mathbf{x}), y)],
\tag{1}
\]
其中
\(\mathbb{E}\)
表示期望,
\(\ell(\cdot, \cdot)\)
表示损失函数。
我们在表I中列出了经常使用的符号。
有几个与领域泛化密切相关的研究领域,包括但不限于:transfer learning, domain adaptation, multi-task learning, multiple domain learning, meta-learning, lifelong learning, and zero-shot learning. 我们在表II中总结了它们与领域泛化的不同之处,并以下简要描述它们。
Multi-task learning [7]:多任务学习同时优化多个相关任务上的模型。
通过在这些任务之间共享表示,可以使模型在原始任务上更好地泛化。
需要注意的是,多任务学习的目标不是增强对新(未见)任务的泛化。特别地,多领域学习是多任务学习的一种形式,它在多个相关领域上进行训练,以学习适合每个原始领域[8]的良好模型,而不是适应新的测试领域。
Transfer learning [9]、[10]、[11]:迁移学习是在源任务上训练模型,旨在提高模型在不同但相关的目标领域/任务上的性能。预训练-微调是迁移学习中常用的策略,其中源领域和目标领域具有不同的任务,且目标领域在训练中可访问。在领域泛化中,目标领域无法在训练中访问,而训练和测试任务通常相同,但具有不同的分布。
Domain adaptation(DA)[12]、[13]:领域适应在近年来也很流行。它旨在最大化利用现有训练源领域来提高给定目标领域上的性能。DA和DG的不同之处在于DA可以访问目标领域的数据,而DG在训练期间无法看到它们。这使得DG比DA更具挑战性,但在实际应用中更现实和有利。
Meta-learning [14]、[15]、[16]:元学习旨在通过从先前的经验或任务中学习来学习学习算法本身,即学会学习。虽然元学习中的学习任务不同,但领域泛化中的学习任务相同。元学习是一种通用的学习策略,可以用于领域泛化[17]、[18]、[19]、[20],通过在训练领域中模拟元训练和元测试任务来提高领域泛化的性能。
Lifelong Learning, or continual learning [21]:终身学习关注多个连续领域/任务之间的学习能力。它要求模型随着时间的推移不断学习,同时容纳新的知识,同时保留先前学到的经验。这与DG不同,因为它可以在每个时间步中访问目标领域,并且不明确处理跨领域的不同分布。
Zero-shot learning [22]、[23]:零样本学习旨在从已见类别中学习模型,并对在训练中未见的类别的样本进行分类。相比之下,领域泛化通常研究的问题是训练和测试数据来自相同的类别,但具有不同的分布。
III. THEORY
在这一部分,我们回顾了与领域泛化相关的一些理论。由于领域适应与DG密切相关,我们从领域适应的理论开始。
A. Domain Adaptation
对于二分类问题,我们将源领域上的真实标签函数表示为
\(h^{* s}:\mathcal{X} \rightarrow[0,1]\)
,目标领域上的标签函数表示为
\(h^{* t}\)
。令
\(h: \mathcal{X} \rightarrow[0,1]\)
为来自假设空间
\(\mathcal{H}\)
的任何分类器。两个分类器
\(h\)
和
\(h^{\prime}\)
之间在源领域上的分类差异可以通过以下方式来衡量:
\[\epsilon^s\left(h, h^{\prime}\right)=\mathbb{E}_{\mathbf{x} \sim P_X^s}\left[h(\mathbf{x}) \neq h^{\prime}(\mathbf{x})\right]=\mathbb{E}_{\mathbf{x} \sim P_X^s}\left[\left|h(\mathbf{x})-h^{\prime}(\mathbf{x})\right|\right]
\tag{2}
\]
类似地,我们可以定义
\(\epsilon^t\)
,当在期望中取
\(\mathbf{x} \sim P_X^t\)
。我们将
\(\epsilon^s(h):=\epsilon^s\left(h, h^{* s}\right)\)
和
\(\epsilon^t(h):=\epsilon^t\left(h, h^{* t}\right)\)
分别表示分类器
\(h\)
在源领域和目标领域上的风险。
DG/DA的目标是最小化目标领域的风险
\(\epsilon^t(h)\)
,但由于我们没有关于
\(h^{* t}\)
的任何信息,因此无法直接访问目标风险。因此,人们试图使用可计算的源风险
\(\epsilon^s(h)\)
来界定目标风险
\(\epsilon^t(h)\)
。Ben-David等人[24](Thm. 1)提供了两种风险之间的界限:
\[\begin{align}
\epsilon^t(h) \leq & \epsilon^s(h)+2 d_1\left(P_X^s, P_X^t\right)\tag{3}\\
& +\min _{P_X \in\left\{P_X^s, P_X^t\right\}} \mathbb{E}_{\mathbf{x} \sim P_X}\left[\left|h^{* s}(\mathbf{x})-h^{* t}(\mathbf{x})\right|\right],\ \tag{4}\\
\end{align}
\]
其中
\(d_1\left(P_X^s, P_X^t\right):=\sup _{\mathcal{A} \in \mathscr{X}}\left|P_X^s[\mathcal{A}]-P_X^t[\mathcal{A}]\right|\)
是两个分布之间的总变差,
\(\mathscr{X}\)
表示
\(\mathcal{X}\)
上的sigma-field。右侧的第二项衡量了跨领域分布的差异,第三项代表标签函数的差异(不事先假定协变量漂移)。
然而,总变差是一种强距离(即往往非常大),可能会放宽边界(4),而且难以使用有限样本来估计。为了解决这个问题,Ben-David等人[24]提出了另一种界限([24],Thm. 2; [25],Thm. 1):
\[\epsilon^t(h) \leq \epsilon^s(h)+d_{\mathcal{H} \Delta \mathcal{H}}\left(P_X^s, P_X^t\right)+\lambda_{\mathcal{H}},
\tag{5}
\]
其中
\(\mathcal{H} \Delta \mathcal{H}\)
-divergence被定义为
\(d_{\mathcal{H} \Delta \mathcal{H}}\left(P_X^s, P_X^t\right):=\)
\(\sup _{h, h^{\prime} \in \mathcal{H}}\left|\epsilon^s\left(h, h^{\prime}\right)-\epsilon^t\left(h, h^{\prime}\right)\right|\)
,用于测量分布差异,而理想的联合风险
\(\lambda_{\mathcal{H}}:=\inf _{h \in \mathcal{H}}\left[\epsilon^s(h)+\epsilon^t(h)\right]\)
用于衡量
\(\mathcal{H}\)
在两个领域的预测任务中的复杂性。
\(\mathcal{H} \Delta \mathcal{H}\)
-divergence具有更好的有限样本保证,导致了非渐近界:
Theorem 1 (Domain Adaptation Error Bound (Non-Asymptotic) [24] (Thm. 2))
设
\(\mathcal{H}\)
的Vapnik-Chervonenkis(VC)维度[26]为
\(d\)
,
\(\mathcal{U}^s\)
和
\(\mathcal{U}^t\)
分别是来自两个领域的大小为
\(n\)
的未标记样本。对于任何
\(h \in \mathcal{H}\)
和
\(\delta \in(0,1)\)
,以下不等式以至少
\(1-\delta\)
的概率成立:
\[\begin{align}
\epsilon^t(h) \leq & \epsilon^s(h)+\hat{d}_{\mathcal{H} \Delta \mathcal{H}}\left(\mathcal{U}^s, \mathcal{U}^t\right)+\lambda_{\mathcal{H}},\tag{6} \\
& + 4\sqrt{\frac{2d\log(2n)+\log(2/\delta)}{n}} \tag{7} \\
\end{align}
\]
其中
\(\hat{d}_{\mathcal{H} \Delta \mathcal{H}}\left(\mathcal{U}^s, \mathcal{U}^t\right)\)
是有限数据样本上
\(d_{\mathcal{H} \Delta \mathcal{H}}\left(P_X^s, P_X^t\right)\)
的估计。
在上述界限中,领域分布差异
\(d\left(P_X^s, P_X^t\right)\)
是不可控的,但可以学习一个表示函数
\(g: \mathcal{X} \rightarrow \mathcal{Z}\)
,将原始输入数据
\(x\)
映射到某个表示空间
\(\mathcal{Z}\)
,以便两个领域的表示分布变得更接近。
因此,领域适应的这个方向被称为基于领域不变表示(DA-DIR)。领域不变表示的理论后来启发了许多DA/DG方法,这些方法可以在第四部分中看到。
B. Domain Generalization
1) Average Risk Estimation Error Bound
领域泛化理论的第一部分考虑了目标领域完全未知的情况(甚至没有无监督数据),并测量了在所有可能的目标领域上的平均风险。假设所有可能的目标分布都遵循基础超分布
\(\mathcal{P}\)
,涵盖了
\((\mathbf{x}, y)\)
分布:
\(P_{X Y}^t \sim \mathcal{P}\)
,而源分布也遵循相同的基础超分布:
\(P_{X Y}^1, \ldots, P_{X Y}^M \sim \mathcal{P}\)
。为了实现对任何可能的目标领域的泛化,这种情况下要学习的分类器还将领域信息
\(P_X\)
包含在其输入中,因此预测采用以下形式:
\(y=h\left(P_X, \mathbf{x}\right)\)
,在分布为
\(P_{X Y}\)
的领域上。对于这样的分类器
\(h\)
,它在所有可能的目标领域上的平均风险由以下公式给出:
\[\mathcal{E}(h):=\mathbb{E}_{P_{X Y} \sim \mathcal{P}} \mathbb{E}_{(\mathbf{x}, y) \sim P_{X Y}}\left[\ell\left(h\left(P_X, \mathbf{x}\right), y\right)\right],
\tag{8}
\]
其中
\(\ell\)
是
\(\mathcal{Y}\)
上的损失函数。精确评估这些期望是不可能的,但我们可以使用遵循
\(\mathcal{P}\)
的有限领域/分布,以及每个分布中遵循的有限
\((\mathrm{x}, y)\)
样本来进行估计。由于我们假设
\(P_{X Y}^1, \ldots, P_{X Y}^M \sim \mathcal{P}\)
,所以源领域和受监督数据可用于这种估计:
\[\hat{\mathcal{E}}(h):=\frac{1}{M} \sum_{i=1}^M \frac{1}{n^i} \sum_{j=1}^{n^i} \ell\left(h\left(\mathcal{U}^i, \mathrm{x}_j^i\right), y_j^i\right),
\tag{9}
\]
其中我们使用来自领域
\(i\)
的受监督数据集
\(\mathcal{U}^i:=\left\{\mathbf{x}_j^i \mid\left(\mathrm{x}_j^i, y_j^i\right) \in \mathcal{S}^i\right\}\)
作为
\(P_X^i\)
的经验估计。
首先需要考虑的问题是这种估计有多好地逼近了目标
\(\mathcal{E}(h)\)
。这可以通过在某个
\(h\)
的空间上测量
\(\mathcal{E}(h)\)
和
\(\hat{\mathcal{E}}(h)\)
之间的最大差异来衡量。据我们所知,这首次由Blanchard等人在[6]中进行了分析,其中
\(h\)
的空间被视为再生核希尔伯特空间(RKHS)。然而,与常见的处理方式不同,这里的分类器
\(h\)
还依赖于分布
\(P_X\)
,因此定义RKHS的核应采取以下形式
\(\bar{k}\left(\left(P_X^1, \mathbf{x}_1\right),\left(P_X^2, \mathbf{x}_2\right)\right)\)
。Blanchard等人[6]使用了输入空间
\(\mathcal{X}\)
上的核
\(k_X\)
、
\(k'_{X_{-}}\)
以及在核
\(k_X^{\prime}\)
的RKHS
\(\mathcal{H}_{k_X^{\prime}}\)
上的核
\(\kappa\)
来构建这样的核,即
\[\bar{k}\left(\left(P_X^1, \mathbf{x}_1\right),\left(P_X^2, \mathbf{x}_2\right)\right):=\kappa\left(\Psi_{k_X^{\prime}}\left(P_X^1\right), \Psi_{k_X^{\prime}}\left(P_X^2\right)\right) k_X\left(\mathbf{x}_1, \mathbf{x}_2\right)
\]
这里,
\(\Psi_{k_X^{\prime}}\left(P_X\right):=\mathbb{E}_{\mathbf{x} \sim P_X}\left[k_X^{\prime}(\mathbf{x}, \cdot)\right]\)
是通过核
\(k^{\prime}\)
对分布
\(P_X\)
进行嵌入的核嵌入。下面的定理给出了在RKHS
\(\mathcal{H}_{\bar{k}}\)
中以原点为中心的半径为
\(r\)
的封闭球
\(\mathcal{B}_{\mathcal{H}_{\bar{k}}}(r)\)
中的最大平均风险估计误差的上限,稍微简化了情形,其中
\(n^1=\cdots=n^M=: n\)
。
Theorem 2 (Average Risk Estimation Error Bound for Binary Classification [6]).
假设损失函数
\(\ell\)
在其第一个参数上是
\(L_{\ell}\)
-Lipschitz 的,且被
\(B_{\ell}\)
限制。还假设核函数
\(k_X, k_X^{\prime}\)
和
\(\kappa\)
被限制在
\(B_k^2, B_{k^{\prime}}^2 \geq 1\)
和
\(B_\kappa^2\)
,且核
\(\kappa\)
的规范特征映射
\(\Phi_\kappa: v \in\)
\(\mathcal{H}_{k_X^{\prime}} \mapsto \kappa(v, \cdot) \in \mathcal{H}_\kappa\)
对于在封闭球
\(\mathcal{B}_{\mathcal{H}_{k_X^{\prime}}}\left(B_{k^{\prime}}\right)\)
上的阶数为
\(\alpha \in(0,1]\)
的
\(L_\kappa\)
-Hölder 连续。那么对于任意
\(r>0\)
和
\(\delta \in(0,1)\)
,至少以概率
\(1-\delta\)
成立以下不等式:
\[\begin{align}
& \sup _{h \in \mathcal{B}_{\mathcal{H}_\bar{\kappa}}(r)}|\hat{\mathcal{E}}(h)-\mathcal{E}(h)| \leq C\left(B_{\ell} \sqrt{-M^{-1} \log \delta}\right. \tag{10}\\
& \left.\quad+r B_k L_{\ell}\left(B_{k^{\prime}} L_\kappa\left(n^{-1} \log (M / \delta)\right)^{\alpha / 2}+B_\kappa / \sqrt{M}\right)\right) \tag{11}
\end{align}
\]
其中
\(C\)
是一个常数。
一般来说,如果将
\((M, n)\)
替换为
\((1, M n)\)
,上述界限会更大。这表明使用领域专用的数据集要比将它们混合到一个混合数据集中更好,因此领域信息起到了一定作用。这个结果后来在 [27] 中进行了扩展,Deshmukh 等人在 [28] 中以类似形式给出了多类分类的界限。
2) Generalization Risk Bound:
领域一般化理论的另一方面考虑在协变量漂移(即标签函数
\(h^*\)
或
\(P_{Y \mid X}\)
在所有领域上相同的情况下)下对特定目标领域的风险。这个度量与第 III-A 节中的领域自适应理论中考虑的类似,因此我们采用相同的定义来表示源风险
\(\epsilon^1, \ldots, \epsilon^M\)
和目标风险
\(\epsilon^t\)
。在协变量漂移的假设下,每个领域由
\(\mathcal{X}\)
上的分布特征化。然后,Albuquerque 等人 [102] 考虑在源领域分布的凸包内来近似目标领域分布
\(P_X^t\)
:
\(\Lambda:=\left\{\sum_{i=1}^M \pi_i P_X^i \mid \pi \in \Delta_M\right\}\)
,其中
\(\Delta_M\)
是
\((M-1)\)
维单纯形,以便每个
\(\pi\)
表示归一化的混合权重。与领域自适应情况类似,分布差异是通过
\(\mathcal{H}\)
-散度来衡量的,以包括分类器类的影响。
Theorem 3 (Domain Generalization Error Bound [102]).
让
\(\gamma:=\min _{\pi \in \Delta_M} d_{\mathcal{H}}\left(P_X^t, \sum_{i=1}^M \pi_i P_X^i\right)\)
,其中
\(\pi^{*}\)
是
\(P_X^t\)
与凸包
\(\Lambda\)
之间的距离,
\(P_X^*:=\)
\(\sum_{i=1}^M \pi_i^* P_X^i\)
是
\(\Lambda\)
内最佳的近似分布。让
\(\rho:=\)
\(\sup _{P_X^{\prime}, P_X^{\prime \prime} \in \Lambda} d_{\mathcal{H}}\left(P_X^{\prime}, P_X^{\prime \prime}\right)\)
表示
\(\Lambda\)
的直径。然后有以下关系成立:
\[\epsilon^t(h) \leq \sum_{i=1}^M \pi_i^* \epsilon^i(h)+\frac{\gamma+\rho}{2}+\lambda_{\mathcal{H},\left(P_X^t, P_X^*\right)},\tag{12}
\]
其中
\(\lambda_{\mathcal{H},\left(P_X^t, P_X^*\right)}\)
是目标领域和具有最佳近似分布
\(P_X^*\)
的领域之间的理想联合风险。
这个结果可以看作是当存在多个源领域时,领域自适应界的一般化,类似于第 III-A 节中的领域自适应情况。再次类似于领域自适应情况,这个界限激发了基于领域不变表示的领域一般化方法,它们同时最小化了与界限的第一项对应的所有源领域上的风险,以及源领域和目标领域之间的表示分布差异,希望减少表示空间上的
\(\gamma\)
和
\(\rho\)
。总之,一般化理论是一个活跃的研究领域,其他研究人员还使用信息性 [167] 和对抗训练 [28], [98], [102], [167] 推导了不同的领域一般化理论界限。
IV. METHODOLOGY
在这一部分,我们将详细介绍现有的领域泛化方法。如图3所示,我们将它们分为三组,即:
数据操作:这类方法侧重于操作输入以帮助学习一般化的表示。在这个方向上,有两种流行的技术:
数据增强,主要基于输入数据的增强、随机化和转换;
数据生成,用于生成多样的样本以帮助一般化。
表示学习:这类方法在领域泛化中最受欢迎。有两种代表性的技术:
领域不变表示学习,通过核函数、对抗训练、明确的特征对齐或不变风险最小化来学习领域不变表示;
特征解耦,试图将特征分解为领域共享或领域特定部分以实现更好的一般化。
学习策略:这类方法侧重于利用一般的学习策略来提高一般化能力,主要包括几种方法:
集成学习,依赖于集成的力量来学习一个统一和一般化的预测函数;
元学习,基于学习-学习机制,通过构建元学习任务来模拟领域转移来学习一般知识;
梯度操作,尝试通过直接操作梯度来学习一般化表示;
分布鲁棒优化,学习训练领域的最坏情况分布场景;
自监督学习,构建前提任务来学习一般化表示。
此外,还有其他学习策略可以用于领域泛化。
这三类方法在概念上是不同的。它们是互补的,可以组合以提高性能。我们将在接下来详细描述每个类别的方法。
A. Data Manipulation
基于数据操作的领域泛化的主要目标是通过不同的数据操作方法增加现有训练数据的多样性。
我们将基于数据操作的领域泛化的一般学习目标公式化如下:
\[\min _h \mathbb{E}_{\mathbf{x}, y}[\ell(h(\mathbf{x}), y)]+\mathbb{E}_{\mathbf{x}^{\prime}, y}\left[\ell\left(h\left(\mathbf{x}^{\prime}\right), y\right)\right],
\]
其中
\(\mathbf{x}^{\prime}=\mathcal{M}(\mathbf{x})\)
表示使用函数
\(\mathcal{M}(\cdot)\)
操作的数据。根据这个函数的差异,我们进一步将现有的工作分为两种类型:数据增强和数据生成。
1) Data Augmentation-Based DG
数据增强是训练机器学习模型最有用的技术之一。典型的增强操作包括翻转、旋转、缩放、裁剪、添加噪声等。它们已经广泛用于监督学习中,通过减少过拟合来增强模型的泛化性能[36],[169]。毫无例外,它们也可以用于领域泛化,其中
\(\mathcal{M}(·)\)
可以被实例化为这些数据增强函数。这些操作有助于增加训练数据的多样性,从而提高模型对不同领域的泛化能力。
a) Domain Randomization
除了典型的数据增强,领域随机化是一种有效的数据增强技术。通常通过生成新的数据,以基于有限的训练样本模拟复杂环境。在这种情况下,M(·)函数被实现为一些手动的变换(通常在图像数据中使用),如改变物体的位置和纹理、改变物体的数量和形状、修改照明和相机视图,以及向数据添加不同类型的随机噪声。Tobin等人[32]首次使用这种方法,从模拟环境中生成更多的训练数据,以实现在真实环境中的泛化。类似的技术也被用于其他研究中[29],[33],[34],[35],以增强模型的泛化能力。Prakash等人[30]进一步考虑了在生成数据时随机放置物体时场景的结构,这使神经网络能够学会在检测物体时利用上下文。Peng等人[58]提出不仅增强特征,还增强标签。很容易看出,通过随机化,可以增加样本的多样性。但随机化通常是随机的,这意味着可能存在一些无用的随机化,可以进一步移除以提高模型的效率。
b) Adversarial Data Augmentation
对抗数据增强旨在引导增强以优化泛化能力,通过增强数据的多样性同时确保它们的可靠性。Shankar等人[37]使用贝叶斯网络建模标签、领域和输入实例之间的依赖关系,提出了CrossGrad,一种谨慎的数据增强策略,它在改变类别标签尽可能少的情况下,扰动输入沿着领域变化最大的方向。Volpi等人[38]提出了一种迭代过程,通过向源数据集添加来自虚构目标领域的“困难”示例,该示例在当前模型下是“困难”的,每次迭代都附加对抗性示例以启用自适应数据增强。Zhou等人[39]通过对抗训练一个转换网络进行数据增强,而不是通过梯度上升直接更新输入,同时采用了弱增强和强增强的正则化[31],[170]。对抗数据增强通常具有一定的优化目标,可以被网络使用。然而,它的优化过程通常涉及对抗训练,因此相对较难。
2) Data Generation-Based DG
数据生成也是一种流行的技术,用于生成多样性和丰富的数据,以提升模型的泛化能力。在这里,函数M(·)可以使用一些生成模型来实现,如变分自动编码器(VAE)[171]和生成对抗网络(GAN)[172]。此外,也可以使用Mixup[173]策略来实现。
Rahman等人[56]使用ComboGAN[174]生成新数据,然后应用领域差异度度量,如最大均值差异(MMD)[175],以减小真实和生成的图像之间的分布差异,以帮助学习一般化表示。Qiao等人[40]利用对抗训练来创建“虚构”但“具有挑战性”的人群,其中使用了Wasserstein自动编码器(WAE)[176]来生成保留语义并具有大领域变换的样本。Zhou等人[43]在语义一致性下生成新的分布,然后最大化源分布和新的分布之间的差异。Somavarapu等人[57]引入了一种基于图像风格化的简单变换,以探索跨源可变性以实现更好的泛化,其中使用了AdaIN[177]来实现对任意风格的快速风格化。与其他方法不同,Li等人[52]使用对抗训练来生成领域,而不是样本。这些方法更加复杂,因为涉及不同的生成模型,我们应该关注模型容量和计算成本。
除了上述的生成模型,Mixup[173]也是一种用于数据生成的流行技术。Mixup通过在任意两个实例和它们的标签之间进行线性插值,使用从Beta分布中采样的权重生成新数据,而无需训练生成模型。最近,有几种方法使用Mixup进行领域泛化,通过在原始空间[47],[48],[54]中执行Mixup来生成新样本;或者在特征空间[49],[55],[148]中进行Mixup,这不会明确生成原始训练样本。这些方法在流行的基准测试中取得了有望的性能,同时在概念上和计算上保持了简单性。
B. Representation Learning
表示学习一直是机器学习几十年来的关注焦点[178],也是领域泛化成功的关键之一。我们将预测函数
\(h\)
分解为
\(h=f\circ g\)
,其中
\(g\)
是表示学习函数,
\(f\)
是分类器函数。表示学习的目标可以被制定为:
\[\min_{f,g}\mathbb{E}_{\mathbf{x},y}\ell(f(g(x)),y)+\lambda \ell_\text{reg}
\tag{14}
\]
其中
\(\ell_\text{reg}\)
表示一些正则化项,
\(\lambda\)
是权衡参数。许多方法旨在更好地学习特征提取函数
\(g\)
以及相应的
\(\ell_\text{reg}\)
。在本节中,我们根据不同的学习原则,将现有的表示学习文献分为两个主要类别:领域不变表示学习和特征解耦。
1) Domain-Invariant Representation-Based DG:
[179]的研究在理论上证明,如果特征表示在不同领域之间保持不变,那么这些表示是通用的,并可迁移到不同的领域(也可参考第三节)。基于这一理论,提出了大量用于领域自适应的算法。类似地,对于领域泛化,目标是在特定特征空间内减小多个源领域之间的表示差异,使其具有领域不变性,从而学得的模型可以具有对未见领域的泛化能力。沿着这一线路,主要有四种类型的方法:基于核的方法、领域对抗学习、显式特征对齐和不变风险最小化。
a) Kernel-Based Methods:
基于核方法是机器学习中最经典的学习范例之一。基于核的机器学习依赖于核函数,将原始数据转换为高维特征空间,而无需计算数据在该空间中的坐标,只需计算特征空间中所有样本对之间的内积。最具代表性的基于核的方法之一是支持向量机(SVM)[180]。对于领域泛化,有许多基于核方法的算法,其中表示学习函数
\(g\)
被实现为一些特征映射
\(\phi(\cdot)\)
,这些映射可以使用核函数
\(k(\cdot,\cdot)\)
(如RBF核和Laplacian核)来轻松计算。
Blanchard等人[6]首次使用了核方法进行领域泛化,并在[60]中进行了扩展。他们采用了正半定核学习来从训练数据中学习一个领域不变核。Grubinger等人[61]采用了转移成分分析(TCA)[181]来将多领域距离缩小,以用于领域泛化。与TCA的核心思想类似,基于核的成分分析(DICA)[27]是使用核进行领域泛化的经典方法之一。DICA的目标是找到一个特征转换核
\(k(\cdot,\cdot)\)
,以最小化特征空间中所有数据的分布差异。Gan等人[62]采用了与DICA类似的方法,进一步添加了属性正则化。与DICA处理边际分布不同,Li等人[63]学习了一个特征表示,该表示具有领域不变的类条件分布。散布成分分析(SCA)[64]采用了Fisher判别分析来最小化来自相同类别和相同领域的表示的差异,并最大化来自不同类别和不同领域的表示的差异。Erfani等人[65]提出了一个椭圆摘要随机化(ESRand),由一个随机核和椭圆数据摘要组成。ESRand将每个领域投影到一个椭圆中以表示领域信息,然后使用某些相似度度量来计算距离。胡等人[66]提出了多领域判别分析,以执行针对领域泛化的类别核学习,这更精细。总之,这一类方法通常与其他类别密切相关,充当它们的差异度量或理论支持。
b) Domain Adversarial Learning
对抗性训练广泛用于学习领域不变的特征。Ganin和Lempitsky [91]以及Ganin等人[92]提出了用于领域自适应的领域对抗神经网络(DANN),其中对抗地训练了生成器和判别器。判别器被训练用于区分领域,而生成器被训练用于欺骗判别器,以学习领域不变的特征表示。Li等人[72]采用了这一思想用于领域泛化。Gong等人[93]通过逐渐减小流形空间中的领域差异来使用对抗性训练。Li等人[94]提出了一种条件不变对抗网络(CIAN),用于领域泛化的类别对抗网络。类似的思想也在[96]、[99]、[103]中使用。贾等人[100]采用了单边对抗学习和不对称三元组损失,以确保只有来自不同领域的真实人脸是不可区分的,而对于伪造的人脸不是。之后,在特征空间中,伪造人脸的提取特征比以前更分散,而真实人脸的提取特征更聚合,从而导致了更好的适用于未知领域的广义类别边界。除了对抗领域分类,赵等人[95]还引入了额外的熵正则化,通过最小化不同训练领域的条件分布之间的KL散度,以推动网络学习领域不变的特征。还提出了一些其他基于GAN的方法[45]、[98]、[102],具有在理论上保证的泛化界限。
c) Explicit Feature Alignment
这一系列工作通过显式特征分布对齐[72]、[182]、[183]、[184]或特征归一化[70]、[185]、[186]、[187]来跨源领域对齐特征,以学习领域不变的表示。Motiian等人[68]引入了用于表示学习的跨领域对比损失,其中映射的领域在语义上对齐,同时又被最大程度地分开。一些方法通过最小化域的最大平均差异(MMD)[181],[188],[189],[190],二阶相关[191],[192],[193],均值和方差(矩匹配)[183],Wasserstein距离[182]等来显式地最小化特征分布分歧,用于域自适应或域泛化。周等人[182]通过最小化Wasserstein距离来通过最优传输对不同源领域的边际分布进行对齐,以实现领域不变的特征空间。
此外,还有一些工作使用特征归一化技术来增强领域泛化能力[185]、[186]。潘等人[185]引入了实例归一化(IN)层到CNNs以提高模型的泛化能力。IN在图像风格迁移领域得到了广泛研究,图像的风格由IN参数反映,即每个特征通道的均值和方差。因此,IN层[196]可以用于消除实例特定的风格差异,以增强泛化能力[185]。然而,IN是任务无关的,可能会去除一些有区别性的信息。在IBNNet中,IN和批归一化(BN)并行使用,以保留一些有区别性的信息[185]。在[187]中,BN层被Batch-Instance Normalization(BIN)层取代,BIN层通过选择性地使用BN和IN来自适应地平衡每个通道的BN和IN。金等人[70]、[71]提出了一种Style Normalization and Restitution(SNR)模块,以同时确保网络的高泛化和区分能力。通过IN进行风格归一化后,执行恢复步骤以从剩余部分(即原始特征和风格归一化特征之间的差异)中提取与任务相关的区分特征,并将其添加回网络以确保高区分度。恢复的思想扩展到其他基于对齐的方法,以恢复因对齐丢失的有益区分信息[83]。最近,齐等人[79]将IN应用于无监督DG中,其中训练领域没有标签,以获取不变和可传递的特征。[81]中提出了不同归一化技术的组合,以表明自适应学习归一化技术可以改善DG。这一类方法更加灵活,可以应用于其他类别。
d) Invariant Risk Minimization (IRM)
Arjovsky等人[104]考虑了另一个关于领域不变性的角度,用于领域泛化的表示。他们并不寻求匹配所有领域的表示分布,而是强制表示空间上方的最佳分类器在所有领域中相同。其直觉是,用于预测的理想表示是
\(y\)
的原因,因果机制不应受到其他因素/机制的影响,因此是领域不变的。正式来说,IRM可以被公式化为:
\[\min _{\substack{g \in \mathcal{G}, f \in \bigcap_{i=1}^M \arg \min _{f^{\prime} \in \mathcal{F}} \epsilon^i\left(f^{\prime} \circ g\right)}} \sum_{i=1}^M \epsilon^i(f \circ g)
\tag{15}
\]
对于一些
\(g\)
和
\(f\)
的函数类
\(\mathcal{F}\)
。
\(f\)
的约束体现了所有领域共享相同的表示级别分类器,目标函数鼓励
\(f\)
和
\(g\)
在源领域风险上取得低值。然而,这个问题很难解决,因为它涉及到其约束中的内层级优化问题。然后,作者提出了一个更加实际的替代问题,用于学习特征提取器
\(g\)
:
\[\min _{g \in \mathcal{G}} \sum_{i=1}^M \epsilon^i(g)+\lambda\left\|\left.\nabla_f \epsilon^i(f \circ g)\right|_{f=1}\right\|^2,
\tag{16}
\]
其中考虑一个虚拟的表示级别分类器
\(f=1\)
,而梯度范数项度量这个分类器的最佳性。该工作还提出了在可能强的线性假设下的一个泛化理论,即对于足够多的源领域,可以识别出地面真实的不变分类器。
IRM近来获得了显著的关注。关于IRM成功和失败案例的一些进一步的理论分析[112],IRM已经扩展到其他任务,包括文本分类[110]和强化学习[197]。追求最佳表示级别分类器的不变性的想法也被推广。Krueger等人[106]通过最小化源领域之间的外推风险来促进这种不变性,这本质上是在最小化源领域风险的差异。Mitrovic等人[107]旨在在自监督设置中学习这样的表示,其中第二领域是通过显示各种语义无关变化的数据增强而构建的。最近,Ahuja等人[105]发现仅仅保持
\(f\)
的不变性是不够的。他们发现如果
\(g\)
捕获了"完全信息的不变特征",这会使
\(y\)
在所有领域中独立于
\(x\)
。这特别适用于分类(与回归相对)。因此,引入了信息瓶颈正则化,以仅保留部分信息有关的特征。
2) Feature Disentanglement-Based DG
分离表示学习旨在学习一个将样本映射到特征向量的函数,该特征向量包含有关不同变化因素的所有信息,每个维度(或一组维度)只包含关于某些因素的信息。基于分离的领域泛化方法通常将特征表示分解为可理解的组合/子特征,其中一个特征是领域共享/不变特征,另一个是领域特定特征。分离式领域泛化的优化目标可以总结如下:
\[\min _{g_c, g_s, f} \mathbb{E}_{\mathbf{x}, y} \ell\left(f\left(g_c(\mathbf{x})\right), y\right)+\lambda \ell_{\text {reg }}+\mu \ell_{\text {recon }}\left(\left[g_c(\mathbf{x}), g_s(\mathbf{x})\right], \mathbf{x}\right),
\tag{17}
\]
其中
\(g_c\)
和
\(g_s\)
分别表示领域共享和领域特定的特征表示。
\(\lambda\)
和
\(\mu\)
是权衡参数。损失
\(\ell_{\text {reg }}\)
是一个正则化项,明确鼓励领域共享和特定特征的分离,
\(\ell_{\text {recon }}\)
表示防止信息丢失的重构损失。请注意,
\(\left[g_c(\mathbf{x}), g_s(\mathbf{x})\right]\)
表示两种特征的组合(不仅限于连接操作)。
根据网络结构和实现机制的选择,基于分离的领域泛化主要可分为三种类型:多成分分析、生成建模和因果启发方法。
a) Multi-Component Analysis:
在多成分分析中,领域共享和领域特定的特征通常是使用领域共享和领域特定的网络参数提取的。UndoBias方法[115]从一个SVM模型开始,以最大化领域泛化的所有训练数据上的区间分类为目标。他们将第i个领域的参数表示为
\(w_i = w_0 + \Delta_i\)
,其中
\(w_0\)
表示领域共享的参数,
\(\Delta_i\)
表示领域特定的参数。其他一些方法从不同的角度扩展了UndoBias的思想。牛等人[116]提出使用多视图学习进行领域泛化。他们提出了多视图领域泛化(MVDG),以学习不同视图下的示例SVM的组合,以实现强大的泛化。Ding和Fu[122]为每个领域设计了特定于领域的网络,并为所有领域设计了一个共享的领域不变网络来学习解耦表示,其中采用低秩重构以结构化的低秩方式对齐两种类型的网络。Li等人[2]将UndoBias的思想扩展到神经网络环境中,并开发了一个端到端训练的低秩参数化CNN模型。Zunino等人[123]通过手动比较不同领域中特定区域的注意力热图来学习分离的表示。还有其他采用多成分分析来进行分离的研究[113],[114],[117],[118],[119],[121],[198],[199],[200]。总的来说,多成分分析可以在不同架构中实现,对于表示的分离仍然有效。
b) Generative Modeling
生成模型可以从数据生成过程的角度用于分离。这类方法试图从域级、样本级和标签级别制定样本的生成机制。一些工作进一步将输入分离成与类别无关的特征,其中包含与特定实例相关的信息[201]。Domain-invariant variational autoencoder (DIVA)[124]将特征分离成领域信息、类别信息和其他信息,在VAE框架中学习。Peng等人[125]分离了在VAEs中学习的细粒度领域信息和类别信息。Qiao等人[40]也使用VAE进行分离,他们提出了一个统一的特征分离网络(UFDN),将数据域和感兴趣的图像属性都视为待分离的潜在因素。类似地,Zhang等人[126]分离了样本的语义部分和变异部分。类似的方法还包括[129],[130]。Nam等人[127]提出使用生成模型分离风格和其他信息,他们的方法既用于领域自适应又用于领域泛化。生成模型不仅可以改善超出领域(OOD)的性能,还可以用于生成任务,我们认为这对许多潜在的应用非常有用。
c) Causality-Inspired Methods
因果关系是对统计(联合分布)之外的变量关系的更精细描述。因果关系提供了系统在干预下的行为方式信息,因此它自然适用于迁移学习任务,因为领域转移可以被视为一种干预。特别是在考虑因果关系时,所期望的表示是标签的真正原因(例如,对象的形状),以便预测不会受到对相关但语义无关的特征(例如,背景、颜色、风格)的干预的影响。有一些工作[202],[203],[204],[205]利用因果关系进行领域自适应。
对于领域泛化,He等人[136]以一种方式对输入样本进行重新加权,使加权相关性反映因果效应。Zhang等人[134]将傅立叶特征视为图像的因果因素,并强制这些特征之间的独立性。使用对象标识的附加数据(它是比类别标签更详细的标签),[206]强制表示在给定相同对象的情况下与域索引的条件独立性。当这种对象标签不可用时,[76]进一步基于单独阶段的标签学习对象特征。对于单源域泛化,[107],[135]使用数据增强来呈现因果因素的信息。增强操作被视为在不相关特征上进行干预产生的结果,这是基于特定领域知识实施的。还有在因果考虑下的生成方法。Zhang等人[131]明确地建模了导致领域转移的操作变量,这可能是不可观察的。Liu等人[132]利用因果不变性进行单源泛化,即根据因素生成(x,y)数据的过程的不变性,这一解释比现有方法隐含依赖的推断不变性更加普遍。这两个因素允许相关,这更加真实。他们在理论上证明了因果因素的可识别性是可能的,识别有助于泛化。Sun等人[133]将该方法和理论扩展到多源领域。有了更多信息的数据,不相关因素也是可识别的。
C. Learning Strategy
除了数据操作和表示学习之外,还在一般的机器学习范式中研究了领域泛化,它分为几个类别:基于集成学习的领域泛化、基于元学习的领域泛化、基于梯度操作的领域泛化、基于分布鲁棒优化的领域泛化、基于自监督学习的领域泛化,以及其他策略。
1) Ensemble Learning-Based DG:
集成学习通常将多个模型(如分类器或专家)结合起来,以增强模型的能力。在领域泛化中,集成学习通过使用特定的网络架构设计和训练策略来利用多个源领域之间的关系,从而提高泛化性能。它们假设任何样本都可以被看作是多个源领域的综合样本,因此总体预测结果可以被视为多个领域网络的叠加。
Mancini等人[139]提出使用可学习的权重来聚合不同源特定分类器的预测,其中使用领域预测器来预测样本属于每个领域的概率(权重)。Segù等人[69]保持不同源领域的批量归一化(BN)统计信息和BN参数,而所有其他参数是共享的。在推理中,最终的预测是领域相关模型的线性组合,通过测量测试样本的实例归一化统计量与每个领域的累积总体统计量之间的距离来推断组合权重。[137]的工作提出了不同源领域的领域特定层,学习这些层的线性聚合以表示测试样本。Zhou等人[8]提出了域自适应集成学习(DAEL),其中DAEL模型由跨领域共享的CNN特征提取器和多个领域特定的分类器头组成。每个分类器是其自己领域的专家,对其他领域是非专家。DAEL旨在学习专家协同,通过专家指导非专家,从而鼓励集成学习如何处理来自未知领域的数据。还有其他工作[138],[142]。集成学习仍然是领域泛化的有力工具,因为集成学习允许更多模型和特征的多样性。然而,基于集成学习的领域泛化的一个缺点可能是它的计算资源需求,因为我们需要更多的空间和计算资源来训练和保存不同的模型。
元学习的关键思想是通过优化方法[207]、度量学习[208]或模型方法[209]从多个任务中学习通用模型。元学习的思想已被应用于领域泛化。它将来自多源领域的数据分为元训练集和元测试集以模拟领域转移。设θ为要学习的模型参数,元学习可以表示为:
\[\begin{aligned}
\theta^* & =\operatorname{Learn}\left(\mathcal{S}_{m t e} ; \phi^*\right) \\
& =\operatorname{Learn}\left(\mathcal{S}_{m t e} ; \operatorname{MetaLearn}\left(\mathcal{S}_{m t r n}\right)\right),
\end{aligned}
\tag{18}
\]
其中
\(\phi^*=\text{MetaLearn}\left(\mathcal{S}_{m t r n}\right)\)
表示来自元训练集
\(\mathcal{S}_{m t r n}\)
的元学习参数,然后用于在元测试集
\(\mathcal{S}_{m t e}\)
上学习模型参数
\(\theta^*\)
。Learn
\((\cdot)\)
和MetaLearn
\((\cdot)\)
这两个函数由不同的元学习算法设计和实施,对应于双层优化问题。梯度更新可以表示为:
\[\theta=\theta-\alpha \frac{\partial\left(\ell\left(\mathcal{S}_{m t e} ; \theta\right)+\beta \ell\left(\mathcal{S}_{m t r n} ; \phi\right)\right)}{\partial \theta},
\tag{19}
\]
其中
\(\eta\)
和
\(\beta\)
分别是外循环和内循环的学习率。
Finn等人[207]提出了不考虑模型的元学习(Model-agnostic meta-learning, MAML)。受MAML的启发,Li等人[17]提出了MLDG(领域泛化的元学习),采用元学习策略进行领域泛化。MLDG将来自源领域的数据分为元训练和元测试,以模拟领域转移情况以学习通用表示。Balaji等人[18]提出了学习分类器的元正则化器(MetaReg)。[19]提出了特征批评训练,通过设计一个元优化器为特征提取器进行训练。Dou等人[143]采用了类似MLDG的思想,并额外引入了两个补充损失,以明确正则化特征空间的语义结构。Du等人[20]提出了信息瓶颈的扩展版本,称为元变分信息瓶颈(MetaVIB)。他们通过使用随机神经网络来正则化来自不同领域具有相同类别的样本的潜在编码分布之间的Kullback-Leibler(KL)散度,并学会生成权重。最近,一些工作还采用元学习进行半监督领域泛化或判别性领域泛化[44],[144],[145],[147],[210]。元学习在领域泛化研究中得到了广泛应用,可以并入几种范式,如特征分解[198]。由于元学习可以从多个任务中寻找可传递的知识,因此在大规模领域上表现出色。
3) Gradient Operation-Based DG
除了元学习和集成学习,一些最近的工作考虑使用梯度信息来迫使网络学习通用表示。Huang等人[150]提出了一种自我挑战的训练算法,旨在通过操作梯度来学习通用表示。他们通过迭代丢弃在训练数据上激活的主要特征,强制网络激活与标签相关的剩余特征。通过这种方式,可以强制网络从更多的不良情况中学习,从而提高了泛化能力。Shi等人[151]提出了一个梯度匹配方案,其假设是两个领域的梯度方向应该相同以增强通用表示学习。为此,他们提出了最大化梯度内积(GIP)以对齐跨领域的梯度方向。通过这种操作,网络可以找到权重,使输入输出对应在不同领域之间尽可能接近。GIP可以表示为:
\[\mathcal{L}=\mathcal{L}_{\text {cls }}\left(\mathcal{S}_{\text {train }} ; \theta\right)-\lambda \frac{2}{M(M-1)} \sum_{i, j}^{i \neq j} G_i \cdot G_j,
\tag{20}
\]
其中
\(G_i\)
和
\(G_j\)
是两个领域的梯度,可以计算为
\(G=\mathbb{E} \frac{\partial \ell(x, y ; \theta)}{\partial \theta}\)
。在[152]中通过添加CORAL [192]损失来实现了梯度不变性,而Tian等人[153]通过最大化DNN的神经元覆盖率,并在原始样本和增强样本之间引入梯度相似性正则化来实现。
4) Distributionally Robust Optimization-Based DG
分布鲁棒优化(Distributionally Robust Optimization,DRO)的目标是在最坏情况下的分布情景下学习一个模型,希望它可以在测试数据上有很好的泛化性能,这与DG有相似的目标。为了优化最坏情况的分布情景,Sagawa等人[212]提出了GroupDRO算法,需要对样本进行显式的分组注释。在[154]中,这种注释后来被缩小到验证集的一小部分,并且他们制定了一个两阶段加权框架。其他研究人员通过风险外推(VRex)[106]或减小条件Wasserstein分布鲁棒优化(DRO)[157]来降低培训领域风险的方差。最近,Koh等人[156]提出了亚种群转移的设定,他们也将DRO应用于这个问题。特别地,Du等人[80]提出了AdaRNN,这是一种类似DRO精神的算法,它不需要显式的组注释;相反,他们通过求解一个优化问题来学习最坏情况的分布情景。总之,DRO侧重于可以在DG研究中利用的优化过程。
5) Self-Supervised Learning-Based DG
自监督学习(Self-supervised Learning,SSL)是一种近年来流行的学习范式,它从大规模未标记的数据中构建自监督任务[213]。受此启发,Carlucci等人[158]引入了解决拼图难题的自监督任务,以学习泛化表示。除了引入新的预训练任务,对比学习是自监督学习的另一种流行范式,它在近期的一些研究中也得到了采用[159],[160],[161]。对比学习的核心是在正负对之间进行无监督学习。需要注意的是,自监督学习是一种通用的学习范式,可以应用于任何现有的DG方法,特别是在无监督DG中,训练领域中没有标签的情况下[79]。基于SSL的DG的另一个可能应用是多域数据的预训练,它可以训练功能强大的预训练模型,同时处理领域转移。然而,SSL-based DG 的一个可能限制是它的计算效率和计算资源的要求。
6) Other Learning Strategy for DG
还有一些其他的用于领域泛化的学习策略。例如,[166]中采用了度量学习来探索更好的成对距离以进行领域泛化。Ryu等人[162]使用随机森林来改善卷积神经网络(CNN)的泛化能力。他们根据随机森林给出的拆分结果的概率质量函数对三元组进行采样,然后使用三元组损失来更新CNN参数。其他工作[214],[215]采用了模型校准用于领域泛化,他们认为校准性能与OOD性能有密切关系。Zhang等人[164]遵循了"幸运彩票"假设,设计了用于领域泛化的网络子结构,而Narayanan等人[163]则专注于形状不变特征。此外,Cha等人[165]观察到平坦极小值对于领域泛化很重要,并且设计了一种简单的随机权重平均密集方法来找到平坦极小值。由于DG是一个通用的学习问题,将来可能会有更多使用其他策略的研究工作。
V. OTHER DOMAIN GENERALIZATION RESEARCH AREAS
大多数关于领域泛化的现有文献都采用了Definition 2中的基本(传统)定义。已经存在一些文献将这种设置扩展到新的场景,以推动领域泛化的前沿(参见表III)。本节将简要讨论现有的领域泛化研究领域,以为读者提供对这个问题的简要概述。
A. Single-Source Domain Generalization
在定义2中设置
\(M = 1\)
即为单源领域泛化。与传统的多源领域泛化(
\(M > 1\)
)相比,单源领域泛化更具挑战性,因为训练领域的多样性更少。因此,解决这个问题的关键在于使用数据生成技术生成新领域,以增加训练数据的多样性和信息量。在计算机视觉任务中,一些方法设计了不同的生成策略[40],[52],[58],[59],[81],[100],[135],[159],[216],用于单源领域泛化。最近的一项工作[80]研究了时间序列数据中的这种情况,通常存在一个统一的数据集,通过使用极小-极大优化来解决。我们期望更多的应用领域可以从单源领域泛化中受益。
B. 半监督领域泛化
与传统的领域泛化相比,半监督领域泛化不需要训练领域的完整标签。通常会应用现有的半监督学习算法,如FixMatch [220]和FlexMatch [221],来学习未标记样本的伪标签。例如,最近的两项工作采用了半监督学习中的一致性正则化[170],[217]用于半监督领域泛化。可以看出,这个设置比传统的领域泛化更通用,我们预期在这个领域会有更多的研究。
C. 具有领域泛化的联邦学习
机器学习的隐私和安全性变得越来越关键[222]。Mahajan等人[223]首次研究了这个问题,并表明如果特征稳定,那么模型对成员推断攻击更加鲁棒。在联邦领域泛化[224],[225]中,模型无法访问原始训练数据;相反,它们会聚合来自不同客户端的参数。在这种情况下,关键是通过泛化技术[138],[218],[219]设计更好的聚合方案。联邦领域泛化在医疗保健领域更为重要[226]。另一方面,分散式培训是另一种可能的解决方案[227]。然而,当需要更新模型时,会出现类似的隐私风险。因此,我们希望能有更多的研究。
D. 其他领域泛化设置
领域泛化还有其他设置,如开放领域泛化[54]和无监督领域泛化[79]。开放领域泛化与通用领域自适应具有类似的设置,其中训练和测试标签空间不同。无监督领域泛化假设训练领域中的所有标签都不可访问。随着环境变得更加通用和具有挑战性,将会有其他领域泛化研究领域旨在解决某些限制。
VI. APPLICATIONS
在本节中,我们将讨论领域泛化的常见任务/应用(参见图4)。
高度的泛化能力在各种视觉任务中都是受欢迎的。许多工作研究了领域泛化在分类任务中的应用。一些工作还研究了领域泛化在语义分割[93]、动作识别[114]、人脸反欺诈[96]、人员重识别[47]、[83]、街景识别[40]、视频理解[116]和图像压缩[228]等领域的应用。医学分析[120]是领域泛化的重要应用领域之一,因为医学数据通常稀缺并存在领域差异,包括组织分割[143]、帕金森病识别[27]、活动识别[65]、胸部X射线识别[76]、[90]和基于脑电的癫痫检测[88]等任务。
除了上述领域,领域泛化在机器人控制的强化学习[17]、[49]中也具有广泛的应用,用于实现对未知环境的泛化。一些工作使用领域泛化来识别语音发音[37]、[117]、故障诊断[73]、[74]、[90]、物理学[89]、脑机接口[86]等。
在自然语言处理中,通常训练数据来自不同领域,具有不同的分布,因此领域泛化技术非常有用。一些工作在亚马逊评论数据集上使用领域泛化进行情感分类[18]、[103]。其他工作使用领域泛化进行语义解析[147]、网页分类[45]等任务。例如,如果我们有来自多个领域的自然语言数据,希望学习一个在任何新领域上都能良好预测的通用模型,那么我们可以使用领域泛化来获得领域不变的表示。
此外,领域泛化技术在一些应用领域中具有广阔的前景,如金融分析、天气预测和物流。例如,杜等人[80]尝试将领域泛化应用于时间序列建模。他们首先提出了时间协变量漂移问题,这个问题在时间序列数据中普遍存在,然后提出了一种基于循环神经网络的模型来解决这个问题,以实现不同领域的任何一对训练数据的隐藏表示的对齐。他们的算法,即所谓的AdaRNN,被应用于股价预测、天气预测和电力消耗预测等任务。另一个例子是[128],他们将领域泛化应用于基于传感器的人体活动识别。在他们的应用中,来自不同人员的活动数据来自不同的分布,导致当应用于新用户时模型严重崩溃。为了解决这个问题,他们开发了一种基于变分自动编码器的网络,学习了领域不变和领域特定的模块,从而实现了分离。
将来,我们希望在其他领域中能够有更多的领域泛化应用,以解决在不同应用中广泛存在的分布转移问题。另一个重要问题是在实际中评估领域泛化算法,而不需要访问测试分布。虽然在研究中可以使用测试数据进行评估,但在实际应用中我们无法这样做。在这种情况下,一种可能的方法是多次对原始数据进行元训练和元测试划分。每次,一个划分可以被视为未见的测试数据,而另一个划分则作为训练数据。我们可以称之为实际中的元交叉验证来进行领域泛化的评估。同时,我们也希望有更多的评估指标。有关更多的研究评估,请参阅下一节。
VII. DATASETS, EVALUATION, AND BENCHMARK
在这一部分,我们将总结现有的用于领域泛化的常见数据集和模型选择策略。然后,我们将介绍代码库DeepDG,并通过它展示一些实验观察结果。
A. Datasets
表格 IV 提供了一些流行的数据集概览。其中,PACS、VLCS 和 Office-Home 是三个最受欢迎的数据集。对于大规模评估,DomainNet 和 Wilds(即表格 IV 中带有“-wilds”的数据集集合)也越来越受欢迎。
除了上述提到的数据集,还存在一些用于不同任务的领域泛化数据集。移植物抗宿主病(GvHD)数据集也很受欢迎,并被用于测试流式细胞仪问题的一些方法。该数据集收集自30名患者,样本量从1,000到10,000不等。这是一个时间序列分类数据集。一些研究应用领域泛化于语义分割,使用CityScape 和 GTA5 数据集作为基准数据集。还有一些工作应用领域泛化于目标检测,使用Cityscapes、GTA5 和Synthia 等数据集进行研究。另一些研究使用公共数据集或 RandPerson 进行行人重识别。还有一些研究使用OpenAI Gym 作为测试基准,评估算法在强化学习问题(如 Cart-Pole 和山车问题)中的性能。
除了这些广泛使用的数据集,现有文献中还使用了其他数据集。帕金森远程监测数据集用于从声音测量中预测帕金森病症状的临床医生运动和总 UPDRS 评分。一些方法使用了多人的数据作为训练域,以学习适用于未见过的受试者的模型。
值得注意的是,领域泛化数据集与领域自适应存在一些重叠。例如,Office-31、Office-Caltech、Office-Home 和 DomainNet 也是领域自适应的广泛使用基准。因此,大多数领域自适应数据集也可以用于领域泛化基准,除了我们在此讨论的数据集之外。例如,亚马逊评论数据集在领域自适应中被广泛使用。它涵盖了四个不同的产品评论领域(DVD、厨房电器、电子产品和书籍),也可以用于领域泛化。
B. Evaluation
为了在测试域上测试领域泛化算法,提出了三种策略,分别是 Test-domain validation set, Leave-one-domain-out cross-validation, and Training-domain validation set。
Test-domain validation set 利用目标域的一部分作为验证数据。尽管在大多数情况下可以获得最佳性能,因为验证和测试共享相同的分布,但通常在训练时无法访问目标域,这意味着它无法应用于实际应用中。
Leave-one-domain-out cross-validation 是另一种策略,用于在训练数据包含多个来源时选择最终模型。它将一个训练源保留为验证源,而将其他源视为训练部分。显然,当训练数据中只存在单个源时,它不再适用。此外,由于来源和目标之间的分布不同,最终结果在很大程度上依赖于验证的选择,这使得最终结果不稳定。
领域泛化的最常见策略是Training-domain validation set,这在大多数现有研究中被使用。在这种策略中,每个源被分成两部分,训练部分和验证部分。所有训练部分组合在一起进行训练,而所有验证部分组合在一起以选择最佳模型。由于组合验证部分与真正未见过的目标之间仍然存在差异,这种简单且最流行的策略在某些时候无法达到最佳性能。
需要指出的是,由于设计有效的评估协议通常与OOD性能一致,因此领域泛化可能存在其他评估协议,例如[167]。目前,大多数研究采用训练域验证策略,但这不一定总能产生良好的性能,因为验证集的分布与新的训练数据不同。另外,仅使用准确性可能不足以验证模型的性能。我们期待新的评估指标,这些指标可以尽可能真实地反映测试分布的属性,以获得更好的结果。
C. Benchmark
为了在一个统一的代码库中测试领域泛化算法的性能,本文开发了一个名为DeepDG的新代码库[254],[255]。与现有的DomainBed [87]相比,DeepDG简化了数据加载和模型选择过程,同时也使得在单台计算机上运行所有实验成为可能。DeepDG将整个流程分为数据准备部分、模型部分、核心算法部分、程序入口以及其他一些辅助功能。用户可以自由地修改每个部分,而不会影响其他部分。用户可以将他们自己的算法或数据集添加到DeepDG中,并与一些最先进的方法进行公平比较。目前,DeepDG的公共版本仅用于图像分类,支持Office-31、PACS、VLCS和Office-Home数据集。目前,已在相同的环境下实现了九种最先进的方法,涵盖了数据操作(Mixup [173])、表示学习(DDC [188]、DANN [91]、CORAL [191])和学习策略(MLDG [17]、RSC [150]、GroupDRO [155]、ANDMask [256])的所有三个组。
我们使用DeepDG在两个最受欢迎的图像分类数据集PACS和Office-Home上进行了一些实验,表V显示了结果。我们使用ResNet-18作为基础特征网络。选择使用训练域验证集来选择最终模型,其中有20%的源数据用于验证,而其他数据用于训练。从表V中,我们得出了一些更有见地的结论:(1) 基准方法ERM在这两个数据集上都取得了可接受的结果。一些方法,如DANN和ANDMask,甚至表现更差。 (2) 简单的数据增强方法Mixup无法获得显著的结果。 (3) 与ERM相比,CORAL对这两个数据集都有轻微的改进,这与DomainBed [87]提供的结果一致。 (4) RSC,一种学习策略,在这两个数据集上实现了最佳性能,但与ERM相比,改进不明显。这些结果表明领域泛化在不同任务中的益处。
VIII. DISCUSSION
A. Summary of Existing Literature
训练数据的数量和多样性对模型的泛化能力至关重要。许多方法旨在通过数据操作方法来丰富训练数据以获得良好的性能。然而,数据操作方法的一个问题是缺乏泛化风险的理论保证。因此,重要的是为基于操作的方法开发理论,这些理论可以进一步指导数据生成设计,而不违反伦理标准。
与数据操作相比,表示学习通常具有一般性的理论支持。传统方法广泛使用基于核的方法,而近年来深度学习方法发挥了主导作用。虽然领域对抗训练通常在领域自适应中取得更好的性能,但在领域泛化中,我们并没有看到这些对抗性方法带来明显的结果改进。我们认为这可能是因为任务相对容易。对于显式分布匹配,越来越多的研究倾向于匹配联合分布,而不仅仅匹配边际或条件分布。因此,执行动态分布匹配更为可行。解耦和IRM方法都具有良好的泛化动机,但可以开发更高效的培训策略。有研究指出,仅学习领域不变特征是不足够的,还应考虑表示平滑性。
在学习策略方面,有一个趋势是许多研究采用元学习进行领域泛化,这需要设计更好的优化策略以利用不同领域的丰富信息。除了深度网络,还有一些研究采用了随机森林等不同的方法,我们希望会有更多多样性的方法出现。
B. Future Research Challenges
1) Continuous Domain generalization
在许多实际应用中,系统会使用具有非平稳统计特性的流数据。在这种情况下,进行连续领域泛化非常重要,它可以高效地更新DG模型,以克服灾难性遗忘并适应新数据。虽然有一些专注于连续学习的领域自适应方法[258],但在连续DG[259]方面的研究却很有限,尽管在实际情况中这非常有利。
2) Domain Generalization to Novel Categories
现有的DG算法通常假定不同领域的标签空间是相同的。更实际和一般的设置是支持对新类别的泛化,即领域泛化和任务泛化。这在概念上类似于元学习和零样本学习的目标。一些工作[85] [260]提出了零样本DG,我们希望在这一领域会有更多的工作涌现。还有一些先前的工作[54] [261]尝试使用基于边界的学习范例或一致性正则化来解决这个问题,这些都是未来工作可以基于它们构建方法的良好途径。
3) Interpretable Domain Generalization
基于解耦的DG方法将特征分解为领域不变/共享和领域特定部分,这为DG提供了一些解释。对于其他类别的方法,对于DG模型中学习到的特征的语义或特征的深入理解仍然存在欠缺。例如,如何将方法的结果与输入特征空间相关联。目前的方法在提供这种解释水平方面有多接近?因果关系[132]可能是理解领域泛化网络并提供解释的一个有前途的工具。
4) Large-Scale Pre-Training/Self-Learning and DG
近年来,我们目睹了大规模预训练/自学习的快速发展,如BERT [262],GPT-3 [263]和Wav2vec [264]。在大规模数据集上进行预训练,然后微调模型以适用于下游任务可以提高性能,其中预训练有助于学习通用表示。因此,如何设计有用且高效的DG方法来帮助大规模预训练/自学习是值得研究的。
5) Test-Time Generalization
尽管DG集中在训练阶段,但我们也可以要求在推断阶段进行测试时间泛化。这进一步弥合了领域适应和领域泛化,因为我们还可以使用推断未标记数据进行适应。最近很少有研究[265],[266]关注了这种设置。与传统的DG相比,测试时间泛化将在推断时间允许更大的灵活性,同时由于推断端设备通常资源有限,因此需要更少的计算和更高的效率。
最近的研究[87]指出,在一些数据集上,一些DG方法的性能几乎与基线(即ERM)相同。我们不将其视为DG在实际应用中无用的充分证据。相反,我们认为这可能是由于今天使用的不恰当的评估方案或领域间差距不是很大。在更真实的情况下,例如人员重识别,那里明显存在领域差距[71],DG的改进是显著的。因此,我们对DG的价值持乐观态度,希望研究人员还可以找到更适合的设置和数据集来进行研究。.
本文来自博客园,作者:
Un-Defined
,转载请保留本文署名
Un-Defined
,并在文章顶部注明原文链接:
https://www.cnblogs.com/EIPsilly/p/17777839.html