代码:GitHub - thuml/Universal-Domain-Adaptation: Code release for Universal Domain Adaptation(CVPR 2019)Code release for Universal Domain Adaptation(CVPR 2019) - thuml/Universal-Domain-Adaptationhttps://github.com/thuml/Universal-Domain-Adaptation 摘要:领域自适应一般是在两个领域存在差距的时候进行知识的迁移学习。已经存在的领域自适应方法依赖于source domian 和target domian之间的丰富关系先验,限制了领域自适应的应用范围。这篇文章引入了不需要标签集的知识先验的通用域自适应。对于给定的source 标签集合和target标签集合,他们可能包含一部分公共的标签,也分别持有各自的私有标签,从而导致额外的类别差距。UDA(Universal Domian Adaptation)要求模型 (1) 如果目标样本与公共标签集中的标签相关联,则正确分类目标样本,或者 (2) 否则将其标记为“未知”。更重要的是,UDA模型应该在广泛的共性(公共标签集在完整标签集上的比例)上稳定地工作,以便它可以处理未知目标标签集的实际问题。为了解决通用域适应问题,我们提出了通用适应网络(UAN)。它量化了样本级别的可迁移性,以发现每个域私有的公共标签集和标签集,从而促进自动发现的公共标签集中的适应并成功识别“未知”样本。彻底的评估表明,在新 UDA 设置中,UAN 优于最先进的封闭集、部分和开放集域适应方法。
引言:深度学习推动了计算机视觉的进步,并在多种视觉任务上提高了现有技术的性能,如图像分类[13]、目标检测[30]和语义分割[12]。然而,深度学习算法显著的有效性高度依赖于大量带标签的训练数据,这需要花费大量劳动来收集带标签的数据。给定一个大规模的无标签数据集,通常很难标注足够多的训练数据,以使我们能够训练出一个泛化能力良好的深度学习模型。一个替代方案是利用来自相关域(源域)的现成的带标签数据来提高我们感兴趣的域(目标域)的模型性能。目标域可能包含与源域相比由不同传感器收集的数据、从不同角度或在不同光照条件下收集的数据,从而导致较大的域差异。领域适应[33]旨在最小化域差异,并成功地将在源域上训练的模型转移到目标域。
现有的领域适应方法通过学习领域不变的特征表示、为目标领域生成特征/样本或通过生成模型在领域之间转换样本来解决领域差异。它们假设跨领域的标签集是相同的,如图1所示(封闭集领域适应)。这种简化的场景专注于领域适应的基本问题,并为未来的研究提供了深刻的见解。最近的工作试图通过提出开放集领域适应[28, 35]和部分领域适应[2, 45]来放宽这一假设。如图1所示,部分领域适应[2, 45]要求源标签集包含目标标签集,而Busto等人[28]在两个领域中都引入了“未知”类别,并假设在训练阶段已知两个领域之间的共同类别。Saito等人[35]改进的开放集领域适应移除了源未知类别的数据,使得源标签集成为目标标签集的一个子集。Luo等人[24]允许部分共享的标签集,并要求目标领域中有一些带标签的数据,其中目标标签集是已知的。这些工作朝着实用领域适应方向取得了有价值的进展。
实际情况要复杂得多,这些假设很容易被打破。例如,来自不同数据集的带标签动物图片很容易获取。但是,如果我们想在野外识别动物,我们将面临两个挑战:(1)背景可能与训练数据中的背景不同,导致较大的领域差异;(2)一些本地物种在训练数据中不存在,同时,部署环境中的动物种类可能不包含所有训练物种,因为训练数据过于多样化,导致较大的类别差异。总之,在存在大领域差异的情况下,源域和目标域之间标签集的关系是未知的。如果源标签集足够大,包含目标标签集,那么部分领域适应方法是好的选择;如果源标签集包含在目标标签集中或共同类别已知,开放集领域适应方法是好的选择。然而,在一般场景中,由于没有关于目标域标签集的先验知识,我们无法选择适当的领域适应方法。
为此,我们提出了一种泛化设置,称为通用领域适应(UDA)。在UDA中,给定一个标记的源领域,对于任何相关的目标领域,无论其标签集与源领域的标签集有何不同,如果目标领域的样本属于源标签集中的任何一类,我们都需要正确分类它,否则将其标记为“未知”。这里的“通用”一词表示UDA对标签集没有先验知识的限制。
UDA 在实际中设计领域适应模型时提出了两个主要的技术挑战。(1)由于我们对目标标签集一无所知,我们无法决定源领域的哪一部分应该与目标领域的哪一部分进行匹配。如果我们天真地将整个源领域与整个目标领域进行匹配,不同标签集之间的不匹配会削弱模型的性能。(2)如果目标样本不属于源标签集中的任何类别,模型应该能够将其标记为“未知”。由于这些类别没有标记的训练数据,分类器无法确定它们的详细类别。
为了解决通用领域适应(UDA)问题,我们提出了通用适应网络(UAN),它配备了一种新的准则来量化每个样本的可迁移性。该准则将每个样本的领域相似性和预测不确定性整合到样本级加权机制中。通过增强可迁移性的UAN模型,源域和目标域之间共同标签集的样本可以自动检测和匹配,而来自目标域私有标签集的目标样本则可以通过拒绝流程成功标记为“未知”类别。
本文的主要贡献如下:
(1)我们介绍了一种更实用的通用领域适应(UDA)设置,该设置对源域和目标域的标签集没有先验知识的限制。考虑到在无监督领域适应中我们无法访问目标标签,有时甚至无法知道目标标签集,更不用说它与源标签集的重叠情况了,这一点尤为重要。
(2)我们在多种UDA设置下研究了现有领域适应方法的性能,这些设置包括封闭集、部分集和开放集领域适应。为特定设置定制的方法在UDA中表现不佳。这突显了需要一种适用于UDA的模型。
(3)我们提出了通用适应网络(UAN),这是一种端到端的解决方案,它利用每个样本的领域相似性和预测不确定性来开发一种加权机制,以发现两个域共享的标签集并促进共同类别的适应。实验结果表明,UAN在不同UDA设置下表现稳定,并优于现有方法。
最近的工作:
在本节中,我们简要回顾了最近的领域适应方法。根据域之间标签集关系的约束,这些方法可分为封闭集领域适应、部分领域适应或开放集领域适应。
1.封闭集领域自适应
封闭集领域适应主要关注如何减少源域和目标域之间的差异。目前解决封闭集领域适应的方法主要分为两大类:特征适应和生成模型。
特征适应方法通过最小化特征分布上的明确统计距离,来减小源域和目标域之间的特征分布差异。早期的方法(如浅层适应方法)为现代深度适应方法的发展提供了思路,而深度适应方法则进一步探索了架构设计的可能性。例如,Tzeng等人和Long等人首先提出了通过最小化跨域深度特征的最大均值差异(MMD)来适应不同领域。Long等人还利用残差传输结构,并在目标数据上引入熵最小化。其他方法,如Zellinger等人使用中心矩差异(CMD)来优化分布对齐,而Haeusser等人则通过构建二分图来强制特征分布在聚类内部对齐。Bhushan等人则通过最小化分布之间的“地球移动者距离”(EMD)来实现领域适应。
另一方面,随着生成对抗网络(GAN)在图像合成方面取得显著进展,也出现了通过生成模型匹配特征分布的方法。这些方法学习一个域分类器来区分来自源域和目标域的特征,并通过对抗性学习范式迫使特征提取器混淆域分类器。
简而言之,封闭集领域适应的目标是通过各种策略和技术,使得源域和目标域之间的特征差异最小化,从而实现不同领域之间的有效适应。
2.部分领域自适应
大数据的存在催生了部分领域适应(PDA),即将学习者从一个大源域迁移到一个小目标域。源域的标签集被认为足够大,以包含目标标签集。为了解决部分领域适应问题,Cao等人通过利用具有类别级和实例级加权机制的多个域判别器,实现了每类的对抗性分布匹配。Zhang等人构建了一个辅助域判别器,以量化源样本与目标域相似的概率。Cao等人进一步通过仅使用一个对抗性网络并在源分类器上联合应用类别级加权来改进PDA。部分领域适应的努力将已经深入研究的领域适应问题推向了更实用的设置。
3.开放集领域自适应
Busto等人提出的开放集领域适应(Open Set Domain Adaptation,简称OSDA)是一个解决领域适应问题的新方法,特别是在源域和目标域中存在一些各自独有的类别时。在OSDA中,两个域中独有的类别被统一视为一个“未知”类别。Busto等人使用了一个称为Assign-and-Transform-Iteratively(ATI)的算法,该算法将目标样本映射到源域的类别上,然后训练支持向量机(SVMs)进行最终分类。 Saito等人则对开放集领域适应进行了改进,他们的方法不需要源域中独有标签集的数据。他们通过在源分类器中添加一个明确的“未知”类别,并在类别之间以对抗性方式训练这个分类器,从而扩展了源分类器。这些方法在已知共有类别的情况下,通过丢弃“未知”类别来处理领域差异。虽然这些方法在更广泛的设置下可能受到限制,但它们为设计实用的领域适应模型提供了重要的启示。简而言之,开放集领域适应处理的是源域和目标域之间存在未知类别的场景,它通过引入“未知”类别来识别和处理这些未知类别,并在此基础上进行分类和迁移学习。
通用领域自适应方法论:
在本节中,我们正式介绍了通用域适应 (UDA) 设置,并通过一种新颖的通用适应网络 (UAN) 对其进行解决。
1:问题设置(公式不好写,直接手写的)
2:技术挑战
在UDA中,一个新的挑战就是source domian和target domain的类别差距(category gap)。导致类别差距的根源在于连个域的标签集合差异。如果我们天真地将属于封闭集领域自适应的方法应用于通用领域自适应,那么很有可能会出现这样的抢矿:
source domian data中的私有标签集合数据与target domian data中的私有标签数据进行错误的匹配,这是不正确的。因为两个领域私有标签类别的数据交集应该为空集才对。即:()。如果用上诉方法对其进行强制匹配,则会导致模型将原本属于target domain data中私有标签数据预测为source domian data的私有类别标签数据,事实上,他们应该被预测为不知道的标签数据(unknown) 如果我们转向定制的部分或开放集领域适应方法,我们必须面对一个事实,即源领域Cs和目标领域Ct之间的关系是未知的。在缺乏关于C、
和
的配置信息的情况下,很难在定制的领域适应方法之间做出选择。因此,我们需要自动地从C中识别出源数据和目标数据,以便在自动发现的共同标签集上进行特征对齐。
由于存在类别差异,但在无监督领域适应(UDA)设置中,仍然存在领域差异,即共同标签集中的源数据与目标数据之间的差异。换句话说,p ≠ q 且 pC ≠ qC。领域适应应该被应用于对齐共同标签集C中源数据与目标数据的分布。
无监督领域适应(UDA)的另一个挑战是检测“未知”类别。在实践中,常常使用置信度阈值的方法,将分类置信度较低的样本标记为“未知”。然而,在通用领域适应中,这种直接的方法可能会失效,因为由于潜在的领域差异,神经网络的预测往往过于自信[10]但区分度较低。
3.通用领域适应网络(UAN)
我们提出来一个通用域自适应网络来处理通用语自适应的问题。如图2所示:,通用域的结构包括特征提取器F,一个对抗域判别器D和非对抗域判别器D',还有一个标签分类器G。
UAN的测试阶段被展示在图2右边。
迁移能力准则(Transferability Criterion):
接下来就是实验部分,作者介绍了他的实验设置和与其他方法的比较,证明其所提出模型的有效性。这里不再展示,有兴趣看原论文。
最后说一下结论:
在本文中,我们介绍了一种新颖的通用领域适应(UDA)设置,该设置不需要关于不同领域之间标签集关系的先验知识。我们提出了一个具有精心设计的样本级可迁移性标准的通用适应网络(UAN),以解决UDA问题。全面的评估显示,需要标签集关系先验知识的现有方法在一般的UDA设置中无法很好地工作,而提出的UAN则稳定工作并达到了最先进的结果。在实践中,如果想将模型推广到一个新的场景,提出的UAN可以是一个很好的候选模型。如果UAN将大多数示例分类为“未知”,那么在这种新场景中的领域适应可能会失败,此时收集标签将必不可少。另一方面,如果UAN可以为大多数示例生成标签,那么在这种场景下收集标签就不是必需的,领域适应将完成这项工作。也就是说,当我们遇到新的领域适应场景时,UAN可以作为一项先导研究。