Transfer Learning via Learning to Transfer

本篇是迁移学习专栏介绍的第九篇论文。最近有一篇叫做《Learning To Transfer》的文章火了,被ICML 2018接收。后来一篇《Transfer Learning via Learning to Transfer》被PMLR2018接受。


Abstract

在迁移学习中,要解决的两个主要问题是什么和如何迁移,因为在源域和目标域之间应用不同的迁移学习算法会导致不同的知识迁移,从而提高目标域的性能。确定最大限度地提高性能的最佳方案需要进行彻底的探索或大量的专业知识。同时,教育心理学普遍认为,人类通过对归纳迁移学习实践的元认知反思,提高了决定迁移内容的迁移学习技能。

基于此,我们提出了一种新的迁移学习框架,即学习迁移(learning to transfer, L2T),通过利用以前的迁移学习经验,自动确定什么迁移是最好的,以及如何迁移。我们建立了L2T框架,分两个阶段进行:

  1. 通过从经验中加密迁移学习技巧,学习一个反射函数,;
  2. 通过对反射函数的优化,推导出未来一对域的最佳传输方式和最佳传输方式。从理论上分析了L2T算法的稳定性和推广界,并通过实验证明了其相对于几种最先进的迁移学习算法的优越性。

1. Introduction

受人类跨任务迁移知识能力的启发,迁移学习旨在利用来自源领域的知识来提高学习性能,或将目标领域中所需的标记示例数量最小化。当处理带有有限标记的示例的任务时,它具有特殊的意义。例如,迁移学习已经证明了它的广泛适用性,图像分类(Long et al., 2015)、情绪分类(Blitzer et al., 2006)、对话系统(Mo et al., 2016)和城市计算(Wei et al., 2016)。

Pan & Yang 指出了迁移学习中的三个关键研究问题:when to transfer, how to transfer, what to transfer。一旦从源域迁移学习被认为有利于目标域(何时迁移),算法(如何迁移)就会发现跨域的可迁移知识(迁移什么)。不同的算法可能会发现不同的可迁移知识,从而导致学习效率的不均衡,通过对目标域中非迁移基线的性能改进来评估学习效率。为了实现给定源域的目标域的最优性能改进,研究人员可以尝试数十到数百种基于实例(Dai et al., 2007)、参数(Tommasi et al., 2014)和特征(Pan et al., 2011)的迁移学习算法。这种野蛮的探索在计算上是昂贵的,实际上是不可能的。作为权衡,次优的改进通常是从启发式选择的算法中获得的,不幸的是,这需要以一种特别的和非系统的方式大量的专业知识。

探索不同的算法并不是优化传输内容的唯一方法。之前的迁移学习经验也有帮助,这已被广泛接受的教育心理学(卢里亚,1976;贝尔蒙特等人,1982)。人类通过对不同的迁移学习体验进行元认知反思,提高了迁移学习技能,从而决定要迁移什么。例如,擅长下棋的孩子可能会把从象棋中学到的数学技能、视觉空间技能和决策技能分别迁移到解决算术问题、解决模式匹配谜题和打篮球上。到了晚年,他们将更容易决定把从国际象棋中学到的数学和决策技能,而不是视觉空间技能,迁移到市场投资上。遗憾的是,现有的迁移学习算法都是从零开始迁移的,忽略了以往的迁移学习经验

基于此,我们提出了一种新的迁移学习框架——学习迁移(L2T)。L2T的关键思想是通过利用以前的知识迁移学习经验提高从源到目标领域的迁移学习效率,优化它们之间的迁移内容和方式。为了实现这一目标,我们分两个阶段建立了L2T。在第一个阶段,我们将每个迁移学习经验编码为三个部分:一对源域和目标域,它们之间的迁移知识参数化为潜在特征因子,以及性能改进。我们从所有的经验中学习到一个反射函数,它将一对域和它们之间迁移的知识映射到性能改进。因此,反射函数被认为可以加密决定传输内容和如何传输的传输学习技巧。在第二阶段,对新到达的一对域之间的传输进行优化,使学习后的反射函数值与性能改进匹配,达到最大。

