当前位置:网站首页>同时对齐分布和分类器的多源领域自适应方法 - 知乎

同时对齐分布和分类器的多源领域自适应方法 - 知乎

2020-12-23 09:17:25 osc_1upwl8ju

同时对齐分布和分类器的多源领域自适应方法

大多数领域自适应的方法只关注一个源领域和一个目标领域。但现实生活中可用的源域也并非只有一个,这也就出现了多源领域自适应的问题。

本期我们将为大家介绍一种高效的多源领域自适应的方法,这篇文章探索了什么样的结构适合多源领域自适应。这篇文章[1]发表于AAAI2019,提的的MFSAN方法很简单,但是效果放到2020年依然是SOTA,下图结果来自NIPS20的一篇多源迁移文章[4]。

本期介绍的论文和代码如下链接:

paper

code

背景介绍

今年来领域自适应吸引了大量研究人员的关注,大量深度领域自适应的方法提出。但是大多数深度领域自适应的方法都在解决一个源领域向一个目标领域迁移知识的问题,也称作单源领域自适应(Single-source Domain Adaptation,SDA)。当目标领域没有标签时,这样的问题称作单源无监督领域自适应(Single-source Unsupervised Domain Adaptation,SUDA)。

这些单源领域自适应的方法在单源场景取得了不错的效果,但是现实生活中可用的源域也并非只有一个,这也就出现了多源领域自适应(Multi-source Domain Adaptation, MDA)的问题,这些方法无法解决MDA的问题。这里主要讨论多源无监督领域自适应(Multi-source Unsupervised Domain Adaptation, MUDA)。

近几年一些MUDA的方法被提出[2,3],这些方法对UDA方法进行改进,在同一个特征空间下分别对齐多个源领域和目标领域的特征,每个源领域对应一个分类器,对目标领域做预测时,使用一个人为设定的投票函数聚合多个分类器的输出。这些方法存在两个问题:

  • UDA的结构并不适合MUDA,大多数UDA的方法通常在同一个特征空间对齐源领域和目标领域的分布,通常这样的分布对齐只能减小分布差异而不能完全移除分布差异。放到多源场景,多个源领域之间也存在分布差异,在同一个特征空间中对齐,这样多个领域的分布差异会更难消除,如下图所示。
  • 分类器的投票函数由人为设定,需要很强的先验知识(比如哪些领域帮助大)。

针对以上两个问题,这篇文章提出了两个点:

  • 将不同的源领域和目标领域的分布对齐放在不同的特征空间中进行。
  • 通过分类器的一致性正则化项,减小分类器输出的差异,这样直接对分类器输出做一个平均,避免了人为设定投票函数。

方法介绍

MFSAN的网络结构如上图所示,网络包括三个部分:

  • Common Feature Extractor: 公共的特征提取器,所有领域共享的一个特征提取器,将所有领域提取到一个公共的特征空间
  • Domain-specific Feature Extractor: 领域特定的特征提取器,每个源领域分别对应一个领域特定的特征提取器,将公共特征空间中的特征,通过领域特定的变换,变换到domain-specific feature space
  • Domain-specific Classifier: 领域特定的分类器,每个源领域对应一个分类器

训练采用batch训练,每次输入一批来自某个源领域的数据和一批目标领域数据,这些数据通过common feature extractor和domain-specific feature extractor得到domain-specific的特征,对这两个领域的特征使用mmd进行对齐,mmd公式如下:

D_\mathcal{H}(p,q) \triangleq \| \mathbf{E}_p[\phi (\mathbf{x}^s)]-\mathbf{E}_q[\phi (\mathbf{x}^t)]\|^2_\mathcal{H}.

之后将该源领域样本输入特定的分类器,得到分类损失(交叉熵)。注意到多个分类器对同一个目标样本的预测结果应该是一致的,所以将目标领域样本送入不同的domain-specific分支,得到不同分类器给出的预测值,最小化这些分类器预测值之间的差异,也就是提出的一致性正则化项:

\mathcal{L}_{disc} = \frac{2}{N\times(N-1)}\sum^{N-1}_{j=1} \sum^{N}_{i=j+1} \mathbf{E}_{x\sim X_{t}}[| C_i( H_i( F(x_k) ) ) - C_j( H_j( F(x_k) ) ) |].

总的损失函数如下所示,包含三个部分,分类损失,特征对齐损失,一致性正则化项:

\mathcal{L}_{total} = \mathcal{L}_{cls} + \lambda \mathcal{L}_{mmd} + \gamma \mathcal{L}_{disc}.

实验效果

这篇文章的思想很简单,但是效果放到2020年依然是SOTA的,在3个数据集上效果如下。

Office31:

ImageCLEF:

OfficeHome:

在Office31和ImageCLEF上是两个源领域,在OfficeHome上是三个源领域。Single best表示只使用一个源领域的UDA方法的最好效果,source combine表示将所有源领域整合为一个领域,使用UDA的方法,Multi-Source表示多源的方法。从结果中我们可以发现使用多个源领域的数据比使用单个源领域数据效果更好。使用多源迁移的方法比直接source combine更好。也体现了研究多源领域自适应的意义。

总结

多源领域自适应有着和单源领域自适应不同的特点,需要针对这些不同点来研究多源领域自适应,比如这篇文章指出直接沿用单源的结构不适合多源领域自适应,提出了多个特征空间中分别对齐source-target pair。后续多源领域自适应还有很多可尝试的点,比如考虑源领域之间的关系。

[1] Zhu Y, Zhuang F, Wang D. Aligning domain-specific distribution and classifier for cross-domain classification from multiple sources[C]//Proceedings of the AAAI Conference on Artificial Intelligence. 2019, 33: 5989-5996.

[2] Xu R, Chen Z, Zuo W, et al. Deep cocktail network: Multi-source unsupervised domain adaptation with category shift[C]//Proceedings of the IEEE Conference on Computer Vision and Pattern Recognition. 2018: 3964-3973.

[3] Zhao H, Zhang S, Wu G, et al. Adversarial multiple source domain adaptation[J]. Advances in neural information processing systems, 2018, 31: 8559-8570.

[4] Venkat N, Kundu J N, Singh D, et al. Your Classifier can Secretly Suffice Multi-Source Domain Adaptation[J]. Advances in Neural Information Processing Systems, 2020, 33.

版权声明
本文为[osc_1upwl8ju]所创,转载请带上原文链接,感谢
https://my.oschina.net/u/4414278/blog/4831040