Unsupervised Domain Adaptation by Backpropagation

顶级性能的深层体系结构是在大量标记数据上训练的。在某项任务没有标记数据的情况下,域适配(domain adaptation)通常提供了一个有吸引力的选择,因为具有相似性质但来自不同domain的标记数据(例如合成图像)是可用的。在这里,我们提出了一种新的深度体系结构domain adaptation方法,该方法可以训练来自source domain的大量标记数据和来自target domain的大量未标记数据(不需要标记的target domain数据)。

随着训练的进行,这种方法促进了“深层”特征的出现,这些特征(i)对source domain上的主要学习任务具有区分性,并且(ii)对域之间的转换保持不变。我们证明了这种自适应行为几乎可以在任何feed-forward model中实现,只需增加几个标准层和一个简单的新梯度反转层gradient reversal layer。由此产生的增强体系结构可以使用标准的反向传播进行训练。

总的来说,使用任何深度学习软件包都可以轻松实现该方法。该方法在一系列的图像分类实验中取得了很好的效果,在存在较大的域偏移(big domain shifts)的情况下取得了很好的自适应效果,在Office数据集上的性能优于以往的水平。

1. Introduction

对于缺少标记数据的问题,仍然有可能获得足够大的训练集来训练大规模的深度模型,但是这些训练集的数据分布与测试时遇到的实际数据发生了变化。

深度前馈体系结构为各种机器学习任务和应用程序带来了令人印象深刻的最新进展。然而,目前,只有在有大量标记的训练数据可用时,才能实现这些性能飞跃。同时,对于缺少标记数据的问题,仍然有可能获得足够大的训练集来训练大规模的深度模型,但是这些训练集的数据分布与测试时遇到的实际数据发生了变化。一个特别重要的例子是合成的或半合成的训练数据,这些数据可能非常丰富,并且被完全标记,但是它们不可避免地具有与真实数据不同的分布(Liebelt & Schmid, 2010; Stark et al., 2010; Vazquez et al. , 2014; Sun & Saenko, 2014)。

在训练分布和测试分布之间存在迁移的情况下学习判别分类器或其他预测器被称为域适应(DA)。在浅层学习的背景下,已经提出了一些领域适应的方法,例如在给定和固定了数据表示/特征的情况下。然后,这些方法构建源(训练时间)域和目标(测试时间)域之间的映射,这样,当使用域之间的学习映射组合时,为源域学习的分类器也可以应用于目标域。域适应方法的吸引力在于,当目标域数据要么完全无标记(无监督域注释),要么标记样本很少(半监督域适应)时,能够学习域之间的映射。下面,我们将重点讨论较难的无监督情况,尽管所提出的方法可以相当直接地推广到半监督情况。

与以往大多数使用固定特征表示的领域适应相关论文不同,我们侧重于将领域适应和深度特征学习结合在一个训练过程中(深度领域适应deep domain adaptation)。我们的目标是将领域自适应嵌入到训练的过程中,使最终的分类器的决策基于对领域变化既具有区别性又不变性的特征,即在源域和目标域中具有相同或非常相似的分布。(so that the final classification decisions are made based on features that are both discriminative and invariant to the change of domains, i.e. have the same or very similar distributions in the source and the target domains.)这样,得到的前馈网络可以应用于目标域,而不受两个域之间shift的影响。

因此,我们关注结合(i)辨别力和(ii)领域不变性的学习特性。这是通过联合优化underlying features以及two discriminative classifiers operating on these features来实现的:(i)用于预测类标签的标签预测器,在训练期间和测试时都使用,(ii)用于在训练过程中区分源域和目标域的domain classifier。当对分类器参数进行优化,使其在训练集上的误差最小时;对底层深度特征映射参数进行优化,使标签分类器的损失最小,使域分类器的损失最大。后者鼓励在优化过程中出现域不变的特性。(While the parameters of the classifiers are optimized in order to minimize their error on the training set, the parameters of the underlying deep feature mapping are optimized in order to minimize the loss of the label classifier and to maximize the loss of the domain classifier. The latter encourages domain-invariant features to emerge in the course of the optimization.)

