迁移学习研究进展
什么是/为什么要迁移学习?
迁移学习(Transfer learning) 顾名思义就是就是把已学训练好的模型参数迁移到新的模型来帮助新模型训练。考虑到大部分数据或任务是存在相关性的,所以通过迁移学习我们可以将已经学到的模型参数(也可理解为模型学到的知识)通过某种方式来分享给新模型从而加快并优化模型的学习效率不用像大多数网络那样从零学习(starting from scratch,tabula rasa)。
迁移学习的介绍
Sinno Jialin Pan 和 Qiang Yang 发表了一篇迁移学习的调查A Survey on Transfer Learning[Pan and Yang, 2010]。他们将迁移学习通过Source (迁移源) / Target (迁移目标) Domain Label 更细节的分支为以下几个方向:
并给出了数学定义:
Given a source domain and learning task , a target domainand learning task transfer learningaims to help improve the learning of thetarget predictive function in using the knowledge in and , where
迁移学习应用
迁移学习是机器学习领域的一个重要分支。因此,其应用并不局限于特定的领域。凡是满足迁移学习问题情景的应用,迁移学习都可以发挥作用。这些领域包括但不限于计算机视觉、文本分类、行为识别、自然语言处理、室内定位、视频监控、舆情分析、人机交互等。
迁移学习的基本方法
按照迁移学习领域权威综述文章A Survey on Transfer Learning [Pan and Yang, 2010],迁移学习的基本方法可以分为四种。这四种基本的方法分别是:基于样本的迁移,基于模型的迁移,基于特征的迁移,及基于关系的迁移。
基于样本迁移
基于样本的迁移学习方法(Instance based Transfer Learning)根据一定的权重生成规则,对数据样本进行重用,来进行迁移学习。图14形象地表示了基于样本迁移方法的思想。源域中存在不同种类的动物,如狗、鸟、猫等,目标域只有狗这一种类别。在迁移时,为了最大限度地和目标域相似,我们可以人为地提高源域中属于狗这个类别的样本权重。
在迁移学习中,对于源域Ds和目标域Dt,通常假定产生它们的概率分布是不同且未知的(P(xs)=P(xt))。另外,由于实例的维度和数量通常都非常大,因此,直接对P(xs)和P(xt)进行估计是不可行的。因而,大量的研究工作着眼于对源域和目标域的分布比值进行估计(P(xt)/P(xs))。所估计得到的比值即为样本的权重。这些方法通常都假设P(xt)P(xs)<1并且源域和目标域的条件概率分布相同(P(yjxs) =P(yjxt))。特别地,上海交通大学Dai等人[Dai et al., 2007]提出了TrAdaboost方法,将AdaBoost的思想应用于迁移学习中,提高有利于目标分类任务的实例权重、降低不利于目标分类任务的实例权重,并基于PAC理论推导了模型的泛化误差上界。TrAdaBoost方法是此方面的经典研究之一。文献[Huang et al., 2007]提出核均值匹配方法(Kernel MeanMatching, KMM)对于概率分布进行估计,目标是使得加权后的源域和目标域的概率分布尽可能相近。在最新的研究成果中,香港科技大学的Tan等人扩展了实例迁移学习方法的应用场景,提出了传递迁移学习方法(Transitive Transfer Learning, TTL) [Tan et al., 2015]和远域迁移学习(Distant Domain Transfer Learning, DDTL) [Tan et al., 2017],利用联合矩阵分解和深度神经网络,将迁移学习应用于多个不相似的领域之间的知识共享,取得了良好的效果。虽然实例权重法具有较好的理论支撑、容易推导泛化误差上界,但这类方法通常只在领域间分布差异较小时有效,因此对自然语言处理、计算机视觉等任务效果并不理想。而基于特征表示的迁移学习方法效果更好,是我们研究的重点。
基于特征迁移
基于特征的迁移方法(Feature based Transfer Learning)是指将通过特征变换的方式互相迁移,来减少源域和目标域之间的差距;或者将源域和目标域的数据特征变换到统一特征空间中,然后利用传统的机器学习方法进行分类识别。根据特征的同构和异构性,又可以分为同构和异构迁移学习。
基于特征的迁移学习方法是迁移学习领域中最热门的研究方法,这类方法通常假设源域和目标域间有一些交叉的特征。香港科技大学的Pan等人[Pan et al., 2011]提出的迁移成分分析方法(Transfer Component Analysis, TCA)是其中较为典型的一个方法。该方法的核心内容是以最大均值差异(Maximum Mean Discrepancy, MMD) [Borgwardt et al., 2006]作为度量准则,将不同数据领域中的分布差异最小化。加州大学伯克利分校的Blitzer等人[Blitzer et al., 2006]提出了一种基于结构对应的学习方法(Structural CorrespondingLearning, SCL),该算法可以通过映射将一个空间中独有的一些特征变换到其他所有空间中的轴特征上,然后在该特征上使用机器学习的算法进行分类预测。清华大学龙明盛等人[Long et al., 2014b]提出在最小化分布距离的同时,加入实例选择的迁移联合匹配(Tran-fer Joint Matching, TJM)方法,将实例和特征迁移学习方法进行了有机的结合。澳大利亚卧龙岗大学的Jing Zhang等人[Zhang et al., 2017a]提出对于源域和目标域各自训练不同的变换矩阵,从而达到迁移学习的目标。近年来,基于特征的迁移学习方法大多与神经网络进行结合,在神经网络的训练中进行学习特征和模型的迁移。
基于模型迁移
基于模型的迁移方法(Parameter/Model based Transfer Learning)是指从源域和目标域中找到他们之间共享的参数信息,以实现迁移的方法。这种迁移方式要求的假设条件是:源域中的数据与目标域中的数据可以共享一些模型的参数。
其中,中科院计算所的Zhao等人[Zhao et al., 2011]提出了TransEMDT方法。该方法首先针对已有标记的数据,利用决策树构建鲁棒性的行为识别模型,然后针对无标定数据,利用K-Means聚类方法寻找最优化的标定参数。西安邮电大学的Deng等人[Deng et al., 2014]也用超限学习机做了类似的工作。香港科技大学的Pan等人[Pan et al., 2008a]利用HMM,针对Wifi室内定位在不同设备、不同时间和不同空间下动态变化的特点,进行不同分布下的室内定位研究。另一部分研究人员对支持向量机SVM进行了改进研究[Nater et al., 2011,Li et al., 2012]。这些方法假定SVM中的权重向量w可以分成两个部分:w=wo+v,其中w0代表源域和目标域的共享部分,v代表了对于不同领域的特定处理。在最新的研究成果中,香港科技大学的Wei等人[Wei et al., 2016b]将社交信息加入迁移学习方法的正则项中,对方法进行了改进。清华大学龙明盛等人[Long et al., 2015a,Long et al., 2016,Long et al., 2017]改进了深度网络结构,通过在网络中加入概率分布适配层,进一步提高了深度迁移学习网络对于大数据的泛化能力。通过对现有工作的调研可以发现,目前绝大多数基于模型的迁移学习方法都与深度神经网络进行结合[Long et al., 2015a,Long et al., 2016,Long et al., 2017,Tzeng et al., 2015,Long et al., 2016]。这些方法对现有的一些神经网络结构进行修改,在网络中加入领域适配层,然后联合进行训练。因此,这些方法也可以看作是基于模型、特征的方法的结合。
基于关系迁移
基于关系的迁移学习方法(Relation Based Transfer Learning)与上述三种方法具有截然不同的思路。这种方法比较关注源域和目标域的样本之间的关系。图17形象地表示了不同领域之间相似的关系。就目前来说,基于关系的迁移学习方法的相关研究工作非常少,仅有几篇连贯式的文章讨论,这些文章都借助于马尔科夫逻辑网络(Markov Logic Net)来挖掘不同领域之间的关系相似性。
深度迁移学习
随着深度学习方法的大行其道,越来越多的研究人员使用深度神经网络进行迁移学习。对比传统的非深度迁移学习方法,深度迁移学习直接提升了在不同任务上的学习效果。并且,由于深度学习直接对原始数据进行学习,所以其对比非深度方法还有两个优势:自动化地提取更具表现力的特征,以及满足了实际应用中的端到端(End-to-End)需求。
近年来,以生成对抗网络(Generative Adversarial Nets, GAN) [Goodfellow et al., 2014]为代表的对抗学习也吸引了很多研究者的目光。基于GAN的各种变体网络不断涌现。对抗学习网络对比传统的深度神经网络,极大地提升了学习效果。因此,基于对抗网络的迁移学习,也是一个热门的研究点。