DA-3-Contrastive Adaptation Network for Unsupervised Domain Adaptation

原文链接(2019 CVPR)

思想:类间差异最大化,类内差异最小化

主要贡献:

  • 提出新的差异度量方法 Contrastive Domain Discrepancy来进行无监督领域自适应的类感知对齐
  • 提出Contrastive Adaptation Network进行CDD的端到端训练
  • 在Office-31,VisDA-2017数据集取得了优异效果

方法

最大均值差异(MMD, Maximun Mean Discreoancy)

最大均值差异可以参考以下两篇文章:
参考1
参考2

最大均值差异(maximum mean discrepancy, MMD)提出时候是用来双样本检测,也就直观的判断两个数据的分布。可以表达为下式:

f ( X ( S ) , X ( T ) ) = ∥ 1 n ∑ i = 1 n ϕ ( x i s ) − 1 m ∑ i = 1 m ϕ ( x i t ) ∥ f\left(X_{(S)}, X_{(T)}\right)=\left\|\frac{1}{n} \sum_{i=1}^{n} \phi\left(x_{i}^{s}\right)-\frac{1}{m} \sum_{i=1}^{m} \phi\left(x_{i}^{t}\right)\right\| f(X(S),X(T))=n1i=1nϕ(xis)m1i=1mϕ(xit)

亦可记作:
D H ( P , Q ) ≜ sup ⁡ f ∼ H ( E X s [ f ( X s ) ] − E X t [ f ( X t ) ] ) H (1) \mathcal{D}_{\mathcal{H}}(P, Q) \triangleq \sup _{f \sim \mathcal{H}}\left(\mathbb{E}_{\boldsymbol{X}^{s}}\left[f\left(\boldsymbol{X}^{s}\right)\right]-\mathbb{E}_{\boldsymbol{X}^{t}}\left[f\left(\boldsymbol{X}^{t}\right)\right]\right)_{\mathcal{H}}\tag{1} DH(P,Q)fHsup(EXs[f(Xs)]EXt[f(Xt)])H(1)

其中 H \mathcal{H} H为一类函数。

实际上,对于一层 l l l,MMD的平方值可以用经验核平均嵌入估计:

D ^ l m m d = 1 n s 2 ∑ i = 1 n s ∑ j = 1 n s k l ( ϕ l ( x i s ) , ϕ l ( x j s ) ) + 1 n t 2 ∑ i = 1 n t ∑ j = 1 n t k l ( ϕ l ( x i t ) , ϕ l ( x j t ) ) − 2 n s n t ∑ i = 1 n s ∑ j = 1 n t k l ( ϕ l ( x i s ) , ϕ l ( x j t ) ) (2) \begin{aligned}\hat{\mathcal{D}}_{l}^{m m d} &=\frac{1}{n_{s}^{2}} \sum_{i=1}^{n_{s}} \sum_{j=1}^{n_{s}} k_{l}\left(\phi_{l}\left(\boldsymbol{x}_{i}^{s}\right), \phi_{l}\left(\boldsymbol{x}_{j}^{s}\right)\right) \\&+\frac{1}{n_{t}^{2}} \sum_{i=1}^{n_{t}} \sum_{j=1}^{n_{t}} k_{l}\left(\phi_{l}\left(\boldsymbol{x}_{i}^{t}\right), \phi_{l}\left(\boldsymbol{x}_{j}^{t}\right)\right) \\&-\frac{2}{n_{s} n_{t}} \sum_{i=1}^{n_{s}} \sum_{j=1}^{n_{t}} k_{l}\left(\phi_{l}\left(\boldsymbol{x}_{i}^{s}\right), \phi_{l}\left(\boldsymbol{x}_{j}^{t}\right)\right)\end{aligned} \tag{2} D^lmmd=ns21i=1nsj=1nskl(ϕl(xis),ϕl(xjs))+nt21i=1ntj=1ntkl(ϕl(xit),ϕl(xjt))nsnt2i=1nsj=1ntkl(ϕl(xis),ϕl(xjt))(2)

k l k_l kl 表示从深度神经网络的 l l l层中选择出来的核kernel

对比域差异(Contrastive Domain Discrepancy)

目的在于利用类信息,并度量跨域的类内和类间差异。

