当前位置:   article > 正文

机器学习---迁移学习

迁移学习

1. 迁移学习

迁移学习是一种学习的思想和模式。迁移学习作为机器学习的一个重要分支,侧重于将已经学习过

的知识迁移应用于新的问题中。迁移学习的核心问题是,找到新问题和原问题之间的相似性,才可

以顺利地实现知识的迁移。定义:迁移学习,是指利用数据、任务、或模型之间的相似性,将在旧

领域学习过的模型,应用于新领域的一种学习过程。

迁移学习的原因概括为以下四个方面:大数据与少标注之间的矛盾;大数据与弱计算之间的矛盾;

普适化模型与个性化需求之间的矛盾;特定应用的需求。

1.1 大数据与少标注之间的矛盾

我们正处在一个大数据时代,每天每时,社交网络、智能交通、视频监控、行业物流等,都产生着

海量的图像、文本、语音等各类数据。数据的增多,使得机器学习和深度学习模型可以依赖于如此

海量的数据,持续不断地训练和更新相应的模型,使得模型的性能越来越好,越来越适合特定场景

的应用。然而,这些大数据带来了严重的问题:总是缺乏完善的数据标注。

众所周知,机器学习模型的训练和更新,均依赖于数据的标注。然而,尽管我们可以获取到海量的

数据,这些数据往往是很初级的原始形态,很少有数据被加以正确的人工标注。数据的标注是一个

耗时且昂贵的操作,目前为止,尚未有行之有效的方式来解决这一问题。这给机器学习和深度学习

的模型训练和更新带来了挑战。反过来说,特定的领域,因为没有足够的标定数据用来学习,使得

这些领域一直不能很好的发展。 

1.2 大数据与弱计算之间的矛盾

大数据,就需要大设备、强计算能力的设备来进行存储和计算。然而,大数据的大计算能力,是”

有钱人” 才能玩得起的游戏。比如 GoogleFacebookMicrosoft,这些巨无霸公司有着雄厚的计

算能力去利用这些数据训练模型。例如,ResNet 需要很长的时间进行训练。Google TPU 也都是

有钱人的才可以用得起的。

绝大多数普通用户是不可能具有这些强计算能力的。这就引发了大数据和弱计算之间的矛盾。在这

种情况下,普通人想要利用这些海量的大数据去训练模型完成自己的任务,基本上不太可能。那么

如何让普通人也能利用这些数据和模型?

1.3 普适化模型与个性化需求之间的矛盾

机器学习的目标是构建一个尽可能通用的模型,使得这个模型对于不同用户、不同设备、不同环

境、不同需求,都可以很好地进行满足。这是我们的美好愿景。这就是要尽可能地提高机器学习模

型的泛化能力,使之适应不同的数据情形。基于这样的愿望,我们构建了多种多样的普适化模型,

来服务于现实应用。然而,这只能是我们竭尽全力想要做的,目前却始终无法彻底解决的问题。人

们的个性化需求五花八门,短期内根本无法用一个通用的模型去满足。比如导航模型,可以定位及

导航所有的路线。但是不同的人有不同的需求。比如有的人喜欢走高速,有的人喜欢走偏僻小路,

这就是个性化需求。并且,不同的用户,通常都有不同的需求。这也是构建应用需要着重考虑的。

所以目前的情况是,我们对于每一个通用的任务都构建了一个通用的模型。这个模型可以解决绝大

多数的公共问题。但是具体到每个个体、每个需求,都存在其唯一性和特异性,一个普适化的通用

模型根本无法满足。那么,能否将这个通用的模型加以改造和适配,使其更好地服务于人们的个性

化需求?

1.4 特定应用的需求

机器学习已经被广泛应用于现实生活中。在这些应用中,也存在着一些特定的应用,它们面临着一

些现实存在的问题。比如推荐系统的冷启动问题。一个新的推荐系统,没有足够的用户数据,如何

进行精准的推荐? 一个崭新的图片标注系统,没有足够的标签,如何进行精准的服务?现实世界中

的应用驱动着我们去开发更加便捷更加高效的机器学习方法来加以解决。

2. 迁移学习 VS 传统机器学习

上述存在的几个重要问题,使得传统的机器学习方法疲于应对。迁移学习则可以很好地进行解决。

那么,迁移学习是如何进行解决的呢?

2.1 大数据与少标注:迁移数据标注

