transfer learning and fine tuning

transfer learning / fine tuning

卷积神经网络需要大量的数据和资源来进行训练, 例如, imagenet ILSVRC model 是需要在1.2 million 张图片,利用多GPU,耗时2-3个周的训练才能完成.
transfer learning 是将在之前任务(例如image net)训练过的网络权值,迁移到一个新任务上去. 研究者们或者参与者们已经更习惯于, 而非偶尔使用transfer learning and fine-tuning.
而且, 迁移学习和fine-tuning 策略确实表现得不俗. Razavian et al (2014)的实验表明,简单的使用从 image net ILSVRC训练的到的模型来进行特征提取, 利用提取到的特征来训练新的模型.利用这样的策略进行一系列的计算机视觉任务,他们得到了state-of-the-art或者说接近state-of-the-art的实验结果.

  • trainsfer learning: 利用在image net(或其他数据集)上训练的网络. 去掉最后的fully-connected layer. 然后将网络剩余部分当做一个feature extractor, 以用于其他新的数据. 一旦利用该网络对所有图片提取到了特征. 可以用这些特征训练一个新的classifier.
  • Fine-tuning: 去掉并重新训练网络上层的全连接层, 并且微调网络其余部分的权重.

使用哪种策略

  • 有两点因素需要考虑
    1. 你所用数据的规模
    2. 你所用数据库和已训练网络数据库之间的相似性.
  • 用自己的数据从零开始训练网络, 这个策略也得考虑.

根据以上表格, 情况分为四种:
* 相似数据集 & 小规模数据集(你的数据集): 迁移高层特征(尽量去除已有网络高层的全连接层, 将剩余部分作为分类器), 利用网络提取特征, 然后训练分类器. 不进行fine-tuning, 避免了在小规模数据集上带来overfit问题, 使用提取的高层特征, 是利用了两个数据库之前的相似性.
* 非相似 & 小规模数据库: 迁移底层特征, 提取特征训练数据库. 不建议进行fine-tuning,是为了避免在大数据库上训练的特征会给小数据集的训练带来overfit. 使用底层的特征是以为底层的特征一般比较general.
* 相似数据集 & 大规模数据集: 进行fine-tuning, fine-tuning是为了避免overfit.
* 非相似数据集 & 大规模数据集: 进行fine-tuning, fine-tuning是为了避免overfit.

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值