Deep domain confusion: Maximizing for domain invariance

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/weixin_37993251/article/details/89234485

本篇是迁移学习专栏介绍的第六篇论文,来自来自加州大学伯克利分校的Eric Tzeng等人发表在arXiv 2014的DDC(Deep Domain Confusion)。DDC针对预训练的AlexNet(8层)网络,在第7层(也就是feature层,softmax的上一层)加入了MMD距离来减小source和target之间的差异。这个方法简称为DDC。


Abstract

最近的报告表明,在大规模数据集上训练的通用监督深度CNN模型减少了(但没有消除)标准benchmark上的数据集bias。在一个新的领域中对深度模型进行微调可能需要大量的数据,而对于许多应用来说,这些数据是不可用的。我们提出一种新的CNN架构,它引入了一个适应层和一个额外的domain confusion损失,以学习一个语义上有意义和域不变的表示。此外,我们还展示了一个domain confusion度量可以用于模型选择,以确定自适应层的维数和该层在CNN体系结构中的最佳位置。我们提出的适应方法提供了经验的表现,这超过了以前发表的标准benchmark视觉领域适应任务的结果。


1. Introduction

数据集bias是传统的监督图像识别方法中一个众所周知的问题。最近的一些理论和实证结果表明,监督方法的测试误差随测试与训练输入分布的差异成比例增加[3,5,29,32]。在过去的几年里,人们提出了几种视觉区域适应的方法来克服这一问题[10,33,2,29,25,22,17,16,19,20],但仅限于浅模型。调整深度模型的传统方法是微调;有关最近的示例,请参见[15]。

在少量标记的目标数据上直接微调深度网络的参数是有问题的。幸运的是,预先训练的深度模型在新领域中表现良好。最近,[11,21]表明,使用ImageNet上学习到的深层中层特性,而不是更传统的bag-of-words特征,有效地消除了Office数据集[29]中的一些域适应设置中的偏差。这些算法也从一个大尺度域(ImageNet)转移了图像的表示使用该域中的所有数据作为适当类别的源数据。然而,这些方法无法从深层体系结构中选择表示形式,而是跨多个层选择报告结果。

在计算机视觉中,典型的数据集bias是通过Torralba和的“命名数据集”游戏来说明的[32]。事实上,这被证明与领域差异的度量有正式的联系[23,6]。因此,优化domain的invariance可以被认为等同于学习预测类标签的任务,同时尽可能找到表征相同的域。这一原则构成了我们所提议的方法的实质。我们通过对损失进行优化来学习深度表示,损失包括标记数据上的分类错误和domain confusion损失,domain confusion损失旨在使域无法区分。

我们提出了一种新的CNN架构,如图1所示,该架构使用了一个自适应层和一个基于最大平均偏差(MMD)[6]的domain confusion损失来自动学习一个联合训练的表示来优化分类和域不变性。我们展示了我们的domain confusion度量既可以用来选择适应层的维数,也可以在一个预先训练好的CNN体系结构中为一个新的适应层选择一个有效的位置,还可以对表示形式进行微调。

我们的结构既可以解决有监督adaption(当有少量目标标记数据可用时)问题,也可以解决无监督adaption(当没有标记目标训练数据可用时)问题。我们提供了一个关于流行的Office benchmark的综合评估,用于跨视觉上不同的域[29]进行分类。我们证明,通过联合优化领domain confusion和分类,我们能够显著优于目前最先进的视觉领域adaption结果。事实上,对于较小的姿态、分辨率和光照变化,我们的算法能够在目标域上达到96%的精度,这表明我们实际上已经学会了一种不受这些偏差影响的表示。


2. Related work

视觉数据集偏差的概念在[32]中得到了推广。近年来,人们提出了许多方法来解决视觉领域的适应问题。所有人都认识到源和目标数据表示的分布发生了变化。事实上,域偏移的大小通常由源和目标子空间表示之间的距离来度量[6,13,23,26,28]。很多方法都试图克服这种差异,通过学习特征空间变换来对齐源和目标表示[29,25,13,16]。对于监督自适应场景,当目标域中有有限数量的标记数据可用时,已经提出了一些方法来学习针对源分类器进行正则化的目标分类器[33,2,1]。其他人则同时学习特征转换和对目标分类器进行正则化[20,12]。

