迁移学习综述(学习备忘录)

时间:2024-03-16 19:54:11

近期读了一篇论文《A Survey on Transfer Learning》,作者Sinno Jialin Pan and Qiang Yang,了解了迁移学习方面的一些基础知识。以下是我的学习记录,只代表我个人的理解,不能保证正确性。

传统的机器学习算法通常有一个假设:训练数据和测试数据处在相同的特征空间和相同的分布。但是在实际情况中,这个条件往往不能满足。例如,我们想预测一个新商品的用户接受程度,但是没有充足的训练样本可供训练出一个模型,这时人们就想到收集旧的其他商品的评价数据训练模型来预测新商品的用户评价。旧商品和新商品的特征空间和分布是不同的。这时用到的技术就是迁移学习 。

迁移学习综述(学习备忘录)

迁移学习的定义:有源域Ds和任务Ts;目标域Dt和任务Tt,迁移学习的目标是利用源域中的知识解决目标域中的预测函数f,条件是源域和目标域不相同或者源域中的任务和目标域中的任务不相同。

域(domain)如何理解?

域包括两个方面:(1)特征空间(2)边缘概率分布。描述一个事物需要用特征来描述。例如描述一个人可以用(姓名,身高,年龄,性别)来描述,这几个维度的信息共同组成的空间就叫特征空间。两个文本文件,如果一个用英语表达,一个用中文表达,特征空间就是不同的;假如特征空间相同,但也可能边缘概率分布不同。比如两偏中文文章,都是文本信息,描述的特征空间相同,但关于两个不同的主题,例如民生和娱乐,那么文字的边缘概率分布是不同的。民生主题的文字可能集中于人民、幸福、保险、工资等,娱乐集中于明星、综艺、电影等。

任务(task)如何理解?

任务也分为两个方面(1)标签空间(2)目标预测函数,也可以说成条件概率分布。标签空间不同可能是源任务是二分类问题,而目标任务是十分类问题;条件概率分布不同意味着当两个都是二分类问题时,源域和目标域的分类结果不同。

迁移学习可以分为三类:归纳、直推和无监督迁移学习。三者的区别见下图

迁移学习综述(学习备忘录)

当源域和目标域中都没有labeled data时,即为非监督迁移学习。(任务不同但相关)

当目标域中可利用的labeled data 时,即为归纳迁移学习。(任务不同,源域和目标域是否相同不一定)

当目标域没有labeled data,而源域有labeled data时,即为直推迁移学习。(任务相同,域不同)

至于名字为什么这样起,老师说归纳中目标域有商量的标签数据可以利用,用这些少量数据推出全部的目标域的结果大概是一个归纳过程吧。而直推式任务是相同的,可以理解为从源域推出目标域。感觉有道理。

根据what to transfer 又可以把迁移学习分为四种方法:Instance-transfer,Feature-representation-transfer,Parameter-transfer,Relational-knowledge-transfer.

Instance-transfer是说源域和目标域中的数据有很多重复的特征。可以把源域中有用的部分权重加大,无用的部分权重降低,来训练模型。

迁移学习综述(学习备忘录)

Feature-representation-transfer是说学习源域和目标域的一个共同的低维的表示来缩小他们之间的差异。

迁移学习综述(学习备忘录)

Parameter-transfer的思想是如果在源域中已经训练好了一个模型,两个任务又是相关的,那么可以把这个模型和参数用到目标域中来。找到源域和目标域的共同的参数,将模型转化为共同参数加上代表各自特殊性的参数。

迁移学习综述(学习备忘录)

Relational-knowledge-transfer是找到源域和目标域数据之间的相似的对应关系,计算他们之间的映射关系,加以转化。

迁移学习综述(学习备忘录)