伴随着最近几年的机器学习热潮,迁移学习 (Transfer Learning)也成为目前最炙手可热的研究方向。迁移学习强调通过不同领域之间的知识迁移,来完成传统机器学习较难完成的任务。它是解决标定数据难获取这一基础问题的重要手段,也是未来更好地研究无监督学习的重要方法。在近日雷锋网 AI研习社的公开课上,来自中国科学院计算技术研究所的在读博士王晋东带来了题为《迁移学习的发展和现状》的分享。
▷ 观看完整回顾大概需要 60 分钟
王晋东,现于中国科学院计算技术研究所攻读博士学位,研究方向为迁移学习和机器学习等。他在国际权威会议ICDM、UbiComp等发表多篇文章。同时,也是知乎等知识共享社区的机器学习达人(知乎用户名:王晋东不在家)。他还在Github上发起建立了多个与机器学习相关的资源仓库,成立了超过120个高校和研究所参与的机器学习群,热心于知识的共享。个人主页:http://jd92.wang
各位听众各位同学大家晚上好,很荣幸收到 AI研习社的邀请,这次的主题是《迁移学习的发展及现状》。
我是中国科学院计算技术研究2014级直博生王晋东,主要研究方向是迁移学习及其应用,下面是我的一些基本资料。今天主要是来分享知识,欢迎大家批评指正。
今天主要分为五部分。一是迁移学习的基本介绍,即为什么要用迁移学习;二是迁移学习方法的常见分类;三是把迁移学习与深度学习结合起来的研究;四是迁移学习的一些最新进展;五是学习资源的推荐以及总结。
先做一个小小的引子,吴恩达曾经说过,迁移学习将会是机器学习的下一个驱动力。
我们先来看一下背景:在智能大数据时代,面对数据量以及数据类型的不断增加,需要能快速构建具有强泛化能力的机器学习模型。大部分数据往往没有标注,收集标注数据或者从头开始构建模型,代价高昂且费时。这时候就产生了一个问题:如何基于已有的数据和模型,对新数据快速构建相应的模型?
这个问题引出了迁移学习,迁移学习可以解决上述标定数据难以获取的问题。
迁移学习基本思想是利用学习目标和已有知识之间的相关性,把知识从已有的模型和数据中迁移到要学习的目标上去,如下图中所示。目前,迁移学习已被广泛应用于机器学习的许多应用中。
从数据、模型和应用这三个角度来说,迁移学习都很有必要。
总的来说,迁移学习可以减少对标定数据的依赖,通过和已有数据模型之间的迁移,更好地完成机器学习任务。
下面是迁移学习的集中方法,目前常用的主要是同构和异构迁移学习,最常用的是下图右边的几种方法。
先看基于实例的迁移学习方法。假设是源域中的一些数据和目标域会共享很多共同的特征。方法是对源域进行instance reweighting,筛选出与目标域数据相似度高的数据,然后进行训练学习。
下面为大家介绍几个经典的基于实例的迁移学习方法,方法比较简单,容易实现。
第二是基于特征的迁移学习方法。
假设是源域和目标域含有一些公共的交叉特征,方法是通过特征变换,将两个域的数据变换到同一特征空间,然后进行学习。
下面是几种比较经典的方法。
第三种是基于模型的迁移学习方法。
特点是模型相同部分直接进行迁移,好处是可以直接把已有的模型拿来用,针对目标任务做相应的修改。
代表工作有下面几个比较经典的,优点是充分利用模型之间的相似性。
最后是基于关系的迁移学习方法,可以由师生关系类比上下级关系,也可以从生物病毒的传播规律类比计算机病毒的传播。
假设是如果两个域是相似的,那么它们会共享某种相似关系。方法是利用源域学习逻辑关系网络,再应用于目标域上。这部分的研究工作比较少。
下面来分析深度迁移学习。深度学习可以学习到更鲁棒的、泛化能力更强的特征表达,迁移学习能学习到领域无关的特征表达,这和深度学习不谋而合,将两者结合,能充分利用神经网络的表达能力,学习域不变的特征表示。
下面看下最近的一些工作,14年有一篇论文探讨了神经网络的可迁移性,横轴是层数,纵轴是精度。
第二篇也是14年的,这篇文章是在AlexNet的分类器层前加入domain loss层,目前引用量也比较多。
15年发表的DAN网络对AlexNet网络的后三层都进行了域适配,还利用了Multi-kernel MMD进行距离度量,这是核心的亮点贡献。
17年的ICML提出了JAN网络,两个核心贡献如下:一是联合适配x和y的分布(JMMD度量),二是在网络中加入了adversarial学习。
这个工作加了soft labels,同时进行domain和task transfer,网络看起来比较复杂,大家可以看原文,也可以看我的专栏链接。
ADDA提出用adversarial的思想去进行domain adaptation,这篇文章也特别新,代码也开源了。
以上介绍都是我认为的比较经典的方法,是目前来说在深度迁移学习里面比较好的工作。
下面来谈谈迁移学习的最新发展。做迁移学习最重要的点是找到相似度,当源域和目标域相似度减少,如何进行成功迁移呢。15年的Transitive transfer learning给我们在这个领域开辟了道路。17年的Distant domain transfer learning是对15年的论文的延伸。
第二个比较新的进展是利用物理学知识辅助学习任务。实验效果是实线部分,作者的想法非常具有开创性。
第三个是学习迁移。我的理解是把迁移学习和增量学习进行结合,作者提出从已有的知识里自动学习比较适合的算法和参数,这个很有前瞻性,也非常有意义。
下面给大家推荐一些学习资源,前面是比较经典的两个综述,第一个是杨强老师的。下面也给大家推荐一些比较知名的学者、会议、期刊等。最后是我的GitHub,在持续更新,我的知乎专栏是《小王爱迁移》,欢迎大家投稿。
今天主要是希望大家了解到迁移学习,知道迁移学习的常用方法,大概了解到深度迁移学习以及一些最新的方向。
不要等到算法出现accuracy不好、
loss很高、模型overfitting时,
才后悔没有好好掌握基础数学理论。
走稳机器学习第一步,夯实数学基础!
“线性代数及矩阵论、概率论与统计、凸优化”
3大数学基础课程,火热团购中!
扫码参团
复旦Ph.D沈志强:用于目标检测的DSOD模型(ICCV 2017)
戳阅读原文,查看更多公开课
▼▼▼