赞
踩
Deep Learning或者说CNN在图像识别这一领域取得了巨大的进步,那么自然我们就想将CNN应用到我们自己的数据集上,但这时通常就会面临一个问题:通常我们的dataset都不会特别大,一般不会超过1万张,甚至更少。
这种情况下,直接使用train from scratch的方式在小数据集上容易过拟合,尤其是在数据分布差异化很大的场景下。然后就有了迁移学习了,Transfer Learning关心的问题是:什么是“知识”以及如何更好地运用之前得到的“知识”。这可以有很多方法和手段。而本文所说的pretrained+fine-tuning只是其中的一种手段。
至少有以下两方面:
1. 解决了我们小样本下使用GoogLeNet这样复杂的网络上容易过拟合的问题;
2. 节省了训练时间。因为网络前面几层提取的特征具备一定的泛化能力(generic)。
pre-trained+finetuning通常有两种方式:
pretrained+fine-tuning策略取决于多种因素,但最重要的是新数据集的大小以及新数据集与原数据集的相似度。谨记网络前面几层的 DCNN 特征更加泛型(generic),在后面层中更加具有数据集特定性(dataset-specific)。
参考:
深度学习系列Part2:迁移学习和微调深度卷积神经网络 (原版英文链接Deep Learning Part 2: Transfer Learning and Fine-tuning Deep Convolutional Neural Networks)这篇文章通过了一个具体案例来介绍Fine-tuning,值得一看;
知乎 fine-tuning:利用已有模型训练其他数据集 ,MXNet下Pretrained+Finetuning的正确姿势这里写链接内容 ;
cs231n transfer learning (翻译版CS231n 卷积神经网络与计算机视觉 11 卷积神经网络的 迁移学习 和微调) ;
迁移学习与fine-tuneing有什么区别?
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。