Advertisement

最优传输论文(六十三):Contrastive Adaptation Network for Unsupervised Domain Adaptation论文原理

阅读量:

文章目录

  • 前言

  • 摘要

  • 1. Introduction

  • 2. Related Work

  • 3. Methodology

    • 3. 1. 最大平均差异回顾
    • 3. 2. 对比域差异
    • 3. 3. 对比适应网络
    • 3.4. Optimizing CAN
  • 4. Experiments

    • 4.1. Setups
    • 4.2. Comparison with the state-of-the-art
    • 4. 3. 消融研究
  • 5. Conclusion

  • 代码


前言


摘要

  • 无监督域自适应(UDA)对目标域数据进行预测,而手动注释仅在源域中可用。以前的方法忽略了类信息,使得领域差异最小化,这可能导致不一致和泛化性能差。为了解决这一问题,本文提出了对比适应网络(CAN)优化的新指标,该指标明确地建模了类内域差异和类间域差异 。我们以端到端的方式为培训CAN设计了交替更新策略。在两个真实基准Office-31和VisDA-2017上进行的实验表明,CAN能够与最先进的方法相比表现出色,并产生更具辨别力的特征。

1. Introduction

  • 深度神经网络的最新进展成功地改善了各种学习问题[40,8,26,19,20]。然而,对于监督学习,大量的标记训练数据仍然是学习精确的深层模型的关键。尽管对于一些预先指定的域(如ImageNet[7])可能有大量的标签可用,但对于每个特定的目标域或任务,手动标签通常很难获得或很昂贵。标记数据的缺乏阻碍了数据拟合模型在许多实际问题中的应用。
  • 在没有来自目标域的标记数据的情况下,出现了无监督域适配(UDA)方法来缓解数据分布中的域转移[2,1,5,37,30,18,3,17]。它与无监督学习相关,因为它只需要源域的手动标签和目标域的零标签。在最近关于UDA的工作中,Long等人[22,25]提出的一项开创性工作旨在最大限度地减少深层神经网络中源域和目标域之间的差异,其中域差异通过最大平均差异(MMD)[22]和联合MMD(JMMD)[25]进行测量。MMD和JMMD在许多计算机视觉问题上被证明是有效的,并在几个UDA基准上展示了最先进的结果[22,25]。
  • 尽管以前基于MMD和JMMD的方法取得了成功,但大多数方法都在域级别测量域差异,忽略了从中提取样本的类。因此,这些类不可知的方法不区分来自两个域的样本是否应该根据它们的类标签对齐(图1)。由于以下原因,这可能会影响自适应性能。首先,不同类的样本可能不正确地对齐,例如,即使目标域样本与不同类的源域样本不对齐,MMD和JMMD都可以最小化。其次,学习到的决策边界对目标域的泛化能力较差。在决策边界附近存在许多次优解。这些解决方案可能会很好地拟合源数据,但对目标数据的区分性较差
    图1:
在这里插入图片描述

