当前位置:文档之家› 迁移学习

迁移学习

在数据量不够时,小数据集上跑过大过深的网络很容易过拟合,此时可以通过迁移学习解决这一问题。

比如,想要对不同品种的狗进行分类,但对应数据量较小,此时可以先用Imagenet训练VGG net,输出其中的1000类object的得分。

然后重新初始化网络最后一层到分类输出的特征矩阵,前面层的权值不变,然后用自己的不同种类狗的小数据集训练后面的分类器。

这种方法在当前的CNN训练中很常用,很多任务不会从头训练网络,用Imagenet等数据集预训练后根据任务精调即可。

因此在没有大量数据集时,可以从框架的模型库中先下载相关的预训练模型。

如果数据量稍大些,可以微调整个网络。

训练至最后一层收敛后,可试着用较小的学习率使用自己的数据集更新网络权值。

相关主题