59dfd12ed7b8a20990c14d2936cd49e9.gif

©作者 | 江俊广

单位 | 清华大学

研究方向 | 迁移学习

本文主要介绍域自适应(Domain Adaptation)中的对抗域自适应方法(Domain Adversarial Learning)。

域自适应的算法不仅包括对抗域自适应方法,还包括:

  • 统计距离(Statistics Matching)

  • 假设对抗自适应(Hypothesis Adversarial)

  • 数据域翻译(Domain Translation)

  • 自训练(Self-Training)

  • 自监督学习(Self-supervised Learning)

这些在迁移学习文献综述 Transferability in Deep Learning: A Survey 中进行了详细介绍,后续也会为这些方法推出相关的介绍文章。

对抗域自适算法的理论基础可以参考姐妹篇文章迁移学习:域自适应理论简介 Domain Adaptation Theory。

本文力求用通俗的语言介绍对抗域自适应方法最重要的几个算法的设计以及它们的改进。因此,不了解域自适应理论不影响阅读本文。

829f45868269ea932f2d4cb93ecd3291.png


域自适应问题

域自适的核心问题是解决数据分布不一致对机器学习模型性能的影响。


1.1 问题背景

大部分机器学习模型通常会假设训练集和测试集来自相同的数据分布,这在人工打标并处理过的数据集上通常是能满足的。

然而如果让我们的目光不再局限在各种已经存在标注的数据后,而是扩展到全世界无数传感器、摄像头以及社交网络用户每天产生的海量数据时,我们就会发现标注数据是少数,与标注数据的分布不一致的无标注数据才是大部分数据的常态。

比如在野外部署了大量的摄像头来检测野生动物的行为 [1],但是往往只有部分地区部分时间段的数据存在着标注。而在不同的数据中,摄像机角度、背景、植被、颜色和动物分布存在巨大差异,这导致在标注数据上训练的模型无法很好地泛化到其他地区或者未来产生的数据上。

c3905761b481f9a4021ca1cfb76e5ee0.png

1.2 问题定义

上述场景的抽象描述就是无监督域适应的学习设定。给定从不同的数据分布 和 中采样得到的有标注数据集 和无标数据集 ,无监督域自适应希望能学到一个在分布 上性能尽可能好的模型。

02d0e643d5094a941917b81d5c07f908.png


1.3 数据分布概念总结

以下简单总结了域自适应的文献中经常会出现各种和分布相关的概念。区分这些定义可以帮助你更好地理解不同域自适应算法的动机以及它们的异同。

分布(Distribution)指的是数据所有可能出现的值,以及在这些值上出现的概率。

  • 边缘分布(Marginal Distribution):在统计学中,指的是多维随机变量中,部分变量的概率分布。而在域自适应中,一般指的是输入数据或者是特征的分布,常常记作 。

  • 联合分布(Joint Distribution):同时对输入数据 和标签 的概率分布 。联合分布也可展开写成 或者 。

  • 条件分布(Conditional Distribution):当已知 的取值为某个特定值 之时,输入数据或者是特征的分布,常常记作 或者 。

  • 标签分布(Label Distribution):标签 的概率分布 。

分布偏移(Distribution Shift)指的是训练集和测试集的分布 和 出现了差异,即 。常见的分布偏移可分为:

  • 协变量偏移(Covariate Shift):打标函数 固定,只有边缘分布 随着数据域发生变化,即

    402 Payment Required

    。统计学家称之为协变量偏移,因为特征也叫做协变量。
  • 标签偏移(Label Shift):条件分布 固定,只有标签分布 随着数据域发生变化,即

    402 Payment Required

  • 概念偏移(Concept Shift):标签的定义随着数据域发生变化,即 。

目前学术界关注最多的就是协变量偏移和标签偏移,因为它们相对容易解决。

在实际问题中出现的往往是上述情况的混合。比如在野生动物监测应用中,不同摄像头的拍摄背景和动物本身的分布都不同,此时边缘分布 和标签分布 都随着数据域发生了变化。

16aa1020674cd0906346ae4cd5f96955.png


对抗算法设计

对抗域自适应方法的核心想法是学习足够好的表示(representation),使得在表示层面降低不同数据分布的差异。

2.1 边缘分布的对齐

领域对抗神经网络 (Domain Adversarial Neural Network,DANN)[2] 是域自适应使用最为广泛的方法之一。它的核心想法就是在表示层面减少边缘分布 和 的差异。