图1。比较了以往的领域差异最小化方法和我们的方法。左:自适应前,源数据和目标数据之间存在域偏移。中间:类不可知自适应在域级别对齐源数据和目标数据,忽略样本的类标签,因此可能导致次优解决方案。因此,一个标签的目标样本可能与不同标签的源样本不对齐。右图:我们的方法跨域执行类感知对齐。为了避免偏差,只最小化类内域差异。最大化类间域差异以增强模型的泛化能力。

  • 为了解决上述问题,我们引入了一个新的对比域差异(CDD)目标 ,以实现类感知UDA。我们建议最小化类内差异,即同一类内的域差异,最大化类间差异,即不同类间的域差异 。考虑到图1中的玩具示例,CDD将拉近同一底层类(例如蓝色和红色三角形)的源和目标样本,同时将不同类(例如蓝色三角形和红星)的样本分开。
  • 不幸的是,为了使用CDD进行评估和优化,我们可能无法训练一个开箱即用的深度网络,因为我们需要克服以下两个技术问题。首先,我们需要来自两个域的标签来计算CDD,然而,目标标签在UDA中是未知的 。当然,一种简单的方法是通过训练期间的网络输出来估计目标标签。然而,由于估计可能有噪声,我们发现它会损害自适应性能(见第4.3节)。其次,在小批量训练期间,对于C类,小批量可能只包含来自一个域(源或目标)的样本,因此无法估计C的类内域差异 。这可能导致较低的适应效率。上述问题需要对网络和训练模式进行特殊设计。
  • 在本文中,我们提出了对比自适应网络(CAN)来促进CDD的优化。在训练过程中,除了最小化标记源数据的交叉熵损失外,还可以通过聚类估计目标样本的潜在标记假设,并根据CDD度量调整特征表示。聚类后,在估计CDD时,模糊目标数据(即远离聚类中心)和模糊类(即在聚类中心周围包含少量目标样本)被归零。根据经验,我们发现在训练期间,将考虑越来越多的样本。这种渐进式学习有助于获取更准确的数据分布统计数据。此外,为了便于CAN的小批量训练,我们对源域和目标域都采用了类感知采样 ,即在每次迭代中,我们在随机采样的类子集内对每个类的两个域中的数据进行采样(这样不会用到目标域的标签嘛?这一段上面作者说的比较模糊,如果不看这篇论文的后面的内容的话可能比较难以理解,我们带着问题继续阅读就好了 )。类感知采样可以提高训练效率和自适应性能。
  • 我们在两个公共UDA基准上验证了我们的方法:Office-31[30]和VisDA-2017[29]。实验结果表明,与最先进的UDA方法相比,我们的方法具有良好的性能,即我们在Office-31基准测试上获得了最佳的公布结果,在VisDA2017基准测试上获得了非常有竞争力的结果。消融研究旨在验证我们框架中每个关键组件的贡献。
  • 简而言之,我们的贡献如下:,
    1.我们引入了一种新的差异度量对比域差异 (CDD)来执行类感知对齐 ,以实现无监督域自适应。
    2.我们提出了一个网络——对比适应网络 ,以促进CDD的端到端训练。
    3.我们的方法在Office-31基准[30]上取得了最好的公布结果,与具有挑战性的VisDA-2017基准[29]上的最新水平相比,具有竞争力。
  • 类不可知域对齐 。UDA的一种常见做法是最小化域之间的差异,以获得域不变特征[10,4,25,22,24,36,21]。例如,Tzenget等人[38]提出了一种域混淆损失,以鼓励网络学习语义有意义和域不变的表示。Long等人建议DAN[22]和JAN[25]在域特定层上分别最小化跨域的MMD和联合MMD距离。Ganinet al.[10]通过反向传播域分类器的反向梯度,使网络能够以对抗的方式学习域不变表示。与这些域差异最小化方法不同,我们的方法执行类对齐
  • 区分域不变特征学习 。以前的一些工作致力于在执行域对齐时学习更多的相似特性[35,13,31,32,28,39]。提出了对抗性退出正则化(ADR)[31]和最大分类器差异(MCD)[32]以对抗性的方式训练深层神经网络,以避免产生位于决策边界附近区域的非鉴别性特征。与我们类似,Long等人[23]和Peiet等人[28]在测量领域差异时考虑了类别信息。然而,我们的方法与他们的方法主要在两个方面不同。首先,我们明确地建模了两种类型的域差异,即类内域差异和类间域差异。类间域差异被大多数方法所忽略,被证明有利于提高模型的自适应性能 。其次,在深度神经网络的背景下,我们将训练过程视为对目标标签假设和特征的替代优化。
  • 类内紧性和类间可分性建模 。本文还涉及明确建模类内紧性和类间可分性 的工作,例如对比损失[12]和三重态损失(triplet loss)[33,A unified embedding for face recognition and clustering]。这些方法已被用于各种应用中,例如人脸识别[6],人员重新识别[16],等等。与这些为单个领域设计的方法不同,我们的工作重点是跨领域的适应

3. Methodology

  • 符号:
在这里插入图片描述
  • 我们在深层神经网络的背景下讨论我们的方法。在深层神经网络中,样本拥有由每个层l∈ L的激活表示的分层特征/表示.在下文中,我们使用 φ_l(x)表示输入x的深度神经网络φ_θ中层l的输出,其中φ(·)表示深度神经网络定义的从输入到特定层的映射
  • 在本节的其余部分中,我们将在第3.1节中简要回顾MMD中的相关概念,以此开始讨论。3.2引入一个新的域差异度量。最后,第3.3和第3.4节讨论深度网络的目标和训练程序。

