论文解读(CDCL)《Cross-domain Contrastive Learning for Unsupervised Domain Adaptation》
论文信息
论文标题: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
2 方法
NT-Xent loss
B. Cross-domain Contrastive Learning
目标域样本\boldsymbol{x}_{t}^{i} 的 \ell_{2}\text{-normalized} 特征 \boldsymbol{z}_{t}^{i} 作为 Anchor ,它的正样本为同一类的源域样本 \boldsymbol{z}_{s}^{p},跨域对比损失如下:
\mathcal{L}_{C D C}^{t, i}=-\frac{1}{\left|P_{s}\left(\hat{y}_{t}^{i}\right)\right|} \sum\limits _{p \in P_{s}\left(\hat{y}_{t}^{i}\right)} \log \frac{\exp \left(\boldsymbol{z}_{t}^{i^{\top}} \boldsymbol{z}_{s}^{p} / \tau\right)}{\sum\limits_{j \in I_{s}} \exp \left(\boldsymbol{z}_{t}^{i^{\top}} \boldsymbol{z}_{s}^{j} / \tau\right)} \quad\quad\quad(2)
其中,I_{S} 代表一个 mini-batch 中的源域样本集合,P_{s}\left(\hat{y}_{t}^{i}\right)=\left\{k \mid y_{s}^{k}=\hat{y}_{t}^{i}\right\} 代表源域中和目标域样本 x_{t}^{i} 有相同标签的样本;
\mathcal{L}_{C D C}=\sum\limits _{i=1}^{N_{s}} \mathcal{L}_{C D C}^{s, i}+\sum\limits_{i=1}^{N_{t}} \mathcal{L}_{C D C}^{t, i} \quad\quad\quad(3)
\underset{\boldsymbol{\theta}}{\operatorname{minimize}} \quad \mathcal{L}_{C E}\left(\boldsymbol{\theta} ; D_{s}\right)+\lambda \mathcal{L}_{C D C}\left(\boldsymbol{\theta} ; D_{s}, D_{t}\right) \quad\quad\quad(4)
C. Pseudo Labels for the Target Domain
在训练过程中,没有来自目标域的真实标签,因此利用 k-means 聚类产生伪标签。由于 K-means 对初始化很敏感,因此使用随机生成的集群不能保证与预定义类别相关的相关语义。为缓解这个问题,将簇的数量设置为类 M 的数量,并使用来自源域的类原型作为初始簇。
O_{t}^{m} \leftarrow O_{s}^{m}=\mathbb{E}_{i \sim D_{s}\;, \; y_{s}^{i}=m} z_{s}^{i} \quad\quad\quad(5)
D. Source Data-free UDA
Note:预训练模型 f_{s} 是上文提到的通过交叉熵优化得到的。
许多标准的 UDA 设置,假设在源域和目标域上共享相同的特征编码器,然而由于特征编码器不能同时在源域和目标域上训练,所以 Source Data-free UDA 无法实现。本文的 CDCL 在缺少源域数据的情况下面临的挑战是 :(1) form positive and negative pairs and (2) to compute source class prototypes。
本文通过用训练模型 𝑓_𝑠 的分类器权值替换源样本来解决这个问题。直觉是,预先训练模型的分类器层的权向量可以看作是在源域上学习到的每个类的原型特征。特别地,我们首先消除了全连通层的 bias ,并对分类器进行了归一化处理。假设 \boldsymbol{w}_{s}^{m}\in \boldsymbol{W}_{s}=\left[\boldsymbol{w}_{s}^{1}, \ldots, \boldsymbol{w}_{s}^{M}\right] 代表从源域学到的 M 分类器的权重向量,由于权值是规范化的,所以我们将它们用作类原型。当适应目标域时,冻结分类器层的参数,以保持源原型,并且只训练特征编码器。通过用源原型替换源样本,在源数据自由设置下的跨域对比损失可以写为:
\mathcal{L}_{S D F-C D C}^{t, i}=-\sum\limits_{m=1}^{M} \mathbf{1}_{\hat{y}_{t}^{i}=m} \log \frac{\exp \left(\boldsymbol{z}_{t}^{i^{\top}} \boldsymbol{w}_{s}^{m} / \tau\right)}{\sum\limits _{j=1}^{M} \exp \left(\boldsymbol{z}_{t}^{i^{\top}} \boldsymbol{w}_{S}^{j} / \tau\right)} \quad\quad\quad(6)
source data-free UDA 的最终目标是:
\operatorname{minimize} \sum\limits _{i=1}^{N_{t}} \mathcal{L}_{S D F-C D C}^{t, i} \quad\quad\quad(8)

因上求缘,果上努力~~~~ 作者:别关注我了,私信我吧,转载请注明原文链接:https://www.cnblogs.com/BlairGrowing/p/16934291.html
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】凌霞软件回馈社区,博客园 & 1Panel & Halo 联合会员上线
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】博客园社区专享云产品让利特惠,阿里云新客6.5折上折
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步