所谓迁移学习,就是将一个问题上训练好的模型,通过简单的调整,使其适用于一个新的问题的过程。
一、迁移学习的特点
1、需求的训练数据集合较小
当需要训练A问题的模型所需的训练数据匮乏时,可以选择训练与A问题有关联且数据量较为丰富的B问题,然后将训练和调优好的B-model结合A问题的数据集,通过迁移学习得到A-model。举例:用电影推荐模型,迁移学习音乐推荐模型
2、训练时间较小
3、可以方便的进行迁移以满足个性化
比如手机上的智能个人助理
二、迁移学习的四种实现方法
1、样本迁移( Instance-based Transfer Learning )
2、特征迁移 ( Feature-based Transfer Learning )
3、模型迁移( Model-based Transfer Learning )
4、关系迁移( Relational Transfer Learning )
三、迁移学习的实现步骤和难点
1、获取一个相对大的预训练数据
2、选择一个合适的预训练模型,调优训练参数和网络层数
3、检验预训练模型效果
4、准备迁移学习训练数据,训练迁移网络并评估和优化
难点:当获取更多数据和更好的算法后,预训练模型难以更新
四、迁移网络的实验工具
NanoNets工具
NanoNets是一个简单方便的基于云端实现的迁移学习工具,其内部包含了一组已经实现好的预训练模型,每个模型有数百万个训练好的参数。用户可以自己上传或通过网络搜索得到数据,NanoNets将自动根据待解问题选择最佳的预训练模型,并根据该模型建立一个NanoNets(纳米网络),并将之适配到用户的数据。NanoNets和预训练模型之间的关系结构如下所示。
NanoNets
NanoNets官网:http://nanonets.ai/