当前的数据挖掘和机器学习技术(分类、回归和聚类)的大部分研究的前提是训练数据和测试数据拥有相同的特征空间和分布。若分布发生改变,则需要根据新的数据重新训练模型,这样通常会带来较大的成本开销(比如有的数据较难恢复,或者需要重新标记数据)。
论文中针对迁移学习的应用场景给了三个例子:
传统机器学习方法在以往收集到的有标签或无标签数据上训练统计模型,随后对未来数据做预测。半自监督分类用于训练数据中有大量无标注数据和少量有标注数据的场景。还有一些其他的学习方法。但是绝大多数都假设有标注和无标注数据的分布是相同的。
迁移学习的研究自1995年开始,包括多种叫法:学习学习(learning to learn)、终身学习(lief-long learning)、知识迁移(knowledge transfer)、归纳学习(inductive transfer)、多任务学习(multitask learning)、知识巩固(knowledge consolidation)、上下文敏感学习(context-sensitive learning)、基于知识的归纳偏移(knowledge-based inductive bias)、元学习(metalearning)、增量/累积学习(incremental/cumulative learning)。
05年提出迁移学习的任务,即一个系统所具有将以往任务学习到的知识和技巧应用到新任务中的能力。
定义——域(domain):
定义域(domain)KaTeX parse error: Undefined control sequence: \set at position 13: \mathcal{D}=\̲s̲e̲t̲{\mathcal{X},P(… , X \mathcal{X} X 表示特征空间, P ( X ) P(X) P(X)表示边缘分布概率,其中 KaTeX parse error: Undefined control sequence: \set at position 3: X=\̲s̲e̲t̲{x_1,\cdots,x_n…
对于文档分类任务,所有单词项都被看做二元量(1 or 0),一篇文章可以看做一个由布尔型构成的向量,表示每个单词项有或者没有。则 X \mathcal{X} X 是由所有这些向量构成的空间, X X X 是特定的某一个学习任务。
定义——任务(task):
定义任务(task)KaTeX parse error: Undefined control sequence: \set at position 13: \mathcal{T}=\̲s̲e̲t̲{\mathcal{Y},f(…, Y \mathcal{Y} Y 表示标签空间, f ( ⋅ ) f(\cdot) f(⋅) 表示未被观测到,但可以从训练数据(由KaTeX parse error: Undefined control sequence: \set at position 1: \̲s̲e̲t̲{x_i,y_i}对组成)中学习到的目标预测函数。其用于预测某一实例的标签。从概率角度, f ( x ) f(x) f(x) 也可以被写成 P ( y ∣ x ) P(y|x) P(y∣x)
定义——源域数据(source domain data)与目的域数据(target domain data):
源域数据 KaTeX parse error: Undefined control sequence: \set at position 5: D_S=\̲s̲e̲t̲{(x_{S_1},y_{S_…,目标域数据 KaTeX parse error: Undefined control sequence: \set at position 5: D_T=\̲s̲e̲t̲{(x_{T_1},y_{T_…,通常情况下 0 ≤ n T < < n T 0\leq n_T<
0≤nT<<nT
随后可以通过域以及任务的概念来定义迁移学习
定义——迁移学习(transfer learning):
给定源域 D S \mathcal{D}_S DS 和学习任务 T S \mathcal{T}_S TS,目标域 D T \mathcal{D}_T DT 和学习任务 T T \mathcal{T}_T TT,在 D S ≠ D T \mathcal{D}_S\neq\mathcal{D}_T DS=DT 或 T S ≠ T T \mathcal{T}_S\neq\mathcal{T}_T TS=TT 的情况下,迁移学习应使用在 D S \mathcal{D}_S DS 和 T S \mathcal{T}_S TS 中学习到的知识来改善对目标预测函数 f T ( ⋅ ) f_T(\cdot) fT(⋅) 的学习过程
可以看到,迁移学习的目标是通过在源域和源任务上学习到的知识,改善在目标域和目标任务上的学习过程。源域和目标域相同与否、源任务与目标任务相同与否构成了不同的迁移任务类型。
作者将当前的迁移学习分为3类,分别是Inductive Transfer Learning、Transductive Transfer Learning和Unsupervised Transfer Learning。
定义——归纳迁移学习(Inductive Transfer Learning):
给定源域 D S \mathcal{D}_S DS 和学习任务 T S \mathcal{T}_S TS,目的域 D T \mathcal{D}_T DT 和学习任务 T T \mathcal{T}_T TT,Inductive Transfer Learning 目标是在 T S ≠ T T \mathcal{T}_S\neq\mathcal{T}_T TS=TT 的条件下,通过在 D S \mathcal{D}_S DS 和 T S \mathcal{T}_S TS 上学习到的知识改善在 D T \mathcal{D}_T DT 上学习目标预测函数 f T ( ⋅ ) f_T(\cdot) fT(⋅) 上的学习过程。
在该类迁移学习中,目的域上存在有标签的数据,根据源域数据是否有标签,可以进一步分类。若源域数据也存在标签,则类似于多任务学习(multitask learning),但是迁移学习仅负责在目的域上获得较高的性能。若源域数据无标签,则类似于自学习(self-taught learning)。
定义——直推迁移学习(Transductive Transfer Learning):
给定源域 D S \mathcal{D}_S DS 和学习任务 T S \mathcal{T}_S TS,目的域 D T \mathcal{D}_T DT 和学习任务 T T \mathcal{T}_T TT,Transductive Transfer Learning 目标是在 T S = T T , D S ≠ D T \mathcal{T}_S=\mathcal{T}_T,\mathcal{D}_S\neq\mathcal{D}_T TS=TT,DS=DT 的条件下,通过在 D S \mathcal{D}_S DS 和 T S \mathcal{T}_S TS 上学习到的知识改善在 D T \mathcal{D}_T DT 上学习目标预测函数 f T ( ⋅ ) f_T(\cdot) fT(⋅) 上的学习过程。
在该类迁移学习中,目的域数据无标签,根据源域与目的域不同的两种情况,可以进一步分类。第一类是特征空间不同。第二类是特征空间相同,但边缘概率分布不同,该情况下类似于文本分类中知识迁移的域适应(domain adaptation for knowledge transfer in text classification),样本选择偏差(sample selection bias)或者协方差偏移(covariate shift)
定义——无监督迁移学习(Unsupervised Transfer Learning):
给定源域 D S \mathcal{D}_S DS 和学习任务 T S \mathcal{T}_S TS,目的域 D T \mathcal{D}_T DT 和学习任务 T T \mathcal{T}_T TT,Unsupervised Transfer Learning 目标是在 T S ≠ T T \mathcal{T}_S\neq\mathcal{T}_T TS=TT 并且无法观测到 Y S , Y T \mathcal{Y}_S,\mathcal{Y}_T YS,YT的条件下,通过在 D S \mathcal{D}_S DS 和 T S \mathcal{T}_S TS 上学习到的知识改善在 D T \mathcal{D}_T DT 上学习目标预测函数 f T ( ⋅ ) f_T(\cdot) fT(⋅) 上的学习过程。
该类迁移学习任务中,目的域与源域数据无标签。
知识迁移需要明确迁移的知识实体,一共有三类不同的迁移对象:
不同迁移学习类型与迁移对象的研究概况: