Multi-Source Domain Adaptation with Mixture of Experts

Multi-Source Domain Adaptation with Mixture of Experts_第1张图片

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

Multi-Source Domain Adaptation with Mixture of Experts_第2张图片

如图所示模型主要包括四个部分 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(yx)=i=1Kα(x,Si)pSi(yx)
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=1Kj=1Silog(pmoe(yjSixjSi))
对每个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=1Kj=1Silog(pSi(yjSixjSi))
Muti-task是分类的交叉熵损失

  • Adversary-augmented MoE

使用MMD来最小化target domain和source domain的边缘分布

Multi-Source Domain Adaptation with Mixture of Experts_第3张图片

整体的训练算法如图

Multi-Source Domain Adaptation with Mixture of Experts_第4张图片

你可能感兴趣的:(domain,adaptation,机器学习,算法,深度学习)