综述:迁移学习发展现状及未来趋势
the definition of transfer learning
Data
- Feature space
source domain和target domain特征空间的一致性 - Data availabilit
训练阶段,target domain数据集是否可用,是否充足 - Balanced data
每个类别之间数据量是否平衡 - Sequential data
数据是否为序列数据
Label
- Label availability
source domain和target domain的标签是否可用 - Label space
两个数据集之间类别是否一致
Taxonomy Different Views
By Data Distribution
- Inductive TL
- Transductive TL
- Unsupervised TL
By Methodology
-
Instance-based transfer
基于实例的迁移学习旨在通过特殊的加权方式,从source domain选择部分实例作为target domain数据的补充。该方法基于假设,“尽管两个domain是不同的领域,但是source domain中的部分实例仍然是可以被source domain以一定比例利用,用于提升模型效果”。
图中亮蓝色的source domain实例与target domain实例不相似,则应该被排除,而暗蓝色与target domain相似,则应该以一定比例加入target domain进行训练。
- Feature representation based transfer
- Asymmetric feature-based transfer learning
-
Symmetric feature-based transfer learning
source domain和target domain只有部分重叠的特征(大量的特征只出现在某一个domain中),通过学习一个好的特征表示来减少领域之间的偏差,最终减少学习误差
基于对抗学习的深度迁移学习方法,旨在通过引入对抗学习技术来找到同时适合source domain和target domain的特征表示。该方法基于假设,“对于有效的迁移,良好的特征表示是对主要的学习任务具有区分性,而对于source domain和target domain不加区分“。
针对source domain的大量数据进行训练的过程中,网络的前面几层可以看作特征抽取器。该特征抽取器抽取两个domain的特征,然后输入对抗网络;对抗网络尝试对特征进行区分。如果对抗网络对特征较难区分,则意味着两个domain的特征区分性较小、具有很好的迁移性,反之亦然。
最近几年,由于其良好的性能和实用性,基于对抗学习的深度迁移学习方法被广泛的研究。
-
Parameter-based Transfer Learning Approaches
target domain和source domian的任务之间共享相同的模型参数(model parameters)或者是服从相同的先验分布(prior distribution)
旨在重用在source domain预训练的部分模型,包括网络结构和连接参数。通过迁移部分预训练模型的结构和参数来进行target domain的训练。该方法基于假设,”神经网络与人脑处理机制相似,它是一个迭代和连续的抽象过程。神经网络的前面几层可以被看作特征抽取器,其抽取的特征是丰富多样的“。
-
Relational Transfer Learning Approaches
通过将source domain和target domain映射到一个新的数据空间。在这个新的数据空间中,来自两个domain的实例相似且适用于联合深度神经网络。该方法基于假设,“尽管source domain和target domain不相同,但是在精心设计的新数据空间中,它们可以更相似“。
- Hybrid-based (instance and parameter) transfer learning
Domain characteristics
- Homogeneous feature spaces and label spaces
特征空间和label空间相同,但是数据分布不同(过去1年的数据,最近三个月的数据)。- Labelled Target Dataset
- Labelled Plus Unlabelled Target Dataset
- Unlabelled Target Dataset
- Imbalanced Unlabelled Target Dataset
- Sequential Labelled Target Data
- Sequential Unlabelled Target Data
- Unavailable Target Data
- Heterogeneous label spaces
特征空间相同,label空间不同(不同的task,feature空间相同,label不同)。举个例子:匹配任务中,包含query和answer,对query执行NLU意图识别,可以得到意图标签,最终我们可以通过multi-task对模型进行训练。- Labelled Target Dataset
- Unlabelled Target Dataset
- Sequential Labelled Target Data
- Unavailable Target Data
- Unlabelled Source Dataset
- Heterogeneous feature spaces
label空间相同,特征空间不同(服装评论、美妆评论,domain不同,label相同)。举个例子:不同行业的匹配任务,最终的目标都是判断是否相似(0或者1),但是不同行业的特征空间是不同的。- Labelled Target Dataset
- Labelled Plus Unlabelled Target Dataset
- Unlabelled Target Dataset
- Heterogeneous feature spaces and label spaces
特征空间和label空间均不同(服装行业、美妆行业)。举个例子:不同行业的分类任务,特征空间不同,label空间同样不同。- Labelled Target Dataset
- Sequential Labelled Target Data
By Scene and algorithm
- General Transfer Learning
- Domain Adaptation
- Domain Generalization
- Multi-source Transfer Learning
- Zero-shot / Few-shot Learning
- Deep Transfer Learning
- Multi-task Learning
- Transfer Reinforcement Learning
- Transfer Metric Learning
- Transitive Transfer Learning
- Lifelong Learning
- Negative Transfer
Conclusion
未来的研究中,有几个问题需要被重点研究。
首先,如何避免负迁移是一个公开的问题。大部分迁移学习算法假设source domain和target domain在某些场景存在相关性;一旦该假设不成立,就有可能在实验的过程中产生负迁移,结果就是迁移的效果比不迁移还要差。因此如果确保不会产生负迁移是迁移学习领域的一个非常重要的问题。为了避免负迁移的发生,在实验初期我们应该研究source domain、source task、target domain和target task之间的可迁移性。基于适当的迁移测试,选择相关source domain和task来抽取知识进行target task学习。为了定义domain和task之间的可迁移性,我们也需要定义domain之间或者task之间相似性标准。基于距离的度量,我们可以对domain或者task进行聚类,这可能会对迁移性测量带来帮助。一个相关的问题是,如果整个domain不适合做迁移时,我们是否可以利用其中的部分知识进行迁移?
其次,大部分迁移学习算法都关注于当source domain和target domain具有不同分布时,如何提升模型的泛化性。为了实现该想法,我们假设source domain和target domain之间的特征空间是相同的;然而,在大量的实际应用中,我们可能希望对不同特征空间的domain进行迁移,我们常叫该类算法为异构迁移学习。
迁移学习被归纳为4类:基于实例的深度迁移学习、基于映射的迁移学习、基于网络的迁移学习和基于对抗的迁移学习。在大部分实际应用中,上述方法被组合应用以获得更好的模型性能。当前大量的迁移学习研究都关注于有监督学习领域,未来深度学习在无监督和半监督领域可能会受到越来越多的关注。在传统迁移学习算法中,负迁移和迁移学习衡量方式是一个非常关键的问题,这也是在深度迁移学习中需要我们更加关注的研究。可以预见,随着深度学习的快速发展,深度迁移学习将会被广泛的应用在一些具有挑战性的课题上。
参考文献
- A Survey on Deep Transfer Learning
- Domain adversarial neural networks
- A Survey on Transfer Learning