什么是迁移学习
迁移学习是一种机器学习方法,就是把任务为A的开发模型作为其的初始点,重新使用在任务为B的开发模型的过程中。迁移学习是通过从已学习的相关任务中转移知识来改进学习的新任务。虽然大多数机器学习的新 算法都是为了解决单个任务而设计的,但是促进迁移学习的算法开发是机器学习持续关注的话题,迁移学习对人类来说很常见,例如,我们可能会发现学习识别苹果可能有助于识别梨,或者学习弹奏电子琴可能有助于学习钢琴
- 可以理解为模型套模型
找到目标问题的相似性,迁移学习的任务都是从相似性出发,将旧领域(domain)学习过的模型应用在新领域上。
为什么需要迁移学习?
- 大数据与少标注的矛盾,虽然有大量的数据,但往往都是没有标注的,无法训练机器学习模型,人工进行数据标注太耗时。
- 大数据与弱计算的矛盾:普通人无法拥有庞大的数据量与计算资源,因此需要借助模型的迁移。
- 普适化模型和个性化需求的矛盾:即使在同一个任务上,一个模型也往往难以满足每个人的个性化需求,比如说特定的隐私设置,这就需要在不同人之间做模型适配。
- 特定应用(如冷启动)的需求。
迁移学习的基本问题有哪些?
- 如何进行迁移学习?
- 给定一个目标领域,如何找到相对应的源领域,然后进行迁移?
- 什么时候可以进行迁移,什么时候不可以。
迁移学习有那些常用概念?
- 基本定义
- 域(Domain): 数据特征和特定分布组成,是学习的主体。
- 源域: Source domain: 已有的知识域。
- 目标域(Target domain): 要进行学习的域。
- 域(Domain): 数据特征和特定分布组成,是学习的主体。
- 任务(Task): 由目标函数和学习结果组成,是学习的结果。
- 按特征空间分类
- 同构迁移学习: 源域和目标域的特征空间相同
- 异构迁移学习:源域和目标域的特征空间不同》
- 按迁移情景分类:
- 归纳式迁移学习:源域和目标域学习任务不同。
- 直推式迁移学习:源域和目标域不同,学习任务相同
- 无监督迁移学习:源域和目标域均没有标签。
- 按迁移方法分类
- 基于样本的迁移:通过权重重用源域和目标域的样例进行迁移
- 基于样本的迁移方法根据一定的权重生成规则,对数据样本进行重用,来进行迁移学习,下图形象的表示了基于样本的迁移方法的思想源域中存在不同种类的动物,如狗、鸟、猫等。目标域只有狗这一类别,在迁移时,为了最大限度的跟目标域相似,我们可以人为的提高源域中属于狗这个类别样本的权重。
- 基于特征的迁移:将源域和目标域的特征变换到相同空间
- 基于特征的迁移方式,是指通过特征变换的方式互相迁移,来减少源域和目标域之间的差距。或者将源域和目标域的数据特征变换到统一特征空间中,然后利用传统的机器学习方法进行分类识别,根据特征的同