论文笔记:Category Contrast for Unsupervised Domain Adaptation in Visual Tasks【无监督域自适应】

Category Contrast for Unsupervised Domain Adaptation in Visual Tasks

视觉任务中无监督域自适应的类别对比

摘要

无监督表征学习的实例对比(对比学习) → \rightarrow 无监督域自适应的类别对比

1. 引言

  1. 无监督域自适应
    • DNNs 视觉任务良好,但跨域不匹配。
    • 现有方法:
      • adversarial loss 加强目标表示,使其类似源域
      • image translation loss 将源图像转换为类似目标域的风格和外观
      • self-training loss 用自信的伪标记目标样本迭代地重新训练网络
  2. 无监督对比学习
    • 从无标签数据中学习判别嵌入
    • 实例对比方法可以被认为是字典查找任务,它通过将编码查询 q q q 与编码键 k k k 的字典匹配来训练视觉编码器:查询 q q q 应该与正例 k p o s k_{pos} kpos 相似,而与负例 k n e g k_{neg} kneg 不同。
    • 正例一般为查询样本的随机增强,负例为其他所有样本。
  3. 动机
    • category-aware, domian-mixed 且 category-balanced 的UDA字典能够帮助学习有判别性且无偏的表示
  4. 工作
    • Categoty Contrast(CaCo):利用UDA相应的对比损失构建 category-aware 且domain-mixed 的字典
      d9f11aa94f41934782c237ec601b61d2.png
    • L C a t N C E \mathcal{L}_{CatNCE} LCatNCE:同一类别的样本被拉近,而不同类别的样本被推远。
  5. 分析
    1. 通过 category-aware 字典,它同时最小化类内差异和最大化类间距离
    2. 通过 domain-mixed,实现域间和域内同步对齐
    3. 通过 category-balanced 极大地缓解了数据平衡问题,允许在学习过程中均匀地计算所有类别的对比损失。
  6. 总结
    1. 探索了UDA的实例对比,旨在学习无标记目标域样本的判别表示
    2. 提出了类别对比的概念,建立了一个具有 category-aware 和 domain-mixed 的字典。它鼓励学习完全符合UDA目标的类别区分但领域不变的表示法。
    3. 实验证明,CaCo具有优越的UDA性能。此外,CaCo补充了先前的UDA方法,并推广到涉及未标记数据的其他学习设置。

2. Related Works

两个主要的相关工作:

2.1 无监督域自适应(Unsupervised domain adaptation,UDA)
  • 目的:利用无监督的数据提高目标域上的性能
  • 已有方法
    1. adversarial loss:驱动模型提取类似源的目标域特征表示
    2. image translation loss:生成具有目标域类似风格的源域数据
    3. self-training loss:用伪标记的目标样本迭代重新训练
2.2 实例对比学习(Instance Contrastive Learning)
  • 目的:利用无监督的数据学习特征表示,其中正样本被拉到锚点附近,负样本被推离
  • 思路:实例对比方法可以被认为是字典查找任务,它通过将编码查询 q q q 与编码键 k k k 的字典匹配来训练视觉编码器:查询 q q q 应该与正例 k p o s k_{pos} kpos 相似,而与负例 k n e g k_{neg} kneg 不同。
  • 典型字典构建方法
    • memory bank:存储训练期间所有样本的 k k k
    • momentum-encoded queue:动量编码队列,在线收集编码作为 k k k,先进先出
    • end-to-end dictionary:当前 batch 的样本作为 k k k
      7a08161490b8660cb311f02a573631d5.png
  • 应用在UDA中的局限性
    1. 语义特征低级。实例对比学习类别先验少,偏向捕获丰富的低级特征,这对于依赖有区分性的高级语义特征的视觉任务(分类、检测和分割)来说是次优的。最近的研究证实了这一问题。
    2. 类别碰撞。大多数现有的实例对比学习方法采用了一个超大型/类别未知字典,可能会引入类别碰撞,其中负对共享相同的语义类别,但在特征空间中被不希望地推开。
  • 工作独特性:提出的CaCo引入了一个范畴域混合字典,该字典引入了范畴先验,有效地解决了这两个问题。

