无监督域适应算法(仅在源域存在有标签数据)近年来被学者们进行了广泛的研究,很多算法以及理论结果聚焦于单源域的无监督域适应(Single-domain Unsupervised Domain Adaptation, SUDA)。然而,在实际的场景中,通常可以从不同的源头中获得有标签的数据,这些数据不仅不同于目标域数据,而且各自之间也并不相同。因此,来自不同来源的域适应器可以用相同的方式进行建模。近来,基于深度学习的多源域无监督域适应(Multi-source Unsupervised Domain Adaptation,MUDA)的算法通过在特征空间联合所有的源域和目标域组合的方法,聚焦于提取所有域的域不变表示。然而,在MUDA中,对所有的域提取相同的域不变表示存在一定困难。此外,这些方法在进行分布匹配时没有考虑到每个域中的不同类之间的决策边界。为了解决这种问题,我们提出了一个包含两种联合阶段的MUDA的全新的网络结构,这种结构不仅仅单独地对多个特定的特征空间中不同的源域和目标域组合进行了联合,同时也利用域特定的决策边界来联合分类器的输出。通过广泛的实验,我们证明了所提出的方法可以在流行的图像分类基准数据集上获得显著的效果
近来,深度学习领域的发展在一系列的视觉学习任务中显著提升了前沿的方法的表现。这些成果大多来自于监督学习中的大量可利用的有标签数据,对于一个缺少有标签数据的任务来说,利用相关源域上的丰富有标签数据来建立一个高效的learner是目前较强的趋势。然而,由于域迁移的存在,学习到的模型的标签在目标域上可能会大幅降低。
在训练和测试数据的分布中存在域迁移的情况下,学习判别模型的过程称为域适应。近年来,大部分的域适应算法都聚焦于单源域适应问题(SUDA),其中仅在单一的源域上存在有标签数据。所提出的SUDA方法包括重新对训练数据赋予权重,然后在一个低维的流形中发现可以将源域和目标域子空间拉近的方法。近年来,大部分的SUDA算法通过最小化域分布差异的方法学习如何将两个域进行匹配,并且源域的分类器可以随后直接应用到目标域的样本中。
然后,实际上,很大可能上我们具有多个源域。于是,MUDA方法不仅在实际中更可行,而且在提升表现方面也更有价值。因此,MUDA的方法在实际上的应用领域获得了大量的关注。将所有的源域组合仅一个单独的源域,并且使用类似SUDA的方法将分布联合是一种通用的、直接的方法。基于数据扩展,这种方法可能会提升表现,然而,这种提升的空间可能斌不大,因此,发现一个更好地利用多源域数据的方法很有必要。
尽管基于深度学习的SUDA方法获得了快速的发展,目前也有一部分学者研究基于深度学习的MUDA方法,这中方法更具挑战性。近年来,使用深度学习方法进行MUDA的研究已经被提出,这些方法中都存在两个类似的问题。首先,他们尝试将所有的源域和目标域数据映射到一个通用的特征空间中,进而通用的域不变特征。然而,即使在单源域和单目标域的情况下,学习域不变特征也不容易。图1中给出了直观的例子,我们无法移除单源域和单目标域之间的迁移,当我们尝试将多源域和目标域进行联合时,更大的不匹配度可能导致不理想的结果。第二点是,他们假设目标域可以被多个域特定分类器进行区分,因为目标域和源域进行了联合。然而,这种方法可能无法提取分类特征,因为在进行分布联合时,并没有考虑到目标域样本与域特定决策边界之间的关系。
在这篇文章中,我们提出了一种包括两阶段联合的全新MUDA结构,用于克服上述两种问题。第一个阶段是联合域特定分布,即我们分别将每个源域和目标域的组合映射至不同特征空间中,并且联合域特定分布来学习多个域不变特征。然后我们使用多个域不变特征训练多个域特定分类器。第二阶段是联合域特定分类器。不同分类器预测到的接近域特定决策边界的目标域样本可能会是不同的标签。因此,利用域特定决策边界,我们对分类器针对目标域样本的输出进行了联合。广泛的实验表明了我们的方法在公共基准数据集上,相对于前沿的方法,可以为MUDA方法获得卓越的成果。
这篇文章的贡献可以概述为以下:(1)我们为MUDA方法提出了一种新的两阶段联合结构,这种结构对多个特征空间中各个源域和目标域组合的域特定分布进行了联合,并且针对目标域样本将域特定分类器的输出进行联合;(2)我们在三个基准数据集上进行了复杂的实验,实验结果验证了我们提出的模型的有效性。
图1.在SUDA中,源域和目标域的分布无法较好匹配。而在MUDA中,基于多源域之间的迁移,将所有的源域和目标域进行匹配则更加困难。
在此章节中,我们会从两个方面介绍相关工作:SUDA和MUDA。
今年来产生了很多解决视觉域适应问题的方法,这也通常被称为视觉数据偏差问题。早年的SUDA浅层方法包括重新为训练数据赋予权重,使得其可以更接近地反射到测试分布上,以及在低维的流形上发现一个迁移,可以将源域和目标域的子空间拉近。
一些近来的工作将深度学习和域适应联合到一起。两个主要的方向:一个将卷积网络应用到域适应中,通过添加自适应层的方法来匹配分布的平均嵌入;另一种添加了域分类器子网络,在域对抗训练范式中学习如何将源域和目标域进行混淆。近来的工作将对抗方法扩展到生成对抗的方式上。
在这两种主流方法以外,也存在各种学习域不变特征的方法:DRCN将特征重构为图像,并且将转换的图像与原始图像相似。D-CORAL对白化的源域特征使用目标域数据的协方差进行重新着色。
SUDA方法通常只考虑单源域、单目标域的情况。然而,实际上,可能存在多个可利用的源域。由于其中的数据迁移,我们不能使用SUDA方法将所有的源域数据组合到一个单独的源域中。这种研究起源于A-SVM,其中利用了源域特定的分类器的集合来调整目标域分类模型。已经有了一系列的方法试图解决MUDA问题。MUDA方法也随着理论支持而不断发展。Blitzer et al.对MUDA提出了首个学习边界。Mansour等阐明,一个理想的目标假设可以由源域假设的加权组合来表示。然而,在我们的方法中,我们仅使用了源域假设的均值作为目标域假设。
近年来,一些工作将多源域适应与深度迁移结合起来。Xu等提出了对每个源域和目标域组合使用一个分类器和域判别器,然后通过混淆损失来对目标样本进行投票。Zhao等提出结合多源判别器的梯度。这些方法侧重于提取所有域的域不变特征。然而,上面已经提出,要学习到所有域的域不变特征具有一定难度。因此,我们尝试分别将每个源域个目标域的组合映射到多个特征空间中,提取多个域不变表示。此外,利用域特定决策边界,我们将分类器的输出联合起来,进行目标域样本的预测。
在多源无监督域适应中,存在N个不同的潜在的源域分布
,有标签的源域数据
从这些分布中分别获取到,其中
表示从源域j中获得的样本,
表示其对应标签。同时,我们也有目标域分布pt(x,y),其中目标域数据
在获取时没有对应标签Yt。
今年来,一些研究将深度学习与多源域适应联合起来,他们将每个源域和目标域的组合间的距离损失最小化,用于在一个对所有域通用的特征空间中学习到域不变特征。其正式的表示为
其中J(.,.)表示交叉熵损失函数(分类损失),D是一种两个域之间分布差异的估计,例如MMD,CORAL,混淆损失等。F表示将所有域映射到一个通用的特征空间中的特征提取器,C表示分类器。这些方法都包含这样一个问题,即:专注于学习针对所有域的通用的域不变特征,没有考虑类别之间的域特定的决策边界。然而,这并不是一个简单的任务。实际上,分别提取每个源域和目标域组合的域不变表示相比于提取所有域的通用域不变表示较简单。此外,不同分类器预测到的距离域特定决策边界较近的目标域样本可能会产生不同的标签(距离决策边界近表明难以区分)。因此,我们提出了一个全新的两阶段的联合结构,用于解决该问题。
第一个联合阶段是将每个源域和目标域组合的域特定分布进行联合。对每个源域和目标域组合的多个域不变特征的提取方法是:将每个源域个目标域组合映射到特征空间中并将它们的分布进行匹配。为了降每个源域和目标域的组合映射到一个特征空间中,最简单的方法是训练多个神经网络。然而,这会花费很多时间。因此,我们提出一种将神经网络划分成两部分的方法。具体来说,第一部分包含一个学习所有域通用特征的自网络,第二个部分包含N个域特定自网络,这些网络间的权重对每个源域和目标域的组合的对应权重不共享。对于每个不共享的子网络,我们学习一个域特定分类器。然而,不同分类器对接近决策边界的目标样本预测到的标签值可能不同,因此,利用域特定的决策边界,第二种方法将所有域特定分类器的输出联合起来预测目标样本。在Xu的文章中,他们提出了一种针对多分类器的复杂投票方法,在我们的方法中,基于第二部分的联合,不需要使用这种复杂的投票方法。
我们的结构包含三个部分,即:一个通用特征提取器,域特定特征提取器,域特定分类器,如图2所示。
图2.所提出的两阶段联合结构的概述。我们的结构接受带有确定标签的多源域数据,并且进行自适应调整以区分目标域样本。对于不同的源域具有特定的特征提取器和分类器(以颜色区分)
我们提出了一种通用的自网络f()用于提取所有域的通用特征表示,这一部分可以将来自于原始特征空间的图像映射到通用的特征空间中
我们希望每个源域和目标域的组合都能被映射到一个特定的特征空间中。给出一个batch的来自于源域
的图像
以及一个batch的来自目标域Xt的图像xt,这些域特定的特征提取器接收来自通用特征提取器的通用特征
然后,对于每个源域,都有N个不共享权重的域特定的自网络,可以将每个源域个目标域组合映射到一个特定的特征空间中。
域适应的目标是学习域不变表示,近年来存在一系列的实现此目标的方法,包括mmd损失,对抗损失,coral损失,重构损失等,这里我们选取MMD方法来降低域之间的分布差异。
C是一个有N个域特定预测器组成的多输出网络,每个预测器Ci都是一个softmax分类器,接受来自于域特定特征提取器后的域不变特征。对于每个分类器,我们使用交叉熵添加了一个分类损失,可以用如下公式来表示:
为了实现第一个联合阶段(对每个源域和目标域组合的分布进行联合),我们选择MMD作为评估两个域之间差异的方法。MMD是一种核二样本检验(kernel two-sample test,不知道怎么翻译),根据观察的样本接受或拒绝原假设p=q。MMD背后的思想是,如果生成分布是相同的,则所有的统计数据都相同。正式地,MMD定义了一下的差异度量:
其中H是具有特征核k的再生希尔伯特空间。这里 φ(·) 表明将原始样本映射到再生希尔伯特空间中的映射方法,核k表示
其中
表示向量内积。(核方法简要而言就是通过核函数直接计算内积,避免了求解特征向量的向高维空间的复杂映射过程)。主要的理论结果是,当且仅当
时p=q。实际上,MMD的估计将经验核均值嵌入之间的平方距离进行了对比,经验核均值嵌入如下:
其中D(帽)H(p,q)是D(p,q)的无偏估计。我们使用公式4作为不同源域和目标域之间的距离估计,MMD损失可以重新定义为:
通过最小化公式(5)中的损失,特定特征提取器可以学习到不同的源域和目标域组合的域不变特征。
在源域样本中学习到的分类器很有可能将目标域中接近决策边界的样本进行错分。分类器在不同的源域上进行训练,因此其在目标域样本,尤其是目标域中接近决策边界的样本区分上可能会产生不同意见。直觉上,不同分类器预测到的目标域样本应该有相同的预测结果。因此,第二个联合阶段就是最小化不同分类器的差异。在这篇文章中,我们利用了所有的成对分类器在目标域数上的概率输出的均值差异作为差异损失:
在Xu等的文章中,他们提出了一种目标域区分操作,将多个源域分类器进行组合,然而,使用这种方法对目标域样本标签进行投票十分复杂。通过最小化公式(6)中的损失,所有分类器的概率输出都相同,最终,为了预测目标域样本的标签,我们计算了所有分类器输出的均值。
对于多源域而言,学习到通用的域不变特征具有一定难度。此外,在目标域中接近决策边界的样本可能被错分。为此,我们提出了一种多特征空间自适应网络(Multi Feature Spaces Adapt Network)。具体而言,这种网络包含了两种联合阶段,分别是学习源域特定域不变特征以及针对目标域样本进行分类器的输出联合。我们的结构包含一个通用特征提取器,N个域特定特征提取器以及N各源域特定分类器。总体而言,我们的方法的损失包含三个部分,分类损失,mmd损失以及disc损失。细节上说,通过最小化分类损失,网络可以准确将源域数据进行分类;通过最小化mmd损失,可以学习到域不变特征;通过最小化disc损失,可以降低不同分类器之间的差异。总体损失可以用下式定义:
由于训练深度CNN需要大量有标签数据,这对于很多域适应的应用来说是难以接受的,我们使用了在ImageNet2012上训练并且微调的模型。训练过程主要遵循标准的随机梯度下降算法。我们的方法是一个针对MUDA的通用结构。其中的mmd损失可以使用其他的自适应方法代替,例如对抗损失,coral损失等。disc损失可以使用其他损失代替,例如L2正则化。总体的流程在算法1中进行了概述。
我们在三个数据集:ImageCLEF-DA, Office31以及Office-Home数据集上,将所提出的MFSAN与前沿的域适应方法进行了对比。我们的代码在https://github.com/easezyc/deep-transfer-learning中。
ImageCLEF-DA 是ImageCLEF 2014 域适应挑战的基准数据集,由以下三个的公共数据集中采集到12个通用的类别,每个都被作为一个域,分别是Caltech-256 ©, ImageNet ILSVRC 2012 (I), 和PascalVOC 2012 §。每个类别中有50个图像,每个域中有600个图像。我们使用了所有的域组合,建立了三个迁移任务:I, C → P; I, P → C; C,P → I。
Office31是域适应的标准数据集,包含31个种类共4110张图片。其中包含三个域:Amazon(A),其中包含从amazon.com上下载的图像,Webcam(W)以及DSLR(D),分别通过网络摄像头以及数字SLR摄像头,通过不同摄像设定获取的图片。每个域中的图像是不均衡的,为了实现无偏差估计,我们在所有的三个迁移任务:A, W → D; A, D → W; D, W → A评估了所有的方法。
Office-Home是一个新数据集,其中包含大于前两个数据集的15588张图像数据。包含四个不同的域:Artistic images (A), Clip Art ©, Product images §和Real-World images ®。每个域中包含从办公或家庭场景中采集到的65个物体类别,我们使用了所有的域组合,建立了迁移任务:C, P, R → A; A, P, R → C; A, C, R → P; A, C, P → R.
在现实世界的视觉识别基准上有少量的MUDA工作。在我们的工作中,我们在多源baseline上引入了一种近期的深度MUDA方法Deep Cocktail Network(DCTN),我们将MFSAN与不同种类的SUDA方法,包括深度卷积神经网络ResNet,深度域混淆(Deep Domain Confusion,DDC),深度自适应网络(Deep Adaption Network,DAN),Deep Coral,RevGrad以及残差迁移网络(Residual Transfer Network,RTN)进行对比。因为这些方法都是在设置单一源域的前提下进行的,我们以不同的目的引入三种MUDA标准:(1)源域组合:将所有的源域组合到一起,形成一个传统的单源域单目标域设定;(2)单一最佳:在所有的源域中,我们仅报告最佳的迁移结果;(3)多源域:使用MUDA的结果。第一个标准测试多源域是否有价值开发;第二个标准测试我们是否可以通过其他源域来提升最佳的SUDA表现;第三个标准描述了我们的MUDA方法的有效性。
为了进一步验证mmd损失和diff损失的有效性,我们也评估了多个不同的MFSAN变种:(1)MFSANdisc,没有考虑mmd损失;(2)MFSANmmd没有考虑disc损失;(3)MFSAN,同时考虑了mmd损失和disc损失。对于所有的域特定特征提取器,我们使用了相同的结构(conv(1×1),conv(1×3),conv(1×1)),在网络最后,我们想DDC网络一样,将通道数降低值256.
所有的深度方法都是在pytorch架构的基础上应用的,使用了pytorch提供的微调ResNet结构。我们微调了所有的卷积和池化层,并且通过反向传播训练了分类层。因为域特定特征提取器和分类器都是从头训练的,我们将其学习率设置为其他层的10倍。我们使用SGD优化方法,动量为0.9,使用了RevGrad中的学习率退火策略:因为网格搜索的方法计算消耗太大,在使用SGD的过程中,使用如下公式进行调整:
其中p表示训练从0到1的训练进度,η0=0.01,α=10,β=0.75,通过优化可以提升收敛,降低源域上的分类错误。为了抑制训练早期的噪音激活函数,我们没有使用固定的自适应参数λ和γ,而是通过以下公式将其逐渐从0调整到1:
实验过程中,θ固定为10。这种渐进策略显著地稳定了参数的敏感性,降低了MFSAN模型选择的难度。
我们在三个数据集上将MFSAN与baseline进行对比,结果如图表1,2,3分别所示。我们也将MFSAN在Office-31数据集上与本身有或者没有disc损失进行了对比,在表4中列出了来自不同源域的分类器结果以及平均投票。从这些结果中,我们有了入一下观察结果:
(1)将所有的源域结合到一起比使用单源域最忌结果要好,表明在大多数迁移任务重,将所有的源域结合到一个单一源域中是有效的。这可能归功于数据丰富;
(2)MFSAN在多源域迁移任务上比所有对比的baseline’方法表现要好。结果表明对每个源域和目标域的组合进行域不变特征表示的学习,而不考虑域特定的类别边界是重要的。
(3)将MFSANmmd与DAN(源域结合)进行对比,唯一的区别就是MSFANmmd在多个特征空间中提取了多个域不变特征表示,而DAN在一个通用的特征空间中提取了通用的域不变特征表示,这表明对所有域都提取通用特征表示难度更大。
(4)在多数多源迁移任务上,MFSANdisc比与其对比的方法表现要好,这证明了考虑所有的域特定类别边界,进而降低所有的分类器差距可以帮助每个分类器从其他分类器上学习知识。
(5)将MFSAN与没有disc损失的MFSANdisc进行对比,我们发现有disc损失的MFSAN的分类器在不同源上的结果之间非常接近,而没有disc损失的MFSAN的分类器在不同源上的差距很大。结果阐明了在降低分类器差距时引入disc损失的重要性。
在图3中,我们将在D→A(单源域)DAN学习的和D,W→A中DAN以及MFSAN学习的潜在特征表示使用t-SNE嵌入方法进行了可视化。
从图3中,我们可以看出:1)3b和3c中的结果比3a要好,表明我们可以使用多个源域获得更好的结果:图3d和3e中的结果比3a到3c中要好,再次谭政了我们的模型将多余域特定分布以及分类器结合的有效性。
为了探究我们算法的收敛以及disc损失的影响,我们记录了MFSAN以及MFSANmmd在D,W→A任务迭代中的表现,如图4a所示。我们可以发现所有的算法在1.5×10^4个迭代后可以收敛。同样,MFSAN在有disc损失时,分类器之间的差异较小,可以获得更高准确率。
为了简便性,我们在实验中将权重参数λ和γ设置为同一个数值,分别控制mmd损失以及disc损失的重要性。我们研究λ的敏感性,我们在{0.01, 0.02, 0.05, 0.1, 0.2, 0.5, 1, 2}中选取该参数,并且在D,W→A以及I,C→P中进行了实验。所有的实验结果在图4b中显示,我们发现准确率一开始提升,随后下降,显示为一个钟形曲线。最后,我们将λ设置为0.5以获取最佳表现。
很多之前的基于深度学习的多源域适应方法聚焦于提取针对所有域的域不变表示,而没有考虑域特定的分类边界。在这篇文章中,我们提出了一种多特征空间自适应网络(Multiple Feature Space Adaption Network,MFSAN),通过学习多个域不变表示以及来自多个源的分类器输出来联合每个源域和目标域组合的域特定分布。在图像数据集上进行了广泛的实验,描述了所提出的网络结构的有效性。此外,我们的模型是一个通用的网络架构,可以整合不同种类的mmd损失和disc损失函数。