Motivation
本文出发点还是荣multi-source domain adaptation出发,如何利用多个source domain的知识,来更好的预测target domain. 还是从target的分布可以用source distribution的加权来接近。
作者对domain之间的relationship建模提出了mixture-of-expert(MoE)的方法,
- 将不同的source domain和target domain投影到不同的子空间,而不是将所有的domain投影到同一个子空间。
- target的后验概率,通过不同source域的分类器加权组合,这里权重反应了target样本到每一个source domain的距离
- 定义了point-to-set 的metric,并作为loss训练,采用了meta-training的方式
Method
如图所示模型主要包括四个部分 1)encoder 用来提取特征 2)classifier, domain-specific 分类器,每一个source的都有一个3)metric用来将多个domain-specific的target的结果融合 4)adversary用来align不同域之间的距离
Metric
p
m
o
e
(
y
∣
x
)
=
∑
i
=
1
K
α
(
x
,
S
i
)
p
S
i
(
y
∣
x
)
p_{moe}(y|x)=\sum_{i=1}^K\alpha(x,S_i)p^{S_i}(y|x)
pmoe(y∣x)=i=1∑Kα(x,Si)pSi(y∣x)
p
S
i
p^{S_i}
pSi是由第i个source分类器
F
S
i
F^{S_i}
FSi产生的后验概率(给定提取的特征x,判断属于类别y的概率),作者首先定义了point-to-set的马氏距离,即样本x到集合S
d
(
x
,
S
)
=
(
(
E
(
x
)
−
μ
S
)
T
M
S
(
E
(
x
)
−
μ
S
)
)
1
/
2
d(x,S) = ((E(x)-\mu^S)^TM^S(E(x) - \mu^S))^{1/2}
d(x,S)=((E(x)−μS)TMS(E(x)−μS))1/2
其中
μ
S
\mu^S
μS是S的特征的平均值,
M
S
M^S
MS是S的特征的协方差矩阵的逆矩阵
其中
α
(
x
,
S
i
)
\alpha(x,S_i)
α(x,Si)反应了对第i个分类器的可靠程度
α
(
x
,
S
i
)
=
e
x
p
(
e
(
x
,
S
i
)
)
∑
j
=
1
K
e
x
p
(
e
(
x
,
S
j
)
)
\alpha(x,S_i)=\frac{exp(e(x,S_i))}{\sum_{j=1}^K exp(e(x,S_j))}
α(x,Si)=∑j=1Kexp(e(x,Sj))exp(e(x,Si))
而
e
(
x
,
S
i
)
=
f
(
d
(
x
,
S
i
)
)
e(x,S_i)=f(d(x,S_i))
e(x,Si)=f(d(x,Si))是基于point-to-set马氏距离设计的score函数,而
α
(
x
,
S
i
)
\alpha(x,S_i)
α(x,Si)是其归一化后的结果。作者针对不同的任务设计了不同的socre函数
- binary classification
考虑到在二分类任务中,
S
S
S 的feature(encoding)的平均值
μ
S
\mu^S
μS往往接近于decision boundary,样本到boundary越近,往往置信度越低,因此直接用d(x,s)不合适。
e
(
x
,
S
)
=
∣
d
(
x
,
S
+
)
−
d
(
x
,
S
−
)
∣
e(x,S) = |d(x,S^+)-d(x,S^-)|
e(x,S)=∣d(x,S+)−d(x,S−)∣
上述的函数对outlier的点e(x,S)的值低,
- Sequence tagging
e ( x , S ) = − d ( x , S ) e(x,S) = -d(x,S) e(x,S)=−d(x,S)
Training
借鉴了few-shot里面的学习方法,从K个source domain里面任意选一个作为meta-target,其余作为meta-source,这样得到K组(meta-source,meta-target)的训练pair,
loss一共有两个部分:MoE objective和multi-task
L
m
o
e
=
−
∑
i
=
1
K
∑
j
=
1
∣
S
i
∣
l
o
g
(
p
m
o
e
(
y
j
S
i
∣
x
j
S
i
)
)
L_{moe} = -\sum_{i=1}^{K}\sum_{j=1}^{|S_i|}log(p_{moe}(y_j^{S_i}|x_j^{S_i}))
Lmoe=−i=1∑Kj=1∑∣Si∣log(pmoe(yjSi∣xjSi))
对每个pair里面的meta-target中的每个样本计算moe loss,meta-target的分类是通过meta-source加权得到,moe就是约束这样的关系,让meta-source中同样的标签的分类变大
L
m
t
l
=
−
∑
i
=
1
K
∑
j
=
1
∣
S
i
∣
l
o
g
(
p
S
i
(
y
j
S
i
∣
x
j
S
i
)
)
L_{mtl} = -\sum_{i=1}^K\sum_{j=1}^{|S_i|}log(p^{S_i}(y_j^{S_i}|x_j^{S_i}))
Lmtl=−i=1∑Kj=1∑∣Si∣log(pSi(yjSi∣xjSi))
Muti-task是分类的交叉熵损失
- Adversary-augmented MoE
使用MMD来最小化target domain和source domain的边缘分布
整体的训练算法如图