本期我们将为大家介绍一种「基于域不变特征挖掘的域泛化方法(DIFEX)」。近年来领域泛化(Domain Generalization, DG)受到了越来越多的关注,现有的DG方法可以粗略地分为三类:「数据操作、表示学习、学习策略」[1]。本文聚焦于域泛化表示学习,针对现有表示学习中获取的不变特征不够充分的问题,这篇文章尝试思考:什么是域不变特征?如何进一步改进DG的效果?首次将域不变特征分成「域内不变特征」(「internally-invariant」)和「域间不变特征」(「mutually-invariant」)两种类型,更多样、更充分地挖掘域不变特征。此方法在图片和时间序列两个模态的数据上,在多源、单源多个场景下,进行了充分的实验,实验的结果表明,DIFEX通过充分特征地挖掘,可以获得更好的效果,同时多场景通用,且容易拓展。文章已经被机器学习领域TMLR期刊接收。
本文作者:卢旺(中科院计算所博士生) Openreview链接:https://openreview.net/forum?id=0xENE7HiYm PDF链接:https://openreview.net/pdf?id=0xENE7HiYm 代码:https://github.com/jindongwang/transferlearning/tree/master/code/DeepDG
背景与动机
近年来,领域泛化(Domain Generalization, DG)吸引了越来越多的关注,在各个领域得到了广泛的应用。现有的DG方法可以分成三个类别:数据操作、表示学习、学习策略。顾名思义,数据操作就是对数据输入输出进行操作,比如数据增量、数据生成;表示学习就是学习域不变特征或者对特征进行解耦,获取更有意义的泛化特征;学习策略便是设计一些特定的策略增强模型泛化能力,比如集成或元学习。本文主要聚焦于表示学习,进行模型泛化能力的增强。
已有的关于域不变特征学习方法的探索促使我们尝试思考这类方法的合理性:「什么是域不变特征?如何获取域不变特征并更好获得泛化效果?」现有一些工作表明,在域自适应领域,简单的域间特征对齐获取的特征是远远不够的,需要关注更多其它的方面。最近,在域泛化领域也出现了类似的结论,简单的对齐可能损害模型的分辨能力以及特征的多样性和充分性。针对这个问题,我们对于不变特征进行了深入的思考。我们认为不变特征应该从域内和域间两个角度进行学习:
「域内不变特征(internally-invariant features)」,与分类有关的特征,产生于域的内部,不受其他域的影响,主要抓取数据的内在语义信息; 「域间不变特征(mutually-invariant features)」,跨域迁移知识,通过多个域产生,共同学习的一些知识。
我们认为,把这两种特征「有效充分」地结合起来,可以得到泛化性更好的模型。注意我们的方法类似特征解耦,但是其实稍有区别,特征解耦通常将特征分为域专有特征和域共有特征,我们这里的域内不变特征和域专有特征有稍许区别,我们的更关注于对分类有用的特征,可以理解为针对分类不变的特征,而后者强调与域关联的特征。广泛的实验表明,我们的方法能获取更多样、更充分的特征,从而构建泛化能力更强的机器学习模型。
方法介绍
注意,整个方法的细节部分公式较多,我们在这里仅介绍最重要的部分。更多细节请看原论文。
整体框架
我们提出的方法叫做「DIFEX」,是Domain-Invariant Feature EXploration的缩写。如下图所示,DIFEX尝试同时学习域内不变特征和域间不变特征,并尝试将他们集合起来进行分类。注意,为了保持公平性,我们将最后一层特征一分为二,一部分进行域内不变特征学习,一部分进行域间特征学习;同时为了保证特征的多样性,我们提出了一个正则项,来让两种特征的差别尽量大。下面来具体看看两种特征的获取以及多样性的拓展。
学习域内不变特征
已有的工作表明傅里叶「相值」(Phase)中包含更多的语义信息,「不太容易」受到域偏移的影响,而傅里叶「幅值」(Amplitude)信息主要包含低层次的统计信息,受域偏移影响较大。从下面的图中,我们可以看出,对于行走采集到的原始数据来说,傅里叶的相值信息的确更能代表类别,仅由相值恢复的数据的确包含更多的语义信息,比如周期性以及起伏。因此,我们把傅里叶「相值」作为域内不变特征。
为了获取域内不变特征,我们主要采用一个简单的蒸馏框架来学习,注意这里的蒸馏方法虽然在训练时候引入了额外的训练代价,但是在预测时可以减少不必要的FFT计算,确保预测的整个过程可以端到端的直接进行。
如上图所示,我们首先使用一个老师网络来利用傅里叶相值信息来学习分类模型,从而获取有用的与分类有关的傅里叶相值信息,训练之后,我们认为老师模型可以得到与分类有关的傅里叶相值信息,那么在学生模型训练的时候,便可以让它参考老师的这部分特征,进行域内不变特征学习。
学习域间不变特征
对于域间不变特征,我们直接采用CORAL对齐[3]完成。
为了更好的获得多样的不变特征,减少特征之间的重复和冗余,我们期望这两种类型的不变特征尽量不一样,我们通过一个额外的正则项达到这个目的,
所以整个方法的目标便是,
分别让一半特征通过蒸馏学习域内不变特征,让一半特征通过对齐学习域间不变特征,并让特征之间不一致性尽量大,我们可以获得更多样的不变特征,最终获取更鲁棒的模型。我们的方法对于单源域自适应同样适用,域间特征可以通过将训练数据batch内的域标签随机分配并对齐获取,而因为域内不变特征的挖掘,大大增强了泛化识别能力。
实验结果
我们进行了充分的实验,在图像和时间序列数据上构建了多种设定来证明我们方法的有效性。
多源情形
图片 VLCS,从下表可以看出,在公平的对比下,我们的方法提高了**3%**。
时间序列 EMG,从下表可以看出,在公平的对比下,我们的方法提高了**7.25%**。
单源情形
图片 PACS,从下表可以看出,我们的方法提高了**9%**。
时间序列 行为识别,从下图可以看出,我们的方法提高了**9%**。
消融实验
我们还进行了消融性实验,表明我们方法每个组成部分的作用。
更多的实验和分析请参考原文。
总结
在本文中,我们深入分析了域不变特征,并提出DIFEX来充分挖掘域内不变特征和域间不变特征,通过一个简单的继承和拓展框架,我们的方法能够学习多样充分的不变特征,从而获得更鲁棒的域泛化模型。DIFEX给未来的域泛化学习提供了新的思路,除了简单的对齐之外,对于更多样不变特征的挖掘能够进一步地提升模型的分辨和泛化能力。未来我们会尝试更好的超参数选择方法以及更好的特征不一致性度量指标,来更好地进行域泛化表示学习。
Reference
[1] Jindong Wang , Cuiling Lan, Chang Liu, Yidong Ouyang, Tao Qin, Wang Lu, Yiqiang Chen, Wenjun Zeng, and Philip S. Yu. Generalizing to Unseen Domains: A Survey on Domain Generalization. TKDE 2022.
[2] Wang Lu, Jindong Wang, Haoliang Li, Yiqiang Chen, and Xing Xie. Domain-invariant Feature Exploration for Domain Generalization. TMLR 2022.
[3] Sun B, Saenko K. Deep coral: Correlation alignment for deep domain adaptation[C]//European conference on computer vision. Springer, Cham, 2016: 443-450.