[CVPR 19] AdaGraph: Unifying Predictive and Continuous Domain Adaptation through Graphs[code]


如图所示:

  • 训练阶段,有标注的源域图片,未标注的辅助域图片,以及相关元数据(生产年份,拍摄角度).
    源域(2014,侧前方)、辅助域([2009-2014],[侧后/前/侧/后/侧前]);
  • 测试阶段,给定未知目标域的元数据(2014, 后方),我们可以预测出目标模型的参数。
  • 该预测模型可以进一步改进,同时接收不断到来的目标域数据。

注意:参考4.1,这里的一个域可以是“生产年份是2014年、拍摄角度是侧前方的4种车的图片”。每个域都包含4类车的图片,不同在于元数据,也就是生产年份和拍摄角度。


自适应图:统一PDA和CDA

定义源域目标域辅助域
domain adaptation标注数据无标注数据-
predictive domain adaptation标注数据-无标注数据
continuous domain adaptation标注数据无标注数据
(流式)
-

我们可以把predictive domain adaptation, PDA和continuous domain adaptation, CDA分别理解成零样本和增量场景下的域适应问题。

请描述一下source, target和 auxiliary的关系?
答:s和t属于一个标签空间,但t不必属于s。a是没有标注的源域。
元数据在训练阶段以及测试阶段如何使用?
答:元数据是作为源域和目标域的先验知识来使用的。构建图时,用元数据计算边的权重。


摘要

论文定义了域适应的一种场景,预测域适应 PDA。该场景下,源域有标注数据和元数据,辅助域有未标注数据和元数据,目标域有元数据。系统需要从源域和辅助域泛化到目标域。。

问题来了?
什么是辅助域?在PDA中有多个源域,有标注数据的是源域,只有未标注数据的是辅助域。
样本的元数据是什么?答:能表示域特定信息,如图片时间戳、相机姿势等。在数据集Comprehensive Cars中,指的是拍摄角度和车的生产年份。

从图1来看。通过源域、辅助域的元数据可以构建一个图。这些图代表了一些先验信息,使得在测试阶段给定目标域的元数据,可以构建模型,并对目标域有很好的预测。

总体流程包含训练和测试两个阶段:

  • 训练阶段:源域有标注样本及其元数据,辅助域有未标注样本及其元数据。
  • 测试阶段:目标域有元数据,在“增量情况下”目标域有未标注数据,没有元数据。

1. Introduction 引言

域适应的本质问题是什么?
域适应要解决的是源域和目标域分布不匹配的问题。分布差异源自光照变化、视角变化等变化导致的在视觉数据(图像、视频)中的外观变化。视觉数据中的外观变化产生了域漂移问题,也就是说模型的判别准则是和视觉变化是有莫大关系。域适应的目标就是要克服这些视觉变化,提取域不变的特征,让模型能够更好的识别目标域的样本。其实,抽象一点来说,就是需要模型能够提取更高层的语义信息、减少对底层信息的依赖,适应不同视觉变化下的目标。也就是学习所谓的,域不变表示,domain invariant representation。

PDA的动机是什么?
域适应解决的是源域和目标域分布不匹配的问题,目的是为目标域训练一个精准的预测模型。在无监督域适应中,目标域只有无标注的数据。但是,在实际当中,并不是所有的目标域都能收集到无标注数据。所以,为了更实际的情况,我们旨在得到能够泛化到新的之前没有见过的目标域。

DA -> unsupervised DA -> predictive DA (PDA)
predictIve DA类似于ZSL。两者的情况都是目标域没有任何图像数据。

  1. ZSL中有GZSL,那么PDA是否对源域样本也进行测试?
  2. 辅助域的图是如何构建的?
    答:图是建立在源域、辅助域的元数据和样本上,这些图描述了域之间的依赖关系。其中,节点表示一个域;边表示域之间的关系。

2. Related Work 相关工作

