一、迁移学习与fine

您所在的位置:网站首页 fine和punish的区别 一、迁移学习与fine

一、迁移学习与fine

2024-07-12 12:49| 来源: 网络整理| 查看: 265

一、迁移学习

举个例子,假设boss让你做一下目标检测,这个数据集是关于光纤箱喷码字符检测的。问题是,数据集很少(只有1000张数据),里面有多干扰的信息,你发现从零训练开始训练yolo的效果很差,很容易过拟合。怎么办呢,于是你想到了使用Transfer Learning,用别人已经训练好的Imagenet的模型来做。 在这里插入图片描述

二、迁移学习有哪些手法 把Alexnet里卷积层最后一层输出的特征拿出来,然后直接用SVM分类。这是Transfer Learning,因为你用到了Alexnet中已经学到了的“知识”。Vggnet卷积层最后的输出拿出来,用贝叶斯分类器分类。思想基本同上。至你可以把Alexnet、Vggnet的输出拿出来进行组合,自己设计一个分类器分类。这个过程中你不仅用了Alexnet的“知识”,也用了Vggnet的“知识”。最后,你也可以直接使用fine-tune这种方法,在Alexnet的基础上,重新加上全连接层,再去训练网络。 三、fine-tune使用策略

决定如何使用迁移学习的因素有很多,这是最重要的只有两个:新数据集的大小、以及新数据和原数据集的相似程度。有一点一定记住:网络前几层学到的是通用特征,后面几层学到的是与类别相关的特征。这里有使用的四个场景:

新数据集比较小且和原数据集相似。因为新数据集比较小,如果fine-tune可能会过拟合;又因为新旧数据集类似,我们期望他们高层特征类似,可以使用预训练网络当做特征提取器,用提取的特征训练线性分类器。新数据集大且和原数据集相似。因为新数据集足够大,可以fine-tune整个网络。**新数据集小且和原数据集不相似。**新数据集小,最好不要fine-tune,和原数据集不类似,最好也不使用高层特征。这时可是使用前面层的特征来训练SVM分类器。**新数据集大且和原数据集不相似。**因为新数据集足够大,可以重新训练。但是实践中fine-tune预训练模型还是有益的。新数据集足够大,可以fine-tine整个网络。 四、总结

综上,Transfer Learning关心的问题是:什么是“知识”以及如何更好地运用之前得到的“知识”。这可以有很多方法和手段。而fine-tune只是其中的一种手段。



【本文地址】


今日新闻


推荐新闻


CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3