本文的贡献在于提出了一种新的迁移学习框架,该框架利用以往的迁移学习经验,为提高迁移学习效率打开了一扇新的大门。L2T可以在不需要大量专业知识的情况下,以系统和自动的方式发现更可迁移的知识。我们还对其算法的稳定性和推广界进行了理论分析,并进行了全面的实证研究,证明了L2T相对于最先进的迁移学习算法的优越性。


2. Related Work

Transfer Learning Pan & Yang指出了迁移学习中的三个关键研究问题:迁移什么、如何迁移以及何时迁移。参数(Yang et al., 2007a; Tommasi et al.,2014)、instances (Daiet al.,2007)或potential feature factors (Panet al.,2011)可以在域之间迁移。(Tang et al., 2007a; Tommasiet al.,2014)将参数从源域迁移到目标域中基于svm模型的参数正则化。在(Dai et al., 2007)中,目标领域的基础学习者通过借用最有用的源实例来提高。各种能够学习领域间可迁移的潜在特征因子的技术已经得到了广泛的研究。这些技术包括手动选择轴心特性(Blitzer et al., 2006)、降维(Pan et al., 2011;Baktashmotlagh等,2013;、集合矩阵分解(Long et al., 2014)、字典学习与稀疏编码(Raina et al., 2007; Zhanget al.,2016),流行manifold学习(Gopalanet al.,2011;Gong et al., 2012),以及深度学习(Yosinskiet al., 2014;Longet al., 2015;TZeng et al.,2015)。不同于L2T,所有现有的迁移学习研究都是从零开始迁移的,即,只考虑对感兴趣的领域,而忽略了以往的迁移学习经验。更好的是,L2T甚至可以收集所有算法的智慧,考虑到上面提到的任何算法都可以应用到迁移学习体验中。

Multi-task Learning 多任务学习(Caruana, 1997; Argyriou, 2007)同时训练多个相关任务,学习任务之间的共享知识,使所有任务在泛化能力上相互加强。然而,多任务学习假设训练和测试示例遵循相同的分布,如图1所示,这与我们关注的迁移学习不同。

Lifelong Learning 假设一项新的学习任务与培训任务处于相同的环境中,那么学习去学习(Thrun & Pratt, 1998)或元学习(Maurer, 2005;
Finn et al., 2017; Al-Shedivat et al., 2018)将培训任务之间共享的知识迁移到新任务中。(Ruvolo & Eaton, 2013; Pentina & Lampert, 2015)将终身学习视为在线元学习。虽然L2T和终身(meta)学习都旨在通过利用历史来改进学习系统,但是L2T与它们的不同之处在于,我们认为每个历史经验都是一个迁移学习任务,而不是图1所示的传统学习任务。因此,我们学习迁移学习技能,而不是任务共享知识。


3. Learning to Transfer

我们首先简要介绍拟议的L2T框架。然后详细介绍了L2T的两个阶段,即,学习迁移学习技能从以前的迁移学习经验,并应用这些技能来推断什么和如何迁移到未来的一对源和目标领域。

3.1. The L2T Framework

之前有一位L2T agent进行过多次迁移学习,并记录了N_e迁移学习经历。我们定义了每个迁移学习经验E_{e}=\left(\left\langle\mathcal{S}_{e}, \mathcal{T}_{e}\right\rangle, a_{e}, l_{e}\right)\mathcal{S}_{e}=\left\{\mathbf{X}_{e}^{s}, \mathbf{y}_{e}^{s}\right\}\mathcal{T}_{e}=\left\{\mathbf{X}_{e}^{t}, \mathbf{y}_{e}^{t}\right\}分别表示源域和目标域。\mathbf{X}_{e}^{*} \in \mathbb{R}^{n_{e}^{*} \times m}表示特征矩阵,如果其中一个域有n_{e}^{*}个例子在m维特征空间\mathcal{X}_{e}^{*}中,*可以是s或t来表示源或目标域。\mathbf{y}_{e}^{*} \in \mathcal{Y}_{e}^{*}表示长度为n_{l e}^{*}的标签向量。目标标记示例的数量要比源标记示例的数量少得多,例如n_{l e}^{t} \ll n_{l e}^{s}。我们关注对每一对domains设置\mathcal{X}_{e}^{s}=\mathcal{X}_{e}^{t} \text { and } \mathcal{Y}_{e}^{s} \neq \mathcal{Y}_{e}^{t}a_{e} \in \mathcal{A}=\left\{a_{1}, \cdots, a_{N_{a}}\right\}表示\mathcal{S}_{e} \text { and } \mathcal{T}_{e}之间应用了迁移学习算法。假设算法a_e传递的知识可以像我们\mathbf{W}_{e}一样参数化。最后,每个迁移学习经验都用性能改进比l_{e}=p_{e}^{s t} / p_{e}^{t}来标记,p_{e}^{t}测试数据集的学习性能(例如分类精度)是否为T_{e}没有迁移,p_{e}^{s t}是在从\mathcal{S}_{e}迁移\mathbf{W}_{e}后相同的测试数据集上。

3.2. Parameterizing What to Transfer

应用的迁移学习算法因经验而异。一致地参数化从基本算法集A中传输的任何算法是学习反射函数的先决条件。在本文中,我们考虑A包含传递单层潜在特征因子的算法,因为现有的基于参数和基于实例的算法无法处理我们所关注的传递学习设置(即, \mathcal{X}_{e}^{s}=\mathcal{X}_{e}^{t} \text { and } \mathcal{Y}_{e}^{s} \neq \mathcal{Y}_{e}^{t})。虽然基于参数的算法有限(Yang et al., 2007a;Tommasi et al., 2014)能够在异构标签空间中跨域传输,只能处理二进制分类问题。基于深度神经网络的算法(Yosinski et al., 2014;Long等,2015;曾等(2015)在多个层面上迁移潜在特征因子,有待于我们未来的研究。因此,我们用一个潜在的特征因子矩阵W来参数化要传递的内容。

基于潜在特征因子的算法旨在跨域学习域不变的特征因子。考虑将狗的图片分类为源域,将猫的图片分类为目标域。域不变的特征因子可能包括眼睛、嘴巴、尾巴等。在本例中,要传输的是跨域的共享特性因子。定义域不变特征因子的方法决定了两组基于潜在特征因子的算法,即,常用的基于潜在空间和基于流形集成的算法。

Common Latent Space Based 这一系列算法,包括但不限于TCA (Pan et al., 2011)、LSDT (Zhang et al., 2016)和DIP (Baktashmotlagh et al., 2013),都假设域不变的特征因子位于一个共享的潜在空间中。我们通过ϕ函数表示原始特征表示映射到潜在的空间。如果ϕ是线性的,它可以表示成一个嵌入矩阵\mathbf{W} \in \mathbb{R}^{m \times u},是潜在的维度空间。因此,我们可以用描述u潜在特征因子的W参数化我们所关注的迁移。否则,如果ϕ是非线性,将仍然可以参数化与w。虽然在大多数情况下,没有显式地指定一个非线性ϕ如LSDT使用稀疏编码、目标示例中表示的空间\mathbf{Z}_{e}^{t}=\varphi\left(\mathbf{X}_{e}^{t}\right) \in \mathbb{R}^{n_{e}^{t} \times u}总是可用的。因此,我们得到了潜在空间中的相似性度量矩阵(Cao et al., 2013),即, \mathbf{G}=\left(\mathbf{X}_{e}^{t}\right)^{\dagger} \mathbf{Z}_{e}^{t}\left(\mathbf{Z}_{e}^{t}\right)^{T}\left[\left(\mathbf{X}_{e}^{t}\right)^{T}\right]^{\dagger} \in \mathbb{R}^{m \times m}。​​​​​​​

Manifold Ensemble Based 由Gopalan等人发起的基于流形集成的算法认为,一个源和一个目标域共享多个子空间(具有相同的维数),就像它们之间格拉斯曼流形上的点一样。用u域不变的潜在因子表示目标实例​​​​​​​\mathbf{Z}_{e}^{t\left(n_{u}\right)}=\left[\varphi_{1}\left(\mathbf{X}_{e}^{t}\right)\right ,\cdots, \varphi_{n_{u}}\left(\mathbf{X}_{e}^{t}\right) ] \in \mathbb{R}^{n_{e}^{t} \times n_{u} u},对流形上的子空间进行采样。当流形上的所有连续子空间被采样时,​​​​​​​\mathbf{Z}_{e}^{t(\infty)}\left(\mathbf{Z}_{e}^{t(\infty)}\right)^{T}=\mathbf{X}_{e}^{t} \mathbf{G}\left(\mathbf{X}_{e}^{t}\right)^{T}其中G为相似性度量矩阵。G的计算细节见(Gong et al., 2012)。\mathbf{W}=\mathbf{L} \mathbf{D}^{1 / 2},在\mathbf{G}=\mathbf{L} \mathbf{D} \mathbf{L}^{T}上进行LDL分解得到L和D,因此也可以表示流形上一系列子空间中分布的潜在特征因子。


4 Experiments

既然研究问题都是自己开创的,那么实验肯定也和以前不一样啦。以前实验怎么做?选择一些数据分布差异大的数据集,然后构造源域和目标域,最后进行迁移。现在呢?针对要研究的问题:迁移学习经验,我们要构造这些经验。怎么构造?作者在这里用了两个大数据集:Caltech-256和Sketches。Caltech我们很熟悉,就是包含了256类的物体照片,Sketches是个啥?它是一个素描的数据集。这里就是要在这两种domain之间进行知识的迁移。为了方便起见,我们让Caltech作为源域,迁移到目标域Sketches。为什么不反过来?素描得少多少东西啊,能用来标定彩色照片? 
为了构造尽可能多的迁移经验,作者构造出了很多的迁移对。方法也很常用,就是从两个数据集中分别随机选择3类的样本作为一个迁移对,这样的训练迁移对一共有1000对。接着构造了验证集500对和测试集500对。 
实验进行时,作者首先控制目标域中label的个数由少到多,然后观察方法与对比方法的表现差异。毫无疑问这个方法效果很好,尤其是在目标域label非常少的时候,同时,标定精度也非常高。 
后来作者又针对用于前期训练的迁移学习方法进行了实验,表现其与L2T框架结合后,效果非常好。这里就不再赘述。

5 Conclusion

  1. 提出了一个新颖的研究问题:类似于增量学习,如何最大限度地利用已有的迁移学习经验,使得其对新问题的泛化能力很好?同时也可以避免一出现新问题就从头进行学习。非常厉害!直接开创一个新问题,原文中说的“open a new door”!(然而这是由大牛指导的,我们小弱看看就好,这个学不来的)
  2. 对自己的问题有着非常明确而清晰地表述,能够很清楚地定义好这个问题的学习目标。
  3. 在解决问题的方法上,虽然用的都是老方法,但是能够想到新已有方法很好地应用于这个问题,也是很厉害的!
  4. 实验设置非常完善。

本篇援引自《小王爱迁移》系列之六:从经验中学习迁移​​​​​​​

发布了261 篇原创文章 · 获赞 137 · 访问量 20万+

猜你喜欢

转载自blog.csdn.net/weixin_37993251/article/details/89331333