3. Method

3.1. 形式化任务
  • source domain: { X s , Y s } \{X_s, Y_s\} {Xs,Ys}
  • target domain: X t X_t Xt
  • baseline model G G G 在源域上训练得到

L s u p = l ( G ( X s ) , Y s ) (1) \mathcal{L}_{s u p}=l\left(G\left(X_s\right), Y_s\right) \tag{1} Lsup=l(G(Xs),Ys)(1)

3.2 实例对比学习预备知识
  • 思想:为字典查找任务训练编码器
  • 损失
    • query: q q q,keys: { k 0 , k 1 , … , k N } \{k_0, k_1, \dots, k_N\} {k0,k1,,kN}
    • InfoNCE损失:最小化它将把q拉到它的正键附近,并将它推离所有其他键(对q来说是负例):

L I n f o N C E = ∑ x q ∈ X − log ⁡ ∑ i = 0 N 1 ( k i ∈ q ) exp ⁡ ( q ⋅ k i / τ ) ∑ i = 0 N exp ⁡ ( q ⋅ k i / τ ) (2) \mathcal{L}_{\mathrm{InfoNCE}}=\sum_{x_q \in X}-\log \frac{\sum_{i=0}^N \mathbb{1}\left(k_i \in q\right) \exp \left(q \cdot k_i / \tau\right)}{\sum_{i=0}^N \exp \left(q \cdot k_i / \tau\right)} \tag{2} LInfoNCE=xqXlogi=0Nexp(qki/τ)i=0N1(kiq)exp(qki/τ)(2)

3.3 UDA的类别对比

从实例对比学习的角度来研究UDA

  • 概述
    • 模型:
      1. G ( ⋅ ) = h ( f q ( ⋅ ) ) G(\cdot) = h(f_q(\cdot)) G()=h(fq())
      2. query encoder f q f_q fq
      3. key momentum encoder f k f_k fk,其中: θ f k = b θ f k + ( 1 − b ) θ f q \theta_{f_k} = b\theta_{f_k} + (1-b)\theta_{f_q} θfk=bθfk+(1b)θfq
    • 训练
      • 源域数据监督训练:由公式 ( 1 ) (1) (1)优化
      • 目标域无监督训练:
        1. 均匀地从源域和目标域采样 x k ∈ X s , X t x_k \in X_s, X_t xkXs,Xt,利用 f k f_k fk 得到类别感知字典 K \mathsf{K} K
        2. 从目标域中采样 x q ∈ X t x_q \in X_t xqXt,利用 f q f_q fq 得到 q k q_k qk 再利用 K \mathsf{K} K 进行类别对比学习
  • 分类域混合字典
    • category-aware:同类拉紧、异类推开
    • domain-mixed:鼓励学习跨域的不变表示
    • 定义:
      1. 字典 K = { k 1 , k 2 , … , k C } \mathsf{K} = \{k^1, k^2, \ldots, k^C\} K={k1,k2,,kC},其中 k c k^c kc 表示其属于第 c c c
      2. k k k 的预测类别标签 y ^ k \hat{y}_k y^k arg ⁡ max ⁡ y ^ k ∑ c = 1 C y ^ k ( c ) log ⁡ p ( c ; k , θ h ) ,  s.t.  y ^ k ∈ Δ C , ∀ k \underset{\hat{y}_k}{\arg \max } \sum_{c=1}^C \hat{y}_k^{(c)} \log p\left(c ; k, \theta_h\right), \text { s.t. } \hat{y}_k \in \Delta^C, \forall k y^kargmaxc=1Cy^k(c)logp(c;k,θh), s.t. y^kΔC,k,其中 p p p 表示分类器 h h h k k k 属于第 c c c 类的概率, Δ C \Delta^C ΔC为概率单纯形,保证属于C类的概率和为1.
      3. y ^ = \hat{y}= y^= ( y ^ ( 1 ) , y ^ ( 2 ) , … , y ^ ( C ) ) \left(\hat{y}^{(1)}, \hat{y}^{(2)}, \ldots, \hat{y}^{(C)}\right) (y^(1),y^(2),,y^(C)) 为预测标签.
      4. 实践中,字典扩充为 M M M i . e . , { k m c } 1 ≤ c ≤ C , 1 ≤ m ≤ M i.e., \{k^c_m\}_{1\leq c \leq C, 1\leq m \leq M} i.e.,{kmc}1cC,1mM,即每个类别的队列有 { k 1 c , k 2 c , … , k M c } \{k^c_1, k^c_2, \dots, k^c_M\} {k1c,k2c,,kMc}
      5. 队列遵循先进先出
