量化百科

《小王爱迁移》系列之八:深度迁移学习文章解读

由iquant创建,最终由iquant 被浏览 3 用户

深度迁移学习一直以来是迁移学习研究最火的一个方向。近些年来,越来越多的研究者倾向于在深度网络中学习域不变的分类器/特征表示(domain-invariant classifier/representation),以此来提高迁移学习方法对于不同分布数据的泛化能力。本文为大家介绍来自UC Berkeley的博士生Eric Tzeng发表在ICCV 2015上的文章《Simultaneous Deep Transfer Across Domains and Tasks》。Eric Tzeng的主要研究方向就是视觉领域的迁移学习,他有多篇文章发表在计算机视觉的顶级会议上。并且,这篇文章的共同一作Judy Hoffman也是这个领域比较厉害的人物。本文的paper以及这两位的个人主页请见Reference部分。

Motivation

作者提到了两种层次的transfer:

  • domain transfer:就是适配分布,特别地是指适配marginal distribution,但是没有考虑类别信息。如何做domain transfer:在传统深度网路的loss上,再加另一个confusion loss,作为classifier能否将两个domain进行分开的loss。两个loss一起计算,就是domain transfer。
  • task transfer:就是利用class之间的相似度,其实特指的是conditional distribution。类别之间有相似度,要利用上。类别之间的相似度:比如一个杯子与瓶子更相似,而与键盘不相似。文章的原话:it does not necessarily align the classes in the target with those in the source. Thus, we also explicity transfer the similarity structure amongst categories.

现有的深度迁移学习方法通常都只是考虑domain transfer,而没有考虑到类别之间的信息。如何把domain和task transfer结合起来,是一个问题。

文章算是对Hinton的distilling knowledge的extention,把那些东西扩展到深度网络上。

针对情况:target的部分class有少量label,剩下的class无label。

Method

提出的方法名字叫做joint CNN architecture for domain and task transfer.

文章最大的创新点是:现有的方法都是domain classifier加上一个domain confusion,就是适配。作者提出这些是不够的,因为忽略了类别之间的联系,所以提出了还要再加一个soft label loss。意思就是在source和target进行适配的时候,也要根据source的类别分布情况来进行调整target的。其实本意和JDA差不多。

相应地,文章的方法就是把这两个loss结合到一个新的CNN网络上,这个CNN是用AlexNet的结构修改成的。总的loss可以表示成几部分的和:

L(x_S,y_S,x_T,y_T,theta_D;theta_{repr},theta_C)=L_C(x_S,y_S,x_T,y_T;theta_{repr},theta_C)+lambda L_{conf}(x_S,x_T,theta_D;theta_{repr})+v L_{soft}(x_T,y_T;theta_{repr},theta_C)

Loss由三部分组成:第一部分是普通训练的loss,对应于经验风险最小化,所以作用到了所有有label的数据 x_S,y_S,x_T,y_T 上;第二部分是现有方法也都做过的,就是domain adaptation,所以作用于 x_S,x_T 上;第三部分是作者的贡献:新加的soft label的loss,只作用于target上。

网络结构如下图所示。网络由AlexNet修改而来,前面的几层都一样,区别只是在第fc7层后面加入了一个domain classifier,也就是进行domain adaptation的一层;在fc8后计算网络的loss和soft label的loss。

![](data:image/svg+xml;utf8,<svg%20xmlns='http://www.w3.org/2000/svg' width='1177' height='464'></svg>)

Domain confusion

Domain confusion就不用多说,和现有的一些比如DAN和JAN一样,直接对source和target的margina distribution进行估计即可。

Soft label loss

这个是重点。什么是soft label loss?这和作者的motivation有关。他是想,不仅仅要适配两个domain的marginal distribution,也要把类别信息考虑进去。而target中有大量数据没有label,怎么办呢?可以利用source中的label信息。具体做法是:在网络对source进行训练的时候,把source的每一个样本处于每一个类的概率都记下来,然后,对于所有样本,属于每一个类的概率就可以通过求和再平均得到。如下图所示。这样的目的是:根据source中的类别分布关系,来对target做相应的约束。比如,source中和bike最相似的class,肯定是motorbike,而不是truck。这样有一定的道理。

但是在我看来,这就是深度网络版的conditional distribution adaptation。因为也对应于得到了每个类的proportion了嘛。只不过作者在这里取了个“soft label loss”这个好听的名字,再冠以“task transfer”这样高大上的名字,就真的把我唬住了。

所以,一定不要被文章中高大上的叙述吓住,剖开现象看本质

![](data:image/svg+xml;utf8,<svg%20xmlns='http://www.w3.org/2000/svg' width='874' height='487'></svg>)

实验

实验是在Office和另一个大型数据集上做的,没啥可说的。值得推荐的是作者引的数据集文章,里面包含了12个常用的做cross-dataset数据适应的数据集,以后可以用。数据集的信息在reference里提供。

总结

作者的方法其实没有特别大的创新,最大的创新其实是对问题的理解比较深刻,然后有效地利用了现有的方法。作者网络变换最大的参考是14年Hinton发在NIPS上的《Distilling the Knowledge in a Neural Network》这篇文章,提出将网络模型进行压缩或重新简单地表示。这也是未来的一个研究方向。

关于深度迁移学习,最大的难点当然是想法要好。但是就现在的研究成果看来,绝大多数也都是在深度网络后加一些相关的loss层,以之来提高网络的适配性。本质并没有很大的创新性。所以就目前而言,如果无法提出本质上的架构,那么最大的难点其实是:好的编程能力,以及好的计算设备。我在这方面就比较欠缺,希望可以尽快补起来!

最后吐槽一下:特别神烦那些用Caffe开源了的代码,实在是太难懂了!

References

[1] 本文原文:Tzeng E, Hoffman J, Darrell T, et al. Simultaneous deep transfer across domains and tasks[C]//Proceedings of the IEEE International Conference on Computer Vision. 2015: 4068-4076.

[2] 12个数据集的引用文章:T. Tommasi, T. Tuytelaars, and B. Caputo. A testbed for

cross-dataset analysis. In TASK-CV Workshop, ECCV, 2014.

[3] Eric Tzeng的个人主页:Google Scholar

[4] Judy Hoffman的个人主页:Computer Vision Postdoctoral Researcher

[5] Hinton的文章:Hinton G, Vinyals O, Dean J. Distilling the knowledge in a neural network[J]. arXiv preprint arXiv:1503.02531, 2015.

========================

[作者简介]王晋东(不在家),中国科学院计算技术研究所博士生,目前研究方向为机器学习、迁移学习、人工智能等。作者联系方式:微博@秦汉日记 ,个人网站Jindong Wang is Here

=================

标签

迁移学习