项目背景:
要做行业内文本相似性匹配,但是数据量不足,尝试了三种方法:
1)加载网上download的预训练网络,用少量样本只训练最后两层的少量参数
2)加载网上download的预训练网络,用少量样本对所有网络参数进行微调
3)加载网上download的预训练网络,用少量样本只训练起始两层的少量参数
最后取得了不错的效果
以下内容借鉴 https://blog.csdn.net/u010159842/article/details/79202107
这幅图说明了该用哪种迁移学习,让我们逐个来看。
1)右下角场景,待训练的数据集较小,已训练的模型和当前任务相似。此时可以只是重新训练已有模型的靠近输出的几层,例如将ImageNet中输出层原来可以判别一万种输出的网络改的只能判别猫的品种,从而利用已有网络来做低层次的特征提取。
2)左下角场景,待训练的数据集较小,已训练的模型和当前任务场景差距较大。例如你有的已训练网络能识别出白天高速路上的违章车辆,你需要训练一个能识别出夜间违章车辆的模型,由于不管白天夜晚,交通规则是没有变化的,所以你需要将网络靠近输入的那几层重新训练,等到新的网络能够提取出夜间车辆的基本信息后,就可以借用已有的,在大数据集下训练好的神经网络来识别违章车辆,而不用等夜间违章的车辆的照片积累的足够多之后再重新训练。
3)左上角场景,待训练的数据集较大,已有的模型和新模型的数据差异度很高。此时应该做的是从头开始,重新训练。
4)右上角场景,待训练的数据集较大,已有模型的训练数据和现有的训练数据类似。此时应该使用原网络的结构,并保留每一层的节点权重,再逐层微调。
样本数量不足时,使用迁移学习
最新推荐文章于 2024-09-11 08:58:51 发布