笔记:Deep transfer network: unsupervised domain adaptation

这篇文章里提出了一种用MMD来同时对两个域上的marginal distribution和conditional distribution进行约束的迁移网络。
具体而言,用MMD来对两个域(源域和目标域)上的提取到的特征分布进行约束,从而使两个域上的特征分布尽可能相同,这个分布叫做marginal distribution;同时对两个域上的softmax分类结果用MMD来进行约束,使得两个分类结果的分布尽可能相同,这个分布叫做conditional distribution。这两个方面应该和这篇文章Long M, Wang J, Ding G, et al. Transfer feature learning with joint distribution adaptation[C]//Proceedings of the IEEE International Conference on Computer Vision. 2013: 2200-2207.的思路基本相同,不同之处在于这篇文章使用的是基于传统的方法,这里使用了深度学习。
由于本文并没有使用标准的卷积网络结构,所以最后取得的效果和之前的deep learning的方法并没有可比性,最后实验部分也是用的传统的浅层方法进行对比,没有与最新的基于deep learning方法对比。
文章方法的网络结构在文中表示如下:
笔记:Deep transfer network: unsupervised domain adaptation_第1张图片
首先是特征提取层,也就是图中的前l-1层,最后一层是分类层,输出的是属于每个类的概率。本文在第l-1层以及分类器的输出衡量源域和目标域基于MMD的分布损失。在特征分布上,通过在目标函数中的marginal MMD来衡量两个域上的分布区别,具体如下:
marginal MMD
其中的h(l-1)分别代表网络层第l-1层的输出。
在分类器的输出层添加MMD损失使得两个域在条件分布(conditional distribution)上尽可能一致。定义如下的conditional MMD:
笔记:Deep transfer network: unsupervised domain adaptation_第2张图片
其中q是对应某一类的所有输出构成的向量。
最后加上网络结构中标准的分类损失,得到整个网络的目标函数如下:
笔记:Deep transfer network: unsupervised domain adaptation_第3张图片
其中:
class loss
接着本文给出了对这个目标函数基于梯度的优化方法:
笔记:Deep transfer network: unsupervised domain adaptation_第4张图片
需要注意以下三点:
1. 如果在每次梯度法中使用全部的样本,那么当样本数很大的时候效率会很低,所以本文采取了基于mini-batch的梯度法。
2. Minibatch构造时随机抽取一半的源域和一半的目标域上的样本,由于两个域上样本数往往不同,本文通过样本复制方式将两个样本集的样本数变为一致。
3. 在构造conditional MMD时,需要用到源域和目标域的标签信息,由于目标域上没有ground-truth,这里通过一个简单的分类器来预测这种label。这个网络就是当前训练得到的网络,随着每次网络更新的结束,这个label也会不断更新,直到收敛或者达到最大的循环次数。
分析:本文的目标函数中的三个部分:标准的分类损失,基于特征分布的marginal MMD损失,基于分类结果的conditional MMD损失,前两个部分在构造domain invariant特征的网络中比较常见。第三个损失是衡量每类输出构成的向量分布之间的差异,这个差异越小,那么两个域上的conditional distribution越相近。对于第三个损失在这里简单对比了它与simultaneous Deep Transfer Across Domains and Tasks文章中提到的soft label loss之间的关系。
另外一个比较conditional MMD损失与之前的soft label结构之间的关系: softlabel方案中是基于目标域上的监督信息,尽可能在目标域上保存源域上学习得到类别之间的关系(relationship between classes),最后的损失用一个交叉熵来构造(两个分布越相似,两者的交叉熵损失越小)。本文基于conditional MMD的损失基于softmax输出的scalar,它要求在同一类上,源域和目标域上的样本在softmax的输出上具有相同的分布。按照这种思路,我们需要也目标域上样本的监督信息,文章里面的做法是先用一个base classifier对目标域上的样本构造一个pseudo label,按照这个label分别来构造conditional MMD损失。

你可能感兴趣的:(domain,adaptation)