迁移学习简明⼿册
⼀点⼼得体会
版本号:v1.0
王晋东
中国科学院计算技术研究所
2018 年 4 ⽉
摘 要
迁移学习作为机器学习的⼀⼤分⽀,已经取得了长⾜的进步。本⼿册简明地介绍迁移学习
的概念与基本⽅法,并对其中的领域⾃适应问题中的若⼲代表性⽅法进⾏讲述。最后简要
探讨迁移学习未来可能的⽅向。
本⼿册编写的⽬的是帮助迁移学习领域的初学者快速⼊门并掌握基本⽅法,为⾃⼰的
研究和应⽤⼯作打下良好基础。
本⼿册的编写逻辑很简单:是什么——介绍迁移学习;为什么——为什么要⽤迁移学
习、为什么能⽤;怎么办——如何进⾏迁移 (迁移学习⽅法)。其中,是什么和为什么解决概
念问题,这是⼀切的前提;怎么办是我们的重点,也占据了最多的篇幅。为了最⼤限度地⽅
便初学者,我们还特别编写了⼀章上⼿实践,直接分享实现代码和⼼得体会。
推荐语
看了王晋东同学的“迁移学习小册⼦”,点三个赞!迁移学习被认为是机器学习的下⼀个
爆点,但介绍迁移学习的⽂章却很有限。这个册⼦深⼊浅出,既回顾了迁移学习的发展历
史,又囊括了迁移学习的最新进展。语⾔流畅,简明通透。应该对机器学习的⼊门和提⾼都
有很⼤帮助!
——杨强 (迁移学习权威学者,⾹港科技⼤学教授,IJCAI president, AAAI/ACM fel-
low)
迁移学习简明⼿册
I
5 迁移学习的基本方法
目
写在前面
致谢
手册说明
1 迁移学习基本概念
1.1 引⼦ . . . . . . . . . . . . . .
1.2 迁移学习的概念 . . . . . . . .
1.3 为什么需要迁移学习? . . . .
1.4 与已有概念的区别和联系 . .
1.5 负迁移 . . . . . . . . . . . . .
2 迁移学习的研究领域
2.1 按⽬标域标签分 . . . . . . . .
2.2 按学习⽅法分类 . . . . . . . .
2.3 按特征分类 . . . . . . . . . .
2.4 按离线与在线形式分 . . . . .
3 迁移学习的应用
3.1 计算机视觉 . . . . . . . . . .
3.2 ⽂本分类 . . . . . . . . . . .
3.3 时间序列 . . . . . . . . . . .
3.4 医疗健康 . . . . . . . . . . .
4 基础知识
4.1 迁移学习的问题形式化 . . . .
4.1.1 领域 . . . . . . . . . .
4.1.2 任务 . . . . . . . . . .
4.1.3 迁移学习 . . . . . . .
4.2 总体思路 . . . . . . . . . . .
4.3 度量准则 . . . . . . . . . . .
4.3.1 常见的⼏种距离 . . . .
4.3.2 相似度 . . . . . . . . .
4.3.3 KL 散度与 JS 距离 . .
4.3.4 最⼤均值差异 MMD .
4.3.5 Principal Angle . . . .
4.3.6 A-distance . . . . . . .
4.3.7 Hilbert-Schmidt Inde-
pendence Criterion . .
4.4 迁移学习的理论保证 * . . . .
录
18
18
19
19
20
22
22
22
22
24
25
26
26
26
28
29
30
31
31
31
32
32
34
36
37
37
41
42
42
43
47
47
48
48
50
51
II
III
1
1
1
2
4
5
7
7
7
8
8
9
9
9
10
11
12
12
12
12
12
13
14
14
14
15
15
16
16
16
16
5.1 基于样本迁移 . . . . . . . . .
5.2 基于特征迁移 . . . . . . . . .
5.3 基于模型迁移 . . . . . . . . .
5.4 基于关系迁移 . . . . . . . . .
6 第一类方法:数据分布自适应
6.1 边缘分布⾃适应 . . . . . . . .
6.1.1 基本思路 . . . . . . .
6.1.2 核⼼⽅法 . . . . . . .
6.1.3 扩展 . . . . . . . . . .
6.2 条件分布⾃适应 . . . . . . . .
6.3 联合分布⾃适应 . . . . . . . .
6.3.1 基本思路 . . . . . . .
6.3.2 核⼼⽅法 . . . . . . .
6.3.3 扩展 . . . . . . . . . .
6.4 ⼩结 . . . . . . . . . . . . . .
7 第二类方法:特征选择
7.1 核⼼⽅法 . . . . . . . . . . .
7.2 扩展 . . . . . . . . . . . . . .
7.3 ⼩结 . . . . . . . . . . . . . .
8 第三类方法:子空间学习
8.1 统计特征对齐 . . . . . . . . .
8.2 流形学习 . . . . . . . . . . .
8.3 扩展与⼩结 . . . . . . . . . .
9 深度迁移学习
9.1 深度⽹络的可迁移性 . . . . .
9.2 最简单的深度迁移:finetune .
9.3 深度⽹络⾃适应 . . . . . . . .
9.3.1 基本思路 . . . . . . .
9.3.2 核⼼⽅法 . . . . . . .
9.3.3 ⼩结 . . . . . . . . . .
9.4 深度对抗⽹络迁移 . . . . . .
9.4.1 基本思路 . . . . . . .
9.4.2 核⼼⽅法 . . . . . . .
9.4.3 ⼩结 . . . . . . . . . .
10 上手实践
I
迁移学习简明⼿册
11 迁移学习前沿
57
11.1 机器智能与⼈类经验结合迁移 57
57
11.2 传递式迁移学习 . . . . . . . .
11.3 终⾝迁移学习 . . . . . . . . .
58
59
11.4 在线迁移学习 . . . . . . . . .
60
11.5 迁移强化学习 . . . . . . . . .
11.6 迁移学习的可解释性 . . . . .
60
12 总结语
61
13 附录
62
62
13.1 迁移学习相关的期刊和会议 .
62
13.2 迁移学习研究学者 . . . . . .
13.3 迁移学习资源汇总 . . . . . .
65
13.4 迁移学习常⽤算法及数据资源 66
II
迁移学习简明⼿册
写在前面
⼀直以来都有这样的愿望:⽆论学习什么知识,总是希望可以快速准确地找到对应的
有价值资源进⾏学习。我相信我们每个⼈都梦寐以求。然⽽,越来越多的学科,尤其是我⽬
前从事的计算机科学、⼈⼯智能领域,当下正在飞速地发展着。太多的新知识都难以事半功
倍地找到快速⼊⼿的教程。庄⼦⽈:“吾⽣也有涯,⽽知也⽆涯。以有涯随⽆涯,殆已。”
我只是迁移学习领域⼀个很普通的博⼠⽣,也同样经历了由“⼀问三不知”到“稍稍理解”
的艰难过程。我在 2016 年初⼊门迁移学习之时,迁移学习这个概念还未曾像今天⼀样炙⼿
可热。当时所能找到的学习资源只有两种:别⼈已发表的论⽂和已做过的演讲。这些还是不
够简单、不够直观。我需要从如此众多的材料中不断归纳,才能站在博⼠研究的那个圈⼦的
边缘,以便将来可以做出⼀点点贡献,往圆圈外突破⼀点点。
相信不只是我,任何⼀个刚刚⼊门的学习者都会经历此过程。
“沉⾈侧畔千帆过,病树前头万⽊春。”
已所不欲,勿施于⼈。正是因为我在初学之时也经历过如此沮丧的时期,我才在 Github
上对迁移学习进⾏了整理归纳,在知乎⽹上以“王晋东不在家”为名分享⾃⼰对于迁移学习和
机器学习的理解和教训、在线上线下与⼤家讨论相关的问题。很欣慰的是,这些免费开放的
资源或多或少地,帮助到了⼀些初学者,使他们更快速地步⼊迁移学习之门。
但这些还是不太够。Github 上的资源模式已经固定,⽬前主要是进⾏⽇常更新,不断
加⼊新的论⽂和代码。⽬前还是缺乏⼀个⼈⼈都能上⼿的初学者教程。也只⼀次,有读者提
问有没有相关的⼊门教程,能真正从 0 到 1 帮助初学者进⾏⼊门。
最近,南京⼤学博⼠ (现任旷视科技南京研究院负责⼈) 魏秀参学长写了⼀本《解析卷
积神经⽹络—深度学习实践⼿册》,给很多深度学习的初学者提供了帮助。受他的启发,我
也决定将⾃⼰在迁移学习领域的⼀些学习⼼得体会整理成⼀本⼿册,免费进⾏分享。希望
能借此⽅式,帮助更多的初学者。我们不谈风月,只谈⼲货。
我不是⼤佬,我也是迁移学习路上的⼀名⼩学⽣。迁移学习领域⽐我做的好的同龄⼈
太多了。因此,不敢谈什么指导。所有的⽬的都仅为分享。
本⼿册在互联⽹上免费开放。随着作者理解的深⼊ (以及其他有意者的增补),本⼿册
肯定会不断修改、越来越好。因此,我打算效仿软件的开发、采取版本更新的⽅式进⾏管理。
希望未来可以有更多的有志之⼠加⼊,让我们的教程⽇渐丰富。
I
迁移学习简明⼿册
致谢
本⼿册编写过程中得到了许多⼈的帮助。在此对他们表⽰感谢。
感谢我的导师、中国科学院计算技术研究所的陈益强研究员。是他⼀直以来保持着对
我的信⼼,相信我能做出好的研究成果,不断⿎励我,经常与我讨论以明确问题,才有了今
天的我。陈⽼师给我提供了优良的实验环境。我⼀定会更加努⼒地科研,做出更多更好的研
究成果。
感谢⾹港科技⼤学计算机系的杨强教授。杨教授作为迁移学习领域国际泰⽃,经常不
厌其烦地回答我⼀些研究上的问题。能够得到杨教授的指导,是我的幸运。希望我能在杨教
授带领下,做出更踏实的研究成果。
感谢新加坡南洋理⼯⼤学的于涵⽼师。作为我论⽂的共同作者,于⽼师认真的写作态
度、对论⽂的把控能⼒是我⼀直学习的榜样。于⽼师还经常⿎励我,希望可以和于⽼师有着
更多合作,发表更好的⽂章。
感谢清华⼤学龙明盛助理教授。龙⽼师在迁移学习领域发表了众多⾼质量的研究成果,
是我⼊门时学习的榜样。龙⽼师还经常对我的研究给予指导。希望有机会可以真正和龙⽼
师合作。
感谢美国伊利诺伊⼤学芝加哥分校的 Philip S. Yu 教授对我的指导和⿎励。
感谢新加坡 A*STAR 的郝书吉⽼师。我博⼠⽣涯的发表的第⼀篇论⽂是和郝⽼师合作
完成的。正是有了第⼀篇论⽂被发表,才增强了我的⾃信,在接下来的研究中放平⼼态。
感谢我的好基友、西安电⼦科技⼤学博⼠⽣段然同学和我的同病相怜,让我们可以⼀
起吐槽读博⽣活。
感谢我的室友沈建飞、以及实验室同学的⽀持。
感谢我的知乎粉丝和所有交流过迁移学习的学者对我的⽀持。
最后感谢我的⼥友和⽗母对我的⽀持。
本⼿册中出现的插图,绝⼤多数来源于相应论⽂的配图。感谢这些作者做出的优秀的
研究成果。希望我能早⽇作出可以⽐肩的研究。
II
迁移学习简明⼿册
说明
本⼿册的编写⽬的是帮助迁移学习领域的初学者快速进⾏⼊门。我们尽可能绕开那些
⾮常理论的概念,只讲经验⽅法。我们还配有多⽅⾯的代码、数据、论⽂资料,最⼤限度地
⽅便初学者。
本⼿册的⽅法部分,关注点是近年来持续⾛热的领域⾃适应 (Domain Adaptation) 问
题。迁移学习还有其他众多的研究领域。由于作者研究兴趣所在和能⼒所限,对其他部分的
研究只是粗略介绍。⾮常欢迎从事其他领域研究的读者提供内容。
本⼿册的每⼀章节都是自包含的,因此,初学者不必从头开始阅读每⼀部分。直接阅读
⾃⼰需要的或者⾃⼰感兴趣的部分即可。本⼿册每⼀章节的信息如下:
第 1 章介绍了迁移学习的概念,重点解决什么是迁移学习、为什么要进⾏迁移学习这
两个问题。
第 2 章介绍了迁移学习的研究领域。
第 3 章介绍了迁移学习的应⽤领域。
第 4 章是迁移学习领域的⼀些基本知识,包括问题定义,域和任务的表⽰,以及迁移
学习的总体思路。特别地,我们提供了较为全⾯的度量准则介绍。度量准则是迁移学习领域
重要的⼯具。
第 5 章简要介绍了迁移学习的四种基本⽅法,即基于样本迁移、基于特征迁移、基于
模型迁移、基于关系迁移。
第 6 章到第 8 章,介绍了领域⾃适应的 3 ⼤类基本的⽅法,分别是:数据分布⾃适应
法、特征选择法、⼦空间学习法。
第 9 章重点介绍了⽬前持续最⽕的深度迁移学习⽅法。
第 10 章提供了简单的上⼿实践教程。
第 11 章对迁移学习进⾏了展望,提出了未来⼏个可能的研究⽅向。
第 12 章是对全⼿册的总结。
第 13 章是附录,提供了迁移学习领域相关的学习资源,以供读者参考。
由于作者⽔平有限,不⾜和错误之处,敬请不吝批评指正。
作者的联系⽅式:
邮箱: jindongwang@outlook.com,知乎: 王晋东不在家。
微博: 秦汉日记,个⼈⽹站:http://jd92.wang。
III