3. 1. 最大平均差异回顾

  • 在最大平均偏差(MMD)中,\{x^s_i\}\{x^t_i\}是分别从边际分布P(X^s)Q(X^t)中取样。基于观察到的样本,MMD[34]执行内核两样本测试,以确定是否接受空假设isp=Qor。MMD的动机是,如果两个分布相同,那么它们的所有统计数据都应该相同。形式上,MMD定义了两个分布之间的差异及其在再生核希尔伯特空间(RKHS)中的平均嵌入,即:
在这里插入图片描述

实际上,对于层,MMD的平方值是通过经验核平均嵌入来估计的

在这里插入图片描述
在这里插入图片描述

3. 2. 对比域差异

  • 我们建议显式地考虑类信息,并测量类外域差异和类内域差异。类内域差异被最小化以压缩类内样本的特征表示,而类间域差异被最大化以使彼此的表示更加远离决策边界 。类内和类间差异被联合优化以提高自适应性能。
  • 提出的对比域差异(CDD)建立在域间条件数据分布的差异上。对数据分布的类型(如边际分布或条件分布)没有任何限制。(这句话怎么理解呢,也就是说,CDD的条件指的是不同的域,而条件分布、边缘概率分布里的条件是指不同的类,CDD指的是以不同的域为条件下的边际概率分布或者条件概率分布
在这里插入图片描述

下面作者设置:

在这里插入图片描述

注意,等式(3)定义了两种类感知域差异,1)当c1=c2=c时,它测量类内域差异;2) 当c1≠c2时,它成为类间域差异。为了计算µ_{c2c2}(y'^t_i,y'^t_j)µ_{c1c2}(y^s_i,y'^t_j),我们需要估计目标标签\{y'^t_i\},这将在第3.4节中讨论。

  • 根据上述定义,CDD计算为:
在这里插入图片描述
在这里插入图片描述

