迁移学习

迁移学习是一种机器学习方法,就是把为任务 A 开发的模型作为初始点,重新使用在为任务 B 开发模型的过程中。迁移学习是通过从已学习的相关任务中转移知识来改进学习的新任务,虽然大多数机器学习算法都是为了解决单个任务而设计的,但是促进迁移学习的算法的开发是机器学习社区持续关注的话题。 迁移学习对人类来说很常见,例如,我们可能会发现学习识别苹果可能有助于识别梨,或者学习弹奏电子琴可能有助于学习钢琴。

简介

迁移学习是通过从已学习的相关任务中转移知识来改进学习的新任务,虽然大多数机器学习算法都是为了解决单个任务而设计的,但是促进迁移学习的算法的开发是机器学习社区持续关注的话题。迁移学习对人类来说很常见,例如,我们可能会发现学习识别苹果可能有助于识别梨,或者学习弹奏电子琴可能有助于学习钢琴。

迁移学习准确的定义为:

给定由特征空间X和边缘概率分布P(X)组成的源域(source domain)$D_s$和学习任务$T_s$,和同样由特征空间和边缘概率分布组成的目标域(target domain)$D_t$和学习任务$T_t$,迁移学习的目的在于利用$D_s$和$T_s$中的知识来帮助学习在目标域$D_t$的目标函数$f_T(·)$的过程,注意$D_s$与$D_t$不相等、$T_s$与$T_t$不相等。

由下图可以看出迁移学习和传统机器学习的区别,在传统机器学习的学习过程中,我们试图单独学习每一个学习任务,即生成多个学习系统;而在迁移学习中,我们试图将在前几个任务上学到的知识转移到目前的学习任务上,从而将其结合起来。

[图片来源:Pan, S. J., & Yang, Q. (2010). A survey on transfer learning. IEEE Transactions on Knowledge and Data Engineering, 22(10), 1345–1359.]

迁移学习在深度学习上的应用有两种策略,但目前这两种策略的命名还没有统一。一种策略是微调(finetuning)——其中包括使用基础数据集上的预训练网络以及在目标数据集中训练所有层;另一种则是冻结与训练(freeze and train)——其中包括冻结除最后一层的所有层(权重不更新)并训练最后一层。当然迁移学习并不仅仅局限于深度学习,但目前在深度学习上的应用确实很多。

[描述来源:Soria E.; Martin J.; Magdalena R.; Martinez M.; Serrano A.(2009). Handbook of Research on Machine Learning Applications. IGI Global. ]

[描述来源: Pan, S. J., & Yang, Q. (2010). A survey on transfer learning. IEEE Transactions on Knowledge and Data Engineering, 22(10), 1345–1359.]

发展历史

描述

最早在机器学习领域引用迁移(transfer)这个词的是Lorien Pratt,他在1993年制定了基于可区分性转移(DBT)算法。但在一段时间内,有关迁移学习的研究的名字各不相同,有learning to learn, knowledge transfer, inductive transfer, multi-task learning等等。1997年,机器学习(Machine Learning)杂志发表了一篇专门讨论转移学习的专题,到1998年,迁移学习已经成为了比较完整的学习领域,包括多任务学习(multi-task learning),以及对其理论基础的更正式分析。

2005年,DoAndrew Ng探讨了在文本分类中应用迁移学习的方法,2007Mihalkova等学者开发了用于马尔可夫逻辑网络(Markov Logic Networks)的转移学习算法。同年,Niculescu-Mizil等学者讨论了迁移学习在贝叶斯网络中的应用。2012Lorien PrattSebastian Thrun出版了Learning to Learn,对迁移学习的发展进行了回顾。

在深度学习大行其道的今天,由于神经网络的训练越来越费时,同时其需要的数据集大小也不是在所有情况下都能满足的,因此使用已经训练好的神经网络进行其他任务变得越来越流行,迁移学习也变得越来越重要。2016Andrew Ng NIPS 2016大会上提出迁移学习是机器学习获得商业上的成功的下一个动力。

主要事件

1993

Lorien Pratt在机器学习领域引用迁移这个词

Pratt L. Y. (1993).Discriminability-based transfer between neural networks.NIPS Conference: Advances in Neural Information Processing Systems 5.pp. 204–211.

1997

机器学习(Machine Learning)杂志发表了一篇专门讨论转移学习的专题

Pratt L. Y.; Thrun S. (1997).Machine Learning - Special Issue on Inductive Transfer. Springer.

2005

Do和Andrew Y. Ng探讨了在文本分类中应用迁移学习的方法

Do, Chuong B.; Andrew Y. Ng.(2005). Transfer learning for text classification. NIPS*2005 Online Papers.

2007

Mihalkova等学者开发了用于马尔可夫逻辑网络(Markov Logic Networks)的转移学习算法

Mihalkova L.; Huynh T.; Mooney R. J. (2007),Mapping and Revising Markov Logic Networks for Transfer.Learning Proceedings of the 22nd AAAI Conference on Artificial Intelligence (AAAI-2007).pp. 608–614,

2007

Niculescu-Mizil等学者讨论了迁移学习在贝叶斯网络中的应用

Niculescu-Mizil, A.; Caruana R. (2007), Inductive Transfer for Bayesian Network Structure Learning. Proceedings of the Eleventh International Conference on Artificial Intelligence and Statistics (AISTATS 2007).

发展分析

瓶颈

目前关于迁移学习的研究方兴未艾,因此与其说是瓶颈,以下提到的几点更算是目前迁移学习应用中的难点。其一,如何在现有的训练好的模型中选择合适当前任务的模型;其二,如何确定还需要多少数据来训练模型;其三,预训练应该在什么时候停止;其四,当出现新的数据或更好的算法,如何更新预训练模型。

未来发展方向

有关神经网络的迁移学习是一个热点,上文提到的几个难点,以及强化学习的迁移学习等都有很多相关研究。

Contributor: Yuanyuan Li

相关人物
Lorien Pratt
Lorien Pratt
杨强
杨强
杨强现任香港科技大学新明工程学讲席教授、计算机科学和工程学系主任,大数据研究所所长 。他是人工智能研究的国际专家和领军人物,在学术界和工业界做出了杰出的服务和贡献,尤其近些年为中国人工智能(AI)和数据挖掘(KDD)的发展起了重要引导和推动作用。
吴恩达
吴恩达
斯坦福大学教授,人工智能著名学者,机器学习教育者。2011年,吴恩达在谷歌创建了谷歌大脑项目,以通过分布式集群计算机开发超大规模的人工神经网络。2014年5月16日,吴恩达加入百度,负责“百度大脑”计划,并担任百度公司首席科学家。2017年3月20日,吴恩达宣布从百度辞职。2017年12月,吴恩达宣布成立人工智能公司Landing.ai,并担任公司的首席执行官。2018年1月,吴恩达成立了投资机构AI Fund。
塞巴斯蒂安 · 史朗
塞巴斯蒂安 · 史朗
Sebastian Thrun 是德国的创新者,企业家教育家和计算机科学家。他是 Kitty Hawk Corporation 的首席执行官,也是 Udacity 的董事长兼联合创始人。在此之前,他曾担任谷歌副总裁兼研究员,斯坦福大学计算机科学教授,之前是卡内基梅隆大学。在谷歌,他创立了谷歌 X 和谷歌的自动驾驶汽车团队。
简介
相关人物