最小化类内域差异,使得类内样本点的特征表示更紧凑。

最大化类间与差异,以促使不同类的特征表示远离决策边界。

将上述两个联合就能提升自适应性能。

提出的对比域差异(CDD)是建立在条件数据跨域分布差异的基础上的。在对数据分布类型没有约束时(如边缘或条件),MMD能很好的度量 P ( ϕ ( X s ) ∣ Y s ) P(\phi(X^s)|Y^s) P(ϕ(Xs)Ys) Q ( ϕ ( X t ) ∣ Y t ) Q(\phi(X^t)|Y^t) Q(ϕ(Xt)Yt)之间的差异,即写作 D H ( P , Q ) ≜ s u p f ∼ H ( E X s [ f ( ϕ ( X s ) ∣ Y s ) ] − E X t [ f ( ϕ ( X t ) ∣ Y t ) ] ) H D_\mathcal{H}(P,Q)\triangleq sup_{f\sim\mathcal{H}}(\mathbb{E}_{\boldsymbol{X}^{s}}\left[f\left(\phi\left(\boldsymbol{X}^{s}\right) \mid Y^{s}\right)\right]-\mathbb{E}_{\boldsymbol{X}^{t}}\left[f\left(\phi\left(\boldsymbol{X}^{t}\right) \mid Y^{t}\right)\right])_{\mathcal{H}} DH(P,Q)supfH(EXs[f(ϕ(Xs)Ys)]EXt[f(ϕ(Xt)Yt)])H

