Domain Impression: A Source Data Free Domain Adaptation Method

无监督域自适应方法解决了一个未标记目标集的自适应问题,假设源数据集具有所有标签。然而,在实际案例中,实际来源样本的可用性并不总是可能的。这可能是由于内存限制、隐私问题和共享数据的挑战造成的。这个实际场景在域适配问题中造成了一个瓶颈。本文通过提出一种不需要任何源数据的domain adaptation technique来解决这一具有挑战性的问题。我们只提供了一个在源数据上训练的分类器,而不是源数据。我们提出的方法是基于一个生成框架,其中训练分类器用于从源类生成样本。我们通过使用训练分类器的基于能量的建模来学习数据的联合分布。同时,还针对目标域采用了一种新的分类器。我们在不同的实验装置下进行了不同的分析,结果表明,在这种非常新颖的情况下,所提出的方法比基准模型取得了更好的结果。

1. Introduction

领域适应方法(Domain adaptation methods)试图通过最小化两个领域之间的差异来解决这些问题。最小化差异的一种可能的方法是通过获取域不变特征。这些特征是这样的,即在一个域上训练的分类器在其他域上同样表现良好。域适应方法试图通过最小化两个域之间的差异来解决这些问题。将差异最小化的一种可能的方法是通过获得域不变的特征。这些特征可以使在一个域上训练的分类器在其他域上同样表现良好。域不变特征是通过引入一些辅助任务来获得的,以最小化域的分布差异。为了训练辅助任务,所有现有的领域适应方法都需要访问源数据集。在适应过程中,源数据集和目标数据集都应该是可用的。然而,在一些实际情况下,这并不总是可能的。原因可能是内存存储要求、共享数据的挑战、隐私问题和其他数据集处理问题。例如,流行的数据集,如Image-Net,由近1400万张图片组成,需要数百GB的存储空间。另一个关注点是与数据集的隐私有关。在某些情况下,敏感数据集无法共享以适应新数据集的模型。传统领域适应模型的这些局限性,为将其应用于实际场景带来了瓶颈。因此,假设源数据集的可用性是现有领域适应模型中的一个严重问题。

在本文中,我们提出了一种不需要在所有时间点上访问源数据集的领域适应模型。具体来说,我们假设可以访问在源数据集上训练的分类器。只有分类器的可访问性,而不是整个数据集的可访问性,才使得模型在实际场景中具有实用性。我们通过将预训练的分类器建模为基于能量的函数来利用它来学习联合分布[15]。我们还使用一个生成性对抗网络(GANs)结合这个预先训练好的分类器来学习源数据集的底层数据分布。一旦使用预先训练好的分类器对生成模型进行训练,我们就开始生成可应用于自适应任务的标记数据点。因此,我们消除了在自适应期间访问源数据集的需要。这些生成的样本可以作为代理样本来训练域自适应模型。我们从判别函数中学习一个生成函数,将其建模为基于能量的函数。它的能量用LogSumExp()值来定义[15]。分类器的另一个判别属性可以用交叉熵损失来训练生成函数。因此,所提出的方法充分利用了预先训练好的分类器的信息进行适配。

图1:提出的domain adaptation方法的说明:(a)没有adaptation,在源数据上训练的分类器不能正确地对目标样本进行分类。(b) 使用训练好的分类器生成代理样本。(c) 使用代理样本(生成)adaptation分类器。在adaptation算法中,只使用代理样本和目标样本,在adaptation过程中从不使用源样本(最好用彩色显示)。

图1直观地展示了所提出的领域适应框架。在图1(a)中显示了源域和目标域之间的分布不匹配,而在(b)中,使用预训练的分类器生成了虚拟源样本,最后一个适应阶段在©中显示,分类器使用虚拟标记样本适应目标域。

我们的贡献如下:

我们提供了一个生成式框架来解决源数据自由域适应问题。

训练有素的分类器被视为一个基于能量的模型来学习数据分布以及生成式对抗网络。

我们证明了使用预先训练好的分类器得到的domain impression可以应用于其他现有的domain adaptation methods.

我们提供详细的实验分析,以证明该模型的有效性。我们还提供了与使用完整源样本信息的现有基线的比较。我们的方法在不使用源样本的情况下与这些基线相当。