生成对抗网络 Generative Adversarial Net(GAN)[3] 引入了一个判别器来刻画真实的数据分布和生成的数据分布之间的差异。受到 GAN 的启发,DANN 使用域判别器(Domain Discriminator)D 来区分不同数据域产生的特征,

c82760a1d49ae1181a7e91b5b88f8051.png

域判别器的准确率就刻画了两个数据域边缘分布的差异,然后特征生成器(Feature Generator) 的目标就是努力欺骗域判别器,从而减少边缘分布的差异。

2dbd58095df81d96d53a947f87b2bb08.png

5321879150d348e88c053e641825a680.png

DANN 隐含的假设是不同的数据域之间只存在协变量偏移 ,但是这是在许多实际问题中很难满足的假设,因此后续不断地提出改进(见本文的第 3 部分)。

需要指出的是,DANN 基于的理论是 -Divergence,而后者推导的前提是二分类问题以及 0-1 损失,因此直接将 DANN 推广到多分类问题以及回归问题是没有理论保证的(详细解释参考迁移学习:域自适应理论简介 Domain Adaptation Theory)。

2.2 条件分布的对齐

直观地讲,在多分类问题中使用 DANN 存在的问题是——即使判别器被成功地欺骗,依然无法保证源域和目标域的特征分布是对齐的。因为很可能是不同类的特征(比如源域上的狗和目标域上的猫的特征)被拉近,尤其是类别数较多的时候。

避免上述问题的一个直接思路是让不同类的特征分别拉近,即显式地减少条件分布 和 的距离。

然而目标域上的类别标签是未知的。因此条件对抗神经网络 (Conditional Adversarial Neural Network,CDAN)[4] 在训练域判别器的时候使用模型的预测 代替条件分布中的标签,

c656fd28d1160c16255e31a5d86c7061.png

43319beed01ce4d1e13df3a62f160d2d.png

让域判别器看到模型的输出,本质上增强了域判别器的区分能力。而为了欺骗加强后的域判别器,特征生成器不得不将每个类别的特征分别拉近。因此 CDAN 在类别数多的分类问题上会获得更好的迁移效果。

a3a3461ace2a270981d161fd83454cd3.png

2.3 标签分布的对齐

还有一种比较极端的拉近数据分布的方法,是直接对齐两个数据域的输出分布。

这里隐含的假设是标签偏移完全不存在,即 。理想情况下,模型在不同数据域上的输出分布也应该是一致的,但是由于源域和目标域之间存在的协变量偏移 ,使得模型的输出分布并不一致。反过来思考,只要鼓励模型在不同数据域上的输出分布尽可能一致,就可以间接地拉近两个数据域的边缘分布。

在实际的分类应用中,数据域之间不存在标签偏移的假设几乎不可能成立。此外,相比于特征空间,输出空间丢失了太多的信息,因此只是约束输出空间的分布一致,并不能保证两个数据域的边缘分布被正确地拉近。因此,标签空间的对齐在大部分任务中是不合适的。

但是也有例外的情况,比如实例分割(Semantic Segmentation)这种像素级别的分类任务。在这些任务中,输出空间本身包含丰富的信息,例如相邻的像素往往具有相同的类别,而这些信息在不同的数据域之间是相通的。因此,Adapt-SegMap [5] 训练域判别器来区分实例分割模型的输出是来自源域还是来自目标域,同时鼓励特征生成器对齐目标域和源域的输出分布,这种方式反而比在特征空间进行对抗域自适应效果更好。

70a2d0089435f8ab603e08cb4e3f622b.png

439fc7cc3e1178665f45605102ff6882.png


对抗的不足与改进

尽管对抗域自适应方法在常见的域自适应数据集上(Office-31,Office-Home 以及 VisDA2017)的效果很显著, 但在实际应用中它依然存在着若干不足,这里简单罗列四点。

3.1 鲁棒性差

域自适应的效果非常依赖于特定的假设。Office-31 这种数据集是人为构造出来的干净数据集,因此 Office-31很好地满足了只存在协变量偏移的假设。但是在 IWILDCAM-WILDS [1] 这种真实应用的数据集上,无标注目标域是真的不存在人工标注,因此协变量偏移和标签偏移的存在都是无法避免的。而当标签分布不一致的时候,对抗训练极容易将不同数据域的不同类别的特征拉近,导致对抗域自适应反而会起到负作用。

