深度视觉域适配作为一个解决大量标注数据缺失的新的学习技巧而出现。与传统的学习共享特征子空间或使用浅层表示重用重要源实例的方法相比,深度域适应方法通过将域适应嵌入深度学习管道中,利用深度网络学习更多可迁移的表示。对于浅域适应的研究已经有了全面的调查,但很少及时回顾基于深度学习的新兴方法。在这篇论文中,我们提供了一个全面的调查深入领域适应方法的计算机视觉应用有四个主要贡献。首先,根据定义两个领域如何分化的数据属性,我们给出了不同深度领域适应场景的分类。其次,我们根据训练损失将深度领域适应方法归纳为若干类别,并对这些类别下的最新方法进行简要分析和比较。第三,我们概述超越图像分类的计算机视觉应用,如人脸识别、语义分割和目标检测。第四,指出了现有方法可能存在的不足和未来的发展方向。
1、简介
在过去的几年里,机器学习取得了巨大的成功,并使实际应用受益匪浅。然而,为每个新的任务和领域收集和注释数据集是非常昂贵和费时的过程,充分的训练数据可能并不总是可用的。幸运的是,大数据时代为其他领域和任务提供了大量数据。例如,尽管公开的大规模标签视频数据库只包含少量样本,但从统计学上讲,YouTube人脸数据集(YTF)由3.4 K个视频组成。标记的静止图像的数量超过了足够的人脸数据集[1]。因此,在当前任务中巧妙地使用数据稀缺的辅助数据将有助于实际应用。
然而,由于许多因素(如光照、姿态和图像质量),两个域之间的分布变化或域移位都会降低性能,如图1所示。模仿人类视觉系统,领域适应(DA)是迁移学习(TL)的一种特殊情况,它利用一个或多个相关源领域中的标记数据在目标领域执行新的任务。在过去的几十年里,人们提出了各种浅层DA方法来解决源域和目标域之间的域漂移。常用的浅层数据挖掘算法主要分为两类:基于实例的数据挖掘和基于特征的数据挖掘。第一类通过对源样本进行加权来减少误差,并对加权后的源样本进行训练。对于第二类,通常学习一个公共共享空间,其中两个数据集的分布是匹配的。
近年来,基于神经网络的深度学习方法在视觉分类应用中取得了许多令人鼓舞的成果,如图像分类、人脸识别、目标检测。深层网络模拟人脑的感知,可以通过多层非线性转换来表示高层抽象。现有的深度网络结构,包括卷积神经网络(CNNs)、深度信念网络(DBNs)、堆叠自编码器(SAEs)等。尽管一些研究表明,深度网络可以学习更多可转移的表示,它可以根据数据样本和群体特征与不变因素的相关性,分层地分离数据样本背后的变异探索因素和群体特征。深层特征最终会由一般特征过渡到具体特征,在更高层次上表示的可转移性急剧下降。因此,最近的研究通过将深度学习和数据挖掘相结合的深度数据挖掘来解决这个问题。
本文主要对深度数据挖掘方法进行分析和讨论。具体来说,该综述的主要贡献如下:(1)、根据定义两个领域如何分化的数据属性,我们提供了不同深度DA场景的分类。(2)、我们对三个子设置(分类损失训练、差异损失训练和对抗式损失训练)进行了改进和细化,总结了在不同的DA场景中使用的不同方法。(3)考虑到源域和目标域的距离,研究了多步数据挖掘方法,并将其分为手工处理机制、基于特征机制和基于表示机制。(4)我们提供了许多计算机视觉应用的调查,如图像分类,人脸识别,风格翻译,目标检测,语义分割和人的重新识别。
2、概览
2.1、概念和定义
2.2、不同的领域适应设置
然后,考虑到目标域的标记数据,我们可以进一步将DA分为有监督的、半监督的和无监督的。分类如图2所示。
以上所有DA设置都假设源域和目标域是直接相关的;因此,知识的传递可以一步到位。我们称之为一步DA。然而在现实中,这种假设有时是不可用的。这两个域之间几乎没有重叠,因此执行一步DA将是无效的。幸运的是,有一些中间域能够使源域和目标域比它们原来的距离更近。因此,我们使用一系列中间桥连接两个看似不相关的域,然后通过这个桥执行一步DA,称为多步(或传递)DA。例如,人脸图像和车辆图像由于形状或其他方面的不同而存在差异,因此一步DA会失败。但是,一些中间图像,如“football helmet”,可以被引入作为一个中间域,实现平滑的知识转移。图3显示了单步DA技术和多步DA技术学习过程的差异。
3、深度域适配的方法
从广义上讲,深度数据挖掘是利用深度网络提高数据挖掘性能的一种方法。在这个定义下,具有深度特征的浅层方法可以被认为是深度DA方法。浅层方法采用DA,而深度网络只提取矢量特征,不利于直接传递知识。例如从一个CNN中提取卷积激活作为张量表示,然后进行张量对齐不变子空间学习来实现DA。这种方法可靠地优于目前基于传统手工制作特征的最先进的方法,因为可以通过深度网络提取足够的代表性和可转移特征,这可以更好地处理辨别任务。在狭义上,深度数据挖掘是基于深度学习架构设计的数据挖掘,可以通过反向传播从深度网络中获得第一手的效果。直观的想法是将DA嵌入到学习表示的过程中,并学习一个语义上有意义且领域不变量的深度特征表示。使用“良好”的特征表示,目标任务的性能将显著提高。在这篇文章中,我们关注于狭义的定义,并讨论如何利用深度网络学习“好的”特征表示与额外的训练标准。
3.1、一步域适配的分类
在一步DA中,深层方法可以总结为三种情况。表1显示了这三种情况和简要描述。第一种是基于离散的深度DA方法,该方法假设使用标记或未标记的目标数据对深度网络模型进行微调可以减小两个域之间的移动。分类判据、统计判据、建筑判据和几何判据是进行微调的四种主要技术:
- 分类标准:使用类标签信息作为在不同领域之间传递知识的向导。当目标域的标记样本在监督DA中可用时,软标记和度量学习总是有效的。当这些样本不可用时,可以采用其他一些技术来替代类标记数据,如伪标签和属性表示。
- 统计标准:使用某些机制对齐源和目标域之间的统计分布变化。比较和减少分布偏移最常用的方法是最大平均差异(maximum mean差值,MMD),相关对齐(correlation alignment, CORAL), Kullback-Leibler (KL)散度和H散度等。
- 结构标准:目的是通过调整深度网络的结构来提高学习可转移特征的能力。被证明具有成本效益的技术包括自适应批处理归一化(BN)、弱相关权重、领域引导的dropout等。
- 几何标准:根据源域和目标域的几何特性建立连接。该判据假设几何结构之间的关系可以减小畴移。
第二种情况可以称为基于对抗性的深度DA方法。在这种情况下,用于分类数据点是来自源域还是目标域的域鉴别器被用来通过一个敌对的目标来鼓励域混淆,以最小化经验源和目标映射分布之间的距离。此外,基于对抗性的深度DA方法可以根据是否有生成模型分为两种情况。
- 生成模型:将判别模型与基于生成对抗网络(GANs)的生成组件相结合。典型的例子之一是利用源图像、噪声向量或两者同时生成与目标样本相似的模拟样本,并保留源域的标注信息。
- 非生成模型:而不是生成模型与输入图像分布,特征提取器学习歧视表示使用标签在源域和目标数据映射到同一空间通过domain-confusion损失,从而导致域不变表示。
第三种情况可以称为基于重构的DA方法,它假设源样本或目标样本的数据重构有助于提高DA的性能。该构造函数既能保证域内表示的特殊性,又能保证域间表示的不可区分性。
- 编码器-解码器重构:通过使用堆叠自动编码器(SAEs),编码器-解码器重构方法将用于表示学习的编码器网络与用于数据重构的解码器网络结合起来。
- 对抗式重构:重构误差是通过GAN鉴别器得到的循环映射来测量每个图像域内重构图像与原始图像的差值,如dual GAN[62]、cycle GAN和disco GAN。
3.2、多步域适配的分类
在多步骤DA中,我们首先确定与源域和目标域的关联比它们的直接连接更大的中间域。第二,通过一步DA实现源域、中间域和目标域之间的知识传递过程,减少信息损失。因此,多步骤数据挖掘的关键在于如何选择和利用中间域;另外,它也可以分为三类:手工制作、基于特性和基于表示的选择机制。
- 手工设计:用户根据经验决定中间领域。
- 基于实例:从辅助数据集中选择特定部分的数据组成中间域来训练深度网络。
- 基于表示:通过冻结之前训练过的网络,并使用它们的中间表示作为新网络的输入来实现传输。
4、一步域适配
如2.1节所述,目标域中的数据无论同质还是异质DA,都有三种类型:(1)、有标记数据的监督DA,(2)、有标记数据和无标记数据的半监督DA,(3)、无标记数据的非监督DA。结合设置1和设置3的方法可以完成第二设置;因此,在本文中我们只关注第一和第三种设置。表3显示了对每种DA设置主要使用不同方法的情况。如表3所示,由于有监督的DA有其局限性,我们将更多的工作集中在无监督场景上。当目标域内仅有少量标记数据时,使用源标记数据和目标标记数据训练模型参数通常会导致对源分布的过拟合。此外,基于离散的方法已经研究多年,在许多研究工作中产生了更多的方法,而基于对立的方法和基于重构的方法是一个相对较新的研究课题,近年来受到更多的关注。
4.1、同质的域适配
4.4.1、基于差异的方法
Yosinski等人证明,通过深度网络学习的可转移特征由于脆弱的协同适应和表示特异性而存在局限性,而微调可以提高泛化性能(图4)。微调(也可以看作是一种基于离散的深度DA方法)是用源数据训练一个基网络,然后直接重用前n层进行目标网络。对目标网络的剩余层进行随机初始化和基于差异的损失训练。在训练过程中,目标网络的前n层可以根据目标数据集的大小及其与源数据集的相似性进行微调或冻结。表4给出了导航这4种主要场景的一些通用经验规则。
- 分类标准
begin{aligned} min mathcal{J}=& S_{c}^{(M)}-alpha S_{b}^{(M)} beta D_{t s}^{(M)}left(mathcal{X}^{s}, mathcal{X}^{t}right) \ & gamma sum_{m=1}^{M}left(left|W^{(m)}right|_{F}^{2} left|b^{(m)}right|_{2}^{2}right) end{aligned}
p(y mid x)=sum_{a in{0,1}^{M}} p(y mid a) p(a mid x)=frac{p(y)}{pleft(a^{y}right)} prod_{m=1}^{M} pleft(a_{m}^{y} mid xright)
Gebru等人从这些作品中得到灵感,利用属性来提高DA细粒度识别的性能。有多个独立的softmax损失,同时执行属性和类级别,以微调目标模型。为了防止独立分类器获得属性级和类级冲突的标签,还实现了属性一致性损失。
- 统计标准
尽管一些基于离散的方法搜索伪标签、属性标签或其他替代标记目标数据,但更多的工作集中在通过最小化无监督DA中的域分布差异来学习域不变表示。MMD是一种通过核二样本检验比较两个数据集分布的有效度量方法[76]。给定s和t两个分布,MMD定义如下:
M M D^{2}(s, t)=sup _{|phi|_{mathcal{H}} leq 1}left|E_{mathrm{x}^{s} sim s}left[phileft(mathrm{x}^{s}right)right]-E_{mathrm{x}^{t} sim s}left[phileft(mathrm{x}^{t}right)right]right|_{mathcal{H}}^{2}
在此基础上,Ghifary等人提出了一种将MMD度量引入单层隐层前馈神经网络的模型。为了减少潜在空间的分布不匹配,在每个域的表示之间计算了烟雾md度量。MMD的经验估计如下:
operatorname{MMD}^{2}left(D_{s}, D_{t}right)=left|frac{1}{M} sum_{i=1}^{M} phileft(mathrm{x}_{i}^{s}right)-frac{1}{N} sum_{j=1}^{N} phileft(mathrm{x}_{j}^{t}right)right|_{H}^{2}
随后,Tzeng et al.和Long et al.将MMD扩展到一个深度CNN模型,并取得了巨大的成功。Tzeng等人提出的深度域混淆网络(deep domain confusion network, DDC)使用两个CNNs作为源域和目标域,权值共享。该网络在源域的分类损失得到优化,而域的差异是由一个适应层与MMD度量。
mathcal{L}=mathcal{L}_{C}left(X^{L}, yright) lambda M M D^{2}left(X^{S} X^{t}right)