3. Background: Generative model from Discriminative model

判别模型的目标是得到类的条件分布p(y | x),它关注分类边界。这里x是给定的输入,y是标签生成模型从数据生成过程中学习p(x,y)的联合分布。我们用贝叶斯定理将联合分布的对数似然重写为[15]

logpθ(x)log\ p_{\theta}(x)log pθ​(x)可以表示为能量函数的形式。我们将logpθ(x)log\ p_{\theta}(x)log pθ​(x)定义为基于能量的函数,如[15]中讨论的那样。对数似然导数可以表示为[15]

能量函数将一个输入x映射到一个标量上。我们用训练好的分类器的logits的LogSumExp(-)来定义能量函数,类似于[15]。

Pc(x)[y]P_c(\mathbb x)[y]Pc​(x)[y]表示分类器Pc(x)P_c(\mathbb x)Pc​(x)输出的第y个分量。

4. Source Data Free Adaptation

在本节中,我们将讨论使用训练好的分类器的source data free adaptation technique。这个问题分为两部分:第一部分是获取分类器的样本,我们称之为生成模块。第二部分是针对目标域对分类器进行适配(adapt the classifier for the target domain),称为Adaptation模块。这两个模块如图2所示。

图2:Source Data free Domain Adaptation。生成器(G)、GAN判别器(Dg)、特征提取器(F)、分类器©和Domain discriminator(Dd)是可训练的,而预训练的分类器(Pc)被设置为冻结。z是latent噪声向量。GRL为梯度反转层[12]。

对于生成模块,我们采用条件GAN框架[38]作为生成函数来获取样本。交叉熵损失用于从分类器中获得domain impression和具有类边界的样本。需要注意的是,通过只用GAN的交叉熵损失(Note that by only the cross-entropy loss with GAN),我们可以强制要求生成的样本只遵循条件分布p(y|x)。为了学习源数据分布的代理样本,我们对公式1中定义的联合分布p(x,y)进行建模。对于adaptation模块,我们使用对抗式学习框架,利用判别器使特征对目标域与生成数据不变(make the feature invariant to the target domain with the generated data)。

4.1. Problem Formulation

源数据自由域适配问题(The source data free domain adaptation problem)可以表述如下。我们考虑一分类器PcP_cPc​,它是在源数据集Ds\mathcal D_sDs​上训练的,用于分类任务。假设或约束是源数据集不可用于adaptation。我们在训练时只提供未标记的目标数据集Dt\mathcal D_tDt​。我们进一步假设Ds\mathcal D_sDs​来自于源分布S,Dt\mathcal D_tDt​来自于目标分布T 。我们假设有NtN_tNt​个未标记的目标数据点。

4.2. Proposed Model

该方法将模型分为两部分:生成模块和Adaptation模块。

Data Generation Module: 代理样本是利用源分类器的GAN框架获得的(The proxy samples are obtained using a GAN framework with utilizing the source classifier.)。其目的是学习源数据的联合分布p(x,y)。这种方法背后的基本思想是获得完美的分类器。我们使用一个参数化的数据生成神经网络,该网络被训练成最大化Eq.1中定义的对数似然。

在这个方程中,第一项可以使用在式2中定义的导数来最大化。第二项使用交叉熵损失进行优化。生成式对抗网络,结合训练好的分类器,也是为了生成更好的样本。The vanilla GAN[49,14]是一个无条件的GAN,因此在这里并不适合;因为在vanilla GAN中不能保证只产生特定的所需类例。

因此,在提出的生成框架中,我们使用了一个条件生成对抗网络[38],其中条件可以作为一个onehot编码和潜在的噪声向量提供给生成器,以生成不同的样本。为了获得特定于类的样本,我们利用分类器的交叉熵损失来训练条件生成器。在这种情况下,我们不更新预先训练好的分类器的参数;我们只更新生成器以产生可以分类为给定类向量的样本。

这个公式产生的样本可能不被认为是自然样本,而且它还会产生对抗性的噪声样本。因此这些样本不能用于进一步的adaptation任务。为了获得自然样本,我们使用了一个对抗性判别器;它是在目标域样本的帮助下进行训练的。生成器的参数会随着判别器的对抗性损失和分类器的交叉熵损失进行更新。