最近,基于监督卷积神经网络(CNN)的特征表示被证明对各种视觉识别任务都非常有效[24,11,15,30]。特别是,使用深度表示极大地降低了分辨率和光照对域转移的影响[11,21]。

并行CNN结构,如暹罗网络,已被证明是学习不变表示的有效方法[7,9]。然而,训练这些网络需要为每个训练实例添加标签,因此不清楚如何将这些方法扩展到非监督设置。

研究了多模态深度学习体系结构,以学习对不同输入模式[27]不变的表示形式。然而,这种方法主要是在生成环境中运行的,因此没有充分利用监督CNN表示的表示能力。

[8]提出了一种联合源和目标CNN架构的训练方法,但限于两层,因此使用更深层次的架构[24],在大型辅助数据源(如ImageNet[4])上进行预训练的方法明显优于[24]。

[14]提出了一种基于去噪自动编码器的预训练方法,并在此基础上训练了一种具有MMD domain confusion 损失的双层网络。这有效地学习了一个域不变表征,但是,由于学习网络相对较浅,它缺乏通过使用有监督的深度CNN直接优化分类目标来学习的强语义表示。


3. Training CNN-based domain invariant representations

我们引入了一种新的卷积神经网络(CNN)结构,我们用它来学习一种不仅域不变而且具有强语义分离的视觉表示。已有研究表明,经过训练的CNN可以通过微调来适应新的任务[15,30,18]。然而,在域适应场景几乎没有,标记的训练数据在目标域,所以我们不能直接调整感兴趣的类别C在目标域T。相反,我们将使用的数据相关但不同的源域S,更多的标签数据可以从相应的类别C得到。

直接训练一个分类器只使用源数据常常会导致过度拟合源分布,在目标域中进行识别时,导致测试时性能下降。我们的直觉是,如果我们能够学习一种最小化源分布和目标分布之间距离的表示,那么我们就可以在源标记的数据上训练一个分类器,并将其直接应用到目标域中,而精度损失最小。

为了使这个距离最小化,我们考虑了标准分布距离度量,即最大平均偏差(MMD)[6]。这个距离是计算对一个特定的表示,\phi(\cdot)。在我们的例子中,我们定义了一个表征,\phi(\cdot)。运营在源数据点,x_{s} \in X_{S},和目标数据点x_{t} \in X_{T}。然后计算这个距离的经验近似如下:

\begin{array}{l}{\operatorname{MMD}\left(X_{S}, X_{T}\right)=} \\ {\left\|\frac{1}{\left|X_{S}\right|} \sum_{x_{s} \in X_{S}} \phi\left(x_{s}\right)-\frac{1}{\left|X_{T}\right|} \sum_{x_{t} \in X_{T}} \phi\left(x_{t}\right)\right\|}\end{array}

如图2所示,我们不仅希望最小化域之间的距离(或最大化domain confusion),而且希望得到有助于训练强分类器的表示。这样的表示将使我们能够学习易于跨域传输的强分类器。满足这两项标准的一个办法是尽量减少损失:

\mathcal{L}=\mathcal{L}_{C}\left(X_{L}, y\right)+\lambda \operatorname{MMD}^{2}\left(X_{S}, X_{T}\right)

其中\mathcal{L}_{C}\left(X_{L}, y\right)表示在标签数据X_{L}上的分类损失,以及ground truth标签,y,\mathrm{MMD}\left(X_{S}, X_{T}\right)表示源域数据X_{S}之间的距离,以及目标数据X_{T}。参数\lambda决定我们想confuse the domain。

最小化这种损失的一种方法是使用一个固定的CNN,它已经是一个强大的分类表示,并使用MMD来决定从哪个层使用激活来最小化域分布距离。然后,我们可以使用这个表示来为我们感兴趣的类训练另一个分类器。这可以看作是Eqn2中的坐标下降:我们取一个训练过的最小化\mathcal{L}_{C}的网络,选择最小化MMD的表示,然后使用该表示再次最小化\mathcal{L}_{C}

然而,这种方法是有限的,因为它不能直接适应表示,而是被限制从一组固定的表示中进行选择。因此,我们建议创建一个网络来直接优化分类和domain confusion目标,如图1所示。