很有意思呀,类内域差异就是对源域和目标域的同样的类别来计算MMD,类间域差异则是目标域和源域不同的类之间相互的MMD,当然是类内域差异要小一点,类间域差异要大一点啦,由此得到了公式5,思路的话不是特别新奇,但是作者用MMD实现了这个思路,MMD在此之前已经开发出了条件MMD概率的版本,但是没有考虑扩大类间域差异的。

  • 注意,尽管标签\{y'^t_i\}的估计可能有噪声,但CDD(建立在MMD上)本身在一定程度上对噪声具有鲁棒性。由于MMD是由RKHS中分布的平均嵌入确定的,因此充分的统计信息不太可能受到标签噪声的严重影响,尤其是当数据量较大时 。我们将在第4.3节中对此进行讨论和验证。

3. 3. 对比适应网络

  • 深度卷积神经网络(CNN)比浅层方法能够学习更多的可转移特征。但是,对于特定于域的层,这种差异仍然存在。具体而言,提取一般特征的卷积层更具可转移性 ,而表现出抽象和领域特定特征的完全连接(FC)层应加以调整[22,25]。
  • 在本文中,我们从ImageNet[7]预训练网络开始,例如ResNet[14,15],并用任务特定的网络替换最后一个FC层 。我们遵循将最后一个FC层的域差异最小化的一般实践,并通过反向传播对卷积层进行微调。然后,我们提出的CDD可以很容易地作为FC层激活的自适应模块纳入目标。我们将我们的网络命名为对比适应网络(CAN)
  • 总体目标 。在深度CNN中,我们需要最小化多个FC层上的CDD,即最小化:
在这里插入图片描述

此外,我们通过最小化交叉熵损失来训练带有标记源数据的网络:

在这里插入图片描述

因此,总体目标可表述为:

在这里插入图片描述
在这里插入图片描述
  • 请注意,我们对标记的源数据进行独立采样 。通过这种方式,我们能够设计更有效的抽样策略(见第3.4节),以促进使用CDD的小批量随机优化,同时不会干扰使用标记源数据的交叉熵损失的传统优化

3.4. Optimizing CAN

  • CAN的框架如图2所示。在本节中,我们主要讨论如何最大限度地减少CAN中的CDD损失。
    图2:
在这里插入图片描述

图2。CAN的训练过程。为了最小化CDD,我们在通过聚类更新目标标签假设和通过反向传播调整特征表示之间执行替代优化。对于聚类,我们采用基于目标样本当前特征表示的球形Kmeans聚类 。集群数量等于基础类的集群数量,每个类集群的初始中心设置为同一类内源数据的中心 。然后,不明确的数据(即远离附属群集中心)和不明确的类(即在附属群集中心周围包含少量目标样本)被丢弃 。对于特征自适应,聚类阶段提供的标记目标样本与标记源样本一起通过网络实现其多层特征表示。采用特定于域的FC层的特征来估计CDD(等式(5))。此外,我们对独立采样的源数据应用交叉熵损失。通过最小化CDD和交叉熵损失的反向传播(等式(8))调整特征并提供类感知对齐。详细说明见第3.4节。

  • 替代优化(AO) 。如式(5)所示,我们需要联合优化目标标签假设y'^t_{1:n}和特征表示φ_{1:L}。我们采用替代步骤来执行此类优化。具体地说,在每个循环中,给定当前的特征表示,即固定θ,我们通过聚类更新目标标签。然后,基于更新后的目标标签 y'^t,我们估计并最小化CDD以适应特征,即通过反向传播更新θ
  • 我们使用第一个任务特定层的输入激活φ_1(·)来表示样本。例如,在ResNet中,每个样本都可以表示为全局平均池层的输出,这也是以下任务特定层的输入。然后采用球面Kmeans对目标样本进行聚类,并附加相应的标签。集群的数量与基础类的数量相同。
在这里插入图片描述
在这里插入图片描述
  • 聚类后,为每个目标样本x^t_i分配一个与其附属集群相同的标签。此外,远离其附属聚类中心的模糊数据被丢弃,即我们选择一个子集:
在这里插入图片描述
  • 此外,为了更准确地估计分布统计信息,我们假设应保证每个类中的最小样本数。不满足此类条件的类将不在当前循环中考虑,即在循环Te中,选这样的类:
在这里插入图片描述

(上面这两个步骤都是为了:不明确的数据(即远离附属群集中心)和不明确的类(即在附属群集中心周围包含少量目标样本)被丢弃

  • 在训练开始时,由于领域转移,更可能排除部分类别。然而,随着训练的进行,类别越来越多。原因有两方面:1)随着训练的进行,模型变得更加精确;2)得益于CDD惩罚,类内域差异变得更小,类间域差异变得更大,因此难的(即模糊)类变得可以衡量
  • 类感知采样(CAS) 。在传统的深度神经网络训练中,每次迭代通常会对一小批数据进行采样,而不需要区分它们的类别。但是,计算CDD的效率较低。例如,对于类别C,小批量中可能只存在来自一个域(源或目标)的样本,因此无法估计类内差异
  • 我们建议使用类感知的采样策略来实现网络的有效更新。它很容易实现。我们从C_{Te}中随机选择类的子集C^′_{Te},然后对C^′_{Te}中的每个类的源数据和目标数据进行采样。因此,在训练期间的每个小批量数据中,我们能够估计每个选定类别的类内差异。(这里作者不是对 C_{Te}中的每个类都采样,而是对它的子集C^′_{Te}中的类进行采样操作,源域和目标域都采样
  • 算法 。算法1显示AO过程的一个循环,即在群集阶段(步骤1~4)和一个 K-步 网络更新阶段(步骤5-11)之间交替(也就是群集阶段和网络更新阶段交替进行,后者使用前者更新后的目标域标签来更新网络 )。在我们的实验中,AO循环被重复多次。由于特征适应过程相对较慢,我们异步更新目标标签和网络参数,使训练更加稳定和高效
在这里插入图片描述

4. Experiments

4.1. Setups

  • 数据集 :office31,visda-2017
在这里插入图片描述
  • 实现细节 :我们使用在ImageNet[7]上预训练的ResNet-50和ResNet101[14,15]作为骨干网络。我们将最后一个FC层 替换为特定于任务的FC层,并使用标记的源域数据和未标记的目标域数据对模型进行微调。所有网络参数在源域和目标域数据之间共享 ,而不是特定于域的批处理规范化层的网络参数。超参数的选择遵循与[22]中所述相同的协议,即我们训练一个域分类器,并通过联合评估源分类器和域分类器的测试错误,对验证集(标记的源样本和未标记的目标样本)执行选择。
  • 下面这些常规设置我直接上图了:
在这里插入图片描述

4.2. Comparison with the state-of-the-art

  • 表1:
在这里插入图片描述

表2:

在这里插入图片描述

4. 3. 消融研究

  • 类间域差异的影响 。我们将我们的方法(“CAN”)与仅使用类内差异(“仅限类内”)训练的方法进行比较,以验证引入类间域差异度量的优点。结果显示在表1和表2中的最后两行。可以看出,引入类间域差异提高了自适应性能 。我们认为这是因为不可能完全消除类内域差异,最大化类间域差异可以缓解模型过度拟合源数据的可能性,有利于自适应。
  • 表3:
在这里插入图片描述
  • 替代优化和类感知抽样的效果 。表3检查了CAN的两个关键组件,即替代优化(或“AO”)和类感知采样(或“CAS”)。我们通过一次将一个组件从我们的框架中删除来进行消融研究。在表3中,方法“w/o.AO”直接使用每次迭代时的网络输出作为伪目标标签来估计CDD,并反向传播以更新网络。它可以看作是同时更新特征表示和伪目标标签。“w/o.CAS”方法使用传统的类不可知抽样而不是CAS 。与这两种特殊情况的比较验证了AO和CAS在我们方法中的贡献。
  • 有趣的是,即使没有替代优化,方法“w/o.AO”也比类无关方法(如DAN、JAN等)有所改进。这表明我们提出的CDD本身在一定程度上对标签噪声具有鲁棒性,MMD是建立CDD的合适指标(见第3.2节)
  • 使用伪目标标签的方法 。可以通过聚类实现对目标标签的估计,这使得可以采用各种方法来训练模型。在表4中,我们将我们的方法与通过聚类实现的伪目标标签的两种不同训练方法进行了比较。一种方法(“伪0”)是修复这些伪标签以直接训练模型。另一个(“伪1”)是在训练期间更新伪目标标签,这与CAN相同,但基于伪标签目标数据的交叉熵损失而不是估计CDD来训练模型
    表4:
在这里插入图片描述

表4。比较使用伪目标标签的不同方法。“伪0”意味着直接使用伪目标标签(通过我们的初始聚类实现)进行训练。“伪1”是通过聚类来交替更新目标标签,并最小化伪标签目标数据上的交叉熵损失。在“伪1”中,源数据的交叉熵损失也被最小化

  • 如表4所示,“伪0”导致模型的精度与初始聚类的精度完全匹配,因为深度神经网络的容量很大。“pseudo1”比“pseudo0”的结果要好得多,但仍然比我们的CAN差,这验证了我们显式建模类感知域差异的方法使模型更好地适应,并且不太可能受到标签噪声的影响。
  • 训练期间的CDD值 。在我们的训练中,我们生成目标标签假设来估计CDD。我们预计,在训练期间,使用地面真实目标标签计算的基础度量将稳步下降,直至收敛。为此,在训练期间,我们使用地面真实目标标签评估JAN和CAN的地面真实CDD(用CDD-G表示)。图5绘制了训练期间CDD的趋势和测试精度。
在这里插入图片描述

如我们所见,对于JAN(蓝色曲线),地面真实CDD在短暂下降后迅速稳定在较高水平。这表明JAN不能有效地减少对比域差异。对于CAN(红色曲线),虽然我们只能使用不准确的目标标记假设来估计CDD,但其CDD值会随着训练的进行而稳步下降。结果表明,我们的估计可以很好地反映地面真实对比域差异。从图5所示的精度曲线中,我们可以看出,与1月相比,最小化CDD可以显著提高CAN的精度。

  • 超参数敏感性 。我们在两个示例tasksA上研究了CAN对重要平衡重量β的敏感性→丹德→图5。一般来说,我们的模型对β的变化不太敏感。在很大范围内,CAN的性能远远优于基线方法(蓝色虚线)。随着β的增大,精度在降低之前稳步提高。钟形曲线说明了CDD的正则化效果。

5. Conclusion

  • 在本文中,我们提出了对比适应网络来对UDA进行类感知对齐。类内和类间域差异通过端到端小批量训练显式建模和优化。在真实基准上的实验证明了我们的模型相对于强基线的优越性。

这篇文章的核心其实就是类内域差异和类间域差异的同时对齐 ,也就是CDD,该网络称为CAN网络。但是可能存在采样时不包含某些类别的情况,对于计算类内和类间都有影响。为了解决这个问题,作者采用了新的采样策略 :首先聚类抛弃一些目标样本和类,聚类结束后,进行k-步的循环更新:引入CAS在剩余的类中选择一些类来对源域和目标域采样,而后计算CDD,反向传播。这种先聚类再k-步,就是所谓的AO策略 。这种聚类策略比伪标签效果要好。

代码

全部评论 (0)

还没有任何评论哟~