论文信息

论文标题:Cross-domain Contrastive Learning for Unsupervised Domain Adaptation
论文作者:Rui Wang, Zuxuan Wu, Zejia Weng, Jingjing Chen, Guo-Jun Qi, Yu-Gang Jiang
论文来源:aRxiv 2022
论文地址:download 
论文代码:download

Preface

  域适应(Domain Adaption),也可称为域对抗(Domain Adversarial),是迁移学习中一个重要的分支,用以消除不同域之间的特征分布差异。其目的是把具有不同分布的源域(Source Domain)和目标域(Target Domain) 中的数据映射到同一个特征空间,寻找某种度量准则,使其在这个空间上的 “距离” 尽可能近。然后,我们在源域(带标签)上训练好的分类器,就可以直接用于目标域数据的分类。

  

  如上图所示,Source Domain 源域样本分布(带标签),Target Domain 目标域样本分布,它们具有共同的特征空间和标签空间,但源域和目标域通常具有不同的分布,这就意味着我们无法将源域训练好的分类器,直接用于目标域样本的分类。因此,在域适应问题中,我们尝试对两个域中的数据做一个映射,使得属于同一类标签)的样本聚在一起。此时,我们就可以利用带标签的源域数据,训练分类器供目标域样本使用。

1 Introduction

  UDA 研究方向:

    • discrepancy-based methods;  
    • adversarial-based methods;
    • domain-adaptive dictionary learning;
    • multi-modality representation learning;
    • feature disentanglement;

2 Problem Statement

  Formally, given a fully-labeled source domain dataset with  Ns  image and label pairs  Ds=(Xs,ys)={(xsi,ysi)}i=1Ns , and an unlabeled dataset in a target domain with  Nt  images  Dt=Xt={xti}i=1Nt , both  {xsi}  and  {xti}  belong to the same set of  M  predefined categories. We use  ysi{0,1,,M1}  to represent the label of the  i-th source sample while the labels of target samples are unknown during training. UDA aims to predict labels of testing samples in the target domain using a model ft:XtYt   trained on   DsDt  . The model, parameterized by   θ   consists of a feature encoder   g:XtRd   and a classifier   h:RdRM , where  d  is the dimension of features produced by the encoder.

2 方法

A. Contrastive Learning with InfoNCE

NT-Xent loss

    L=v+V+logexp(uv+/τ)exp(uv+/τ)+vVexp(uv/τ)(1)

B. Cross-domain Contrastive Learning

  目标域样本xti 的 2-normalized 特征 zti 作为 Anchor ,它的正样本为同一类的源域样本 zsp,跨域对比损失如下:

    LCDCt,i=1|Ps(y^ti)|pPs(y^ti)logexp(ztizsp/τ)jIsexp(ztizsj/τ)(2)

  其中,IS 代表一个 mini-batch 中的源域样本集合,Ps(y^ti)={kysk=y^ti} 代表源域中和目标域样本 xti 有相同标签的样本;

  同理也可以使用源域样本作为 Anchor ,公式类似上面,交叉域对比损失如下:

    LCDC=i=1NsLCDCs,i+i=1NtLCDCt,i(3)

  最后,结合跨域对比损失与在源域上执行的标准交叉熵损失 LCE,得到最终的训练目标函数:

    minimizeθLCE(θ;Ds)+λLCDC(θ;Ds,Dt)(4)

C. Pseudo Labels for the Target Domain

  在训练过程中,没有来自目标域的真实标签,因此利用 k-means 聚类产生伪标签。由于 K-means 对初始化很敏感,因此使用随机生成的集群不能保证与预定义类别相关的相关语义。为缓解这个问题,将簇的数量设置为类 M 的数量,并使用来自源域的类原型作为初始簇。

  初始化集群中心与类原型的好处是双重的: (i) 源原型可以被视为目标原型的近似,因为使用的特性是高级和包含语义信息(ii)CDCL 的对齐相同类别的样本,这种近似将更准确的训练的继续。更正式地说,首先计算每个类别中源样本的质心作为相应的类原型,并将第 m 类的初始簇中心 Otm 定义为:

    OtmOsm=EiDs,ysi=mzsi(5)

   即:源域同一类的嵌入平均作为初始质心。 

D. Source Data-free UDA

  Source data-free setting:提供了在源域上训练的模型,但由于数据安全的问题,源域数据是不能用的。形式上,目标是学习一个模型 ft:XtYt 并使用目标域无标签数据 Dt 和源域上的预训练模型  fs:XsYs 去预测 {yti}i=1Nt

  Note:预训练模型 fs 是上文提到的通过交叉熵优化得到的。

  许多标准的 UDA 设置,假设在源域和目标域上共享相同的特征编码器,然而由于特征编码器不能同时在源域和目标域上训练,所以 Source Data-free UDA 无法实现。本文的 CDCL 在缺少源域数据的情况下面临的挑战是 :(1) form positive and negative pairs and (2) to compute source class prototypes。

  本文通过用训练模型 𝑓𝑠 的分类器权值替换源样本来解决这个问题。直觉是,预先训练模型的分类器层的权向量可以看作是在源域上学习到的每个类的原型特征。特别地,我们首先消除了全连通层的 bias ,并对分类器进行了归一化处理。假设 wsmWs=[ws1,,wsM] 代表从源域学到的 M 分类器的权重向量,由于权值是规范化的,所以我们将它们用作类原型。当适应目标域时,冻结分类器层的参数,以保持源原型,并且只训练特征编码器。通过用源原型替换源样本,在源数据自由设置下的跨域对比损失可以写为:

    LSDFCDCt,i=m=1M1y^ti=mlogexp(ztiwsm/τ)j=1Mexp(ztiwSj/τ)(6)

  类似地,通过聚类来估计目标域内样本的标签。然而,使用样本计算类原型是不可行了。相反,采用类权值向量做为类原型:
    OtmOsm=wsm(7)

  source data-free UDA 的最终目标是:

    minimizei=1NtLSDFCDCt,i(8)

算法概述:

 

posted @   别关注我了,私信我吧  阅读(643)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 分享一个免费、快速、无限量使用的满血 DeepSeek R1 模型,支持深度思考和联网搜索!
· 基于 Docker 搭建 FRP 内网穿透开源项目(很简单哒)
· ollama系列1:轻松3步本地部署deepseek,普通电脑可用
· 按钮权限的设计及实现
· 【杂谈】分布式事务——高大上的无用知识?
Live2D
点击右上角即可分享
微信分享提示