Domain Generalization即在多个源域上训练模型然后在未知域上进行测试。本文选择了NeurIPS几篇相关文章进行解读
Adaptive Risk Minimization: Learning to Adapt to Domain Shift
An Empirical Investigation of Domain Generalization with Empirical Risk Minimizers
[Spotlight] On Inductive Biases for Heterogeneous Treatment Effect Estimation
[Spotlight] Test-Time Classifier Adjustment Module for Model-Agnostic Domain Generalization
Why Do Better Loss Functions Lead to Less Transferable Features?
Adaptive Risk Minimization: Learning to Adapt to Domain Shift
传统DG总是围绕着“invariance”的假设,即所有领域都有一致的输入-输出关系,模型的目标是了解这种关系(语义信息),同时忽略领域内虚假的相关性(背景,光照等)。这些方法的吸引力在于,它们对测试时提供的信息做了最小的假设,即不需要测试标签,并且学习的模型可以应用于任何未曾见过的域。
然而,这些方法也有局限性,例如在不能处理不同domain的 输入-输出关系不同 的情况。比如手写文字任务,每一个用户都是一个新的domain,而且他们的书写风格会造成很大的misleading,比如图中的例子是 ‘a’,但是如果根据一般用户的训练数据,他更像是‘2’。我们可以看到,来自该测试用户的一批图像包含了来自该用户的其他示例2。 我们能以某种方式利用这些未标记的数据来更好地处理新用户引起的distribution shift吗 ?
为了达成上述目标,本文给出了他们的解决方案Adaptive Risk Minimization (ARM)。这是一个meta-learning的框架
在training的过程中,作者在各个domain均匀采样样本进行训练。这里的 是一个adapter,他以无标签的域样本作为输入,尝试修改模型参数,使得模型对该域引起的shift更加鲁棒,作者给出了多种设计选择,具体可以参阅原文。不过本文说是DG的任务,又引入了tgt端的数据,不知道称之为DA更加合理。
算法性能方面自然是没得说
An Empirical Investigation of Domain Generalization with Empirical Risk Minimizers
这是一篇实验性的文章,本文对OOD泛化的测度进行了大规模的研究。本文简要介绍了该领域的核心理论基础。然后,本文在DomainBed基准上训练12000个模型,以检验基于理论的度量的预测能力。本文认为,基于domain adaptation的理论测量方法不能准确地捕捉OOD泛化行为。也就是说目前OOD还是非常缺乏理论的,这促使我们去研究其他可能的方法来解释这种情况下的泛化。同时,寻找一个合适的测度能够测量哪个模型OOD性能更好也是非常有必要的。本文没有给出理论,但是尝试了各种不同的措施( Fisher information, predictive entropy,maximum mean discrepancy),来探索他们是如何预测OOD泛化行为的。
大体的结果如下所示,柱形图的metric,spearmans coefficient表示这些测度与OOD性能之间的关系。
[Spotlight] On Inductive Biases for Heterogeneous Treatment Effect Estimation
本文使用因果工具设计了一个可行的算法,将反事实推理与域泛化(OOD)联系起来,进行有效的“stress test”,比如变化一个句子包含的的gender信息,看最后情感分类会不会改变。
Counterfactual Invariance to Spurious Correlations: Why and How to Pass Stress Tests
介绍一下本文的背景知识 Counterfactual Invariance
考虑输入 ,预测器 ,标签
。本文感兴趣的是构建预测器,其预测对
上的某些扰动是不变的。为此,假设有一个额外的变量
,它捕获不应影响预测的信息但是会影响
。令
表示
的反事实对,
中的
被设为 ,而其他部分保持不变。 也可以是其他的值,比如
那幺生成的反事实对就是
。本文定义的 counterfactually invariant 就是所谓的
作者首先对常见的两种因果关系进行了定义
Causal Direction
首先举一个例子方便读者理解之后的内容,加入我们现在需要对review进行自动打分,判断它是否”helpful”,每个review 会被openreview的使用者们投票决定是否有用
。但是作者发现,将句子的情感
稍作改变,预测结果就会改变。
上例的因果图如下图(a)所示, 作为输入变量即文本。这里
和
的关系是复杂的,这种关系可能取决于文章的摘要、主题、写作质量或语气。
作者将 分成了三个部分,分别是与
无关的,与
无关的,与
都有关的。可以看到,这里
是通过两部分连接了起来,第一部分就是
。例如,一个非常热心的评论者可能会写一篇更长的、更详细的评论,这反过来会更有帮助。第二个关系就是confounder引起的,用虚线箭头表示。例如,如果书籍倾向于得到更积极的评论,而且买书的人更有可能把评论标记为有帮助,那幺评论是否有用将是这本书的历史评论和但是评论是否”helpful”的共同原因。
上述的关联是否是spurious的,是一个任务特定的概念,作者在这里定义了 purely spurious 的概念,如果 ,这里也就是说,当我们以
为条件时,
中不被
影响的部分已经足够预测
了。
Anti-Causal Direction
同样举个例子,我们想要从文本 中预测电影评论的评级
,但是预测往往受到电影类型或者演员
的影响;例如,将“亚当·桑德勒”(喜剧演员)换成“休·格兰特”(浪漫剧演员)会改变预测。
上图(b)所述就是这种关系的causal graph,同样这里 之间的联系也是有两条路径。第一个即
,例如,如果Adam Sandler倾向于出现在好的喜剧电影中,但出现在其他类型的糟糕电影中,那幺在文本中看到Sandler就会导致情感和电影类型之间的依赖。
之间的虚线部分则表示data collection protocol带来的虚假关系。比如比起恐怖电影的粉丝,浪漫喜剧的粉丝可能会给(所有电影)更高的评价。那幺采样数据的时候如果粉丝分布不均匀,那幺电影主题和
就会有联系。
对上面两个图,作者定义了不同的counterfactually invariant predictor
- 对于anti-causal graph,虚假关系来自selection,因此使得
- ,即上述的采样方式对特征没有影响。
- 对于causal-direction graph,虚假关系来自confounding,因此使得
- ,即特征只依赖于与Z无关的部分。如果此时也有selection引起的虚假关系,那幺强制f(x)\perp Z|Y$。
如果数据具有causal-direction,且Y, Z关联是由confounding引起的,则在训练目标中加入边缘正则化项。如果数据具有Anti-Causal Direction,或者关联是由于选择造成的,则添加条件正则化项。
作者首先建立了counterfactually invariant predictor与 domain generalization的关系。我们在训练集寻找的counterfactually invariant risk minimizer可以写为如下形式
这里 是所有反事实不变的预测器的集合,
是训练集合,作者验证了这个过程等价于在unseen target domain上寻找最优的反事实不变预测器
总结一下,本文从causal的方向出发,推出了两个正则化项,可以有效地减少spurious correlation带来的影响。
[Spotlight] Test-Time Classifier Adjustment Module for Model-Agnostic Domain Generalization
以往的DG方法都致力于研究如何利用好手头的域信息,这篇文章另辟蹊径。在test的阶段,我们在依然会选择更新模型头部的linear层。但是这与直接使用test的数据进行训练不同,主要的差异在于,本文假设在测试时,模型通常部署在某些环境中,并且必须在不断出现的各种示例上工作良好, 样本连续到来 是本文场景的主要特征,在拿到样本后模型需要立刻给出决策并更新。
本文的方法被称之为test-time templates adjuster (T3A),接下来我们对其intuition和具体实现思路进行介绍。
首先,我们知道模型的分类是通过样本特征 和分类层对于 类的权重 进行点积然后softmax得到的,也就是说分类层的权重在这里作为一个 prototype ,预测是在衡量样本到每个prototype之间的相似度。
作者维护了 个不同的support set,对于每一个到来的样本 ,首先根据上式得到初始的预测结果,然后更新support set
初始化的support set就是源域训练的分类器对每个类的权重 。然后我们可以根据更新的support set完成预测
这里新的prototype 。但是这里还有一个问题,就是一旦模型初始时分配了错误的标签,那幺这个噪音会一直存在,因此作者使用了预测的熵来排除不可信的pseudo-labeled data,熵的定义如下
也就是说在使用上述公式进行预测之前,作者首先会对support set进行过滤
这里 是
中第
大的熵值,
是一个超参。
T3A有如下几个良好的性质:
- T3A隐式降低预测熵:预测熵一定程度上表征了DG的难度;看不见的区域的熵往往大于可见区域的熵。使用T3A大大降低了模型在unseen dataset上的预测熵。
- 计算效率高:唯一的计算开销是最后一个线性层的前向传播的成本,与特征提取器的前向和后向传播相比,这通常可以忽略不计。
- 性能提升明显,如上图c所示,在各个数据集上都取得了明显的提升。
Why Do Better Loss Functions Lead to Less Transferable Features?
以往的工作提出了许多新的损失函数和正则化器,以提高图像分类任务的测试精度。然而,尚不清楚这些损失函数是否能够更好地学习下游任务的表示。本文研究了训练目标的选择如何影响卷积神经网络在ImageNet上训练得到的可转移性。文章发现,许多目标在ImageNet accuracy上比普通的softmax交叉熵有显着改善,但由此产生的固定特征提取器在下游任务上的迁移性能显着下降,当网络完全微调到新任务上时,损失的选择几乎没有影响。
主要结论如下所示,即这些各种loss大多数能在imagenet上带来一定的提升,但是transfer result并没有多大改善,即 Better objectives improve accuracy, but do not transfer better 。
结论2:训练目标对微调网络的性能影响不大。
总结一下,自从 In Search of Lost Domain Generalization这篇文章在很多benchmark上进行了比较,发现以往的DG方法在没有一个合理的setup的情况下,比ERM好的不多。NeurIPS 2021显然开始将目光移到了其他地方:引入额外信息,比如tgt端的无标签数据或者在线数据。
最后,欢迎大家关注github,聚合了OOD,causality,robustness,optimization以及一些前沿研究方向的一些阅读笔记
Be First to Comment