Domain Adaptation Module: domain adaptation模块由源域和目标域数据集的共享特征提取器、分类器网络和类似于[12]的鉴别器网络组成。鉴别器的目标是引导特征抽取器使用梯度反转层产生域不变特征。在该框架中,域鉴别器被训练来区分产生的标记样本和未标记的目标样本。
同样的,我们也会针对标签生成的样本对训练好的分类器进行微调。在这个模块中,所有的网络,即特征提取器、分类器和判别器,都有可学习的参数。我们还分别对生成和adaptation过程进行了实验。在这个变体variant中,我们首先使用似然和GAN目标函数训练生成模型。然后对生成模型参数进行冻结,得到样本。之后,这些样本用于自适应。在这里,我们必须确定适应所需的样本数量。适应性能取决于样本数量,如表4消融研究部分所示。

我们的模型是SDDA-G,括号中的数字表示用于适应的生成样本数量。Oracle参考,当实际的源数据被用于适应时。

4.3. Loss functions

提出的Source Data free Domain Adaptation(SDDA)模型在训练时有以下这些损失。

Likelihood based loss (Llik\mathcal L_{lik}Llik​): 目标是用判别模型中学习源数据的联合分布。这个过程要求从生成模型中得到的数据的对数似然最大化,如式1所定义。因此损失函数写为

它的导数由式2得到。

Adversarial Loss (Ladv\mathcal L_{adv}Ladv​): 该损失用于训练GAN判别器,以区分真实数据和通过生成器生成的数据。生成器和GAN鉴别器是对立的。这里aia_iai​为目标数据,通过T\mathcal TT采样得到,y为生成数据对应的标签,z是latent noise vector。采样自正态分布PzP_zPz​。生成器的损失定义为:

Cross-Entropy Loss (Lcrs\mathcal L_{crs}Lcrs​): 这个损失是通过将生成的图像传递给预训练的分类器获得的。预训练分类器的预测输出与输入到生成器的类向量进行比较。这个损失不更新预训练分类器的参数。它只是更新生成器的参数,以生成类一致的图像。

其中gi=G(zi,yi)g_i=G(z_i,y_i)gi​=G(zi​,yi​)是生成的图像样本。Lc\mathcal L_cLc​是交叉熵损失。NgN_gNg​是生成的样本。PcP_cPc​是预先训练好的分类器。

Domain Discriminative Loss (Ldis\mathcal L_{dis}Ldis​): 该损失用于从特征提取器中获得域不变的特征。它是源样本和目标样本之间的二元分类损失。鉴别器是用损失的梯度来训练的。与此相反,特征提取器由该损失的负梯度进行训练(使用梯度反转层[12]),以获得域不变性。

N是生成样本和目标样本的总数。did_idi​是domain label,di=0ifxi∈Dganddi=1ifxi∈Dt.Lcd_i=0\ if\ x_i\in\mathcal D_g\ and\ d_i=1\ if\ x_i\in\mathcal D_t.\mathcal L_cdi​=0 if xi​∈Dg​ and di​=1 if xi​∈Dt​.Lc​是交叉熵。
Classification Loss (LclsL_{cls}Lcls​): 利用生成样本的分类损失训练自适应分类器。我们根据损失更新分类器的参数梯度这种损失的梯度也被用来训练特征提取器来产生类别鉴别特征。


这里C是分类器网络。Ng是生成的样本总数。
Total Loss: The total loss is given as below