图1所示。该结构包括一个深特征提取器(绿色)和一个深标签预测器(蓝色),它们共同构成一个标准的feed-forward结构。在基于反向传播的训练过程中,通过梯度反转层将梯度乘以一个负常数(a certain negative constant),将一个域分类器(红色)连接到特征提取器,实现无监督域自适应。否则,训练将以标准的方式进行,并最小化标签预测损失(对于源示例)和域分类损失(对于所有示例)。梯度反转Gradient reversal确保了两个域上的特征分布是相似的(对于域分类器来说,尽可能难以区分),从而产生域不变的特征。

关键的是,我们证明了这三个训练过程都可以嵌入到一个适当组成的使用标准层和损失函数的深度前馈网络中(图1),并且可以使用基于随机梯度下降或其修改的标准反向传播算法(例如带动量的SGD)进行训练。实际上,所提议的体系结构的唯一非标准组件是一个相当简单的梯度反转层,它在正向传播期间保持输入不变,并在反向传播期间通过将其乘以一个负标量来反转梯度。

下面,我们详细介绍了所提出的深度架构中的领域适应方法,并介绍了在传统深度学习图像数据集(如MNIST(Le-Cun等人,1998)和SVHN(Netzer等人,2011))以及OFFICE基准(Saenko等人,2010)上的结果,所提出的方法比之前最先进的精度有很大提高。

2. Related work

近年来,人们提出了大量的领域自适应方法,这里我们将重点介绍相关的领域自适应方法。多种方法通过匹配源域和目标域的特征分布来实现无监督域自适应。有些方法通过重新权衡或从源域中选择样本来实现这一点(Borgwardt et al., 2006; Huang et al., 2006; Gong et al., 2013);而其他人则寻求一种明确的特征空间转换,将源分布映射到目标分布(Pan et al., 2011; Gopalan et al., 2011; Baktashmotlagh et al., 2013)。分布匹配方法的一个重要方面是度量分布之间相似性的方法。在这里,一个流行的选择是匹配核再生希尔伯特空间中的分布方式 (Borgwardt et al., 2006; Huang et al., 2006),而(Gong et al., 2012; Fernando et al., 2013)绘制与每个分布相关的主轴。我们的方法也尝试匹配特征空间分布,但是这是通过修改特征表示本身来实现的,而不是通过重新加权或几何变换。此外,我们的方法(隐式地)使用了一种非常不同的方法来测量分布之间的差异,该方法基于分布的可分性,采用了一种经过深度判别训练的分类器。

有几种方法从源领域逐渐过渡到目标领域(Gopalan et al., 2011; Gong et al., 2012)通过训练分布的逐步变化。在这些方法中(S. Chopra & Gopalan, 2013)通过对一系列深层自动编码器进行分层训练,逐步将源域样本替换为目标域样本,实现了这一目标。相对于(Glorot et al., 2011)的类似方法,这种方法只需要为两个域训练一个深层的自动编码器,这是一种改进。在这两种方法中,实际的分类器/预测器都是使用自动编码器学习的特征表示在单独的步骤中学习的。与(Glorot et al., 2011; S. Chopra & Gopalan, 2013),我们的方法在统一的体系结构中,使用单一的学习算法(反向传播),共同进行特征学习、领域自适应和分类器学习。因此,我们认为我们的方法更简单(无论是在概念上还是在实现上)。我们的方法在流行的OFFICE基准测试上也取得了相当好的结果。虽然上述方法执行无监督域自适应,但也有一些方法通过利用目标域的标记数据来执行监督域自适应。在深度前馈体系结构的上下文中,这些数据可用于对源域(Zeiler & Fergus, 2013; Oquab et al., 2014; Babenko et al., 2014)。我们的方法不需要标记目标域数据。同时,它可以很容易地在可用时合并这些数据。(Goodfellow et al., 2014)描述了一个与我们相关的想法。虽然他们的目标是完全不同(建筑生成深层网络,可以合成样品),他们测量的方式,减少训练数据的分布之间的差异和合成数据的分布非常类似于我们的架构方式措施和最小化两个域之间的差异特征分布。

最后,(Tzeng et al., 2014)最近的一份并发报告也关注了前馈网络中的域适应。他们的技术集度量并最小化跨域数据手段的距离。这种方法可以看作是我们的方法的一阶近似,它寻求分布之间更紧密的对齐。

3. Deep Domain Adaptation

3.1. The model

