浅说“迁移学习”(Transfer Learning)

—— 原文发布于本人的微信公众号“大数据与人工智能Lab”(BigdataAILab),欢迎关注。算法

 

什么是迁移学习?微信

迁移学习(Transfer Learning)是一种机器学习方法,是把一个领域(即源领域)的知识,迁移到另一个领域(即目标领域),使得目标领域可以取得更好的学习效果。dom

一般,源领域数据量充足,而目标领域数据量较小,这种场景就很适合作迁移学习,例如咱们咱们要对一个任务进行分类,可是此任务中数据不充足(目标域),然而却又大量的相关的训练数据(源域),可是此训练数据与所需进行的分类任务中的测试数据特征分布不一样(例如语音情感识别中,一种语言的语音数据充足,然而所需进行分类任务的情感数据却极度缺少),在这种状况下若是能够采用合适的迁移学习方法则能够大大提升样本不充足任务的分类识别结果。机器学习

 

为何如今须要迁移学习?学习

前百度首席科学家、斯坦福的教授吴恩达(Andrew Ng)在曾经说过:「迁移学习将会是继监督学习以后的下一个机器学习商业成功的驱动力」。 测试

在本次2016年的 NIPS 会议上,吴恩达 给出了一个将来 AI方向的技术发展图,仍是很客观的: 大数据

毋庸置疑,监督学习是目前成熟度最高的,能够说已经成功商用,而下一个商用的技术 将会是 迁移学习(Transfer Learning),这也是 Andrew 预测将来五年最有可能走向商用的 AI技术。编码

吴恩达在一次采访中,也提到迁移学习会是一个颇有活力的领域,咱们之因此对迁移学习感到兴奋,其缘由在于现代深度学习的巨大价值是针对咱们拥有海量数据的问题。可是,也有不少问题领域,咱们没有足够数据。好比语音识别。在一些语言中,好比普通话,咱们有不少数据,可是那些只有少数人说的语言,咱们的数据就不够庞大。因此,为了针对数据量不那么多的中国少数人所说的方言进行语音识别,能将从学习普通话中获得的东西进行迁移吗?咱们的技术确实能够作到这一点,咱们也正在作,可是,这一领域的进步能让人工智能有能力解决普遍得多的问题。人工智能

 

传统的机器学习与迁移学习有什么不一样呢?翻译

在机器学习的经典监督学习场景中,若是咱们要针对一些任务和域 A 训练一个模型,咱们会假设被提供了针对同一个域和任务的标签数据。以下图所示,其中咱们的模型 A 在训练数据和测试数据中的域和任务都是同样的。 

即便是跟迁移学习比较类似的多任务学习,多任务学习是对目标域和源域进行共同窗习,而迁移学习主要是对经过对源域的学习解决目标域的识别任务。下图就展现了传统的机器学习方法与迁移学习的区别: 

什么适合迁移?

在一些学习任务中有一些特征是个体所特有的,这些特征不能够迁移。而有些特征是在全部的个体中具备贡献的,这些能够进行迁移。

有些时候若是迁移的不合适则会致使负迁移,例如当源域和目标域的任务绝不相关时有可能会致使负迁移。

 

迁移学习的分类

根据 Sinno Jialin Pan 和 Qiang Yang 在 TKDE 2010 上的文章,可将迁移学习算法,根据所要迁移的知识表示形式(即 “what to transfer”),分为四大类:

  • 基于实例的迁移学习(instance-based transfer learning):源领域(source domain)中的数据(data)的某一部分能够经过reweighting的方法重用,用于target domain的学习。

  • 基于特征表示的迁移学习(feature-representation transfer learning):经过source domain学习一个好的(good)的特征表示,把知识经过特征的形式进行编码,并从suorce domain传递到target domain,提高target domain任务效果。

  • 基于参数的迁移学习(parameter-transfer learning):target domain和source domian的任务之间共享相同的模型参数(model parameters)或者是服从相同的先验分布(prior distribution)。

  • 基于关系知识迁移学习(relational-knowledge transfer learning):相关领域之间的知识迁移,假设source domain和target domain中,数据(data)之间联系关系是相同的。

前三类迁移学习方式都要求数据(data)独立同分布假设。同时,四类迁移学习方式都要求选择的sourc doma与target domain相关,

下表给出了迁移内容的迁移学习分类: 

迁移学习的应用

用于情感分类,图像分类,命名实体识别,WiFi信号定位,自动化设计,中文到英文翻译等问题。

 

迁移学习的价值

  • 复用现有知识域数据,已有的大量工做不至于彻底丢弃;

  • 不须要再去花费巨大代价去从新采集和标定庞大的新数据集,也有可能数据根本没法获取;

  • 对于快速出现的新领域,可以快速迁移和应用,体现时效性优点。

 

总结

总之,迁移学习将会成为接下来使人兴奋的研究方向,特别是许多应用须要可以将知识迁移到新的任务和域中的模型,将会成为人工智能的又一个重要助推力。

 

欢迎关注本人的微信公众号“大数据与人工智能Lab”(BigdataAILab),获取更多资讯