领域泛化与分布偏移
参考:
Domain Generalization | 域适应、域泛化、OOD、开放集问题定义_域泛化与域自适应-CSDN博客
Domain Generalization Vs. ID-OOD Generalization Vs. Domain Adaptation Vs. Robustness Vs.Open-Set Recognition | by Emad Ezzeldin ,Sr. DataScientist@UnitedHealthGroup | Medium
迁移学习中,由于源域(1个或多个)和目标域存在分布偏移,所以简单迁移会造成负迁移。领域适应(domain adaption)就是要通过减少域之间的差异解决这一问题。领域泛化(domain generalization)则在此基础上进一步要求训练时不能使用目标域的数据。
分布偏移
在监督式机器学习问题中,训练数据集可以看作是 P(X,Y) 联合分布的一组样本,其中 X 是输入,Y 是输出。P(X,Y) 可以分解为 P(X|Y)P(Y) 或 P(Y|X)P(X)。数据偏移是一个通用术语,有时与标签偏移、协变量偏移和概念偏移交替使用。但是这些偏移可以被认为是数据偏移的三种不同的子类型,它们的定义与诸如 P(Y) 或 P(X) 之类的参数的变化有关。
协变量偏移(Covariate shift):当 P(X) 发生变化而 P(Y|X) 保持不变时。即输入的分布发生了变化,但给定输入的输出的条件概率保持不变。例如,你试图预测一个人是否会违约。你的模型中有一个受教育程度的变量,假设受教育程度较低的人通常更经常违约。在你的训练数据集中,假设你有很多受过高等教育的人的例子,但在你的推理(测试)数据集中,你有很多受教育程度较低的例子。
标签偏移(Label shift):当 P(Y) 发生变化而 P(X|Y) 保持不变时。这也被称为先验偏移或语义偏移。以之前的例子为基础,假设政府开始向所有人发放现金,这可能会降低每个人违约 P(Y) 的概率,但条件概率 P(X|Y),也就是一个受教育程度较低的人违约的概率,没有改变。
概念偏移(Concept shift):当 P(Y|X) 变化而 P(X) 保持不变时。这也被称为后验偏移。例如,在房价预测模型中,房屋面积是一个输入参数,假设在 covid-19 之前,房价是 200K,但在 covid-19 之后,房价已经下降到 150K。因此,即使房子的面积特征保持不变,房子的价格的条件分布在给定其特征的情况下发生了变化。
上图是一个更加直观的图像例子。
当同一类动物的图像沿着竖向发生风格变化会导致协变量偏移(P(X) 发生变化而 P(Y|X) 保持不变)
当同一风格的动物图像沿着横向引入新的动物类别变化会导致语义偏移(P(Y) 发生变化而 P(X|Y) 保持不变)
概念偏移在图中则没有直接的对应的分类问题,其本质是数据分布不变的情况下,标签本身发生某种变化(比如房屋客观物理属性以外的市场因素导致目标的房价标签涨跌、变化的精神疾病的诊断标准、流行时尚的定义以及职称等等,都会随着时间的推移发生很大的概念变化)。个人认为区别于时序问题,考虑概念偏移时的输入数据很可能是与时间无关的,只是标签相对于固定的数据会存在可变的偏移,一般较少考虑。
图中所有橙红框的图像其实都是在训练数据(深蓝色框)分布外的数据,而新的类别(蓝色虚线框)则构成开放集场景。
领域泛化(DG, Domain Generalization)和分布外泛化(OODG, Out-of-Distribution Generalization)本质是描述同一任务的两个术语。
领域泛化理论
领域泛化的定义:给定 M 个训练的源数据 \mathcal{S}_{\mathrm{train}}=\{\mathcal{S}^i|i=1,\dots,M\},其中第 i 个领域的数据为 。这些源数据的分布各不相同:P_{XY}^i\ne P_{XY}^j,1\le i\ne j\le M。领域泛化的目标是从这 M 个源域数据中学习一个具有强泛化能力的预测函数:h:\mathcal{X}\to\mathcal{Y},使其在一个未知的测试数据 \mathcal{S}_{\mathrm{test}}(即 \mathcal{S}_{\mathrm{test}} 在训练过程中不可访问且 P_{XY}^{\mathrm{test}}\ne P_{XY}^i,i\in\{1,\dots,M\})上具有最小的误差:
领域泛化方法分为下三个大类(from https://ieeexplore.ieee.org/abstract/document/9782500/):
数据操作:专注于对输入数据进行操作来使学习具有泛化能力,包括数据增强和数据生成等方法。
表示学习:包括领域不变特征学习(通过核学习、对抗学习、显式特征对齐以及不变风险最小化等方式)和特征解耦(将特征解耦为领域共享和领域特异的特征)两大类方法。
学习策略:包括集成学习、元学习(从构造的任务重学习元知识)和其他方法(自监督、梯度操作等)
泛化风险上界
领域泛化理论的一个分析方向是考虑协变量偏移的情况对于特定的一个目标域的风险。
泛化性能的验证
参考:[2403.01874] A Survey on Evaluation of Out-of-Distribution Generalization