3.4 类别对比损失

定义

  • 已有 K = { k m c } 1 ≤ c ≤ C , 1 ≤ m ≤ M \mathsf{K} = \{k^c_m\}_{1\leq c \leq C, 1\leq m \leq M} K={kmc}1cC,1mM,目标域数据 X t X_t Xt
  • L C a t N C E = ∑ x q ∈ X t − ( 1 M ∑ m = 1 M log ⁡ ∑ c = 1 C exp ⁡ ( q ⋅ k m c / τ m c ) ( y ^ q × y ^ k m c ) ∑ c = 1 C exp ⁡ ( q ⋅ k m c / τ m c ) ) \mathcal{L}_{\mathrm{CatNCE}} = \sum_{x_q \in X_t}-\left(\frac{1}{M} \sum_{m=1}^M \log \frac{\sum_{c=1}^C \exp \left(q \cdot k_m^c / \tau_m^c\right)\left(\hat{y}_q \times \hat{y}_{k_m^c}\right)}{\sum_{c=1}^C \exp \left(q \cdot k_m^c / \tau_m^c\right)}\right) LCatNCE=xqXt(M1m=1Mlogc=1Cexp(qkmc/τmc)c=1Cexp(qkmc/τmc)(y^q×y^kmc)),其中 q = f q ( x q ) q = f_q(x_q) q=fq(xq) y ^ q × y ^ m c = 1 if refer to the same category else 0 \hat{y}_q \times \hat{y}_m^c = \text{1 if refer to the same category else 0} y^q×y^mc=1 if refer to the same category else 0

细节

  • L C a t N C E \mathcal{L}_{CatNCE} LCatNCE L I n f o N C E \mathcal{L}_{InfoNCE} LInfoNCE 相似,后者可以解释为前者的特例,即每个实例及其增强为一个类别。
  • CaCo中温度 τ \tau τ 由标签的不确定性 H ( ⋅ ) H(\cdot) H() 缩放。
  • f q f_q fq f k f_k fk 可以是相同的、部分共享或不同。

理论:CaCo可以被建模为期望最大化(EM)的一个例子

  • 推论1:类别对比学习可以被建模为通过期望最大化(EM)优化的最大似然问题。
  • 推论2:范畴对比学习在一定条件下是收敛的。

4. 实验

4.1 数据集
  • 语义分割:
数据集类别数样本数
GTA51924,966
Cityscapes162,975+500
SYNTHIA169,400

任务:GTA5 → \rightarrow Cityscapes,SYNTHIA → \rightarrow Cityscapes

  • 目标检测:
    任务:Cityscapes → \rightarrow Foggy Cityscapes,Cityscapes → \rightarrow BDD-daytime

  • 图像分类:

数据集类别数样本数
VisDA1712源域152,409
目标域55,400
Cityscapes16Amazon2817
Webcam795
DSLR498
4.2 实验细节
任务架构骨干网络
语义分割DeepLabV2ResNet-101
目标检测Faster R-CNNVGG16
图像分类ResNet101(VisDA17)
ResNet50(Office-31)
4.3 对比实验
  • 对比 CaCo-S(只用源域 keys)、CaCo-S(只用目标域 keys)和 CaCo(domain-mixed)
  • 对比其他先进方法
  • 其他先进方法 + CaCo
  • 字典大小的影响
  • 三种变体:
    1. 固定温度
    2. 使用两个单独的字典而非混合
    3. 按内存库或当前的小批量更新字典
      895711b16f32f29b6649a077a9198f76.png
      7512977c10b45833d5c4273c78fa4907.png
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值