赞
踩
目前的domain adaptation考虑了两种情况:single source & single target(认为源域为一种分布,目标域为一种分布,进行adapt); multi-souce & single target(存在多个源域且为不同的分布,目标域为一种分布,进行adapt)。还没有方法考虑single source & multi-target的问题,本文对解决该问题进行了探讨。 (PS. 目前还没看到解决multi-source & multi-target的方法)。
由上图,首先输入样本,经过一个generator G,变换为特征向量 f G f_G fG,然后经过disentangler D,进行特征的disentanglement:
下面我们具体来看下。
上面说的generator G,实际上就是VAEs的编码部分,将特征编码到一个高斯分布。然后经过reconstructor(图中粉色梯形)进行重构。 对于得到的每一个
f
^
(
G
)
\hat{f}(G)
f^(G),VAE的损失函数为:
该损失并不能保证domain-invariant或者class disentanglement,只是为了确保特征向量服从高斯分布。
这里所谓的类别无关的,指的是剔除掉对于我们最终的分类没有用的信息,比如背景。这里通过对抗学习实现,进行分步优化。首先训练disentangler D和class identifier(图中黑色的三角),使得class identifier能尽可能的识别,使用交叉熵损失:
对于
f
d
i
f_{di}
fdi,也用来进行class identifier的训练(PS. domain invariant的特征当然可以用来学习分类器, 没什么好说的),所以这里
f
D
f_D
fD可以是
f
d
i
f_{di}
fdi和
f
c
i
f_{ci}
fci。
f
d
i
f_{di}
fdi表示domain invarient特征,
f
c
i
f_{ci}
fci表示class-irrelevant特征。
第二步,固定class identifier,训练disentangler D,使得提取的特征
f
c
i
f_{ci}
fci无法被class identifier识别,通过最小化下面的负的熵损失实现(将对抗学习的minmax中的max项加个负号,变为min):
和之前同样的策略,为了学得domain invariant特征,使用对抗学习。训练domain identifier DI:
DI 的输入为
f
d
i
f_{di}
fdi或者
f
d
s
f_{ds}
fds,实际上是个二分类。接下来同样的策略训练disentangler D,使得提取的特征无法被DI识别。
到这里,还感觉这篇paper没多少创新性,接下来将互信息引入进来进一步进行disentanglement就比较有意思了。之前还没见过利用这种方式来进行特征的disentanglement。
互信息(Mutual Information, MI)用于表示两个变量之间的关系,以及关系的强弱。即一个变量中包含的关于另一个变量的信息量。根据MI的含义,我们可以进一步利用它来进行特征的disentanglement。分别对两组特征:
(
f
d
i
,
f
d
s
)
(f_{di},f_{ds})
(fdi,fds)和
(
f
d
i
,
f
c
i
)
(f_{di},f_{ci})
(fdi,fci),减少它们之间的互信息:
看起来这个公式很复杂,实际上就是下式的另一种表示。两个连续随机变量 X 和 Y 的互信息可以定义为:
其中 p(x,y) 是 X 和 Y 的联合概率分布函数,而p(x)和p(y)分别是 X 和 Y 的边缘概率分布函数。可以看出当X和Y互相独立时,互信息为0。而X和Y越相关,互信息值越大。然而互信息处理连续变量很不方便,毕竟是个二重积分。计算的复杂度为
O
(
n
2
)
O(n^2)
O(n2)。对于deep learning这个复杂度太不友好了。于是采用了(Belghazi et al., 2018)的方法对MI进行估计(Mutual Information Neural Estimator(MINE)):
通过引入一个神经网络
T
θ
T_{\theta}
Tθ,上式提供了对于MI的无偏估计。MINE(Belghazi et al., 2018)可以由下式进行计算:
为了避免计算积分,使用蒙特卡洛方法:
由于目标域的数据来自多个不同的分布,所以其特征在latent space中的分布也是不规则的。Zheng等人(2018)提出了ring-style norm constraint用于保证多类别的角分类边界(angular classification margins)间的均衡性(PS. 没有读该paper,不明白,这里大概记一下):
其中R表示学到的norm value。然而ring loss并不是鲁棒的,如果学到的R比较小可能导致mode collapse model。所以,这里将ring loss利用Geman-McClure进行变换(PS. Geman-McClure提供了一种更鲁棒的损失函数的形式),减少下面的loss:
其中
β
\beta
β为变换因子(scale factor)。
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。