这篇教程迁移学习与fine-tuning有什么区别?写得很实用,希望能帮到您。
举个例子,假设今天老板给你一个新的数据集,让你做一下图片分类,这个数据集是关于Flowers的。问题是,数据集中flower的类别很少,数据集中的数据也不多,你发现从零训练开始训练CNN的效果很差,很容易过拟合。怎么办呢,于是你想到了使用Transfer Learning,用别人已经训练好的Imagenet的模型来做。 做的方法有很多:
- 把Alexnet里卷积层最后一层输出的特征拿出来,然后直接用SVM分类。这是Transfer Learning,因为你用到了Alexnet中已经学到了的“知识”。
- 把Vggnet卷积层最后的输出拿出来,用贝叶斯分类器分类。思想基本同上。
- 甚至你可以把Alexnet、Vggnet的输出拿出来进行组合,自己设计一个分类器分类。这个过程中你不仅用了Alexnet的“知识”,也用了Vggnet的“知识”。
- 最后,你也可以直接使用fine-tune这种方法,在Alexnet的基础上,重新加上全连接层,再去训练网络。
综上,Transfer Learning关心的问题是:什么是“知识”以及如何更好地运用之前得到的“知识”。这可以有很多方法和手段。而fine-tune只是其中的一种手段 作者:何之源 链接:https://www.zhihu.com/question/49534423/answer/127022241 来源:知乎 著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。 深度学习多标签分类(基于Keras) 目标检测算法 - RetinaNet |