我们假设模型输入为x∈X\mathbb x\in Xx∈X,其中X是某个输入空间和来自标签空间Y的某些标签。

下面,我们假设分类问题中Y是一个有限集(Y={1,2,...,L})(Y=\{1,2,...,L\})(Y={1,2,...,L}),但是我们的方法是通用的,可以处理其他输出标签空间。

我们进一步假设在X⨂YX\bigotimes YX⨂Y上存在两个分布S(x,y)andT(x,y)\mathcal S(x,y)\ and\ \mathcal T(x,y)S(x,y) and T(x,y),分别称为源分布和目标分布(或源域和目标域)。这两种分布都假定为复杂和未知的,而且相似但不同。

我们的最终目标是给定目标分布的输入x能够预测标签y。在训练时,我们可以访问来自源和目标域的大量训练样本{x1,x2,...,xn}\{x_1,x_2,...,x_n\}{x1​,x2​,...,xn​}通过边际分布S(x,y)andT(x,y)\mathcal S(x,y)\ and\ \mathcal T(x,y)S(x,y) and T(x,y)。我们用二进制变量di表示(域标签)i的样本,这表明xi来是否自源分布(xi∼S(x)ifdi=0)(\mathbb x_i\sim\mathcal S(x)\ if\ d_i=0)(xi​∼S(x) if di​=0)或从目标分布(xi∼T(x)ifdi=1)(\mathbb x_i\sim\mathcal T(x)\ if\ d_i=1)(xi​∼T(x) if di​=1)。对于源分布(di=0d_i=0di​=0)中的示例,在训练时已知对应的标签yi∈Yy_i\in Yyi​∈Y。对于来自目标域的样本,我们不知道训练时的标签,我们希望在测试时预测这些标签。

现在,我们定义一个深度模型的结构,对于每个输入x,它预测其类标签y和域标签di∈{0,1}d_i\in\{0,1\}di​∈{0,1}。我们将这种映射分解为三个部分。我们假设输入x是第一次由一个映射器GfG_fGf​映射为特征向量f∈RDf\in\mathbb R^Df∈RD。我们用参数向量θf\theta_fθf​表示,即f=Gf(x,θf)\mathbf f = G_f(\mathbf x,\theta_f)f=Gf​(x,θf​)。然后,映射器GyG_yGy​(标签预测器)将特征向量f映射标签到y,我们用θy\theta_yθy​表示参数。最后,由一个参数为θd\theta_dθd​的映射器GdG_dGd​(域分类器)映射特征向量f到域标签d(图1)。

在学习阶段,我们的目标是将训练集中标注部分(即源部分)的标签预测损失最小化,因此对特征提取器和标签预测器的参数都进行了优化,以最小化源域样本的经验损失。这样就保证了特征f的判别能力,保证了特征提取器和标签预测器组合对源域的整体良好预测性能。

同时,我们希望使特征f域不变domain-invariant。也就是说,我们想让分布S(f)={Gf(x,θf)∣x∼S(x)}S(\mathbf f)=\{G_f(\mathbf x,\theta_f)|\mathbf x\sim S(x)\}S(f)={Gf​(x,θf​)∣x∼S(x)}和T(f)={Gf(x,θf)∣x∼T(x)}T(\mathbf f)=\{G_f(\mathbf x,\theta_f)|\mathbf x\sim T(x)\}T(f)={Gf​(x,θf​)∣x∼T(x)}是相似的。

在covariate shift假设下,这将使目标域上的标签预测精度与源域上的相同(Shimodaira, 2000)。

然而,测量分布S(f)andT(f)S(\mathbf f)\ and\ T(\mathbf f)S(f) and T(f)的不同并不容易,因为f是高维的,而且分布本身随着训练而不断变化。一种方法是看域分类器GdG_dGd​的损失,前提是域分类器的参数θd\theta_dθd​已经被训练成可以很好的区分两种特征分布。

这一观察结果引出了我们的想法。在训练时,为了获得域不变特性,我们寻求使域分类器的损失最大化的参数θf\theta_fθf​(通过让两个特征分布尽可能相似),同时寻求域分类器的损失最小化的参数θd\theta_dθd​。此外,我们寻求最小化标签预测器的损失。

