查看原文
其他

【综述专栏】域适应(UDA)和半监督(SSL)的恩怨情仇

在科学研究中,从方法论上来讲,都应“先见森林,再见树木”。当前,人工智能学术研究方兴未艾,技术迅猛发展,可谓万木争荣,日新月异。对于AI从业者来说,在广袤的知识森林中,系统梳理脉络,才能更好地把握趋势。为此,我们精选国内外优秀的综述文章,开辟“综述专栏”,敬请关注。

来源:知乎—豆豆
地址:https://zhuanlan.zhihu.com/p/382167665
本文主要基于论文:Semi-supervised Models are Strong Unsupervised Domain Adaptation Learners. 一句话总结:尽管域适应(特指无监督域适应,unsupervised domain adaptation, UDA)和半监督(Semi-supervised Learning, SSL)看似是两个截然不同的任务,我们发现
1. SSL任务可以被视为UDA的一个特例;
2. SSL方法在UDA 任务上效果很好, 接近(或者超过)state-of-the-art UDA 方法。

Paper 链接:

https://arxiv.org/abs/2106.00417

Code 链接:

https://github.com/YBZh/Bridging_UDA_SSL


01

背景介绍
为了减轻deep learning 对海量人工标注样本的依赖,人们想了各种各样的办法,比如: Few-shot Learning: 只使用少量标注样本来学习;Semi-supervised learning: 只使用少量有标注样本和大量无标注样本来学习; Unsupervised domain adaptation: 使用大量有标签源域数据和大量无标签目标域数据来学习;noisy label learning等等。

02

UDA and SSL 的差异
本文讨论了SSL和UDA两者之间的关系。如上文所述,尽管两者的最终目标是相近的,而且两者的训练数据都是既有标注数据又有无标注数据,但是两者在任务设定上有一个本质区别:UDA中的源域数据和目标域数据是采样自不同的数据分布的,而SSL 中的所有数据都是采样自同一个数据分布的;进而导致两个任务的解决方法上存在着本质的不同。
考虑到UDA中源域数据和目标域数据的分布差异,UDA中最经典(也是最有特色)的方法是进行两个分布的对齐;因为两个分布对齐之后,也就是source data 和target data的数据分布对齐之后,基于source data 训练得到的model 就可以直接apply to target data了,关于domain 对齐的具体方法可以参考:https://zhuanlan.zhihu.com/p/95772588
不同于UDA中的domain shift 问题,SSL 中所有的数据都是采样自同一数据分布的,其难点是有标签的数据太少了。主流的SSL 方法主要是基于对数据分布的基本假设:如smoothness assumption, low-density separation assumption等。例如smoothness 假设认为如果两个样本在input space 距离比较近,那么他们的prediction 也应该比较相似;low-density separation假设认为分类器的决策边界应该位于样本比较稀疏的地方。

03

UDA and SSL 的联系
从上面的描述来看,UDA和SSL两个任务的本质区别带来了研究方法上的本质区别。可是对两者比较熟悉的同学可能会发现,其实在现有paper里两者的关系挺密切的。比如 Entropy minimization 和 self-training 等最开始proposed for SSL 的方法最近在UDA 的工作里广泛采用并取得了不错的performance boosting; 甚至有些方法就是SSL方法的 variants (更多详细的例子见论文)。
观察到UDA和SSL 方法上的联系之后,我们转回到两者任务之间的关系。因为如上文所说,两者被认为是有本质区别的两个任务,为啥方法上确是紧密联系的呢?其实原因很简单,两个任务之间本身就有紧密关系,并不像之前认为的大不相同。具体来说,尽管SSL中源域和目标域数据采样自相同的分布,但是由于labeled data 太少了,其无法表征整个分布,也就是只能表征整个分布很小的一部分;同时大量的unlabeled data是可以近似表征整个分布的。也就是说,SSL的 labeled data和unlabeled data 之间是有shift 的,这个shift是采样带来的!!如果我们把这个采样带来的shift 也理解为domain shift 的一种的话,那么SSL 也可以被视为UDA的一个特例: Unlabeled data (Target) 分布涵盖labeled data (Source) 那种,如下图(b)所示:
其中,图(a) 中的UDA setting 正好是importance weighting (i.e., one UDA method) 的目标任务。也就是说,SSL 任务是UDA 任务的一个特例!SSL methods 本身就是UDA methods之一!
我们在Office31, OfficeHome, VisDA, 以及最大规模的DomainNet 等UDA benchmarks上验证了SSL方法的有效性。我们发现SSL 的方法在UDA 的任务上结果很好!其中DomainNet的结果如下图所示:
我们发现,在UDA数据集上,SSL的方法甚至超过了UDA的方法也就是呼应了我们的title: Semi-supervised models are strong unsupervised domain adaptation learners !
基于UDA和SSL 的关系,我们也做了更多的分析,比如apply UDA methods to SSL tasks, combining UDA and SSL methods等,具体可以查看论文。

04

结论和扩展
最后给一个简短的总结: SSL 是UDA的特例,SSL methods 是strong UDA learners !
这个工作可以延伸出很多扩展:
UDA 分类任务有很多variants (partial, open set, universal, semi-supervised, multi-source, multi-target等) 以及不同任务:如detection, segmentation等. SSL methods 及其简单扩展应该也可以在这些任务上取得不错的结果
UDA和SSL 之间的理论层面的关系也是很重要的一个问题
最关键的是:UDA到底应该怎么解决?是domain alignment, 还是SSL, 或者是其他如 unsupervised learning, 或者应该是综合所有?

本文目的在于学术交流,并不代表本公众号赞同其观点或对其内容真实性负责,版权归原作者所有,如有侵权请告知删除。


“综述专栏”历史文章


更多综述专栏文章,

请点击文章底部“阅读原文”查看



分享、点赞、在看,给个三连击呗!

您可能也对以下帖子感兴趣

文章有问题?点此查看未经处理的缓存