单纯地凭借少量的标注数据,无法准确地训练高可用度的模型。为了解决这个问题,我们直观的想

法是:多增加一些标注数据不就行了?但是不依赖于人工,如何增加标注数据?利用迁移学习的思

想,我们可以寻找一些与目标数据相近的有标注的数据,从而利用这些数据来构建模型,增加我们

目标数据的标注。

2.2 大数据与弱计算:模型迁移

不可能所有人都有能力利用大数据快速进行模型的训练。利用迁移学习的思想,我们可以将那些大

公司在大数据上训练好的模型,迁移到我们的任务中。针对于我们的任务进行微调,从而我们也可

以拥有在大数据上训练好的模型。更进一步,我们可以将这些模型针对我们的任务进行自适应更

新,从而取得更好的效果。

2.3 普适化模型与个性化需求:自适应学习

为了解决个性化需求的挑战,我们利用迁移学习的思想,进行自适应的学习。考虑到不同用户之间

的相似性和差异性,我们对普适化模型进行灵活的调整,以便完成我们的任务。

2.4 特定应用的需求:相似领域知识迁移

为了满足特定领域应用的需求,我们可以利用上述介绍过的手段,从数据和模型方法上进行迁移学

习。迁移学习属于机器学习的一类,但它在如下几个方面有别于传统的机器学习:

3. 迁移学习的研究领域 

依据目前较流行的机器学习分类方法,机器学习主要可以分为有监督、半监督和无监督机器学习三

大类。同理,迁移学习也可以进行这样的分类。需要注意的是,依据的分类准则不同,分类结果也

不同。在这一点上,并没有一个统一的说法。我们在这里仅根据目前较流行的方法,对迁移学习的

研究领域进行一个大致的划分。

大体上讲,迁移学习的分类可以按照四个准则进行:按目标域有无标签分、按学习方法分、按特征

分、按离线与在线形式分。不同的分类方式对应着不同的专业名词。当然,即使是一个分类下的 

究领域,也可能同时处于另一个分类下。下面我们对这些分类方法及相应的领域作简单描述。 

3.1 按目标域标签分

这种分类方式最为直观。类比机器学习,按照目标领域有无标签,迁移学习可以分为以下三个大

类:监督迁移学习 (Supervised Transfer Learning);半监督迁移学习 (Semi-Supervised Transfer

Learning);无监督迁移学习 (Unsupervised Transfer Learning)。显然,少标签或无标签的问题 (

监督和无监督迁移学习),是研究的热点和难点。

3.2 按学习方法分类

按学习方法的分类形式,最早在迁移学习领域的权威综述文章 [Pan and Yang, 2010] 给出定义。

它将迁移学习方法分为以下四个大类:基于样本的迁移学习方法 (Instance based Transfer

Learning);基于特征的迁移学习方法 (Feature based Transfer Learning);基于模型的迁移学习方

法 (Model based Transfer Learning);基于关系的迁移学习方法 (Relation based Transfer

Learning)。这是一个很直观的分类方式,按照数据、特征、模型的机器学习逻辑进行区分,再加

上不属于这三者中的关系模式。

基于实例的迁移,简单来说就是通过权重重用,对源域和目标域的样例进行迁移。就是说直接对不

同的样本赋予不同权重,比如说相似的样本,我就给它高权重,这样我就完成了迁移,非常简单非

常非常直接。基于特征的迁移,就是更进一步对特征进行变换。意思是说,假设源域和目标域的特

征原来不在一个空间,或者说它们在原来那个空间上不相似,那我们就想办法把它们变换到一个空

间里面,那这些特征不就相似了?这个思路也非常直接。这个方法是用得非常多的,一直在研究,

目前是感觉是研究最热的。

基于模型的迁移,就是说构建参数共享的模型。这个主要就是在神经网络里面用的特别多,因为神

经网络的结构可以直接进行迁移。比如说神经网络最经典的 finetune 就是模型参数迁移的很好的体

现。基于关系的迁移,这个方法用的比较少,这个主要就是说挖掘和利用关系进行类比迁移。比如

老师上课、学生听课就可以类比为公司开会的场景。这个就是一种关系的迁移。

目前最热的就是基于特征还有模型的迁移,然后基于实例的迁移方法和他们结合起来使用。

3.3 按特征分类