其中,Ly(⋅,⋅)L_{y}(\cdot, \cdot)Ly​(⋅,⋅)为标签预测的损失,Ld(⋅,⋅)L_{d}(\cdot, \cdot)Ld​(⋅,⋅)为域分类的损失(如logistic),而Lyiand LdiL_{y}^{i} \text { and } L_{d}^{i}Lyi​ and Ldi​表示第i个训练样本相应的损失函数。根据我们的想法,我们正在寻求参数θ^f,θ^y,θ^d\hat{\theta}_{f}, \hat{\theta}_{y}, \hat{\theta}_{d}θ^f​,θ^y​,θ^d​

在鞍点处,域分类器的参数θd\theta_dθd​最小化域分类损失,标签预测器的参数θy\theta_yθy​最小化标签预测损失。特征提取器参数θf\theta_fθf​最小化标签预测损失(即特征是可区分的),且最大化域分类损失(即特征域不变)。参数λ控制两个目标之间的权衡。下面,我们证明了标准随机梯度求解器(SGD)可用于搜索鞍点(2)-(3)。

3.2. Optimization with backpropagation

(2)-(3)的鞍点可以通过找到以下随机更新的静止点。

μ\muμ是学习率(可能随时间而变化)。更新(4)-(6)非常类似于前馈深度模型的随机梯度下降(SGD)更新,该模型由特征提取器提取特征作为标签预测器和域分类器的输入。(4)的区别是λ因子(区别很重要,因为没有这样的因子,随机梯度下降法试图使特征在不同域间不相似,从而使域分类损失最小化)。虽然直接实现(4)-(6)作为SGD是不可能的,但我们非常希望将更新(4)-(6)减少到某种形式的SGD(it is highly desirable to reduce the updates (4)-(6) to some form of SGD),因为SGD(及其变体)是大多数用于深度学习的包中实现的主要学习算法。
幸运的是,可以通过引入定义如下的特殊梯度反转层(GRL)来实现。梯度逆转层没有与之关联的参数(除了meta-parameter λ,不通过反向传播更新)。在正向传播过程中,GRL作为一个恒等变换。在反向传播,GRL将后续层的梯度,乘以−λ-\lambda−λ并传递给前一层。使用现有的面向对象包实现这样的层来进行深度学习非常简单,比如为forwardprop(identity transform),backprop(乘以常量)和参数更新(没什么)定义过程非常简单。

上面定义的GRL插入到特征提取器和域分类器之间,得到图1所示的体系结构。

因此,在生成的模型中运行SGD实现了更新(4)-(6),并收敛到(1)的鞍点。在数学上,我们可以将梯度逆转层的伪函数Rλ(x)R_{\lambda}(\mathbf{x})Rλ​(x)为定义为两个方程描述其向前和反向传播:

其中I是一个单位矩阵(identity matrix)。我们可以定义objective “pseudo-function” ,(θf,θy,θd)(\theta_{f}, \theta_{y}, \theta_{d})(θf​,θy​,θd​) 通过objective “pseudo-function”被随机梯度下降优化:

运行更新(4)-(6)可以实现为(9)做SGD,并导致同时出现域不变和discriminative特性。学习后,标签预测因器y(x)=Gy(Gf(x;θf);θy)y(\mathbf{x})=G_{y}\left(G_{f}\left(\mathbf{x} ; \theta_{f}\right) ; \theta_{y}\right)y(x)=Gy​(Gf​(x;θf​);θy​)可以用来预测标签样本目标域(以及从源域)。

上文概述的简单学习程序可以沿着(Goodfellow等人,2014)中建议的思路重新推导/概括(见附录A)。

4. Experiments

4. Experiments

剩下的看论文,或者链接https://www.pianshen.com/article/7790354566/

