迁移学习与fine-tuning有什么区别

Posted 起床oO

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了迁移学习与fine-tuning有什么区别相关的知识,希望对你有一定的参考价值。

假设你要处理一个新数据集,让你做图片分类,这个数据集是关于Flowers的,问题是,数据集中flower的类别很少,数据集中的数据也不多,你发现从零开始训练CNN的效果很差,很容易过拟合,怎么办呢,于是你想到了使用Transfer Learning,用别人已经训练好的Imagenet的模型来做。

做的方法有很多:

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

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

以上是关于迁移学习与fine-tuning有什么区别的主要内容,如果未能解决你的问题,请参考以下文章

Pytorch Note56 Fine-tuning 通过微调进行迁移学习

keras系列︱迁移学习:利用InceptionV3进行fine-tuning及预测完美案例

迁移学习

fine-tuning:预训练中的迁移

将迁移学习用于文本分类 《 Universal Language Model Fine-tuning for Text Classification》

深度学习 Fine-tune 技巧总结