对于两个类 c 1 , c 2 c_1,c_2 c1,c2(此两类可为同一类也可为不同类),令 μ c c ′ ( y , y ′ ) = { 1  if  y = c , y ′ = c ′ 0  otherwise  \mu_{c c^{\prime}}\left(y, y^{\prime}\right)=\left\{\begin{array}{ll}1 & \text { if } y=c, y^{\prime}=c^{\prime} \\0 & \text { otherwise }\end{array}\right. μcc(y,y)={10 if y=c,y=c otherwise  D H ( P , Q ) D_\mathcal{H}(P,Q) DH(P,Q)平方的核平均嵌入估计如下:

D ^ c 1 c 2 ( y ^ 1 t , y ^ 2 t , ⋯   , y ^ n t t , ϕ ) = e 1 + e 2 − 2 e 3 (3) \hat{\mathcal{D}}^{c_{1} c_{2}}\left(\hat{y}_{1}^{t}, \hat{y}_{2}^{t}, \cdots, \hat{y}_{n_{t}}^{t}, \phi\right)=e_{1}+e_{2}-2 e_{3}\tag{3} D^c1c2(y^1t,y^2t,,y^ntt,ϕ)=e1+e22e3(3)

其中

e 1 = ∑ i = 1 n s ∑ j = 1 n s μ c 1 c 1 ( y i s , y j s ) k ( ϕ ( x i s ) , ϕ ( x j s ) ) ∑ i = 1 n s ∑ j = 1 n s μ c 1 c 1 ( y i s , y j s ) e 2 = ∑ i = 1 n t ∑ j = 1 n t μ c 2 c 2 ( y ^ i t , y ^ j t ) k ( ϕ ( x i t ) , ϕ ( x j t ) ) ∑ i = 1 n t ∑ j = 1 n t μ c 2 c 2 ( y ^ i t , y ^ j t ) e 3 = ∑ i = 1 n s ∑ j = 1 n t μ c 1 c 2 ( y i s , y ^ j t ) k ( ϕ ( x i s ) , ϕ ( x j t ) ) ∑ i = 1 n s ∑ j = 1 n t μ c 1 c 2 ( y i s , y ^ j t ) (4) \begin{aligned}e_{1} &=\sum_{i=1}^{n_{s}} \sum_{j=1}^{n_{s}} \frac{\mu_{c_{1} c_{1}}\left(y_{i}^{s}, y_{j}^{s}\right) k\left(\phi\left(\boldsymbol{x}_{i}^{s}\right), \phi\left(\boldsymbol{x}_{j}^{s}\right)\right)}{\sum_{i=1}^{n_{s}} \sum_{j=1}^{n_{s}} \mu_{c_{1} c_{1}}\left(y_{i}^{s}, y_{j}^{s}\right)} \\e_{2} &=\sum_{i=1}^{n_{t}} \sum_{j=1}^{n_{t}} \frac{\mu_{c_{2} c_{2}}\left(\hat{y}_{i}^{t}, \hat{y}_{j}^{t}\right) k\left(\phi\left(\boldsymbol{x}_{i}^{t}\right), \phi\left(\boldsymbol{x}_{j}^{t}\right)\right)}{\sum_{i=1}^{n_{t}} \sum_{j=1}^{n_{t}} \mu_{c_{2} c_{2}}\left(\hat{y}_{i}^{t}, \hat{y}_{j}^{t}\right)} \\e_{3} &=\sum_{i=1}^{n_{s}} \sum_{j=1}^{n_{t}} \frac{\mu_{c_{1} c_{2}}\left(y_{i}^{s}, \hat{y}_{j}^{t}\right) k\left(\phi\left(\boldsymbol{x}_{i}^{s}\right), \phi\left(\boldsymbol{x}_{j}^{t}\right)\right)}{\sum_{i=1}^{n_{s}} \sum_{j=1}^{n_{t}} \mu_{c_{1} c_{2}}\left(y_{i}^{s}, \hat{y}_{j}^{t}\right)}\end{aligned}\tag{4} e1e2e3=i=1nsj=1nsi=1nsj=1nsμc1c1(yis,yjs)μc1c1(yis,yjs)k(ϕ(xis),ϕ(xjs))=i=1ntj=1nti=1ntj=1ntμc2c2(y^it,y^jt)μc2c2(y^it,y^jt)k(ϕ(xit),ϕ(xjt))=i=1nsj=1nti=1nsj=1ntμc1c2(yis,y^jt)μc1c2(yis,y^jt)k(ϕ(xis),ϕ(xjt))(4)

(个人理解,就是在y的条件下,求其MMD)

y ^ 1 t , y ^ 2 t , ⋯   , y ^ n t t \hat{y}_{1}^{t}, \hat{y}_{2}^{t}, \cdots, \hat{y}_{n_{t}}^{t} y^1t,y^2t,,y^ntt 写作 y ^ 1 : n t t \hat{y}_{1:n_{t}}^{t} y^1:ntt,则基于上述推导,得到CDD:

D ^ c d d = 1 M ∑ c = 1 M D ^ c c ( y ^ 1 : n t t , ϕ ) ⏟ intra  − 1 M ( M − 1 ) ∑ c = 1 M ∑ c ′ = 1 c ′ ≠ c M D ^ c c ′ ( y ^ 1 : n t t , ϕ ) ⏟ inter  , (5) \begin{aligned}\hat{\mathcal{D}}^{c d d} &=\underbrace{\frac{1}{M} \sum_{c=1}^{M} \hat{\mathcal{D}}^{c c}\left(\hat{y}_{1: n_{t}}^{t}, \phi\right)}_{\text {intra }} \\&-\underbrace{\frac{1}{M(M-1)} \sum_{c=1}^{M} \sum_{c^{\prime}=1 \atop c^{\prime} \neq c}^{M} \hat{\mathcal{D}}^{c c^{\prime}}\left(\hat{y}_{1: n_{t}}^{t}, \phi\right)}_{\text {inter }},\end{aligned} \tag{5} D^cdd=intra  M1c=1MD^cc(y^1:ntt,ϕ)inter  M(M1)1c=1Mc=cc=1MD^cc(y^1:ntt,ϕ),(5)

(即可分为属于同一类和不同类,同一类让其分布差异尽可能小,不同类则分布差异尽可能大)

对比自适应网络(Contrastive Adaptation Network)

提取一般特征的卷积层具有更强的可转移性,而表现抽象和特定领域特征的全连接层则需要适应。

本文从ImageNet预训练网络(如ResNet)出发,将最后一个FC层替换为任务特定的FC层(即全连接层)。论文遵循一般方式,最小化最后的FC层的域差异,并通过反向传播对卷积层进行微调。于是,尚文提出的CDD可以很容易地作为FC层激活的适应模块纳入目标,作者命名为Contrastive Adaptation Network (CAN)。

总体目标。在deep CNN中,最小化多个FC层上的CDD,即最小化

D ^ L c d d = ∑ l = 1 L D ^ l c d d (6) \hat{\mathcal{D}}_{\mathcal{L}}^{c d d}=\sum_{l=1}^{L} \hat{\mathcal{D}}_{l}^{c d d} \tag{6} D^Lcdd=l=1LD^lcdd(6)

此外,通过有标签源域数据的最小化交叉熵来训练网络
ℓ c e = − 1 n ′ s ∑ i ′ = 1 n ′ s log ⁡ P θ ( y i ′ s ∣ x i ′ s ) (7) \ell^{c e}=-\frac{1}{n^{\prime}{ }_{s}} \sum_{i^{\prime}=1}^{n^{\prime}{ }_{s}} \log P_{\theta}\left(y_{i^{\prime}}^{s} \mid \boldsymbol{x}_{i^{\prime}}^{s}\right) \tag{7} ce=ns1i=1nslogPθ(yisxis)(7)

其中, y s ∈ { 0 , − 1 , . . . , M − 1 } y^s \in\{0,-1,...,M-1\} ys{0,1,...,M1} x s x^s xs 的真实标签。 P θ ( y ∣ x ) P_{\theta}\left(y \mid \boldsymbol{x}\right) Pθ(yx)表示在给定输入 x x x的情况下,以 θ θ θ 参数化网络时,标记为 y y y 的预测概率。

因此,总的目标函数如下:
min ⁡ θ ℓ = ℓ c e + β D ^ L c d d (8) \min _{\theta} \ell=\ell^{c e}+\beta \hat{\mathcal{D}}_{\mathcal{L}}^{c d d}\tag{8} θmin=ce+βD^Lcdd(8)

β \beta β是差异惩罚项的权重。

CAN优化

此部分讨论在CAN中优化CDD。框架图如下
在这里插入图片描述
上图为CAN的训练过程。为了最小化CDD,论文在通过聚类更新目标标签假设和通过反向传播自适应特征表示之间进行交替优化。在聚类中,根据目标样本当前的特征表示,对其采用球面Kmeans聚类。集群的数量等于底层类的数量,每个类集群的初始中心设置为同一类内源数据的中心。然后丢弃模糊数据(即远离附属聚类中心的数据)和模糊类(即在附属聚类中心周围包含少量目标样本的数据)。在特征自适应方面,将聚类阶段提供的标记目标样本与标记源样本一起通过网络实现其多层特征表示。采用域特有的FC层特征估计CDD (Eq.(5))。此外,对独立采样的源数据应用交叉熵损失。反向传播以最小化CDD和交叉熵损失(Eq.(8))适应特征并提供类感知对齐。

Alternative optimization (AO)

如式(5)所示,需要联合优化目标域标签假设 y 1 : n t t ^ \hat{y_{1:n_t}^t} y1:ntt^ 和特征表示 ϕ 1 : L \phi_{1:L} ϕ1:L。论文进行交替优化,即在每一个循环中,对于当前的特征表示,固定 θ \theta θ , 通过聚类更新目标域标签 y ^ t \hat{y}^t y^t。然后,基于更新后的目标域标签 y ^ t \hat{y}^t y^t ,最小化CDD,通过后向传播优化 θ \theta θ

作者使用第一任务特定层的输入激活 ϕ 1 ( ⋅ ) \phi_1(·) ϕ1()来代表一个样本。例如,在ResNet中,每个样本都可以表示为全局平均池化层的输出,这也是下一个任务特定层的输入。

然后采用球面K-means对目标样本进行聚类,并贴上相应的标签,聚类数域潜在的类别数均为M。对于每个类,目标域的聚类中心 O t c O^{tc} Otc 初始化为源域的聚类中心 O s c , i . e .   O t c ← O s c , w h e r e   O s c = ∑ i = 1 N s 1 y i s = c = ϕ 1 ( x i s ) ∣ ∣ ϕ 1 ( x i s ) ∣ ∣ , 1 y i s = c { 1  if  y i s = c 0  otherwise  O^{sc},i.e.\ O^{tc}\leftarrow O^{sc},where\ O^{sc} = \sum^{N_s}_{i=1}\mathbf{1}_{y_{i}^{s}=c}=\frac{\phi_1 (x_i^s)}{||\phi_1 (x_i^s)||},\mathbf{1}_{y_{i}^{s}=c}\left\{\begin{array}{ll}1 & \text { if } y_{i}^{s}=c \\0 & \text { otherwise }\end{array}\right. Osc,i.e. OtcOsc,where Osc=i=1Ns1yis=c=ϕ1(xis)ϕ1(xis),1yis=c{10 if yis=c otherwise 
作者应用了余弦不相似性度量征空间中点a和点b之间的距离, i . e .   d i s t ( a , b ) = 1 2 ( 1 − < a , b > ∣ ∣ a ∣ ∣   ∣ ∣ b ∣ ∣ ) i.e. \ dist(a,b)=\frac{1}{2}(1-\frac{<a,b>}{||a||\ ||b||}) i.e. dist(a,b)=21(1a b<a,b>)

于是聚类过程迭代如下:

  1. 给目标域打伪标签: y ^ i t ← arg min ⁡ c d i s t ( ϕ i ( x i t ) , O t c ) \hat{y}_i^t\leftarrow\argmin_c dist(\phi_i(x_i^t),O^{tc}) y^itcargmindist(ϕi(xit),Otc)
  2. 更新聚类中心: O t c ← ∑ i = 1 N t 1 y i t = c = ϕ 1 ( x i t ) ∣ ∣ ϕ 1 ( x i t ) ∣ ∣ O^{tc}\leftarrow \sum_{i=1}^{N_t}\mathbf{1}_{y_{i}^{t}=c}=\frac{\phi_1 (x_i^t)}{||\phi_1 (x_i^t)||} Otci=1Nt1yit=c=ϕ1(xit)ϕ1(xit)
  3. 直到收敛或达到设置的最大聚类步数

聚类后,每个目标域都有一个对应的伪标签。但对于一些距离相应的聚类中心距离较远的伪标签,选择抛弃。作者选择一个子集
T ~ = { ( x t , y ^ t ) ∣ dist ⁡ ( ϕ 1 ( x t ) , O t ( y ^ t ) ) < D 0 , x t ∈ T } \tilde{\mathcal{T}}=\left\{\left(\boldsymbol{x}^{t}, \hat{y}^{t}\right) \mid \operatorname{dist}\left(\phi_{1}\left(\boldsymbol{x}^{t}\right), O^{t\left(\hat{y}^{t}\right)}\right)<D_{0}, \boldsymbol{x}^{t} \in \mathcal{T}\right\} T~={(xt,y^t)dist(ϕ1(xt),Ot(y^t))<D0,xtT},其中, D 0 ∈ [ 0 , 1 ] D_0 \in[0,1] D0[0,1]为一个常数。
同时,每个子集都应该有一个最小的样本数,
C T e = { c ∣ ∑ i ∣ T ~ ∣ 1 y ^ i t = c > N 0 , c ∈ { 0 , 1 , . . . , M − 1 } } , N 0 \mathcal{C}_{T_{e}}=\left\{c \mid \sum_{i}^{|\tilde{\mathcal{T}}|} \mathbf{1}_{\hat{y}_{i}^{t}=c}>N_{0}, c \in\{0,1,...,M-1\}\right\},N_0 CTe={ciT~1y^it=c>N0,c{0,1,...,M1}},N0为常数,不满足此条件则此类不进行此迭代。

在训练开始时,由于领域漂移,它有可能排除部分类。然而,随着训练的进行,越来越多的课程被包括在内。其原因有两个方面:1)随着训练的进行,模型变得更加准确;2)得益于CDD惩罚,类内域差异变小,类间域差异变大,从而能够考虑到难(即模糊)的类。

Class-aware Sampling(CAS)

在传统的深度神经网络训练中,每次迭代通常只对一小批数据进行采样,而不进行类的区分。然而,对于计算CDD来说,它的效率会较低。例如,对于类C,在迷你批处理中可能只存在来自一个域(源或目标)的样本,因此无法估计类内差异。

作者采用CAS策略来实现CDD对网络的有效更新。从类 C T e C_{T_e} CTe随机选择子集 C T e ′ C_{T_e}^{'} CTe,然后对于 C T e ′ C_{T_e}^{'} CTe中的每个类进行在源域和目标域上的采样。

在这里插入图片描述

  • 2
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 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、付费专栏及课程。

余额充值