Press "Enter" to skip to content

从近年顶会论文看领域自适应(Domain Adaptation)最新研究进展

本站内容均来自兴趣收集,如不慎侵害的您的相关权益,请留言告知,我们将尽快删除.谢谢.

 

©PaperWeekly 原创 · 作者 | 张一帆

 

学校 | 中科院自动化所博士生

 

研究方向 | 计算机视觉

 

Domain Adaptation 即在源域上进行训练,在目标域上进行测试。

 

 

本文总结了近两年 ICML/NeurIPS 的几篇文章,分别覆盖了几种 DA 的新 setting 以及新的理论/方法。

 

 

CIDA

 

 

论文标题:

 

Continuously Indexed Domain Adaptation

 

收录会议:

 

ICML 2020 Oral

 

论文链接:

 

https://arxiv.org/abs/2007.01807

 

代码链接:

 

https://github.com/hehaodele/CIDA

 

目前已有的 domain 划分都是按类别的,即每个 domain 有一个固定的域标签。但是在日常生活中,domain 并不只是一个常数能够代表的,比如 RGB 图像和深度图像。

 

 

很多实际问题包含了连续变化的 domain,在医药领域,domain 可以是用户的年龄,这是一个连续的值,在自动驾驶领域场景的变化从白天到黑夜,是一个连续的过程。

 

先来看一个文中给出的简单样例,以二分类为例(红色和蓝色),给定六个 source domain 和其他域的无标签数据,想要去尽可能的提升在其他目标域的表现。

 

 

我们先来看一些传统算法的表现,对于简单的 adversarial learning,他想要学得一个 invariant representation 是的域分类器无法判别样本的来源,他学到的分类面如下所示,泛化性能并不是很好。

 

 

作者表达了传统方法在这种 setting 上不 work 的原因是不能有效地利用大量,连续变化的标签。本文的 intuition 是,对于上例,其实每个 domain 对应了一个旋转角度,本文给出的模型实际上也很简单,如下所示,就是将 label 也作为 encoder 的输入,在此基础上执行 adversarial training。

 

 

但是此时作者还观察到一个现象,如果我们将前三个 domain 拿出来单独分析,会发现这三个domain拿来预测标签得到的分布不尽相同,他们可能只是均值相同,并不是很好的对齐了特征的预测分布。

 

 

本文给出了改进方案,即我们直接对其输出分布的数字特征:均值与方差,改进后的网络结构与损失如下所示。

 

 

本文的理论贡献主要有三点:

 

1. 证明了 CIDA 方案收敛,当且仅当对于任何是相同的;

 

2. 证明了 PCIDA 方案收敛,当且仅当均值和方差对于任何是相同的;

 

3. 证明了的 two-player 博弈和的 three-player 博弈全局最优点一致。

 

展示一下 CIDA 在 Sine 数据集上得到的分类面,可以看到比起 baseline,文中所提到的算法在 continuous index 的情况下取得了更平滑,效果更好的分类面。

 

 

 

DSAN

 

 

论文标题:

 

Domain Adaptation with Invariant Representation Learning: What Transformations to Learn?

 

收录会议:

 

NeurIPS 2021

 

论文链接:

 

https://openreview.net/pdf?id=zdmF437BCB

 

代码链接:

 

https://github.com/DMIRLAB-Group/DSAN

 

本文的 intuition 在于,以往的大多数方法使用同一个 encoder处理不同域的数据,这样的做法在一些情况下不能学到一个对边缘分布具有不变性的特征。也有一些工作选择对源域和目标域使用不同的 encoder,但是这种方法目前仍存在一定的问题,比如(1)使用两个 encoder 的动机尚不清楚;(2)目前 UDA 还没有一个方法可以保证不变性特征具有足够的语义信息。

 

本文的符号和假设如下,分别是图像和标签,是隐变量,是一个 nuisance,即 domain 间的风格差异等。

 

 

本文首先给出了两个特例,即下图,左侧源域是正态分布,目标域是均匀分布而且二者有 overlap。然而在 overlap 的地方,两个分布的密度并不相同。文章说明了如果源域和目标域有重叠而且在重叠区域密度不同,那幺使用单一的一个 encoder 不足以学到 invariant representation。

 

 

本文给出了他们的解决方案,与传统工作的不同点在于:

 

1. 将建模为 domain index 的函数,因此 encoder 的输入其实有两个,其为;

 

2. 为了最小化带来的影响,文中额外添加了一个 decoder 来约束,如下图所示,就是会将 tgt/src domain 的都给到 source domain 的隐变量,然后两个重构要让我们的分类器无法辨别来源于哪个 domain;

 

3. 不同的 domain 对应不同的 encoder。

 

 

展示一部分实验结果:

 

 

 

IDOL

 

 

论文标题:

 

Gradual Domain Adaptation without Indexed Intermediate Domains

 

收录会议:

 

NeurIPS 2021

 

论文链接:

 

https://papers.nips.cc/paper/2021/file/45017f6511f91be700fda3d118034994-Paper.pdf

 