我们从Krizhevsky架构[24]开始,它有五个卷积和池化层,以及三个维度为{4096、4096、|C|}的全连接层。我们还添加了一个更低的维度、瓶颈和适应层。我们的直觉是,可以使用一个较低的维度层来规范源分类器的训练,并防止对源分布的特定细微差别进行过度拟合。我们将域距离损失放在瓶颈层的顶部,以便直接将表示规则化为源域和目标域不变。

要添加我们的适应层和域距离损失,必须做出两个模型选择。我们必须选择网络中放置适配层的位置,并且必须选择该层的维数。我们使用MMD度量来做出这两个决定。首先,如前所述,对于我们的初始固定表示,我们找到了最小化所有可用源和目标数据之间的经验MMD距离的层,在我们的实验中,这对应于将该层放置在完全连接层fc7之后。

接下来,我们必须确定适应层的维数。我们用网格搜索来解决这个问题,在网格搜索中,我们使用不同的维数对多个网络进行微调,并在新的低维表示中计算MMD,最后选择最小化源和目标距离的维数。

选择要使用哪个层的表示(深度)和适应层的大小(宽度)都由MMD指导,因此可以看作是我们总体目标的下降步骤。

我们的体系结构(参见图1)由一个源CNN和一个目标CNN组成,它们具有共享的权重。仅使用标记的示例计算分类损失,而使用来自两个域的所有数据计算domain confusion损失。该网络对所有可用的源和目标数据进行联合训练。

Eqn. 2中概述的目标很容易用这个卷积神经网络表示,其中MMD是在小批源和目标数据上计算的。我们只是在网络的顶部使用一个fork,在适配层之后。一个分支使用标记数据并训练分类器,另一个分支使用所有数据并计算源和目标之间的MMD。

在对该体系结构进行微调后,由于联合损失中的两个项,自适应层学会了一种表示方法,这种表示方法可以有效地区分由于分类损失项而涉及的类,同时由于MMD项而仍然保持不变的域移位。我们希望这样一种表示方式能够提高适应性能。


4. Evaluation

我们在一个具有小尺度源域的标准域自适应数据集上评估了我们的自适应算法。实验结果表明,该算法能够有效地将深度CNN表示法应用于有限或无目标标记数据的目标域。

Office[29]数据集是来自三个不同领域的图像的集合:Amazon、DSLR和Webcam。数据集中的31个类别由办公室设置中常见的对象组成,如键盘、文件柜和笔记本电脑。最大的域有2817个带标签的图像。

我们通过5个随机的火车/测试分割来评估我们的方法,用于评估常用的3个传输任务(Amazon Webcam、DSLR和DSLR)中的每一个,并报告每个设置的平均值和标准错误。我们将有监督和无监督的场景与最近发表的六种方法报告的数字进行比较。

我们遵循这个数据集的标准训练协议,对于Amazon源域,每个类别使用20个源示例,对于Webcam或DSLR,每个类别使用8个图像作为源域[29,16]。对于监督适应设置,我们假设每个类别有3个标记的目标示例。

4.1. Evaluating adaptation layer placement

我们首先评估我们的表示选择策略。利用一个预先训练好的卷积神经网络,利用每一个完全连接层的表示形式,从源数据和目标数据中提取特征。我们可以然后在每一层计算源和目标之间的MMD。由于MMD越低,表示的域不变程度越高,因此我们期望MMD越低的表示自适应后性能越好。

为了验证这一假设,我们使用Daume III[10]引入的一个简单的域适应基线来计算目标域的测试精度。图3显示了跨不同桥层选择的MMD和自适应性能的比较。我们看到MMD正确地对表示进行了排序,指出fc7是性能最好的层,fc6是性能最差的层。因此,在剩下的实验中,我们在fc7之后添加了我们的适配层。

4.2. Choosing the adaptation layer dimension

在通过建议的微调方法学习新的表示之前,我们必须确定这个表示应该有多宽。同样,我们使用MMD作为决定指标。