Domain Impression A Source Data Free Domain Adaptation Method相关推荐

  1. Domain Adaption Without Source Data论文阅读笔记

    总的来说: 源模型经过一个特征提取器和一个分类器后得到一个标签ysy_sys​ 可训练的目标模型输入目标样本,经过特征提取器后,分类器Cs2tC_{s2t}Cs2t​用源伪标签训练,分类器CtC_tC ...

  2. Model Adaption: Unsupervised Domain Adaption Without Source Data

    三.方法 用模型来进行无监督模型适应问题,只有来自源域的预训练预测模型CCC和无标签的目标数据集XtX_tXt​,目的是将CCC适应到带有XtX_tXt​的目标域. 提出了一个协作类条件生成对抗网络( ...

  3. 论文笔记-Real-Time MDE using Synthetic Data with Domain Adaptation via Image Style Transfer

    论文信息 标题: Real-Time Monocular Depth Estimation using Synthetic Data with Domain Adaptation via Image ...

  4. Learning from Synthetic Data: Addressing Domain Shift for Semantic Segmentation

    文章目录 1 Author 2 Abstract 3 Introduction 4 Method 4.1 Description of network blocks 4.2 Treatment of ...

  5. [Gdal-dev] GCP's, Warping and Source Data Projections

    看到这么一节问题不是很明白,那位搞遥感方面的高人给大概解释一下关键部分? 还有几个疑问: 1.GDAL能做几何精校正(Precise Geometry Rectification)吗? 2.下边的帖子 ...

  6. 对比学习系列论文SimROD(二): A Simple Adaptation Method for Robust Object Detection

    0.Abstract 0.1逐句翻译 This paper presents a Simple and effective unsupervised adaptation method for Rob ...

  7. “SqlNullValueException: Data is Null. This method or property cannot be called on Null values.”的解决方案

    本文由 比特飞 原创发布,欢迎大家踊跃转载. 转载请注明本文地址:"SqlNullValueException: Data is Null. This method or property ...

  8. SqlNullValueException: Data is Null. This method or property cannot be called on Null values.

    一.问题描述: Unhandled Exception: System.Data.SqlTypes.SqlNullValueException: Data is Null. This method o ...

  9. 论文阅读问题总结(六):Meta-Learning with Domain Adaption for Few-shot Learning Under Domain Shift

    1.这篇paper作者提出要解决的问题? 作者提出,大部分现存的小样本元学习领域的一些工作都基于两个假设: training task和testing task都是从满足同一task distribu ...

  10. 【ECCV 2020】Joint Visual and Temporal Consistency for Unsupervised Domain Adaptive Person Re-ID

    JVTC 1 背景知识 1.1Person Re-Identification (ReID) 1.2 supervised person ReID Problem #2 Problem #3 1.3 ...

最新文章

  1. 你有没有试过“闭上眼”使用:京东、滴滴、QQ、支付宝?
  2. STM32串行通信USART解说笔记
  3. oracle.jobs中failures,Oracle job详解
  4. mysql 生成数列_PHP生成器的创建和使用
  5. python os.path模块常用方法详解
  6. java jni 结构体_JNI基础 -- C++基础知识(结构体共用体 )
  7. 小伙用微信小程序的Canvas手撸了一个娃娃机
  8. 2019年 AI 顶会速递
  9. python 多线程测试_【Python】多线程网站死链检测工具
  10. IEEE 1588原理及实现
  11. 带你理清:ROS机器人导航功能实现、解析、以及参数说明
  12. java 转pem_将Java密钥库转换为PEM格式
  13. c#配合c++调节屏幕亮度,非伽马以及RGB方案
  14. hive计算航班某型号个数_机型分配就是把航班集合按照机型分割成子集。( )...
  15. 二分查找、分治算法——汉诺塔问题
  16. 工具使用——使用华为手机作为电脑的拓展屏
  17. win10卸载git_打造 Win10 终极开发环境
  18. 2021安徽计算机二级报名时间,2021年安徽计算机二级考试时间
  19. 英特尔12代酷睿架构,十二代酷睿架构
  20. 计算机网络技术项目教学版知识点,计算机网络基础教学

热门文章

  1. boseqc35能不能连电脑_求教boseqc35如何连接win10电脑
  2. 关于阿里云服务器租用费用的介绍
  3. 工具推荐:最好用的pCap工具
  4. 2017美团校招安卓岗
  5. 计算机组成原理(3)——存储器
  6. 什么是HyperText Transfer Protocol 超文本传输协议
  7. 性能强大的家庭服务器,家庭服务器解决方案——硬件篇
  8. 洛谷 U5773 受望先锋
  9. 计算某年某月某日是星期几(基姆拉尔森计算公式)
  10. [App Bundle]Android动态化技术实例