按照特征的属性进行分类,也是一种常用的分类方法。这在之前的迁移学习综述 [Weiss et al.,

2016]中给出。按照特征属性,迁移学习可以分为两个大类:同构迁移学习 (Homogeneous

Transfer Learning);异构迁移学习 (Heterogeneous Transfer Learning)。这也是一种很直观的方

式:如果特征语义和维度都相同,那么就是同构;反之,如果特征完全不相同,那么就是异构。举

个例子来说,不同图片的迁移,就可以认为是同构;而图片到文本的迁移,则是异构的。

3.4 按离线与在线形式分

按照离线学习与在线学习的方式,迁移学习还可以被分为:离线迁移学习 (Offline Transfer

Learning);在线迁移学习 (Online Transfer Learning)。目前,绝大多数的迁移学习方法,都采用

了离线方式。即,源域和目标域均是给定的,迁移一次即可。这种方式的缺点是显而易见的:算法

无法对新加入的数据进行学习,模型也无法得到更新。与之相对的,是在线的方式。即随着数据的

动态加入,迁移学习算法也可以不断地更新。

4. 迁移学习的应用

迁移学习是机器学习领域的一个重要分支。因此,其应用并不局限于特定的领域。凡是满足迁移学

习问题情景的应用,迁移学习都可以发挥作用。这些领域包括但不限于计算机视觉、文本分类、行

为识别、自然语言处理、室内定位、视频监控、舆情分析、人机交互等。

4.1 计算机视觉 

迁移学习已被广泛地应用于计算机视觉的研究中。特别地,在计算机视觉中,迁移学习方法被称为

Domain AdaptationDomain adaptation 的应用场景有很多,比如图片分类、图片哈希等。

同一类图片,不同的拍摄角度、不同光照、不同背景,都会造成特征分布发生改变。因此,使用迁

移学习构建跨领域的鲁棒分类器是十分重要的。计算机视觉三大顶会 (CVPRICCVECCV)

年都会发表大量的文章对迁移学习在视觉领域的应用进行介绍。

4.2 文本分类

由于文本数据有其领域特殊性,因此,在一个领域上训练的分类器,不能直接拿来作用到另一个领

域上。这就需要用到迁移学习。例如,在电影评论文本数据集上训练好的分类器,不能直接用于图

书评论的预测。这就需要进行迁移学习。下图一个由电子产品评论迁移到 DVD 评论的迁移学习任

务。文本和网络领域顶级会议 WWW CIKM 每年有大量的文章对迁移学习在文本领域的应用作

介绍。

4.3 时间序列-行为识别 

行为识别 (Activity Recognition) 主要通过佩戴在用户身体上的传感器,研究用户的行为。行为数据

是一种时间序列数据。不同用户、不同环境、不同位置、不同设备,都会导致时间序列数据的分布

发生变化。此时,也需要进行迁移学习。下图展示了同一用户不同位置的信号差异性。在这个领

域,华盛顿州立大学的 Diane Cook 等人发表的关于迁移学习在行为识别领域的综述文章是很好的

参考资料。

室内定位 (Indoor Location) 与传统的室外用 GPS 定位不同,它通过 WiFi、蓝牙等设备研究人在室

内的位置。不同用户、不同环境、不同时刻也会使得采集的信号分布发生变化。下图展示了不同时

间、不同设备的 WiFi 信号变化。

4.4 医疗健康 

医疗健康领域的研究正变得越来越重要。不同于其他领域,医疗领域研究的难点问题是,无法获取

足够有效的医疗数据。在这一领域,迁移学习同样也变得越来越重要。最近,顶级生物期刊细胞杂

志报道了由张康教授领导的广州妇女儿童医疗中心和加州大学圣迭戈分校团队的重磅研究成果:基

于深度学习开发出一个能诊断眼病和肺炎两大类疾病的 AI 系统 [Kermany et al., 2018],准确性匹

敌顶尖医生。这不仅是中国研究团队首次在顶级生物医学杂志发表有关医学人工智能的研究成果;

也是世界范围内首次使用如此庞大的标注好的高质量数据进行迁移学习,并取得高度精确的诊断结

果,达到匹敌甚至超越人类医生的准确性;还是全世界首次实现用 AI 精确推荐治疗手段。细胞杂

志封面报道了该研究成果。

本文内容由网友自发贡献,转载请注明出处:【wpsshop博客】
推荐阅读
相关标签
  

闽ICP备14008679号