Unsupervised Domain Adaptation by Backpropagation相关推荐

  1. 【ICML 2015迁移学习论文阅读】Unsupervised Domain Adaptation by Backpropagation (DANN) 反向传播的无监督领域自适应

    会议:ICML 2015 论文题目:Unsupervised Domain Adaptation by Backpropagation 论文地址: http://proceedings.mlr.pre ...

  2. 【ICML 2015迁移学习论文阅读】Unsupervised Domain Adaptation by Backpropagation (DANN) 无监督领域自适应

    会议:ICML 2015 论文题目:Unsupervised Domain Adaptation by Backpropagation 论文地址:http://proceedings.mlr.pres ...

  3. 笔记: Gradient Reversal Layer (unsupervised domain adaptation by backpropagation. ICML 2015)

    paper: Ganin, Yaroslav, and Victor Lempitsky. "Unsupervised domain adaptation by backpropagatio ...

  4. DANN:Unsupervised Domain Adaptation by Backpropagation

    本篇是迁移学习专栏介绍的第十三篇论文,发表在ICML15上.论文提出了用对抗的思想进行domain adaptation,该方法名叫DANN(或RevGrad).核心的问题是同时学习分类器  .特征提 ...

  5. 语义分割-Unsupervised Domain Adaptation in Semantic Segmentation:a Review语义分割中的无监督领域自适应:综述

    Unsupervised Domain Adaptation in Semantic Segmentation:a Review语义分割中的无监督领域自适应:综述 0.摘要 1.介绍 1.1.语义分割 ...

  6. 【论文阅读】Deep Cocktail Network: Multi-source Unsupervised Domain Adaptation with Category Shift

    Deep Cocktail Network: Multi-source Unsupervised Domain Adaptation with Category Shift SUMMARY@ 2020 ...

  7. AWB——Complementarity-enhanced Mutual Networks for Unsupervised Domain Adaptation in Person Re-ID

    论文地址:arXiv:2006.06525 代码地址:Attentive-WaveBlock 1 概述 这是一篇有关UDA Re-ID的文章,方法性能在paper with code上位居榜首,本文可 ...

  8. Unsupervised Domain Adaptation with Variational Approximation for Cardiac Segmentation

    Wu F, Zhuang X. Unsupervised domain adaptation with variational approximation for cardiac segmentati ...

  9. TGRS2022/云检测:Unsupervised Domain Adaptation for Cloud Detection Based on Grouped Features Alignment

    TGRS2022/云检测:Unsupervised Domain Adaptation for Cloud Detection Based on Grouped Features Alignment ...

  10. 无源领域自适应:Source Hypothesis Transfer for Unsupervised Domain Adaptation

    Do We Really Need to Access the Source Data? Source Hypothesis Transfer for Unsupervised Domain Adap ...

最新文章

  1. 今年1篇Science,2篇NBT,2篇MP,1篇PNAS等11篇文章,遗传发育所白洋组在植物微生物组取得系列进展!
  2. boss直聘Android找工作界面,Android仿Boss直聘我的界面滑动效果
  3. bzoj 1011 近似估计
  4. mysql float的缺点 (不适用于高精度数据)
  5. linux提取声卡的codec教程,发个菜鸟提取声卡codec文件图文教程,老手就别看了,小心被骂!...
  6. java ora 01002_遇到了ora-01002,fetch out of sequence
  7. 软件工程网络15个人阅读作业2
  8. 计算机一级wps视频教程,计算机一级WPS
  9. 对象内存布局 (9)
  10. 论开学第二个月干了点啥
  11. matlab中电流继电器,电流电压继电器特性实验的数字仿真
  12. coso js 魔窗
  13. 武魂显示无法连接服务器,武魂天下进不去连接服务器失败解决方法
  14. python dataframe删除重复行_2.3.10 DataFrame 查看删除重复项
  15. 资深架构师推荐Spring技术内幕:深入了解Spring的底层机制
  16. 2022-2028全球与中国医学头骨CT市场现状及未来发展趋势
  17. VUE优秀UI组件库(PC和Mobile)
  18. 17个学术论文搜索引擎
  19. DG备库delay设置备库延时apply archivelog 但不延时传送归archivelog
  20. cordova vibration插件——震动

热门文章

  1. 中国银联Applepay客户端接入
  2. java实现基于okhttp3的http请求封装(GET/POST/PUT/DELETE等方法)
  3. 【寒江雪】LookRotation详解
  4. 移动硬盘在电脑上显示为本地磁盘并且出现打不开的情况
  5. django cleaned_data
  6. 小米android的手机根目录,手机网站根目录在哪?
  7. 网站根目录与服务器根目录,根目录在哪里_网站的根目录在哪?急急!!!
  8. 嵌入式软件测试——初探
  9. rest-assured一些使用心得
  10. python 下载公众号文章_最便捷的微信公众号文章下载器——基于Python爬虫微信文章...