代码链接:

 

https://github.com/hongyouc/IDOL

 

当目标域和源域的差异很大的时候,UDA 算法的性能往往会很差,Gradual domain adaption(GDA)是一个解决方案,它可以利用每个 domain 渐进的偏移来提升 DA 的性能,但是往往需要额外域的标签,比如人的年龄信息,本文提出了一个更加 challenging 的 setting:如果没有额外域的标签,我们如何使用 GDA 的算法。

 

 

那幺公式化本文其实是要解决这样一个问题,即我们在源域的模型,然后提出的 IDOL 模型将无标签的一大堆数据分成中间域,模型渐进的在每个中间域 self-training,目标是最终在目标域取得不错的性能。

 

 

要直接完成这个任务是非常困难的,因为评估预测的多个域标签需要将整个流程跑一遍。因此本文提出了一个渐进式的解决方案:

 

1. 首先给每个 sample一个分数,这个分数大概确定了在 src 到 tgt 的位置。有了这个分数其实我们都可以将他们按序排列然后分到个 chunk 里即可;

 

2. 为了提升这个分配方式,进一步考虑分组到同一领域的数据如何能够集体地保存来自前一个领域的 discriminative knowledge。这里可能有点难以理解,下文介绍方法就明白了。

 

第一步的做法很简单,self-training 以及 OOD 样本检测都有如下的普遍现象:模型置信度越低,说明样本越有可能是 OOD 的,即,取类中置信度最高的。这种方法的一个缺点是会大概率选中那些易于区分的样本。本文也尝试了其他方法,比如这里也会训练一个 source 和 target 的域分类器,来对之间的域进行打分,

 

第二步稍微有些复杂,为了维持在上一个 domain 学到的分类信息,作者定义了 cycle-consistency 的损失函数。这个过程的 intuition 是这样的,我们从如果我们在 domain 0 上有一个 train 好的模型,他在距离较近的 domain 1 上表现应该也不错,那幺我们渐进的在 domain 1 上完成了 self-training,那他也应该在 domain 0 上表现不错,这就是所谓的 cycle-consistency。

 

 

 

Implicit Semantic Response Alignment

 

 

论文标题:

 

Implicit Semantic Response Alignment for Partial Domain Adaptation

 

收录会议:

 

NeurIPS 2021

 

论文链接:

 

https://papers.nips.cc/paper/2021/file/731b03008e834f92a03085ef47061c4a-Paper.pdf

 

代码链接:

 

https://github.com/implicit-seman-align/implicit-semantic-response-alignment

 

Partial Domain Adaptation(PDA)即目标域的标签是源域标签的一部分,目前的大多数工作旨在对源域进行加权以减小标签的不一致,本文相信来自这些额外类别的样本仍然包含有价值的信息,可以促进 PDA。例如,猫和狗有明显的区分等级的特征;然而,它们也有许多共同的语义信息,包括皮毛、四条腿等等。因此,本文期望通过隐式语义来探讨不同类别之间的关系,并实现语义层次的对齐。

 

本文的结构如下:

 

 

主要分为如下几步:

 

1. implicit semantic discovery:将图像通过一个 class2vec 模块转化为一系列的语义信息(直观来看就是一组 embedding,每一个 embedding 对应一种语义信息),这里通过一个 auto-encoder 的重构方式来训练 class2vec 模块;

 

2. Topic attention reception:为了得到我们 backbone 特征和这些语义信息的关系,这里使用一个 attention 模块将计算每个特征对每个语义信息的相应(一个权重),因此我们就可以得到每一个特征对语义信息们的权重向量(mask);

 

3. Semantic topic alignment:使同一语义对应的 src mask 和 tgt mask 向量尽可能相似,这使我们的模型能够从特定语义上具有相似度的额外类中迁移样本所包含的相关语义信息。

 

看一部分实验效果:

 

 

 

BPDA

 

 

论文标题:

 

The balancing principle for parameter choice in distance-regularized domain adaptation

 

收录会议:

 

NeurIPS 2021

 

论文链接:

 

https://proceedings.neurips.cc/paper/2021/file/ae0909a324fb2530e205e52d40266418-Paper.pdf

 

代码链接:

 

https://github.com/Xpitfire/bpda

 

传统 UDA 算法通常由一个分类损失和一个正则化损失组成,但是如何选择二者的 tradeoff parameter 是一个仍未解决的问题,因为我们并没有 tgt domain 的 label,因此无法对每个参数带来的性能进行验证,在实验中现有工作往往将其作为一个超参数。本文从理论出发,找到了一个设置最优 tradeoff parameter 的方法。

 

其实算法很简单就是通过 DA bound 的那一套理论推出了如下的方法,给一组和相应的模型,根据算法中的条件进行选择。

 

 

特别鸣谢

 

感谢 TCCI 天桥脑科学研究院对于 PaperWeekly 的支持。TCCI 关注大脑探知、大脑功能和大脑健康。

 

Be First to Comment

发表评论

您的电子邮箱地址不会被公开。 必填项已用*标注