学习记录:迁移学习

参考资料:

知乎链接:迁移学习(清华大学数据科学研究院)
Sinno Jialin Pan and Qiang Yang, A survey on transfer learningKarl Weiss, Taghi M. Khoshgoftaar and DingDing Wang, A survey of transfer learning

学习工具:

Nanonets:基于云端实现的迁移学习工具

一、 相关概念

1、 迁移学习 Transfer Learning:
当训练集和测试集的分布不一致的情况下(使用西方人的人脸预测东方人),通过在训练数据上按照经验误差最小准则训练的模型在测试上性能不好,因此出现了迁移学习技术。
2、 领域自适应 Domain Adaptation:
是迁移学习中的一种代表性方法。指的是利用信息丰富的源域样本来提升目标域模型的性能。

其中的两个重要概念:
源域(source domain):与测试样本不同的领域,但是有丰富的监督信息;
目标域(target domain):测试样本所在的领域。无标签或者有少量标签。
根据不同阶段,提出了三种不同的领域自适应方法:样本自适应;特征层面自适应;模型层面自适应。

二、 迁移学习的方法

1、样本迁移(instance based TL):
在源域中找到与目标域相似的数据,把这个数据的权重进行调整,使得新的数据与目标域的数据进行匹配,然后加重该样本的权值,使得在预测目标时的比重加大。优点是方法简单,实现容易。缺点在于权重的选择与相似度的度量依赖经验,且源域与目标域的数据分布往往不同。
学习记录:迁移学习

2、特征迁移(feature based TL):
假设源域和目标域含有一些共同的交叉特征,通过特征变换,将源域和目标域的特征变换到相同空间,使得该空间中源域数据与目标域数据具有相同分布的数据分布,然后进行传统的机器学习。优点是对大多数方法适用,效果较好。缺点在于难于求解,容易发生过适配。
学习记录:迁移学习
3、模型迁移(parameter based TL):
假设源域和目标域共享模型参数,是指将之前在源域中通过大量数据训练好的模型应用到目标域上进行预测,比如利用上千万的图象来训练好一个图象识别的系统,当我们遇到一个新的图象领域问题的时候,就不用再去找几千万个图象来训练了,只需把原来训练好的模型迁移到新的领域,在新的领域往往只需几万张图片就够,同样可以得到很高的精度。优点是可以充分利用模型之间存在的相似性。缺点在于模型参数不易收敛。
学习记录:迁移学习
4、关系迁移(Relation based TL):
假设两个域是相似的,那么它们之间会共享某种相似关系,将源域中逻辑网络关系应用到目标域上来进行迁移,比方说生物病毒传播到计算机病毒传播的迁移。
学习记录:迁移学习

三、 迁移学习的理论研究价值

1、 解决标注数据稀缺性
大数据时代亿万级别规模的数据导致数据的统计异构性、标注缺失问题越来越严重。标注数据缺失会导致传统监督学习出现严重过拟合问题。目前解决数据稀缺性的方法有传统半监督学习、协同训练、主动学习等,但这些方法都要求目标域中存在一定程度的标注数据,而在标注数据稀缺的时候额外获取人工标注数据的代价太大。这时需要迁移学习来辅助提高目标领域的学习效果。
2、 非平稳泛化误差分享
经典统计学习理论给出了独立同分布条件下模型的泛化误差上界保证。而在非平稳环境(不同数据域不服从独立同分布假设)中,传统机器学习理论不再成立,这给异构数据分析挖掘带来了理论风险。从广义上看,迁移学习可以看做是传统机器学习在非平稳环境下的推广。因此在非平稳环境下,迁移学习是对经典机器学习的一个重要理论补充。

四、 迁移学习的实际应用

1、 训练机械臂
2、 舆情分析
3、 推荐系统
4、 个性化对话
5、 数据生成式的迁移学习-GAN

生成式对抗网络(GAN)是一个新的机器学习的思想。GAN模型中的两位博弈方分别由生成式模型(generative model)和判别式模型(discriminative model)充当。生成模型G捕捉样本数据的分布,用服从某一分布(均匀分布,高斯分布等)的噪声z生成一个类似真实训练数据的样本,追求效果是越像真实样本越好;判别模型 D 是一个二分类器,估计一个样本来自于训练数据(而非生成数据)的概率,如果样本来自于真实的训练数据,D输出大概率,否则,D输出小概率。GAN的优化是一个极小极大博弈问题,最终的目的是generator的输出给discriminator时很难判断是真实or伪造的。
如果我们有一个很好的生成式模型,在某个数据集上已经训练好了,如果有一些新的数据,和前一个数据集有明显的区别,那么我们可以利用“GAN+边界条件”,把生成式模型迁移到新的数据分布上。比方说,我们写字的时候,每个人签名都是不同的,我们不会用印刷体来签名,因为我们每个人都有自己的写字的特点。那么,如果用大量的印刷体字作为第一部分的训练样本,来训练一个不错的通用模型,而用某个人手写的斜体字做第二部分的训练样本,就可以利用Wasserstein GAN把印刷体的模型迁移到个人的签名。也就是说,这样的签名也就更具个性化特点。
学习记录:迁移学习