极简笔记 A Survey on Transfer Learning

时间:2024-04-03 18:38:33

极简笔记 A Survey on Transfer Learning

论文地址:https://ieeexplore.ieee.org/document/5288526/

本文是香港科技大学杨强教授最出名的迁移学习survey。文章发表于2010年,对深度学习时代之前的传统迁移学习方法进行了总结归纳。本篇笔记侧重结合survey观点(并非原文翻译),梳理迁移学习概念,文章涉及的相关算法请阅读原文。

机器学习算法能够work的大前提,就是训练数据和测试数据来自相同特征空间且具有相同分布。当这个大前提不满足时,算法的性能会大打折扣,而这在现实生活中非常常见:在大量公开数据集上的训练的算法,在实际场景部署时性能常常无法满足实际需求。而重新在实际场景下进行训练数据的采集又费时费力,此时就希望能够利用迁移学习算法,减少模型在不同数据域之间迁移导致的损失。

从上面可以看出,迁移学习的一个前提环境就是目标域的数据样本情况复杂(包括数量较少,噪声较多等)。如果不是这样直接全监督地训练就可以了。

接下来开始形式化定义:对于域D包含两部分,即特征空间X和边缘概率分布P(X)X={x1,x2,...,xn}X。给定一个特殊的域D={X,P(X)},对应的任务T={Y,f()}包含两部分:标签空间Y和目标预测函数f()(目标函数无法直接获得,可通过数据对{xi,yi}进行学习,也可写作P(y|x))。记源域数据DS={(xS1,yS1),(xS2,yS2),...,(xSnS,ySnS)}和目标域数据DT={(xT1,yT1),(xT2,yT2),...,(xTnT,yTnT)},一般情况下0nTnS

定义1. 迁移学习:

给定一个源域DS和其对应的任务TS,一个目标域DT和其对应的任务TT,迁移学习旨在通过利用DSTS提高目标域的目标预测函数fT()的性能,且满足DSDTTSTT

根据源域和目标域以及它们对应的任务是否相同可以将迁移学习分成下表中几种方法:

极简笔记 A Survey on Transfer Learning

在此基础上根据域标签是否可得可以继续细分:

极简笔记 A Survey on Transfer Learning

与此同时,迁移学习算法根据迁移对象可以分为以下四类:
1. instance transfer
假设源域的部分数据在目标域中通过重新调整权重能够继续使用。instance-reweighting和importance-sampling是该分类下两种常用的方法。
2. feature-representation transfer
希望通过结合源域和目标域数据,在目标域学到一种较好的特征表示,从而提升算法在目标任务的性能。
3. parameter transfer approach
假设源域和目标域的模型共享部分参数,或是参数的先验分布。通过参数的共享实现知识的迁移。
4. relation-knowledge transfer
假设源域和目标域的数据在域内的关系上具有一定相似性,因此可以通过迁移数据之间的关系实现知识的迁移。

下图展示了在不同迁移问题设定条件下可采用的迁移算法:

极简笔记 A Survey on Transfer Learning

文章后续结构:
3. Inductive transfer learning
* 3-1 transfering the knowledge of instance
* 3-2 transfering the knowledge of feature representations
3-2-1. supervised feature construction
3-2-2. unsupervised feature construction
* 3-3 transfering the knowledge of parameters
* 3-4 transfering relational knowledge
4. Transductive transfer learning
* 4-1 transfer the knowledge of instance
* 4-2 transfering knowledge of feature representations
5. unsupervised transfer learning
* 5-1 transfer knowledge of feature representations
6. transfer bounds and negative transfer