因此在介绍不同算法的过程中,我们总是强调了它所基于的假设。这也是机器学习中没有免费午餐定理很好的一个例子——不同问题中的假设不同,因此没有哪种域自适应算法可以在所有问题上都有最好的效果。

当数据中不满足对抗域自适应算法所期望的假设时,一种直接的想法是,重新构造源域和目标域,使得它们尽可能满足算法的假设。

比如重要性加权对抗网络(Importance Weighted Adversarial Nets, IWAN)[6] 的动机就是挑选合适的数据参与对抗训练。具体的,IWAN 训练了两个域判别器,一个依然是用来学习域无关的表征,另外一个用来挑选合适的数据。让第二个域判别器感到困惑的数据往往属于源域和目标域上共享的类,这些数据应该参与到域对抗训练中,而第二个域判别器能够成功区分开的数据点很有可能属于源域上才有的类别,因此不应该参与到域对抗训练中。

548275299717c04440405295ac6c3659.png


3.2 数据利用效率相对较低

相比于统计距离(比如 DAN [7],JAN 等),基于域判别器学习得到的距离需要更多的数据(不论是源域还是目标域)。因此在数据量相对较少的场景下,反而是基于统计距离的域自适应方法效果更好。强调相对的原因是,数据量相对的多少不仅取决于总的数据量,还取决于类别数,比如 DomainNet 数据量虽然大,但是类别数也多,导致在 DomainNet 上反而是 DAN 比 DANN 效果更好。


3.3 无法处理回归问题

对抗域自适应在回归问题上是没有理论保证的(解释见 Domain Adaptation Theory)。直观上的理解是,回归问题中,特征的分布在整个空间是离散且弥漫的,那么 即使判别器被成功地欺骗,依然无法保证源域和目标域的特征按照相同的标签被拉近。

c287e677870c8eeaae113c5783ce858e.png

同时在实验上,域对抗自适应的方法在回归问题上表现也不好 [8]。


3.4 降低了模型的判别性

尽管对抗域自适应在特征空间减少了不同数据域的分布差异,从而增强了特征的迁移性(Transferability),但它可能牺牲掉特征的判别性(Discriminability)。比如在分类问题里,将对抗域自适应后的特征固定住,在其上训练分类器的难度是增加的。

a4becd25f61a6f7092958b6012d7a88d.png

谱分析表明 [9],对特征进行SVD分解后,最大的奇异值一般对应不同数据域之间共享的知识,而其他特征值则往往对应领域特定的知识。尽管这些特征向量可能会包含判别信息,但是依然会在域对抗训练中受到惩罚,从而削弱了判别性。为了权衡模型的判别性和迁移性,批量光谱惩罚(Batch Spectral Penalization)惩罚最大的奇异值,从而相对增强其他特征值来提高判别性。

在一些复杂的应用,上述几个问题是同时存在的。比如在目标检测的域自适应中

  • 标签偏移总是不可避免的,因此对抗域自适应的假设被破坏了

  • 目标框的定位是一个回归任务,对抗域自适应对此无能为力

  • 域对抗的过程容易降低检测器的判别性,导致其目标定位能力变差

因此在目标检测中使用对抗域自适应需要一些特别的设计 [10],我们会在下一篇文章中展开介绍。

本文主要参考 Transferability in Deep Learning: A Survey [11] 中的章节 3.2.2 Domain Adversarial Learning。感兴趣的读者可以阅读原文:

https://arxiv.org/abs/2201.05867

本文中提到的大部分算法都可以在下方链接找到代码实现:

https://github.com/thuml/Transfer-Learning-Library/tree/master/examples/domain_adaptation/image_classification

链接

文献综述:

https://arxiv.org/pdf/2201.05867.pdf

Paper List:

https://github.com/thuml/Awesome-Transfer-Learning

算法库Github:

https://github.com/thuml/Transfer-Learning-Library

算法库网站:

https://transfer.thuml.ai/

outside_default.png

参考文献

outside_default.png

[1] abSagawa, S., Koh, P. W., Lee, T., Gao, I., Xie, S. M., Shen, K., Kumar, A., Hu, W., Yasunaga, M., Marklund, H., Beery, S., David, E., Stavness, I., Guo, W., Leskovec, J., Saenko, K., Hashimoto, T., Levine, S., Finn, C., and Liang, P. Ex- tending the wilds benchmark for unsupervised adaptation. In NeurIPS Workshop on Distribution Shifts, 2021.