为了确定我们学习的适配层应该具有什么维度,我们在Amazon Webcam任务中训练了各种不同宽度的网络,因为这是三个任务中最具挑战性的一个。特别地,我们尝试不同的宽度,从64到4096不等,每次步长为2的幂。一旦网络被训练好,我们就可以为每个学习到的表示在源和目标之间计算MMD。然后,我们的方法选择使源数据和目标数据之间的MMD最小的维数。

为了验证MMD做出了正确的选择,我们再次将MMD与测试集上的性能进行了比较。图4显示,我们为适配层选择了256个维度,尽管这个设置并不能使测试性能最大化,但它似乎是一个合理的选择。特别是,使用MMD可以避免选择任何一种极端情况,因为接近极端时性能会受到影响。值得注意的是,该图有相当多的不规则性,也许更精细的采样将允许更准确的选择。

4.3. Fine-tuning with domain confusion regularization

一旦我们确定了适应层的维数的选择,我们就可以开始使用第3节中描述的关节损耗进行微调。然而,我们需要设置正规化参数\lambda\lambda设置过低将导致MMD 正则化在学习表征时候没有影响,但设置\lambda太高会调整过于和学习所有退化表示点太近。我们设置了正规化参数\lambda= 0.25,这使得目标主要是偏重于分类,但是有足够的正规化,以避免过度拟合。

我们对非监督和监督都使用相同的微调架构。然而,在有监督的设置下,分类器对来自两个域的数据进行训练,而在无监督的设置下,由于缺少带标记的训练数据,分类器只能看到源数据。在这两种设置中,MMD正则化程序都可以看到所有的数据,因为它不需要标签。

最后,由于自适应层和分类器是从零开始训练的,所以我们将它们的学习率设置为从预训练模型中复制的网络下层的10倍。然后通过标准的反向传播优化进行微调。

监督自适应设置结果如表1所示,非监督自适应结果如表2所示。我们注意到我们的算法显著地优于所有竞争的方法。该方法的显著改进表明,通过MMD正则微调学习的自适应层能够成功地转移到新的目标域。

为了确定MMD正则化如何影响学习,我们还比较了图5中Amazon Webcam传输任务中有正则化和没有正则化的学习曲线。我们看到,尽管非正则化版本最初训练起来更快,但它很快就会开始过度拟合,从而影响测试的准确性。相反,使用MMD正则化可以防止网络对源数据过度拟合,虽然训练时间较长,但正则化可以获得更高的最终测试精度。

为了进一步演示我们的学习表示的域不变性,我们在图6中使用我们的学习表示绘制了Amazon和Webcam图像的t-SNE嵌入,并将其与在预训练模型中使用fc7创建的嵌入进行比较。通过研究嵌入,我们可以看到,我们所学习的表示在每个集群中混合域的同时,显示出更紧密的类集群。虽然在fc7嵌入中存在弱聚类,但我们发现大多数紧密聚类由一个域或另一个域的数据点组成,但很少同时包含两个域的数据点。

4.4. Historical Progress on the Office Dataset

在图7中,我们报告了标准Office数据集自引入以来的历史进展。我们用蓝色圆圈表示使用传统特征的方法(例如:SURF BoW),用红色方块表示使用深度表示的方法。我们展示了两个适应场景。第一个场景是针对视觉距离较远的域(Amazon Webcam)的监督适应任务。在这个任务中,我们的算法比无焦算法的多级精度高3.4%。最后,我们展示了在无监督的情况下适应同样的转变的最困难的任务。在此,我们证明我们的方法提供了最显著的改善5.5%的多级精度。


5. Conclusion

本文提出了一种学习域不变表示的分类目标函数。这个目标使用了一个额外的domain confusion术语来确保在学习的表示中领域是不可区分的。然后,我们提出了多种方法来优化这个目标,从固定池的简单表示选择到通过反向传播直接最小化目标的完整卷积体系结构。

我们的完整方法使用MMD来选择架构的深度和宽度,同时在微调过程中使用它作为正则化器,在标准的视觉域适应基准上实现了最先进的性能,大大超过了以前的方法。

这些实验表明,将domain confusion项引入判别表示学习过程中,是一种有效的方法,可以保证所学习的表示既适用于分类,又不受领域移位domain shifts的影响。

猜你喜欢

转载自blog.csdn.net/weixin_37993251/article/details/89234485