论文: A Survey on Transfer Learning
期刊会议:IEEE TRANSACTIONS ON KNOWLEDGE AND DATA ENGINEERING
时间:2010
级别:CCF A
论文: A Survey on Deep Transfer Learning
期刊会议:International Conference on Artificial Neural Networks, Rhodes, Greece, October 4-7, 2018, Proceedings
时间:2018
级别:CCF C
1、为什么需要迁移
- Transfer Learning:许多机器学习和数据挖掘算法的一个主要假设是,训练数据和未来数据必须在相同的特征空间中,并且具有相同的分布。然而,在许多实际应用程序中,这种假设可能不成立。
- Deep Transfer Learning:训练数据不足是一些特殊领域无法回避的问题。
- 数据的收集复杂且昂贵,这使得构建大规模、高质量的注释数据集变得极其困难
- 即使我们付出昂贵的代价获得训练数据集,也很容易过时,从而无法有效地应用于新任务(这和Transfer Learning中提到的原因是一致的,即训练集和测试集可能不遵循独立同分布的假设)
总结:本质上使用迁移学习的原因就是:训练数据不足
2、迁移学习的目的
从一个或多个源任务中提取知识,并将知识应用到目标任务中,解决:
- 目标域数据标签较少或者无标签的问题
- 重新训练模型耗费大量训练资源的问题
- 数据变化较大一段时间后模型失效的问题
总结:解决训练数据不足问题和减少训练代价
3、范式
总体过程:什么时候迁移(when) → \rightarrow →迁移什么(what) → \rightarrow → 怎么迁移(how)
注:范式是我自己推断出来的,不是论文中写出的
Transfer Learning:
Deep Transfer Learning:
4、每一个步骤的目的
什么时候迁移(when) → \rightarrow →迁移什么(what) → \rightarrow → 怎么迁移(how)
- when: 什么情况可以迁移,即能否进行迁移,因为有时对于两个差距较大的领域,强行迁移反而会造成负迁移
- what:寻找对于源域和目的域通用的“知识”。按照下文的“按照迁移什么对迁移方法进行分类”,那么这里指的‘知识’指的应该是 ‘特征’、‘参数’,‘关系’等。
- how:根据what 找到的通用的知识选择合适的方法进行迁移
5、分类及分类原因
6.1 Transfer Learning
基于源域和目标域和任务之间的不同情况进行分类
-
(归纳)推导迁移学习(inductive transfer learning):目标任务和源任务不同,无论目标域与源域是否相同。在这种情况下,需要目标域中的一些标记数据来导出用于目标域的客观预测模型 f T ( ⋅ ) f_T (·) fT(⋅)
-
(直推式)转导迁移学习(transductive transfer learning): 源任务和目标任务相同,源域和目标域不同。
-
无监督迁移学习(unsupervised transfer learning):目标任务与源任务不同但相关。然而,无监督迁移学习专注于解决目标域中的无监督学习问题,如聚类、降维、密度估计。这种情况下,训练中源域和目标域都无已标注数据可用
按照迁移什么,又可以分为如下四类方法:
- 基于实例的迁移学习:重新加权源域中的一些标记数据以用于目标域 ⇒ \Rightarrow ⇒ ?
- 基于特征表示的迁移学习:找到一个“好的”特征表示,减少源域和目标域之间的差异以及分类和回归模型的错误 * ⇒ \Rightarrow ⇒ 特征
- 基于参数的迁移学习:发现源域和目标域模型之间的共享参数或先验,这有利于迁移学习 ⇒ \Rightarrow ⇒ 参数或先验
- 基于关系的知识迁移学习:在源域和目标域之间构建关系知识的映射。两个域都是关系域并且 i.i.d 假设在每个域中都放宽了 ⇒ \Rightarrow ⇒ 关系?
其中方法和类别的对应如下:
6.2 Deep Transfer Learning
基于使用的技术进行分类:
- 基于实例的深度迁移学习
- 基于映射的深度迁移学习
- 基于网络的深度迁移学习
- 基于对抗的深度迁移学习