[2] Yaroslav Ganin and Victor Lempitsky. Unsupervised domain adaptation by backpropaga- tion. In ICML, 2015.

[3] Ian J Goodfellow, Jean Pouget-Abadie, Mehdi Mirza, Bing Xu, David Warde-Farley, Sherjil Ozair, Aaron Courville, and Yoshua Bengio. Generative adversarial networks. In NeurIPS, 2014.

[4] Mingsheng Long, Zhangjie Cao, Jianmin Wang, and Michael I. Jordan. Conditional adver- sarial domain adaptation. In NeurIPS, 2018.

[5] Yi-Hsuan Tsai, Wei-Chih Hung, Samuel Schulter, Kihyuk Sohn, Ming-Hsuan Yang, and Manmohan Chandraker. Learning to adapt structured output space for semantic seg- mentation. In CVPR, 2018.

[6] Zhang, J., Ding, Z., Li, W., and Ogunbona, P. Importance weighted adversarial nets for partial domain adaptation. In CVPR, 2018.

[7] Mingsheng Long, Yue Cao, Jianmin Wang, and Michael I. Jordan. Learning transferable features with deep adaptation networks. In ICML, 2015.

[8] Junguang Jiang, Yifei Ji, Ximei Wang, Yufeng Liu, Jianmin Wang, and Mingsheng Long. Regressive domain adaptation for unsupervised keypoint detection. In CVPR, 2021

[9] Xinyang Chen, Sinan Wang, Mingsheng Long, and Jianmin Wang. Transferability vs. discriminability: Batch spectral penalization for adversarial domain adaptation. In ICML, 2019c.

[10] Junguang Jiang, Baixu Chen, Jianmin Wang, and Mingsheng Long. Decoupled adaptation for cross-domain object detection. In ICLR, 2022.

[11] Junguang Jiang, Yang Shu, Jianmin Wang, Mingsheng Long, Transferability in Deep Learning: A Survey https://arxiv.org/abs/2201.05867

更多阅读

40fdc54856a610eb7717eabf59ae01ee.png

fef464086ece90ed90eb4d821e259f2e.png

fac933f11d217f17b0444349bf006687.png

865b70eee8110a5a800f857e1bc1b95d.gif

#投 稿 通 道#

 让你的文字被更多人看到 

如何才能让更多的优质内容以更短路径到达读者群体,缩短读者寻找优质内容的成本呢?答案就是:你不认识的人。

总有一些你不认识的人,知道你想知道的东西。PaperWeekly 或许可以成为一座桥梁,促使不同背景、不同方向的学者和学术灵感相互碰撞,迸发出更多的可能性。 

PaperWeekly 鼓励高校实验室或个人,在我们的平台上分享各类优质内容,可以是最新论文解读,也可以是学术热点剖析科研心得竞赛经验讲解等。我们的目的只有一个,让知识真正流动起来。

📝 稿件基本要求:

• 文章确系个人原创作品,未曾在公开渠道发表,如为其他平台已发表或待发表的文章,请明确标注 

• 稿件建议以 markdown 格式撰写,文中配图以附件形式发送,要求图片清晰,无版权问题

• PaperWeekly 尊重原作者署名权,并将为每篇被采纳的原创首发稿件,提供业内具有竞争力稿酬,具体依据文章阅读量和文章质量阶梯制结算

📬 投稿通道:

• 投稿邮箱:hr@paperweekly.site 

• 来稿请备注即时联系方式(微信),以便我们在稿件选用的第一时间联系作者

• 您也可以直接添加小编微信(pwbot02)快速投稿,备注:姓名-投稿

f04bb130b30fae8c66818ed6a6e47fdd.png

△长按添加PaperWeekly小编

🔍

现在,在「知乎」也能找到我们了

进入知乎首页搜索「PaperWeekly」

点击「关注」订阅我们的专栏吧

·

49a238e31d89d1c13b63b467c6c6a4f0.png

Logo

华为开发者空间,是为全球开发者打造的专属开发空间,汇聚了华为优质开发资源及工具,致力于让每一位开发者拥有一台云主机,基于华为根生态开发、创新。

更多推荐