1. 无监督深度域适应
无 监 督 深 度 域 适 应 { 对 齐 策 略 : 学 习 域 不 变 表 示 对齐网络 对 抗 策 略 : 学 习 域 不 知 表 示  GAN-based { 生 成 像 目 标 域 的 源 域 样 本 生 成 像 源 域 的 目 标 域 样 本 无监督深度域适应 \begin{cases} 对齐策略:学习域不变表示& \text{对齐网络}\\ 对抗策略:学习域不知表示& \text{ GAN-based$ \begin{cases} 生成像目标域的源域样本\\ 生成像源域的目标域样本 \end{cases}$} \end{cases} 对齐网络 GAN-based{

许多方法使用多个源域来解决DA问题,即multi-source DA。本文的方法,也使用了多源,但是只有一个源有标注数据。

2. 无目标域数据的域适应
对于没有目标域数据的域适应,一般有两种策略,一种是利用不断到来的目标域数据,一种是利用描述可能的未来的目标域的辅助信息。

第一种,也就是continuous or online DA,即在线DA
第二种,PDA

其他相近概念,zero-shot domain adaptation, domain generalization。不同的是,在zero-shot DA中,会用到域无关的双域配对数据;在domain generalization中会用到多个源域的数据,但是辅助域数据是有标注的,而在PDA中辅助集数据是没有标注的。


3. Method 方法

3.1 Problem Formulation 问题定义

目标域为 T \mathcal{T} T,元数据 m t m_t mt;已知域为 K \mathcal{K} K,元数据 m k m_k mk T \mathcal{T} T K \mathcal{K} K来自同一个标签集合 Y \mathcal{Y} Y,但是 T \mathcal{T} T不需要属于 K \mathcal{K} K。【在标准的DA中 T ∈ K \mathcal{T} \in \mathcal{K} TK】。 K \mathcal{K} K可以分成一个标注源域和多个未标注辅助域,即 S S S N N N

pipeline:

  1. 用给定的已知域元数据,关联 K \mathcal{K} K 中的每个域;
  2. 从可用数据中,构建 K \mathcal{K} K 中每个域特定的模型;
  3. 利用目标域和 K \mathcal{K} K 中的域之间的连接,从各自的元数据中推断得到的,来回归 T \mathcal{T} T 的模型。

3.2 AdaGraph: Graph-based Predictive DA

在这里插入图片描述

为了给每个域提取一个模型,本文利用了DA领域最新的技术,使用域特定的 D A B N DA_{BN} DABN[20, 4]。源域有了模型和图之后,预测没有样本的新域的模型只需两步:
(i) 在图中实例化一个节点
(ii) 利用图连接,从附近的点传播参数。

附近的点,选几个?
答:所有或者阈值筛选。

Connecting domains through a graph

元素定义:

域空间 D \mathcal{D} D
元数据空间 M \mathcal{M} M
模型参数空间 Θ \Theta Θ

在PDA场景下,已知域集合, K = { k 1 , ⋯   , k n } ⊂ D \mathcal{K} = \{k_1, \cdots, k_n\} \subset \mathcal{D} K={k1,,kn}D

关系定义:

  • 双射: ϕ : D ↦ M \color{blue} \phi: \mathcal{D} \mapsto \mathcal{M} ϕ:DM,关联域和元数据。

  • 边的权重 ω : E → R \color{blue} \mathcal{\omega: E} \rightarrow \mathbb{R} ω:ER
    ω ( v 1 , v 2 ) = e − d ( ϕ ( v 1 ) , ϕ ( v 2 ) ) , (1) \omega(v_1, v_2) = e^{-d(\phi(v_1), \phi(v_2))}, \tag{1} ω(v1,v2)=ed(ϕ(v1),ϕ(v2)),(1) 其中, d : M 2 → R \mathcal{d: M^2 \rightarrow} \mathbb{R} d:M2R是M上定义的一个距离函数。

  • 双射: ψ : K ↦ Θ \color{blue} \psi: \mathcal{K} \mapsto \mathcal{\Theta} ψ:KΘ,关联域和域特定参数。

由以上关系可以得到:

  1. 给定一个目标域的元数据 m m m,那么对应的域,不存在于 K \mathcal{K} K中,即 ϕ − 1 ( m ) ∉ K \phi^{-1}(m) \notin \mathcal{K} ϕ1(m)/K
  2. 给定一个源域的元数据 m ∈ M m \in \mathcal{M} mM,我们可以通过映射 ψ ∘ ϕ − 1 ( m ) \psi \circ \phi^{-1}(m) ψϕ1(m) 恢复出一组参数,前提是 ϕ − 1 ( m ) ∈ K \phi^{-1}(m) \in \mathcal{K} ϕ1(m)K

为了处理未知的元数据,我们引入了“虚拟节点”的概念。虚拟节点 v ~ ∈ V \tilde v \in \mathcal{V} v~V,相关的元数据是 m ~ \tilde{m} m~,即 m ~ = ϕ ( v ~ ) \tilde{m} = \phi(\tilde{v}) m~=ϕ(v~)

图的构建过程:
G = ( V , E ) \mathcal{G = (V, E)} G=(V,E), 其中, V ⊂ D \mathcal{V \subset D} VD, E ⊆ V × V \mathcal{E \subseteq V \times V} EV×V T ∈ D \mathcal{T \in D} TD, ϕ ( T ) = m T \phi(\mathcal{T}) = m_{\mathcal{T}} ϕ(T)=mT。因为目标域没有数据,所以没有目标域特定的模型参数。我们通过域关系图来估计目标域 T \mathcal{T} T 的参数。扩展新边,目标域和所有或者部分 v ∈ V v \in \mathcal{V} vV(例如,我们可以关联所有满足关系 ω ( T , v ) > τ \omega(\mathcal{T}, v) > \tau ω(T,v)>τ v v v)。扩展图 G ′ = ( V ∪ { T } , E ′ ) \mathcal{G' = (V \cup \{T\}, E')} G=(V{T},E)可以用来估计目标域 T \mathcal{T} T的参数,通过传播附近域的模型参数。形式化表示如下:

θ ^ T = ψ ( T ) = ∑ ( T , v ) ∈ E ′ ω ( T , v ) ψ ( v ) ∑ ( T , v ) ∈ E ′ ω ( T , v ) \hat\theta_{\mathcal{T}} = \psi(\mathcal{T}) = \frac{\sum_{(\mathcal {T}, v)\in \mathcal E'} \omega(\mathcal {T}, v)\psi(v)}{\sum_{(\mathcal {T}, v) \in \mathcal E'} \omega(\mathcal {T}, v)} θ^T=ψ(T)=(T,v)Eω(T,v)(T,v)Eω(T,v)ψ(v)

  1. 图的节点只包已知域, V = K \mathcal{V = K} V=K.
  2. 构建图的边,计算已知域之间的边的权重 ω \omega ω
  3. 给定目标域的元数据 m ~ \tilde m m~,通过映射得到目标域模型的参数。

如果目标域没有元数据,我们可以利用源源到来的数据流。首先定义图像 x ∈ X x \in \mathcal{X} xX的条件概率 p ( v ∣ x ) p(v|x) p(vx)来得到域 v ∈ V v \in \mathcal{V} vV

θ ^ x = ∑ v ∈ V p ( v ∣ x ) ⋅ ψ ( v ) (3) \hat \theta_x = \sum_{v \in \mathcal{V}} p(v|x) \cdot \psi(v) \tag{3} θ^x=vVp(vx)ψ(v)(3)

在实际中,条件概率 p ( v ∣ x ) p(v|x) p(vx)是从一个元数据分类器 f m f^m fm构建得到的,在可用数据上训练,提供了给定 x x x条件下 M \mathcal{M} M上的概率分布,这个概率分布可以转成 D \mathcal{D} D上的概率通过反向映射 ϕ − 1 \phi^{-1} ϕ1


Extracting node specific models.

standard BN
在这里插入图片描述

standard cross-entropy loss
在这里插入图片描述
GraphBN counterpart (GBN)
在这里插入图片描述
B v \mathcal{B}_v Bv is the set of elements in the batch belonging to domain v
在这里插入图片描述
for the scale and bias parameters
在这里插入图片描述
include the graph within the optimization procedure
在这里插入图片描述

在这里插入图片描述

ν ∈ { β , γ } ν ∈ \{β, γ\} ν{β,γ}


4. Experiments 实验

元数据到底是什么?
在DA中,不同域的元数据就是指光照、拍摄角度、生产年份这些。

数据集

论文有三个数据集:Comprehensive Cars (CompCars), the Century of Portraits and the CarEvolution.

Comprehensive Cars: 136,726张图片,产自2004到2015年。论文选定了一个子集,24,151张图片,4种车型(MPV,SUV,sedan,hatchback),生产年份从2009年到2014年,5种视角(前方、侧前方、侧面、后方、侧后方)。把视角和生产年份作为独立的域,一共有5x6=30种域。其中,1个域作为源域,1个域作为目标域,剩下的28个域作为辅助域。元数据是二维向量, 车辆生产年份、拍照角度。
[ y e a r v i e w p o i n t ] \left[ \begin{array}{ccc} year \\ view point \end{array} \right] [yearviewpoint]

Century of Portraits:
元数据是三维向量,年代、南北方、东西。
[ d e c a d e l a t i t u d e e a s t − w e s t p o s i t i o n ] \left[ \begin{array}{ccc} decade \\ latitude \\ east-west position \end{array} \right] decadelatitudeeastwestposition

CarEvolution
车辆数据集,1972-2013年,1008张图片,3个生产商,每家2款车型,
该数据集用来测试在线DA的策略。其中,有三个汽车品牌的生产商:Mercedes、BMW和Volkswagen。1980年以前的车作为源域,余下的作为目标域。


5. Conclusions 总结

  • PDA:第一个深度架构来解决PDA。利用元数据信息构建图,节点表示域,边表示两个域的相似度。然后,利用图实现DA,并设计了新的域对齐层。
  • CDA:利用数据流的策略,来解决continuous DA。
  • 未来工作:探索方法增量地更新图,自动推理域之间的关系(甚至不需要元数据)

6. 下载

论文
补充材料
github


7. 遗留问题

  1. [ μ \mu μ σ \sigma σ γ \gamma γ β \beta β] 的初始化?更新?是通过网络学习到的,还是使用图计算得到的?
    答: γ \gamma γ β \beta β初始化为1和0。

后记

总是不明白网络是怎么训练的,所以还在看不懂代码的路上继续前行。愿你有人拥抱!

CVPR 2019中发表了一篇题为“迁移学习:无监督领适应的对比适应网络(Contrastive Adaptation Network for Unsupervised Domain Adaptation)”的论文。这篇论文主要介绍了一种用于无监督领适应的对比适应网络。 迁移学习是指将从一个源领学到的知识应用到一个目标领的任务中。在无监督领适应中,源领和目标领的标签信息是不可用的,因此算法需要通过从源领到目标领的无监督样本对齐来实现知识迁移。 该论文提出的对比适应网络(Contrastive Adaptation Network,CAN)的目标是通过优化源领上的特征表示,使其能够适应目标领的特征分布。CAN的关键思想是通过对比损失来对源领和目标领的特征进行匹配。 具体地说,CAN首先通过一个共享的特征提取器来提取源领和目标领的特征表示。然后,通过对比损失函数来测量源领和目标领的特征之间的差异。对比损失函数的目标是使源领和目标领的特征在特定的度量空间中更加接近。最后,CAN通过最小化对比损失来优化特征提取器,以使源领的特征能够适应目标领。 该论文还对CAN进行了实验验证。实验结果表明,与其他无监督领适应方法相比,CAN在多个像分类任务上取得了更好的性能,证明了其有效性和优越性。 综上所述,这篇CVPR 2019论文介绍了一种用于无监督领适应的对比适应网络,通过对源领和目标领的特征进行对比学习,使得源领的特征能够适应目标领。该方法在实验中展现了较好的性能,有望在无监督领适应任务中发挥重要作用。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值